1. 05 Jul, 2016 6 commits
  2. 04 Jul, 2016 34 commits
    • re PR fortran/66575 (Endless compilation on missing end interface) · d73e0ccf
      2016-07-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/66575
      	* decl.c (match_procedure_interface): Exit loop if procedure
      	interface refers to itself.
      
      	* gfortran.dg: pr65575.f90: New test.
      
      From-SVN: r237994
      Jerry DeLisle committed
    • re PR fortran/35849 ("wrong" line shown in error message for parameter) · c20f6223
      2016-07-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      	    Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/35849
      	* simplify.c (gfc_simplify_ishftc): Check that absolute value of
      	SHIFT is less than or equal to SIZE.
      
      	* gfortran.dg: pr35849.f90: New test.
      
      Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>
      
      From-SVN: r237993
      Jerry DeLisle committed
    • re PR c++/71739 (ICE on valid C++11 code: tree check: expected identifier_node,… · 2a5537c3
      re PR c++/71739 (ICE on valid C++11 code: tree check: expected identifier_node, have tree_list in private_is_attribute_p, at tree.c:6080)
      
      	PR c++/71739
      	* tree.c (attribute_value_equal): Use get_attribute_name instead of
      	directly using TREE_PURPOSE.
      
      	* g++.dg/cpp0x/pr71739.C: New test.
      
      From-SVN: r237991
      Jakub Jelinek committed
    • [AArch64] Renaming ARMv8.1 to ARMv8.1-A in comments and documentations · 74bb9de4
      	* config/aarch64/aarch64.h: Rename "ARMv8.1" to "ARMv8.1-A".
      	* config/aarch64/aarch64_neon.h: Likewise.
      	* config/aarch64/arm_neon.h: Likewise.
      	* config/aarch64/atomics.md: Likewise.
      	* config/aarch64/aarch64-simd-builtins.def: Likewise.
      	* doc/invoke.texi: Likewise.
      
      From-SVN: r237988
      Jiong Wang committed
    • [testsuite] asan/clone-test-1.c: Handle clone() failure · 740f9751
      2016-07-04  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* c-c++-common/asan/clone-test-1.c (main): Handle clone() failure.
      
      From-SVN: r237987
      Christophe Lyon committed
    • Add tests for inserting aliased objects into std::vector · 097e8994
      2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
      
      	* testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
      	New test.
      	* testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
      	test.
      
      From-SVN: r237986
      François Dumont committed
    • Fix std::vector's use of temporary objects · 9958c7eb
      	* include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
      	Define inline. Forward to _M_emplace_aux.
      	(insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
      	(_M_insert_rval, _M_emplace_aux): Declare new functions.
      	(_Temporary_value): New RAII type using allocator to construct/destroy.
      	(_S_insert_aux_assign): Remove.
      	(_M_insert_aux): Make non-variadic.
      	* include/bits/vector.tcc (insert(const_iterator, const value_type&)):
      	Use _Temporary_value.
      	(emplace(const_iterator, _Args&&...)): Remove definition.
      	(_M_insert_rval, _M_emplace_aux): Define.
      	(_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
      	(_M_fill_insert): Use _Temporary_value.
      	* testsuite/23_containers/vector/allocator/construction.cc: New test.
      	* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
      	Adjust expected results for emplacing an lvalue with reallocation.
      	* testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
      	expected results to account for construction/destruction of temporary
      	using allocator.
      
      From-SVN: r237985
      Jonathan Wakely committed
    • S/390: Add support for z13 instructions lochi and locghi. · bf749919
      The attached patch adds patterns to make use of the z13 LOCHI and
      LOCGHI instructions.
      
      gcc/ChangeLog:
      
      2016-07-04  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	* config/s390/s390.md: Add "z13" cpu_facility.
      	("*mov<mode>cc"): Add support for z13 instructions lochi and locghi.
      	* config/s390/predicates.md ("loc_operand"): New predicate for "load on
      	condition" type instructions.
      
      gcc/testsuite/ChangeLog:
      
      2016-07-04  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	* gcc.target/s390/vector/vec-scalar-cmp-1.c: Expect lochi instead
      	of locr.
      	* gcc.target/s390/loc-1.c: New test.
      
      From-SVN: r237984
      Dominik Vogt committed
    • Minor cleanup to allocate_dynamic_stack_space · 4fc0c9c8
      gcc/ChangeLog:
      
      2016-07-04  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      	    Jeff Law  <law@redhat.com>
      
      	* explow.c (allocate_dynamic_stack_space): Simplify knowing that
      	MUST_ALIGN was always true and extra_align ist always BITS_PER_UNIT.
      
      
      Co-Authored-By: Jeff Law <law@redhat.com>
      
      From-SVN: r237983
      Dominik Vogt committed
    • i386.c (ix86_expand_vec_perm): Add handle one-operand permutation for TARGET_AVX512F. · 430bb38e
      gcc/
      	* config/i386/i386.c (ix86_expand_vec_perm): Add handle one-operand
      	permutation for TARGET_AVX512F.
      	(ix86_expand_vec_one_operand_perm_avx512): New function.
      	(expand_vec_perm_1): Invoke introduced function.
      	* tree-vect-loop.c (vect_transform_loop): Clear-up safelen value since
      	it may be not valid after vectorization.
      
      gcc/testsuite/
      	* gcc/testsuite/gcc.target/i386/avx512f-vect-perm-1.c: New test.
      	* gcc/testsuite/gcc.target/i386/avx512f-vect-perm-2.c: New test.
      
      From-SVN: r237982
      Yuri Rumyantsev committed
    • Update documentation. · 5f5f7b7d
      From-SVN: r237979
      Arnaud Charlet committed
    • re PR libstdc++/71313 ([Filesystem TS] remove_all fails to remove directory contents recursively) · e12880f9
      	PR libstdc++/71313
      	* src/filesystem/ops.cc (remove_all(const path&, error_code&)):
      	Call remove_all for children of a directory.
      	* testsuite/experimental/filesystem/operations/create_directories.cc:
      	Adjust.
      
      From-SVN: r237978
      Ville Voutilainen committed
    • Cleanups. · cbe91164
      From-SVN: r237977
      Arnaud Charlet committed
    • [multiple changes] · 0c3f76ba
      2016-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb (Analyze_Attribute_Old_Result): The attributes can
      	appear in the postcondition of a subprogram renaming declaration,
      	when the renamed entity is an attribute reference that is a
      	function (such as 'Value).
      	* sem_attr.adb (Eval_Attribute): It doesn't
      	need to be static, just known at compile time, so use
      	Compile_Time_Known_Value instead of Is_Static_Expression.
      	This is an efficiency improvement over the previous bug fix.
      	* sem_ch13.adb (Analyze_One_Aspect): Use Original_Node to detect
      	illegal aspects on subprogram renaming declarations that may
      	have been rewritten as bodies.
      
      2016-07-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_intr.adb (Errint): Do not emit error message in
      	Relaxed_RM_Semantics mode.
      
      From-SVN: r237976
      Arnaud Charlet committed
    • sem_attr.adb (Eval_Attribute): The code was assuming that X'Enum_Rep... · f3e0f7c3
      2016-07-04  Bob Duff  <duff@adacore.com>
      
      	* sem_attr.adb (Eval_Attribute): The code was assuming
      	that X'Enum_Rep, where X denotes a constant, can be constant
      	folded. Fix it so it makes that assumption only when X denotes
      	a STATIC constant.
      
      From-SVN: r237975
      Bob Duff committed
    • Minor reformatting. · aceb8afe
      From-SVN: r237974
      Arnaud Charlet committed
    • [multiple changes] · 1d2d8a8f
      2016-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Compatible_Types_In_Predicate): New function
      	to handle cases where a formal of a predicate function and the
      	corresponding actual have different views of the same type.
      
      2016-07-04  Philippe Gil  <gil@adacore.com>
      
      	* g-debpoo.adb (Free_Blocks) free blocks also until
      	Logically_Deallocated less than Maximum_Logically_Freed_Memory
      	(Dump) add dump of number of traceback & validity elements
      	already allocated.
      
      2016-07-04  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch12.adb (Instantiate_Package_Body): Add
      	a guard to ignore Itypes which fail when installing primitives.
      
      From-SVN: r237973
      Arnaud Charlet committed
    • sem_eval.adb (Decompose_Expr): Set 'out' parameters Kind and Cons to valid… · e49de265
      sem_eval.adb (Decompose_Expr): Set 'out' parameters Kind and Cons to valid values, to avoid use of uninit vars.
      
      2016-07-04  Bob Duff  <duff@adacore.com>
      
      	* sem_eval.adb (Decompose_Expr): Set 'out' parameters
      	Kind and Cons to valid values, to avoid use of uninit vars.
      	(Extract_Length): Reorder the check to make it clearer that
      	we're depending on BOTH Ent1 and Ent2 to be Present.
      	* sem_aggr.adb (Resolve_Aggregate): Remove dead code.
      	(Check_Misspelled_Component): Remove exit statement, because
      	it's covered by the 'while' condition.
      	* checks.adb (Apply_Selected_Range_Checks): Remove useless
      	condition "or else not Checks_On".
      	(Selected_Range_Checks):
      	Initialize Known_LB and Known_HB to False, because they are
      	tested unconditionally; avoid use of uninit vars.
      	* frontend.adb (Frontend): Removed useless condition
      	"Operating_Mode = Check_Semantics and then", and added an Assert
      	to clarify why it was useless.
      	* prep.adb (Preprocess): Remove redundant condition. Add an
      	assertion.
      	* sem_ch10.adb (Analyze_Proper_Body): Moved redundant condition
      	"Original_Operating_Mode = Generate_Code" to an Assert.
      	(Process_Spec_Clauses, Process_Body_Clauses): Change parameters
      	from 'in out' to 'out', and don't initialize actuals.
      	* sem_ch12.adb (Is_In_Main_Unit): Removed useless condition
      	"Unum = Main_Unit or else".
      	(Save_Global_Descendant): Moved
      	redundant condition "D = Union_Id (No_List)" to an Assert.
      	* sem_ch4.adb (Check_Misspelled_Selector): Remove exit
      	statement, because it's covered by the 'while' condition.
      	(Analyze_Case_Expression): Initialize Wrong_Alt to Empty,
      	because it looks like it is used uninitialized otherwise.
      	* sem_ch6.adb (Check_Return_Subtype_Indication): Moved redundant
      	condition "not R_Type_Is_Anon_Access" to an Assert.
      	* sem_elim.adb (Line_Num_Match): Moved redundant condition
      	"Sloc_Trace (Idx) = '['" to an Assert.
      	* sem_util.adb (Compile_Time_Constraint_Error): Change "J" to
      	"J - 1". This code is trying to replace "?" with "<", but not if
      	the "?" is quoted, as in "'?", so we want to check the PREVIOUS
      	character for '''.
      	* snames.adb-tmpl (Is_Pragma_Name): Remove useless condition
      	"or else N = Name_Relative_Deadline". It's useless because
      	Name_Relative_Deadline is in the range First_Pragma_Name
      	.. Last_Pragma_Name.
      	* treepr.adb (Visit_Node): Moved redundant condition "D =
      	Union_Id (No_List)" to an Assert.
      	* sem_ch3.adb (Derive_Subprogram, Derive_Subprograms): Change
      	parameters from 'in out' to 'out'.
      	* errout.adb (Error_Msg_Internal): Replace redundant test with Assert.
      	* inline.adb (Add_Inlined_Body): Code cleanup.
      
      From-SVN: r237972
      Bob Duff committed
    • g-sercom-mingw.adb, [...]: Minor reformatting. · 890975e3
      2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* g-sercom-mingw.adb, sem_ch6.adb: Minor reformatting.
      
      From-SVN: r237971
      Hristian Kirtchev committed
    • [multiple changes] · ae4c4d53
      2016-07-04  Olivier Hainque  <hainque@adacore.com>
      
      	* g-sercom-mingw.adb (Set): Fix port configuration for the
      	non-blocking + null-timeout case, request of immediate return.
      
      2016-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Is_Non_Overriding_Operation): Add guard to test
      	of generic parent type when operation is a parameterless function
      	that may dispatch on result.
      
      From-SVN: r237970
      Arnaud Charlet committed
    • [multiple changes] · c70cf4f8
      2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* freeze.adb, ghost.adb, sem_ch13.adb: Minor reformatting.
      
      2016-07-04  Pascal Obry  <obry@adacore.com>
      
      	* g-forstr.ads: More documentation for the Formatted_String
      	support.
      
      2016-07-04  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch7.adb (Install_Parent_Private_Declarations): When
      	instantiating a child unit, do not install private declaration of
      	a non-generic ancestor of the generic that is also an ancestor
      	of the current unit: its private part will be installed when
      	private part of ancestor itself is analyzed.
      
      2016-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Instantiate_Object): In SPARK mode add a guard
      	to verify that the actual is an object reference before checking
      	for volatility.
      	(Check_Generic_Child_Unit): Prevent cascaded errors when prefix
      	is illegal.
      
      From-SVN: r237969
      Arnaud Charlet committed
    • [multiple changes] · d4b56371
      2016-07-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch12.ads, freeze.adb: Minor reformatting and typo fixes.
      
      2016-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (New_Stream_Subprogram): If the attribute
      	definition clause comes from an aspect specification, place the
      	generated subprogram renaming in the freeze actions of the type.
      
      2016-07-04  Philippe Gil  <gil@adacore.com>
      
      	* g-debpoo.adb (Dump.Do_Report) - add space prefix to backtrace
      	address dump - avoid new line sent directly to stdout.
      
      2016-07-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat1drv.adb, sem_ch12.adb, sem_elab.adb, sem_prag.adb, sem_res.adb:
      	Relax elaboration checks in SPARK_Mode so that we rely on the
      	static elaboration model (if used). We'll have a more precise
      	check performed in flow analysis of gnat2why.
      
      From-SVN: r237968
      Arnaud Charlet committed
    • ghost.adb (Prune_Node): A freeze node for an ignored ghost entity must be pruned as well. · 7c14db40
      2016-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* ghost.adb (Prune_Node): A freeze node for an ignored ghost
      	entity must be pruned as well.
      
      From-SVN: r237967
      Ed Schonberg committed
    • sem_type.adb, [...]: Minor reformatting and typo fix. · 607114db
      2016-07-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_type.adb, einfo.ads, freeze.adb, exp_ch6.adb: Minor reformatting
      	and typo fix.
      
      From-SVN: r237966
      Gary Dismukes committed
    • sem_ch3.adb, [...]: Minor reformatting. · c308e762
      2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch3.adb, sem_type.adb, sem_ch12.adb, xref_lib.adb,
      	freeze.adb, sinput-l.adb, sinput-l.ads, sem_ch4.adb, sem_ch8.adb:
      	Minor reformatting.
      
      From-SVN: r237965
      Hristian Kirtchev committed
    • [multiple changes] · f50f7e2c
      2016-07-04  Justin Squirek  <squirek@adacore.com>
      
      	* sem_prag.adb (Analyze_Unmodified_Or_Unused and
      	Analyze_Unreferenced_Or_Unused): Change warning message to be
      	more clear about pragma duplicates.
      
      2016-07-04  Yannick Moy  <moy@adacore.com>
      
      	* sinput-l.adb (Create_Instantiation_Source): Set component
      	Inlined_Call for inherited pragma case.
      	* sinput.adb, sinput.ads (Instantiation): Return component
      	Inlined_Call for inherited pragma case.
      
      2016-07-04  Bob Duff  <duff@adacore.com>
      
      	* sem_type.adb (Remove_Conversions): Protect
      	the call to Left_Opnd by checking for Nkind in N_Unary_Op --
      	unary operators do not have a left operand.
      
      2016-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Analyze_Object_Declaration): A declaration of a
      	constant in a protected operation may be a homonym of a private
      	component of the enclosing protected type. This declaration hides
      	the component renaming constructed within the protected operation.
      
      From-SVN: r237964
      Arnaud Charlet committed
    • [multiple changes] · 96df3ff4
      2016-07-04  Bob Duff  <duff@adacore.com>
      
      	* xref_lib.adb (Parse_X_Filename, Parse_Identifier_Info): Ignore
      	unknown files. Check that File_Nr is in the range of files we
      	know about. The previous code was checking the lower bound,
      	but not the upper bound.
      
      2016-07-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* tracebak.c: Minor reformatting.
      
      2016-07-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch12.adb, sem_ch12.ads Update calls to
      	Create_Instantiation_Source to use default argument.
      	(Adjust_Inherited_Pragma_Sloc): New function to adjust sloc
      	of inherited pragma.
      	(Set_Copied_Sloc_For_Inherited_Pragma):
      	New function that wraps call to Create_Instantiation_Source for
      	copying an inherited pragma.
      	(Set_Copied_Sloc_For_Inlined_Body): Update call to
      	Create_Instantiation_Source with new arguments.
      	* sem_prag.adb (Build_Pragma_Check_Equivalent): In the case
      	of inherited pragmas, use the generic machinery to get chained
      	locations for the pragma and its sub-expressions.
      	* sinput-c.adb: Adapt to new type Source_File_Record.
      	* sinput-l.adb, sinput-l.ads (Create_Instantiation_Source):
      	Add parameter Inherited_Pragma and make parameter Inlined_Body
      	optional.
      	* sinput.adb, sinput.ads (Comes_From_Inherited_Pragma): New
      	function to return when a location comes from an inherited pragma.
      	(Inherited_Pragma): New function to detect when a location comes
      	from an inherited pragma.
      	(Source_File_Record): New component Inherited_Pragma.
      
      2016-07-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_elab.adb: Register existence of quickfix for error message.
      
      2016-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Resolve_One_Call): In the context of a predicate
      	function the formal and the actual in a call may have different
      	views of the same type, because of the delayed analysis of
      	predicates aspects. Extend the patch that handles this potential
      	discrepancy to handle private and full views as well.
      	* sem_ch8.adb (Find_Selected_Component): Refine predicate that
      	produces additional error when an illegal selected component
      	looks like a prefixed call whose first formal is untagged.
      
      From-SVN: r237963
      Arnaud Charlet committed
    • Minor reformatting. · 015f33d7
      From-SVN: r237962
      Arnaud Charlet committed
    • einfo.adb (Has_Pragma_Unused): Create this function as a setter for a new… · 9d1d00ca
      einfo.adb (Has_Pragma_Unused): Create this function as a setter for a new flag294 (Set_Has_Pragma_Unused):...
      
      2016-07-04  Justin Squirek  <squirek@adacore.com>
      
      	* einfo.adb (Has_Pragma_Unused): Create this function as a setter
      	for a new flag294 (Set_Has_Pragma_Unused): Create this procedure
      	as a getter for flag294 (Write_Entity_Flags): Register the new
      	flag with an alias
      	* einfo.ads Add comment documenting Has_Pragma_Unused (flag294)
      	and subsequent getter and setter declarations.
      	* lib-xref.adb (Generate_Reference): Recognize Has_Pragma_Unused
      	flag to print appropriate warning messages.
      	* par-prag.adb (Prag): Classify Pragma_Unused into "All Other
      	Pragmas."
      	* snames.ads-tmpl Add a new name to the name constants and a
      	new pramga to Pragma_Id for pramga Unused.
      	* sem_prag.adb (Analyze_Pragma): Create case for Pragma_Unused
      	and move the block for Pragma_Unmodified and Pragma_Unreferenced
      	out and into local subprograms.
      	(Analyze_Unmodified, Analyze_Unreferenced): From the old pragma blocks
      	that have been separated in to local subprograms add a parameter to
      	indicate the if they are being called in the context of Pragma_Unused
      	and handle it accordingly.
      	(Is_Non_Significant_Pragma_Reference): Add an entry for Pragma_Unused
      	and correct the position of Pragma_Unevaluated_Use_Of_Old.
      	* sem_util.adb (Note_Possible_Modification): Recognize
      	Has_Pragma_Unused flag to print appropriate warning messages.
      
      From-SVN: r237961
      Justin Squirek committed
    • freeze.adb (Check_Inherited_Conditions): Perform two passes over the primitive… · 002e3d16
      freeze.adb (Check_Inherited_Conditions): Perform two passes over the primitive operations of the type...
      
      2016-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb (Check_Inherited_Conditions): Perform two passes over
      	the primitive operations of the type: one over source overridings
      	to build the primitives mapping, and one over inherited operations
      	to check for the need to create wrappers, and to check legality
      	of inherited condition in SPARK.
      	* sem_prag.ads (Update_Primitive_Mapping): Make public, for use
      	in freeze actions.
      	* sem_prag.adb (Build_Pragma_Check_Equivalent): Refine error
      	message in the case of an inherited condition in SPARK that
      	includes a call to some other overriding primitive.
      
      From-SVN: r237960
      Ed Schonberg committed
    • [multiple changes] · 10edebe7
      2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_aggr.adb (Ctrl_Init_Expression): New routine.
      	(Gen_Assign): Code cleanup. Perform in-place side effect removal when
      	the expression denotes a controlled function call.
      	* exp_util.adb (Remove_Side_Effects): Do not remove side effects
      	on a function call which has this behavior suppressed.
      	* sem_aggr.adb Code cleanup.
      	* sinfo.adb (No_Side_Effect_Removal): New routine.
      	(Set_Side_Effect_Removal): New routine.
      	* sinfo.ads New attribute No_Side_Effect_Removal along with
      	occurences in nodes.
      	(No_Side_Effect_Removal): New routine along with pragma Inline.
      	(Set_Side_Effect_Removal): New routine along with pragma Inline.
      
      2016-07-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* opt.ads, sem_prag.adb (Universal_Addressing_On_AAMP): Removed.
      	Remove support for pragma No_Run_Time. Update comments.
      
      2016-07-04  Pascal Obry  <obry@adacore.com>
      
      	* g-forstr.ads: More documentation for the Formatted_String
      	support.
      
      2016-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
      	'Address): If the address comes from an aspect specification
      	and not a source attribute definition clause, do not remove
      	side effects from the expression, because the expression must
      	be elaborated at the freeze point of the object and not at the
      	object declaration, because of the delayed analysis of aspect
      	specifications.
      
      From-SVN: r237959
      Arnaud Charlet committed
    • [AArch64] Fix PR target/63874 · 15f6e0da
           In this PR we have a situation where we aren't really detecting
      weak references vs weak definitions. If one has a weak definition that
      binds locally there's no reason not to put out PC relative
      relocations.
      
      However if you have a genuine weak reference that is known not to bind
      locally it makes very little sense to put out an entry into the
      literal pool which doesn't always work with DSOs and shared objects.
      
      Tested aarch64-none-linux-gnu bootstrap and regression test with no
      regressions
      
      2016-07-04  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	PR target/63874
      	* config/aarch64/aarch64.c (aarch64_classify_symbol): Fix
      	typo in comment.  Only force to memory if it is a weak
      	external reference.
      
      2016-07-04  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	PR target/63874
      	* gcc.target/aarch64/pr63874.c: New test.
      
      From-SVN: r237957
      Ramana Radhakrishnan committed
    • [AArch64] ARMv8.2 command line and feature macros support · c61465bd
      	* config/aarch64/aarch64-arches.def: Add "armv8.2-a".
      	* config/aarch64/aarch64.h (AARCH64_FL_V8_2): New.
      	(AARCH64_FL_F16): New.
      	(AARCH64_FL_FOR_ARCH8_2): New.
      	(AARCH64_ISA_8_2): New.
      	(AARCH64_ISA_F16): New.
      	(TARGET_FP_F16INST): New.
      	(TARGET_SIMD_F16INST): New.
      	* config/aarch64/aarch64-option-extensions.def ("fp16"): New entry.
      	("fp"): Disabling "fp" also disables "fp16".
      	* config/aarch64/aarch64-c.c (arch64_update_cpp_builtins): Conditionally define
      	__ARM_FEATURE_FP16_SCALAR_ARITHMETIC and __ARM_FEATURE_FP16_VECTOR_ARITHMETIC.
      	* doc/invoke.texi (AArch64 Options): Document "armv8.2-a" and "fp16".
      
      
      Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
      
      From-SVN: r237956
      Matthew Wahab committed
    • fix interaction of -S and -x {c,c++}-header · 79335075
      Irrespective of the use of -o this so far resulted in "error: output
      filename specified twice", since cc1_options already produces a -o
      option when -S was specified.
      
      gcc/
      2016-07-04  Jan Beulich  <jbeulich@suse.com>
      
      	* gcc.c (default_compilers["@c-header"]): Conditionalize "-o".
      
      gcc/cp/
      2016-07-04  Jan Beulich  <jbeulich@suse.com>
      
      	* lang-specs.h ("@c++-header"): Conditionalize "-o".
      
      gcc/testsuite/
      2016-07-04  Jan Beulich  <jbeulich@suse.com>
      
      	* g++.dg/header.c: New.
      	* gcc.dg/header.c: New.
      
      From-SVN: r237955
      Jan Beulich committed