1. 29 Jul, 2014 40 commits
    • [multiple changes] · b8e6830b
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb: Invert
      	predicate No_Predicate_Test_On_Arguments, new name is
      	Predicate_Tests_On_Arguments (with the opposite sense).
      
      2014-07-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_attr.adb (Resolve_Attribute): Clean up the code for
      	attribute 'Access. Do not generate an elaboration flag for a
      	stand alone expression function. The expression of an expression
      	function is now frozen when the expression function appears as
      	the prefix of attribute 'Access.
      	* sem_ch6.adb (Analyze_Expression_Function): Remove local
      	variable New_Decl and update all references to it after the
      	rewriting has taken place. Establish the linkages between the
      	generated spec and body.
      
      From-SVN: r213212
      Arnaud Charlet committed
    • [multiple changes] · 094cf333
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb (ip, rv): Prevent from being optimized away.
      	* gnatls.adb (gnatls): Set E_Fatal exit status if ali file not found.
      	* s-imgllb.adb, s-imgllw.adb, s-imgwiu.adb, s-imgbiu.adb: Minor
      	reformatting.
      
      2014-07-29  Vincent Celier  <celier@adacore.com>
      
      	* prj-pp.adb: Minor comment update.
      	* frontend.adb: If a target dependency info file has been read
      	through switch -gnateT= add it to the dependencies of the source
      	being compiled.
      
      From-SVN: r213211
      Arnaud Charlet committed
    • [multiple changes] · 38564f81
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb, prj.adb: Minor reformatting.
      
      2014-07-29  Vincent Celier  <celier@adacore.com>
      
      	* prj-pp.adb (Pretty_Print.Output_Project_File): New
      	procedure to output project file names between quotes without
      	concatenation, even if the line is too long.
      	(Pretty_Print): Use Output_Project_File for project being extended and
      	project imported.
      
      From-SVN: r213210
      Arnaud Charlet committed
    • [multiple changes] · 5f6fb720
      2014-07-29  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Document that configuration pragmas files are
      	added to the dependencies, unless they contain only pragmas
      	Source_File_Name_Project.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* frontend.adb: Minor reformatting.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch6.adb (Add_Call_By_Copy_Code): Minor reformatting
      	(Expand_Actuals): Make sure predicate checks are properly applied
      	for the case of OUT or IN OUT parameters.
      	* sem_res.adb: Minor reformatting (Resolve_Actuals): Skip
      	predicate tests on arguments for Finalize
      	* sem_util.adb (No_Predicate_Test_On_Arguments): Returns True
      	if predicate tests on subprogram arguments should be skipped.
      	* sem_util.ads (No_Predicate_Test_On_Arguments): New function
      
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Analyze_Object_Declaration): If there is an address
      	clause for the object and the expression is an aggregate, defer
      	resolution and expansion of the aggregate until the freeze point
      	of the entity.
      	* sem_aggr.adb (Resolve_Aggregate): An others_clause is legal if
      	the parent node is an N_Reference generated during expansion.
      
      2014-07-29  Vincent Celier  <celier@adacore.com>
      
      	* prj.adb (Add_To_Buffer): Effectively double the size of the buffer.
      
      From-SVN: r213209
      Arnaud Charlet committed
    • frontend.adb, [...]: Minor reformatting and code clean up. · fc27e20e
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* frontend.adb, inline.adb, sem_util.adb, sem_res.adb,
      	prepcomp.ads: Minor reformatting and code clean up.
      	* exp_ch6.adb (Expand_Actuals): Generate predicate test
      	unconditionally for case of OUT or IN OUT actual (before this
      	was generated only for certain subcases, which is wrong, the
      	test is always needed).
      
      From-SVN: r213208
      Robert Dewar committed
    • PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...> · 1c4ff014
      2014-07-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
      
      	PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
      	* include/bits/random.h (_Adaptor): static_assert for non floating-point
      	result type.
      	* include/bits/random.tcc (generate_canonical): Ditto.
      	* include/ext/random.tcc (hypergeometric_distribution::operator()):
      	Use double as a rng result type.
      	* testsuite/26_numerics/random/pr60037-neg.cc: New.
      	* testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
      
      From-SVN: r213207
      Ed Smith-Rowland committed
    • sem_ch3.adb: Move Has_Defaulted_Discriminants to sem_util. · f3691f46
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb: Move Has_Defaulted_Discriminants to sem_util.
      	* sem_ch4.adb (Analyze_Allocator): Defer resolution of expression
      	until context type is available.
      	* sem_res.adb (Resolve_Allocator): In the case of a qualified
      	expression, complete resolution of expression.
      	(Check_Aliased_Parameter): New procedure within Resolve_Actuals,
      	to apply Ada2012 checks on aliased formals, as well as
      	accesibility checks when the context of the call is an allocator
      	or a qualified expression.
      	* sem_util.ads, sem_util.adb (Has_Defaulted_Discriminants):
      	Moved here from sem_ch3.
      	(Object_Access_Level): Handle properly aliased formals and
      	aggregates.
      	* exp_ch6.adb (Expand_Call): Remove check on aliased parameters,
      	now properly performed in sem_res (Resolve_Actuals,
      	Check_Aliased_Parameter).
      
      From-SVN: r213206
      Ed Schonberg committed
    • 2014-07-29 Yannick Moy <moy@adacore.com> · 2d180af1
      	* debug.adb Enable GNATprove inlining under debug flag -gnatdQ for now.
      	* inline.ads, inline.adb (Can_Be_Inlined_In_GNATprove_Mode): New
      	function to decide when a subprogram can be inlined in GNATprove mode.
      	(Check_And_Build_Body_To_Inline): Include GNATprove_Mode as a
      	condition for possible inlining.
      	* sem_ch10.adb (Analyze_Compilation_Unit): Remove special case
      	for Inline_Always in GNATprove mode.
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build inlined
      	body for subprograms in GNATprove mode, under debug flag -gnatdQ.
      	* sem_prag.adb Minor change in comments.
      	* sem_res.adb (Resolve_Call): Only perform GNATprove inlining
      	inside subprograms marked as SPARK_Mode On.
      	* sinfo.ads: Minor typo fix.
      
      From-SVN: r213205
      Yannick Moy committed
    • [multiple changes] · 5ae24312
      2014-07-29  Vincent Celier  <celier@adacore.com>
      
      	* frontend.adb: Add dependency on gnat.adc when taken into account
      	and on non-temporary configuration pragmas files specified in
      	switches -gnatec.
      	* prepcomp.ads, prepcomp.adb (Add_Dependency): New procedure to add
      	dependencies on configuration pragmas files.
      
      2014-07-29  Pat Rogers  <rogers@adacore.com>
      
      	* gnat_ugn.texi: Minor clarification to the explanation for the
      	GNATtest -v switch.
      
      From-SVN: r213204
      Arnaud Charlet committed
    • types.ads (Mechanism_Type): Change range back to -18 .. · 3c04da40
      	* types.ads (Mechanism_Type): Change range back to -18 .. Int'Last with 
      	documentation that explains the need for this extended range            
      	(use by C_Pass_By_Copy).
      
      From-SVN: r213203
      Robert Dewar committed
    • Remove duplicate entry. · 32ccbc2a
      From-SVN: r213202
      Arnaud Charlet committed
    • [multiple changes] · 09176aea
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi, sem_prag.adb: Minor reformatting.
      
      2014-07-29  Sergey Rybin  <rybin@adacore.com frybin>
      
      	* gnat_ugn.texi: gnatmetric: clarify documentation for cyclomatic
      	complexity metrics.
      
      2014-07-29  Thomas Quinot  <quinot@adacore.com>
      
      	PR ada/60652
      	* s-oscons-tmplt.c: For Linux, define _BSD_SOURCE in order for
      	CRTSCTS to be visible.
      
      2014-07-29  Bob Duff  <duff@adacore.com>
      
      	* g-trasym.adb, g-trasym.ads: Code cleanup.
      
      From-SVN: r213201
      Arnaud Charlet committed
    • sigtramp-vxworks.c: Minor reformatting. · 1b4ada8f
      
      2014-07-29  Doug Rupp  <rupp@adacore.com>
      
      	* sigtramp-vxworks.c: Minor reformatting.
      
      From-SVN: r213200
      Doug Rupp committed
    • [multiple changes] · 155562cb
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* gnat_rm.texi: No doc needed for Ada2012 aspect
      	Implicit_dereference.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_attr.adb (Attribute_12): New array
      	(Analyze_Attribute): Check impl-defined Ada 2012 attributes.
      	(Check_Ada_2012_Attribute): Removed.
      
      2014-07-29  Doug Rupp  <rupp@adacore.com>
      
      	* init.c (vxworks6): Call sigtramp for RTP (as well as DKM) for ARM,
      	PPC, and e500.
      	* sigtramp-vxworks.c: New file.
      	* sigtramp-armvxw.c, sigtramp-ppcvxw.c: removed files.
      
      From-SVN: r213199
      Arnaud Charlet committed
    • lib-xref.adb (Output_Refs, [...]): For a derived array type... · ad8bd3f4
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* lib-xref.adb (Output_Refs, Check_Type_Reference): For a
      	derived array type, add information about component type, which
      	was previously missing in ali file.
      	* gnat_rm.texi: Add documentation for Atomic_Always_Lock_Free.
      
      From-SVN: r213198
      Ed Schonberg committed
    • [multiple changes] · 422e02cf
      2014-07-29  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch3.adb (Constrain_Corresponding_Record): For the case
      	of the subtype created for a record component, do not mark
      	the subtype as frozen. For one thing, this is anomalous (in
      	particular, the base type might not itself be frozen yet);
      	furthermore, proper freezing of the subtype must happen in any
      	case. So, we just mark the subtype as requiring delayed freezing
      	(and we'll actually freeze it when generating the init_proc of
      	the enclosing record).
      	Also change the name of the constrained record subtype (append a
      	'C' so that it is clearly different from the unconstrained record
      	type, "related_idV") to make debugging easier.
      	(Process_Full_View): When creating a full subtype for a pending
      	private subtype, re-establish the scope of the private subtype
      	so that we get proper visibility on outer discriminants.
      	* exp_ch3.adb (Build_Init_Statements): Freeze any component
      	subtype that is not frozen yet.
      
      2014-07-29  Vincent Celier  <celier@adacore.com>
      
      	* prj-proc.adb (Recursive_Process): Always initialize the
      	environment when the project is an aggregate project, even when
      	it is not the root tree.
      
      From-SVN: r213197
      Arnaud Charlet committed
    • exp_ch5.adb, [...]: Minor comment additions. · 0677a1c7
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch5.adb, exp_ch9.adb: Minor comment additions.
      	* gnat_rm.texi: Complete list of implementation aspects.
      	* aspects.ads: Minor comment clarification.
      
      From-SVN: r213196
      Robert Dewar committed
    • [multiple changes] · a2cc9797
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_N_Assignment_Statement): If the target type
      	is a null-excluding access type, do not generate a constraint
      	check if Suppress_Assignment_Checks is set on assignment node.
      	* exp_ch9.adb (Build_Simple_Entry_Call): If actual is an out
      	parameter of a null-excluding access type, there is access check
      	on entry, so set Suppress_Assignment_Checks on generated statement
      	that assigns actual to parameter block.
      	* sinfo.ads: Document additional use of Suppress_Assignment_Checks.
      
      2014-07-29  Javier Miranda  <miranda@adacore.com>
      
      	* types.ads (Kind): Renamed as Rkind to avoid crashing ASIS.
      	* exp_ch11.adb, tbuild.adb Update references to Types.Kind
      
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch3.adb (P_Type_Declaration): Create end label for
      	limited record declaration, previously omitted.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Complete list of implementation pragmas Add
      	dummy sections for impl pragmas needing documentation.
      
      From-SVN: r213195
      Arnaud Charlet committed
    • [multiple changes] · effdbb7d
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Change theta to @ in documentation of aspect
      	Dimension_System.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_attr.adb (Uneval_Old_Msg): Flags Uneval_Old_Accept/Warn
      	are now on pragma.
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Remove setting
      	of Uneval_Old_*
      	* sem_prag.adb (Analyze_Pragma): Set Uneval_Old_* flags
      	* sinfo.ads, sinfo.adb: Move Uneval_Old_Accept/Warn to N_Pragma node.
      
      2014-07-29  Javier Miranda  <miranda@adacore.com>
      
      	* types.ads Update documentation on how to add new reason codes
      	for exceptions.
      	(RT_Exception_Code): Keep values ordered by their
      	reason code.  Required by the .NET backend.
      	(RT_CE_Exceptions): Subtype declaration removed.
      	(RT_PE_Exceptions): Subtype declaration removed.
      	(RT_SE_Exceptions): Subtype declaration removed.
      	(Kind): New mapping table of RT_Exception_Codes.
      	* exp_ch11.adb (Get_RT_Exception_Entity): Updated to use the
      	new mapping table.
      	* tbuild.adb (Make_Raise_Storage_Error): Updated to use the new
      	mapping table.	(Make_Raise_Program_Error): Updated to use the
      	new mapping table.
      	(Make_Raise_Storage_Error): Updated to use the new mapping table.
      	* a-except.adb Keep Rcheck_CE_xxx entities ordered according to
      	their reason code.
      
      From-SVN: r213194
      Arnaud Charlet committed
    • [multiple changes] · 09d67391
      2014-07-29  Thomas Quinot  <quinot@adacore.com>
      
      	* gnat_rm.texi: Document internal attributes used for PolyORB/DSA
      	distributed stubs generation.
      	* exp_ch3.adb: Minor reformatting.
      
      2014-07-29  Yannick Moy  <moy@adacore.com>
      
      	* sinfo.ads: Document constraint between frontend and GNATprove.
      
      From-SVN: r213193
      Arnaud Charlet committed
    • a-except.adb: Minor comment clarification. · c93af807
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* a-except.adb: Minor comment clarification.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Complete list of implementation attributes.
      	* snames.ads-tmpl: Clean up list of impl-defined attributes.
      
      From-SVN: r213192
      Robert Dewar committed
    • [multiple changes] · f9e333ab
      2014-07-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* freeze.adb (Freeze_Record_Type): Perform various
      	volatility-related checks.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb, sem_eval.adb: Minor reformatting.
      
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb: sem_attr.adb (Access_Attribute): Handle properly
      	the case where the attribute reference appears in a nested scope
      	from that of the subprogram prefix.
      	* sem_attr.adb: Minor reformatting.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_ugn.texi: Clarify documentation of Initialize_Scalar
      	initialization options.
      
      From-SVN: r213191
      Arnaud Charlet committed
    • [multiple changes] · 87e69720
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* sinfo.ads: Minor comment addition.
      
      2014-07-29  Bob Duff  <duff@adacore.com>
      
      	* sem_eval.adb, sem_ch13.adb: Minor reformatting.
      
      From-SVN: r213190
      Arnaud Charlet committed
    • [multiple changes] · 113a9fb6
      2014-07-29  Doug Rupp  <rupp@adacore.com>
      
      	* init.c: Complete previous change.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb (Expand_N_If_Expression): Deal with unconstrained
      	array case.
      
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb (Access_Attribute): If the prefix is a subprogram
      	and the completion will appear in the same declarative part,
      	create elaboration flag.
      	* exp_util.adb (Set_Elaboration_Flag): If the subprogram body
      	is a completion of a declaration in the same declarative part,
      	and the subprogram has had its address taken, add elaboration
      	check inside the subprogram body, to detect elaboration errors
      	that may occur through indirect calls.
      
      From-SVN: r213189
      Arnaud Charlet committed
    • libgcov.h: Move renaming of entry points to lib gcov specific portion. · 19926161
      	libgcc/
      	* libgcov.h: Move renaming of entry points to lib gcov specific
      	portion.
      	(gcov_do_dump): New rename.
      	(gcov_rewrite): Remove inline, make HIDDEN.
      	* libgcov-driver.c (gcov_clear, gcov_exit): Remove declarations.
      	(gcov_exit_compute_summary): Rename to ...
      	(compute_summary): ... here.  Add LIST argument.
      	(gcov_exit_merge_gcda): Rename to ...
      	(merge_one_data): ... here.
      	(gcov_exit_write_gcda): Rename to ...
      	(write_one_data): ... here.
      	(gcov_exit_merge_summary): Rename to ...
      	(merge_summary): Add RUN_COUNTED argument.
      	(gcov_exit_dump_gcov): Rename to ...
      	(dump_one_gcov): Add RUN_COUNTED argument.
      	(gcov_do_dump): New function, broken out of ...
      	(gcov_exit): ... here.  Call it.
      
      	gcc/
      	* gcov-io.c (gcov_var): Make hidden.
      	* gcov-tool.c (gcov_list, gcov_exit): Remove declarations.
      	(gcov_do_dump): Declare.
      	(gcov_output_files): Call gcov_do_dump, not gcov_exit).
      
      From-SVN: r213188
      Nathan Sidwell committed
    • [multiple changes] · 3808a9c7
      2014-07-29  Doug Rupp  <rupp@adacore.com>
      
      	* sigtramp-armvxw.c: Enhance to handle RTP trampolining.
      	* init.c: Remove guard on sigtramp for ARM VxWorks RTP.
      
      2014-07-29  Vincent Celier  <celier@adacore.com>
      
      	* switch-c.adb (Scan_Front_End_Switches): Do not fail when two
      	runtime directorie specified with two switches --RTS= designate
      	the same directory, even when there are no literarily the same.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_ugn.texi: Minor documentation clarification.
      	* switch-c.adb: Minor reformatting.
      
      From-SVN: r213187
      Arnaud Charlet committed
    • [multiple changes] · 24d14b91
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
      	Fix incorrect RTE call which caused bomb if pragma was in
      	configuration pragma file.
      
      2014-07-29  Jerome Lambourg  <lambourg@adacore.com>
      
      	* expect.c (__gnat_expect_poll): Fix typo in previous change.
      	* g-expect.adb: Update comments.
      
      2014-07-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-parame-hpux.ads, s-parame-vms-ia64.ads, s-parame.ads
      	(Default_Attribute_Count): Bump to 16 on native platforms.
      
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb: Add guard to front-end inlining for SPARK.
      
      From-SVN: r213185
      Arnaud Charlet committed
    • sem_ch10.adb, [...]: Minor reformatting. · b94b6c56
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch10.adb, debug.adb, sem_prag.adb, sem_res.adb, sem_ch6.adb:
      	Minor reformatting.
      
      From-SVN: r213183
      Robert Dewar committed
    • sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build body to inline in GNATprove… · ecad37f3
      sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build body to inline in GNATprove mode when subprogran is marked Inline_Always.
      
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build body to
      	inline in GNATprove mode when subprogran is marked Inline_Always.
      	* sem_res.adb (Resolve_Call): Expand call in place in GNATProve
      	mode if body to inline is available.
      	* sem_prag.adb (Analyze_Pragma, case Inline_Always): Make pragma
      	effective in GNATprove mode.
      	* sem_ch10.adb (Analyze_Compilation_Unit): Call
      	Check_Package_Body_For_Inlining in GNATprove mode, so that body
      	containing subprograms with Inline_Always can be available before
      	calls to them.
      
      From-SVN: r213182
      Ed Schonberg committed
    • [multiple changes] · 1773d80b
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* inline.ads, inline.adb, sem_ch10.adb: Rename Check_Body_For_Inlining
      	to Check_Package_Body_For_Inlining, to prevent confusion with other
      	inlining subprograms.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* opt.ads: Minor comment update.
      	* sem_attr.adb (Uneval_Old_Msg): Deal with case of aspect, where
      	we want setting of Uneval_Old at time of encountering the aspect.
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Capture setting
      	of Opt.Uneval_Old.
      	* sinfo.adb (Uneval_Old_Accept): New function (Uneval_Old_Warn):
      	New function (Set_Uneval_Old_Accept): New procedure.
      	(Set_Uneval_Old_Warn): New procedure.
      	* sinfo.ads: Uneval_Old_Accept: New flag Uneval_Old_Warn: New flag.
      
      From-SVN: r213181
      Arnaud Charlet committed
    • [multiple changes] · 3f80a182
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* sinfo.ads, inline.adb, inline.ads, sem_ch6.adb: Minor reformatting.
      	* snames.ads-tmpl: Minor reformatting.
      	* xsnamest.adb (XSnamesT): Remove special casing of Name_Error
      	to give <Error>.  Not clear why this was there, but the compiler
      	sources do not reference Name_Error, and this interfered with
      	the circuits for pragma Unevaluated_Use_Of_Old.
      
      2014-07-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Process_Atomic_Shared_Volatile): Allow volatile
      	types in SPARK 2014 (again).
      	* sem_res.adb (Is_OK_Volatile_Context): New routine.
      	(Resolve_Entity_Name): Ensure that a volatile object with
      	enabled properties Async_Writers or Effectire_Reads appears in
      	a non-interfering context.
      
      From-SVN: r213180
      Arnaud Charlet committed
    • sem_ch6.adb: Move Build_Body_To_Inline... · 540d8610
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb: Move Build_Body_To_Inline,
      	Check_And_Buid_Body_To_Inline, and Cannot_Inline to package Inline.
      	* exp_ch6.adb: Mode Expand_Inlined_Body to package Inline.
      	* inline.ads, inline.adb: Package now contains subprograms that
      	implement front-end inlining.  No functional changes, no test
      	needed.
      
      From-SVN: r213179
      Ed Schonberg committed
    • [multiple changes] · b973629e
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_dbug.adb, g-expect.adb, sem_elab.adb: Minor typo fix.
      
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Return_Type): Reject a return type that
      	is a limited view when the context is a package body, because
      	there is no subsequent place at which the non-limited view may
      	become visible.
      	(Process_Formals): Ditto.
      	* sinfo.ads, par-ch3.adb: Minor reformatting.
      
      From-SVN: r213178
      Arnaud Charlet committed
    • [multiple changes] · a7737c19
      2014-07-29  Jerome Lambourg  <lambourg@adacore.com>
      
      	* expect.c (__gnat_expect_poll): New parameter dead_process
      	used to return the dead process among the array of file
      	descriptors. The Windows, VMS and HPUX implementations now
      	properly report the dead process via this parameter. Other unixes
      	don't need it.
      	* g-expect.adb (Poll): Adapt to the C profile.
      	(Expect_Internal): Use the new parameter to properly close the
      	File Descriptor.  This then can be properly reported by the
      	function First_Dead_Process as is expected.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_ugn.texi: Minor clarification of -gnatQ switch.
      
      From-SVN: r213177
      Arnaud Charlet committed
    • [multiple changes] · ab01e614
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.adb (Derived_Type_Link): New function
      	(Set_Derived_Type_Link): New procedure.
      	(Write_Field31_Name): Output Derived_Type_Link.
      	* einfo.ads: New field Derived_Type_Link.
      	* exp_ch6.adb (Expand_Call): Warn if change of representation
      	needed on call.
      	* sem_ch13.adb: Minor addition of ??? comment.
      	(Rep_Item_Too_Late): Warn on case that is legal but could cause an
      	expensive implicit conversion.
      	* sem_ch3.adb (Build_Derived_Type): Set Derived_Type_Link if needed.
      
      2014-07-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch3.adb (Build_Init_Procedure): Renamed Local_DF_Id
      	to DF_Id. Add new local variable DF_Call. Do not perform any
      	elaboration-related checks on the call to the partial finalization
      	routine within an init proc to avoid generating bogus elaboration
      	warnings on expansion-related code.
      	* sem_elab.adb (Check_A_Call): Move constant Access_Case to
      	the top level of the routine.  Ensure that Output_Calls takes
      	into account flags -gnatel and -gnatwl when emitting warnings
      	or info messages.
      	(Check_Internal_Call_Continue): Update the call to Output_Calls.
      	(Elab_Warning): Moved to the top level of routine Check_A_Call.
      	(Emit): New routines.
      	(Output_Calls): Add new formal parameter Check_Elab_Flag along with a
      	comment on usage. Output all warnings or info messages only when the
      	caller context demands it and the proper elaboration flag is set.
      
      2014-07-29  Yannick Moy  <moy@adacore.com>
      
      	* sem_attr.adb (Analyze_Attribute/Attribute_Old):
      	Check rule about Old appearing in potentially unevaluated
      	expression everywhere, not only in Post.
      
      2014-07-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_prag.adb: Update comment.
      	* a-except.adb, a-except-2005.adb: Minor editing.
      
      2014-07-29  Pierre-Marie Derodat  <derodat@adacore.com>
      
      	* exp_dbug.adb (Debug_Renaming_Declaration):
      	Do not create renaming entities for renamings of non-packed
      	objects and for exceptions.
      
      From-SVN: r213175
      Arnaud Charlet committed
    • sem_ch3.adb, [...]: Minor reformatting. · a8b346d2
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb, sinfo.ads, types.ads, sem_prag.adb, a-except-2005.adb,
      	sem_ch6.adb, par-ch3.adb: Minor reformatting.
      
      From-SVN: r213174
      Robert Dewar committed
    • [multiple changes] · 84c0a895
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Check_Return_Subtype_Indication): Reject a return
      	subtype indication in an extended return statement when the
      	return value is an ancestor of the return type of the function,
      	and that return type is a null record extension.
      
      2014-07-29  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch13.adb (Rep_Item_Too_Late): Specialize/clarify error
      	message produced for the case of a type-related representation
      	item that is made illegal by 13.10(1).
      	* gnat_rm.texi (Scalar_Storage_Order): Minor change in
      	documentation.
      
      From-SVN: r213173
      Arnaud Charlet committed
    • [multiple changes] · 7a2c2277
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_ugn.texi: Add section on Wide_Wide_Character encodings.
      	* erroutc.adb (Output_Error_Msgs): Take wide characters into
      	account in computing position of error flags.
      	* sinput.adb (Get_Column_Number): Take wide characters into
      	account.
      
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch3.adb (P_Access_Type_Definition): The subtype indication
      	in an access type definition can carry a null_exclusion indicator.
      	* sem_ch3.adb (Access_Type_Declaration): If the subtype indication
      	carries a null_exclusion indicator, verify that the subtype
      	indication denotes an access type, and create a null-excluding
      	subtype for it.
      	* sinfo.ads, sinfo.adb: New attribute Null_Excluding_Subtype,
      	defined on N_Access_To_Object_Definition to indicate that the
      	subtype indication carries a null_exclusion indicator.
      
      2014-07-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch6.adb (Add_Extra_Actual): Do not construct
      	the extra actual by name, generate a reference instead.
      
      2014-07-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma): Do not crash analyzing
      	Allow_Integer_Address if already set.
      	* a-except-2005.adb (Rcheck_PE_Stream_Operation_Not_Allowed):
      	Fix order, for consistency with Rmsg_xx declarations.
      
      From-SVN: r213172
      Arnaud Charlet committed
    • [multiple changes] · 28e18b4f
      2014-07-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Complete_Object_Operation): If the type of the
      	candidate subprogram is a limited view, use non-limited view
      	when available.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch13.adb: Minor change in RM reference.
      	* sem_mech.ads: Minor reformatting.
      	* einfo.ads: Minor comment fix.
      	* types.ads: Minor correction to range given for Mechanism_Type.
      	* exp_ch6.adb (Add_Invariant_And_Predicate_Checks): Do not
      	check predicate on way out for OUT or IN OUT parameters.
      	* par-ch3.adb (P_Constraint_Opt): Handle missing RANGE keyword
      	better (P_Range_Constraint): Corresponding fix.
      	* checks.ads: Minor comment clarification.
      
      2014-07-29  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch8.adb (Analyze_Object_Renaming): Set the Is_Volatile
      	and Treat_As_Volatile flags based on whether the renamed object
      	is a volatile object.
      
      From-SVN: r213170
      Arnaud Charlet committed
    • [multiple changes] · f8c79ade
      2014-07-29  Olivier Hainque  <hainque@adacore.com>
      
      	* g-debpoo.adb
      	(Default_Alignment): Rename as Storage_Alignment. This is not
      	a "default" that can be overriden. Augment comment to clarify
      	intent and document why we need to manage alignment padding.
      	(Header_Offset): Set to Header'Object_Size instead of 'Size
      	rounded up to Storage_Alignment. Storage_Alignment on the
      	allocation header is not required by our internals so was
      	overkill. 'Object_Size is enough to ensure proper alignment
      	of the header address when substracted from a storage address
      	aligned on Storage_Alignment.
      	(Minimum_Allocation): Rename as Extra_Allocation, conveying that
      	this is always added on top of the incoming allocation requests.
      	(Align): New function, to perform alignment rounding operations.
      	(Allocate): Add comments on the Storage_Address computation
      	scheme and adjust so that the alignment padding applies to that
      	(Storage_Address) only.
      
      2014-07-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch3.adb (Default_Initialize_Object): Remove incorrect
      	pragma Unreferenced.
      	* cstand.adb (Create_Standard): Use E_Array_Type for standard
      	string types. Make sure index of Any_String/Any_Array is in a list.
      	* errout.adb: Minor reformatting.
      
      From-SVN: r213169
      Arnaud Charlet committed