1. 29 Jan, 2014 33 commits
    • a-except-2005.adb, [...]: Minor reformatting. · a90bd866
      2014-01-29  Robert Dewar  <dewar@adacore.com>
      
      	* a-except-2005.adb, a-except.adb, a-excpol-abort.adb, a-exstat.adb,
      	ali.adb, a-numaux.ads, a-numaux-darwin.ads, a-numaux-libc-x86.ads,
      	a-numaux-vms.ads, a-numaux-vxworks.ads, a-numaux-x86.ads, aspects.ads,
      	a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, atree.adb,
      	atree.ads, a-witeio.adb, a-witeio.ads, a-wtedit.adb, a-ztedit.adb,
      	a-ztexio.adb, bcheck.adb, binde.adb, checks.adb, comperr.adb,
      	cstand.adb, debug_a.adb, einfo.ads, errout.adb, erroutc.adb,
      	eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb,
      	exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_dbug.adb,
      	exp_disp.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_util.adb,
      	freeze.adb, frontend.adb, g-comlin.ads, g-mbdira.adb, gnat1drv.adb,
      	gprep.adb, g-spipat.adb, i-cpp.ads, i-vxwork.ads, i-vxwork-x86.ads,
      	krunch.ads, layout.adb, lib-load.adb, lib-writ.adb, lib-writ.ads,
      	live.adb, namet.ads, osint.adb, osint-c.adb, output.ads, par.adb,
      	par-ch10.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
      	par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb,
      	par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, repinfo.adb,
      	rtsfind.adb, s-arit64.adb, s-asthan-vms-alpha.adb,
      	s-asthan-vms-ia64.adb, s-bignum.adb, scans.adb, scng.adb, s-dimmks.ads,
      	sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb,
      	sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb,
      	sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_disp.adb, sem_elab.adb,
      	sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb,
      	sem_type.adb, sem_util.adb, sem_warn.adb, set_targ.adb, s-fatgen.adb,
      	s-fatgen.ads, s-fileio.adb, s-imgcha.adb, s-imgrea.adb, sinfo.ads,
      	sinput-c.adb, snames.ads-tmpl, s-os_lib.adb, sprint.adb,
      	s-regpat.adb, s-secsta.adb, s-stalib.ads,
      	s-stchop.adb, s-stoele.ads, stand.ads, s-taprop-solaris.adb,
      	s-tasdeb-vms.adb, s-tasini.adb, s-tassta.adb, s-valdec.adb,
      	s-valuti.adb, s-wchjis.adb, s-wchwts.adb, system.ads, system-vms_64.ads,
      	system-vms-ia64.ads, treepr.adb, types.ads, uintp.adb, uname.adb,
      	urealp.adb, usage.adb, vxaddr2line.adb: Minor reformatting.
      
      From-SVN: r207260
      Robert Dewar committed
    • [AArch64] Fix sfp-machine.h _FP_I_TYPE. · f32b0061
      2014-01-29  Marcus Shawcroft  <marcus.shawcroft@arm.com>
      
      	* config/aarch64/sfp-machine.h (_FP_I_TYPE): Define
      	as long long.
      
      From-SVN: r207259
      Marcus Shawcroft committed
    • [AArch64] Fix various white space issues. · aef66c94
      2014-01-29  Marcus Shawcroft  <marcus.shawcroft@arm.com>
      
      	* config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
      	(aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
      	whitespace.
      
      From-SVN: r207258
      Marcus Shawcroft committed
    • [multiple changes] · 0d66cee5
      2014-01-29  Robert Dewar  <dewar@adacore.com>
      
      	* expander.adb: Minor reformatting.
      
      2014-01-29  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch3.adb (Predefined_Primitive_Bodies): Adding documentation to
      	previous patch.
      
      From-SVN: r207257
      Arnaud Charlet committed
    • [multiple changes] · b7cb4a61
      2014-01-29  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch3.adb (Predefined_Primitive_Bodies): Complete the code
      	that checks if an interface types defines the predefined "="
      	function because the compiler was erroneously not generating the
      	predefined "=" primitive as soon as the name of some interface
      	primitive is "=" (formals were not checked).
      
      2014-01-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* expander.adb (Expander): In GNATprove mode, do not process
      	transient scopes: they are in general not created in this mode,
      	and an attempt to examine them will lead to constraint errors when
      	processing configuration pragmas that have analyzable expressions.
      
      From-SVN: r207256
      Arnaud Charlet committed
    • clean.adb (Gnatclean): Fail if main project is an aggregate project or if... · 35d4d899
      2014-01-29  Vincent Celier  <celier@adacore.com>
      
      	* clean.adb (Gnatclean): Fail if main project is an aggregate
      	project or if there is an aggregate library project in the
      	project tree.
      	* gnatcmd.adb: Fail if the main project is an aggregate project
      	or if there is an aggegate library project in the project tree.
      	* make.adb (Initialize): : Fail if main project is an aggregate
      	project or if there is an aggregate library project in the
      	project tree.
      	* makeutl.ads (Aggregate_Libraries_In): New Boolean function.
      	* prj-makr.adb (Initialize): Fail if the main project is an
      	aggregate project or an aggregate library project.
      
      From-SVN: r207255
      Vincent Celier committed
    • prj-part.adb (Check_Import_Aggregate): New procedure to check if an imported… · 88de755d
      prj-part.adb (Check_Import_Aggregate): New procedure to check if an imported project is an aggregate project.
      
      2014-01-29  Vincent Celier  <celier@adacore.com>
      
      	* prj-part.adb (Check_Import_Aggregate): New procedure
      	to check if an imported project is an aggregate project.
      	(Parse_Single_Project): Call Check_Import_Aggregate
      	* projects.texi: Document that aggregate projects cannot be
      	extended or imported.
      
      From-SVN: r207254
      Vincent Celier committed
    • exp_ch9.adb, [...]: Minor reformatting and code clean up. · d0e69402
      2014-01-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch9.adb, sem_ch7.ads, s-regexp.adb, sem_ch13.adb: Minor
      	reformatting and code clean up.
      	* gnat_ugn.texi: Add documentation section on Atomic Variables
      	and Optimization.
      
      From-SVN: r207253
      Robert Dewar committed
    • [multiple changes] · 5627964c
      2014-01-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.adb Flag264 is now unused.
      	(Has_Body_References): Removed.
      	(Set_Has_Body_References): Removed.
      	(Write_Entity_Flags): Remove the output for flag Has_Body_References.
      	* einfo.ads Update the comment on usage of attribute
      	Body_References. Remove attribute Has_Body_References and its
      	usage in nodes.
      	(Has_Body_References): Removed along with pragma Inline.
      	(Set_Has_Body_References): Removed along with pragma Inline.
      	* sem_prag.adb (Analyze_Global_Item): Move the call to
      	Record_Possible_Body_Reference in the state related checks
      	section. Add a comment intended function.
      	(Analyze_Input_Output): Move the call to Record_Possible_Body_Reference
      	in the state related checks section. Add a comment intended function.
      	(Analyze_Refinement_Clause): Cleanup the illegal body reference
      	reporting. Add a comment on timing of error reporting.
      	(Record_Possible_Body_Reference): Reimplement the routine.
      
      2014-01-29  Vincent Celier  <celier@adacore.com>
      
      	* makeutl.adb (Mains.Find_File_Add_Extension): Only look for specs for
      	unit-based languages.
      	(Mains.Complete_Mains.Do_Complete): Use the source file project
      	tree when calling Find_File_Add_Extension. Use the correct
      	project name when reporting an error.
      
      From-SVN: r207252
      Arnaud Charlet committed
    • 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> · d7af5ea5
      	* aspects.adb Add an entry for aspect Part_Of in table
      	Canonical_Aspect.
      	* aspects.ads Add an entry for aspect Part_Of in tables Aspect_Id,
      	Aspect_Argument, Aspect_Names and Aspect_Delay.
      	* atree.h Define Elist9.
      	* atree.adb (Elist9): New routine.
      	(Set_Elist9): New routine.
      	* atree.ads (Elist9): New routine.
      	(Set_Elist9): New routine.
      	* einfo.adb Add Part_Of_Constituents and Encapsulating_State to
      	the list of node usage.  Remove Refined_State from the list of
      	node usage.
      	(Encapsulating_State): New routine.
      	(Get_Pragma):
      	Handle pragma Part_Of; (Part_Of_Constituents): New routine.
      	(Refined_State): Removed.
      	(Set_Encapsulating_State): New routine.
      	(Set_Part_Of_Constituents): New routine.
      	(Set_Refined_State): Removed.
      	(Write_Field9_Name): Add an entry
      	for Part_Of_Constituents (Write_Field10_Name): Add an entry for
      	Encapsulating_State. Remove the entry for Refined_State.
      	* einfo.ads Add new attributes Encapsulating_State
      	and Part_Of_Constituents alond with their usage in
      	entities. Remove attribute Refined_State along with its
      	usage in entities.
      	(Encapsulating_State): New routine and
      	pragma Inline.	(Get_Pragma): Update the comment on usage.
      	(Part_Of_Constituents): New routine and pragma Inline.
      	(Refined_State): Removed along with pragma Inline.
      	(Set_Encapsulating_State): New routine and pragma Inline.
      	(Set_Part_Of_Constituents): New routine and pragma Inline.
      	(Set_Refined_State): Removed along with pragma Inline.
      	* par-prag.adb Pragma Part_Of does not need any special processing
      	by the parser.
      	* sem_ch3.adb (Analyze_Declarations): Remove local variables
      	Body_Id and Prag. Call separate routines to analyze the
      	contract of a package [body].
      	(Analyze_Object_Contract):
      	Update the comment on usage. Remove local variables
      	Items and Nam. Use Get_Pragma rather than traversing the
      	classification list.  Verify whether the lack of indicator
      	Part_Of agrees with the placement of the variable in state space.
      	(Analyze_Object_Declaration): Initialize the encapsulating state
      	of a variable.	(Requires_State_Refinement): Moved to sem_util.
      	* sem_ch7.adb (Analyze_Package_Body_Contract): New routine.
      	(Analyze_Package_Contract): New routine.
      	* sem_ch7.ads (Analyze_Package_Body_Contract): New routine.
      	(Analyze_Package_Contract): New routine.
      	* sem_ch10.adb (Decorate_State): Initialize the encapsulating
      	state and Part_Of constituents.
      	* sem_ch13.adb (Analyze_Aspect_Specifications):
      	Add processing for aspect Part_Of. Update all
      	calls to Decorate_Delayed_Aspect_And_Pragma.
      	(Check_Aspect_At_Freeze_Point): Aspect Part_Of does
      	not need any special processing at freeze time.
      	(Decorate_Delayed_Aspect_And_Pragma): Renamed to
      	Decorate_Aspect_And_Pragma.  Add formal parameter Delayed and
      	update the associated comment.
      	* sem_prag.adb Add an entry for pragma Part_Of in table Sig_Flags.
      	(Analyze_Abstract_State): Add new global variable State_Id. Remove
      	local constants Errors and Loc. Remove local variables Is_Null
      	and State_Nam. Create the entity of the abstract state on the
      	spot, before all remaining checks are performed. Verify that a
      	missing Part_Of option agrees with the placement of the abstract
      	state within the state space.
      	(Analyze_Depends_In_Decl_Part):
      	Add new global variables Constits_Seen and States_Seen. Check
      	that a state and a corresponding constituent do not appear
      	in pragma [Refined_]Depends.
      	(Analyze_Global_In_Decl_Part):
      	Add new global variables Constits_Seen and States_Seen. Check
      	that a state and a corresponding constituent do not appear
      	in pragma [Refined_]Global.
      	(Analyze_Global_Item):
      	Remove the now obsolete code that deals with Part_Of.
      	Add the entity of the global item to the list of processed
      	items.	(Analyze_Initializes_In_Decl_Part): Add new global
      	variables Constits_Seen and States_Seen. Check that a state
      	and a corresponding constituent do not appear in pragma
      	Initializes.
      	(Analyze_Initialization_Item): Add the entity
      	of the initialization item to the list of processed items.
      	(Analyze_Input_Item): Add the entity of the initialization
      	item to the list of processed items.
      	(Analyze_Input_Output):
      	Remove the now obsolete code that deals with Part_Of.  Add the
      	entity of the input/output to the list of processed items.
      	(Analyze_Part_Of): New routine.
      	(Analyze_Part_Of_Option): Remove
      	local constant Par_State. Add local constant Encaps and local
      	variables Encaps_Id and Legal. Use Analyze_Part of to analyze
      	the option. Turn the related state into a Part_Of constituent
      	if the option is legal.
      	(Analyze_Pragma): Add processing
      	for pragma Part_Of.
      	(Analyze_Refined_State_In_Decl_Part):
      	Remove global constants Pack_Body and Spec_Id. Remove
      	global variables Abstr_States and Hidden_States. Add new
      	global variables Available_States, Body_Id, Body_States and
      	Spec_Id. Add new local constant Body_Decl. Reimplement the
      	logic that extracts the states available for refinement from
      	the related package and the body hidden states of the said
      	package.
      	(Analyze_Refinement_Clause): Add local variable Part_Of_Constits.
      	(Check_Applicable_Policy): Alphabetize body.
      	(Check_Dependency_Clause): Replace Refined_State
      	with Encapsulating_State.
      	(Check_Matching_Constituent):
      	Reimplement the logic that determines whether an item is a valid
      	/ invalid constituent of the current refined state. Return when
      	a construct does not denote a valid abstract state. Extract the
      	list of Part_Of constituents for further analysis. Check that all
      	Part_Of constituents of a state have been used in its refinement.
      	(Check_Matching_State): Update the comment on usage. Operate
      	on the list of available states.
      	(Check_Missing_Part_Of): New routine.
      	(Check_Refined_Global_Item): Replace Refined_State
      	with Encapsulating_State.
      	(Check_State_And_Constituent_Use): New routine.
      	(Create_Abstract_State): New routine.
      	(Is_Matching_Input): Replace Refined_State with Encapsulating_State.
      	(Is_Part_Of): Removed.
      	(Collect_Body_States): New routine.
      	(Collect_Constituent): Replace Refined_State with Encapsulating_State.
      	(Collect_Hidden_States): Removed.
      	(Report_Unrefined_States): Change the profile of the procedure along
      	with the comment on usage.
      	(Report_Unused_Constituents): New routine.
      	(Report_Unused_Hidden_States): Removed.
      	(Report_Unused_States): New routine.
      	* sem_prag.ads (Check_Missing_Part_Of): New routine.
      	* sem_util.adb (Add_Contract_Item): Pragma Part_Of can now
      	appear in the classification pragmas of a package instantiation
      	or a variable.
      	(Find_Placement_In_State_Space): New routine.
      	(Is_Child): Removed.
      	(Is_Child_Or_Sibling): Remove formal
      	parameter Private_Child. Remove the private child checks.
      	(Requires_State_Refinement): Moved from sem_ch3.
      	* sem_util.ads Add new type State_Space_Kind along with
      	comment on its usage and values.
      	(Add_Contract_Item): Update the comment on usage.
      	(Find_Body_Discriminal): Alphabetize spec.
      	(Find_Placement_In_State_Space): New routine.
      	(Is_Child_Or_Sibling): Remove formal parameter Private_Child
      	and update the comment on usage.
      	(Requires_State_Refinement): Moved from sem_ch3.
      	* sinfo.ads: Update the documentation of N_Contract.
      	* snames.ads-tmpl The predefined name for Part_Of is now used
      	to denote a pragma. Add Pragma_Id for Part_Of.
      
      From-SVN: r207251
      Hristian Kirtchev committed
    • [multiple changes] · 0830210c
      2014-01-29  Emmanuel Briot  <briot@adacore.com>
      
      	* s-regexp.adb (Create_Secondary_Table): Automatically grow the state
      	machine as needed.
      	(Dump): New subprogram.
      
      2014-01-29  Tristan Gingold  <gingold@adacore.com>
      
      	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Add
      	Expand_Entry_Declaration to factorize code.
      
      From-SVN: r207250
      Arnaud Charlet committed
    • Fix ChangeLog date of my previous commit. · 85c13695
      From-SVN: r207249
      Jonathan Wakely committed
    • checks.adb: minor clarification. · 1ae70618
      2014-01-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* checks.adb: minor clarification.
      	* sem_ch7.adb (Declare_Inherited_Private_Subprograms): Limit
      	search for primitive operations to the entities that immediately
      	follow the type declaration.
      
      From-SVN: r207248
      Ed Schonberg committed
    • [multiple changes] · cca7f107
      2014-01-29  Tristan Gingold  <gingold@adacore.com>
      
      	* exp_ch9.adb (Build_Protected_Entry): Do not call
      	Complete_Entry_Body anymore.
      	* rtsfind.ads (RE_Complete_Single_Entry_Body): Remove.
      	* s-tposen.ads, s-tposen.adb (Complete_Single_Entry_Body): Remove.
      
      2014-01-29  Pierre-Marie Derodat  <derodat@adacore.com>
      
      	* s-os_lib.adb, s-os_lib.ads (Normalize_Pathname): Return an empty
      	string when the Name input bigger than allowed. Adapt the function
      	specification.
      
      2014-01-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* checks.adb (Install_Null_Excluding_Check): Do not emit warning
      	if expression is within a case_expression of if_expression.
      
      From-SVN: r207247
      Arnaud Charlet committed
    • exp_ch9.adb, inline.ads: Minor reformatting. · 443dd772
      2014-01-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch9.adb, inline.ads: Minor reformatting.
      
      From-SVN: r207246
      Robert Dewar committed
    • [multiple changes] · 4043fd0b
      2014-01-29  Tristan Gingold  <gingold@adacore.com>
      
      	* exp_ch9.adb (Is_Exception_Safe): Return true if no exceptions.
      
      2014-01-29  Yannick Moy  <moy@adacore.com>
      
      	* inline.ads (Pending_Body_Info): Add SPARK_Mode and
      	SPARK_Mode_Pragma components to be able to analyze generic
      	instance.
      	* sem_ch12.adb (Analyze_Package_Instantiation,
      	Inline_Instance_Body, Need_Subprogram_Instance_Body,
      	Load_Parent_Of_Generic): Pass in SPARK_Mode from instantiation
      	for future analysis of the instance.
      	(Instantiate_Package_Body,
      	Instantiate_Subprogram_Body, Set_Instance_Inv): Set SPARK_Mode
      	from instantiation to analyze the instance.
      
      From-SVN: r207244
      Arnaud Charlet committed
    • [multiple changes] · cf3e6845
      2014-01-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch7.adb, sem_prag.adb, sem_ch4.adb, sem_ch6.adb: Minor code
      	reorganization.
      
      2014-01-29  Yannick Moy  <moy@adacore.com>
      
      	* gnat_rm.texi: Update description of SPARK_Mode pragma.
      
      2014-01-29  Tristan Gingold  <gingold@adacore.com>
      
      	* exp_ch9.adb (Expand_N_Protected_Body): Remove Num_Entries.
      
      From-SVN: r207243
      Arnaud Charlet committed
    • [multiple changes] · f90d14ac
      2014-01-29  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch4.adb (Find_Component_In_Instance): Update comment.
      
      2014-01-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_util.adb (Build_Task_Image_Prefix): Indicate that the
      	resulting string is an internal entity. and thus requires no
      	initialization. This is relevant when Initialize_ Scalars is
      	enabled, because the resultant spurious initialization may lead to
      	secondary stack anomalies that produce a mangled name for a task.
      
      2014-01-29  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode
      	not inherited from spec anymore. Check consistency
      	rules after processing of declarations.
      	* sem_ch7.adb (Analyze_Package_Body_Helper): SPARK_Mode not inherited
      	from spec anymore. Check consistency rules after processing of
      	declarations.
      	(Analyze_Package_Declaration): Set SPARK_Mode only for non-generic
      	packages.
      	* sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode): Implement new
      	consistency rules.
      
      From-SVN: r207242
      Arnaud Charlet committed
    • re PR libstdc++/59829 (Calling vector::data() occurs undefined behavior when the vector is empty) · 8a972abd
      	PR libstdc++/59829
      	* include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
      	(vector::_M_data_ptr): New overloaded functions to ensure empty
      	vectors do not dereference the pointer.
      	* testsuite/23_containers/vector/59829.cc: New.
      	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
      	Adjust dg-error line number.
      	* testsuite/23_containers/vector/requirements/dr438/
      	constructor_1_neg.cc: Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/
      	constructor_2_neg.cc: Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
      	Likewise.
      
      From-SVN: r207241
      Jonathan Wakely committed
    • alloc_traits.h (allocator_traits::_S_allocate): Do not use varargs when argument could be non-POD. · 20067423
      	* include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
      	not use varargs when argument could be non-POD.
      	(__alloctr_rebind_helper): Eliminate static const bool member by
      	using true_type and false_type.
      	(allocator_traits::__allocate_helper): Likewise.
      	(allocator_traits::__construct_helper): Likewise.
      	(allocator_traits::__destroy_helper): Likewise.
      	(allocator_traits::__maxsize_helper): Likewise.
      	(allocator_traits::__select_helper): Likewise.
      	* include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
      	* include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
      	Remove redundant condition.
      	* include/bits/stl_vector.h (vector::operator=(const vector&)):
      	Likewise.
      	(_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
      	indirection through __alloc_traits.
      	* include/ext/alloc_traits.h (__allocator_always_compares_equal):
      	Eliminate static const bool members by using true_type and false_type.
      	(__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
      	* testsuite/util/testsuite_allocator.h (PointerBase): Define.
      	* testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
      	New.
      	* testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
      
      From-SVN: r207240
      Jonathan Wakely committed
    • re PR middle-end/58742 (pointer arithmetic simplification) · 77574c35
      2014-01-29  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/58742
      	* tree-ssa-forwprop.c (associate_pointerplus): Rename to
      	associate_pointerplus_align.
      	(associate_pointerplus_diff): New function.
      	(associate_pointerplus): Likewise.  Call associate_pointerplus_align
      	and associate_pointerplus_diff.
      
      	* gcc.dg/pr58742-1.c: New testcase.
      	* gcc.dg/pr58742-2.c: Likewise.
      	* gcc.dg/pr58742-3.c: Likewise.
      
      From-SVN: r207239
      Richard Biener committed
    • lto-streamer.h (LTO_major_version): Bump to 3. · 15b25b24
      2014-01-29  Richard Biener  <rguenther@suse.de>
      
      	* lto-streamer.h (LTO_major_version): Bump to 3.
      	(LTO_minor_version): Reset to 0.
      
      From-SVN: r207238
      Richard Biener committed
    • [ARM] Add -march=armv7ve · eb6006ad
      gcc/
      2014-01-29  Renlin Li  <Renlin.Li@arm.com>
      
      	* config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
      	* config/arm/arm.c (FL_FOR_ARCH7VE): New.
      	(arm_file_start): Generate correct asm header for armv7ve.
      	* config/arm/bpabi.h: Add multilib support for armv7ve.
      	* config/arm/driver-arm.c: Change the architectures of cortex-a7
      	and cortex-a15 to armv7ve.
      	* config/arm/t-aprofile: Add multilib support for armv7ve.
      	* doc/invoke.texi: Document -march=armv7ve.
      
      gcc/testsuite/
      2014-01-29  Renlin Li  <Renlin.Li@arm.com>
      
      	* gcc.target/arm/ftest-armv7ve-arm.c: New.
      	* gcc.target/arm/ftest-armv7ve-thumb.c: New.
      	* lib/target-supports.exp: New armfunc, armflag and armdef for armv7ve.
      
      From-SVN: r207237
      Renlin Li committed
    • re PR c++/59315 (g++.dg/warn/Wunused-3.C FAILs with -fno-use-cxa-atexit) · dc9e1b86
      	PR c++/59315
      	* decl.c (cxx_maybe_build_cleanup): Call mark_used.
      
      From-SVN: r207236
      Jason Merrill committed
    • re PR c++/58702 (ICE with undeclared variable in OpenMP reduction clause) · 4ca56230
      /cp
      2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58702
      	* semantics.c (finish_omp_reduction_clause): Check type for
      	error_mark_node.
      
      /testsuite
      2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58702
      	* g++.dg/gomp/pr58702.C: New.
      
      From-SVN: r207235
      Paolo Carlini committed
    • Fix test c-c++-common/cpp/warning-zero-location-2.c · 72ca8909
      gcc/testsuite/ChangeLog:
      
      	* c-c++-common/cpp/warning-zero-location-2.c: Fix error message
      	specifier.
      
      Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
      
      From-SVN: r207234
      Dodji Seketeli committed
    • re PR middle-end/58742 (pointer arithmetic simplification) · 4bfb2fa2
      2014-01-29  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/58742
      	* tree-ssa-forwprop.c (associate_plusminus): Return true
      	if we changed sth, defer EH cleanup to ...
      	(ssa_forward_propagate_and_combine): ... here.  Call simplify_mult.
      	(simplify_mult): New function.
      
      From-SVN: r207232
      Richard Biener committed
    • re PR middle-end/59917 (ICE in calc_dfs_tree, at dominance.c:401) · 09b22f48
      	PR middle-end/59917
      	PR tree-optimization/59920
      	* tree.c (build_common_builtin_nodes): Remove
      	__builtin_setjmp_dispatcher initialization.
      	* omp-low.h (make_gimple_omp_edges): Add a new int * argument.
      	* profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
      	instead of gsi_after_labels + manually skipping debug stmts.
      	Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
      	ignore bbs with IFN_ABNORMAL_DISPATCHER.
      	* tree-inline.c (copy_edges_for_bb): Remove
      	can_make_abnormal_goto argument, instead add abnormal_goto_dest
      	argument.  Ignore computed_goto_p stmts.  Don't call
      	make_abnormal_goto_edges.  If a call might need abnormal edges
      	for non-local gotos, see if it already has an edge to
      	IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
      	with true argument, don't do anything then, otherwise add
      	EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
      	(copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
      	caller.
      	* gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
      	(lower_function_body): Don't emit __builtin_setjmp_dispatcher.
      	(lower_stmt): Don't set data->calls_builtin_setjmp.
      	(lower_builtin_setjmp): Adjust comment.
      	* builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
      	* tree-cfg.c (found_computed_goto): Remove.
      	(factor_computed_gotos): Remove.
      	(make_goto_expr_edges): Return bool, true for computed gotos.
      	Don't call make_abnormal_goto_edges.
      	(build_gimple_cfg): Don't set found_computed_goto, don't call
      	factor_computed_gotos.
      	(computed_goto_p): No longer static.
      	(make_blocks): Don't set found_computed_goto.
      	(get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
      	(make_edges): If make_goto_expr_edges returns true, push bb
      	into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
      	instead of calling make_abnormal_goto_edges push bb into ab_edge_call
      	vector.  Record mapping between bbs and OpenMP regions if there
      	are any, adjust make_gimple_omp_edges caller.  Call
      	handle_abnormal_edges.
      	(make_abnormal_goto_edges): Remove.
      	* tree-cfg.h (make_abnormal_goto_edges): Remove.
      	(computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
      	* internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
      	* builtins.c (expand_builtin): Don't handle
      	BUILT_IN_SETJMP_DISPATCHER.
      	* internal-fn.def (ABNORMAL_DISPATCHER): New.
      	* omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
      	filling *region also set *region_idx to (*region)->entry->index.
      
      	* gcc.dg/pr59920-1.c: New test.
      	* gcc.dg/pr59920-2.c: New test.
      	* gcc.dg/pr59920-3.c: New test.
      	* c-c++-common/gomp/pr59917-1.c: New test.
      	* c-c++-common/gomp/pr59917-2.c: New test.
      
      From-SVN: r207231
      Jakub Jelinek committed
    • re PR other/58712 (issues found by --enable-checking=valgrind) · 42eb8bd1
      	PR other/58712
      	* read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
      	For REGs set ORIGINAL_REGNO.
      
      From-SVN: r207230
      Jakub Jelinek committed
    • md.texi: Mention that a target shouldn't implement vec_widen_(s|u)mul_even/odd pair if... · 4a271b7e
      2014-01-29  Bingfeng Mei  <bmei@broadcom.com>
      
      	* doc/md.texi: Mention that a target shouldn't implement 
      	vec_widen_(s|u)mul_even/odd pair if it is less efficient
      	than hi/lo pair.
      
      From-SVN: r207228
      Bingfeng Mei committed
    • re PR tree-optimization/59594 (wrong code (by tree vectorizer) at -O3 on x86_64-linux-gnu) · 3d54b29d
      	PR tree-optimization/59594
      	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
      	a copy of the datarefs vector rather than the vector itself.
      
      	* gcc.dg/vect/no-vfa-vect-depend-2.c: New test.
      	* gcc.dg/vect/no-vfa-vect-depend-3.c: New test.
      	* gcc.dg/vect/pr59594.c: New test.
      
      From-SVN: r207225
      Jakub Jelinek committed
    • re PR c++/59791 (ICE: Error reporting routines re-entered. with -fcompare-debug) · 15b31f8c
      	PR c++/59791
      	* pt.c (tsubst_decl) [VAR_DECL]: Allow in unevaluated context.
      	(tsubst_copy): Use it if lookup fails.
      
      From-SVN: r207224
      Jason Merrill committed
    • Daily bump. · 52c02a46
      From-SVN: r207223
      GCC Administrator committed
  2. 28 Jan, 2014 7 commits