Commit Graph

147255 Commits

Author SHA1 Message Date
Alessandro Fanfarillo
20d0bfcefd Second review of STAT= patch + tests
From-SVN: r238007
2016-07-05 09:33:06 -06:00
Richard Biener
1174b21b38 gimple-ssa-split-paths.c (find_block_to_duplicate_for_splitting_pa): Handle empty else block.
2016-07-05  Richard Biener  <rguenther@suse.de>

	* gimple-ssa-split-paths.c (find_block_to_duplicate_for_splitting_pa):
	Handle empty else block.
	(is_feasible_trace): Likewise.
	(split_paths): Likewise.

From-SVN: r238005
2016-07-05 13:25:47 +00:00
Richard Biener
16eba42015 tree-loop-distribution.c (distribute_loop): Fix issue with the cost model loop.
2016-07-05  Richard Biener  <rguenther@suse.de>

	* tree-loop-distribution.c (distribute_loop): Fix issue with
	the cost model loop.

From-SVN: r238004
2016-07-05 13:25:19 +00:00
Arnaud Charlet
b758f6e25b Update documentation.
From-SVN: r238003
2016-07-05 14:18:48 +02:00
Andre Vehreschild
69aaea0663 re PR fortran/71623 (Segfault when allocating deferred-length characters to size of a pointer)
gcc/fortran/ChangeLog:

2016-07-05  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/71623
	* trans-stmt.c (gfc_trans_allocate): Add code of pre block of typespec
	in allocate to parent block.

gcc/testsuite/ChangeLog:

2016-07-05  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/71623
	* gfortran.dg/deferred_character_17.f90: New test.

From-SVN: r238002
2016-07-05 14:06:22 +02:00
Eric Botcazou
b0ad2d78b2 decl.c (gnat_to_gnu_entity): Invoke global_bindings_p last when possible.
* gcc-interface/decl.c (gnat_to_gnu_entity): Invoke global_bindings_p
	last when possible.  Do not call elaborate_expression_2 on offsets in
	local record types and avoid useless processing for constant offsets.

From-SVN: r238001
2016-07-05 10:32:43 +00:00
Christophe Lyon
f723a43cbc [ARM][testsuite] neon-testgen.ml removal
2016-07-05  Christophe Lyon  <christophe.lyon@linaro.org>

	gcc/
	* config/arm/neon-testgen.ml: Delete.
	* config/arm/neon.ml: Delete.

	gcc/testsuite/
	* gcc.target/arm/neon/polytypes.c: Move to ...
	* gcc.target/arm/polytypes.c: ... here.
	* gcc.target/arm/neon/pr51534.c: Move to ...
	* gcc.target/arm/pr51534.c: ... here.
	* gcc.target/arm/neon/vect-vcvt.c: Move to ...
	* gcc.target/arm/vect-vcvt.c: ... here.
	* gcc.target/arm/neon/vect-vcvtq.c: Move to ...
	* gcc.target/arm/vect-vcvtq.c: ... here.
	* gcc.target/arm/neon/vfp-shift-a2t2.c: Move to ...
	* gcc.target/arm/vfp-shift-a2t2.c: ... here.
	* gcc.target/arm/neon/vst1Q_laneu64-1.c: Move to ...
	* gcc.target/arm/vst1Q_laneu64-1.c: ... here. Fix foo() prototype.
	* gcc.target/arm/neon/neon.exp: Delete.
	* gcc.target/arm/neon/*.c: Delete.

From-SVN: r238000
2016-07-05 11:24:38 +02:00
GCC Administrator
7915f06abf Daily bump.
From-SVN: r237998
2016-07-05 00:16:18 +00:00
Jerry DeLisle
d73e0ccf85 re PR fortran/66575 (Endless compilation on missing end interface)
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
2016-07-04 21:04:55 +00:00
Jerry DeLisle
c20f6223a4 re PR fortran/35849 ("wrong" line shown in error message for parameter)
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
2016-07-04 19:14:54 +00:00
Jakub Jelinek
2a5537c3e2 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
2016-07-04 19:31:38 +02:00
Jiong Wang
74bb9de4ea [AArch64] Renaming ARMv8.1 to ARMv8.1-A in comments and documentations
* 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
2016-07-04 16:27:46 +00:00
Christophe Lyon
740f9751fb [testsuite] asan/clone-test-1.c: Handle clone() failure
2016-07-04  Christophe Lyon  <christophe.lyon@linaro.org>

	* c-c++-common/asan/clone-test-1.c (main): Handle clone() failure.

From-SVN: r237987
2016-07-04 18:19:03 +02:00
François Dumont
097e899495 Add tests for inserting aliased objects into std::vector
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
2016-07-04 15:52:54 +01:00
Jonathan Wakely
9958c7eb58 Fix std::vector's use of temporary objects
* 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
2016-07-04 15:52:46 +01:00
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