1. 04 Jul, 2016 21 commits
    • 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
    • Daily bump. · b32086d3
      From-SVN: r237954
      GCC Administrator committed
  2. 03 Jul, 2016 2 commits
  3. 02 Jul, 2016 3 commits
  4. 01 Jul, 2016 14 commits
    • re PR fortran/71687 (ICE in omp_add_variable, at gimplify.c:5821) · 79a592e3
      	PR fortran/71687
      	* f95-lang.c (struct binding_level): Add reversed field.
      	(clear_binding_level): Adjust initializer.
      	(getdecls): If reversed is clear, set it and nreverse the names
      	chain before returning it.
      	(poplevel): Use getdecls.
      	* trans-decl.c (gfc_generate_function_code, gfc_process_block_locals):
      	Use nreverse to pushdecl decls in the declaration order.
      
      	* gfortran.dg/gomp/pr71687.f90: New test.
      
      From-SVN: r237926
      Jakub Jelinek committed
    • const-float128-ped.c: Require __float128 effective target and options. · e2298656
      2016-07-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.dg/const-float128-ped.c: Require __float128 effective
      	target and options.
      	* gcc.dg/const-float128.c: Likewise.
      	* gcc.dg/torture/float128-cmp-invalid.c: Require
      	__float128 and base_quadfloat_support effective targets, and
      	__float128 options.
      	* gcc.dg/torture/float128-div-underflow.c: Likewise.
      	* gcc.dg/torture/float128-extend-nan.c: Likewise.
      	* gcc.dg/torture/float128-nan.c: Likewise.
      	* gcc.dg/torture/fp-int-convert-float128-timode-2.c: Likewise.
      	* gcc.dg/torture/fp-int-convert-float128-timode-3.c: Likewise.
      	* gcc.dg/torture/fp-int-convert-float128-timode.c: Likewise.
      	* lib/target-supports.exp (check_effective_target___float128):
      	New.
      	(add_options_for___float128): New.
      	(check_effective_target_base_quadword_support): New.
      
      From-SVN: r237924
      Bill Schmidt committed
    • update changelog · a550396b
      From-SVN: r237921
      Michael Meissner committed
    • re PR target/71720 (initialization of a vector of floats generates incorrect code for -mcpu=power9) · 70c11966
      [gcc]
      2016-07-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/71720
      	* config/rs6000/vsx.md (vsx_splat_v4sf_internal): When splitting
      	the insns, use vsx_xxspltw_v4sf_direct which does not check for
      	little endian.
      
      [gcc/testsuite]
      2016-07-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/71720
      	* gcc.target/powerpc/pr71720.c: New test.
      
      From-SVN: r237920
      Michael Meissner committed
    • re PR fortran/71717 (A gfortran silent "wrong code" bug in the transition from… · a8dbab92
      re PR fortran/71717 (A gfortran silent "wrong code" bug in the transition from 4.9.0 -> 4.9.1, using OpenMP.)
      
      	PR fortran/71717
      	* trans-openmp.c (gfc_omp_privatize_by_reference): Return false
      	for GFC_DECL_ASSOCIATE_VAR_P with POINTER_TYPE.
      
      	* testsuite/libgomp.fortran/associate3.f90: New test.
      
      From-SVN: r237916
      Jakub Jelinek committed
    • check initializer to be zero in .bss-like sections · 059541fd
      Just like gas, which has recently learned to reject such initializers,
      gcc shouldn't accept such either.
      
      gcc/
      2016-07-01  Jan Beulich  <jbeulich@suse.com>
      
      	* varasm.c (get_variable_section): Validate initializer in
      	named .bss-like sections.
      
      gcc/testsuite/
      2016-07-01  Jan Beulich  <jbeulich@suse.com>
      
      	* gcc.dg/bss.c: New.
      
      From-SVN: r237913
      Jan Beulich committed
    • altivec.md (*altivec_vpermr_<mode>_internal): Exchange the order of the second… · 51433308
      altivec.md (*altivec_vpermr_<mode>_internal): Exchange the order of the second and third operands in the vpermr instruction...
      
      gcc/ChangeLog:
      
      2016-07-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal):
      	Exchange the order of the second and third operands in the vpermr
      	instruction tmeplate.
      
      From-SVN: r237912
      Kelvin Nilsen committed
    • re PR target/71698 (ICE related to decimal float when compiling with -mcpu=power9) · 2c1e4964
      gcc/
      	PR target/71698
      	* config/rs6000/rs6000.c (rs6000_secondary_reload_simple_move): Disallow
      	TDmode values.
      
      gcc/testsuite/
      	PR target/71698
      	* gcc.target/powerpc/pr71698.c: New test.
      
      From-SVN: r237911
      Peter Bergner committed
    • re PR target/71151 ([avr] -fmerge-constants and… · 22e1cb39
      re PR target/71151 ([avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section)
      
      gcc/testsuite/
      	PR target/71151
      	* gcc.target/avr/pr71151-common.h (foo): Use macro SECTION_NAME
      	instead of ".foo" for its section name.
      	* gcc.target/avr/pr71151-2.c (SECTION_NAME): Define appropriately
      	depending on MCU's flash size.
      	* gcc.target/avr/pr71151-3.c (SECTION_NAME): Dito.
      	* gcc.target/avr/pr71151-4.c (SECTION_NAME): Dito.
      	* gcc.target/avr/pr71151-5.c (SECTION_NAME): Dito.
      	* gcc.target/avr/pr71151-6.c (SECTION_NAME): Dito.
      	* gcc.target/avr/pr71151-7.c (SECTION_NAME): Dito.
      	* gcc.target/avr/pr71151-8.c (SECTION_NAME): Dito.
      
      From-SVN: r237910
      Georg-Johann Lay committed
    • strcpy arg optimised out · 55dcc361
      For functions that return an argument unchanged, like strcat,
      find_call_crossed_cheap_reg attempts to find an assignment between
      a pseudo reg and the arg reg before the call, so that uses of the
      pseudo after the call can instead use the return value.  The exit
      condition on the loop looking at previous insns was wrong.  Uses of
      the arg reg don't matter.  What matters is the insn setting the arg
      reg as any assignment involving the arg reg prior to that insn is
      likely a completely unrelated use of the hard reg.
      
      	PR rtl-optimization/71709
      	* ira-lives.c (find_call_crossed_cheap_reg): Exit loop on arg reg
      	being set, not referenced.
      
      From-SVN: r237909
      Alan Modra committed
    • ix86: fix PR/65105 testcase 2 · 466cf574
      I cannot see how without allowing the compiler to use SSE2 instructions
      (as is done by all other tests for this PR scanning for particular
      instructions) this test could ever have succeeded anywhere.
      
      gcc/testsuite/
      2016-07-01  Jan Beulich  <jbeulich@suse.com>
      
      	* gcc.target/i386/pr65105-2.c: Add -msse2.
      
      From-SVN: r237908
      Jan Beulich committed
    • re PR tree-optimization/70729 (Loop marked with omp simd pragma is not vectorized) · 677ef4dd
      PR tree-optimization/70729
      
      gcc/
      	* tree-vectorizer.c (adjust_simduid_builtins): Nullify safelen field
      	of loop since it can be not valid after transformation.
      
      From-SVN: r237907
      Yuri Rumyantsev committed
    • [ARM] Delete thumb_reload_in_h · 02c19e2b
      	* config/arm/arm.c (thumb_reload_in_hi): Delete.
      	* config/arm/arm-protos.h (thumb_reload_in_hi): Delete prototype.
      
      From-SVN: r237906
      Kyrylo Tkachov committed
    • arm.c (arm_function_ok_for_sibcall): Add another check for NULL decl. · 920eed8c
      	* config/arm/arm.c (arm_function_ok_for_sibcall): Add another check
      	for NULL decl.
      
      From-SVN: r237903
      Eric Botcazou committed