Commit Graph

75 Commits

Author SHA1 Message Date
Justin Squirek
a1023434a8 [Ada] Postcondition checks performed before finalization
gcc/ada/

	* contracts.adb, contracts.ads (Build_Postconditions_Procedure):
	Add declarations for Postcond_Enabled,
	Result_Object_For_Postcondition, and
	Return_Success_For_Postcond, and place all postconditions within
	an if statement to control their execution for interactions when
	cleanup actions get generated.
	(Get_Postcond_Enabled): Created to fetch object declared to
	handle new expansion of postconditions.
	(Get_Result_Object_For_Postcond): Created to fetch object
	declared to handle new expansion of postconditions.
	(Get_Return_Success_For_Postcond): Created to fetch object
	declared to handle new expansion of postconditions.
	* einfo.adb, einfo.ads: Modify flag Stores_Attribute_Old_Prefix
	to apply to constants, variables, and types.
	* exp_ch6.adb (Add_Return): Add assignment to
	Return_Success_For_Postcond.
	(Expand_Non_Function_Return): Add assignment to
	Return_Success_For_Postcond
	(Expand_Simple_Function_Return): Add assignment to
	Result_Object_For_Postcond and Return_Success_For_Postcond.
	* exp_ch7.adb (Build_Finalization_Master): Mark finalization
	masters which finalize types created store 'Old objects as
	storing 'Old objects.
	(Build_Finalizer): Created to generated a unified and special
	expansion for finalization when postconditions are present.
	(Build_Finalizer_Helper): Renamed Build_Finalizer and added
	parameter to facilitate the creation of separate finalization
	routines for 'Old objects and general objects.
	(Create_Finalizer): Add condition for the insertion of the
	finalizer spec to avoid malformed trees.
	(Expand_Cleanup_Actions): Move _postconditions and related
	declarations to the new declarative section.  Fix the loop to
	properly stop at the subprogram declaration for the
	postconditions procedure and exclude its body from being moved
	to the new list of declarations to avoid freezing issues.
	* exp_prag.adb (Expand_Attributes): Mark temporary created to
	store 'Old objects as storing a 'Old attribute.
	* sem_ch6.adb (Find_What_Applies_To): Remove strange exception
	to postconditions when traversing the scope stack.
	* sem_prag.adb (Find_Related_Declaration_Or_Body): Use the newly
	created Enclosing_HSS function to find the HSS for a potentially
	nested statement.
	* sem_util.adb, sem_util.ads (Declare_Indirect_Temp): Mark types
	created to store 'Old objects as storing 'Old attributes.
	(Enclosing_HSS): Created to find the enclosing handled sequence
	of statements for a given statement.
	* snames.ads-tmpl: Add multiple names to aid in the expansion of
	finalization and to control the evaluation of postconditions.
	Including _finalization_controller, a new routine to centralize
	finalization actions and postcondition evaluation.
2020-12-15 06:41:56 -05:00
Eric Botcazou
c1a69c9871 [Ada] Fix internal error on extended return and fixed-point result
gcc/ada/

	* contracts.adb (Check_Type_Or_Object_External_Properties): Make
	sure to exclude all return objects from the SPARK legality rule
	on effectively volatile variables.
	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Use the fast
	track only when the declaration of the return object can be
	dropped.
2020-11-30 09:16:20 -05:00
Steve Baird
23e3e22105 [Ada] Implement AI12-0187 (Stable properties of abstract data types)
gcc/ada/

	* snames.ads-tmpl: Define new Name_Stable_Properties Name_Id
	value.
	* aspects.ads, aspects.adb: Add new Aspect_Stable_Properties
	enumeration literal to Aspect_Id type. Add Class_Present
	parameter to Find_Aspect and related
	functions (Find_Value_Of_Aspect and Has_Aspect).
	* sem_util.adb (Has_Nontrivial_Precondition): Fix
	previously-latent bug uncovered by adding Class_Present
	parameter to Aspect.Find_Aspect. The code was wrong before, but
	with the change the bug was more likely to make a user-visible
	difference.
	* sem_ch6.adb (Analyze_Operator_Symbol): If a string literal
	like "abs" or "-" occurs in a Stable_Properties aspect
	specification, then it is to be interpreted as an operator
	symbol and not as a string literal.
	* sem_ch13.ads: Export new Parse_Aspect_Stable_Properties
	function, analogous to the existing Parse_Aspect_Aggregate
	exported procedure.
	* sem_ch13.adb: (Parse_Aspect_Stable_Properties): New function;
	analogous to existing Parse_Aspect_Aggregate.
	(Validate_Aspect_Stable_Properties): New procedure; analogous to
	existing Validate_Aspect_Aggregate. Called from the same case
	statement (casing on an Aspect_Id value) where
	Validate_Aspect_Aggregate is called.
	(Resolve_Aspect_Stable_Properties): New procedure; analogous to
	existing Resolve_Aspect_Aggregate. Called from the same two case
	statements (each casing on an Aspect_Id value) where
	Resolve_Aspect_Aggregate is called.
	(Analyze_Aspect_Specifications): Set Has_Delayed_Aspects and
	Is_Delayed_Aspect attributes for Aspect_Stable_Properties aspect
	specifications.
	(Check_Aspect_At_End_Of_Declarations): The syntactic
	"expression" for a Stable_Properties aspect specification is not
	semantically an expression; it doesn't have a type. Thus, force
	T to be empty in this case.
	* contracts.adb (Expand_Subprogram_Contract): Add call to new
	local procedure,
	Expand_Subprogram_Contract.Add_Stable_Property_Contracts, which
	generates Postcondition pragmas corresponding to stable property
	checks.
2020-11-27 04:15:56 -05:00
Piotr Trojanek
42b91d9a74 [Ada] Reuse In_Same_List where possible
gcc/ada/

	* contracts.adb, freeze.adb, sem_ch12.adb, sem_prag.adb: Reuse
	In_Same_List.
2020-11-24 05:16:05 -05:00
Piotr Trojanek
19b00ffa9c [Ada] Fix freezing of previous contracts
gcc/ada/

	* contracts.adb (Causes_Contract_Freezing): Extend condition to
	match the one in Analyze_Subprogram_Body_Helper. This routine is
	used both as an assertion at the very start of
	Freeze_Previous_Contracts and to detect previous declaration for
	which Freeze_Previous_Contracts has been executed.
2020-10-26 04:59:12 -04:00
Piotr Trojanek
48d0e61aba [Ada] Reject illegal syntax in pragma Contract_Cases
gcc/ada/

	* contracts.adb (Analyze_Entry_Or_Subprogram_Contract,
	Analyze_Subprogram_Body_Stub_Contract): Fix missing references
	to Subprogram_Variant where similar references to Contract_Cases
	are present.
	* sem_prag.adb (Analyze_Contract_Case, Analyze_Variant): Check
	that aggregate parameter has no expressions.
	(Analyze_Pragma): Replace Contract_Cases with Subprogram_Variant
	in a copy-pasted comment.
2020-10-23 04:25:04 -04:00
Piotr Trojanek
846744902e [Ada] Fix whitespace in code for external property pragmas
gcc/ada/

	* contracts.adb (Check_Type_Or_Object_External_Properties):
	Cleanup.
2020-10-23 04:24:40 -04:00
Arnaud Charlet
b03a25ff5a [Ada] Crash on precondition, discriminant and protected objects
gcc/ada/

	* contracts.adb (Is_Prologue_Renaming): This function was
	missing support for E_Constant which can also be generated in
	protected objects.
2020-10-20 03:21:39 -04:00
Piotr Trojanek
afa1ffd42c [Ada] Support for new aspect Subprogram_Variant on recursive subprograms
gcc/ada/

	* aspects.ads: Introduce Subprogram_Variant aspect with the
	following properties: GNAT-specific, with mandatory expression,
	not a representation aspect, never delayed.
	* contracts.adb (Expand_Subprogram_Contract): Mention new aspect
	in the comment.
	(Add_Contract_Item): Support addition of pragma
	Subprogram_Variant to N_Contract node.
	(Analyze_Entry_Or_Subprogram_Contract): Mention new aspect in
	the comment; add pragma Subprogram_Variant to N_Contract node.
	(Build_Postconditions_Procedure): Adapt call to
	Insert_Before_First_Source_Declaration, which is now reused in
	expansion of new aspect.
	(Process_Contract_Cases_For): Also process Subprogram_Variant,
	which is stored in N_Contract node together with Contract_Cases.
	* contracts.ads (Analyze_Entry_Or_Subprogram_Contract): Mention
	new aspect in the comment.
	(Analyze_Entry_Or_Subprogram_Body_Contract): Likewise.
	* einfo.adb (Get_Pragma): Support retrieval of new pragma.
	* einfo.ads (Get_Pragma): Likewise.
	* exp_ch6.adb (Check_Subprogram_Variant): New routine for
	emitting call to check Subprogram_Variant expressions at run
	time.
	(Expand_Call_Helper): Check Subprogram_Variant expressions at
	recursive calls.
	* exp_prag.adb (Make_Op): Moved from expansion of pragma
	Loop_Variant to Exp_Util, so it is now reused for expansion of
	pragma Subprogram_Variant.
	(Process_Variant): Adapt call to Make_Op after moving it to
	Exp_Util.
	(Expand_Pragma_Subprogram_Variant): New routine.
	* exp_prag.ads (Expand_Pragma_Subprogram_Variant): Likewise.
	* exp_util.adb (Make_Variant_Comparison): Moved from Exp_Prag
	(see above).
	* exp_util.ads (Make_Variant_Comparison): Likewise.
	* inline.adb (Remove_Aspects_And_Pragmas): Handle aspect/pragma
	Subprogram_Variant just like similar contracts.
	* par-prag.adb (Prag): Likewise.
	* sem.adb (Insert_Before_First_Source_Declaration): Moved from
	Contracts (see above).
	* sem.ads (Insert_Before_First_Source_Declaration): Likewise.
	* sem_ch12.adb: Mention new aspect in the comment about
	"Implementation of Generic Contracts", just like similar aspects
	are mentioned there.
	* sem_ch13.adb (Insert_Pragma): Mention new aspect in the
	comment, because this routine is now used for Subprogram_Variant
	just like for other similar aspects.
	(Analyze_Aspect_Specifications): Mention new aspect in comments;
	it is handled just like aspect Contract_Cases.
	(Check_Aspect_At_Freeze_Point): Do not expect aspect
	Subprogram_Variant just like we don't expect aspect
	Contract_Cases.
	* sem_prag.adb (Ensure_Aggregate_Form): Now also used for pragma
	Subprogram_Variant, so update comment.
	(Analyze_Pragma): Add initial checks for pragma
	Subprogram_Variant.
	(Analyze_Subprogram_Variant_In_Decl_Part): New routine with
	secondary checks on the new pragma.
	(Sig_Flags): Handle references within pragma Subprogram_Variant
	expression just like references in similar pragma
	Contract_Cases.
	(Is_Valid_Assertion_Kind): Handle Subprogram_Variant just like
	other similar contracts.
	* sem_prag.ads (Analyze_Subprogram_Variant_In_Decl_Part): New
	routine.
	* sem_res.adb (Same_Or_Aliased_Subprograms): Moved to Sem_Util,
	so it can be reused for detection of recursive calls where
	Subprogram_Variant needs to be verified.
	* sem_util.adb (Is_Subprogram_Contract_Annotation): Handle new
	Subprogram_Variant annotation just like other similar
	annotations.
	(Same_Or_Aliased_Subprograms): Moved from Sem_Res (see above).
	* sem_util.ads (Is_Subprogram_Contract_Annotation): Mention new
	aspect in the comment.
	(Same_Or_Aliased_Subprograms): Moved from Sem_Res (see above).
	* sinfo.ads (N_Contract): Document handling of
	Subprogram_Variant.
	* snames.ads-tmpl: Add name for the internally generated
	procedure with checks for Subprogram_Variant expression, name
	for the new aspect and new pragma corresponding to aspect
	Subprogram_Variant.
2020-10-20 03:21:28 -04:00
Arnaud Charlet
44ecd94cc7 [Ada] Wrong freezing for expression function with contracts in a generic
gcc/ada/

	* contracts.adb (Process_Preconditions_For): Do not exclude
	instances.
	* sem_ch4.adb (Analyze_Quantified_Expression): Disable spurious
	warning on internally generated variables.
2020-10-19 05:53:39 -04:00
Arnaud Charlet
4a08c95cf0 [Ada] Use membership tests in front-end
gcc/ada/

	* aspects.adb, atree.adb, atree.ads, checks.adb, contracts.adb,
	einfo.adb, errout.adb, exp_aggr.adb, exp_attr.adb, exp_cg.adb,
	exp_ch11.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb,
	exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_ch9.adb,
	exp_dbug.adb, exp_disp.adb, exp_intr.adb, exp_pakd.adb,
	exp_prag.adb, exp_put_image.adb, exp_smem.adb, exp_tss.adb,
	exp_unst.adb, exp_util.adb, freeze.adb, ghost.adb, gnat1drv.adb,
	inline.adb, lib-writ.adb, lib-xref-spark_specific.adb,
	lib-xref.adb, namet.adb, namet.ads, nlists.adb, par-ch10.adb,
	par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
	par-prag.adb, par-util.adb, par_sco.adb, pprint.adb,
	repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, sem.adb,
	sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb,
	sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb,
	sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb,
	sem_ch8.adb, sem_ch9.adb, sem_dim.adb, sem_disp.adb,
	sem_dist.adb, sem_elab.adb, sem_elim.adb, sem_eval.adb,
	sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
	sem_scil.adb, sem_type.adb, sem_util.adb, sem_warn.adb,
	sinfo.adb, sinfo.ads, sprint.adb, styleg.adb, tbuild.adb,
	treepr.adb (Nkind_In, Nam_In, Ekind_In): Removed, replaced by
	membership tests.
2020-07-27 04:05:18 -04:00
Piotr Trojanek
2e724314af [Ada] Freeze aspect expression relocated to pragma Precondition
gcc/ada/

	* contracts.adb (Analyze_Entry_Or_Subprogram_Contract,
	Process_Preconditions_For): Freeze expression that has been
	relocated to pragma Precondition, not the expression which is
	still in the aspect.
2020-07-07 05:26:57 -04:00
Gary Dismukes
58e07eaae4 [Ada] Checking type invariants on in params of procedures, not functions (AI12-0044)
gcc/ada/

	* contracts.adb (Add_Invariant_And_Predicate_Checks): Relax the
	condition for doing invariant checks so that in-mode parameters
	of procedures are also checked (required by AI05-0289, and
	restricted to procedures by AI12-0044). This is done in a
	procedure's nested postconditions procedure.
	* exp_ch6.adb (Expand_Actuals): Also perform postcall invariant
	checks for in parameters of procedures (but not functions).
	Moved invariant-checking code to end of Expand_Actuals
	(including the nested function Is_Public_Subp).
2020-07-07 05:26:55 -04:00
Steve Baird
158b52c961 [Ada] Implement AI12-0249, AI12-0295 (user-defined numeric & string literals)
2020-06-16  Steve Baird  <baird@adacore.com>

gcc/ada/

	* snames.ads-tmpl: Define names of the three new aspects.
	* aspects.ads: Define the three new aspects.
	* sem_util.ads, sem_util.adb, sem_dim.adb: Move the function
	String_From_Numeric_Literal from being declared in the body of
	package Sem_Dim to being declared in the visible part of package
	Sem_Util.
	* sem_ch13.ads, sem_ch13.adb: Declare new visible procedure
	Validate_Literal_Aspect. This is where most of the legality
	checking occurs for an aspect specification for one of the three
	new aspects, as well as resolution of the subprogram named in
	the aspect specification. Follow example of other aspects (e.g.,
	Validate_Literal_Aspect is called in much the same way as
	Validate_Iterable_Aspect in Analyze_Aspects_At_Freeze_Point; a
	small amount of legality checking is performed in
	Analyze_One_Aspect in much the same way as for Default_Value or
	Default_Component_Value aspects). Most of the work is done in
	Validate_Literal_Aspect.
	* contracts.adb (Add_Contract_Item): Call
	Validate_Literal_Aspect in much the same way that
	Validate_Iterable_Aspect was already being called.
	* sem_res.adb (Resolve): Rewrite a literal as a call if it is a
	user-defined literal.  This is where the dynamic semantics of
	the 3 new aspects are implemented.
	* sem_ch6.adb (Fully_Conformant_Expressions): Two numeric
	literals that have different text but the same value (e.g.,
	12345 and 12_345) do not conform if they are user-defined
	literals. Introduce a new function
	User_Defined_Numeric_Literal_Mismatch to avoid duplication in
	making this check.
	* sem_type.adb (Has_Compatible_Type): A numeric literal can be
	compatible with a non-numeric type (and a string literal can be
	compatible with a non-string type) if it can be interpreted as a
	user-defined literal.
2020-06-16 09:07:15 -04:00
Piotr Trojanek
0acc5ebd5c [Ada] Do not expect Global or Depends on single protected objects
2020-06-15  Piotr Trojanek  <trojanek@adacore.com>

gcc/ada/

	* contracts.adb (Analyze_Object_Contract): Do not expect
	Global/Depends on single protected units.
2020-06-15 04:04:29 -04:00
Piotr Trojanek
019e90494b [Ada] Reuse Is_Entry where possible
2020-06-12  Piotr Trojanek  <trojanek@adacore.com>

gcc/ada/

	* contracts.adb, einfo.adb, sem_ch4.adb, sem_ch6.adb,
	sem_res.adb, sem_util.adb: Replace Ekind_In with Is_Entry.
2020-06-12 04:29:22 -04:00
Steve Baird
4127ebece7 [Ada] Allow specifying volatility refinement aspects for types
2020-06-11  Steve Baird  <baird@adacore.com>

gcc/ada/

	* contracts.adb (Add_Contract_Item): Support specifying
	volatility refinement aspects for types.
	(Analyze_Contracts): Add call to Analyze_Type_Contract in the
	case of a contract for a type.
	(Freeze_Contracts): Add call to Analyze_Type_Contract in the
	case of a contract for a type.
	(Check_Type_Or_Object_External_Properties): A new procedure
	which performs the work that needs to be done for both object
	declarations and types.
	(Analyze_Object_Contract): Add a call to
	Check_Type_Or_Object_External_Properties and remove the code in
	this procedure which did much of the work that is now performed
	by that call.
	(Analyze_Type_Contract): Implement this new routine as nothing
	more than a call to Check_Type_Or_Object_External_Properties.
	* contracts.ads: Update comment for Add_Contract_To_Item because
	types can have contracts.  Follow (questionable) precedent and
	declare new routine Analyze_Type_Contract as visible (following
	example of Analyze_Object_Contract), despite the fact that it is
	never called from outside of the package where it is declared.
	* einfo.adb (Contract, Set_Contract): Id argument can be a type;
	support this case.
	(Write_Field34_Name): Field name is "contract" for a type.
	* einfo.ads: Update comment describing Contract attribute.
	* sem_ch3.adb (Build_Derived_Numeric_Type): Is_Volatile should
	return same answer for all subtypes of a given type. Thus, when
	building the base type for something like type Volatile_1_To_10
	is range 1 .. 10 with Volatile; that basetype should be marked
	as being volatile.
	(Access_Type_Declaration): Add SPARK-specific legality check
	that the designated type of an access type shall be compatible
	with respect to volatility with the access type.
	* sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Add
	SPARK-specific legality check that an actual type parameter in
	an instantiation shall be compatible with respect to volatility
	with the corresponding formal type.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Perform checks
	for aspect specs for the 4 volatility refinement aspects that
	were already being performed for all language-defined aspects.
	* sem_prag.adb (Analyze_External_Property_In_Decl_Part,
	Analyze_Pragma): External properties (other than No_Caching) may
	be specified for a type, including a generic formal type.
	* sem_util.ads: Declare new subprograms - Async_Readers_Enabled,
	Async_Writers_Enabled, Effective_Reads, Effective_Writes, and
	Check_Volatility_Compatibility.
	* sem_util.adb (Async_Readers_Enabled, Async_Writers_Enabled,
	Effective_Reads, Effective_Writes): Initial implementation of
	new functions for querying aspect values.
	(Check_Volatility_Compatibility): New procedure intended for use
	in checking all SPARK legality rules of the form "<> shall be
	compatible with respect to volatility with <>".
	(Has_Enabled_Property): Update comment because Item_Id can be a
	type.  Change name of nested Variable_Has_Enabled_Property
	function to Type_Or_Variable_Has_Enabled_Property; add a
	parameter to that function because recursion may be needed,
	e.g., in the case of a derived typ).  Cope with the case where
	the argument to Has_Enabled_Property is a type.
2020-06-11 05:53:48 -04:00
Arnaud Charlet
3aeb5ebe95 [Ada] Remove more references to ASIS
2020-06-10  Arnaud Charlet  <charlet@adacore.com>

gcc/ada/

	* atree.adb, contracts.adb, debug.adb, freeze.adb,
	repinfo-input.adb, repinfo.adb, sem_attr.adb, sem_ch10.adb,
	sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb,
	sem_ch8.adb, sem_ch9.adb, sem_disp.adb, sem_eval.adb,
	sem_prag.adb: Remove more references to ASIS.
2020-06-10 09:34:59 -04:00
Arnaud Charlet
65f1ca2e3d [Ada] Remove ASIS_Mode
2020-06-02  Arnaud Charlet  <charlet@adacore.com>

gcc/ada/

	* atree.ads, checks.adb, contracts.adb, debug.adb, einfo.ads,
	exp_ch3.adb, exp_util.adb, expander.ads, expander.adb,
	frontend.adb, gnat1drv.adb, itypes.adb, lib.ads, namet.ads,
	opt.adb, opt.ads, par-prag.adb, repinfo.ads, sem_aggr.adb,
	sem_aux.ads, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
	sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb,
	sem_dim.adb, sem_elab.adb, sem_prag.adb, sem_prag.ads,
	sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, stand.ads,
	tree_io.ads: Remove references to ASIS_Mode.
2020-06-02 04:58:29 -04:00
Arnaud Charlet
4b490c1ec5 [Ada] Bump copyright year
2020-06-02  Arnaud Charlet  <charlet@adacore.com>

gcc/ada/

	* ada_get_targ.adb: Bump copyright year.
	* adabkend.adb: Likewise.
	* adabkend.ads: Likewise.
	* adadecode.c: Likewise.
	* adadecode.h: Likewise.
	* adaint.c: Likewise.
	* adaint.h: Likewise.
	* affinity.c: Likewise.
	* ali-util.adb: Likewise.
	* ali-util.ads: Likewise.
	* ali.adb: Likewise.
	* ali.ads: Likewise.
	* alloc.ads: Likewise.
	* argv-lynxos178-raven-cert.c: Likewise.
	* argv.c: Likewise.
	* aspects.adb: Likewise.
	* aspects.ads: Likewise.
	* atree.adb: Likewise.
	* atree.ads: Likewise.
	* atree.h: Likewise.
	* aux-io.c: Likewise.
	* back_end.adb: Likewise.
	* back_end.ads: Likewise.
	* bcheck.adb: Likewise.
	* bcheck.ads: Likewise.
	* binde.adb: Likewise.
	* binde.ads: Likewise.
	* binderr.adb: Likewise.
	* binderr.ads: Likewise.
	* bindgen.adb: Likewise.
	* bindgen.ads: Likewise.
	* bindo-augmentors.adb: Likewise.
	* bindo-augmentors.ads: Likewise.
	* bindo-builders.adb: Likewise.
	* bindo-builders.ads: Likewise.
	* bindo-diagnostics.adb: Likewise.
	* bindo-diagnostics.ads: Likewise.
	* bindo-elaborators.adb: Likewise.
	* bindo-elaborators.ads: Likewise.
	* bindo-graphs.adb: Likewise.
	* bindo-graphs.ads: Likewise.
	* bindo-units.adb: Likewise.
	* bindo-units.ads: Likewise.
	* bindo-validators.adb: Likewise.
	* bindo-validators.ads: Likewise.
	* bindo-writers.adb: Likewise.
	* bindo-writers.ads: Likewise.
	* bindo.adb: Likewise.
	* bindo.ads: Likewise.
	* bindusg.adb: Likewise.
	* bindusg.ads: Likewise.
	* butil.adb: Likewise.
	* butil.ads: Likewise.
	* cal.c: Likewise.
	* casing.adb: Likewise.
	* casing.ads: Likewise.
	* ceinfo.adb: Likewise.
	* checks.adb: Likewise.
	* checks.ads: Likewise.
	* cio.c: Likewise.
	* clean.adb: Likewise.
	* clean.ads: Likewise.
	* comperr.adb: Likewise.
	* comperr.ads: Likewise.
	* contracts.adb: Likewise.
	* contracts.ads: Likewise.
	* csets.adb: Likewise.
	* csets.ads: Likewise.
	* csinfo.adb: Likewise.
	* cstand.adb: Likewise.
	* cstand.ads: Likewise.
	* cstreams.c: Likewise.
	* ctrl_c.c: Likewise.
	* debug.adb: Likewise.
	* debug.ads: Likewise.
	* debug_a.adb: Likewise.
	* debug_a.ads: Likewise.
	* einfo.adb: Likewise.
	* einfo.ads: Likewise.
	* elists.adb: Likewise.
	* elists.ads: Likewise.
	* elists.h: Likewise.
	* env.c: Likewise.
	* env.h: Likewise.
	* err_vars.ads: Likewise.
	* errno.c: Likewise.
	* errout.adb: Likewise.
	* errout.ads: Likewise.
	* erroutc.adb: Likewise.
	* erroutc.ads: Likewise.
	* errutil.adb: Likewise.
	* errutil.ads: Likewise.
	* eval_fat.adb: Likewise.
	* eval_fat.ads: Likewise.
	* exit.c: Likewise.
	* exp_aggr.adb: Likewise.
	* exp_aggr.ads: Likewise.
	* exp_atag.adb: Likewise.
	* exp_atag.ads: Likewise.
	* exp_attr.adb: Likewise.
	* exp_attr.ads: Likewise.
	* exp_cg.adb: Likewise.
	* exp_cg.ads: Likewise.
	* exp_ch10.ads: Likewise.
	* exp_ch11.adb: Likewise.
	* exp_ch11.ads: Likewise.
	* exp_ch12.adb: Likewise.
	* exp_ch12.ads: Likewise.
	* exp_ch13.adb: Likewise.
	* exp_ch13.ads: Likewise.
	* exp_ch2.adb: Likewise.
	* exp_ch2.ads: Likewise.
	* exp_ch3.adb: Likewise.
	* exp_ch3.ads: Likewise.
	* exp_ch4.adb: Likewise.
	* exp_ch4.ads: Likewise.
	* exp_ch5.adb: Likewise.
	* exp_ch5.ads: Likewise.
	* exp_ch6.adb: Likewise.
	* exp_ch6.ads: Likewise.
	* exp_ch7.adb: Likewise.
	* exp_ch7.ads: Likewise.
	* exp_ch8.adb: Likewise.
	* exp_ch8.ads: Likewise.
	* exp_ch9.adb: Likewise.
	* exp_ch9.ads: Likewise.
	* exp_code.adb: Likewise.
	* exp_code.ads: Likewise.
	* exp_dbug.adb: Likewise.
	* exp_dbug.ads: Likewise.
	* exp_disp.adb: Likewise.
	* exp_disp.ads: Likewise.
	* exp_dist.adb: Likewise.
	* exp_dist.ads: Likewise.
	* exp_fixd.adb: Likewise.
	* exp_fixd.ads: Likewise.
	* exp_imgv.adb: Likewise.
	* exp_imgv.ads: Likewise.
	* exp_intr.adb: Likewise.
	* exp_intr.ads: Likewise.
	* exp_pakd.adb: Likewise.
	* exp_pakd.ads: Likewise.
	* exp_prag.adb: Likewise.
	* exp_prag.ads: Likewise.
	* exp_sel.adb: Likewise.
	* exp_sel.ads: Likewise.
	* exp_smem.adb: Likewise.
	* exp_smem.ads: Likewise.
	* exp_spark.adb: Likewise.
	* exp_spark.ads: Likewise.
	* exp_strm.adb: Likewise.
	* exp_strm.ads: Likewise.
	* exp_tss.adb: Likewise.
	* exp_tss.ads: Likewise.
	* exp_unst.adb: Likewise.
	* exp_unst.ads: Likewise.
	* exp_util.adb: Likewise.
	* exp_util.ads: Likewise.
	* expander.adb: Likewise.
	* expander.ads: Likewise.
	* expect.c: Likewise.
	* fe.h: Likewise.
	* final.c: Likewise.
	* fmap.adb: Likewise.
	* fmap.ads: Likewise.
	* fname-sf.adb: Likewise.
	* fname-sf.ads: Likewise.
	* fname-uf.adb: Likewise.
	* fname-uf.ads: Likewise.
	* fname.adb: Likewise.
	* fname.ads: Likewise.
	* freeze.adb: Likewise.
	* freeze.ads: Likewise.
	* frontend.adb: Likewise.
	* frontend.ads: Likewise.
	* get_scos.adb: Likewise.
	* get_scos.ads: Likewise.
	* get_targ.adb: Likewise.
	* get_targ.ads: Likewise.
	* ghost.adb: Likewise.
	* ghost.ads: Likewise.
	* gnat1drv.adb: Likewise.
	* gnat1drv.ads: Likewise.
	* gnatbind.adb: Likewise.
	* gnatbind.ads: Likewise.
	* gnatchop.adb: Likewise.
	* gnatclean.adb: Likewise.
	* gnatcmd.adb: Likewise.
	* gnatcmd.ads: Likewise.
	* gnatdll.adb: Likewise.
	* gnatfind.adb: Likewise.
	* gnatkr.adb: Likewise.
	* gnatkr.ads: Likewise.
	* gnatlink.adb: Likewise.
	* gnatlink.ads: Likewise.
	* gnatls.adb: Likewise.
	* gnatls.ads: Likewise.
	* gnatmake.adb: Likewise.
	* gnatmake.ads: Likewise.
	* gnatname.adb: Likewise.
	* gnatname.ads: Likewise.
	* gnatprep.adb: Likewise.
	* gnatprep.ads: Likewise.
	* gnatvsn.adb: Likewise.
	* gnatxref.adb: Likewise.
	* gprep.adb: Likewise.
	* gprep.ads: Likewise.
	* gsocket.h: Likewise.
	* hostparm.ads: Likewise.
	* impunit.adb: Likewise.
	* impunit.ads: Likewise.
	* indepsw-aix.adb: Likewise.
	* indepsw-darwin.adb: Likewise.
	* indepsw-gnu.adb: Likewise.
	* indepsw.adb: Likewise.
	* indepsw.ads: Likewise.
	* init.c: Likewise.
	* initialize.c: Likewise.
	* inline.adb: Likewise.
	* inline.ads: Likewise.
	* itypes.adb: Likewise.
	* itypes.ads: Likewise.
	* krunch.adb: Likewise.
	* krunch.ads: Likewise.
	* layout.adb: Likewise.
	* layout.ads: Likewise.
	* lib-list.adb: Likewise.
	* lib-load.adb: Likewise.
	* lib-load.ads: Likewise.
	* lib-sort.adb: Likewise.
	* lib-util.adb: Likewise.
	* lib-util.ads: Likewise.
	* lib-writ.adb: Likewise.
	* lib-writ.ads: Likewise.
	* lib-xref-spark_specific.adb: Likewise.
	* lib-xref.adb: Likewise.
	* lib-xref.ads: Likewise.
	* lib.adb: Likewise.
	* lib.ads: Likewise.
	* libgnarl/a-astaco.adb: Likewise.
	* libgnarl/a-dispat.adb: Likewise.
	* libgnarl/a-dynpri.adb: Likewise.
	* libgnarl/a-etgrbu.ads: Likewise.
	* libgnarl/a-exetim__darwin.adb: Likewise.
	* libgnarl/a-exetim__default.ads: Likewise.
	* libgnarl/a-exetim__mingw.adb: Likewise.
	* libgnarl/a-exetim__mingw.ads: Likewise.
	* libgnarl/a-exetim__posix.adb: Likewise.
	* libgnarl/a-interr.adb: Likewise.
	* libgnarl/a-interr.ads: Likewise.
	* libgnarl/a-intnam.ads: Likewise.
	* libgnarl/a-intnam__aix.ads: Likewise.
	* libgnarl/a-intnam__darwin.ads: Likewise.
	* libgnarl/a-intnam__dragonfly.ads: Likewise.
	* libgnarl/a-intnam__dummy.ads: Likewise.
	* libgnarl/a-intnam__freebsd.ads: Likewise.
	* libgnarl/a-intnam__hpux.ads: Likewise.
	* libgnarl/a-intnam__linux.ads: Likewise.
	* libgnarl/a-intnam__lynxos.ads: Likewise.
	* libgnarl/a-intnam__mingw.ads: Likewise.
	* libgnarl/a-intnam__qnx.ads: Likewise.
	* libgnarl/a-intnam__rtems.ads: Likewise.
	* libgnarl/a-intnam__solaris.ads: Likewise.
	* libgnarl/a-intnam__vxworks.ads: Likewise.
	* libgnarl/a-reatim.adb: Likewise.
	* libgnarl/a-reatim.ads: Likewise.
	* libgnarl/a-retide.adb: Likewise.
	* libgnarl/a-retide.ads: Likewise.
	* libgnarl/a-rttiev.adb: Likewise.
	* libgnarl/a-rttiev.ads: Likewise.
	* libgnarl/a-synbar.adb: Likewise.
	* libgnarl/a-synbar.ads: Likewise.
	* libgnarl/a-synbar__posix.adb: Likewise.
	* libgnarl/a-synbar__posix.ads: Likewise.
	* libgnarl/a-sytaco.adb: Likewise.
	* libgnarl/a-sytaco.ads: Likewise.
	* libgnarl/a-tasatt.adb: Likewise.
	* libgnarl/a-tasatt.ads: Likewise.
	* libgnarl/a-taside.adb: Likewise.
	* libgnarl/a-taside.ads: Likewise.
	* libgnarl/a-taster.adb: Likewise.
	* libgnarl/g-boubuf.adb: Likewise.
	* libgnarl/g-boubuf.ads: Likewise.
	* libgnarl/g-boumai.ads: Likewise.
	* libgnarl/g-semaph.adb: Likewise.
	* libgnarl/g-semaph.ads: Likewise.
	* libgnarl/g-signal.adb: Likewise.
	* libgnarl/g-signal.ads: Likewise.
	* libgnarl/g-tastus.ads: Likewise.
	* libgnarl/g-thread.adb: Likewise.
	* libgnarl/g-thread.ads: Likewise.
	* libgnarl/i-vxinco.adb: Likewise.
	* libgnarl/i-vxinco.ads: Likewise.
	* libgnarl/s-inmaop.ads: Likewise.
	* libgnarl/s-inmaop__dummy.adb: Likewise.
	* libgnarl/s-inmaop__posix.adb: Likewise.
	* libgnarl/s-inmaop__vxworks.adb: Likewise.
	* libgnarl/s-interr.adb: Likewise.
	* libgnarl/s-interr.ads: Likewise.
	* libgnarl/s-interr__dummy.adb: Likewise.
	* libgnarl/s-interr__hwint.adb: Likewise.
	* libgnarl/s-interr__sigaction.adb: Likewise.
	* libgnarl/s-interr__vxworks.adb: Likewise.
	* libgnarl/s-intman.ads: Likewise.
	* libgnarl/s-intman__android.adb: Likewise.
	* libgnarl/s-intman__dummy.adb: Likewise.
	* libgnarl/s-intman__lynxos.adb: Likewise.
	* libgnarl/s-intman__mingw.adb: Likewise.
	* libgnarl/s-intman__posix.adb: Likewise.
	* libgnarl/s-intman__qnx.adb: Likewise.
	* libgnarl/s-intman__solaris.adb: Likewise.
	* libgnarl/s-intman__susv3.adb: Likewise.
	* libgnarl/s-intman__vxworks.adb: Likewise.
	* libgnarl/s-intman__vxworks.ads: Likewise.
	* libgnarl/s-linux.ads: Likewise.
	* libgnarl/s-linux__alpha.ads: Likewise.
	* libgnarl/s-linux__android.ads: Likewise.
	* libgnarl/s-linux__hppa.ads: Likewise.
	* libgnarl/s-linux__mips.ads: Likewise.
	* libgnarl/s-linux__riscv.ads: Likewise.
	* libgnarl/s-linux__sparc.ads: Likewise.
	* libgnarl/s-linux__x32.ads: Likewise.
	* libgnarl/s-mudido.adb: Likewise.
	* libgnarl/s-mudido__affinity.adb: Likewise.
	* libgnarl/s-osinte__aix.adb: Likewise.
	* libgnarl/s-osinte__aix.ads: Likewise.
	* libgnarl/s-osinte__android.adb: Likewise.
	* libgnarl/s-osinte__android.ads: Likewise.
	* libgnarl/s-osinte__darwin.adb: Likewise.
	* libgnarl/s-osinte__darwin.ads: Likewise.
	* libgnarl/s-osinte__dragonfly.adb: Likewise.
	* libgnarl/s-osinte__dragonfly.ads: Likewise.
	* libgnarl/s-osinte__dummy.ads: Likewise.
	* libgnarl/s-osinte__freebsd.adb: Likewise.
	* libgnarl/s-osinte__freebsd.ads: Likewise.
	* libgnarl/s-osinte__gnu.adb: Likewise.
	* libgnarl/s-osinte__gnu.ads: Likewise.
	* libgnarl/s-osinte__hpux-dce.adb: Likewise.
	* libgnarl/s-osinte__hpux-dce.ads: Likewise.
	* libgnarl/s-osinte__hpux.ads: Likewise.
	* libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
	* libgnarl/s-osinte__linux.ads: Likewise.
	* libgnarl/s-osinte__lynxos178.adb: Likewise.
	* libgnarl/s-osinte__lynxos178e.ads: Likewise.
	* libgnarl/s-osinte__mingw.ads: Likewise.
	* libgnarl/s-osinte__posix.adb: Likewise.
	* libgnarl/s-osinte__qnx.adb: Likewise.
	* libgnarl/s-osinte__qnx.ads: Likewise.
	* libgnarl/s-osinte__rtems.adb: Likewise.
	* libgnarl/s-osinte__rtems.ads: Likewise.
	* libgnarl/s-osinte__solaris.adb: Likewise.
	* libgnarl/s-osinte__solaris.ads: Likewise.
	* libgnarl/s-osinte__vxworks.adb: Likewise.
	* libgnarl/s-osinte__vxworks.ads: Likewise.
	* libgnarl/s-osinte__x32.adb: Likewise.
	* libgnarl/s-proinf.adb: Likewise.
	* libgnarl/s-proinf.ads: Likewise.
	* libgnarl/s-qnx.ads: Likewise.
	* libgnarl/s-solita.adb: Likewise.
	* libgnarl/s-solita.ads: Likewise.
	* libgnarl/s-stusta.adb: Likewise.
	* libgnarl/s-stusta.ads: Likewise.
	* libgnarl/s-taasde.adb: Likewise.
	* libgnarl/s-taasde.ads: Likewise.
	* libgnarl/s-tadeca.adb: Likewise.
	* libgnarl/s-tadeca.ads: Likewise.
	* libgnarl/s-tadert.adb: Likewise.
	* libgnarl/s-tadert.ads: Likewise.
	* libgnarl/s-taenca.adb: Likewise.
	* libgnarl/s-taenca.ads: Likewise.
	* libgnarl/s-taprob.adb: Likewise.
	* libgnarl/s-taprob.ads: Likewise.
	* libgnarl/s-taprop.ads: Likewise.
	* libgnarl/s-taprop__dummy.adb: Likewise.
	* libgnarl/s-taprop__hpux-dce.adb: Likewise.
	* libgnarl/s-taprop__linux.adb: Likewise.
	* libgnarl/s-taprop__mingw.adb: Likewise.
	* libgnarl/s-taprop__posix.adb: Likewise.
	* libgnarl/s-taprop__qnx.adb: Likewise.
	* libgnarl/s-taprop__solaris.adb: Likewise.
	* libgnarl/s-taprop__vxworks.adb: Likewise.
	* libgnarl/s-tarest.adb: Likewise.
	* libgnarl/s-tarest.ads: Likewise.
	* libgnarl/s-tasdeb.adb: Likewise.
	* libgnarl/s-tasdeb.ads: Likewise.
	* libgnarl/s-tasinf.adb: Likewise.
	* libgnarl/s-tasinf.ads: Likewise.
	* libgnarl/s-tasinf__linux.adb: Likewise.
	* libgnarl/s-tasinf__linux.ads: Likewise.
	* libgnarl/s-tasinf__mingw.adb: Likewise.
	* libgnarl/s-tasinf__mingw.ads: Likewise.
	* libgnarl/s-tasinf__solaris.adb: Likewise.
	* libgnarl/s-tasinf__solaris.ads: Likewise.
	* libgnarl/s-tasinf__vxworks.ads: Likewise.
	* libgnarl/s-tasini.adb: Likewise.
	* libgnarl/s-tasini.ads: Likewise.
	* libgnarl/s-taskin.adb: Likewise.
	* libgnarl/s-taskin.ads: Likewise.
	* libgnarl/s-taspri__dummy.ads: Likewise.
	* libgnarl/s-taspri__hpux-dce.ads: Likewise.
	* libgnarl/s-taspri__lynxos.ads: Likewise.
	* libgnarl/s-taspri__mingw.ads: Likewise.
	* libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
	* libgnarl/s-taspri__posix.ads: Likewise.
	* libgnarl/s-taspri__solaris.ads: Likewise.
	* libgnarl/s-taspri__vxworks.ads: Likewise.
	* libgnarl/s-tasque.adb: Likewise.
	* libgnarl/s-tasque.ads: Likewise.
	* libgnarl/s-tasren.adb: Likewise.
	* libgnarl/s-tasren.ads: Likewise.
	* libgnarl/s-tasres.ads: Likewise.
	* libgnarl/s-tassta.adb: Likewise.
	* libgnarl/s-tassta.ads: Likewise.
	* libgnarl/s-tasuti.adb: Likewise.
	* libgnarl/s-tasuti.ads: Likewise.
	* libgnarl/s-tataat.adb: Likewise.
	* libgnarl/s-tataat.ads: Likewise.
	* libgnarl/s-tpinop.adb: Likewise.
	* libgnarl/s-tpinop.ads: Likewise.
	* libgnarl/s-tpoaal.adb: Likewise.
	* libgnarl/s-tpoben.adb: Likewise.
	* libgnarl/s-tpoben.ads: Likewise.
	* libgnarl/s-tpobmu.adb: Likewise.
	* libgnarl/s-tpobmu.ads: Likewise.
	* libgnarl/s-tpobop.adb: Likewise.
	* libgnarl/s-tpobop.ads: Likewise.
	* libgnarl/s-tpopmo.adb: Likewise.
	* libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
	* libgnarl/s-tpopsp__posix.adb: Likewise.
	* libgnarl/s-tpopsp__solaris.adb: Likewise.
	* libgnarl/s-tpopsp__tls.adb: Likewise.
	* libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
	* libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
	* libgnarl/s-tpopsp__vxworks.adb: Likewise.
	* libgnarl/s-tporft.adb: Likewise.
	* libgnarl/s-tposen.adb: Likewise.
	* libgnarl/s-tposen.ads: Likewise.
	* libgnarl/s-vxwext.adb: Likewise.
	* libgnarl/s-vxwext.ads: Likewise.
	* libgnarl/s-vxwext__kernel-smp.adb: Likewise.
	* libgnarl/s-vxwext__kernel.adb: Likewise.
	* libgnarl/s-vxwext__kernel.ads: Likewise.
	* libgnarl/s-vxwext__noints.adb: Likewise.
	* libgnarl/s-vxwext__rtp-smp.adb: Likewise.
	* libgnarl/s-vxwext__rtp.adb: Likewise.
	* libgnarl/s-vxwext__rtp.ads: Likewise.
	* libgnarl/s-vxwext__vthreads.ads: Likewise.
	* libgnarl/s-vxwork__aarch64.ads: Likewise.
	* libgnarl/s-vxwork__arm.ads: Likewise.
	* libgnarl/s-vxwork__ppc.ads: Likewise.
	* libgnarl/s-vxwork__x86.ads: Likewise.
	* libgnarl/thread.c: Likewise.
	* libgnat/a-assert.adb: Likewise.
	* libgnat/a-assert.ads: Likewise.
	* libgnat/a-btgbso.adb: Likewise.
	* libgnat/a-btgbso.ads: Likewise.
	* libgnat/a-calari.adb: Likewise.
	* libgnat/a-calari.ads: Likewise.
	* libgnat/a-calcon.adb: Likewise.
	* libgnat/a-calcon.ads: Likewise.
	* libgnat/a-caldel.adb: Likewise.
	* libgnat/a-caldel.ads: Likewise.
	* libgnat/a-calend.adb: Likewise.
	* libgnat/a-calend.ads: Likewise.
	* libgnat/a-calfor.adb: Likewise.
	* libgnat/a-calfor.ads: Likewise.
	* libgnat/a-catizo.adb: Likewise.
	* libgnat/a-cbdlli.adb: Likewise.
	* libgnat/a-cbdlli.ads: Likewise.
	* libgnat/a-cbhama.adb: Likewise.
	* libgnat/a-cbhama.ads: Likewise.
	* libgnat/a-cbhase.adb: Likewise.
	* libgnat/a-cbhase.ads: Likewise.
	* libgnat/a-cbmutr.adb: Likewise.
	* libgnat/a-cbmutr.ads: Likewise.
	* libgnat/a-cborma.adb: Likewise.
	* libgnat/a-cborma.ads: Likewise.
	* libgnat/a-cborse.adb: Likewise.
	* libgnat/a-cborse.ads: Likewise.
	* libgnat/a-cbprqu.adb: Likewise.
	* libgnat/a-cbprqu.ads: Likewise.
	* libgnat/a-cbsyqu.adb: Likewise.
	* libgnat/a-cbsyqu.ads: Likewise.
	* libgnat/a-cdlili.adb: Likewise.
	* libgnat/a-cdlili.ads: Likewise.
	* libgnat/a-cfdlli.adb: Likewise.
	* libgnat/a-cfdlli.ads: Likewise.
	* libgnat/a-cfhama.adb: Likewise.
	* libgnat/a-cfhama.ads: Likewise.
	* libgnat/a-cfhase.adb: Likewise.
	* libgnat/a-cfhase.ads: Likewise.
	* libgnat/a-cfinve.adb: Likewise.
	* libgnat/a-cfinve.ads: Likewise.
	* libgnat/a-cforma.adb: Likewise.
	* libgnat/a-cforma.ads: Likewise.
	* libgnat/a-cforse.adb: Likewise.
	* libgnat/a-cforse.ads: Likewise.
	* libgnat/a-cgaaso.adb: Likewise.
	* libgnat/a-cgaaso.ads: Likewise.
	* libgnat/a-cgarso.adb: Likewise.
	* libgnat/a-cgcaso.adb: Likewise.
	* libgnat/a-chacon.adb: Likewise.
	* libgnat/a-chacon.ads: Likewise.
	* libgnat/a-chahan.adb: Likewise.
	* libgnat/a-chahan.ads: Likewise.
	* libgnat/a-chlat9.ads: Likewise.
	* libgnat/a-chtgbk.adb: Likewise.
	* libgnat/a-chtgbk.ads: Likewise.
	* libgnat/a-chtgbo.adb: Likewise.
	* libgnat/a-chtgbo.ads: Likewise.
	* libgnat/a-chtgke.adb: Likewise.
	* libgnat/a-chtgke.ads: Likewise.
	* libgnat/a-chtgop.adb: Likewise.
	* libgnat/a-chtgop.ads: Likewise.
	* libgnat/a-chzla1.ads: Likewise.
	* libgnat/a-chzla9.ads: Likewise.
	* libgnat/a-cidlli.adb: Likewise.
	* libgnat/a-cidlli.ads: Likewise.
	* libgnat/a-cihama.adb: Likewise.
	* libgnat/a-cihama.ads: Likewise.
	* libgnat/a-cihase.adb: Likewise.
	* libgnat/a-cihase.ads: Likewise.
	* libgnat/a-cimutr.adb: Likewise.
	* libgnat/a-cimutr.ads: Likewise.
	* libgnat/a-ciorma.adb: Likewise.
	* libgnat/a-ciorma.ads: Likewise.
	* libgnat/a-ciormu.adb: Likewise.
	* libgnat/a-ciormu.ads: Likewise.
	* libgnat/a-ciorse.adb: Likewise.
	* libgnat/a-ciorse.ads: Likewise.
	* libgnat/a-clrefi.adb: Likewise.
	* libgnat/a-clrefi.ads: Likewise.
	* libgnat/a-coboho.adb: Likewise.
	* libgnat/a-coboho.ads: Likewise.
	* libgnat/a-cobove.adb: Likewise.
	* libgnat/a-cobove.ads: Likewise.
	* libgnat/a-cofove.adb: Likewise.
	* libgnat/a-cofove.ads: Likewise.
	* libgnat/a-cofuba.adb: Likewise.
	* libgnat/a-cofuba.ads: Likewise.
	* libgnat/a-cofuma.adb: Likewise.
	* libgnat/a-cofuma.ads: Likewise.
	* libgnat/a-cofuse.adb: Likewise.
	* libgnat/a-cofuse.ads: Likewise.
	* libgnat/a-cofuve.adb: Likewise.
	* libgnat/a-cofuve.ads: Likewise.
	* libgnat/a-cogeso.adb: Likewise.
	* libgnat/a-cogeso.ads: Likewise.
	* libgnat/a-cohama.adb: Likewise.
	* libgnat/a-cohama.ads: Likewise.
	* libgnat/a-cohase.adb: Likewise.
	* libgnat/a-cohase.ads: Likewise.
	* libgnat/a-cohata.ads: Likewise.
	* libgnat/a-coinho.adb: Likewise.
	* libgnat/a-coinho.ads: Likewise.
	* libgnat/a-coinho__shared.adb: Likewise.
	* libgnat/a-coinho__shared.ads: Likewise.
	* libgnat/a-coinve.adb: Likewise.
	* libgnat/a-coinve.ads: Likewise.
	* libgnat/a-colien.adb: Likewise.
	* libgnat/a-colien.ads: Likewise.
	* libgnat/a-colire.adb: Likewise.
	* libgnat/a-colire.ads: Likewise.
	* libgnat/a-comlin.adb: Likewise.
	* libgnat/a-comlin.ads: Likewise.
	* libgnat/a-comutr.adb: Likewise.
	* libgnat/a-comutr.ads: Likewise.
	* libgnat/a-conhel.adb: Likewise.
	* libgnat/a-conhel.ads: Likewise.
	* libgnat/a-convec.adb: Likewise.
	* libgnat/a-convec.ads: Likewise.
	* libgnat/a-coorma.adb: Likewise.
	* libgnat/a-coorma.ads: Likewise.
	* libgnat/a-coormu.adb: Likewise.
	* libgnat/a-coormu.ads: Likewise.
	* libgnat/a-coorse.adb: Likewise.
	* libgnat/a-coorse.ads: Likewise.
	* libgnat/a-coprnu.adb: Likewise.
	* libgnat/a-coprnu.ads: Likewise.
	* libgnat/a-crbltr.ads: Likewise.
	* libgnat/a-crbtgk.adb: Likewise.
	* libgnat/a-crbtgk.ads: Likewise.
	* libgnat/a-crbtgo.adb: Likewise.
	* libgnat/a-crbtgo.ads: Likewise.
	* libgnat/a-crdlli.adb: Likewise.
	* libgnat/a-crdlli.ads: Likewise.
	* libgnat/a-csquin.ads: Likewise.
	* libgnat/a-cuprqu.adb: Likewise.
	* libgnat/a-cuprqu.ads: Likewise.
	* libgnat/a-cusyqu.adb: Likewise.
	* libgnat/a-cusyqu.ads: Likewise.
	* libgnat/a-cwila1.ads: Likewise.
	* libgnat/a-cwila9.ads: Likewise.
	* libgnat/a-decima.adb: Likewise.
	* libgnat/a-decima.ads: Likewise.
	* libgnat/a-dhfina.adb: Likewise.
	* libgnat/a-dhfina.ads: Likewise.
	* libgnat/a-diocst.adb: Likewise.
	* libgnat/a-diocst.ads: Likewise.
	* libgnat/a-direct.adb: Likewise.
	* libgnat/a-direct.ads: Likewise.
	* libgnat/a-direio.adb: Likewise.
	* libgnat/a-direio.ads: Likewise.
	* libgnat/a-dirval.adb: Likewise.
	* libgnat/a-dirval.ads: Likewise.
	* libgnat/a-dirval__mingw.adb: Likewise.
	* libgnat/a-einuoc.adb: Likewise.
	* libgnat/a-einuoc.ads: Likewise.
	* libgnat/a-elchha.adb: Likewise.
	* libgnat/a-elchha.ads: Likewise.
	* libgnat/a-elchha__vxworks-ppc-full.adb: Likewise.
	* libgnat/a-envvar.adb: Likewise.
	* libgnat/a-excach.adb: Likewise.
	* libgnat/a-except.adb: Likewise.
	* libgnat/a-except.ads: Likewise.
	* libgnat/a-excpol.adb: Likewise.
	* libgnat/a-excpol__abort.adb: Likewise.
	* libgnat/a-exctra.adb: Likewise.
	* libgnat/a-exctra.ads: Likewise.
	* libgnat/a-exexda.adb: Likewise.
	* libgnat/a-exexpr.adb: Likewise.
	* libgnat/a-exextr.adb: Likewise.
	* libgnat/a-exstat.adb: Likewise.
	* libgnat/a-finali.adb: Likewise.
	* libgnat/a-finali.ads: Likewise.
	* libgnat/a-locale.adb: Likewise.
	* libgnat/a-locale.ads: Likewise.
	* libgnat/a-nbnbin.adb: Likewise.
	* libgnat/a-nbnbin__gmp.adb: Likewise.
	* libgnat/a-nbnbre.adb: Likewise.
	* libgnat/a-ngcefu.adb: Likewise.
	* libgnat/a-ngcoar.adb: Likewise.
	* libgnat/a-ngcoty.adb: Likewise.
	* libgnat/a-ngcoty.ads: Likewise.
	* libgnat/a-ngelfu.adb: Likewise.
	* libgnat/a-ngelfu.ads: Likewise.
	* libgnat/a-ngrear.adb: Likewise.
	* libgnat/a-ngrear.ads: Likewise.
	* libgnat/a-nudira.adb: Likewise.
	* libgnat/a-nudira.ads: Likewise.
	* libgnat/a-nuflra.adb: Likewise.
	* libgnat/a-nuflra.ads: Likewise.
	* libgnat/a-numaux.ads: Likewise.
	* libgnat/a-numaux__darwin.adb: Likewise.
	* libgnat/a-numaux__darwin.ads: Likewise.
	* libgnat/a-numaux__libc-x86.ads: Likewise.
	* libgnat/a-numaux__vxworks.ads: Likewise.
	* libgnat/a-numaux__x86.adb: Likewise.
	* libgnat/a-numaux__x86.ads: Likewise.
	* libgnat/a-rbtgbk.adb: Likewise.
	* libgnat/a-rbtgbk.ads: Likewise.
	* libgnat/a-rbtgbo.adb: Likewise.
	* libgnat/a-rbtgbo.ads: Likewise.
	* libgnat/a-rbtgso.adb: Likewise.
	* libgnat/a-rbtgso.ads: Likewise.
	* libgnat/a-sbecin.adb: Likewise.
	* libgnat/a-sbecin.ads: Likewise.
	* libgnat/a-sbhcin.adb: Likewise.
	* libgnat/a-sbhcin.ads: Likewise.
	* libgnat/a-sblcin.adb: Likewise.
	* libgnat/a-sblcin.ads: Likewise.
	* libgnat/a-secain.adb: Likewise.
	* libgnat/a-secain.ads: Likewise.
	* libgnat/a-sequio.adb: Likewise.
	* libgnat/a-sequio.ads: Likewise.
	* libgnat/a-sfecin.ads: Likewise.
	* libgnat/a-sfhcin.ads: Likewise.
	* libgnat/a-sflcin.ads: Likewise.
	* libgnat/a-shcain.adb: Likewise.
	* libgnat/a-shcain.ads: Likewise.
	* libgnat/a-siocst.adb: Likewise.
	* libgnat/a-siocst.ads: Likewise.
	* libgnat/a-slcain.adb: Likewise.
	* libgnat/a-slcain.ads: Likewise.
	* libgnat/a-ssicst.adb: Likewise.
	* libgnat/a-ssicst.ads: Likewise.
	* libgnat/a-stboha.adb: Likewise.
	* libgnat/a-stmaco.ads: Likewise.
	* libgnat/a-storio.adb: Likewise.
	* libgnat/a-strbou.adb: Likewise.
	* libgnat/a-strbou.ads: Likewise.
	* libgnat/a-stream.adb: Likewise.
	* libgnat/a-stream.ads: Likewise.
	* libgnat/a-strfix.adb: Likewise.
	* libgnat/a-strhas.adb: Likewise.
	* libgnat/a-strmap.adb: Likewise.
	* libgnat/a-strmap.ads: Likewise.
	* libgnat/a-strsea.adb: Likewise.
	* libgnat/a-strsea.ads: Likewise.
	* libgnat/a-strsup.adb: Likewise.
	* libgnat/a-strsup.ads: Likewise.
	* libgnat/a-strunb.adb: Likewise.
	* libgnat/a-strunb.ads: Likewise.
	* libgnat/a-strunb__shared.adb: Likewise.
	* libgnat/a-strunb__shared.ads: Likewise.
	* libgnat/a-ststio.adb: Likewise.
	* libgnat/a-ststio.ads: Likewise.
	* libgnat/a-stunau.adb: Likewise.
	* libgnat/a-stunau.ads: Likewise.
	* libgnat/a-stunau__shared.adb: Likewise.
	* libgnat/a-stunha.adb: Likewise.
	* libgnat/a-stuten.adb: Likewise.
	* libgnat/a-stwibo.adb: Likewise.
	* libgnat/a-stwibo.ads: Likewise.
	* libgnat/a-stwifi.adb: Likewise.
	* libgnat/a-stwiha.adb: Likewise.
	* libgnat/a-stwima.adb: Likewise.
	* libgnat/a-stwima.ads: Likewise.
	* libgnat/a-stwise.adb: Likewise.
	* libgnat/a-stwise.ads: Likewise.
	* libgnat/a-stwisu.adb: Likewise.
	* libgnat/a-stwisu.ads: Likewise.
	* libgnat/a-stwiun.adb: Likewise.
	* libgnat/a-stwiun.ads: Likewise.
	* libgnat/a-stwiun__shared.adb: Likewise.
	* libgnat/a-stwiun__shared.ads: Likewise.
	* libgnat/a-stzbou.adb: Likewise.
	* libgnat/a-stzbou.ads: Likewise.
	* libgnat/a-stzfix.adb: Likewise.
	* libgnat/a-stzhas.adb: Likewise.
	* libgnat/a-stzmap.adb: Likewise.
	* libgnat/a-stzmap.ads: Likewise.
	* libgnat/a-stzsea.adb: Likewise.
	* libgnat/a-stzsea.ads: Likewise.
	* libgnat/a-stzsup.adb: Likewise.
	* libgnat/a-stzsup.ads: Likewise.
	* libgnat/a-stzunb.adb: Likewise.
	* libgnat/a-stzunb.ads: Likewise.
	* libgnat/a-stzunb__shared.adb: Likewise.
	* libgnat/a-stzunb__shared.ads: Likewise.
	* libgnat/a-suecin.adb: Likewise.
	* libgnat/a-suecin.ads: Likewise.
	* libgnat/a-suenco.adb: Likewise.
	* libgnat/a-suenst.adb: Likewise.
	* libgnat/a-suewst.adb: Likewise.
	* libgnat/a-suezst.adb: Likewise.
	* libgnat/a-suhcin.adb: Likewise.
	* libgnat/a-suhcin.ads: Likewise.
	* libgnat/a-sulcin.adb: Likewise.
	* libgnat/a-sulcin.ads: Likewise.
	* libgnat/a-suteio.adb: Likewise.
	* libgnat/a-suteio.ads: Likewise.
	* libgnat/a-suteio__shared.adb: Likewise.
	* libgnat/a-swbwha.adb: Likewise.
	* libgnat/a-swmwco.ads: Likewise.
	* libgnat/a-swunau.adb: Likewise.
	* libgnat/a-swunau.ads: Likewise.
	* libgnat/a-swunau__shared.adb: Likewise.
	* libgnat/a-swuwha.adb: Likewise.
	* libgnat/a-swuwti.adb: Likewise.
	* libgnat/a-swuwti.ads: Likewise.
	* libgnat/a-swuwti__shared.adb: Likewise.
	* libgnat/a-szbzha.adb: Likewise.
	* libgnat/a-szmzco.ads: Likewise.
	* libgnat/a-szunau.adb: Likewise.
	* libgnat/a-szunau.ads: Likewise.
	* libgnat/a-szunau__shared.adb: Likewise.
	* libgnat/a-szuzha.adb: Likewise.
	* libgnat/a-szuzti.adb: Likewise.
	* libgnat/a-szuzti.ads: Likewise.
	* libgnat/a-szuzti__shared.adb: Likewise.
	* libgnat/a-tags.adb: Likewise.
	* libgnat/a-tags.ads: Likewise.
	* libgnat/a-teioed.adb: Likewise.
	* libgnat/a-teioed.ads: Likewise.
	* libgnat/a-textio.adb: Likewise.
	* libgnat/a-textio.ads: Likewise.
	* libgnat/a-tiboio.adb: Likewise.
	* libgnat/a-ticoau.adb: Likewise.
	* libgnat/a-ticoau.ads: Likewise.
	* libgnat/a-ticoio.adb: Likewise.
	* libgnat/a-ticoio.ads: Likewise.
	* libgnat/a-tideau.adb: Likewise.
	* libgnat/a-tideau.ads: Likewise.
	* libgnat/a-tideio.adb: Likewise.
	* libgnat/a-tideio.ads: Likewise.
	* libgnat/a-tienau.adb: Likewise.
	* libgnat/a-tienau.ads: Likewise.
	* libgnat/a-tienio.adb: Likewise.
	* libgnat/a-tifiio.adb: Likewise.
	* libgnat/a-tiflau.adb: Likewise.
	* libgnat/a-tiflau.ads: Likewise.
	* libgnat/a-tiflio.adb: Likewise.
	* libgnat/a-tiflio.ads: Likewise.
	* libgnat/a-tigeau.adb: Likewise.
	* libgnat/a-tigeau.ads: Likewise.
	* libgnat/a-tigeli.adb: Likewise.
	* libgnat/a-tiinau.adb: Likewise.
	* libgnat/a-tiinau.ads: Likewise.
	* libgnat/a-tiinio.adb: Likewise.
	* libgnat/a-tiinio.ads: Likewise.
	* libgnat/a-timoau.adb: Likewise.
	* libgnat/a-timoau.ads: Likewise.
	* libgnat/a-timoio.adb: Likewise.
	* libgnat/a-timoio.ads: Likewise.
	* libgnat/a-tiocst.adb: Likewise.
	* libgnat/a-tiocst.ads: Likewise.
	* libgnat/a-tirsfi.adb: Likewise.
	* libgnat/a-tirsfi.ads: Likewise.
	* libgnat/a-titest.adb: Likewise.
	* libgnat/a-undesu.adb: Likewise.
	* libgnat/a-wichha.adb: Likewise.
	* libgnat/a-wichun.adb: Likewise.
	* libgnat/a-wichun.ads: Likewise.
	* libgnat/a-witeio.adb: Likewise.
	* libgnat/a-witeio.ads: Likewise.
	* libgnat/a-wrstfi.adb: Likewise.
	* libgnat/a-wrstfi.ads: Likewise.
	* libgnat/a-wtcoau.adb: Likewise.
	* libgnat/a-wtcoau.ads: Likewise.
	* libgnat/a-wtcoio.adb: Likewise.
	* libgnat/a-wtcstr.adb: Likewise.
	* libgnat/a-wtcstr.ads: Likewise.
	* libgnat/a-wtdeau.adb: Likewise.
	* libgnat/a-wtdeau.ads: Likewise.
	* libgnat/a-wtdeio.adb: Likewise.
	* libgnat/a-wtedit.adb: Likewise.
	* libgnat/a-wtedit.ads: Likewise.
	* libgnat/a-wtenau.adb: Likewise.
	* libgnat/a-wtenau.ads: Likewise.
	* libgnat/a-wtenio.adb: Likewise.
	* libgnat/a-wtfiio.adb: Likewise.
	* libgnat/a-wtflau.adb: Likewise.
	* libgnat/a-wtflau.ads: Likewise.
	* libgnat/a-wtflio.adb: Likewise.
	* libgnat/a-wtgeau.adb: Likewise.
	* libgnat/a-wtgeau.ads: Likewise.
	* libgnat/a-wtinau.adb: Likewise.
	* libgnat/a-wtinau.ads: Likewise.
	* libgnat/a-wtinio.adb: Likewise.
	* libgnat/a-wtmoau.adb: Likewise.
	* libgnat/a-wtmoau.ads: Likewise.
	* libgnat/a-wtmoio.adb: Likewise.
	* libgnat/a-wtmoio.ads: Likewise.
	* libgnat/a-wttest.adb: Likewise.
	* libgnat/a-wwboio.adb: Likewise.
	* libgnat/a-zchhan.adb: Likewise.
	* libgnat/a-zchuni.adb: Likewise.
	* libgnat/a-zchuni.ads: Likewise.
	* libgnat/a-zrstfi.adb: Likewise.
	* libgnat/a-zrstfi.ads: Likewise.
	* libgnat/a-ztcoau.adb: Likewise.
	* libgnat/a-ztcoio.adb: Likewise.
	* libgnat/a-ztcstr.adb: Likewise.
	* libgnat/a-ztcstr.ads: Likewise.
	* libgnat/a-ztdeau.adb: Likewise.
	* libgnat/a-ztdeau.ads: Likewise.
	* libgnat/a-ztdeio.adb: Likewise.
	* libgnat/a-ztedit.adb: Likewise.
	* libgnat/a-ztedit.ads: Likewise.
	* libgnat/a-ztenau.adb: Likewise.
	* libgnat/a-ztenau.ads: Likewise.
	* libgnat/a-ztenio.adb: Likewise.
	* libgnat/a-ztexio.adb: Likewise.
	* libgnat/a-ztexio.ads: Likewise.
	* libgnat/a-ztfiio.adb: Likewise.
	* libgnat/a-ztflau.adb: Likewise.
	* libgnat/a-ztflau.ads: Likewise.
	* libgnat/a-ztflio.adb: Likewise.
	* libgnat/a-ztgeau.adb: Likewise.
	* libgnat/a-ztgeau.ads: Likewise.
	* libgnat/a-ztinau.adb: Likewise.
	* libgnat/a-ztinau.ads: Likewise.
	* libgnat/a-ztinio.adb: Likewise.
	* libgnat/a-ztmoau.adb: Likewise.
	* libgnat/a-ztmoau.ads: Likewise.
	* libgnat/a-ztmoio.adb: Likewise.
	* libgnat/a-zttest.adb: Likewise.
	* libgnat/a-zzboio.adb: Likewise.
	* libgnat/g-allein.ads: Likewise.
	* libgnat/g-alleve.adb: Likewise.
	* libgnat/g-alleve.ads: Likewise.
	* libgnat/g-alleve__hard.adb: Likewise.
	* libgnat/g-alleve__hard.ads: Likewise.
	* libgnat/g-altcon.adb: Likewise.
	* libgnat/g-altcon.ads: Likewise.
	* libgnat/g-altive.ads: Likewise.
	* libgnat/g-alveop.adb: Likewise.
	* libgnat/g-alveop.ads: Likewise.
	* libgnat/g-alvety.ads: Likewise.
	* libgnat/g-alvevi.ads: Likewise.
	* libgnat/g-arrspl.adb: Likewise.
	* libgnat/g-arrspl.ads: Likewise.
	* libgnat/g-awk.adb: Likewise.
	* libgnat/g-awk.ads: Likewise.
	* libgnat/g-binenv.adb: Likewise.
	* libgnat/g-binenv.ads: Likewise.
	* libgnat/g-brapre.ads: Likewise.
	* libgnat/g-bubsor.adb: Likewise.
	* libgnat/g-bubsor.ads: Likewise.
	* libgnat/g-busora.adb: Likewise.
	* libgnat/g-busora.ads: Likewise.
	* libgnat/g-busorg.adb: Likewise.
	* libgnat/g-busorg.ads: Likewise.
	* libgnat/g-byorma.adb: Likewise.
	* libgnat/g-byorma.ads: Likewise.
	* libgnat/g-bytswa.adb: Likewise.
	* libgnat/g-bytswa.ads: Likewise.
	* libgnat/g-calend.adb: Likewise.
	* libgnat/g-calend.ads: Likewise.
	* libgnat/g-casuti.adb: Likewise.
	* libgnat/g-casuti.ads: Likewise.
	* libgnat/g-catiio.adb: Likewise.
	* libgnat/g-catiio.ads: Likewise.
	* libgnat/g-cgi.adb: Likewise.
	* libgnat/g-cgi.ads: Likewise.
	* libgnat/g-cgicoo.adb: Likewise.
	* libgnat/g-cgicoo.ads: Likewise.
	* libgnat/g-cgideb.adb: Likewise.
	* libgnat/g-cgideb.ads: Likewise.
	* libgnat/g-comlin.adb: Likewise.
	* libgnat/g-comlin.ads: Likewise.
	* libgnat/g-comver.adb: Likewise.
	* libgnat/g-comver.ads: Likewise.
	* libgnat/g-cppexc.adb: Likewise.
	* libgnat/g-cppexc.ads: Likewise.
	* libgnat/g-crc32.adb: Likewise.
	* libgnat/g-crc32.ads: Likewise.
	* libgnat/g-ctrl_c.adb: Likewise.
	* libgnat/g-ctrl_c.ads: Likewise.
	* libgnat/g-curexc.ads: Likewise.
	* libgnat/g-debpoo.adb: Likewise.
	* libgnat/g-debpoo.ads: Likewise.
	* libgnat/g-debuti.adb: Likewise.
	* libgnat/g-debuti.ads: Likewise.
	* libgnat/g-decstr.adb: Likewise.
	* libgnat/g-decstr.ads: Likewise.
	* libgnat/g-deutst.ads: Likewise.
	* libgnat/g-diopit.adb: Likewise.
	* libgnat/g-diopit.ads: Likewise.
	* libgnat/g-dirope.adb: Likewise.
	* libgnat/g-dirope.ads: Likewise.
	* libgnat/g-dynhta.adb: Likewise.
	* libgnat/g-dynhta.ads: Likewise.
	* libgnat/g-dyntab.adb: Likewise.
	* libgnat/g-dyntab.ads: Likewise.
	* libgnat/g-eacodu.adb: Likewise.
	* libgnat/g-encstr.adb: Likewise.
	* libgnat/g-encstr.ads: Likewise.
	* libgnat/g-enutst.ads: Likewise.
	* libgnat/g-excact.adb: Likewise.
	* libgnat/g-excact.ads: Likewise.
	* libgnat/g-except.ads: Likewise.
	* libgnat/g-exctra.adb: Likewise.
	* libgnat/g-exctra.ads: Likewise.
	* libgnat/g-expect.adb: Likewise.
	* libgnat/g-expect.ads: Likewise.
	* libgnat/g-exptty.adb: Likewise.
	* libgnat/g-exptty.ads: Likewise.
	* libgnat/g-flocon.ads: Likewise.
	* libgnat/g-forstr.adb: Likewise.
	* libgnat/g-forstr.ads: Likewise.
	* libgnat/g-graphs.adb: Likewise.
	* libgnat/g-graphs.ads: Likewise.
	* libgnat/g-heasor.adb: Likewise.
	* libgnat/g-heasor.ads: Likewise.
	* libgnat/g-hesora.adb: Likewise.
	* libgnat/g-hesora.ads: Likewise.
	* libgnat/g-hesorg.adb: Likewise.
	* libgnat/g-hesorg.ads: Likewise.
	* libgnat/g-htable.adb: Likewise.
	* libgnat/g-htable.ads: Likewise.
	* libgnat/g-io-put__vxworks.adb: Likewise.
	* libgnat/g-io.adb: Likewise.
	* libgnat/g-io.ads: Likewise.
	* libgnat/g-io_aux.adb: Likewise.
	* libgnat/g-io_aux.ads: Likewise.
	* libgnat/g-lists.adb: Likewise.
	* libgnat/g-lists.ads: Likewise.
	* libgnat/g-locfil.adb: Likewise.
	* libgnat/g-locfil.ads: Likewise.
	* libgnat/g-mbdira.adb: Likewise.
	* libgnat/g-mbdira.ads: Likewise.
	* libgnat/g-mbflra.adb: Likewise.
	* libgnat/g-mbflra.ads: Likewise.
	* libgnat/g-md5.adb: Likewise.
	* libgnat/g-md5.ads: Likewise.
	* libgnat/g-memdum.adb: Likewise.
	* libgnat/g-memdum.ads: Likewise.
	* libgnat/g-moreex.adb: Likewise.
	* libgnat/g-moreex.ads: Likewise.
	* libgnat/g-os_lib.adb: Likewise.
	* libgnat/g-os_lib.ads: Likewise.
	* libgnat/g-pehage.adb: Likewise.
	* libgnat/g-pehage.ads: Likewise.
	* libgnat/g-rannum.adb: Likewise.
	* libgnat/g-rannum.ads: Likewise.
	* libgnat/g-regexp.adb: Likewise.
	* libgnat/g-regexp.ads: Likewise.
	* libgnat/g-regist.adb: Likewise.
	* libgnat/g-regist.ads: Likewise.
	* libgnat/g-regpat.adb: Likewise.
	* libgnat/g-regpat.ads: Likewise.
	* libgnat/g-rewdat.adb: Likewise.
	* libgnat/g-rewdat.ads: Likewise.
	* libgnat/g-sechas.adb: Likewise.
	* libgnat/g-sechas.ads: Likewise.
	* libgnat/g-sehamd.adb: Likewise.
	* libgnat/g-sehamd.ads: Likewise.
	* libgnat/g-sehash.adb: Likewise.
	* libgnat/g-sehash.ads: Likewise.
	* libgnat/g-sercom.adb: Likewise.
	* libgnat/g-sercom.ads: Likewise.
	* libgnat/g-sercom__linux.adb: Likewise.
	* libgnat/g-sercom__mingw.adb: Likewise.
	* libgnat/g-sestin.ads: Likewise.
	* libgnat/g-sets.adb: Likewise.
	* libgnat/g-sets.ads: Likewise.
	* libgnat/g-sha1.adb: Likewise.
	* libgnat/g-sha1.ads: Likewise.
	* libgnat/g-sha224.ads: Likewise.
	* libgnat/g-sha256.ads: Likewise.
	* libgnat/g-sha384.ads: Likewise.
	* libgnat/g-sha512.ads: Likewise.
	* libgnat/g-shsh32.adb: Likewise.
	* libgnat/g-shsh32.ads: Likewise.
	* libgnat/g-shsh64.adb: Likewise.
	* libgnat/g-shsh64.ads: Likewise.
	* libgnat/g-shshco.adb: Likewise.
	* libgnat/g-shshco.ads: Likewise.
	* libgnat/g-soccon.ads: Likewise.
	* libgnat/g-socket.adb: Likewise.
	* libgnat/g-socket.ads: Likewise.
	* libgnat/g-socket__dummy.adb: Likewise.
	* libgnat/g-socket__dummy.ads: Likewise.
	* libgnat/g-socthi.adb: Likewise.
	* libgnat/g-socthi.ads: Likewise.
	* libgnat/g-socthi__dummy.adb: Likewise.
	* libgnat/g-socthi__dummy.ads: Likewise.
	* libgnat/g-socthi__mingw.adb: Likewise.
	* libgnat/g-socthi__mingw.ads: Likewise.
	* libgnat/g-socthi__vxworks.adb: Likewise.
	* libgnat/g-socthi__vxworks.ads: Likewise.
	* libgnat/g-soliop.ads: Likewise.
	* libgnat/g-soliop__lynxos.ads: Likewise.
	* libgnat/g-soliop__mingw.ads: Likewise.
	* libgnat/g-soliop__qnx.ads: Likewise.
	* libgnat/g-soliop__solaris.ads: Likewise.
	* libgnat/g-sothco.adb: Likewise.
	* libgnat/g-sothco.ads: Likewise.
	* libgnat/g-sothco__dummy.adb: Likewise.
	* libgnat/g-sothco__dummy.ads: Likewise.
	* libgnat/g-souinf.ads: Likewise.
	* libgnat/g-spchge.adb: Likewise.
	* libgnat/g-spchge.ads: Likewise.
	* libgnat/g-speche.adb: Likewise.
	* libgnat/g-speche.ads: Likewise.
	* libgnat/g-spipat.adb: Likewise.
	* libgnat/g-spipat.ads: Likewise.
	* libgnat/g-spitbo.adb: Likewise.
	* libgnat/g-spitbo.ads: Likewise.
	* libgnat/g-sptabo.ads: Likewise.
	* libgnat/g-sptain.ads: Likewise.
	* libgnat/g-sptavs.ads: Likewise.
	* libgnat/g-sse.ads: Likewise.
	* libgnat/g-ssvety.ads: Likewise.
	* libgnat/g-sthcso.adb: Likewise.
	* libgnat/g-stheme.adb: Likewise.
	* libgnat/g-strhas.ads: Likewise.
	* libgnat/g-string.adb: Likewise.
	* libgnat/g-string.ads: Likewise.
	* libgnat/g-strspl.ads: Likewise.
	* libgnat/g-stseme.adb: Likewise.
	* libgnat/g-stsifd__sockets.adb: Likewise.
	* libgnat/g-table.adb: Likewise.
	* libgnat/g-table.ads: Likewise.
	* libgnat/g-tasloc.adb: Likewise.
	* libgnat/g-tasloc.ads: Likewise.
	* libgnat/g-timsta.adb: Likewise.
	* libgnat/g-timsta.ads: Likewise.
	* libgnat/g-traceb.adb: Likewise.
	* libgnat/g-traceb.ads: Likewise.
	* libgnat/g-trasym.adb: Likewise.
	* libgnat/g-trasym.ads: Likewise.
	* libgnat/g-tty.adb: Likewise.
	* libgnat/g-tty.ads: Likewise.
	* libgnat/g-u3spch.adb: Likewise.
	* libgnat/g-u3spch.ads: Likewise.
	* libgnat/g-utf_32.adb: Likewise.
	* libgnat/g-utf_32.ads: Likewise.
	* libgnat/g-wispch.adb: Likewise.
	* libgnat/g-wispch.ads: Likewise.
	* libgnat/g-wistsp.ads: Likewise.
	* libgnat/g-zspche.adb: Likewise.
	* libgnat/g-zspche.ads: Likewise.
	* libgnat/g-zstspl.ads: Likewise.
	* libgnat/gnat.ads: Likewise.
	* libgnat/i-c.adb: Likewise.
	* libgnat/i-cexten.ads: Likewise.
	* libgnat/i-cobol.adb: Likewise.
	* libgnat/i-cobol.ads: Likewise.
	* libgnat/i-cpoint.adb: Likewise.
	* libgnat/i-cpoint.ads: Likewise.
	* libgnat/i-cstrea.adb: Likewise.
	* libgnat/i-cstrea.ads: Likewise.
	* libgnat/i-cstrin.adb: Likewise.
	* libgnat/i-cstrin.ads: Likewise.
	* libgnat/i-fortra.adb: Likewise.
	* libgnat/i-pacdec.adb: Likewise.
	* libgnat/i-pacdec.ads: Likewise.
	* libgnat/i-vxwoio.adb: Likewise.
	* libgnat/i-vxwoio.ads: Likewise.
	* libgnat/i-vxwork.ads: Likewise.
	* libgnat/i-vxwork__x86.ads: Likewise.
	* libgnat/interfac.ads: Likewise.
	* libgnat/memtrack.adb: Likewise.
	* libgnat/s-addima.adb: Likewise.
	* libgnat/s-addima.ads: Likewise.
	* libgnat/s-addope.adb: Likewise.
	* libgnat/s-addope.ads: Likewise.
	* libgnat/s-aotase.adb: Likewise.
	* libgnat/s-aotase.ads: Likewise.
	* libgnat/s-arit64.adb: Likewise.
	* libgnat/s-arit64.ads: Likewise.
	* libgnat/s-assert.adb: Likewise.
	* libgnat/s-assert.ads: Likewise.
	* libgnat/s-atacco.adb: Likewise.
	* libgnat/s-atacco.ads: Likewise.
	* libgnat/s-atocou.adb: Likewise.
	* libgnat/s-atocou.ads: Likewise.
	* libgnat/s-atocou__builtin.adb: Likewise.
	* libgnat/s-atocou__x86.adb: Likewise.
	* libgnat/s-atoope.ads: Likewise.
	* libgnat/s-atopar.adb: Likewise.
	* libgnat/s-atopar.ads: Likewise.
	* libgnat/s-atopex.adb: Likewise.
	* libgnat/s-atopex.ads: Likewise.
	* libgnat/s-atopri.adb: Likewise.
	* libgnat/s-atopri.ads: Likewise.
	* libgnat/s-auxdec.adb: Likewise.
	* libgnat/s-auxdec.ads: Likewise.
	* libgnat/s-bignum.adb: Likewise.
	* libgnat/s-bignum.ads: Likewise.
	* libgnat/s-bitfie.ads: Likewise.
	* libgnat/s-bitops.adb: Likewise.
	* libgnat/s-bitops.ads: Likewise.
	* libgnat/s-bituti.adb: Likewise.
	* libgnat/s-bituti.ads: Likewise.
	* libgnat/s-boarop.ads: Likewise.
	* libgnat/s-boustr.adb: Likewise.
	* libgnat/s-boustr.ads: Likewise.
	* libgnat/s-bytswa.ads: Likewise.
	* libgnat/s-carsi8.adb: Likewise.
	* libgnat/s-carsi8.ads: Likewise.
	* libgnat/s-carun8.adb: Likewise.
	* libgnat/s-carun8.ads: Likewise.
	* libgnat/s-casi16.adb: Likewise.
	* libgnat/s-casi16.ads: Likewise.
	* libgnat/s-casi32.adb: Likewise.
	* libgnat/s-casi32.ads: Likewise.
	* libgnat/s-casi64.adb: Likewise.
	* libgnat/s-casi64.ads: Likewise.
	* libgnat/s-casuti.adb: Likewise.
	* libgnat/s-casuti.ads: Likewise.
	* libgnat/s-caun16.adb: Likewise.
	* libgnat/s-caun16.ads: Likewise.
	* libgnat/s-caun32.adb: Likewise.
	* libgnat/s-caun32.ads: Likewise.
	* libgnat/s-caun64.adb: Likewise.
	* libgnat/s-caun64.ads: Likewise.
	* libgnat/s-chepoo.ads: Likewise.
	* libgnat/s-commun.adb: Likewise.
	* libgnat/s-commun.ads: Likewise.
	* libgnat/s-conca2.adb: Likewise.
	* libgnat/s-conca2.ads: Likewise.
	* libgnat/s-conca3.adb: Likewise.
	* libgnat/s-conca3.ads: Likewise.
	* libgnat/s-conca4.adb: Likewise.
	* libgnat/s-conca4.ads: Likewise.
	* libgnat/s-conca5.adb: Likewise.
	* libgnat/s-conca5.ads: Likewise.
	* libgnat/s-conca6.adb: Likewise.
	* libgnat/s-conca6.ads: Likewise.
	* libgnat/s-conca7.adb: Likewise.
	* libgnat/s-conca7.ads: Likewise.
	* libgnat/s-conca8.adb: Likewise.
	* libgnat/s-conca8.ads: Likewise.
	* libgnat/s-conca9.adb: Likewise.
	* libgnat/s-conca9.ads: Likewise.
	* libgnat/s-crc32.adb: Likewise.
	* libgnat/s-crc32.ads: Likewise.
	* libgnat/s-crtl.ads: Likewise.
	* libgnat/s-dfmkio.ads: Likewise.
	* libgnat/s-dfmopr.ads: Likewise.
	* libgnat/s-dgmgop.ads: Likewise.
	* libgnat/s-diflio.adb: Likewise.
	* libgnat/s-diflio.ads: Likewise.
	* libgnat/s-diflmk.ads: Likewise.
	* libgnat/s-digemk.ads: Likewise.
	* libgnat/s-diinio.adb: Likewise.
	* libgnat/s-diinio.ads: Likewise.
	* libgnat/s-dilomk.ads: Likewise.
	* libgnat/s-dim.ads: Likewise.
	* libgnat/s-dimkio.ads: Likewise.
	* libgnat/s-dimmks.ads: Likewise.
	* libgnat/s-direio.adb: Likewise.
	* libgnat/s-direio.ads: Likewise.
	* libgnat/s-dlmkio.ads: Likewise.
	* libgnat/s-dlmopr.ads: Likewise.
	* libgnat/s-dmotpr.ads: Likewise.
	* libgnat/s-dsaser.ads: Likewise.
	* libgnat/s-dwalin.adb: Likewise.
	* libgnat/s-dwalin.ads: Likewise.
	* libgnat/s-elaall.adb: Likewise.
	* libgnat/s-elaall.ads: Likewise.
	* libgnat/s-excdeb.adb: Likewise.
	* libgnat/s-excdeb.ads: Likewise.
	* libgnat/s-except.adb: Likewise.
	* libgnat/s-except.ads: Likewise.
	* libgnat/s-excmac__arm.adb: Likewise.
	* libgnat/s-excmac__arm.ads: Likewise.
	* libgnat/s-excmac__gcc.adb: Likewise.
	* libgnat/s-excmac__gcc.ads: Likewise.
	* libgnat/s-exctab.adb: Likewise.
	* libgnat/s-exctab.ads: Likewise.
	* libgnat/s-exctra.adb: Likewise.
	* libgnat/s-exctra.ads: Likewise.
	* libgnat/s-exnint.adb: Likewise.
	* libgnat/s-exnint.ads: Likewise.
	* libgnat/s-exnllf.adb: Likewise.
	* libgnat/s-exnllf.ads: Likewise.
	* libgnat/s-exnlli.adb: Likewise.
	* libgnat/s-exnlli.ads: Likewise.
	* libgnat/s-expint.adb: Likewise.
	* libgnat/s-expint.ads: Likewise.
	* libgnat/s-explli.adb: Likewise.
	* libgnat/s-explli.ads: Likewise.
	* libgnat/s-expllu.adb: Likewise.
	* libgnat/s-expllu.ads: Likewise.
	* libgnat/s-expmod.adb: Likewise.
	* libgnat/s-expmod.ads: Likewise.
	* libgnat/s-expuns.adb: Likewise.
	* libgnat/s-expuns.ads: Likewise.
	* libgnat/s-fatflt.ads: Likewise.
	* libgnat/s-fatgen.adb: Likewise.
	* libgnat/s-fatgen.ads: Likewise.
	* libgnat/s-fatlfl.ads: Likewise.
	* libgnat/s-fatllf.ads: Likewise.
	* libgnat/s-fatsfl.ads: Likewise.
	* libgnat/s-ficobl.ads: Likewise.
	* libgnat/s-filatt.ads: Likewise.
	* libgnat/s-fileio.adb: Likewise.
	* libgnat/s-fileio.ads: Likewise.
	* libgnat/s-finmas.adb: Likewise.
	* libgnat/s-finmas.ads: Likewise.
	* libgnat/s-finroo.adb: Likewise.
	* libgnat/s-finroo.ads: Likewise.
	* libgnat/s-flocon.adb: Likewise.
	* libgnat/s-flocon.ads: Likewise.
	* libgnat/s-flocon__none.adb: Likewise.
	* libgnat/s-fore.adb: Likewise.
	* libgnat/s-fore.ads: Likewise.
	* libgnat/s-gearop.adb: Likewise.
	* libgnat/s-gearop.ads: Likewise.
	* libgnat/s-genbig.adb: Likewise.
	* libgnat/s-genbig.ads: Likewise.
	* libgnat/s-geveop.adb: Likewise.
	* libgnat/s-geveop.ads: Likewise.
	* libgnat/s-gloloc.adb: Likewise.
	* libgnat/s-gloloc.ads: Likewise.
	* libgnat/s-gloloc__mingw.adb: Likewise.
	* libgnat/s-htable.adb: Likewise.
	* libgnat/s-htable.ads: Likewise.
	* libgnat/s-imenne.adb: Likewise.
	* libgnat/s-imenne.ads: Likewise.
	* libgnat/s-imgbiu.adb: Likewise.
	* libgnat/s-imgbiu.ads: Likewise.
	* libgnat/s-imgboo.adb: Likewise.
	* libgnat/s-imgboo.ads: Likewise.
	* libgnat/s-imgcha.adb: Likewise.
	* libgnat/s-imgcha.ads: Likewise.
	* libgnat/s-imgdec.adb: Likewise.
	* libgnat/s-imgdec.ads: Likewise.
	* libgnat/s-imgenu.adb: Likewise.
	* libgnat/s-imgenu.ads: Likewise.
	* libgnat/s-imgint.adb: Likewise.
	* libgnat/s-imgint.ads: Likewise.
	* libgnat/s-imgllb.adb: Likewise.
	* libgnat/s-imgllb.ads: Likewise.
	* libgnat/s-imglld.adb: Likewise.
	* libgnat/s-imglld.ads: Likewise.
	* libgnat/s-imglli.adb: Likewise.
	* libgnat/s-imglli.ads: Likewise.
	* libgnat/s-imgllu.adb: Likewise.
	* libgnat/s-imgllu.ads: Likewise.
	* libgnat/s-imgllw.adb: Likewise.
	* libgnat/s-imgllw.ads: Likewise.
	* libgnat/s-imgrea.adb: Likewise.
	* libgnat/s-imgrea.ads: Likewise.
	* libgnat/s-imguns.adb: Likewise.
	* libgnat/s-imguns.ads: Likewise.
	* libgnat/s-imgwch.adb: Likewise.
	* libgnat/s-imgwch.ads: Likewise.
	* libgnat/s-imgwiu.adb: Likewise.
	* libgnat/s-imgwiu.ads: Likewise.
	* libgnat/s-io.adb: Likewise.
	* libgnat/s-io.ads: Likewise.
	* libgnat/s-llflex.ads: Likewise.
	* libgnat/s-maccod.ads: Likewise.
	* libgnat/s-mantis.adb: Likewise.
	* libgnat/s-mantis.ads: Likewise.
	* libgnat/s-mastop.adb: Likewise.
	* libgnat/s-mastop.ads: Likewise.
	* libgnat/s-memcop.ads: Likewise.
	* libgnat/s-memory.adb: Likewise.
	* libgnat/s-memory.ads: Likewise.
	* libgnat/s-mmap.adb: Likewise.
	* libgnat/s-mmap.ads: Likewise.
	* libgnat/s-mmauni__long.ads: Likewise.
	* libgnat/s-mmosin__mingw.adb: Likewise.
	* libgnat/s-mmosin__mingw.ads: Likewise.
	* libgnat/s-mmosin__unix.adb: Likewise.
	* libgnat/s-mmosin__unix.ads: Likewise.
	* libgnat/s-multip.adb: Likewise.
	* libgnat/s-objrea.adb: Likewise.
	* libgnat/s-objrea.ads: Likewise.
	* libgnat/s-optide.adb: Likewise.
	* libgnat/s-os_lib.adb: Likewise.
	* libgnat/s-os_lib.ads: Likewise.
	* libgnat/s-osprim.ads: Likewise.
	* libgnat/s-osprim__darwin.adb: Likewise.
	* libgnat/s-osprim__lynxos.ads: Likewise.
	* libgnat/s-osprim__mingw.adb: Likewise.
	* libgnat/s-osprim__posix.adb: Likewise.
	* libgnat/s-osprim__posix2008.adb: Likewise.
	* libgnat/s-osprim__rtems.adb: Likewise.
	* libgnat/s-osprim__solaris.adb: Likewise.
	* libgnat/s-osprim__unix.adb: Likewise.
	* libgnat/s-osprim__vxworks.adb: Likewise.
	* libgnat/s-osprim__x32.adb: Likewise.
	* libgnat/s-osvers__vxworks-653.ads: Likewise.
	* libgnat/s-pack03.adb: Likewise.
	* libgnat/s-pack03.ads: Likewise.
	* libgnat/s-pack05.adb: Likewise.
	* libgnat/s-pack05.ads: Likewise.
	* libgnat/s-pack06.adb: Likewise.
	* libgnat/s-pack06.ads: Likewise.
	* libgnat/s-pack07.adb: Likewise.
	* libgnat/s-pack07.ads: Likewise.
	* libgnat/s-pack09.adb: Likewise.
	* libgnat/s-pack09.ads: Likewise.
	* libgnat/s-pack10.adb: Likewise.
	* libgnat/s-pack10.ads: Likewise.
	* libgnat/s-pack11.adb: Likewise.
	* libgnat/s-pack11.ads: Likewise.
	* libgnat/s-pack12.adb: Likewise.
	* libgnat/s-pack12.ads: Likewise.
	* libgnat/s-pack13.adb: Likewise.
	* libgnat/s-pack13.ads: Likewise.
	* libgnat/s-pack14.adb: Likewise.
	* libgnat/s-pack14.ads: Likewise.
	* libgnat/s-pack15.adb: Likewise.
	* libgnat/s-pack15.ads: Likewise.
	* libgnat/s-pack17.adb: Likewise.
	* libgnat/s-pack17.ads: Likewise.
	* libgnat/s-pack18.adb: Likewise.
	* libgnat/s-pack18.ads: Likewise.
	* libgnat/s-pack19.adb: Likewise.
	* libgnat/s-pack19.ads: Likewise.
	* libgnat/s-pack20.adb: Likewise.
	* libgnat/s-pack20.ads: Likewise.
	* libgnat/s-pack21.adb: Likewise.
	* libgnat/s-pack21.ads: Likewise.
	* libgnat/s-pack22.adb: Likewise.
	* libgnat/s-pack22.ads: Likewise.
	* libgnat/s-pack23.adb: Likewise.
	* libgnat/s-pack23.ads: Likewise.
	* libgnat/s-pack24.adb: Likewise.
	* libgnat/s-pack24.ads: Likewise.
	* libgnat/s-pack25.adb: Likewise.
	* libgnat/s-pack25.ads: Likewise.
	* libgnat/s-pack26.adb: Likewise.
	* libgnat/s-pack26.ads: Likewise.
	* libgnat/s-pack27.adb: Likewise.
	* libgnat/s-pack27.ads: Likewise.
	* libgnat/s-pack28.adb: Likewise.
	* libgnat/s-pack28.ads: Likewise.
	* libgnat/s-pack29.adb: Likewise.
	* libgnat/s-pack29.ads: Likewise.
	* libgnat/s-pack30.adb: Likewise.
	* libgnat/s-pack30.ads: Likewise.
	* libgnat/s-pack31.adb: Likewise.
	* libgnat/s-pack31.ads: Likewise.
	* libgnat/s-pack33.adb: Likewise.
	* libgnat/s-pack33.ads: Likewise.
	* libgnat/s-pack34.adb: Likewise.
	* libgnat/s-pack34.ads: Likewise.
	* libgnat/s-pack35.adb: Likewise.
	* libgnat/s-pack35.ads: Likewise.
	* libgnat/s-pack36.adb: Likewise.
	* libgnat/s-pack36.ads: Likewise.
	* libgnat/s-pack37.adb: Likewise.
	* libgnat/s-pack37.ads: Likewise.
	* libgnat/s-pack38.adb: Likewise.
	* libgnat/s-pack38.ads: Likewise.
	* libgnat/s-pack39.adb: Likewise.
	* libgnat/s-pack39.ads: Likewise.
	* libgnat/s-pack40.adb: Likewise.
	* libgnat/s-pack40.ads: Likewise.
	* libgnat/s-pack41.adb: Likewise.
	* libgnat/s-pack41.ads: Likewise.
	* libgnat/s-pack42.adb: Likewise.
	* libgnat/s-pack42.ads: Likewise.
	* libgnat/s-pack43.adb: Likewise.
	* libgnat/s-pack43.ads: Likewise.
	* libgnat/s-pack44.adb: Likewise.
	* libgnat/s-pack44.ads: Likewise.
	* libgnat/s-pack45.adb: Likewise.
	* libgnat/s-pack45.ads: Likewise.
	* libgnat/s-pack46.adb: Likewise.
	* libgnat/s-pack46.ads: Likewise.
	* libgnat/s-pack47.adb: Likewise.
	* libgnat/s-pack47.ads: Likewise.
	* libgnat/s-pack48.adb: Likewise.
	* libgnat/s-pack48.ads: Likewise.
	* libgnat/s-pack49.adb: Likewise.
	* libgnat/s-pack49.ads: Likewise.
	* libgnat/s-pack50.adb: Likewise.
	* libgnat/s-pack50.ads: Likewise.
	* libgnat/s-pack51.adb: Likewise.
	* libgnat/s-pack51.ads: Likewise.
	* libgnat/s-pack52.adb: Likewise.
	* libgnat/s-pack52.ads: Likewise.
	* libgnat/s-pack53.adb: Likewise.
	* libgnat/s-pack53.ads: Likewise.
	* libgnat/s-pack54.adb: Likewise.
	* libgnat/s-pack54.ads: Likewise.
	* libgnat/s-pack55.adb: Likewise.
	* libgnat/s-pack55.ads: Likewise.
	* libgnat/s-pack56.adb: Likewise.
	* libgnat/s-pack56.ads: Likewise.
	* libgnat/s-pack57.adb: Likewise.
	* libgnat/s-pack57.ads: Likewise.
	* libgnat/s-pack58.adb: Likewise.
	* libgnat/s-pack58.ads: Likewise.
	* libgnat/s-pack59.adb: Likewise.
	* libgnat/s-pack59.ads: Likewise.
	* libgnat/s-pack60.adb: Likewise.
	* libgnat/s-pack60.ads: Likewise.
	* libgnat/s-pack61.adb: Likewise.
	* libgnat/s-pack61.ads: Likewise.
	* libgnat/s-pack62.adb: Likewise.
	* libgnat/s-pack62.ads: Likewise.
	* libgnat/s-pack63.adb: Likewise.
	* libgnat/s-pack63.ads: Likewise.
	* libgnat/s-parame.adb: Likewise.
	* libgnat/s-parame.ads: Likewise.
	* libgnat/s-parame__ae653.ads: Likewise.
	* libgnat/s-parame__hpux.ads: Likewise.
	* libgnat/s-parame__rtems.adb: Likewise.
	* libgnat/s-parame__vxworks.adb: Likewise.
	* libgnat/s-parame__vxworks.ads: Likewise.
	* libgnat/s-parint.adb: Likewise.
	* libgnat/s-parint.ads: Likewise.
	* libgnat/s-pooglo.adb: Likewise.
	* libgnat/s-pooglo.ads: Likewise.
	* libgnat/s-pooloc.adb: Likewise.
	* libgnat/s-pooloc.ads: Likewise.
	* libgnat/s-poosiz.adb: Likewise.
	* libgnat/s-poosiz.ads: Likewise.
	* libgnat/s-powtab.ads: Likewise.
	* libgnat/s-purexc.ads: Likewise.
	* libgnat/s-rannum.adb: Likewise.
	* libgnat/s-rannum.ads: Likewise.
	* libgnat/s-ransee.adb: Likewise.
	* libgnat/s-ransee.ads: Likewise.
	* libgnat/s-regexp.adb: Likewise.
	* libgnat/s-regexp.ads: Likewise.
	* libgnat/s-regpat.adb: Likewise.
	* libgnat/s-regpat.ads: Likewise.
	* libgnat/s-resfil.adb: Likewise.
	* libgnat/s-resfil.ads: Likewise.
	* libgnat/s-restri.adb: Likewise.
	* libgnat/s-restri.ads: Likewise.
	* libgnat/s-rident.ads: Likewise.
	* libgnat/s-rpc.adb: Likewise.
	* libgnat/s-rpc.ads: Likewise.
	* libgnat/s-scaval.adb: Likewise.
	* libgnat/s-scaval.ads: Likewise.
	* libgnat/s-secsta.adb: Likewise.
	* libgnat/s-secsta.ads: Likewise.
	* libgnat/s-sequio.adb: Likewise.
	* libgnat/s-sequio.ads: Likewise.
	* libgnat/s-shasto.adb: Likewise.
	* libgnat/s-shasto.ads: Likewise.
	* libgnat/s-soflin.adb: Likewise.
	* libgnat/s-soflin.ads: Likewise.
	* libgnat/s-soliin.adb: Likewise.
	* libgnat/s-soliin.ads: Likewise.
	* libgnat/s-sopco3.adb: Likewise.
	* libgnat/s-sopco3.ads: Likewise.
	* libgnat/s-sopco4.adb: Likewise.
	* libgnat/s-sopco4.ads: Likewise.
	* libgnat/s-sopco5.adb: Likewise.
	* libgnat/s-sopco5.ads: Likewise.
	* libgnat/s-spsufi.adb: Likewise.
	* libgnat/s-spsufi.ads: Likewise.
	* libgnat/s-stache.adb: Likewise.
	* libgnat/s-stache.ads: Likewise.
	* libgnat/s-stalib.adb: Likewise.
	* libgnat/s-stalib.ads: Likewise.
	* libgnat/s-stausa.adb: Likewise.
	* libgnat/s-stausa.ads: Likewise.
	* libgnat/s-stchop.adb: Likewise.
	* libgnat/s-stchop.ads: Likewise.
	* libgnat/s-stchop__limit.ads: Likewise.
	* libgnat/s-stchop__rtems.adb: Likewise.
	* libgnat/s-stchop__vxworks.adb: Likewise.
	* libgnat/s-stoele.adb: Likewise.
	* libgnat/s-stoele.ads: Likewise.
	* libgnat/s-stopoo.adb: Likewise.
	* libgnat/s-stopoo.ads: Likewise.
	* libgnat/s-stposu.adb: Likewise.
	* libgnat/s-stposu.ads: Likewise.
	* libgnat/s-stratt.adb: Likewise.
	* libgnat/s-stratt.ads: Likewise.
	* libgnat/s-stratt__xdr.adb: Likewise.
	* libgnat/s-strcom.adb: Likewise.
	* libgnat/s-strcom.ads: Likewise.
	* libgnat/s-strhas.adb: Likewise.
	* libgnat/s-strhas.ads: Likewise.
	* libgnat/s-string.adb: Likewise.
	* libgnat/s-string.ads: Likewise.
	* libgnat/s-strops.adb: Likewise.
	* libgnat/s-strops.ads: Likewise.
	* libgnat/s-ststop.adb: Likewise.
	* libgnat/s-ststop.ads: Likewise.
	* libgnat/s-tasloc.adb: Likewise.
	* libgnat/s-tasloc.ads: Likewise.
	* libgnat/s-thread.ads: Likewise.
	* libgnat/s-thread__ae653.adb: Likewise.
	* libgnat/s-traceb.adb: Likewise.
	* libgnat/s-traceb.ads: Likewise.
	* libgnat/s-traceb__hpux.adb: Likewise.
	* libgnat/s-traceb__mastop.adb: Likewise.
	* libgnat/s-traent.adb: Likewise.
	* libgnat/s-traent.ads: Likewise.
	* libgnat/s-trasym.adb: Likewise.
	* libgnat/s-trasym.ads: Likewise.
	* libgnat/s-trasym__dwarf.adb: Likewise.
	* libgnat/s-tsmona.adb: Likewise.
	* libgnat/s-tsmona__linux.adb: Likewise.
	* libgnat/s-tsmona__mingw.adb: Likewise.
	* libgnat/s-unstyp.ads: Likewise.
	* libgnat/s-utf_32.adb: Likewise.
	* libgnat/s-utf_32.ads: Likewise.
	* libgnat/s-valboo.adb: Likewise.
	* libgnat/s-valboo.ads: Likewise.
	* libgnat/s-valcha.adb: Likewise.
	* libgnat/s-valcha.ads: Likewise.
	* libgnat/s-valdec.adb: Likewise.
	* libgnat/s-valdec.ads: Likewise.
	* libgnat/s-valenu.adb: Likewise.
	* libgnat/s-valenu.ads: Likewise.
	* libgnat/s-valint.adb: Likewise.
	* libgnat/s-valint.ads: Likewise.
	* libgnat/s-vallld.adb: Likewise.
	* libgnat/s-vallld.ads: Likewise.
	* libgnat/s-vallli.adb: Likewise.
	* libgnat/s-vallli.ads: Likewise.
	* libgnat/s-valllu.adb: Likewise.
	* libgnat/s-valllu.ads: Likewise.
	* libgnat/s-valrea.adb: Likewise.
	* libgnat/s-valrea.ads: Likewise.
	* libgnat/s-valuns.adb: Likewise.
	* libgnat/s-valuns.ads: Likewise.
	* libgnat/s-valuti.adb: Likewise.
	* libgnat/s-valuti.ads: Likewise.
	* libgnat/s-valwch.adb: Likewise.
	* libgnat/s-valwch.ads: Likewise.
	* libgnat/s-veboop.adb: Likewise.
	* libgnat/s-veboop.ads: Likewise.
	* libgnat/s-vector.ads: Likewise.
	* libgnat/s-vercon.adb: Likewise.
	* libgnat/s-vercon.ads: Likewise.
	* libgnat/s-wchcnv.adb: Likewise.
	* libgnat/s-wchcnv.ads: Likewise.
	* libgnat/s-wchcon.adb: Likewise.
	* libgnat/s-wchcon.ads: Likewise.
	* libgnat/s-wchjis.adb: Likewise.
	* libgnat/s-wchjis.ads: Likewise.
	* libgnat/s-wchstw.adb: Likewise.
	* libgnat/s-wchstw.ads: Likewise.
	* libgnat/s-wchwts.adb: Likewise.
	* libgnat/s-wchwts.ads: Likewise.
	* libgnat/s-widboo.adb: Likewise.
	* libgnat/s-widboo.ads: Likewise.
	* libgnat/s-widcha.adb: Likewise.
	* libgnat/s-widcha.ads: Likewise.
	* libgnat/s-widenu.adb: Likewise.
	* libgnat/s-widenu.ads: Likewise.
	* libgnat/s-widlli.adb: Likewise.
	* libgnat/s-widlli.ads: Likewise.
	* libgnat/s-widllu.adb: Likewise.
	* libgnat/s-widllu.ads: Likewise.
	* libgnat/s-widwch.adb: Likewise.
	* libgnat/s-widwch.ads: Likewise.
	* libgnat/s-win32.ads: Likewise.
	* libgnat/s-winext.ads: Likewise.
	* libgnat/s-wwdcha.adb: Likewise.
	* libgnat/s-wwdcha.ads: Likewise.
	* libgnat/s-wwdenu.adb: Likewise.
	* libgnat/s-wwdenu.ads: Likewise.
	* libgnat/s-wwdwch.adb: Likewise.
	* libgnat/s-wwdwch.ads: Likewise.
	* libgnat/system-aix.ads: Likewise.
	* libgnat/system-darwin-arm.ads: Likewise.
	* libgnat/system-darwin-ppc.ads: Likewise.
	* libgnat/system-darwin-x86.ads: Likewise.
	* libgnat/system-djgpp.ads: Likewise.
	* libgnat/system-dragonfly-x86_64.ads: Likewise.
	* libgnat/system-freebsd.ads: Likewise.
	* libgnat/system-hpux-ia64.ads: Likewise.
	* libgnat/system-hpux.ads: Likewise.
	* libgnat/system-linux-alpha.ads: Likewise.
	* libgnat/system-linux-arm.ads: Likewise.
	* libgnat/system-linux-hppa.ads: Likewise.
	* libgnat/system-linux-ia64.ads: Likewise.
	* libgnat/system-linux-m68k.ads: Likewise.
	* libgnat/system-linux-mips.ads: Likewise.
	* libgnat/system-linux-ppc.ads: Likewise.
	* libgnat/system-linux-riscv.ads: Likewise.
	* libgnat/system-linux-s390.ads: Likewise.
	* libgnat/system-linux-sh4.ads: Likewise.
	* libgnat/system-linux-sparc.ads: Likewise.
	* libgnat/system-linux-x86.ads: Likewise.
	* libgnat/system-lynxos178-ppc.ads: Likewise.
	* libgnat/system-lynxos178-x86.ads: Likewise.
	* libgnat/system-mingw.ads: Likewise.
	* libgnat/system-qnx-aarch64.ads: Likewise.
	* libgnat/system-rtems.ads: Likewise.
	* libgnat/system-solaris-sparc.ads: Likewise.
	* libgnat/system-solaris-x86.ads: Likewise.
	* libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks-arm-rtp.ads: Likewise.
	* libgnat/system-vxworks-arm.ads: Likewise.
	* libgnat/system-vxworks-e500-kernel.ads: Likewise.
	* libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks-e500-rtp.ads: Likewise.
	* libgnat/system-vxworks-e500-vthread.ads: Likewise.
	* libgnat/system-vxworks-ppc-kernel.ads: Likewise.
	* libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
	* libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks-ppc-rtp.ads: Likewise.
	* libgnat/system-vxworks-ppc-vthread.ads: Likewise.
	* libgnat/system-vxworks-ppc.ads: Likewise.
	* libgnat/system-vxworks-x86-kernel.ads: Likewise.
	* libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks-x86-rtp.ads: Likewise.
	* libgnat/system-vxworks-x86-vthread.ads: Likewise.
	* libgnat/system-vxworks-x86.ads: Likewise.
	* libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-aarch64.ads: Likewise.
	* libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-arm.ads: Likewise.
	* libgnat/system-vxworks7-e500-kernel.ads: Likewise.
	* libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-e500-rtp.ads: Likewise.
	* libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
	* libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
	* libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
	* libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-x86-kernel.ads: Likewise.
	* libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-x86-rtp.ads: Likewise.
	* libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
	* libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
	* libgnat/system.ads: Likewise.
	* link.c: Likewise.
	* live.adb: Likewise.
	* live.ads: Likewise.
	* locales.c: Likewise.
	* make.adb: Likewise.
	* make.ads: Likewise.
	* make_util.adb: Likewise.
	* make_util.ads: Likewise.
	* makeusg.adb: Likewise.
	* makeusg.ads: Likewise.
	* mdll-fil.adb: Likewise.
	* mdll-fil.ads: Likewise.
	* mdll-utl.adb: Likewise.
	* mdll-utl.ads: Likewise.
	* mdll.adb: Likewise.
	* mdll.ads: Likewise.
	* mingw32.h: Likewise.
	* mkdir.c: Likewise.
	* namet-sp.adb: Likewise.
	* namet-sp.ads: Likewise.
	* namet.adb: Likewise.
	* namet.ads: Likewise.
	* namet.h: Likewise.
	* nlists.adb: Likewise.
	* nlists.ads: Likewise.
	* nlists.h: Likewise.
	* opt.adb: Likewise.
	* opt.ads: Likewise.
	* osint-b.adb: Likewise.
	* osint-b.ads: Likewise.
	* osint-c.adb: Likewise.
	* osint-c.ads: Likewise.
	* osint-l.adb: Likewise.
	* osint-l.ads: Likewise.
	* osint-m.adb: Likewise.
	* osint-m.ads: Likewise.
	* osint.adb: Likewise.
	* osint.ads: Likewise.
	* output.adb: Likewise.
	* output.ads: Likewise.
	* par-ch10.adb: Likewise.
	* par-ch11.adb: Likewise.
	* par-ch12.adb: Likewise.
	* par-ch13.adb: Likewise.
	* par-ch2.adb: Likewise.
	* par-ch3.adb: Likewise.
	* par-ch4.adb: Likewise.
	* par-ch5.adb: Likewise.
	* par-ch6.adb: Likewise.
	* par-ch7.adb: Likewise.
	* par-ch8.adb: Likewise.
	* par-ch9.adb: Likewise.
	* par-endh.adb: Likewise.
	* par-labl.adb: Likewise.
	* par-load.adb: Likewise.
	* par-prag.adb: Likewise.
	* par-sync.adb: Likewise.
	* par-tchk.adb: Likewise.
	* par-util.adb: Likewise.
	* par.adb: Likewise.
	* par.ads: Likewise.
	* par_sco.adb: Likewise.
	* par_sco.ads: Likewise.
	* pprint.adb: Likewise.
	* pprint.ads: Likewise.
	* prep.adb: Likewise.
	* prep.ads: Likewise.
	* prepcomp.adb: Likewise.
	* prepcomp.ads: Likewise.
	* put_scos.adb: Likewise.
	* put_scos.ads: Likewise.
	* raise-gcc.c: Likewise.
	* raise.c: Likewise.
	* raise.h: Likewise.
	* repinfo-input.adb: Likewise.
	* repinfo-input.ads: Likewise.
	* repinfo.adb: Likewise.
	* repinfo.ads: Likewise.
	* repinfo.h: Likewise.
	* restrict.adb: Likewise.
	* restrict.ads: Likewise.
	* rident.ads: Likewise.
	* rtfinal.c: Likewise.
	* rtinit.c: Likewise.
	* rtsfind.adb: Likewise.
	* rtsfind.ads: Likewise.
	* runtime.h: Likewise.
	* s-oscons-tmplt.c: Likewise.
	* sa_messages.adb: Likewise.
	* sa_messages.ads: Likewise.
	* scans.adb: Likewise.
	* scans.ads: Likewise.
	* scil_ll.adb: Likewise.
	* scil_ll.ads: Likewise.
	* scn.adb: Likewise.
	* scn.ads: Likewise.
	* scng.adb: Likewise.
	* scng.ads: Likewise.
	* scos.adb: Likewise.
	* scos.ads: Likewise.
	* scos.h: Likewise.
	* sdefault.ads: Likewise.
	* seh_init.c: Likewise.
	* sem.adb: Likewise.
	* sem.ads: Likewise.
	* sem_aggr.adb: Likewise.
	* sem_aggr.ads: Likewise.
	* sem_attr.adb: Likewise.
	* sem_attr.ads: Likewise.
	* sem_aux.adb: Likewise.
	* sem_aux.ads: Likewise.
	* sem_case.adb: Likewise.
	* sem_case.ads: Likewise.
	* sem_cat.adb: Likewise.
	* sem_cat.ads: Likewise.
	* sem_ch10.adb: Likewise.
	* sem_ch10.ads: Likewise.
	* sem_ch11.adb: Likewise.
	* sem_ch11.ads: Likewise.
	* sem_ch12.adb: Likewise.
	* sem_ch12.ads: Likewise.
	* sem_ch13.adb: Likewise.
	* sem_ch13.ads: Likewise.
	* sem_ch2.adb: Likewise.
	* sem_ch2.ads: Likewise.
	* sem_ch3.adb: Likewise.
	* sem_ch3.ads: Likewise.
	* sem_ch4.adb: Likewise.
	* sem_ch4.ads: Likewise.
	* sem_ch5.adb: Likewise.
	* sem_ch5.ads: Likewise.
	* sem_ch6.adb: Likewise.
	* sem_ch6.ads: Likewise.
	* sem_ch7.adb: Likewise.
	* sem_ch7.ads: Likewise.
	* sem_ch8.adb: Likewise.
	* sem_ch8.ads: Likewise.
	* sem_ch9.adb: Likewise.
	* sem_ch9.ads: Likewise.
	* sem_dim.adb: Likewise.
	* sem_dim.ads: Likewise.
	* sem_disp.adb: Likewise.
	* sem_disp.ads: Likewise.
	* sem_dist.adb: Likewise.
	* sem_dist.ads: Likewise.
	* sem_elab.adb: Likewise.
	* sem_elab.ads: Likewise.
	* sem_elim.adb: Likewise.
	* sem_elim.ads: Likewise.
	* sem_eval.adb: Likewise.
	* sem_eval.ads: Likewise.
	* sem_intr.adb: Likewise.
	* sem_intr.ads: Likewise.
	* sem_mech.adb: Likewise.
	* sem_mech.ads: Likewise.
	* sem_prag.adb: Likewise.
	* sem_prag.ads: Likewise.
	* sem_res.adb: Likewise.
	* sem_res.ads: Likewise.
	* sem_scil.adb: Likewise.
	* sem_scil.ads: Likewise.
	* sem_smem.adb: Likewise.
	* sem_smem.ads: Likewise.
	* sem_type.adb: Likewise.
	* sem_type.ads: Likewise.
	* sem_util.adb: Likewise.
	* sem_util.ads: Likewise.
	* sem_warn.adb: Likewise.
	* sem_warn.ads: Likewise.
	* set_targ.adb: Likewise.
	* set_targ.ads: Likewise.
	* sfn_scan.adb: Likewise.
	* sfn_scan.ads: Likewise.
	* sigtramp-armdroid.c: Likewise.
	* sigtramp-ios.c: Likewise.
	* sigtramp-qnx.c: Likewise.
	* sigtramp-vxworks.c: Likewise.
	* sigtramp.h: Likewise.
	* sinfo-cn.adb: Likewise.
	* sinfo-cn.ads: Likewise.
	* sinfo.adb: Likewise.
	* sinfo.ads: Likewise.
	* sinput-c.adb: Likewise.
	* sinput-c.ads: Likewise.
	* sinput-d.adb: Likewise.
	* sinput-d.ads: Likewise.
	* sinput-l.adb: Likewise.
	* sinput-l.ads: Likewise.
	* sinput.adb: Likewise.
	* sinput.ads: Likewise.
	* socket.c: Likewise.
	* spark_xrefs.adb: Likewise.
	* spark_xrefs.ads: Likewise.
	* sprint.adb: Likewise.
	* sprint.ads: Likewise.
	* stand.adb: Likewise.
	* stand.ads: Likewise.
	* stringt.adb: Likewise.
	* stringt.ads: Likewise.
	* stringt.h: Likewise.
	* style.adb: Likewise.
	* style.ads: Likewise.
	* styleg.adb: Likewise.
	* styleg.ads: Likewise.
	* stylesw.adb: Likewise.
	* stylesw.ads: Likewise.
	* switch-b.adb: Likewise.
	* switch-b.ads: Likewise.
	* switch-c.adb: Likewise.
	* switch-c.ads: Likewise.
	* switch-m.adb: Likewise.
	* switch-m.ads: Likewise.
	* switch.adb: Likewise.
	* switch.ads: Likewise.
	* symbols.adb: Likewise.
	* symbols.ads: Likewise.
	* sysdep.c: Likewise.
	* table.adb: Likewise.
	* table.ads: Likewise.
	* targext.c: Likewise.
	* targparm.adb: Likewise.
	* targparm.ads: Likewise.
	* tbuild.adb: Likewise.
	* tbuild.ads: Likewise.
	* tempdir.adb: Likewise.
	* tempdir.ads: Likewise.
	* terminals.c: Likewise.
	* tracebak.c: Likewise.
	* tree_gen.adb: Likewise.
	* tree_gen.ads: Likewise.
	* tree_in.adb: Likewise.
	* tree_in.ads: Likewise.
	* tree_io.adb: Likewise.
	* tree_io.ads: Likewise.
	* treepr.adb: Likewise.
	* treepr.ads: Likewise.
	* ttypes.ads: Likewise.
	* types.adb: Likewise.
	* types.ads: Likewise.
	* types.h: Likewise.
	* uintp.adb: Likewise.
	* uintp.ads: Likewise.
	* uintp.h: Likewise.
	* uname.adb: Likewise.
	* uname.ads: Likewise.
	* urealp.adb: Likewise.
	* urealp.ads: Likewise.
	* urealp.h: Likewise.
	* usage.adb: Likewise.
	* usage.ads: Likewise.
	* validsw.adb: Likewise.
	* validsw.ads: Likewise.
	* warnsw.adb: Likewise.
	* warnsw.ads: Likewise.
	* widechar.adb: Likewise.
	* widechar.ads: Likewise.
	* xeinfo.adb: Likewise.
	* xnmake.adb: Likewise.
	* xoscons.adb: Likewise.
	* xr_tabls.adb: Likewise.
	* xr_tabls.ads: Likewise.
	* xref_lib.adb: Likewise.
	* xref_lib.ads: Likewise.
	* xsinfo.adb: Likewise.
	* xsnamest.adb: Likewise.
	* xtreeprs.adb: Likewise.
	* xutil.adb: Likewise.
	* xutil.ads: Likewise.
2020-06-02 04:58:26 -04:00
Piotr Trojanek
a92db26245 [Ada] Reuse Is_Package_Or_Generic_Package where possible
2020-06-02  Piotr Trojanek  <trojanek@adacore.com>

gcc/ada/

	* contracts.adb, einfo.adb, exp_ch9.adb, sem_ch12.adb,
	sem_ch4.adb, sem_ch7.adb, sem_ch8.adb, sem_elab.adb,
	sem_type.adb, sem_util.adb: Reuse Is_Package_Or_Generic_Package
	where possible (similarly, reuse Is_Concurrent_Type if it was
	possible in the same expressions).
2020-06-02 04:58:00 -04:00
Yannick Moy
9dfc6c5508 [Ada] New aspect/pragma No_Caching for analysis of volatile data
A new aspect/pragma can be attached to volatile variables to indicate
that such a variable is not used for interactions with the external
world, but only that accesses to that variable should not be optimized
by the compiler. This is in particular useful for guarding against fault
injection. SPARK Reference manual has been updated to allow this use of
volatile data, see section 7.1.2, so that GNATprove can analyze such
variables as not volatile.

2019-08-12  Yannick Moy  <moy@adacore.com>

gcc/ada/

	* aspects.adb, aspects.ads (Aspect_No_Caching): New aspect.
	* contracts.adb, contracts.ads (Add_Contract_Item): Add handling
	of No_Caching.
	(Analyze_Object_Contract): Add handling of No_Caching.
	* einfo.adb, einfo.ads
	(Get_Pragma): Add handling of No_Caching.
	* doc/gnat_rm/implementation_defined_aspects.rst,
	doc/gnat_rm/implementation_defined_pragmas.rst: Document new
	aspect/pragma.
	* gnat_rm.texi: Regenerate.
	* par-prag.adb (Prag): New pragma Pragma_No_Caching.
	* sem_ch13.adb (Analyze_Aspect_Specifications,
	Check_Aspect_At_Freeze_Point): Add handling of No_Caching.
	* sem_prag.adb (Analyze_Pragma): Deal with pragma No_Caching.
	* sem_prag.ads (Analyze_External_Property_In_Decl_Part): Now
	applies to No_Caching.
	* sem_util.adb, sem_util.ads (Is_Effectively_Volatile): Add
	handling of No_Caching.
	(No_Caching_Enabled): New query function.
	* snames.ads-tmpl: New names for pragma.

gcc/testsuite/

	* gnat.dg/no_caching.adb, gnat.dg/no_caching.ads: New testcase.

From-SVN: r274292
2019-08-12 08:59:53 +00:00
Javier Miranda
de70d01f1a [Ada] Removing support for SCIL "contract-only" subprogram bodies
Remove support added for CodePeer (which was never enabled by default;
it was controlled by the -gnatd.K option) for generation of SCIL
"contract-only" subprogram bodies. These were intended for use when a
subprogram's "real" body is unavailable but the subprogram spec has
pre/post-conditions specified.

2019-07-05  Javier Miranda  <miranda@adacore.com>

gcc/ada/

	* debug.adb (-gnatd.K): Leave available this switch.
	* contracts.adb (Build_And_Analyze_Contract_Only_Subprograms):
	Remove.
	* scil_ll.ads, scil_ll.adb (Contract_Only_Body_Flag,
	Contract_Only_Body_Nodes, Get_Contract_Only_Body,
	Is_Contract_Only_Body, Set_Contract_Only_Body): Remove.

From-SVN: r273111
2019-07-05 07:02:28 +00:00
Pierre-Marie de Rodat
1d005accea [Ada] Bump copyright years to 2019
From-SVN: r267683
2019-01-08 09:54:04 +00:00
Hristian Kirtchev
dd81163fe8 [Ada] Minor reformattings
2018-09-26  Hristian Kirtchev  <kirtchev@adacore.com>

gcc/ada/

	* contracts.adb, exp_unst.adb, exp_util.adb, gnat1drv.adb,
	opt.ads, par-prag.adb, sem_ch3.adb, sem_ch5.adb, sem_prag.adb,
	sinfo.ads, snames.ads-tmpl: Minor reformatting.

From-SVN: r264621
2018-09-26 09:18:09 +00:00
Ed Schonberg
6d7d342a39 [Ada] Disable special handling for preconditions specified by pragmas
2018-09-26  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* contracts.adb (Analyze_Entry_Or_Subprogram_Contract): The
	analysis of preconditions specified by pragmas (rather than
	aspects) is not delayed, and therefore expressions functions
	that are completions do not need special handling during
	expansion.

From-SVN: r264604
2018-09-26 09:16:39 +00:00
Ed Schonberg
33d2551767 [Ada] Fix ICE related to type freezing
2018-09-26  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* contracts.adb (Expand_Subprogram_Contract,
	Process_Preconditions_For): Apply Freeze_Expr_Types to the
	expression for a precondition of an expression function that is
	a completion, when the completion appears in the private part
	and the declaration it completes is in the visible part of the
	same package.
	* freeze.adb (Freeze_Expr_Types): Do not establish the scope of
	the operation if it is already installed, as will be the case
	when called to analyze the contract oc the subprogram (which
	happens when generating code inside the subprogram body).

From-SVN: r264602
2018-09-26 09:16:28 +00:00
Hristian Kirtchev
92a68a0464 [Ada] Minor reformattings
2018-08-21  Hristian Kirtchev  <kirtchev@adacore.com>

gcc/ada/

	* checks.adb, contracts.adb, exp_aggr.adb, exp_attr.adb,
	exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, exp_unst.adb,
	exp_util.adb, freeze.adb, gnatlink.adb, layout.adb,
	lib-writ.adb, lib-xref-spark_specific.adb, sem_ch13.adb,
	sem_ch3.adb, sem_ch6.adb, sem_res.adb, sem_util.adb, sinfo.ads,
	sprint.adb: Minor reformatting.

From-SVN: r263737
2018-08-21 14:50:03 +00:00
Ed Schonberg
0db1c3863d [Ada] Spurious crash on expression function as completion with contracts
This patch fixes a compiler abort on an expression function that is a
completion of a subprogram with preconditions. The problem is caused by
the presence of types in the precondition that are not frozen when the
subprogram body constructed for the expression function receives the
code that enforces the precondition. These types must be frozen before
the contract is expanded, so the freeze nodes for these types appear in
the proper scope. This is analogous to what is done with type references
that appear in the original expression of the expression function.

2018-08-21  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* sem_ch6.adb: Remove Freeze_Expr_Types.
	* freeze.ads, freeze.adb (Freeze_Expr_Types): Moved from
	sem_ch6.adb, and extended to handle other expressions that may
	contain unfrozen types that must be frozen in their proper
	scopes.
	* contracts.adb (Analyze_Entry_Or_Subprogram_Contract): If the
	contract is for the generated body of an expression function
	that is a completion, traverse the expressions for pre- and
	postconditions to freeze all types before adding the contract
	code within the subprogram body.

gcc/testsuite/

	* gnat.dg/expr_func6.adb, gnat.dg/expr_func6.ads: New testcase.

From-SVN: r263734
2018-08-21 14:49:34 +00:00
Hristian Kirtchev
617709748b [Ada] Minor reformattings
2018-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

gcc/ada

	* checks.adb, contracts.adb, exp_aggr.adb, exp_ch5.adb,
	exp_disp.adb, make.adb, sem_ch4.adb, sem_eval.adb, sem_res.adb,
	usage.adb: Minor reformatting.

From-SVN: r263089
2018-07-31 09:55:16 +00:00
Hristian Kirtchev
96e4fda582 [Ada] Missing error on hidden state in instantiation
This patch modifies the analysis of package contracts to split processing
which is specific to package instantiations on its own. As a result, the
lack of indicator Part_Of can now be properly assessed.

------------
-- Source --
------------

--  gen_pack.ads

generic
package Gen_Pack is
   Pack_Var : Integer := 1;
end Gen_Pack;

--  gen_wrap.ads

with Gen_Pack;

generic
package Gen_Wrap is
   Wrap_Var : Integer := 1;

   package Inst is new Gen_Pack;
end Gen_Wrap;

--  pack.ads

with Gen_Pack;
with Gen_Wrap;

package Pack
  with SPARK_Mode     => On,
       Abstract_State => State
is
   procedure Force_Body;

private
   package OK_Inst_1 is new Gen_Pack                                 --  OK
     with Part_Of => State;                                          --  OK

   package OK_Inst_2 is new Gen_Pack;                                --  OK
   pragma Part_Of (State);                                           --  OK

   package OK_Inst_3 is new Gen_Wrap                                 --  OK
     with Part_Of => State;                                          --  OK

   package OK_Inst_4 is new Gen_Wrap;                                --  OK
   pragma Part_Of (State);

   package Error_Inst_1 is new Gen_Pack;                             --  Error
   package Error_Inst_2 is new Gen_Wrap;                             --  Error
end Pack;

--  pack.adb

package body Pack
  with SPARK_Mode    => On,
       Refined_State =>
         (State => (OK_Inst_1.Pack_Var, OK_Inst_2.Pack_Var,
                    OK_Inst_3.Wrap_Var, OK_Inst_3.Inst.Pack_Var,
                    OK_Inst_4.Wrap_Var, OK_Inst_4.Inst.Pack_Var))
is
   procedure Force_Body is null;
end Pack;

----------------------------
-- Compilation and output --
----------------------------

$ gcc -c pack.adb
pack.ads:23:12: indicator Part_Of is required in this context (SPARK RM
  7.2.6(2))
pack.ads:23:12: "Error_Inst_1" is declared in the private part of package
  "Pack"
pack.ads:24:12: indicator Part_Of is required in this context (SPARK RM
  7.2.6(2))
pack.ads:24:12: "Error_Inst_2" is declared in the private part of package
  "Pack"

2018-07-16  Hristian Kirtchev  <kirtchev@adacore.com>

gcc/ada/

	* contracts.adb (Analyze_Contracts): Add specialized processing for
	package instantiation contracts.
	(Analyze_Package_Contract): Remove the verification of a missing
	Part_Of indicator.
	(Analyze_Package_Instantiation_Contract): New routine.
	* contracts.ads (Analyze_Package_Contract): Update the comment on
	usage.
	* sem_prag.adb (Check_Missing_Part_Of): Ensure that the entity of the
	instance is being examined when trying to determine whether a package
	instantiation needs a Part_Of indicator.

From-SVN: r262731
2018-07-16 14:12:33 +00:00
Hristian Kirtchev
a8531f7134 [Ada] Suppress the expansion of ignored assertion pragmas
This patch suppresses the expansion of ignored assertion pragmas.

2018-06-11  Hristian Kirtchev  <kirtchev@adacore.com>

gcc/ada/

	* contracts.adb (Process_Body_Postconditions): Expand only checked
	postconditions.
	(Process_Contract_Cases_For): Expand only checked contract cases.
	(Process_Inherited_Preconditions): Ignored class-wide preconditions are
	partially expanded because some of their semantic checks are tied to
	the expansion.
	(Process_Preconditions_For): Expand only checked preconditions.
	(Process_Spec_Postconditions): Expand only checked preconditions.
	Ignored class-wide preconditions are partially expanded because some of
	their semantic checks are tied to the expansion.
	* exp_prag.adb (Expand_N_Pragma): Suppress the expansion of ignored
	assertion pragmas.
	* exp_util.adb (Add_Inherited_Invariants): Code clean up.
	* sem_util.adb (Propagate_Invariant_Attributes): Code clean up.

gcc/testsuite/

	* gnat.dg/assertion_policy1.adb, gnat.dg/assertion_policy1_pkg.adb,
	gnat.dg/assertion_policy1_pkg.ads: New testcase.

From-SVN: r261430
2018-06-11 09:19:46 +00:00
Bob Duff
812e6118dc [Ada] Spell preanalysis, preanalyze correctly
2018-05-30  Bob Duff  <duff@adacore.com>

gcc/ada/

	* aspects.ads, contracts.adb, exp_util.adb, expander.adb, expander.ads,
	freeze.adb, inline.adb, lib-xref.adb, sem.ads, sem_aggr.adb,
	sem_attr.adb, sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb,
	sem_ch8.adb, sem_dim.adb, sem_elab.adb, sem_res.adb, sem_res.ads,
	sinfo.ads: Spell preanalysis, preanalyze correctly.

From-SVN: r260937
2018-05-30 08:57:44 +00:00
Arnaud Charlet
4dfba737a4 [Ada] Bump copyright notices to 2018
2018-01-11  Arnaud Charlet  <charlet@adacore.com>

gcc/ada/

	Bump copyright notices to 2018.

From-SVN: r256519
2018-01-11 08:55:25 +00:00
Pierre-Marie de Rodat
65e5747ef7 [multiple changes]
2017-11-09  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Handle properly
	the pragma Compile_Time_Error when it appears in a generic package
	declaration and uses an expanded name to denote the current unit.

2017-11-09  Jerome Lambourg  <lambourg@adacore.com>

	* libgnarl/s-taprop__qnx.adb: Fix incorrect casing for pthread_self.
	* tracebak.c: Add support for tracebacks in QNX.

2017-11-09  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_aggr.adb (Aggr_Size_OK): Bump base limit from 50000 to 500000.

2017-11-09  Yannick Moy  <moy@adacore.com>

	* erroutc.adb, set_targ.adb: Remove pragma Annotate for CodePeer
	justification.

2017-11-09  Joel Brobecker  <brobecker@adacore.com>

	* doc/gnat_ugn/platform_specific_information.rst: Document packages
	needed on GNU/Linux by GNAT.
	* gnat_ugn.texi: Regenerate.

2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>

	* contracts.adb (Analyze_Contracts): Remove the three parameter
	version. This routine now only analyzes contracts and does not perform
	any freezing actions.
	(Analyze_Previous_Contracts): Removed.
	(Freeze_Previous_Contracts): New routine.
	* contracts.ads (Analyze_Previous_Contracts): Removed.
	(Freeze_Previous_Contracts): New routine.
	* sem_ch3.adb (Analyze_Declarations): Analyze the contract of an
	enclosing package spec regardless of whether the list denotes the
	visible or private declarations.  Fix the removal of partial state
	refinements when the context is a package spec.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Freeze previous
	contracts.
	* sem_ch7.adb (Analyze_Package_Body_Helper): Freeze previous contracts.
	* sem_ch9.adb (Analyze_Entry_Body): Freeze previous contracts.
	(Analyze_Protected_Body): Freeze previous contracts.
	(Analyze_Task_Body): Freeze previous contracts.
	* sem_prag.adb: Comment reformatting.

2017-11-09  Bob Duff  <duff@adacore.com>

	* libgnarl/g-thread.ads, libgnarl/g-thread.adb: (Make_Independent):
	Export this so users can use it without importing
	System.Tasking.Utilities.
	* libgnarl/s-tassta.adb (Vulnerable_Complete_Task): Relax assertion
	that fails when Make_Independent is called on a user task.
	* libgnarl/s-taskin.ads (Master_Of_Task): Avoid unusual
	capitalization style ((style) bad casing of "Master_of_Task").

From-SVN: r254580
2017-11-09 13:09:17 +00:00
Pierre-Marie de Rodat
dcd5fd67fa [multiple changes]
2017-11-09  Yannick Moy  <moy@adacore.com>

	* binde.adb (Diagnose_Elaboration_Problem): Mark procedure No_Return.
	* checks.adb (Apply_Scalar_Range_Check): Rescope variable OK closer to
	use.  Default initialize Hi, Lo.
	(Selected_Range_Checks): Retype Num_Checks more precisely.
	(Determine_Range, Determine_Range_R): Default initialize Hi_Right,
	Lo_Right.
	* contracts.adb (Process_Contract_Cases): Mark parameter Stmts as
	Unmodified.
	(Process_Postconditions): Mark parameter Stmts as Unmodified.
	* exp_attr.adb (Expand_Loop_Entry_Attribute): Default initialize Blk.
	* exp_ch4.adb (Expand_N_Allocator): Default initialize Typ.
	(Expand_Concatenate): Default initialize High_Bound.
	(Optimize_Length_Comparison): Default initialize Ent, Index.
	* exp_ch5.adb (Expand_Predicated_Loop): Default initialize L_Hi and
	L_Lo.
	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Default initialize
	Return_Stmt.
	* exp_ch9.adb (Expand_Entry_Barrier): Default initialize Func_Body and
	remove pragma Warnings(Off).
	* exp_imgv.adb (Expand_Image_Attribute): Default initialize Tent.
	* exp_util.adb (Find_Interface_Tag): Default initialize AI_Tag.
	* freeze.adb (Check_Component_Storage_Order): Default initialize
	Comp_Byte_Aligned rather than silencing messages with pragma
	Warnings(Off), which does not work for CodePeer initialization
	messages, and given that here the possible read of an unitialized value
	depends on a proper use of parameters by the caller.
	* inline.adb (Expand_Inlined_Call): Default initialize Lab_Decl, Targ.
	* sem_ch12.adb (Build_Operator_Wrapper): Default initialize Expr.
	* sem_ch3.adb (Build_Derived_Array_Type): Default initialize
	Implicit_Base.
	* sem_ch4.adb (List_Operand_Interps): Default initialize Nam and remove
	pragma Warnings(Off).
	(Analyze_Case_Expression): Rescope checking block within branch where
	Others_Present is set by the call to Check_Choices.
	* sem_ch5.adb (Analyze_Assignment): Default initialize
	Save_Full_Analysis.
	* sem_ch6.adb (Analyze_Function_Return): Default initialize Obj_Decl,
	and restructure code to defend against previous errors, so that, in
	that case, control does not flow to the elsif condition which read an
	uninitialized Obj_Decl.
	* sem_ch9.adb (Analyze_Requeue): Default initialize Synch_Type.
	(Check_Interfaces): Default initialize Full_T_Ifaces and Priv_T_Ifaces,
	which seem to be left uninitialized and possibly read in some cases.
	* sem_dim.adb (Analyze_Aspect_Dimension_System): Retype Position more
	precisely.  This requires to exchange the test for exiting in case of
	too many positions and the increment to Position, inside the loop.
	* sem_eval.adb (Eval_Concatenation): Default initialize Folded_Val,
	which cannot be read uninitialized, but the reasons for that are quite
	subtle.
	* sem_intr.adb (Check_Intrinsic_Call): Default initialize Rtyp.
	* sem_prag.adb (Collect_Subprogram_Inputs_Outputs): Default initialize
	Spec_Id.
	* sem_res.adb (Make_Call_Into_Operator): Default initialize Opnd_Type,
	and test for presence of non-null Opnd_Type before testing its scope,
	in a test which would read its value uninitialized, and is very rarely
	exercized (it depends on the presence of an extension of System).
	* sem_spark.ads: Update comment to fix name of main analysis procedure.
	* sem_warn.adb (Warn_On_Known_Condition): Default initialize
	Test_Result.
	* set_targ.adb (FailN): Mark procedure with No_Return.
	* stylesw.adb (Save_Style_Check_Options): Delete useless code to
	initialize all array Options to white space, as there is already code
	doing the same for the remaining positions in Options at the end of the
	procedure.

2017-11-09  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch11.adb (Possible_Local_Raise): Do not issue the warning for
	generic instantiations either.

From-SVN: r254570
2017-11-09 11:33:12 +00:00
Arnaud Charlet
0284868419 einfo.ads: Minor fixes in comments.
* einfo.ads: Minor fixes in comments.

2017-04-27  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb: disable clones in SPARK_Mode.

2017-04-27  Gary Dismukes  <dismukes@adacore.com>

	* sem_util.ads, contracts.adb: Minor reformatting.

From-SVN: r247315
2017-04-27 12:32:23 +02:00
Ed Schonberg
aaa0a838e6 sem_util.adb, [...] (Build_Class_Wide_Clone_Body): Build body of subprogram that has a class-wide condition that contains calls to...
2017-04-27  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb, sem_util.ads (Build_Class_Wide_Clone_Body):
	Build body of subprogram that has a class-wide condition that
	contains calls to other primitives.
	(Build_Class_Wide_Clone_Call); Build a call to the common
	class-wide clone of a subprogram with classwide conditions. The
	body of the subprogram becomes a wrapper for a call to the
	clone. The inherited operation becomes a similar wrapper to which
	modified conditions apply, and the call to the clone includes
	the proper conversion in a call the parent operation.
	(Build_Class_Wide_Clone_Decl (Spec_Id : Entity_Id): For a
	subprogram that has a classwide condition that contains calls to
	other primitives, build an internal subprogram that is invoked
	through a type-specific wrapper for all inherited subprograms
	that may have a modified condition.
	* sem_prag.adb (Check_References): If subprogram has a classwide
	condition, create entity for corresponding clone, to be invoked
	through wrapper subprograns.
	(Analyze_Pre_Post_Condition_In_Decl_Part): Do not emit error
	message about placement if pragma isi internally generated.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If subprogram has
	a classwide clone, build body of clone as copy of original body,
	and rewrite original body as a wrapper as a wrapper for a call to
	the clone, so that it incorporates the original pre/postconditions
	of the subprogram.
	* freeze.adb (Check_Inherited_Conditions): For an inherited
	subprogram that inherits a classwide condition, build spec and
	body of corresponding wrapper so that call to inherited operation
	gets the modified conditions.
	* contracts.adb (Analyze_Contracts): If analysis of classwide
	condition has created a clone for a primitive operation, analyze
	declaration of clone.

From-SVN: r247313
2017-04-27 12:20:36 +02:00
Hristian Kirtchev
f9a8f91057 contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): Add a warning about SPARK mode management.
2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

	* contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract):
	Add a warning about SPARK mode management. The routine now
	saves and restores both the mode and associated pragma.
	(Analyze_Entry_Or_Subprogram_Contract): Add a warning about
	SPARK mode management. The routine now saves and restores both
	the mode and associated pragma.
	(Analyze_Object_Contract):
	Add a warning about SPARK mode management. The routine
	now saves and restores both the mode and associated pragma.
	(Analyze_Package_Body_Contract): Add a warning about SPARK mode
	management.  The routine now saves and restores both the mode
	and associated pragma.	(Analyze_Package_Contract): Add a warning
	about SPARK mode management. The routine now saves and restores
	both the mode and associated pragma.
	(Analyze_Task_Contract):
	Add a warning about SPARK mode management. The routine now saves
	and restores both the mode and associated pragma.
	* expander.adb (Expand): Change the way the Ghost mode is saved
	and restored.
	* exp_ch3.adb (Freeze_Type): Change the way the Ghost mode is
	saved and restored.
	* exp_disp.adb (Make_DT): Change the way the Ghost mode is saved
	and restored.
	* exp_util.adb (Build_DIC_Procedure_Body):
	Change the way the Ghost mode is saved and restored.
	(Build_DIC_Procedure_Declaration): Change the way the Ghost
	mode is saved and restored.
	(Build_Invariant_Procedure_Body):
	Change the way the Ghost mode is saved and restored.
	(Build_Invariant_Procedure_Declaration): Change the way the Ghost
	mode is saved and restored.
	(Make_Predicate_Call): Change the
	way the Ghost mode is saved and restored.
	* freeze.adb (Freeze_Entity): Change the way the Ghost mode is
	saved and restored.
	* ghost.adb (Mark_And_Set_Ghost_Assignment): Remove parameter Mode
	and its assignment.
	(Mark_And_Set_Ghost_Body): Remove parameter
	Mode and its assignment.
	(Mark_And_Set_Ghost_Completion):
	Remove parameter Mode and its assignment.
	(Mark_And_Set_Ghost_Declaration): Remove parameter Mode and its
	assignment.
	(Mark_And_Set_Ghost_Instantiation): Remove parameter
	Mode and its assignment.
	(Mark_And_Set_Ghost_Procedure_Call):
	Remove parameter Mode and its assignment.
	(Set_Ghost_Mode):
	Remove parameter Mode and its assignment.
	* ghost.ads (Mark_And_Set_Ghost_Assignment): Remove parameter Mode
	and update the comment on usage.
	(Mark_And_Set_Ghost_Body):
	Remove parameter Mode and update the comment on usage.
	(Mark_And_Set_Ghost_Completion): Remove parameter Mode and
	update the comment on usage.
	(Mark_And_Set_Ghost_Declaration):
	Remove parameter Mode and update the comment on usage.
	(Mark_And_Set_Ghost_Instantiation): Remove parameter Mode and
	update the comment on usage.
	(Mark_And_Set_Ghost_Procedure_Call):
	Remove parameter Mode and update the comment on usage.
	(Set_Ghost_Mode): Remove parameter Mode and update the comment
	on usage.
	* lib.ads Remove obsolete fields SPARK_Mode_Pragma from various
	types.
	* lib-load.adb (Create_Dummy_Package_Unit): Remove the assignment
	of obsolete field SPARK_Mode_Pragma.
	(Load_Main_Source): Remove
	the assignment of obsolete field SPARK_Mode_Pragma.
	(Load_Unit): Remove the assignment of obsolete field SPARK_Mode_Pragma.
	* lib-writ.adb (Add_Preprocessing_Dependency): Remove
	the assignment of obsolete field SPARK_Mode_Pragma.
	(Ensure_System_Dependency): Remove the assignment of obsolete
	field SPARK_Mode_Pragma.
	* rtsfind.adb (Load_RTU): Add a warning about Ghost and SPARK
	mode management. Change the way Ghost and SPARK modes are saved
	and restored.
	* sem.adb (Analyze): Change the way the Ghost mode is saved
	and restored.
	* sem_ch3.adb (Analyze_Object_Declaration): Change the way the
	Ghost mode is saved and restored.
	(Process_Full_View): Change
	the way the Ghost mode is saved and restored.
	* sem_ch5.adb (Analyze_Assignment): Change the way the Ghost
	mode is saved and restored.
	* sem_ch6.adb (Analyze_Procedure_Call): Change the way the Ghost
	mode is saved and restored.
	(Analyze_Subprogram_Body_Helper):
	Change the way the Ghost mode is saved and restored.
	* sem_ch7.adb (Analyze_Package_Body_Helper): Change the way the
	Ghost mode is saved and restored.
	* sem_ch10.adb (Analyze_Subunit): Add a warning about SPARK mode
	management. Save the SPARK mode-related data prior to any changes
	to the scope stack and contexts. The mode is then reinstalled
	before the subunit is analyzed in order to restore the original
	view of the subunit.
	* sem_ch12.adb (Analyze_Package_Instantiation): Update the
	warning on region management.  Change the way the Ghost and
	SPARK modes are saved and restored.
	(Inline_Instance_Body):
	Add a warning about SPARK mode management. Code clean up.
	(Analyze_Subprogram_Instantiation): Update the warning on region
	management.  Change the way the Ghost and SPARK modes are saved
	and restored.
	(Instantiate_Package_Body): Update the warning
	on region management. Change the way the Ghost and SPARK modes
	are saved and restored.
	(Instantiate_Subprogram_Body): Update
	the warning on region management. Change the way the Ghost and
	SPARK modes are saved and restored.
	(Set_Instance_Env): Add a
	warning about SPARK mode management. Change the way SPARK mode
	is saved and restored.
	* sem_ch13.adb (Build_Predicate_Functions):
	Change the way the Ghost mode is saved and restored.
	(Build_Predicate_Function_Declaration): Change the way the Ghost
	mode is saved and restored.
	* sem_elab.adb (Check_Elab_Calls): Add a warning about SPARK
	mode management. Change the way SPARK mode is saved and restored.
	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
	Change the way the Ghost mode is saved and restored.
	(Analyze_Initial_Condition_In_Decl_Part): Change the way
	the Ghost mode is saved and restored.
	(Analyze_Pragma):
	Change the way the Ghost mode is saved and restored.
	(Analyze_Pre_Post_Condition_In_Decl_Part): Change the way the
	Ghost mode is saved and restored.
	* sem_util.adb (Install_SPARK_Mode): New routine.
	(Restore_SPARK_Mode): New routine.
	(Save_SPARK_Mode_And_Set): Removed.
	(Set_SPARK_Mode): New routine.
	* sem_util.ads (Install_SPARK_Mode): New routine.
	(Restore_SPARK_Mode): New routine.
	(Save_SPARK_Mode_And_Set): Removed.
	(Set_SPARK_Mode): New routine.

From-SVN: r247230
2017-04-25 15:30:56 +02:00
Arnaud Charlet
884f97cc82 Code cleanup.
From-SVN: r247223
2017-04-25 15:06:11 +02:00
Arnaud Charlet
c16fa01e7e Code clean up.
From-SVN: r247213
2017-04-25 14:39:28 +02:00
Arnaud Charlet
bfda9ccde6 Code clean ups.
From-SVN: r247158
2017-04-25 11:25:55 +02:00
Arnaud Charlet
332429c807 Code cleanup.
From-SVN: r244634
2017-01-19 14:14:04 +01:00
Arnaud Charlet
c63a2ad68b [multiple changes]
2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>

	* lib-xref-spark_specific.adb, sem_util.adb, sem_util.ads,
	sem_ch4.adb, sem_ch8.adb, lib-xref.ads: Minor reformatting.

2017-01-19  Bob Duff  <duff@adacore.com>

	* bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking):
	Increment Warnings_Detected.  It was decrementing, which is
	wrong since we just issued a warning message.
	* binderr.ads (Errors_Detected, Warnings_Detected): Declare
	these variables to be of subtype Nat instead of Int, because
	they should never be negative.

2017-01-19  Javier Miranda  <miranda@adacore.com>

	* contracts.adb (Build_Postconditions_Procedure): Replace
	Generate_C_Code by Modify_Tree_For_C.
	* exp_aggr.adb (Build_Record_Aggr_Code, Expand_Array_Aggregate):
	Replace Generate_C_Code by Modify_Tree_For_C.
	* exp_attr.adb (Float_Valid, Is_GCC_Target): Replace Generate_C_Code by
	Modify_Tree_For_C.
	* exp_ch11.adb (Expand_N_Exception_Declaration): Replace
	Generate_C_Code by Modify_Tree_For_C.
	* exp_ch4.adb (Expand_Allocator_Expression): Replace
	Generate_C_Code by Modify_Tree_For_C.
	* exp_dbug.adb (Qualify_Entity_Name): Replace Generate_C_Code
	by Modify_Tree_For_C.
	* exp_util.adb (Remove_Side_Effects, Side_Effect_Free): Replace
	Generate_C_Code by Modify_Tree_For_C.
	* sem_res.adb (Resolve_Type_Conversion): Replace Generate_C_Code
	by Modify_Tree_For_C.
	* sinfo.ads (Modify_Tree_For_C): Adding documentation.

From-SVN: r244619
2017-01-19 12:46:14 +01:00
Arnaud Charlet
82e5c2434e [multiple changes]
2017-01-13  Gary Dismukes  <dismukes@adacore.com>

	* checks.adb: Minor typo fix and reformatting.

2017-01-13  Javier Miranda  <miranda@adacore.com>

	* contracts.adb (Contract_Only_Subprograms): Remove formal.
	(Copy_Original_Specification): Removed.
	(Skip_Contract_Only_Subprogram): Move here checks previously
	located in the caller of this routine (to leave the code more clean).
	(Build_Contract_Only_Subprogram): Code cleanup.
	* scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): Removed.
	(Get_Contract_Only_Missing_Body_Name): Removed.

From-SVN: r244424
2017-01-13 12:13:00 +01:00
Arnaud Charlet
3603fa5cfb Code cleanups.
From-SVN: r244412
2017-01-13 11:39:38 +01:00
Hristian Kirtchev
d8f43ee6d0 sem_aggr.adb, [...]: Update all eligible case statements to reflect the new style for case alternatives.
2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_aggr.adb, par_sco.adb, s-osprim-mingw.adb, exp_ch5.adb,
	exp_prag.adb, sem_ch3.adb, xr_tabls.adb, lib-xref-spark_specific.adb,
	layout.adb, sem_dist.adb, exp_spark.adb, exp_ch7.adb, gnatcmd.adb,
	exp_util.adb, prj-proc.adb, sem_aux.adb, comperr.adb, g-memdum.adb,
	exp_attr.adb, s-intman-solaris.adb, exp_ch9.adb, make.adb, live.adb,
	g-sercom-linux.adb, sem_dim.adb, mlib-prj.adb, s-intman-posix.adb,
	sem_ch9.adb, sem_ch10.adb, prep.adb, einfo.adb, scng.adb, checks.adb,
	prj-strt.adb, sem_prag.adb, eval_fat.adb, sem_ch12.adb, sem.adb,
	a-numaux-x86.adb, a-stwifi.adb, i-cobol.adb, prj.adb,
	get_spark_xrefs.adb, s-tasini.adb, rtsfind.adb, freeze.adb,
	g-arrspl.adb, par-ch4.adb, sem_util.adb, sem_res.adb, expander.adb,
	sem_attr.adb, exp_dbug.adb, prj-pp.adb, a-stzfix.adb, s-interr.adb,
	s-wchcnv.adb, switch-m.adb, gnat1drv.adb, sinput-l.adb, stylesw.adb,
	contracts.adb, s-intman-android.adb, g-expect.adb, exp_ch4.adb,
	g-comlin.adb, errout.adb, sinput.adb, s-exctra.adb, repinfo.adb,
	g-spipat.adb, g-debpoo.adb, exp_ch6.adb, sem_ch4.adb, exp_ch13.adb,
	a-wtedit.adb, validsw.adb, pprint.adb, widechar.adb, makeutl.adb,
	ali.adb, set_targ.adb, sem_mech.adb, sem_ch6.adb, gnatdll.adb,
	get_scos.adb, g-pehage.adb, s-tratas-default.adb, gnatbind.adb,
	prj-dect.adb, g-socthi-mingw.adb, par-prag.adb, prj-nmsc.adb,
	exp_disp.adb, par-ch12.adb, binde.adb, sem_ch8.adb,
	s-tfsetr-default.adb, s-regexp.adb, gprep.adb, s-tpobop.adb,
	a-teioed.adb, sem_warn.adb, sem_eval.adb, g-awk.adb, s-io.adb,
	a-ztedit.adb, xoscons.adb, exp_intr.adb, sem_cat.adb, sprint.adb,
	g-socket.adb, exp_dist.adb, sem_ch13.adb, s-tfsetr-vxworks.adb,
	par-ch3.adb, treepr.adb, g-forstr.adb, g-catiio.adb, par-ch5.adb,
	uname.adb, osint.adb, exp_ch3.adb, prj-env.adb, a-strfix.adb,
	a-stzsup.adb, prj-tree.adb, s-fileio.adb: Update all eligible case
	statements to reflect the new style for case alternatives. Various
	code clean up and reformatting.

From-SVN: r244406
2017-01-13 11:19:19 +01:00
Arnaud Charlet
5f325af260 [multiple changes]
2017-01-12  Yannick Moy  <moy@adacore.com>

	* exp_spark.adb (Expand_SPARK_Potential_Renaming): Fix sloc of copied
	subtree.

2017-01-12  Justin Squirek  <squirek@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference):
	Fix Finalization_Size case by properly resolving the type after
	rewritting the node.

2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Build_DIC_Procedure_Body): Semi-insert the body into
	the tree.
	(Build_DIC_Procedure_Declaration): Semi-insert the body into the tree.
	* binde.adb, exp_ch5.adb, sem_type.adb, sem.ads, sem_res.adb,
	exp_sel.ads: Minor reformatting.

2017-01-12  Justin Squirek  <squirek@adacore.com>

	* exp_ch6.adb (Expand_Call): Add guard to prevent
	invariant checks from being created for internally generated
	subprograms.

2017-01-12  Bob Duff  <duff@adacore.com>

	* lib-writ.ads: Remove incorrect comment.

2017-01-12  Javier Miranda  <miranda@adacore.com>

	* debug.adb (-gnatd.K): Enable generation of contract-only
	procedures in CodePeer mode.
	* contracts.adb (Build_And_Analyze_Contract_Only_Subprograms):
	New subprogram.
	(Analyze_Contracts): Generate contract-only procedures if -gnatdK is
	set.
	* scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): New
	subprogram.
	(Get_Contract_Only_Missing_Body_Name): New subprogram.
	(Get_Contract_Only_Body): New subprogram.
	(Set_Contract_Only_Body): New subprogram.
	(Is_Contract_Only_Body): New subprogram.
	(Set_Is_Contract_Only_Body): New subprogram.
	(SCIL_Nodes): Replace table by hash-table.

From-SVN: r244356
2017-01-12 14:30:20 +01:00
Bob Duff
6e759c2a0f contracts.adb, [...] (Pragma_Name): Change name to Pragma_Name_Unmapped.
2017-01-12  Bob Duff  <duff@adacore.com>

	* contracts.adb, einfo.adb, errout.adb, exp_attr.adb,
	exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_prag.adb, freeze.adb,
	frontend.adb, ghost.adb, inline.adb, lib-writ.adb, lib-xref.adb,
	par.adb, par-ch10.adb, par-ch2.adb, par-prag.adb, par_sco.adb,
	sem_attr.adb, sem_aux.adb, sem_ch10.adb, sem_ch12.adb,
	sem_ch13.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb,
	sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads,
	sem_warn.adb, sinfo.adb, sinfo.ads, sprint.adb (Pragma_Name):
	Change name to Pragma_Name_Unmapped.
	(Pragma_Name_Mapped): Change name to Pragma_Name.
	This is because the "mapped" version should be the usual case.

From-SVN: r244352
2017-01-12 14:18:47 +01:00
Bob Duff
533e3abc48 snames.ads-tmpl (Renamed): New name for the pragma argument.
2017-01-06  Bob Duff  <duff@adacore.com>

	* snames.ads-tmpl (Renamed): New name for the pragma argument.
	* par-ch2.adb: Allow the new pragma (with analysis deferred
	to Sem_Prag).
	* sinfo.ads, sinfo.adb (Map_Pragma_Name, Pragma_Name_Mapped):
	Keep a mapping from new pragma names to old names.
	* sem_prag.adb: Check legality of pragma Rename_Pragma, and
	implement it by calling Map_Pragma_Name.
	* checks.adb, contracts.adb, einfo.adb, errout.adb,
	* exp_attr.adb, exp_ch3.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
	* exp_prag.adb, exp_util.adb, freeze.adb, frontend.adb, ghost.adb,
	* inline.adb, lib-writ.adb, scans.adb, scans.ads, sem_attr.adb,
	* sem_aux.adb, sem_ch10.adb, sem_ch13.adb, sem_ch6.adb, sem_ch9.adb,
	* sem_elab.adb, sem_res.adb, sem_util.adb, sem_util.ads,
	* sem_warn.adb: Call Pragma_Name_Mapped instead of Pragma_Name
	as appropriate.

From-SVN: r244144
2017-01-06 12:56:16 +01:00