Commit Graph

145601 Commits

Author SHA1 Message Date
GCC Administrator
b688836877 Daily bump.
From-SVN: r235357
2016-04-22 00:16:20 +00:00
H.J. Lu
04a63c2454 X86: Fix a typo in call_insn_operand
r231923 has

 ;; Test for a valid operand for a call instruction.
 ;; Allow constant call address operands in Pmode only.
 (define_special_predicate "call_insn_operand"
   (ior (match_test "constant_call_address_operand
 		     (op, mode == VOIDmode ? mode : Pmode)")
        (match_operand 0 "call_register_no_elim_operand")
-       (and (not (match_test "TARGET_X32"))
-	    (match_operand 0 "memory_operand"))))
+       (ior (and (not (match_test "TARGET_X32"))
+		 (match_operand 0 "sibcall_memory_operand"))
                                   ^^^^^^^^^^^^^^^^^^^^^^^ A typo.
+	    (and (match_test "TARGET_X32 && Pmode == DImode")
+		 (match_operand 0 "GOT_memory_operand")))))

"sibcall_memory_operand" should be "memory_operand".

gcc/

	PR target/70750
	* config/i386/predicates.md (call_insn_operand): Replace
	sibcall_memory_operand with memory_operand.

gcc/testsuite/

	PR target/70750
	* gcc.target/i386/pr70750-1.c: New test.
	* gcc.target/i386/pr70750-2.c: Likewise.

From-SVN: r235353
2016-04-21 15:01:34 -07:00
Patrick Palka
6e07f9aaf3 vrp: remove redundant has_single_use tests
gcc/ChangeLog:

	* tree-vrp.c (register_edge_assert_for_2): Remove redundant
	has_single_use() tests.
	(register_edge_assert_for_1): Likewise.
	(find_assert_locations_1): Check the liveness bitmap instead of
	checking has_single_use().

From-SVN: r235352
2016-04-21 21:58:08 +00:00
Patrick Palka
5c71225085 Reuse the saved_scope structures allocated by push_to_top_level
gcc/cp/ChangeLog:

	* name-lookup.c (free_saved_scope): New free list of saved_scope
	structures.
	(push_to_top_level): Attempt to reuse a saved_scope struct
	from free_saved_scope instead of allocating a new one each time.
	(pop_from_top_level_1): Chain the now-unused saved_scope structure
	onto free_saved_scope.

From-SVN: r235351
2016-04-21 21:55:35 +00:00
Joseph Myers
617d8e43f9 * sv.po: Update.
From-SVN: r235349
2016-04-21 21:59:01 +01:00
Paolo Carlini
2070009860 re PR c++/70540 (ICE on invalid code in cxx_incomplete_type_diagnostic, at cp/typeck2.c:569)
/cp
2016-04-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70540
	* semantics.c (process_outer_var_ref): Unconditionally return
	error_mark_node when mark_used returns false.

/testsuite
2016-04-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70540
	* g++.dg/cpp0x/auto48.C: New.

From-SVN: r235348
2016-04-21 19:42:34 +00:00
Marek Polacek
aedf4e122b re PR c++/70513 (ICE on invalid C++ code on x86_64-linux-gnu: Segmentation fault)
PR c++/70513
	* parser.c (cp_parser_enum_specifier): Check and possibly error for
	extra qualification.

	* g++.dg/cpp0x/forw_enum12.C: New test.
	* g++.dg/cpp0x/forw_enum13.C: New test.

From-SVN: r235347
2016-04-21 16:52:51 +00:00
Kirill Yukhin
2074d80a60 AVX-512. PR target/70728. Use separate constraint for AVX-512BW
PR target/70728
gcc/
	* gcc/config/i386/sse.md (define_insn "<shift_insn><mode>3<mask_name>"):
	Extract AVX-512BW constraint from AVX.
gcc/testsuite/
	* gcc.target/i386/pr70728.c: New test.

From-SVN: r235344
2016-04-21 15:29:29 +00:00
Joseph Myers
0ba94d02f0 Regenerate .pot files.
gcc/po:
	* gcc.pot: Regenerate.

libcpp/po:
	* cpplib.pot: Regenerate.

From-SVN: r235342
2016-04-21 16:23:29 +01:00
Richard Biener
49f428c9f4 re PR tree-optimization/70725 (Internal compiler error (ICE) on valid code)
2016-04-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70725
	* tree-if-conv.c (if_convertible_phi_p): Adjust guard
	for phi_convertible_by_degenerating_args.
	(predicate_all_scalar_phis): Handle single-argument PHIs.

From-SVN: r235341
2016-04-21 14:09:33 +00:00
Alexander Monakov
c2bd3b6911 libgomp nvptx plugin: make cuMemFreeHost error non-fatal
From-SVN: r235339
2016-04-21 16:11:47 +03:00
Maxim Ostapenko
fefddbef53 Cherry-pick r266868 from upstream.
PR sanitizer/70624                                                                                                             
	* asan/asan_mac.cc: Cherry pick upstream r266868.

From-SVN: r235338
2016-04-21 15:19:54 +03:00
Richard Biener
aef4aab0cc re PR middle-end/70747 (ICE on valid code on x86_64-linux-gnu: verify_gimple failed)
2016-04-21  Richard Biener  <rguenther@suse.de>

	PR middle-end/70747
	* fold-const.c (fold_comparison): Return properly typed
	constant boolean.

	* gcc.dg/pr70747.c: New testcase.

From-SVN: r235335
2016-04-21 11:52:50 +00:00
Bin Cheng
2359e571cd re PR tree-optimization/70715 (SCEV failed to prove no-overflow-ness information unsigned loop IV)
PR tree-optimization/70715
	* tree-ssa-loop-niter.c (loop_exits_before_overflow): Check equality
	after expanding BASE using expand_simple_operations.

	gcc/testsuite/ChangeLog
	PR tree-optimization/70715
	* gcc.dg/tree-ssa/scev-13.c: New test.

From-SVN: r235333
2016-04-21 11:28:58 +00:00
Marc Glisse
ce0e66ffb2 min(-x, -y), min(~x, ~y)
2016-04-21  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* match.pd (min(-x, -y), max(-x, -y), min(~x, ~y), max(~x, ~y)):
	New transformations.

gcc/testsuite/
	* gcc.dg/tree-ssa/minmax-2.c: New testcase.

From-SVN: r235332
2016-04-21 10:45:11 +00:00
Arnaud Charlet
6c7f7b8c69 [multiple changes]
2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Match_Constituent): Treat a constant as a legal
	constituent even if it is not to prevent spurious errors.

2016-04-21  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch4.adb: Minor typo fixes and reformatting.

2016-04-21  Dmitriy Anisimkov  <anisimko@adacore.com>

	* g-calend.ads (No_Time): The same value in any timezone.
	* g-socket.adb (Raise_Host_Error): Remove ending
	dot from original error message before append colon delimited
	host name.

From-SVN: r235331
2016-04-21 12:27:54 +02:00
Arnaud Charlet
0310af44bb [multiple changes]
2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb: Code cleanup.
	* sem_ch6.adb: Code cleanup.
	(Is_Matching_Limited_View): New routine.
	(Matches_Limited_With_View): Reimplemented.
	* sem_ch10.adb (Decorate_Type): Code cleanup.

2016-04-21  Doug Rupp  <rupp@adacore.com>

	* tracebak.c (PPC ELF): Add macro defs for lynxos178e.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Try_Container_Indexing): If there are overloaded
	indexing functions, collect all overloadings of the call firts,
	and then transfer them to indexing node, to prevent interleaving
	of the set of interpretations of the nodes involved.
	* sem_res.adb (Resolve): Suppress cascaded errors that report
	ambiguities when one of the actuals in an overloaded generatlized
	indexing operation is illegal and has type Any_Type, as is done
	for similar cascaded errors in subprogram calls.
	(Valid_Tagged_Conversion): Cleanup conversion checks when one
	of the types involved is a class-wide subtype.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Load_Parent_Of_Generic): When looking for the
	subprogram declaration within a wrapper package, skip pragmas
	that may have been generated by aspect specifications on the
	generic instance.

2016-04-21  Javier Miranda  <miranda@adacore.com>

	* exp_aggr.adb (Component_Not_OK_For_Backend): Generating C
	code return True for array identifiers since the backend needs
	to initialize such component by means of memcpy().

From-SVN: r235330
2016-04-21 12:25:59 +02:00
Arnaud Charlet
150346bd8d a-tasatt.adb, [...] (Fast_Path): Rewritten to avoid reading potentially uninitialized memory.
2016-04-21  Arnaud Charlet  <charlet@adacore.com>

	* a-tasatt.adb, a-tasatt.ads (Fast_Path): Rewritten to avoid reading
	potentially uninitialized memory.
	* sem_ch3.adb: Minor style fix in comment.

From-SVN: r235329
2016-04-21 12:21:56 +02:00
Arnaud Charlet
c25f170d2d gnat_rm.texi, [...]: Update doc.
* gnat_rm.texi, gnat_ugn.texi,
        doc/gnat_ugn/gnat_project_manager.rst,
        doc/gnat_ugn/building_executable_programs_with_gnat.rst,
        doc/gnat_ugn/gnat_and_program_execution.rst,
        doc/gnat_ugn/gnat_utility_programs.rst,
        doc/gnat_ugn/the_gnat_compilation_model.rst,
        doc/gnat_rm/implementation_defined_attributes.rst,
        doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
        doc/gnat_rm/implementation_defined_pragmas.rst,
        doc/gnat_rm/the_gnat_library.rst,
        doc/gnat_rm/implementation_defined_aspects.rst: Update doc.
        * doc/Makefile: Cleanups.

From-SVN: r235328
2016-04-21 12:06:40 +02:00
Arnaud Charlet
f76647c2ec [multiple changes]
2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_pakd.adb, sem_ch13.adb: Minor reformatting.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* exp_dbug.adb, exp_dbug.ads (Qualify_Entity_Name): Add suffixes to
	disambiguate local variables that may be hidden from inner visibility
	by nested block declarations or loop variables.

From-SVN: r235327
2016-04-21 11:54:42 +02:00
Arnaud Charlet
22a4f9d54d [multiple changes]
2016-04-21  Jerome Lambourg  <lambourg@adacore.com>

	* s-soflin.adb: Initialize the Stack_Limit global variable.

2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* lib-writ.adb: Minor reformatting.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* exp_pakd.adb (Compute_Number_Components): New function to
	build an expression that computes the number of a components of
	an array that may be multidimensional.
	(Expan_Packed_Eq): Use it.

2016-04-21  Arnaud Charlet  <charlet@adacore.com>

	* g-traceb.ads: Update list of supported platforms.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Add_Predicates): if the type is declared in
	an inner package it may be frozen outside of the package, and
	the generated pragma has not been analyzed yet, the expression
	for the predicate must be captured and added to the predicate
	function at this point.

2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* contracts.adb (Analyze_Package_Body_Contract): Do not check
	for a missing package refinement because 1) packages do not have
	"refinement" and 2) the check for proper state refinement is
	performed in a different place.
	* einfo.adb (Has_Non_Null_Visible_Refinement): Reimplemented.
	(Has_Null_Visible_Refinement): Reimplemented.
	* sem_ch3.adb (Analyze_Declarations): Determine whether all
	abstract states have received a refinement and if not, emit
	errors.
	* sem_ch7.adb (Analyze_Package_Declaration): Code
	cleanup. Determine whether all abstract states of the
	package and any nested packages have received a refinement
	and if not, emit errors.
	(Requires_Completion_In_Body): Add new formal parameter
	Do_Abstract_States. Update the comment on usage. Propagate the
	Do_Abstract_States flag to all Unit_Requires_Body calls.
	(Unit_Requires_Body): Remove formal
	parameter Ignore_Abstract_States. Add new formal paramter
	Do_Abstract_States. Propagate the Do_Abstract_States flag to
	all Requires_Completion_In calls.
	* sem_ch7.ads (Unit_Requires_Body): Remove formal
	parameter Ignore_Abstract_States. Add new formal paramter
	Do_Abstract_States. Update the comment on usage.
	* sem_ch9.adb (Analyze_Single_Protected_Declaration): Do
	not initialize the constituent list as this is now done on a
	need-to-add-element basis.
	(Analyze_Single_Task_Declaration):
	Do not initialize the constituent list as this is now done on
	a need-to-add-element basis.
	* sem_ch10.adb (Decorate_State): Do not initialize the constituent
	lists as this is now done on a need-to-add-element basis.
	* sem_prag.adb (Analyze_Constituent): Set the
	refinement constituents when adding a new element.
	(Analyze_Part_Of_In_Decl_Part): Set the Part_Of constituents when
	adding a new element.
	(Analyze_Part_Of_Option): Set the Part_Of
	constituents when adding a new element.
	(Analyze_Pragma): Set the Part_Of constituents when adding a new
	element.
	(Check_Constituent_Usage (all versions)): Reimplemented.
	(Collect_Constituent): Set the refinement constituents when adding
	a new element.
	(Create_Abstract_State): Do not initialize the
	constituent lists as this is now done on a need-to-add-element basis.
	(Propagate_Part_Of): Set the Part_Of constituents when
	adding a new element.
	* sem_util.adb (Check_State_Refinements): New routine.
	(Has_Non_Null_Refinement): Reimplemented.
	(Has_Null_Refinement): Reimplemented.
	(Requires_State_Refinement): Removed.
	* sem_util.ads (Check_State_Refinements): New routine.
	(Requires_State_Refinement): Removed.

From-SVN: r235326
2016-04-21 11:46:18 +02:00
Hristian Kirtchev
c4dc212506 lib-writ.adb, [...]: Minor reformatting and code cleanup.
2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* lib-writ.adb, sem_ch6.adb: Minor reformatting and code cleanup.
	* sem.adb: Fix comment.

From-SVN: r235325
2016-04-21 11:41:45 +02:00
Arnaud Charlet
c42aba6bb3 [multiple changes]
2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Subtype_Declaration): A subtype
	declaration with no aspects, whose subtype_mark is a subtype
	with predicates, inherits the list of subprograms for the type.

2016-04-21  Arnaud Charlet  <charlet@adacore.com>

	* exp_aggr.adb (Has_Per_Object_Constraint): Refine previous
	change.

2016-04-21  Thomas Quinot  <quinot@adacore.com>

	* g-socket.adb (Raise_Host_Error): Include additional Name parameter.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* lib-writ.adb (Write_ALI): Do not record in ali file units
	that are present in the files table but not analyzed. These
	units are present because they appear in the context of units
	named in limited_with clauses, and the unit being compiled does
	not depend semantically on them.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Simplify code to
	create the procedure body for an function returning an array type,
	when generating C code. Reuse the subprogram body rather than
	creating a new one, both as an efficiency measure and because
	in an instance the body may contain global references that must
	be preserved.

From-SVN: r235324
2016-04-21 11:39:38 +02:00
Marc Glisse
2c2870a1b1 max(INT_MIN, x) -> x
2016-04-21  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* match.pd (min(int_max, x), max(int_min, x)): New transformations.

gcc/testsuite/
	* gcc.dg/tree-ssa/minmax-1.c: New testcase.

From-SVN: r235323
2016-04-21 09:32:32 +00:00
Hristian Kirtchev
bbe008b6e9 sem_ch3.adb, [...]: Minor reformatting.
2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb, exp_attr.adb, exp_ch6.adb, exp_aggr.adb: Minor
	reformatting.

From-SVN: r235322
2016-04-21 11:26:02 +02:00
Javier Miranda
35f4f23840 exp_aggr.adb (Component_Check): Extend the check that verifies that the aggregate has no function calls to...
2016-04-21  Javier Miranda  <miranda@adacore.com>

	* exp_aggr.adb (Component_Check): Extend
	the check that verifies that the aggregate has no function
	calls to handle transformations performed by the frontend.
	(Ultimate_Original_Expression): New subprogram.

From-SVN: r235321
2016-04-21 11:18:57 +02:00
Arnaud Charlet
a1ad79ed63 [multiple changes]
2016-04-21  Philippe Gil  <gil@adacore.com>

	* krunch.adb (Krunch): Fix krunching of i-java.

2016-04-21  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch8.adb (Evaluation_Required): Always return
	True when Modify_Tree_For_C.

From-SVN: r235320
2016-04-21 11:12:45 +02:00
Jan Hubicka
e6007a27bd ipa-inline.c (can_inline_edge_p): Pass caller info to ultiimate_alias_target.
* ipa-inline.c (can_inline_edge_p): Pass caller info to
	ultiimate_alias_target.
	(update_callee_keys): Likewise.
	(lookup_recursive_calls): Likewise.
	(speculation_useful_p): Likewise.

From-SVN: r235319
2016-04-21 09:08:08 +00:00
Jan Hubicka
a2b056a364 re PR c++/70018 (Possible issue around IPO and C++ comdats discovered as pure/const)
PR ipa/70018
	* cgraph.c (cgraph_set_nothrow_flag_1): Rename to ...
	(set_nothrow_flag_1): ... this; handle interposition correctly;
	recurse on aliases and thunks.
	(cgraph_node::set_nothrow_flag): New.
	* ipa-pure-const.c (ignore_edge_for_nothrow): Ignore calls to
	functions compiled with non-call exceptions that binds to current
	def.
	(propagate_nothrow): Be safe WRT interposition.
	* cgraph.h (set_nothrow_flag): Update prototype.

	* g++.dg/ipa/nothrow-1.C: New testcase.

From-SVN: r235318
2016-04-21 09:05:07 +00:00
Arnaud Charlet
9b7924dd17 [multiple changes]
2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gnatlink.adb (Gnatlink): Robustify detection of Windows target.
	* alloc.ads: Minor comment fixes.
	* einfo.ads: Fix typo.

2016-04-21  Arnaud Charlet  <charlet@adacore.com>

	* exp_aggr.adb (Component_Not_OK_For_Backend): Redo previous
	changes to handle all cases of components depending on the
	discriminant, not just string literals.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Subtype_Declaration): If the subtype
	declaration is the generated declaration for a generic actual,
	inherit predicates from the actual if it is a predicated subtype.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Rewrite_Function_Call_For_C): If the function is
	inherited and its result is controlling,  introduce a conversion
	on the actual for the corresponding procedure call, to avoid
	spurious type errors.

2016-04-21  Jerome Lambourg  <lambourg@adacore.com>

	* krunch.adb (Krunch): Fix krunching of i-vxworks.

From-SVN: r235317
2016-04-21 10:57:30 +02:00
Arnaud Charlet
d74716b313 [multiple changes]
2016-04-21  Gary Dismukes  <dismukes@adacore.com>

	* exp_aggr.adb: Minor reformatting and code cleanup.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Resolve_Name): Omit quantified expressions from
	resolution, because they introduce local names. Full resolution
	will take place when predicate function is constructed.

From-SVN: r235316
2016-04-21 10:54:25 +02:00
Jan Hubicka
f0305f3a5b tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also max_loop_iterations_int.
* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
	max_loop_iterations_int.
	(tree_unswitch_outer_loop): Likewise.

From-SVN: r235315
2016-04-21 08:52:41 +00:00
Arnaud Charlet
0ef5cd0ad8 exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous change to take into account Per_Object_Constraint field rather...
2016-04-21  Arnaud Charlet  <charlet@adacore.com>

	* exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous
	change to take into account Per_Object_Constraint field rather
	than special casing strings.
	* exp_ch6.adb: Fix typo in Replace_Returns.

From-SVN: r235314
2016-04-21 10:52:31 +02:00
Arnaud Charlet
2d6aa71558 [multiple changes]
2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch5.adb: Minor reformatting.

2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch2.adb (Expand_Current_Value): Make an appropriate
	character literal if the entity is of a character type.

2016-04-21  Arnaud Charlet  <charlet@adacore.com>

	* exp_aggr.adb (Backend_Processing_Possible): Return False
	when generating C and aggregate contains function calls.

2016-04-21  Tristan Gingold  <gingold@adacore.com>

	* krunch.adb (Krunch): Only partially krunch children of
	Interfaces that aren't known.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Make_Inline): Handle properly the instantiation
	of a generic subpprogram that carries an Inline aspect. Place
	inline info on the anonymous subprogram that is constructed in
	the wrapper package.
	(Analyze_Pragma, case Pure): Do not check placement if pragma
	appears within an instantiation, which can be nested at any level.
	* sem_ch12.adb (Analyze_Instance_And_Renamings): Do not copy Freeze
	node from anonymous subprogram to its visible renaming. The
	freeze node will be constructed if the subprogram carries
	delayed aspects.
	(Set_Global): Preserve dimension information if present (from
	code reading).

2016-04-21  Vasiliy Fofanov  <fofanov@adacore.com>

	* gnatlink.adb: Change wording of the warning message on
	problematic filenames to be more neutral. Add a new substring
	"patch" introduced on Windows 10.

From-SVN: r235313
2016-04-21 10:50:36 +02:00
Arnaud Charlet
08f52d9f84 [multiple changes]
2016-04-21  Philippe Gil  <gil@adacore.com>

	* tracebak.c (__gnat_backtrace): handle bad RIP values (win64 only)

2016-04-21  Javier Miranda  <miranda@adacore.com>

	* exp_aggr.adb (Component_Not_OK_For_Backend): Return true for string
	literals.

2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb (Has_Non_Null_Abstract_State): New routine.
	* einfo.ads New synthesized attribute
	Has_Non_Null_Abstract_State along with occurrences in entities.
	(Has_Non_Null_Abstract_State): New routine.
	* sem_ch7.adb (Unit_Requires_Body): Add local variable
	Requires_Body. A package declaring an abstract state requires
	a body only when the state is non-null and the package contains
	at least one other construct that requires completion in a body.
	* sem_util.adb (Mode_Is_Off): Removed.
	(Requires_State_Refinement): Remove an obsolete check. Code
	cleanup.

2016-04-21  Bob Duff  <duff@adacore.com>

	* sem_attr.adb (Analyze_Attribute): In processing
	the 'Old attribute, a warning is given for infinite recursion. Fix
	the code to not crash when the prefix of 'Old denotes a protected
	function.
	* sem_ch5.adb (Analyze_Iterator_Specification):
	Avoid calling Is_Dependent_Component_Of_Mutable_Object in cases
	where the parameter would not be an object.

2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_eval.adb (Compile_Time_Compare): Be prepared for an empty
	Etype or Underlying_Type of the operands.

2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>

	* atree.adb (Print_Statistics): Protect against overflows and
	print the memory consumption in bytes.
	* table.adb (Reallocate): Do the intermediate calculation of the new
	size using the Memory.size_t type.

From-SVN: r235312
2016-04-21 10:48:04 +02:00
Arnaud Charlet
b943a97113 [multiple changes]
2016-04-21  Gary Dismukes  <dismukes@adacore.com>

	* exp_attr.adb (Is_Inline_Floating_Point_Attribute): Suppress
	expansion of Attribute_Machine and Attribute_Model for AAMP.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb: Disable previous change for now.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Find_Selected_Component): If prefix has an
	access type and designated type is a limited view, introduce
	an explicit dereference before continuing the analysis, and
	set its type to the non-limited view of the designated type,
	if we are in context where it is available.

From-SVN: r235311
2016-04-21 10:30:19 +02:00
Arnaud Charlet
b1d8d2290f Minor reformatting.
From-SVN: r235310
2016-04-21 10:27:18 +02:00
Ed Schonberg
78bc7fe67e freeze.adb: Freeze profile in ASIS mode.
2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb: Freeze profile in ASIS mode.

From-SVN: r235309
2016-04-21 10:26:57 +02:00
Arnaud Charlet
6dc87f5f53 [multiple changes]
2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_aux.ads, sem_aux.adb (Has_Rep_Item): New variant.
	* sem_util.adb (Inherit_Rep_Item_Chain): Reimplemented.

2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb: Minor reformatting.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb: Minor comment update.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* freeze.ads, freeze.adb (Freeze_Entity, Freeze_Before): Add
	boolean parameter to determine whether freezing an overloadable
	entity freezes its profile as well. This is required by
	AI05-019. The call to Freeze_Profile within Freeze_Entity is
	conditioned by the value of this flag, whose default is True.
	* sem_attr.adb (Resolve_Attribute, case 'Access): The attribute
	reference freezes the prefix, but it the prefix is a subprogram
	it does not freeze its profile.

From-SVN: r235308
2016-04-21 10:25:21 +02:00
Arnaud Charlet
a14bbbb4a4 [multiple changes]
2016-04-21  Javier Miranda  <miranda@adacore.com>

	* exp_util.adb (Build_Procedure_Form): No action needed for
	subprogram renamings since the backend can generate the call
	using the renamed subprogram. This leaves the tree more clean
	to the backend.
	* exp_ch6.adb (Expand_Call): Extend previous patch for
	rewritten-for-c entities to handle subprogram renamings.
	(Rewrite_Function_Call_For_C): Handle subprogram renamings.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb: Code cleanup.

From-SVN: r235307
2016-04-21 10:23:05 +02:00
Ed Schonberg
17fd72cef4 sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is created for SPARK_To_C...
2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
	created for SPARK_To_C, the entity must remain invisible so it
	does not overload subsequent references to the original function.
	* exp_ch6.adb (Build_Procedure_Body_Form, Replace_Returns):
	Handle Extended_Return_Statements by replacing it with a block
	with assignments and a simple return statement.
	* exp_util.adb (Build_Procedure_Form): Make procedure entity
	invisible after analyzing declaration, to prevent improper
	overloading.

From-SVN: r235306
2016-04-21 10:21:47 +02:00
Javier Miranda
aeb98f1dcd sem_ch6.adb (Build_Subprogram_Declaration): Propagate the attribute Rewritten_For_C to the body since since the expander...
2016-04-21  Javier Miranda  <miranda@adacore.com>

	* sem_ch6.adb (Build_Subprogram_Declaration): Propagate the
	attribute Rewritten_For_C to the body since since the expander
	may generate calls using that entity.
	* exp_ch6.adb (Expand_Call): For internally generated
	calls ensure that they reference the entity of the spec
	of the called function.
	(Rewritten_For_C_Func_Id): New subprogram.
	(Rewritten_For_C_Proc_Id): New subprogram.
	(Rewrite_Function_Call_For_C): Invoke the new subprogram to
	ensure that we skip freezing entities.
	* exp_util.adb (Build_Procedure_Form): No action needed if the
	procedure was already built.

From-SVN: r235305
2016-04-21 10:20:59 +02:00
Arnaud Charlet
2cc7967fbe [multiple changes]
2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb, exp_util.adb, sem_ch13.adb, exp_unst.adb: Minor
	reformatting.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Denotes_Iterator): Use root type to determine
	whether the ultimate ancestor is the predefined iterator
	interface pakage.
	* exp_ch5.adb (Expand_Iterator_Over_Container): simplify code
	and avoid reuse of Pack local variable.

2016-04-21  Olivier Hainque  <hainque@adacore.com>

	* system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
	system-vxworks-ppc.ads, system-vxworks-m68k.ads,
	system-vxworks-mips.ads, system-vxworks-x86.ads: Define
	Executable_Extension to ".out".

From-SVN: r235304
2016-04-21 10:19:35 +02:00
Javier Miranda
29a56f611a frontend.adb: Update call to Unnest_Subprograms.
2016-04-21  Javier Miranda  <miranda@adacore.com>

	* frontend.adb: Update call to Unnest_Subprograms.
	* exp_ch6.ads, exp_ch6.adb, exp_unst.ads, exp_unst.adb
	(Unnest_Subprograms): Moved to package exp_unst.
	* exp_unst.ads (Unnest_Subprogram): Moved to the body of the
	package.
	* exp_dbug.adb (Qualify_Entity_Name): Enable qualification of
	enumeration literals when generating C code.

From-SVN: r235303
2016-04-21 10:14:08 +02:00
Arnaud Charlet
e379beb56f [multiple changes]
2016-04-21  Javier Miranda  <miranda@adacore.com>

	* frontend.adb: Remove call to initialize Exp_Ch6.
	* exp_ch6.ads, exp_ch6.adb (Initialize): removed.
	(Unest_Entry/Unest_Bodies): Removed.
	(Unnest_Subprograms): Code cleanup.

2016-04-21  Arnaud Charlet  <charlet@adacore.com>

	* set_targ.adb (Read_Target_Dependent_Values):
	close target description file once its contents is read.
	* s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File
	and Stderr_File): Close local file descriptors before spawning
	child process.
	* exp_util.adb (Containing_Package_With_Ext_Axioms): Limit scope of
	local variables to make the code easier to understand and avoid
	duplicated calls to Parent and Generic_Parent.

From-SVN: r235302
2016-04-21 10:11:46 +02:00
GCC Administrator
2e9bd65737 Daily bump.
From-SVN: r235301
2016-04-21 00:16:29 +00:00
Nathan Sidwell
ee392fc292 re PR c++/55635 (Deallocation function ("operator delete") not called when destructor throws exception)
cp/
	PR c++/55635
	* init.c (build_vec_delete_1): Protect operator delete call in try
	finally.
	(build_delete): Likewise.
	* optimize.c (build_delete_destructor_body): Likewise.

	testsuite/
	PR c++/55635
	* g++.dg/eh/delete1.C: New.

From-SVN: r235297
2016-04-20 19:59:56 +00:00
H.J. Lu
dda49daffd Add -mtune-ctrl=sse_typeless_stores to avx256-unaligned-store-2.c
Since avx256-unaligned-store-2.c scans typeless SSE stores, add
-mtune-ctrl=sse_typeless_stores to enable typeless SSE stores.

	* gcc.target/i386/avx256-unaligned-store-2.c: Add
	-mtune-ctrl=sse_typeless_stores.

From-SVN: r235296
2016-04-20 12:45:49 -07:00
H.J. Lu
8a5b9d5a99 Update load scan avx256-unaligned-load-1.c
Since avx_loadups256 and sse_loadups have been replaced by movv8sf_internal
and movv4sf_internal, respectively, we need to scan movv8sf_internal and
movv4sf_internal for load.

	* gcc.target/i386/avx256-unaligned-load-1.c: Update load scan.

From-SVN: r235295
2016-04-20 12:44:52 -07:00
Jonathan Wakely
a1e1ec7605 Fix std::codecvt_utf8* for big-endian targets
PR libstdc++/69703
	* src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
	__codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.

From-SVN: r235293
2016-04-20 18:40:02 +01:00