Commit Graph

147040 Commits

Author SHA1 Message Date
Dominik Vogt
bf7499197f S/390: Add support for z13 instructions lochi and locghi.
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
2016-07-04 14:25:22 +00:00
Dominik Vogt
4fc0c9c844 Minor cleanup to allocate_dynamic_stack_space
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
2016-07-04 14:21:06 +00:00
Yuri Rumyantsev
430bb38e4b i386.c (ix86_expand_vec_perm): Add handle one-operand permutation for TARGET_AVX512F.
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
2016-07-04 14:06:27 +00:00
Arnaud Charlet
5f5f7b7d73 Update documentation.
From-SVN: r237979
2016-07-04 14:57:30 +02:00
Ville Voutilainen
e12880f96f re PR libstdc++/71313 ([Filesystem TS] remove_all fails to remove directory contents recursively)
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
2016-07-04 15:52:49 +03:00
Arnaud Charlet
cbe91164ce Cleanups.
From-SVN: r237977
2016-07-04 14:47:30 +02:00
Arnaud Charlet
0c3f76bac4 [multiple changes]
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
2016-07-04 14:32:22 +02:00
Bob Duff
f3e0f7c3c1 sem_attr.adb (Eval_Attribute): The code was assuming that X'Enum_Rep...
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
2016-07-04 14:30:44 +02:00
Arnaud Charlet
aceb8afe14 Minor reformatting.
From-SVN: r237974
2016-07-04 12:48:59 +02:00
Arnaud Charlet
1d2d8a8f5a [multiple changes]
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
2016-07-04 12:48:48 +02:00
Bob Duff
e49de265ef 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
2016-07-04 12:46:47 +02:00
Hristian Kirtchev
890975e344 g-sercom-mingw.adb, [...]: Minor reformatting.
2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* g-sercom-mingw.adb, sem_ch6.adb: Minor reformatting.

From-SVN: r237971
2016-07-04 12:44:24 +02:00
Arnaud Charlet
ae4c4d53b4 [multiple changes]
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
2016-07-04 12:43:01 +02:00
Arnaud Charlet
c70cf4f8eb [multiple changes]
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
2016-07-04 12:41:23 +02:00
Arnaud Charlet
d4b56371aa [multiple changes]
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
2016-07-04 12:38:22 +02:00
Ed Schonberg
7c14db4032 ghost.adb (Prune_Node): A freeze node for an ignored ghost entity must be pruned as well.
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
2016-07-04 12:29:02 +02:00
Gary Dismukes
607114db6a sem_type.adb, [...]: Minor reformatting and typo fix.
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
2016-07-04 12:25:35 +02:00
Hristian Kirtchev
c308e7620e sem_ch3.adb, [...]: Minor reformatting.
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
2016-07-04 12:19:10 +02:00
Arnaud Charlet
f50f7e2c00 [multiple changes]
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
2016-07-04 12:17:30 +02:00
Arnaud Charlet
96df3ff4bd [multiple changes]
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
2016-07-04 12:09:04 +02:00
Arnaud Charlet
015f33d73e Minor reformatting.
From-SVN: r237962
2016-07-04 12:06:17 +02:00
Justin Squirek
9d1d00ca24 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
2016-07-04 12:05:53 +02:00
Ed Schonberg
002e3d16cb 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
2016-07-04 12:03:34 +02:00
Arnaud Charlet
10edebe7b4 [multiple changes]
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
2016-07-04 12:00:57 +02:00
Ramana Radhakrishnan
15f6e0dac3 [AArch64] Fix PR target/63874
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
2016-07-04 09:06:02 +00:00
Matthew Wahab
c61465bda5 [AArch64] ARMv8.2 command line and feature macros support
* 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
2016-07-04 08:17:57 +00:00
Jan Beulich
793350758c fix interaction of -S and -x {c,c++}-header
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
2016-07-04 07:41:32 +00:00
GCC Administrator
b32086d3f0 Daily bump.
From-SVN: r237954
2016-07-04 00:16:20 +00:00
H.J. Lu
b4410f6304 Add 2 tests for PR middle-end/71734
simd3.f90 and simd4.f90 fail only with -msse2.  But they are compiled
with -mavx on AVX machines.  Add 2 tests to compile simd3.f90 and
simd4.f90 with -msse2 on AVX machines.

	PR middle-end/71734
	* testsuite/libgomp.fortran/pr71734-1.f90: New test.
	* testsuite/libgomp.fortran/pr71734-2.f90: Likewise.

From-SVN: r237950
2016-07-03 09:40:22 -07:00
GCC Administrator
b537bedd4f Daily bump.
From-SVN: r237949
2016-07-03 00:16:22 +00:00
François Dumont
6c539f2e67 get_debug_neg.cc: Adjust dg-error line numbers.
2016-07-02  François Dumont  <fdumont@gcc.gnu.org>

	* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/23_containers/array/tuple_interface/
	tuple_element_debug_neg.cc: Likewise.
	* testsuite/25_algorithms/lexicographical_compare/debug/
	irreflexive_neg.cc: Remove.

From-SVN: r237945
2016-07-02 14:55:20 +00:00
Jakub Jelinek
557e8c49cf re PR c/71719 (invalid set-but-not-used warning with vectors)
PR c/71719
	* c-typeck.c (mark_exp_read): Handle VIEW_CONVERT_EXPR.

	* c-c++-common/Wunused-var-15.c: New test.

From-SVN: r237937
2016-07-02 08:41:29 +02:00
GCC Administrator
547ef7ded5 Daily bump.
From-SVN: r237936
2016-07-02 00:16:25 +00:00
Jakub Jelinek
79a592e33e re PR fortran/71687 (ICE in omp_add_variable, at gimplify.c:5821)
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
2016-07-01 22:52:54 +02:00
Bill Schmidt
e2298656eb const-float128-ped.c: Require __float128 effective target and options.
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
2016-07-01 20:38:51 +00:00
Michael Meissner
a550396b80 update changelog
From-SVN: r237921
2016-07-01 18:26:46 +00:00
Michael Meissner
70c119669e re PR target/71720 (initialization of a vector of floats generates incorrect code for -mcpu=power9)
[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
2016-07-01 18:23:29 +00:00
Jakub Jelinek
a8dbab92f0 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
2016-07-01 17:13:28 +02:00
Jan Beulich
059541fd11 check initializer to be zero in .bss-like sections
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
2016-07-01 14:23:24 +00:00
Kelvin Nilsen
51433308bb 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
2016-07-01 13:52:55 +00:00
Peter Bergner
2c1e49643b re PR target/71698 (ICE related to decimal float when compiling with -mcpu=power9)
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
2016-07-01 08:51:35 -05:00
Georg-Johann Lay
22e1cb39f3 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
2016-07-01 12:09:53 +00:00
Alan Modra
55dcc361e6 strcpy arg optimised out
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
2016-07-01 20:45:17 +09:30
Jan Beulich
466cf5747f ix86: fix PR/65105 testcase 2
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
2016-07-01 09:42:59 +00:00
Yuri Rumyantsev
677ef4dd37 re PR tree-optimization/70729 (Loop marked with omp simd pragma is not vectorized)
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
2016-07-01 09:42:01 +00:00
Kyrylo Tkachov
02c19e2bc7 [ARM] Delete thumb_reload_in_h
* config/arm/arm.c (thumb_reload_in_hi): Delete.
	* config/arm/arm-protos.h (thumb_reload_in_hi): Delete prototype.

From-SVN: r237906
2016-07-01 09:22:51 +00:00
Eric Botcazou
920eed8c9e arm.c (arm_function_ok_for_sibcall): Add another check for NULL decl.
* config/arm/arm.c (arm_function_ok_for_sibcall): Add another check
	for NULL decl.

From-SVN: r237903
2016-07-01 07:40:17 +00:00
GCC Administrator
4bfebb722c Daily bump.
From-SVN: r237902
2016-07-01 00:16:17 +00:00
Michael Meissner
ec5385270a re PR target/71677 (PowerPC ISA 3.0 DImode load/store needs a fix)
2016-06-30  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/71677
	* config/rs6000/constraints.md (wY constraint): New constraint to
	match the requirements for the LXSD and STXSD instructions.
	* config/rs6000/predicates.md (offsettable_mem_14bit_operand): New
	predicate to match the requirements for the LXSD and STXSD
	instructions.
	* config/rs6000/rs6000.md (mov<mode>_hardfloat32, FMOVE64 case):
	Use constaint wY for LXSD/STXSD instructions instead of 'o' or 'Y'
	to make sure that the bottom 2 bits of offset are 0, the address
	form is offsettable, and no updating is done in the address mode.
	(mov<mode>_hardfloat64, FMOVE64 case): Likewise.
	(movdi_internal32): Likewise
	(movdi_internal64): Likewise.

From-SVN: r237898
2016-06-30 21:54:47 +00:00
Jakub Jelinek
55a0f21aba re PR tree-optimization/71707 (ICE in get_stridx_plus_constant)
PR tree-optimization/71707
	* tree-ssa-strlen.c (get_stridx_plus_constant): Handle already present
	strinfo even for ADDR_EXPR ptr.

	* gcc.dg/strlenopt-29.c: New test.

From-SVN: r237889
2016-06-30 20:45:18 +02:00