Commit Graph

131580 Commits

Author SHA1 Message Date
Arnaud Charlet 12e4e81ea5 [multiple changes]
2014-07-30  Gary Dismukes  <dismukes@adacore.com>

	* sinfo.ads, einfo.ads, checks.ads: Minor typo fix and reformatting.

2014-07-30  Vincent Celier  <celier@adacore.com>

	* prj-proc.adb (Imported_Or_Extended_Project_From): New Boolean
	parameter No_Extending, defaulted to False. When No_Extending
	is True, do not look for an extending project.
	(Expression): For a variable reference that is not for the current
	project, get its Id calling Imported_Or_Extended_Project_From
	with No_Extending set to True.
	* prj-strt.adb (Parse_Variable_Reference): If a referenced
	variable is not found in the current project, check if it is
	defined in one of the projects it extends.

From-SVN: r213237
2014-07-30 12:02:20 +02:00
Arnaud Charlet 79185f5fb0 [multiple changes]
2014-07-30  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb (Predicate_Tests_On_Arguments): Omit tests for
	some additional cases of internally generated routines.

2014-07-30  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Analyze_Proper_Body): When compiling for ASIS,
	if the compilation unit is a subunit, extend optional processing
	to all subunits of the current one. This allows gnatstub to
	supress generation of spurious bodies.

From-SVN: r213236
2014-07-30 12:00:47 +02:00
Hristian Kirtchev ec62224622 a-cbmutr.adb (Insert_Child): Use local variable First to keep track of the initial element's index within...
2014-07-30  Hristian Kirtchev  <kirtchev@adacore.com>

	* a-cbmutr.adb (Insert_Child): Use local variable First to keep
	track of the initial element's index within the tree.

From-SVN: r213235
2014-07-30 11:59:29 +02:00
Jan Hubicka 4716657837 Fix changelog from previous commit.
From-SVN: r213234
2014-07-30 07:55:49 +00:00
Jan Hubicka a0fd33735a devirt-34.C: New testcase.
* g++.dg/ipa/devirt-34.C: New testcase.
	* ipa-devirt.c (polymorphic_call_target_d): Rename nonconstruction_targets
	to speculative_targets
	(get_class_context): Fix handling of contextes without outer type;
	avoid matching non-polymorphic types in LTO.
	(possible_polymorphic_call_targets): Trun nonconstruction_targetsp
	parameter to speculative_targetsp; handle speculation.
	(dump_possible_polymorphic_call_targets): Update dumping.

From-SVN: r213232
2014-07-30 07:48:13 +00:00
GCC Administrator bb3ec3881e Daily bump.
From-SVN: r213230
2014-07-30 00:16:39 +00:00
Jonathan Wakely 3e5eda5b4d * python/libstdcxx/v6/printers.py
(SingleObjContainerPrinter._contained): Use compatibility mixin.

From-SVN: r213227
2014-07-29 22:35:57 +01:00
François Dumont 5c7c5f9a88 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
* testsuite/util/testsuite_allocator.h
	(tracker_allocator_counter::allocate): Remove new invocation, only
	collect information.
	(tracker_allocator_counter::deallocate): Remove delete invocation, only
	collect information.
	(check_inconsistent_alloc_value_type): New.
	(tracker_allocator): Transform as a facade for any allocator type.
	(uneq_allocator): Likewise.
	(propagating_allocator): Likewise.
	* testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
	explicitly non propagating allocator.
	* testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
	* testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
	* testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.

From-SVN: r213224
2014-07-29 19:47:19 +00:00
Jonathan Wakely f4081d133f re PR libstdc++/61947 (Ambiguous calls when constructing std::tuple)
PR libstdc++/61947
	* include/std/tuple (_Head_base): Use allocator_arg_t parameters to
	disambiguate unary constructors.
	(_Tuple_impl): Pass allocator_arg_t arguments.
	* testsuite/20_util/tuple/61947.cc: New.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.

From-SVN: r213221
2014-07-29 18:30:34 +01:00
Jonathan Wakely aec20dcf39 re PR libstdc++/61946 (rope construction, passing allocator referenct without const)
PR libstdc++/61946
	* include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
	const allocator_type&)): Pass non-const allocator to
	_S_new_RopeFunction.
	* testsuite/ext/rope/61946.cc: New.

From-SVN: r213220
2014-07-29 18:30:25 +01:00
Olivier Hainque 212c47b4de vxworksae.h (VXWORKS_OVERRIDE_OPTIONS): Define.
2014-07-29  Olivier Hainque  <hainque@adacore.com>

        * config/vxworksae.h (VXWORKS_OVERRIDE_OPTIONS): Define.

From-SVN: r213219
2014-07-29 16:35:24 +00:00
Arnaud Charlet 36a6636545 [multiple changes]
2014-07-29  Hristian Kirtchev  <kirtchev@adacore.com>

	* a-cbmutr.adb (Allocate_Node): Remove the two parameter version.
	(Insert_Child): Add local variable First. Capture the index of the
	first node being created to ensure correct cursor construction
	later on. Use the three parameter version of Allocate_Node
	when creating multiple children as this method allows aspect
	Default_Value to take effect (if applicable).

2014-07-29  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_aggr.adb (Safe_Slice_Assignment): Remove.
	(Expand_Array_Aggregate): For a safe slice assignment, just set
	the target and use the common code path.

From-SVN: r213216
2014-07-29 17:49:30 +02:00
Arnaud Charlet e1ea35da69 Minor doc update.
From-SVN: r213214
2014-07-29 17:23:04 +02:00
H.J. Lu 20e3f942cc Replace strtok with strtoken
PR bootstrap/61914
	* gengtype.c (strtoken): New function.
	(create_user_defined_type): Replace strtok with strtoken.

From-SVN: r213213
2014-07-29 08:19:22 -07:00
Arnaud Charlet b8e6830b34 [multiple changes]
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
2014-07-29 17:14:04 +02:00
Arnaud Charlet 094cf3330c [multiple changes]
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
2014-07-29 17:12:14 +02:00
Arnaud Charlet 38564f8194 [multiple changes]
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
2014-07-29 17:06:34 +02:00
Arnaud Charlet 5f6fb720bb [multiple changes]
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
2014-07-29 17:02:05 +02:00
Robert Dewar fc27e20e72 frontend.adb, [...]: Minor reformatting and code clean up.
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
2014-07-29 16:59:26 +02:00
Ed Smith-Rowland 1c4ff014fe PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
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
2014-07-29 14:56:45 +00:00
Ed Schonberg f3691f465e sem_ch3.adb: Move Has_Defaulted_Discriminants to sem_util.
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
2014-07-29 16:56:34 +02:00
Yannick Moy 2d180af122 2014-07-29 Yannick Moy <moy@adacore.com>
* 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
2014-07-29 16:55:24 +02:00
Arnaud Charlet 5ae2431279 [multiple changes]
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
2014-07-29 16:53:10 +02:00
Robert Dewar 3c04da4021 types.ads (Mechanism_Type): Change range back to -18 ..
* 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
2014-07-29 16:51:48 +02:00
Arnaud Charlet 32ccbc2ac6 Remove duplicate entry.
From-SVN: r213202
2014-07-29 16:49:46 +02:00
Arnaud Charlet 09176aea40 [multiple changes]
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
2014-07-29 16:46:27 +02:00
Doug Rupp 1b4ada8ff0 sigtramp-vxworks.c: Minor reformatting.
2014-07-29  Doug Rupp  <rupp@adacore.com>

	* sigtramp-vxworks.c: Minor reformatting.

From-SVN: r213200
2014-07-29 16:36:25 +02:00
Arnaud Charlet 155562cb3b [multiple changes]
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
2014-07-29 16:12:27 +02:00
Ed Schonberg ad8bd3f47c lib-xref.adb (Output_Refs, [...]): For a derived array type...
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
2014-07-29 16:09:38 +02:00
Arnaud Charlet 422e02cfdf [multiple changes]
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
2014-07-29 16:08:02 +02:00
Robert Dewar 0677a1c750 exp_ch5.adb, [...]: Minor comment additions.
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
2014-07-29 16:06:20 +02:00
Arnaud Charlet a2cc9797df [multiple changes]
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
2014-07-29 16:02:19 +02:00
Arnaud Charlet effdbb7d57 [multiple changes]
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
2014-07-29 16:00:06 +02:00
Arnaud Charlet 09d67391ff [multiple changes]
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
2014-07-29 15:58:21 +02:00
Robert Dewar c93af80704 a-except.adb: Minor comment clarification.
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
2014-07-29 15:56:59 +02:00
Arnaud Charlet f9e333abc4 [multiple changes]
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
2014-07-29 15:54:42 +02:00
Arnaud Charlet 87e697202e [multiple changes]
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
2014-07-29 15:52:53 +02:00
Arnaud Charlet 113a9fb6c6 [multiple changes]
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
2014-07-29 15:51:03 +02:00
Nathan Sidwell 1992616143 libgcov.h: Move renaming of entry points to lib gcov specific portion.
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
2014-07-29 13:48:38 +00:00
Arnaud Charlet 3808a9c729 [multiple changes]
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
2014-07-29 15:48:13 +02:00
Arnaud Charlet 24d14b918a [multiple changes]
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
2014-07-29 15:43:43 +02:00
Robert Dewar b94b6c565e sem_ch10.adb, [...]: Minor reformatting.
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
2014-07-29 15:41:27 +02:00
Ed Schonberg ecad37f3e1 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
2014-07-29 15:40:27 +02:00
Arnaud Charlet 1773d80bb6 [multiple changes]
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
2014-07-29 15:39:22 +02:00
Arnaud Charlet 3f80a18209 [multiple changes]
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
2014-07-29 15:37:03 +02:00
Ed Schonberg 540d86108f sem_ch6.adb: Move Build_Body_To_Inline...
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
2014-07-29 15:35:32 +02:00
Arnaud Charlet b973629e61 [multiple changes]
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
2014-07-29 15:34:35 +02:00
Arnaud Charlet a7737c19cf [multiple changes]
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
2014-07-29 15:32:08 +02:00
Arnaud Charlet ab01e61483 [multiple changes]
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
2014-07-29 15:30:02 +02:00
Robert Dewar a8b346d2eb sem_ch3.adb, [...]: Minor reformatting.
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
2014-07-29 15:27:42 +02:00