1. 21 Apr, 2016 40 commits
    • * sv.po: Update. · 617d8e43
      From-SVN: r235349
      Joseph Myers committed
    • re PR c++/70540 (ICE on invalid code in cxx_incomplete_type_diagnostic, at cp/typeck2.c:569) · 20700098
      /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
      Paolo Carlini committed
    • re PR c++/70513 (ICE on invalid C++ code on x86_64-linux-gnu: Segmentation fault) · aedf4e12
      	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
      Marek Polacek committed
    • AVX-512. PR target/70728. Use separate constraint for AVX-512BW · 2074d80a
      
      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
      Kirill Yukhin committed
    • Regenerate .pot files. · 0ba94d02
      gcc/po:
      	* gcc.pot: Regenerate.
      
      libcpp/po:
      	* cpplib.pot: Regenerate.
      
      From-SVN: r235342
      Joseph Myers committed
    • re PR tree-optimization/70725 (Internal compiler error (ICE) on valid code) · 49f428c9
      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
      Richard Biener committed
    • libgomp nvptx plugin: make cuMemFreeHost error non-fatal · c2bd3b69
      From-SVN: r235339
      Alexander Monakov committed
    • Cherry-pick r266868 from upstream. · fefddbef
      	PR sanitizer/70624                                                                                                             
      	* asan/asan_mac.cc: Cherry pick upstream r266868.
      
      From-SVN: r235338
      Maxim Ostapenko committed
    • re PR middle-end/70747 (ICE on valid code on x86_64-linux-gnu: verify_gimple failed) · aef4aab0
      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
      Richard Biener committed
    • re PR tree-optimization/70715 (SCEV failed to prove no-overflow-ness information unsigned loop IV) · 2359e571
      	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
      Bin Cheng committed
    • min(-x, -y), min(~x, ~y) · ce0e66ff
      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
      Marc Glisse committed
    • [multiple changes] · 6c7f7b8c
      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
      Arnaud Charlet committed
    • [multiple changes] · 0310af44
      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
      Arnaud Charlet committed
    • a-tasatt.adb, [...] (Fast_Path): Rewritten to avoid reading potentially uninitialized memory. · 150346bd
      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
      Arnaud Charlet committed
    • gnat_rm.texi, [...]: Update doc. · c25f170d
              * 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
      Arnaud Charlet committed
    • [multiple changes] · f76647c2
      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
      Arnaud Charlet committed
    • [multiple changes] · 22a4f9d5
      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
      Arnaud Charlet committed
    • lib-writ.adb, [...]: Minor reformatting and code cleanup. · c4dc2125
      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
      Hristian Kirtchev committed
    • [multiple changes] · c42aba6b
      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
      Arnaud Charlet committed
    • max(INT_MIN, x) -> x · 2c2870a1
      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
      Marc Glisse committed
    • sem_ch3.adb, [...]: Minor reformatting. · bbe008b6
      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
      Hristian Kirtchev committed
    • exp_aggr.adb (Component_Check): Extend the check that verifies that the… · 35f4f238
      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
      Javier Miranda committed
    • [multiple changes] · a1ad79ed
      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
      Arnaud Charlet committed
    • ipa-inline.c (can_inline_edge_p): Pass caller info to ultiimate_alias_target. · e6007a27
      
      	* 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
      Jan Hubicka committed
    • re PR c++/70018 (Possible issue around IPO and C++ comdats discovered as pure/const) · a2b056a3
      
      	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
      Jan Hubicka committed
    • [multiple changes] · 9b7924dd
      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
      Arnaud Charlet committed
    • [multiple changes] · d74716b3
      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
      Arnaud Charlet committed
    • tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also max_loop_iterations_int. · f0305f3a
      	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
      	max_loop_iterations_int.
      	(tree_unswitch_outer_loop): Likewise.
      
      From-SVN: r235315
      Jan Hubicka committed
    • exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous change to take into… · 0ef5cd0a
      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
      Arnaud Charlet committed
    • [multiple changes] · 2d6aa715
      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
      Arnaud Charlet committed
    • [multiple changes] · 08f52d9f
      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
      Arnaud Charlet committed
    • [multiple changes] · b943a971
      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
      Arnaud Charlet committed
    • Minor reformatting. · b1d8d229
      From-SVN: r235310
      Arnaud Charlet committed
    • freeze.adb: Freeze profile in ASIS mode. · 78bc7fe6
      2016-04-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb: Freeze profile in ASIS mode.
      
      From-SVN: r235309
      Ed Schonberg committed
    • [multiple changes] · 6dc87f5f
      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
      Arnaud Charlet committed
    • [multiple changes] · a14bbbb4
      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
      Arnaud Charlet committed
    • sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is created for SPARK_To_C... · 17fd72ce
      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
      Ed Schonberg committed
    • sem_ch6.adb (Build_Subprogram_Declaration): Propagate the attribute… · aeb98f1d
      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
      Javier Miranda committed
    • [multiple changes] · 2cc7967f
      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
      Arnaud Charlet committed
    • frontend.adb: Update call to Unnest_Subprograms. · 29a56f61
      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
      Javier Miranda committed