2021-10-05  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (gnat_to_gnu): Do not wrap boolean values
	referenced in pragmas.

2021-10-05  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Do not set the
	DECL_DISREGARD_INLINE_LIMITS flag if -gnatd.8 is specified.

2021-10-05  Bob Duff  <duff@adacore.com>

	* gcc-interface/trans.c (set_end_locus_from_node): Check that
	Handled_Statement_Sequence is not Empty before calling
	End_Label, because the Empty node has no End_Label, and
	depending on the exact node layout chosen by gen_il, calling
	End_Label might crash, or might work OK by accident.

2021-10-05  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/cuintp.c: Adjust placement of include directive.
	* gcc-interface/targtyps.c: Likewise.

2021-10-05  Alexandre Oliva  <oliva@adacore.com>

	* doc/gnat_rm.rst: Add...
	* doc/gnat_rm/security_hardening_features.rst: New.
	* doc/gnat_rm/about_this_guide.rst: Link to new chapter.
	* gnat_rm.texi: Regenerate.
	* gcc-interface/utils.c (handle_strub_attribute): New.
	(gnat_internal_attribute_table): Add strub.
	* libgnat/a-except.adb: Make Rcheck_CE_* strub-callable.
	* libgnat/a-except.ads (Raise_Exception): Likewise.
	(Raise_Exception_Always): Likewise.
	* libgnat/s-arit128.ads (Multiply_With_Ovflo_Check128):
	Likewise.
	* libgnat/s-arit64.ads (Multiply_With_Ovflo_Check64):
	Likewise.
	* libgnat/s-secsta.ads (SS_Allocate, SS_Mark, SS_Release):
	Likewise.

2021-10-05  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch9.adb (Install_Private_Data_Declarations): Copy the Sloc of
	components for the local renamings as well as the Comes_From_Source
	flag, and also set Warnings_Off on them.  Use Nam local variable.

2021-10-05  Arnaud Charlet  <charlet@adacore.com>

	* libgnarl/a-tasini.ads (Set_Initialization_Handler): Update
	comments.

2021-10-05  Corentin Gay  <gay@adacore.com>

	* init.c (QNX): Add #include errno.h.

2021-10-05  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_attr.adb (Expand_Fpt_Attribute): Likewise.
	* snames.ads-tmpl (Name_Unaligned_Valid): Delete.

2021-10-05  Etienne Servais  <servais@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Forbid use of
	Compile_Time_(Error|Warning) as configuration pragma.
	* doc/gnat_ugn/the_gnat_compilation_model.rst:
	Compile_Time_(Error|Warning) and Compiler_Unit(_Warning) are not
	configuration pragmas and shall not be listed as such.  The
	following pragmas are either obsolete or undocumented:
	No_Run_Time, Propagate_Exceptions, Rational, Ravenscar,
	Restricted_Run_Time, Short_Descriptors, Universal_Data.  Fix
	some typos (notably on Restriction_Warnings).
	* doc/gnat_rm/implementation_defined_pragmas.rst: Move
	Rename_Pragma documentation to alphabetical order.
	* gnat_rm.texi, gnat_ugn.texi: Regenerate.

2021-10-05  Corentin Gay  <gay@adacore.com>

	* adaint.c (QNX): Add #include for sys/time.h.

2021-10-05  Pascal Obry  <obry@adacore.com>

	* libgnat/g-forstr.adb (Next_Format): When there is no more
	format specifier found issue a proper error message instead of
	raising a contraint error.

2021-10-05  Pascal Obry  <obry@adacore.com>

	* libgnat/g-forstr.adb (Get_Formatted): Fix computation of the
	number of zero to use in the formatted string. This was a wrong
	copy/paste.

2021-10-05  Pascal Obry  <obry@adacore.com>

	* libgnat/g-forstr.adb (Get_Formatted): Minor code clean-up.

2021-10-05  Etienne Servais  <servais@adacore.com>

	* libgnat/a-zchhan.ads, libgnat/a-zchhan.adb
	(Character_Set_Version, Is_Basic, To_Basic): New.
	* libgnat/a-zchuni.ads, libgnat/a-zchuni.adb (Is_Basic,
	To_Basic): New.

2021-10-05  Yannick Moy  <moy@adacore.com>

	* sem_aggr.adb (Resolve_Array_Aggregate): Improve error message.

2021-10-05  Gary Dismukes  <dismukes@adacore.com>

	* aspects.ads (type Aspect_Id): Add
	Aspect_Designated_Storage_Model and Aspect_Storage_Model_Type.
	(Aspect_Argument): Add associations for the above new aspects.
	(Is_Representation_Aspect): Likewise.
	(Aspect_Names, Aspect_Delay): Likewise.
	* exp_ch4.adb (Expand_N_Allocator): Call Find_Storage_Op rather
	than Find_Prim_Op.
	* exp_intr.adb (Expand_Unc_Deallocation): Likewise.
	* exp_util.ads (Find_Storage_Op): New function that locates
	either a primitive operation of a storage pool or an operation
	of a storage-model type specified in its Storage_Model_Type
	aspect.
	* exp_util.adb (Find_Storage_Op): New function that calls either
	Find_Prim_Op or Get_Storage_Model_Type_Entity to locate a
	storage-related operation that is associated with a type.
	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Analyzes,
	resolves, and validates the arguments of aspect
	Designated_Storage_Model_Type.
	(Analyze_Aspect_Specifications): Sets delay-related flags on
	storage-model aspects when Delay_Required. Checks that aspect
	Designated_Storage_Model is only specified for an access type
	and that aspect Storage_Model_Type is only specified on an
	immutably limited type. Also records such aspects for their
	associated types.
	(Check_Aspect_At_Freeze_Point): Resolve each of the argument
	associations given for a Storage_Model_Type aspect.
	(Resolve_Storage_Model_Type_Argument): New procedure that
	resolves an argument given in the association for a given entity
	name associated with a type with aspect Storage_Model_Type,
	ensuring that it has the proper kind or profile.
	(Validate_Storage_Model_Type_Aspect): New procedure that checks
	the legality and completeness of the entity associations given
	in a Storage_Model_Type aspect.
	* sem_util.ads (package Storage_Model_Support): New nested
	package that encapsulates a set of convenient utility functions
	for retrieving entities, etc. associated with
	storage-model-related types and objects.
	(Get_Storage_Model_Type_Entity): New function to return a
	specified entity associated with a type that has aspect
	Storage_Model_Type.
	(Has_Designated_Storage_Model_Aspect): New function that returns
	whether a type has aspect Designated_Storage_Model.
	(Has_Storage_Model_Type_Aspect): New function that returns
	whether a type has aspect Storage_Model_Type.
	(Storage_Model_Object): New function that returns the object
	Entity_Id associated with a type's Designated_Storage_Model
	aspect.
	(Storage_Model_Type): New function that returns the type
	associated with a storage-model object (when the object's type
	specifies Storage_Model_Type).
	(Storage_Model_Address_Type): New function that returns the
	Address_Type associated with a type that has aspect
	Storage_Model_Type.
	(Storage_Model_Null_Address): New function that returns the
	Null_Address constant associated with a type that has aspect
	Storage_Model_Type.
	(Storage_Model_Allocate): New function that returns the Allocate
	procedure associated with a type that has aspect
	Storage_Model_Type.
	(Storage_Model_Deallocate): New function that returns the
	Deallocate procedure associated with a type that has aspect
	Storage_Model_Type.
	(Storage_Model_Copy_From): New function that returns the
	Copy_From procedure associated with a type that has aspect
	Storage_Model_Type.
	(Storage_Model_Copy_To): New function that returns the Copy_To
	procedure associated with a type that has aspect
	Storage_Model_Type.
	(Storage_Model_Storage_Size): New function that returns the
	Storage_Size function associated with a type that has aspect
	Storage_Model_Type.
	* sem_util.adb (package Storage_Model_Support): Body of new
	nested package that contains the implementations the utility
	functions declared in the spec of this package.
	* snames.ads-tmpl: Add new names Name_Designated_Storage_Pool,
	Name_Storage_Model, Name_Storage_Model_Type, Name_Address_Type,
	Name_Copy_From, Name_Copy_To, and Name_Null_Address for the new
	aspects and associated aspect arguments.

2021-10-05  Richard Kenner  <kenner@adacore.com>

	* debug.adb: Add documentation for -gnatd_t.

2021-10-05  Corentin Gay  <gay@adacore.com>

	* sysdep.c (__gnat_is_file_not_found_error): Add else if case.

2021-10-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_util.adb (Build_Class_Wide_Expression): Replace entities
	of both identifiers and operator symbols.

2021-10-05  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch3.adb (Derive_Subprogram): Copy ghost status from parent
	to derived subprogram.

2021-10-05  Joffrey Huguet  <huguet@adacore.com>

	* libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads: Add
	Default_Initial_Condition to Unbounded_String.

2021-10-05  Claire Dross  <dross@adacore.com>

	* libgnat/a-cfdlli.ads: Use pragma Assertion_Policy to disable
	contract cases at execution.
	* libgnat/a-cfinve.ads: Idem.
	* libgnat/a-cofove.ads: Idem.
	* libgnat/a-cfhase.ads: Idem.
	* libgnat/a-cfhama.ads: Idem.
	* libgnat/a-cforse.ads: Idem.
	* libgnat/a-cforma.ads: Idem.

2021-10-05  Bob Duff  <duff@adacore.com>

	* par-ch4.adb (P_Iterated_Component_Association): Parse these
	features the same way in all language versions.  Move the call
	to Error_Msg_Ada_2022_Feature into semantic analysis.
	* sem_aggr.adb (Resolve_Iterated_Component_Association,
	Resolve_Iterated_Association): Move the call to
	Error_Msg_Ada_2022_Feature here from par-ch4.adb.

2021-10-05  Yannick Moy  <moy@adacore.com>

	* sem_res.adb (Resolve): Recognize specially that case.

2021-10-05  Yannick Moy  <moy@adacore.com>

	* libgnat/a-strmap.adb: Add ghost code for proof.
	(To_Range): This is the most involved proof, as it requires
	creating the result of the call to To_Domain as a ghost
	variable, and show the unicity of this result in order to prove
	the postcondition.
	* libgnat/a-strmap.ads: (SPARK_Proof_Sorted_Character_Sequence):
	New ghost function.
	(To_Domain): Add postcondition regarding sorting of result.
	(To_Range): Fix postcondition that should compare Length instead
	of Last for the results of To_Domain and To_Range, as the value
	of Last for an empty result is not specified in the Ada RM.

2021-10-05  Yannick Moy  <moy@adacore.com>

	* libgnat/a-chahan.adb: Add loop invariants as needed to prove
	subprograms.  Also use extended return statements where
	appropriate and not done already.  Mark data with
	Relaxed_Initialization where needed for initialization by parts.
	Convert regular functions to expression functions where needed
	for proof.
	* libgnat/a-chahan.ads: Add postconditions.
	* libgnat/a-strmap.ads (Model): New ghost function to create a
	publicly visible model of the private data Character_Mapping,
	needed in order to prove subprograms in Ada.Characters.Handling.

2021-10-04  Justin Squirek  <squirek@adacore.com>

	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
	Add new entry for No_Dynamic_Accessibility_Checks documenting
	behavior.
	* gnat_rm.texi: Regenerate.
	* exp_ch4.adb (Expand_N_In): Perform special expansion for
	membership tests when No_Dynamic_Accessibility_Checks is active.
	* sem_attr.adb (Resolve_Attribute): Skip static accessibility
	check on actuals for anonymous access type formal parameters,
	and add constants for readability.
	* sem_util.adb (Function_Call_Or_Allocator_Level): Use the
	innermost master for determining the level for function calls
	within the alternative accessibility model.
	(Type_Access_Level): Properly get the level for anonymous access
	function result types.

2021-10-04  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst
	(gnateA): This switch no longer looks at the formal parameter
	type being composite (as originally mandated by SPARK), but in
	the parameter passing mechanism being not specified (as
	currently mandated by Ada).
	* gnat_ugn.texi: Regenerate.

2021-10-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Operator_Symbol): Recognize strings as
	operator names when they are the value of one of the Ada2022
	aspects for User_Defined_Literals.
	* sem_ch13.adb (Analyze_One_Aspect): Handle an aspect value
	given by an Operator_Name.
	(Validate_Literal_Aspect): Call Analyze_Operator_Symbol when
	needed.

2021-10-04  Piotr Trojanek  <trojanek@adacore.com>

	* gen_il-gen.adb (Put_Make_Spec): Don't emit the LF character in
	the middle of a string, because the Put routine won't indent it
	properly.

2021-10-04  Ghjuvan Lacambre  <lacambre@adacore.com>

	* gnat_cuda.adb (Remove_CUDA_Device_Entities): New function.
	(Expand_CUDA_Package): Call Remove_CUDA_Device_Entities.
	* gnat_cuda.ads (Expand_CUDA_Package): Expand documentation.
	* sem_prag.adb (Analyze_Pragma): Remove warning about
	CUDA_Device not being implemented.

2021-10-04  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch7.adb (Analyze_Package_Specification): For types marked
	as Must_Have_Preelab_Init, we now check for the presence of a
	Preelaborable_Initialization aspect on the type, and pass the
	aspect's expression (if any) on the call to
	Has_Preelaborable_Initialization (or pass Empty if the type has
	no such aspect or the aspect has no associated expression).
	* sem_util.ads (Has_Preelaborable_Initialization): Change
	Boolean formal parameter Formal_Types_Have_Preelab_Init to
	instead be a formal of type Node_Id (named Preelab_Init_Expr),
	to allow passing an expression that may be a conjunction of
	Preelaborable_Initialization aspects. Revise spec comment
	accordingly (and remove ??? comment).
	* sem_util.adb (Type_Named_In_Preelab_Init_Expression): New
	nested function with a result indicating whether a given type is
	named as the prefix of a Preelaborable_Initialization attribute
	in the expression of a corresponding P_I aspect.
	(Has_Preelaborable_Initialization): For generic formal derived
	and private types, test whether the type is named in the
	expression Preelab_Init_Expr (by calling
	Type_Named_In_Preelab_Init_Expression), and if so, treat the
	formal type as having preelaborable initialization (returning
	True).
	* libgnat/a-cobove.ads (Vector): Replace pragma
	Preelaborable_Initialization with the aspect, specifying its
	value as Element_Type'Preelaborable_Initialization.
	(Cursor): Replace pragma P_I with the aspect (defaulting to
	True).
	* libgnat/a-cbdlli.ads (List): Replace pragma
	Preelaborable_Initialization with the aspect, specifying its
	value as Element_Type'Preelaborable_Initialization.
	(Cursor): Replace pragma P_I with the aspect (defaulting to
	True).
	* libgnat/a-cbhama.ads (Map): Replace pragma
	Preelaborable_Initialization with the aspect, specifying its
	value as (Element_Type'Preelaborable_Initialization and
	Key_Type'Preelaborable_Initialization).
	(Cursor): Replace pragma P_I with the aspect (defaulting to
	True).
	* libgnat/a-cborma.ads (Map): Replace pragma
	Preelaborable_Initialization with the aspect, specifying its
	value as (Element_Type'Preelaborable_Initialization and
	Key_Type'Preelaborable_Initialization).
	(Cursor): Replace pragma P_I with the aspect (defaulting to
	True).
	* libgnat/a-cbhase.ads (Set): Replace pragma
	Preelaborable_Initialization with the aspect, specifying its
	value as Element_Type'Preelaborable_Initialization.
	(Cursor): Replace pragma P_I with the aspect (defaulting to
	True).
	* libgnat/a-cborse.ads (Set): Replace pragma
	Preelaborable_Initialization with the aspect, specifying its
	value as Element_Type'Preelaborable_Initialization.
	(Cursor): Replace pragma P_I with the aspect (defaulting to
	True).
	* libgnat/a-cbmutr.ads (Tree): Replace pragma
	Preelaborable_Initialization with the aspect, specifying its
	value as Element_Type'Preelaborable_Initialization.
	(Cursor): Replace pragma P_I with the aspect (defaulting to
	True).
	* libgnat/a-coboho.ads (Holder): Replace pragma
	Preelaborable_Initialization with the aspect, specifying its
	value as Element_Type'Preelaborable_Initialization.
	(Cursor): Replace pragma P_I with the aspect (defaulting to
	True).

2021-10-04  Yannick Moy  <moy@adacore.com>

	* libgnat/a-textio.adb: Mark body out of SPARK.
	* libgnat/a-textio.ads: Mark spec in SPARK and private part out
	of SPARK.
	* sem.adb (Semantics.Do_Analyze): Similar to ghost code
	attributes, save and restore value of
	Ignore_SPARK_Mode_Pragmas_In_Instance.

2021-10-04  Bob Duff  <duff@adacore.com>

	* libgnat/s-regpat.ads: Change Data_First to Data'First. Change
	"still" to "always".  Similar changes for Data_Last.

2021-10-04  Piotr Trojanek  <trojanek@adacore.com>

	* sprint.adb (Sprint_Node_Actual): Refactor code for generic
	package and subprogram declarations.

2021-10-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Resolve_Indexed_Component, Resolve_Slice): Rename
	the local constant Name to Pref; remove repeated calls to
	Prefix.

2021-10-04  Matthieu Eyraud  <eyraud@adacore.com>

	* scos.ads: Extend the documentation.
	* par_sco.adb (Process_Decisions): Emit specific SCOs for
	quantified expressions.

2021-10-04  Piotr Trojanek  <trojanek@adacore.com>

	* checks.adb (Selected_Range_Checks): Fix style.
	* exp_ch4.adb (Expand_N_Slice): Fix style and comment.
	* sem_res.adb (Resolve_Indexed_Component): Fix style.

2021-10-04  Yannick Moy  <moy@adacore.com>

	* libgnat/a-strbou.ads: Add comments.

2021-10-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_attr.adb (Eval_Attribute): Evaluation of attribute
	Leading_Part with illegal second parameter is now similar to
	evaluation of Remainder with its second parameter being zero.

2021-10-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Declare_Expression): Use tree traversals
	to perform name capture of local entities in the expression of
	the construct.
	* exp_util.adb (Possible_Side_Effects_In_SPARK): Do not apply to
	the prefix of an attribute reference Reduce when that prefix is
	an aggregate, because it will be expanded into a loop, and has
	no identifiable type.

2021-10-04  Javier Miranda  <miranda@adacore.com>

	* sem_ch8.adb (Build_Class_Wide_Wrapper): Fix handling of
	class-wide subtypes; required to handle chains of
	instantiations. Adding also code to identify these wrappers and
	properly resolve instantiations where the wrapper and a tagged
	type primitive are visible.
	* einfo.ads (Is_Class_Wide_Wrapper): Adding documentation.
	* gen_il-fields.ads (Opt_Field_Enum): Adding
	Is_Class_Wide_Wrapper.
	* gen_il-gen-gen_entities.adb (Root_Entity_Type): Adding
	semantic flag Is_Class_Wide_Wrapper.

2021-10-04  Bob Duff  <duff@adacore.com>

	* einfo.ads (Declaration_Node): Document that Declaration_Node
	for Itypes.
	* einfo-utils.adb (Declaration_Node): Make it return Empty for
	Itypes, or a proper type or subtype declaration.
	* gen_il-gen.adb: Minor comment improvement.

2021-10-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Resolve_Slice): Fix application of range checks
	to slice range given as a subtype name.

2021-10-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Resolve_Slice): Handle range given as a subtype
	indication.

2021-10-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Resolve_Slice): Add custom handling of attribute
	Image and similar in CodePeer mode. This complements the
	existing custom handling of these attributes in
	Expand_N_Attribute_Reference.

2021-10-04  Justin Squirek  <squirek@adacore.com>

	* sem_util.adb (Is_Variable): Add check for implicitly
	dereferenced access types
	(Is_Dependent_Component_Of_Mutable_Object): Set Prefix_Type when
	not specified.

2021-10-04  Eric Botcazou  <ebotcazou@adacore.com>

	* doc/gnat_ugn/the_gnat_compilation_model.rst (Binding generation):
	Document specific behavior for /include/-ending paths and update.
	* gnat_ugn.texi: Regenerate.

2021-10-04  Arnaud Charlet  <charlet@adacore.com>

	PR ada/102073
	* socket.c (__gnat_gethostbyaddr, __gnat_inet_pton): Add missing
	return statements.

2021-10-04  Justin Squirek  <squirek@adacore.com>

	* sem_util.adb (Function_Or_Allocator_Level): Properly handle
	direct function calls in the default alternative accessibility
	checking mode.

2021-10-04  Javier Miranda  <miranda@adacore.com>

	* sem_util.adb (Is_Library_Level_Entity): Return False for
	entities defined in E_Loop scopes. This change is not required
	by the frontend; it is required by tools that depend on the
	frontend sources.
	* einfo-utils.adb (Is_Dynamic_Scope): Code cleanup.

2021-10-04  Justin Squirek  <squirek@adacore.com>

	* sem_util.adb (Accessibility_Level): Add a case to handle
	renamed subprograms in addition to renamed objects.

2021-10-04  Doug Rupp  <rupp@adacore.com>

	* libgnarl/s-osinte__vxworks.ads (tlsKeyCreate): Return int.
	* libgnarl/s-tpopsp__vxworks-rtp.adb (ERROR): Declare from
	System.VxWorks.Ext.ERROR.
	(Initialize): Declare IERR. Assert it.
	* libgnarl/s-tpopsp__vxworks.adb (ERROR): Declare from
	System.VxWorks.Ext.ERROR.
	(Is_Valid_Task): Declare IERR. Test return.
	* libgnarl/s-vxwext__kernel.adb (semDelete): Return STATUS.

2021-10-04  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_disp.adb (Make_DT): Copy the Needs_Debug_Info flag from the
	type onto the TSD object.

2021-10-04  Steve Baird  <baird@adacore.com>

	* sem_util.adb (Is_Repeatedly_Evaluated): Handle the case of an
	Old attribute reference that occurs within what was originally a
	quantified expression but which expansion has transformed into
	an Expression_With_Actions.

2021-10-04  Steve Baird  <baird@adacore.com>

	* exp_ch4.adb (Expand_N_Indexed_Component): The two improvements
	described above.

2021-10-01  Bob Duff  <duff@adacore.com>

	* exp_ch6.adb (Expand_Call_Helper): Do not call
	Check_Subprogram_Variant if the subprogram is an ignored ghost
	entity. Otherwise the compiler crashes (in debug builds) or
	gives strange error messages (in production builds).

2021-10-01  Ghjuvan Lacambre  <lacambre@adacore.com>

	* gnat_cuda.adb (Empty_CUDA_Global_Subprograms): New procedure.
	(Expand_CUDA_Package): Call Empty_CUDA_Global_Subprograms.

2021-10-01  Steve Baird  <baird@adacore.com>

	* checks.ads: Define a type Dimension_Set. Add an out-mode
	parameter of this new type to Generate_Index_Checks so that
	callers can know for which dimensions a check was generated. Add
	an in-mode parameter of this new type to
	Apply_Subscript_Validity_Checks so that callers can indicate
	that no check is needed for certain dimensions.
	* checks.adb (Generate_Index_Checks): Implement new
	Checks_Generated parameter.
	(Apply_Subscript_Validity_Checks): Implement new No_Check_Needed
	parameter.
	* exp_ch4.adb (Expand_N_Indexed_Component): Call
	Apply_Subscript_Validity_Checks in more cases than before. This
	includes declaring two new local functions,
	(Is_Renamed_Variable_Name,
	Type_Requires_Subscript_Validity_Checks_For_Reads): To help in
	deciding whether to call Apply_Subscript_Validity_Checks.
	Adjust to parameter profile changes in Generate_Index_Checks and
	Apply_Subscript_Validity_Checks.

2021-10-01  Eric Botcazou  <ebotcazou@adacore.com>

	* doc/gnat_rm/implementation_defined_characteristics.rst: Document
	the rounding mode assumed for dynamic computations as per 3.5.7(16).
	* gnat_rm.texi: Regenerate.

2021-10-01  Bob Duff  <duff@adacore.com>

	* table.ads (Table_Type): Remove "aliased"; no longer needed by
	Atree.  Besides it contradicted the comment a few lines above,
	"--  Note: We do not make the table components aliased...".
	* types.ads: Move type Slot to Atree.
	* atree.ads: Move type Slot fromt Types to here.  Move type
	Node_Header from Seinfo to here.
	* atree.adb: Avoid the need for aliased components of the Slots
	table.  Instead of 'Access, use a getter and setter.  Misc
	cleanups.
	(Print_Statistics): Print statistics about node and entity kind
	frequencies. Give 3 digit fractions instead of percentages.
	* (Get_Original_Node_Count, Set_Original_Node_Count): Statistics
	for calls to Original_Node and Set_Original_Node.
	(Original_Node, Set_Original_Node): Gather statistics by calling
	the above.
	(Print_Field_Statistics): Print Original_Node statistics.
	(Update_Kind_Statistics): Remove, and put all statistics
	gathering under "if Atree_Statistics_Enabled", which is a flag
	generated in Seinfo by Gen_IL.
	* gen_il-gen.adb (Compute_Field_Offsets): Choose offsets of
	Nkind, Ekind, and Homonym first. This causes a slight efficiency
	improvement.  Misc cleanups.  Do not generate Node_Header; it is
	now hand-written in Atree.  When choosing the order in which to
	assign offsets, weight by the frequency of the node type, so the
	more common nodes get their field offsets assigned earlier.  Add
	more special cases.
	(Compute_Type_Sizes): Remove this and related things.
	There was a comment: "At some point we can instrument Atree to
	print out accurate size statistics, and remove this code." We
	have Atree statistics, so we now remove this code.
	(Put_Seinfo): Generate Atree_Statistics_Enabled, which is equal
	to Statistics_Enabled. This allows Atree to say "if
	Atree_Statistics_Enabled then <gather statistics>" for
	efficiency. When Atree_Statistics_Enabled is False, the "if ..."
	will be optimized away.
	* gen_il-internals.ads (Type_Frequency): New table of kind
	frequencies.
	* gen_il-internals.adb: Minor comment improvement.
	* gen_il-fields.ads: Remove unused subtypes.  Suppress style
	checks in the Type_Frequency table.  If we regenerate this
	table (see -gnatd.A) we don't want to have to fiddle with
	casing.
	* impunit.adb: Minor.
	* sinfo-utils.adb: Minor.
	* debug.adb: Minor comment improvement.

2021-10-01  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_type.adb (Specific_Type): Check that the type is tagged
	before calling Interface_Present_In_Ancestor on it.

2021-10-01  Eric Botcazou  <ebotcazou@adacore.com>

	* debug.adb (d.8): Document usage.
	* fe.h (Debug_Flag_Dot_8): Declare.

2021-10-01  Gary Dismukes  <dismukes@adacore.com>

	* sem_util.adb (Enter_Name): Suppress hiding warning when in an
	instance.

2021-10-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case Type_Key): Attribute can
	be applied to a formal type.
	* sem_ch5.adb (Analyze_Case_Statement): If Extensions_Allowed is
	not enabled, verify that the type of the expression is discrete.

2021-10-01  Justin Squirek  <squirek@adacore.com>

	* exp_dbug.adb (Debug_Renaming_Declaration): Add check for
	Entity present for Ren to prevent looking at unanalyzed nodes

2021-10-01  Ghjuvan Lacambre  <lacambre@adacore.com>

	* atree.adb (Print_Statistics): Help CodePeer see Total as
	greater than zero.
	* gen_il-gen.adb (One_Comp): Annotate Field_Table as Modified.

2021-10-01  Richard Kenner  <kenner@adacore.com>

	* gen_il-gen-gen_entities.adb (Evaluable_Kind,
	Global_Name_Kind): Add.
	* gen_il-types.ads (Evaluable_Kind, Global_Name_Kind): Likewise.

2021-10-01  Ghjuvan Lacambre  <lacambre@adacore.com>

	* aspects.ads: Add CUDA_Device aspect.
	* gnat_cuda.ads (Add_CUDA_Device_Entity): New subprogram.
	* gnat_cuda.adb:
	(Add_CUDA_Device_Entity): New subprogram.
	(CUDA_Device_Entities_Table): New hashmap for CUDA_Device
	entities.
	(Get_CUDA_Device_Entities): New internal subprogram.
	(Set_CUDA_Device_Entities): New internal subprogram.
	* par-prag.adb (Prag): Handle pragma id Pragma_CUDA_Device.
	* sem_prag.ads (Aspect_Specifying_Pragma): Mark CUDA_Device as
	being both aspect and pragma.
	* sem_prag.adb (Analyze_Pragma): Add CUDA_Device entities to
	list of CUDA_Entities belonging to package N.
	(Sig_Flags): Signal CUDA_Device entities as referenced.
	* snames.ads-tmpl: Create CUDA_Device names and pragmas.

2021-10-01  Gary Dismukes  <dismukes@adacore.com>

	* exp_util.adb (Build_DIC_Procedure_Body): Remove inappropriate
	Assert pragma.  Remove unneeded and dead code related to derived
	private types.

2021-10-01  Richard Kenner  <kenner@adacore.com>

	* gen_il-gen-gen_nodes.adb (N_Alternative, N_Is_Case_Choice):
	Add.
	(N_Is_Exception_Choice, N_Is_Range): Likewise.
	* gen_il-types.ads: Add above names.
	* gen_il-gen.adb (Put_Union_Membership): Write both declarations
	and definitions of union functions.

2021-10-01  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Expand_Array_Aggregate,
	Two_Pass_Aggregate_Expansion): Increment index for element
	insertion within the loop, only if upper bound has not been
	reached.

2021-10-01  Javier Miranda  <miranda@adacore.com>

	* contracts.ads (Make_Class_Precondition_Subps): New subprogram.
	(Merge_Class_Conditions): New subprogram.
	(Process_Class_Conditions_At_Freeze_Point): New subprogram.
	* contracts.adb (Check_Class_Condition): New subprogram.
	(Set_Class_Condition): New subprogram.
	(Analyze_Contracts): Remove code analyzing class-wide-clone
	subprogram since it is no longer built.
	(Process_Spec_Postconditions): Avoid processing twice seen
	subprograms.
	(Process_Preconditions): Simplify its functionality to
	non-class-wide preconditions.
	(Process_Preconditions_For): No action needed for wrappers and
	helpers.
	(Make_Class_Precondition_Subps): New subprogram.
	(Process_Class_Conditions_At_Freeze_Point): New subprogram.
	(Merge_Class_Conditions): New subprogram.
	* exp_ch6.ads (Install_Class_Preconditions_Check): New
	subprogram.
	* exp_ch6.adb (Expand_Call_Helper): Install class-wide
	preconditions check on dispatching primitives that have or
	inherit class-wide preconditions.
	(Freeze_Subprogram): Remove code for null procedures with
	preconditions.
	(Install_Class_Preconditions_Check): New subprogram.
	* exp_util.ads (Build_Class_Wide_Expression): Lower the
	complexity of this subprogram; out-mode formal Needs_Wrapper
	since this functionality is now provided by a new subprogram.
	(Get_Mapped_Entity): New subprogram.
	(Map_Formals): New subprogram.
	* exp_util.adb (Build_Class_Wide_Expression): Lower the
	complexity of this subprogram. Its previous functionality is now
	provided by subprograms Needs_Wrapper and Check_Class_Condition.
	(Add_Parent_DICs): Map the overridden primitive to the
	overriding one.
	(Get_Mapped_Entity): New subprogram.
	(Map_Formals): New subprogram.
	(Update_Primitives_Mapping): Adding assertion.
	* freeze.ads (Check_Inherited_Conditions): Subprogram made
	public with added formal to support late overriding.
	* freeze.adb (Check_Inherited_Conditions): New implementation;
	builds the dispatch table wrapper required for class-wide
	pre/postconditions; added support for late overriding.
	(Needs_Wrapper): New subprogram.
	* sem.ads (Inside_Class_Condition_Preanalysis): New global
	variable.
	* sem_disp.ads (Covered_Interface_Primitives): New subprogram.
	* sem_disp.adb (Covered_Interface_Primitives): New subprogram.
	(Check_Dispatching_Context): Skip checking context of
	dispatching calls during preanalysis of class-wide conditions
	since at that stage the expression is not installed yet on its
	definite context.
	(Check_Dispatching_Call): Skip checking 6.1.1(18.2/5) by
	AI12-0412 on helpers and wrappers internally built for
	supporting class-wide conditions; for late-overriding
	subprograms call Check_Inherited_Conditions to build the
	dispatch-table wrapper (if required).
	(Propagate_Tag): Adding call to
	Install_Class_Preconditions_Check.
	* sem_util.ads (Build_Class_Wide_Clone_Body): Removed.
	(Build_Class_Wide_Clone_Call): Removed.
	(Build_Class_Wide_Clone_Decl): Removed.
	(Class_Condition): New subprogram.
	(Nearest_Class_Condition_Subprogram): New subprogram.
	* sem_util.adb (Build_Class_Wide_Clone_Body): Removed.
	(Build_Class_Wide_Clone_Call): Removed.
	(Build_Class_Wide_Clone_Decl): Removed.
	(Class_Condition): New subprogram.
	(Nearest_Class_Condition_Subprogram): New subprogram.
	(Eligible_For_Conditional_Evaluation): No need to evaluate
	class-wide conditions during preanalysis since the expression is
	not installed on its definite context.
	* einfo.ads (Class_Wide_Clone): Removed.
	(Class_Postconditions): New attribute.
	(Class_Preconditions): New attribute.
	(Class_Preconditions_Subprogram): New attribute.
	(Dynamic_Call_Helper): New attribute.
	(Ignored_Class_Postconditions): New attribute.
	(Ignored_Class_Preconditions): New attribute.
	(Indirect_Call_Wrapper): New attribute.
	(Is_Dispatch_Table_Wrapper): New attribute.
	(Static_Call_Helper): New attribute.
	* exp_attr.adb (Expand_N_Attribute_Reference): When the prefix
	is of an access-to-subprogram type that has class-wide
	preconditions and an indirect-call wrapper of such subprogram is
	available, replace the prefix by the wrapper.
	* exp_ch3.adb (Build_Class_Condition_Subprograms): New
	subprogram.
	(Register_Dispatch_Table_Wrappers): New subprogram.
	* exp_disp.adb (Build_Class_Wide_Check): Removed; class-wide
	precondition checks now rely on internally built helpers.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Set initial
	value of attributes Class_Preconditions, Class_Postconditions,
	Ignored_Class_Preconditions and Ignored_Class_Postconditions.
	These values are later updated with the full pre/postcondition
	by Merge_Class_Conditions.
	(Freeze_Entity_Checks): Call
	Process_Class_Conditions_At_Freeze_Point.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove code
	building the body of the class-wide clone subprogram since it is
	no longer required.
	(Install_Entity): Adding assertion.
	* sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove
	code building and analyzing the class-wide clone subprogram; no
	longer required.
	(Build_Pragma_Check_Equivalent): Adjust call to
	Build_Class_Wide_Expression since the formal named Needs_Wrapper
	has been removed.
	* sem_attr.adb (Analyze_Attribute_Old_Result): Skip processing
	these attributes during preanalysis of class-wide conditions
	since at that stage the expression is not installed yet on its
	definite context.
	* sem_res.adb (Resolve_Actuals): Skip applying RM 3.9.2(9/1) and
	SPARK RM 6.1.7(3) on actuals of internal helpers and wrappers
	built to support class-wide preconditions.
	* sem_ch5.adb (Process_Bounds): Do not generate a constant
	declaration for the bounds when we are preanalyzing a class-wide
	condition.
	(Analyze_Loop_Parameter_Specification): Handle preanalysis of
	quantified expression placed in the outermost expression of a
	class-wide condition.
	* ghost.adb (Check_Ghost_Context): No check required during
	preanalysis of class-wide conditions.
	* gen_il-fields.ads (Opt_Field_Enum): Adding
	Class_Postconditions, Class_Preconditions,
	Class_Preconditions_Subprogram, Dynamic_Call_Helper,
	Ignored_Class_Postconditions, Ignored_Class_Preconditions,
	Indirect_Call_Wrapper, Is_Dispatch_Table_Wrapper,
	Static_Call_Helper.
	* gen_il-gen-gen_entities.adb (Is_Dispatch_Table_Wrapper):
	Adding semantic flag Is_Dispatch_Table_Wrapper; removing
	semantic field Class_Wide_Clone; adding semantic fields for
	Class_Postconditions, Class_Preconditions,
	Class_Preconditions_Subprogram, Dynamic_Call_Helper,
	Ignored_Class_Postconditions, Indirect_Call_Wrapper,
	Ignored_Class_Preconditions, and Static_Call_Helper.

2021-10-01  Piotr Trojanek  <trojanek@adacore.com>

	* comperr.adb (Delete_SCIL_Files): Handle generic subprogram
	declarations and renaming just like generic package declarations
	and renamings, respectively; handle
	N_Subprogram_Renaming_Declaration.

2021-10-01  Steve Baird  <baird@adacore.com>

	* bcheck.adb (Check_Versions): Add support for the case where
	the .ali file contains both a primary and a secondary version
	number, as in "GNAT Lib v22.20210809".

2021-10-01  Steve Baird  <baird@adacore.com>

	* sem_res.adb (Resolve): Two separate fixes. In the case where
	Find_Aspect for a literal aspect returns the aspect for a
	different (ancestor) type, call Corresponding_Primitive_Op to
	get the right callee. In the case where a downward tagged type
	conversion appears to be needed, generate a null extension
	aggregate instead, as per Ada RM 3.4(27).
	* sem_util.ads, sem_util.adb: Add new Corresponding_Primitive_Op
	function. It maps a primitive op of a tagged type and a
	descendant type of that tagged type to the corresponding
	primitive op of the descendant type. The body of this function
	was written by Javier Miranda.

2021-10-01  Bob Duff  <duff@adacore.com>

	* atree.adb: Gather and print statistics about frequency of
	getter and setter calls.
	* atree.ads (Print_Statistics): New procedure for printing
	statistics.
	* debug.adb: Document -gnatd.A switch.
	* gen_il-gen.adb: Generate code for statistics gathering.
	Choose the offset of Homonym early.  Misc cleanup.  Put more
	comments in the generated code.
	* gen_il-internals.ads (Unknown_Offset): New value to indicate
	that the offset has not yet been chosen.
	* gnat1drv.adb: Call Print_Statistics.
	* libgnat/s-imglli.ads: Minor comment fix.
	* output.ads (Write_Int_64): New procedure to write a 64-bit
	value.  Needed for new statistics, and could come in handy
	elsewhere.
	* output.adb (Write_Int_64): Likewise.
	* sinfo.ads: Remove obsolete comment. The xtreeprs program no
	longer exists.
	* types.ads: New 64-bit types needed for new statistics.

2021-10-01  Dmitriy Anisimkov  <anisimko@adacore.com>

	* libgnat/memtrack.adb (Putc): New routine wrapped around fputc
	with error check.
	(Write): New routine wrapped around fwrite with error check.
	Remove bound functions fopen, fwrite, fputs, fclose, OS_Exit.
	Use the similar routines from System.CRTL and System.OS_Lib.

2021-10-01  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Must_Slide): If the aggregate only contains an
	others_clause no sliding id involved. Otherwise sliding is
	required if any bound of the aggregate or the context subtype is
	non-static.

2021-10-01  Richard Kenner  <kenner@adacore.com>

	* gen_il-gen-gen_nodes.adb (N_Is_Decl): Add.
	* gen_il-types.ads (N_Is_Decl): Likewise.

2021-10-01  Richard Kenner  <kenner@adacore.com>

	* gen_il-gen-gen_nodes.adb (N_Entity_Name): Add.
	* gen_il-types.ads (N_Entity_Name): Likewise.

2021-10-01  Steve Baird  <baird@adacore.com>

	* bcheck.adb (Check_Versions): In the case of an ali file
	version mismatch, if distinct integer values can be extracted
	from the two version strings then include those values in the
	generated error message.

2021-10-01  Steve Baird  <baird@adacore.com>

	* sem_elab.adb (Is_Safe_Call): Return True in the case of a
	(possibly rewritten) call to an expression function.

2021-10-01  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_aggr.adb (Resolve_Iterated_Component_Association):
	Initialize Id_Typ to Any_Type by default.

2021-10-01  Eric Botcazou  <ebotcazou@adacore.com>

	* doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Document
	that it works only with fixed-position executables.

2021-10-01  Doug Rupp  <rupp@adacore.com>

	* libgnat/s-parame__vxworks.ads (time_t_bits): Change to
	Long_Long_Integer'Size.

2021-09-23  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity): Fix comment.

2021-09-23  Richard Kenner  <kenner@adacore.com>

	* gen_il-gen-gen_entities.adb (Subprogram_Body_Or_Type): Add.
	* gen_il-types.ads (Subprogram_Body_Or_Type): Likewise.

2021-09-23  Richard Kenner  <kenner@adacore.com>

	* einfo-utils.adb (Next_Index): Verify input and output are
	N_Is_Index.
	* gen_il-gen-gen_nodes.adb (N_Has_Bounds, N_Is_Index): Add.
	* gen_il-types.ads (N_Has_Bounds, N_Is_Index): Likewise.
	* sem_ch3.adb (Array_Type_Declaration): Use Next, not
	Next_Index.
	* sem_ch12.adb (Formal_Dimensions): Likewise.
	* sem_util.adb (Is_Valid_Renaming): Likewise.

2021-09-23  Eric Botcazou  <ebotcazou@adacore.com>

	* doc/gnat_ugn/gnat_utility_programs.rst (gnatsymbolize):
	Document new --load option and -g1 as minimal compilation
	requirement.

2021-09-23  Piotr Trojanek  <trojanek@adacore.com>

	* sem_aggr.adb (Resolve_Array_Aggregate): Only keep the bounds
	for internally generated attributes; otherwise, compute them
		anew.

2021-09-23  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Build_Access_Subprogram_Wrapper): Decorate the
	wrapper with attribute Is_Wrapper, and move its declaration to
	the freezing actions of its type declaration; done to facilitate
	identifying it at later stages to avoid handling it as a
	primitive operation of a tagged type; otherwise it may be
	handled as a dispatching operation and erroneously registered in
	a dispatch table.
	(Make_Index): Add missing decoration of field Parent.
	* sem_disp.adb (Check_Dispatching_Operation): Complete
	decoration of late-overriding dispatching primitives.
	(Is_Access_To_Subprogram_Wrapper): New subprogram.
	(Inherited_Subprograms): Prevent cascaded errors; adding missing
	support for private types.
	* sem_type.adb (Add_One_Interp): Add missing support for the
	first interpretation of a primitive of an inmediate ancestor
	interface.
	* sem_util.adb (Check_Result_And_Post_State_In_Pragma): Do not
	report missing reference in postcondition placed in internally
	built wrappers.
	* exp_disp.adb (Expand_Dispatching_Call): Adding assertion.

2021-09-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Array_Aggregate): Check the validity of
	an array aggregate all of whose components are iterated
	component associations.
	* exp_aggr.adb (Expand_Array_Aggregate,
	Two_Pass_Aggregate_Expansion): implement two-pass algorithm and
	replace original aggregate with resulting temporary, to ensure
	that a proper length check is performed if context is
	constrained. Use attributes Pos and Val to handle index types of
	any discrete type.

2021-09-23  Bob Duff  <duff@adacore.com>

	* gen_il-gen.adb: Set the number of concrete nodes that have the
	Homonym field to a higher number than any other field. This
	isn't true, but it forces Homonym's offset to be chosen first,
	so it will be at offset zero and hence slot zero.

2021-09-23  Richard Kenner  <kenner@adacore.com>

	* atree.adb (Relocate_Node): If relocating a subprgram call and
	we're doing unnesting, make a new Parameter_Associations, if
	any.

2021-09-23  Piotr Trojanek  <trojanek@adacore.com>

	* libgnat/a-strbou.ads (Generic_Bounded_Length): Remove explicit
	Initializes contract.

2021-09-23  Bob Duff  <duff@adacore.com>

	* gen_il-gen.adb: Generate getters and setters with much of the
	code inlined. Generate code for storing a few fields in the node
	header, to avoid the extra level of indirection for those
	fields. We generate the header type, so we don't have to
	duplicate hand-written Ada and C code to depend on the number of
	header fields.  Declare constants for slot size. Use short names
	because these are used all over.  Remove
	Put_Low_Level_Accessor_Instantiations, Put_Low_Level_C_Getter,
	which are no longer needed.  Rename
	Put_High_Level_C_Getter-->Put_C_Getter.
	* atree.ads, atree.adb: Take into account the header slots.
	Take into account the single Node_Or_Entity_Field type.  Remove
	"pragma Assertion_Policy (Ignore);", because the routines in
	this package are no longer efficiency critical.
	* atree.h: Remove low-level getters, which are no longer used by
	sinfo.h and einfo.h.
	* einfo-utils.adb: Avoid crash in Known_Alignment.
	* live.adb, sem_eval.adb: Remove code that prevents Node_Id from
	having a predicate.  We don't actually add a predicate to
	Node_Id, but we want to be able to for temporary debugging.
	* sinfo-utils.adb: Remove code that prevents Node_Id from having
	a predicate.  Take into account the single Node_Or_Entity_Field
	type.
	* sinfo-utils.ads: Minor.
	* table.ads (Table_Type): Make the components aliased, because
	low-level setters in Atree need to take 'Access.
	* treepr.adb: Take into account the single Node_Or_Entity_Field
	type.  Make some code more robust, so we can print out
	half-baked nodes.
	* types.ads: Move types here for visibility purposes.
	* gcc-interface/gigi.h, gcc-interface/trans.c: Take into account
	the Node_Header change in the GNAT front end.
	* gcc-interface/cuintp.c, gcc-interface/targtyps.c: Add because
	gigi.h now refers to type Node_Header, which is in sinfo.h.

2021-09-23  Yannick Moy  <moy@adacore.com>

	* libgnat/a-strfix.adb (Delete, Insert, Overwrite,
	Replace_Slice): Remove SPARK_Mode Off.
	* libgnat/a-strfix.ads (Insert, Overwrite, Replace_Slice):
	Strengthen precondition.

2021-09-23  Piotr Trojanek  <trojanek@adacore.com>

	* libgnat/a-strbou.ads (Generic_Bounded_Length): Remove non-null
	Global contracts.

2021-09-23  Steve Baird  <baird@adacore.com>

	* doc/gnat_rm/implementation_defined_characteristics.rst: Update
	this section to reflect the current version of Ada RM M.2.
	* gnat_rm.texi: Regenerate.

2021-09-22  Yannick Moy  <moy@adacore.com>

	* libgnat/a-strfix.ads (Trim): Simplify contracts.
	* libgnat/a-strfix.adb (Trim): Remove white space.

2021-09-22  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Eq): Reuse Is_Attribute_Result.
	* exp_prag.adb (Expand_Attributes): Reuse Is_Attribute_Old.

2021-09-22  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Do not insert a
	predicate check after a deferred constant declaration.

2021-09-22  Bob Duff  <duff@adacore.com>

	* contracts.adb, einfo-utils.adb, einfo-utils.ads, exp_ch7.adb,
	exp_ch9.adb, exp_disp.adb, exp_prag.adb, exp_smem.adb,
	exp_util.adb, freeze.adb, sem_aggr.adb, sem_attr.adb,
	sem_ch8.adb, sem_prag.ads, sem_util.adb, sem_util.ads: Fix
	conformance errors.
	* errout.adb, erroutc.adb: Remove pragmas Suppress.
	* err_vars.ads: Initialize variables that were previously being
	read uninitialized.

2021-09-22  Yannick Moy  <moy@adacore.com>

	* libgnat/a-strunb.ads: Mark package in SPARK with private part
	not in SPARK.
	(Free): Mark not in SPARK.

2021-09-22  Arnaud Charlet  <charlet@adacore.com>

	* snames.ads-tmpl: Update status of some attributes.

2021-09-22  Doug Rupp  <rupp@adacore.com>

	* libgnarl/s-interr__vxworks.adb (Interfaces.C): Remove as
	unused.
	(System.VxWorks.Ext): Import.
	(System.VxWorks.Ext.STATUS): use type.
	(STATUS): New subtype.
	(OK): New constant.
	(Interrupt_Connector): Return STATUS type vice int.
	(Interrupt_Connect, Notify_Interrupt, Unbind_Handler,
	Interrupt_Server_Task): Rename Status to Result. Assert Result =
	OK.
	* libgnarl/s-osinte__vxworks.adb (To_Clock_Ticks): Define constant
	IERR, and return it vice ERROR.
	(Binary_Semaphore_Delete): Return STATUS type vice int.
	(Binary_Semaphore_Obtain): Likewise.
	(Binary_Semaphore_Release): Likewise.
	(Binary_Semaphore_Flush): Likewise.
	* libgnarl/s-osinte__vxworks.ads (SVE): Renaming of
	System.VxWorks.Ext.
	(STATUS): Use SVE in declaration of subtype.
	(BOOL): Likewise.
	(vx_freq_t): Likewise.
	(t_id): Likewise.
	(gitpid): Use SVE in renaming of subprogram
	(Task_Stop): Likewise.
	(Task_Cont): Likewise.
	(Int_Lock): Likewise.
	(Int_Unlock): Likewise.
	(Set_Time_Slice): Likewise.
	(semDelete): Likewise.
	(taskCpuAffinitySet): Likewise.
	(taskMaskAffinitySet): Likewise.
	(sigset_t): Use SVE in declaration of type.
	(OK): Remove as unused.
	(ERROR): Likewise.
	(taskOptionsGet): return STATUS vice int.
	(taskSuspend): Likewise.
	(taskResume): Likewise.
	(taskDelay): Likewise.
	(taskVarAdd): Likewise.
	(taskVarDelete): Likewise.
	(taskVarSet): Likewise.
	(tlkKeyCreate): Likewise.
	(taskPrioritySet): Likewise.
	(semGive): Likewise.
	(semTake): Likewise.
	(Binary_Semaphore_Delete): Likewise.
	(Binary_Semaphore_Obtain): Likewise.
	(Binary_Semaphore_Release): Likewise.
	(Binary_Semaphore_Flush): Likewise.
	(Interrupt_Connect): Likewise.
	* libgnarl/s-taprop__vxworks.adb
	(System.VxWorks.Ext.STATUS): use type.
	(int): Syntactically align subtype.
	(STATUS): New subtype.
	(OK): New constant.
	(Finalize_Lock): Check STATUS vice int. Assert OK.
	(Finalize_Lock): Likewise.
	(Write_Lock): Likewise.
	(Write_Lock): Likewise.
	(Write_Lock): Likewise.
	(Unlock): Likewise.
	(Unlock): Likewise.
	(Unlock): Likewise.
	(Unlock): Likewise.
	(Sleep): Likewise.
	(Sleep): Likewise.
	(Sleep): Likewise.
	(Timed_Sleep): Likewise and test Result.
	(Timed_Delay): Likewise and test Result.
	(Wakeup): Likewise.
	(Yield): Likewise.
	(Finalize_TCB): Likewise.
	(Suspend_Until_True): Check OK.
	(Stop_All_Tasks): Declare Dummy STATUS vice in.  Check OK.
	(Is_Task_Context): Use OSI renaming.
	(Initialize): Use STATUS vice int.
	* libgnarl/s-vxwext.adb
	(IERR): Renamed from ERROR.
	(taskCpuAffinitySet): Return IERR (int).
	(taskMaskAffinitySet): Likewise.
	* libgnarl/s-vxwext.ads
	(STATUS): New subtype.
	(OK): New STATUS constant.
	(ERROR): Likewise.
	* libgnarl/s-vxwext__kernel-smp.adb
	(IERR): Renamed from ERROR.
	(Int_Lock): Return IERR.
	(semDelete): Return STATUS.
	(Task_Cont): Likewise.
	(Task_Stop): Likewise.
	* libgnarl/s-vxwext__kernel.adb
	(IERR): Renamed from ERROR.
	(semDelete): Return STATUS.
	(Task_Cont): Likewise.
	(Task_Stop): Likewise.
	(taskCpuAffinitySet): Return IERR (int)
	(taskMaskAffinitySet): Likewise.
	* libgnarl/s-vxwext__kernel.ads
	(STATUS): New subtype.
	(OK): New STATUS constant.
	(ERROR): Likewise.
	(Interrupt_Connect): Return STATUS
	(semDelete): Likewise.
	(Task_Cont): Likewise.
	(Task_Stop): Likewise.
	(Set_Time_Slice): Likewise.
	* libgnarl/s-vxwext__rtp-smp.adb
	(IERR): Renamed from ERROR.
	(Int_Lock): return IERR constant vice ERROR.
	(Interrupt_Connect): Return STATUS.
	(semDelete): Likewise.
	(Set_Time_Slice): Likewise.
	* libgnarl/s-vxwext__rtp.adb
	(IERR): Renamed from ERROR.
	(Int_Lock): return IERR constant vice ERROR.
	(Int_Unlock): Return STATUS.
	(semDelete): Likewise.
	(Set_Time_Slice): Likewise.
	(taskCpuAffinitySet): Return IERR (int)
	(taskMaskAffinitySet): Likewise.
	* libgnarl/s-vxwext__rtp.ads
	(STATUS): New subtype.
	(OK): New STATUS constant.
	(ERROR): Likewise.
	(Interrupt_Connect): Return STATUS
	(semDelete): Likewise.
	(Task_Cont): Likewise.
	(Task_Stop): Likewise.
	(Set_Time_Slice): Likewise.

2021-09-22  Arnaud Charlet  <charlet@adacore.com>

	* prep.adb (Preprocess): Allow for more flexibility when
	Relaxed_RM_Semantics is set.

2021-09-22  Pierre-Alexandre Bazin  <bazin@adacore.com>

	* libgnat/a-strbou.adb: Turn SPARK_Mode on.
	* libgnat/a-strbou.ads: Write contracts.
	* libgnat/a-strfix.ads (Index): Fix grammar error in a comment.
	* libgnat/a-strsea.ads (Index): Likewise.
	* libgnat/a-strsup.adb: Rewrite the body to take into account
	the new definition of Super_String using Relaxed_Initialization
	and a predicate.
	(Super_Replicate, Super_Translate, Times): Added loop
	invariants, and ghost lemmas for Super_Replicate and Times.
	(Super_Trim): Rewrite the body using search functions to
	determine the cutting points.
	(Super_Element, Super_Length, Super_Slice, Super_To_String):
	Remove (now written as expression functions in a-strsup.ads).
	* libgnat/a-strsup.ads: Added contracts.
	(Super_Element, Super_Length, Super_Slice, Super_To_String):
	Rewrite as expression functions.

2021-09-22  Yannick Moy  <moy@adacore.com>

	* sem_ch13.adb (Build_Predicate_Functions): Add guard.

2021-09-22  Doug Rupp  <rupp@adacore.com>

	* libgnarl/s-vxwext.ads (BOOL): New int type.
	(Interrupt_Context): Change return type to BOOL.
	* libgnarl/s-vxwext__kernel.ads: Likewise.
	* libgnarl/s-vxwext__rtp-smp.adb: Likewise.
	* libgnarl/s-vxwext__rtp.adb: Likewise.
	* libgnarl/s-vxwext__rtp.ads: Likewise.
	* libgnarl/s-osinte__vxworks.adb (Interrupt_Context): Change
	return type to BOOL.
	* libgnarl/s-osinte__vxworks.ads (BOOL) New subtype.
	(taskIsSuspended): Change return type to BOOL.
	(Interrupt_Context): Change return type to BOOL. Adjust comments
	accordingly.
	* libgnarl/s-taprop__vxworks.adb (System.VxWorks.Ext.BOOL):
	use type.
	(Is_Task_Context): Test Interrupt_Context against 0.
	* libgnat/i-vxwork.ads (BOOL): New int.
	(intContext): Change return type to BOOL. Adjust comments.
	* libgnat/i-vxwork__x86.ads: Likewise.

2021-09-22  Piotr Trojanek  <trojanek@adacore.com>

	* sem_aux.adb, sem_aux.ads (Package_Body): Moved from GNATprove.
	* sem_elab.adb (Spec_And_Body_From_Entity): Refine type of parameter.

2021-09-22  Arnaud Charlet  <charlet@adacore.com>

	* doc/gnat_ugn/platform_specific_information.rst: Improve doc
	on permission and containers.
	* gnat_ugn.texi: Regenerate.

2021-09-22  Yannick Moy  <moy@adacore.com>

	* atree.adb (Rewrite): Fix parent node of shared aspects.
	* atree.ads (Rewrite): Add ??? comment on incorrect
	documentation.
	* einfo-utils.adb (Known_Esize): Fix logic.
	* sem_ch13.adb (Alignment_Check_For_Size_Change,
	Analyze_Attribute_Definition_Clause): Protect against unset
	Size.

2021-09-22  Yannick Moy  <moy@adacore.com>

	* freeze.adb (Build_Renamed_Body): Special case for GNATprove.
	* sem_ch6.adb (Analyze_Expression_Function): Remove useless test
	for a node to come from source, which becomes harmful otherwise.

2021-09-22  Justin Squirek  <squirek@adacore.com>

	* ali.adb, ali.ads (Scan_ALI): Remove use of deprecated
	parameter Ignore_ED, and all specification for Lower in call to
	Get_File_Name.
	* ali-util.adb (Read_Withed_ALIs): Modify call to Scan_ALI.
	* clean.adb (Clean_Executables): Likewise.
	* gnatbind.adb (Add_Artificial_ALI_File, Executable section):
	Likewise.
	* gnatlink.adb (Executable section): Likewise.
	* gnatls.adb (Executable section): Likewise.
	* make.adb (Check, Wait_For_Available_Slot): Likewise.
	* aspects.ads: Add Aspect_No_Controlled_Parts to
	Nonoverridable_Aspect_Id
	* opt.ads: Remove function pointers used as a workaround for
	ASIS.
	* osint-c.adb (Executable section): Remove setting of function
	pointer workarounds needed for ASIS.
	* osint.adb (Read_Default_Search_Dirs): Correct behavior to
	detect EOL characters.
	* par_sco.adb (Output_Header): Remove comment regarding use of
	First_Sloc.
	(Traverse_Sync_Definition): Renamed to
	Traverse_Protected_Or_Task_Definition.
	* pprint.adb (Interal_List_Name): Add description about purpose,
	and refactor conditional statement.
	(Prepend): Removed.
	* repinfo.adb (List_Rep_Info, Write_Info_Line): Remove use of
	subprogram pointer.
	* scng.adb (Scan): Remove CODEFIX question, and minor comment
	change.
	* sem_attr.adb (Analyze_Image_Attribute): Remove special
	processing for 'Img.
	* sem_ch6.adb (Check_Untagged_Equality): Add RM reference.
	(FCE): Add comment describing behavior.
	(Is_Non_Overriding_Operation): Minor comment formatting change.
	* sem_type.adb (Is_Actual_Subprogram): Add comment about
	Comes_From_Source test.
	(Matching_Types): Describe non-matching cases.
	* sem_util.adb (Is_Confirming): Add stub case for
	No_Controlled_Parts.

2021-09-22  Yannick Moy  <moy@adacore.com>

	* sem_ch13.adb (Build_Predicate_Functions): Access
	Predicated_Parent only on subtypes.

2021-09-22  Arnaud Charlet  <charlet@adacore.com>

	* sem_prag.adb (Process_Import_Or_Interface): Relax error when
	Relaxed_RM_Semantics.

2021-09-22  Steve Baird  <baird@adacore.com>

	* libgnat/s-regpat.adb (Match): Handle the case where Self.First
	is not NUL (so we know the first character we are looking for),
	but case-insensitive matching has
	been specified.
	(Optimize): In the case of an EXACTF Op, set Self.First as is
	done in the EXACT case, except with the addition of a call to
	Lower_Case.

2021-09-22  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-imenne.ads, libgnat/s-imenne.adb: Delete.
	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove s-imenne.o.
	(GNATBIND_OBJS): Likewise.

2021-09-22  Yannick Moy  <moy@adacore.com>

	* einfo.ads: Fix comments.
	* exp_aggr.adb: Fix variable name.
	* exp_util.adb: Fix comments.
	* sem_ch13.adb: Fix comments.
	* sem_ch3.adb: Fix comments and variable name.

2021-09-22  Doug Rupp  <rupp@adacore.com>

	* libgnarl/s-osinte__vxworks.ads: Make procedure vice function.
	* 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__rtp-smp.adb: Likewise.
	* libgnarl/s-vxwext__rtp.adb: Likewise.
	* libgnarl/s-vxwext__rtp.ads: Likewise.
	* libgnarl/s-taprop__vxworks.adb (Stop_All_Tasks): Call
	Int_Unlock as a procedure.

2021-09-22  Doug Rupp  <rupp@adacore.com>

	* libgnarl/s-osinte__vxworks.ads (SVE): New package renaming
	(vx_freq_t): New subtype.
	(sysClkRateGet): Return vx_freq_t.
	* libgnarl/s-vxwext.ads (vx_freq_t): New type.
	* libgnarl/s-vxwext__kernel.ads: Likewise.
	* libgnarl/s-vxwext__rtp.ads: Likewise.

2021-09-22  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_case.adb (Composite_Case_Ops): Replace 'Image with
	Error_Msg_Uint.

2021-09-22  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch4.adb (Expand_N_If_Expression): Generate an intermediate
	temporary when the expression is a condition in an outer decision
	and control-flow optimizations are suppressed.

2021-09-22  Steve Baird  <baird@adacore.com>

	* exp_ch5.adb (Expand_General_Case_Statement.Pattern_Match): Add
	new function Indexed_Element to handle array element
	comparisons. Handle case choices that are array aggregates,
	string literals, or names denoting constants.
	* sem_case.adb (Composite_Case_Ops.Array_Case_Ops): New package
	providing utilities needed for casing on arrays.
	(Composite_Case_Ops.Choice_Analysis): If necessary, include
	array length as a "component" (like a discriminant) when
	traversing components. We do not (yet) partition choice analysis
	to deal with unequal length choices separately. Instead, we
	embed everything in the minimum-dimensionality Cartesian product
	space needed to handle all choices properly; this is determined
	by the length of the longest choice pattern.
	(Composite_Case_Ops.Choice_Analysis.Traverse_Discrete_Parts):
	Include length as a "component" in the traversal if necessary.
	(Composite_Case_Ops.Choice_Analysis.Parse_Choice.Traverse_Choice):
	Add support for case choices that are string literals or names
	denoting constants.
	(Composite_Case_Ops.Choice_Analysis): Include length as a
	"component" in the analysis if necessary.
	(Check_Choices.Check_Case_Pattern_Choices.Ops.Value_Sets.Value_Index_Count):
	Improve error message when capacity exceeded.
	* doc/gnat_rm/implementation_defined_pragmas.rst: Update
	documentation to reflect current implementation status.
	* gnat_rm.texi: Regenerate.

2021-09-22  Eric Botcazou  <ebotcazou@adacore.com>

	* freeze.adb (Check_Component_Storage_Order): Give a specific error
	message for non-byte-aligned component in the packed case.  Replace
	"composite" with "record" in both cases.

2021-09-22  Arnaud Charlet  <charlet@adacore.com>

	* libgnarl/a-tasini.ads, libgnarl/a-tasini.adb: Make compatible
	with No_Elaboration_Code_All.
	* libgnarl/s-taskin.ads, libgnarl/s-tassta.adb: Adjust
	accordingly.

2021-09-22  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch6.adb (Check_Returns): Change message on missing return.

2021-09-22  Arnaud Charlet  <charlet@adacore.com>

	* gnatfind.adb, gnatxref.adb: Mark these tools as obsolete
	before removing them completely.

2021-09-22  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (range_cannot_be_superflat): Tweak comments.

2021-09-21  Doug Rupp  <rupp@adacore.com>

	* init.c (__gnat_error_handler) [LynxOS]: Add a comment about
	missing optional args.

2021-09-21  Yannick Moy  <moy@adacore.com>

	* gen_il-gen.adb (Put_Opt_Subtype): Add suffix.

2021-09-21  Justin Squirek  <squirek@adacore.com>

	* sem_util.adb (Accessibility_Level): Remove spurious special
	case for protected type components.
	* exp_ch4.adb (Generate_Accessibility_Check): Use general
	Accessibility_Level instead of the low-level function
	Type_Access_Level.

2021-09-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat_ugn.texi: Regenerate.

2021-09-21  Matthieu Eyraud  <eyraud@adacore.com>

	* par_sco.adb (Traverse_One): Add support for pragma Invariant /
	Type_Invariant.

2021-09-21  Bob Duff  <duff@adacore.com>

	* gen_il-gen.adb (Put_Opt_Subtype): Print out subtypes of the
	form:
	subtype Opt_N_Declaration is
	Node_Id with Predicate =>
	Opt_N_Declaration = Empty or else
	Opt_N_Declaration in N_Declaration_Id;
	One for each node or entity type, with the predicate allowing
	Empty.
	* atree.adb (Parent, Set_Parent): Remove unnecessary "Atree.".

2021-09-21  Patrick Bernardi  <bernardi@adacore.com>

	* bindgen.adb (Gen_Adainit): For targets that suppress the
	standard library: set the default stack size global variable if
	a value is provided via the -d switch, and generate a call to
	__gnat_initialize_stack_limit if stack checking using stack
	limits is enabled.

2021-09-21  Bob Duff  <duff@adacore.com>

	* sem_ch13.adb (Stream_Size): Print message about allowed stream
	sizes even if other error were already found. This avoids
	falling into the 'else', which prints "Stream_Size cannot be
	given for...", which is misleading -- the Size COULD be given if
	it were correct.

2021-09-21  Daniel Mercier  <mercier@adacore.com>

	* exp_util.adb (Build_Temporary): In case of an external DISCR
	symbol, set the related expression for CodePeer so that a more
	comprehensible message can be emitted to the user.

2021-09-21  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-dwalin.adb (Parse_Header): Tweak comments.
	(Read_Entry_Format_Array): Tweak exception message.
	(Symbolic_Address.Set_Result): Likewise.

2021-09-21  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch7.adb (Make_Init_Call): Add guard to protect against a
	missing initialization procedure for a type.

2021-09-21  Doug Rupp  <rupp@adacore.com>

	* Makefile.rtl: Remove unused VxWorks sections.
	* libgnarl/s-vxwext__noints.adb: Remove.
	* libgnarl/s-vxwext__vthreads.ads: Remove.
	* libgnat/a-elchha__vxworks-ppc-full.adb: Remove.
	* libgnat/s-osprim__vxworks.adb: Remove.
	* libgnat/s-osvers__vxworks-653.ads: Remove.
	* libgnat/system-vxworks-e500-vthread.ads: Remove.
	* libgnat/system-vxworks-ppc-vthread.ads: Remove.
	* libgnat/system-vxworks-x86-vthread.ads: Remove.

2021-09-21  Bob Duff  <duff@adacore.com>

	* uintp.ads, uintp.adb (UI_Is_In_Int_Range): Change the type of
	the formal parameter to Valid_Uint. Remove code that preserved
	the previous behavior, and replace it with an assertion. The
	previous behavior is no longer needed given the recent change to
	gigi.
	(No, Present): Add comment.

2021-09-21  Bob Duff  <duff@adacore.com>

	* sem_eval.adb (Fold_Shift): Replace an if_expression with an
	if_statement.

2021-09-21  Bob Duff  <duff@adacore.com>

	* uintp.ads, uintp.adb: Add assertions.
	(Ubool, Opt_Ubool): New "boolean" subtypes.
	(UI_Is_In_Int_Range): The parameter should probably be
	Valid_Uint, but we don't change that for now, because it causes
	failures in gigi.
	* sem_util.ads, sem_util.adb (Is_True, Is_False,
	Static_Boolean): Use Opt_Ubool subtype.  Document the fact that
	Is_True (No_Uint) = True.  Implement Is_False in terms of
	Is_True.  We considered changing Static_Boolean to return Uint_1
	in case of error, but that doesn't fit in well with
	Static_Integer.
	(Has_Compatible_Alignment_Internal): Deal with cases where Offs
	is No_Uint. Change one "and" to "and then" to ensure we don't
	pass No_Uint to ">", which would violate the new assertions.
	* exp_util.adb, freeze.adb, sem_ch13.adb: Avoid violating new
	assertions in Uintp.

2021-09-21  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-dwalin.adb (To_File_Name): Fetch only the last string
	from the .debug_line_str section.
	(Symbolic_Address.Set_Result): Likewise.

2021-09-21  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-dwalin.adb (Skip_Form): Fix cases of DW_FORM_addrx
	and DW_FORM_implicit_const.  Replace Constraint_Error with
	Dwarf_Error.

2021-09-21  Ghjuvan Lacambre  <lacambre@adacore.com>

	* exp_pakd.adb (Expand_Packed_Not): Replace expression with
	statement.

2021-09-21  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_eval.adb (Is_Static_Subtype): Take predicates created
	through "predicate" pragma into account.

2021-09-21  Frederic Konrad  <konrad@adacore.com>

	* Makefile.rtl (aarch64-rtems*): Add GNATRTL_128BIT_PAIRS to
	the LIBGNAT_TARGET_PAIRS list and also GNATRTL_128BIT_OBJS to
	the EXTRA_GNATRTL_NONTASKING_OBJS list.

2021-09-21  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch4.adb (Remove_Abstract_Operations): Add condition to
	test for an E_Operator as part of criteria for setting
	Abstract_Op on interpretations involving predefined operators.

2021-09-21  Javier Miranda  <miranda@adacore.com>

	* exp_ch6.adb (Expand_Simple_Function_Return): For explicit
	dereference of type conversion, enable code that ensures that
	the tag of the result is that of the result type.

2021-09-21  Bob Duff  <duff@adacore.com>

	* einfo-utils.adb: Add support (currently disabled) for using
	"initial zero" instead of "Uint_0" to represent "unknown".  Call
	Known_ functions, instead of evilly duplicating their code
	inline.
	* fe.h (No_Uint_To_0): New function to convert No_Uint to
	Uint_0, in order to preserve existing behavior.
	(Copy_Esize, Copy_RM_Size): New imports from Einfo.Utils.
	* cstand.adb: Set size fields of Standard_Debug_Renaming_Type
	and Standard_Exception_Type.
	* checks.adb, exp_attr.adb, exp_ch3.adb, exp_ch5.adb,
	exp_ch6.adb, exp_pakd.adb, exp_util.adb, freeze.adb, itypes.adb,
	layout.adb, repinfo.adb, sem_attr.adb, sem_ch12.adb,
	sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch7.adb,
	sem_util.adb: Protect calls with Known_..., use Copy_...  Remove
	assumption that Uint_0 represents "unknown".
	* types.ads (Nonzero_Int): New subtype.
	* gcc-interface/decl.c, gcc-interface/trans.c: Protect calls
	with Known_... and use Copy_...  as appropriate, to avoid
	blowing up in unknown cases. Similarly, call No_Uint_To_0 to
	preserve existing behavior.

2021-09-21  Steve Baird  <baird@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Add a new nested
	function, Directly_Specified, and then use it in the
	implementation of the required check.

2021-09-21  Steve Baird  <baird@adacore.com>

	* libgnat/a-costso.ads, libgnat/a-costso.adb: A new library
	unit, Ada.Containers.Stable_Sorting, which exports a pair of
	generics (one within the other) which are instantiated by each
	of the 5 doubly-linked list container generics to implement
	their respective Sort procedures. We use a pair of generics,
	rather than a single generic, in order to further reduce code
	duplication. The outer generic takes a formal private Node_Ref
	type representing a reference to a linked list element. For some
	instances, the corresponding actual parameter will be an access
	type; for others, it will be the index type for an array.
	* Makefile.rtl: Include new Ada.Containers.Stable_Sorting unit.
	* libgnat/a-cbdlli.adb, libgnat/a-cdlili.adb,
	libgnat/a-cfdlli.adb, libgnat/a-cidlli.adb, libgnat/a-crdlli.adb
	(Sort): Replace existing Sort implementation with a call to an
	instance of
	Ada.Containers.Stable_Sorting.Doubly_Linked_List_Sort. Declare
	the (trivial) actual parameters needed to declare that instance.
	* libgnat/a-cfdlli.ads: Fix a bug encountered during testing in
	the postcondition for M_Elements_Sorted. With a partial
	ordering, it is possible for all three of (X < Y), (Y < X),
	and (X = Y) to be simultaneously false, so that case needs to
	handled correctly.

2021-09-21  Piotr Trojanek  <trojanek@adacore.com>

	* errout.adb (Error_Msg_Internal): Fix references to Sptr and
	Optr in comment; fix grammar of "low-level" where it is used as
	an adjective.

2021-09-21  Piotr Trojanek  <trojanek@adacore.com>

	* errout.adb (Write_Source_Code_Lines): Use Cur_Loc before
	incrementing it, so that we don't need to decrement it.

2021-09-21  Yannick Moy  <moy@adacore.com>

	* errout.adb (Get_Line_End): Do not allow the result to go past
	the end of the buffer.

2021-09-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Process_Discriminant_Expressions): If the
	constraint is for a Component_Definition that appears in a
	Component_Declaration, the entity to be used to create the
	potentially global symbol is the Defining_Identifier of the
	Component_Declaration.

2021-09-21  Bob Duff  <duff@adacore.com>

	* libgnat/a-stbufi.ads, libgnat/a-stbufi.adb: Change all
	occurrences of GNAT.OS_Lib to System.OS_Lib.

2021-09-20  Piotr Trojanek  <trojanek@adacore.com>

	* inline.adb (Has_Excluded_Declaration): Remove redundant guard;
	the guarded code will call First on a No_List, which is
	well-defined and gives Empty.

2021-09-20  Piotr Trojanek  <trojanek@adacore.com>

	* inline.adb (Has_Excluded_Declaration): Rename and reduce scope
	of a local variable.

2021-09-20  Bob Duff  <duff@adacore.com>

	* uintp.ads, uintp.adb (Present, No): New functions for
	comparing with No_Uint.
	* checks.adb, einfo-utils.adb, exp_aggr.adb, exp_attr.adb,
	exp_ch3.adb, exp_ch4.adb, exp_dbug.adb, exp_disp.adb,
	exp_util.adb, repinfo.adb, repinfo-input.adb, scn.adb,
	sem_attr.adb, sem_ch13.adb, sem_eval.adb, sem_util.adb,
	sinfo-utils.adb, treepr.adb: Use Present (...) instead of "...
	/= No_Uint", and No (...) instead of "... = No_Uint".

2021-09-20  Claire Dross  <dross@adacore.com>

	* libgnat/s-ficobl.ads: The entire package has a SPARK_Mode =>
	Off aspect.

2021-09-20  Doug Rupp  <rupp@adacore.com>

	* libgnat/a-calend.adb: Remove time_t, replace with OS_Time.
	* libgnat/s-os_lib.ads: Fix comments regarding time_t conversion
	functions to reflect the use of To_Ada in in Ada.Calendar
	package body.
	* sysdep.c (__gnat_localtime_tzoff): Use OS_Time instead of
	time_t.

2021-09-20  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Resolve_Actual): Remove

2021-09-20  Bob Duff  <duff@adacore.com>

	* einfo-utils.ads, einfo-utils.adb, fe.h, einfo.ads,
	gen_il-fields.ads: Remove unused and no-longer-used routines.
	Move related routines together.  Rewrite incorrect
	documentation, and documentation that will be incorrect when
	e.g. Esize-related routines are fixed.  Remove unused field
	Normalized_Position_Max.
	* cstand.adb, exp_pakd.adb, freeze.adb,
	gen_il-gen-gen_entities.adb, itypes.adb, layout.adb,
	sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
	sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb,
	sem_util.adb, ttypes.ads: Update calls to routines removed from
	or renamed in Einfo.Utils.
	* uintp.ads (Upos): Fix this subtype, which was unintentionally
	declared to include Uint_0.

2021-09-20  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch7.adb (Expand_N_Package_Declaration): Fix wording in
	comment.
	* exp_disp.adb (Mark_DT): Remove unnecessary initialization of
	I_Depth.

2021-09-20  Piotr Trojanek  <trojanek@adacore.com>

	* contracts.adb (Add_Contract_Item): Accept volatile-related
	properties on constants.
	(Analyze_Object_Contract): Check external properties on
	constants; accept volatile constants.
	(Check_Type_Or_Object_External_Properties): Replace "variable"
	with "object" in error messages; replace Decl_Kind with a local
	constant.
	* sem_prag.adb (Analyze_Pragma): Accept volatile-related
	properties on constants.

2021-09-20  Pierre-Alexandre Bazin  <bazin@adacore.com>

	* libgnat/a-strfix.adb ("*"): Added loop invariants and lemmas
	for proof.
	(Delete): Added assertions for proof, and conditions to avoid
	overflow.
	(Head): Added loop invariant.
	(Insert): Same as Delete.
	(Move): Declared with SPARK_Mode Off.
	(Overwrite): Added assertions for proof, and conditions to avoid
	overflow.
	(Replace_Slice): Added assertions for proof, and conditions to
	avoid overflow.
	(Tail): Added loop invariant and avoided overflows.
	(Translate): Added loop invariants.
	(Trim): Ensured empty strings returned start at 1.
	* libgnat/a-strfix.ads (Index): Rewrote contract cases for
	easier proof.
	(Index_Non_Blank): Separated the null string case.
	(Count): Specified Mapping shouldn't be null.
	(Find_Token): Specified Source'First should be Positive when no
	From is given.
	(Translate): Specified Mapping shouldn't be null.
	("*"): Rewrote postcondition for easier proof.
	* libgnat/a-strsea.adb (Belongs): Added postcondition.
	(Count): Rewrote loops and added loop invariants to avoid
	overflows.
	(Find_Token): Added loop invariants.
	(Index): Rewrote loops to avoid overflows and added loop
	invariants for proof.
	(Index_Non_Blank): Added loop invariants.
	(Is_Identity): New function isolated without SPARK_Mode.
	* libgnat/a-strsea.ads: Fix starting comment as package is no
	longer private.
	(Match): Declared ghost expression function Match.
	(Is_Identity): Described identity in the postcondition.
	(Index, Index_Non_Blank, Count, Find_Token): Added contract from
	a-strfix.ads.

2021-09-20  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch13.adb (Resolve_Aspect_Aggregate): Move comments after
	specs; fix typo in header box; cleanup whitespace.

2021-09-20  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-objrea.adb (Get_Load_Address): Return 0 for ELF.

2021-09-20  Eric Botcazou  <ebotcazou@adacore.com>

	* adaint.c (__gnat_get_executable_load_address): Add Win32 support.
	* libgnat/s-objrea.ads (Get_Xcode_Bounds): Fix typo in comment.
	(Object_File): Minor reformatting.
	(ELF_Object_File): Uncomment predicate.
	(PECOFF_Object_File): Likewise.
	(XCOFF32_Object_File): Likewise.
	* libgnat/s-objrea.adb: Minor reformatting throughout.
	(Get_Load_Address): Implement for PE-COFF.
	* libgnat/s-dwalin.ads: Remove clause for System.Storage_Elements
	and use consistent wording in comments.
	(Dwarf_Context): Set type of Low, High and Load_Address to Address.
	* libgnat/s-dwalin.adb (Get_Load_Displacement): New function.
	(Is_Inside): Call Get_Load_Displacement.
	(Low_Address): Likewise.
	(Open): Adjust to type change.
	(Aranges_Lookup): Change type of Addr to Address.
	(Read_Aranges_Entry): Likewise for Start and adjust.
	(Enable_Cach): Adjust to type change.
	(Symbolic_Address): Change type of Addr to Address.
	(Symbolic_Traceback): Call Get_Load_Displacement.

2021-09-20  Piotr Trojanek  <trojanek@adacore.com>

	* exp_disp.adb (Make_DT): Move call to Set_Has_Dispatch_Table,
	so it is executed regardless of the Generate_SCIL mode.

2021-09-20  Ed Schonberg  <schonberg@adacore.com>

	* exp_util.ads (Force_Evaluation): Add formal parameter
	Discr_Number, to indicate discriminant expression for which an
	external name must be created.
	(Remove_Side_Effects): Ditto.
	* exp_util.adb (Force_Evaluation): Call Remove_Side_Effects with
	added parameter.
	(Remove_Side_Effects, Build_Temporary): If Discr_Number is
	positive, create an external name with suffix DISCR and the
	given discriminant number, analogous to what is done for
	temporaries for array type bounds.
	* sem_ch3.adb (Process_Discriminant_Expressions): If the
	constraint is for an object or component declaration and the
	corresponding entity may be visible in another unit, invoke
	Force_Evaluation with the new parameter.

2021-09-20  Arnaud Charlet  <charlet@adacore.com>

	* gen_il-internals.ads (Invalid_Val): Remove, unused and
	generates warnings.

2021-09-20  Piotr Trojanek  <trojanek@adacore.com>

	* exp_aggr.adb, exp_ch4.adb, exp_ch5.adb, sprint.adb: Refine
	types of local constants.

2021-09-20  Gary Dismukes  <dismukes@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Fold
	Preelaborable_Initialization attribute in cases where it hasn't
	been folded by the analyzer.
	* exp_disp.adb (Original_View_In_Visible_Part): This function is
	removed and moved to sem_util.adb.
	* sem_attr.adb (Attribute_22): Add
	Attribute_Preelaborable_Initialization as an Ada 2022 attribute.
	(Analyze_Attribute, Attribute_Preelaborable_Initialization):
	Check that the prefix of the attribute is either a formal
	private or derived type, or a composite type declared within the
	visible part of a package or generic package.
	(Eval_Attribute): Perform folding of
	Preelaborable_Initialization attribute based on
	Has_Preelaborable_Initialization applied to the prefix type.
	* sem_ch3.adb (Resolve_Aspects): Add specialized code for
	Preelaborable_Initialization used at the end of a package
	visible part for setting Known_To_Have_Preelab_Init on types
	that are specified with True or that have a conjunction of one
	or more P_I attributes applied to formal types.
	* sem_ch7.adb (Analyze_Package_Specification): On call to
	Has_Preelaborable_Initialization, pass True for new formal
	Formal_Types_Have_Preelab_Init, so that error checking treats
	subcomponents that are declared within types in generics as
	having preelaborable initialization when the subcomponents are
	of formal types.
	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Add test for
	P_I to prevent calling Make_Pragma_From_Boolean_Aspect, since
	this aspect is handled specially and the
	Known_To_Have_Preelab_Init flag will get set on types that have
	the aspect by other means.
	(Analyze_Aspect_Specifications.Analyze_One_Aspect): Add test for
	Aspect_Preelaborable_Initialization for allowing the aspect to
	be specified on formal type declarations.
	(Is_Operational_Item): Treat Attribute_Put_Image as an
	operational attribute.  The need for this was encountered while
	working on these changes.
	* sem_util.ads (Has_Preelaborable_Initialization): Add
	Formal_Types_Have_Preelab_Init as a new formal parameter that
	defaults to False.
	(Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New
	function.
	(Original_View_In_Visible_Part): Moved here from exp_disp.adb,
	so it can be called by Analyze_Attribute.
	* sem_util.adb (Has_Preelaborable_Initialization): Return True
	for formal private and derived types when new formal
	Formal_Types_Have_Preelab_Init is True, and pass along the
	Formal_Types_Have_Preelab_Init flag in the array component case.
	(Check_Components): Pass along Formal_Types_Have_Preelab_Init
	flag on call to Has_Preelaborable_Initialization.
	(Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New function
	that returns True when passed an expression that includes one or
	more attributes for Preelaborable_Initialization applied to
	prefixes that denote formal types.
	(Is_Formal_Preelab_Init_Attribute): New utility function nested
	within Is_Conjunction_Of_Formal_Preelab_Init_Attributes that
	determines whether a node is a P_I attribute applied to a
	generic formal type.
	(Original_View_In_Visible_Part): Moved here from exp_util.adb,
	so it can be called by Analyze_Attribute.
	* snames.ads-tmpl: Add note near the start of spec giving
	details about what needs to be done when adding a name that
	corresponds to both an attribute and a pragma.  Delete existing
	occurrence of Name_Preelaborable_Initialization, and add a note
	comment in the list of Name_* constants at that place,
	indicating that it's included in type Pragma_Id, etc., echoing
	other such comments for names that are both an attribute and a
	pragma.  Insert Name_Preelaborable_Initialization in the
	alphabetized set of Name_* constants corresponding to
	attributes (between First_Attribute_Name and
	Last_Attribute_Name).
	(type Attribute_Id): Add new literal
	Attribute_Preelaborable_Initialization.
	(type Pragma_Id): Move Pragma_Preelaborable_Initialization from
	its current position to the end of the type, in the special set
	of pragma literals that have corresponding atttributes. Add to
	accompanying comment, indicating that functions Get_Pragma_Id
	and Is_Pragma_Name need to be updated when adding a pragma
	literal to the special set.
	* snames.adb-tmpl (Get_Pragma_Id): Add case alternative for
	Pragma_Preelaborable_Initialization.
	(Is_Pragma_Name): Add test for
	Name_Preelaborable_Initialization.

2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_ch4.adb (Finc_Non_Universal_Interpretations): Fix check.

2021-09-20  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch3.adb (Build_Discriminant_Constraints): Exit once a
	first discriminant is found and the Discrim_Present flag is set.

2021-09-20  Bob Duff  <duff@adacore.com>

	* gnat1drv.adb (Gnat1drv): Avoid calling List_Rep_Info in
	Generate_SCIL and GNATprove_Mode.
	* repinfo.adb (List_Common_Type_Info): Fix comment.

2021-09-20  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-dwalin.ads: Remove clause for Ada.Exceptions.Traceback,
	add clause for System.Traceback_Entries and alphabetize.
	(AET): Delete.
	(STE): New package renaming.
	(Symbolic_Traceback): Adjust.
	* libgnat/s-dwalin.adb: Remove clauses for Ada.Exceptions.Traceback
	and System.Traceback_Entries.
	(Symbolic_Traceback): Adjust.

2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_ch4.adb (Find_Non_Universal_Interpretations): Check if
	types are compatible before adding interpretation.

2021-09-20  Justin Squirek  <squirek@adacore.com>

	* exp_ch4.adb (Expand_N_Type_Conversion): Add guard to protect
	against calculating accessibility levels against internal
	compiler-generated types.

2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_dim.adb (Dimensions_Msg_Of): Capitalize comment.

2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>

	* adabkend.adb (Scan_Back_End_Switches): Replace switch-scanning
	logic with call to Backend_Utils.Scan_Common_Back_End_Switches.
	* back_end.adb (Scan_Back_End_Switches): Replace switch-scanning
	logic with call to Backend_Utils.Scan_Common_Back_End_Switches.
	* backend_utils.adb: New file.
	* backend_utils.ads: New file.
	* gcc-interface/Make-lang.in: Add ada/backend_utils.o.

2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>

	* atree.adb (Get_32_Bit_Field): Declare result before returning.

2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>

	* exp_ch7.adb (Expand_N_Package_Body): Replace
	Build_And_Insert_Cuda_Initialization with Expand_CUDA_Package.
	* gnat_cuda.adb (Expand_CUDA_Package): New procedure.
	(Build_And_Insert_Cuda_Initialization): Make internal.
	* gnat_cuda.ads (Expand_CUDA_Package): New procedure.
	(Build_And_Insert_Cuda_Initialization): Remove from spec.

2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>

	* usage.adb (Usage): Update -gnatw.c messages.

2021-09-20  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_aux.adb (Is_By_Reference_Type): Do not test Error_Posted.

2021-09-15  Alexandre Oliva  <oliva@adacore.com>

	* gcc-interface/utils.c: Include opts.h.
	(handle_zero_call_used_regs_attribute): New.
	(gnat_internal_attribute_table): Add zero_call_used_regs.

2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/101970
	* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Enum_Rep>:
	Use an unchecked conversion instead of a regular conversion in the
	enumeration case and remove Conversion_OK flag in the integer case.
	<Attribute_Pos>: Remove superfluous test.

2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (validate_size): Do not issue an error if the
	old size has overflowed.

2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity): For vector types, make
	the representative array the debug type.

2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_subprog_type): Turn variable
	into constant.  Capitalize GCC in warning message.
	(intrin_arglists_compatible_p): Change parameter to pointer-to-const
	Adjust warning messages.  Turn warning into error for vector types.
	(intrin_return_compatible_p): Likewise.
	(intrin_profiles_compatible_p): Change parameter to pointer-to-const

2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-atopri.ads (bool): Delete.
	(Atomic_Test_And_Set): Replace bool with Boolean.
	(Atomic_Always_Lock_Free): Likewise.
	* libgnat/s-aoinar.adb (Is_Lock_Free): Adjust.
	* libgnat/s-aomoar.adb (Is_Lock_Free): Likewise.
	* libgnat/s-aotase.adb (Atomic_Test_And_Set): Likewise.
	* libgnat/s-atopex.adb (Atomic_Compare_And_Exchange): Likewise.
	* gcc-interface/decl.c: Include gimple-expr.h.
	(intrin_types_incompatible_p): Delete.
	(intrin_arglists_compatible_p): Call types_compatible_p.
	(intrin_return_compatible_p): Likewise.

2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils.c (update_pointer_to): Set TYPE_CANONICAL on
	pointer and reference types.

2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/101385
	* doc/gnat_ugn/building_executable_programs_with_gnat.rst
	(-Wall): Minor fixes.
	(-w): Likewise.
	(-Werror): Document that it also sets -gnatwe by default.
	* gcc-interface/lang-specs.h (ada): Expand -gnatwe if -Werror is
	passed and move expansion of -gnatw switches to before -gnatez.

2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils.c (can_materialize_object_renaming_p): Do not
	call UI_Is_In_Int_Range on the result of Normalized_First_Bit.

2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <is_type>: Declare new
	constant.  Adjust error message issued by validate_size in the case
	of by-reference types.
	(validate_size): Always use the error strings passed by the caller.

2021-09-08  liuhongt  <hongtao.liu@intel.com>

	* gcc-interface/misc.c (gnat_post_options): Issue an error for
	-fexcess-precision=16.

2021-08-19  Arnaud Charlet  <charlet@adacore.com>

	PR ada/101924
	* gcc-interface/Make-lang.in (STAGE1_LIBS): Define on hpux.

2021-08-18  Eric Botcazou  <ebotcazou@gcc.gnu.org>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Fix
	thinko in latest change.

2021-08-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	PR debug/101598
	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the
	DECL_SOURCE_LOCATION of DECL_IGNORED_P gnu_subprog_decl to
	UNKNOWN_LOCATION.

2021-07-25  Arnaud Charlet  <charlet@adacore.com>

	* libgnat/s-osprim__x32.adb: Add missing with clause.

2021-07-12  Pierre-Marie de Rodat  <derodat@adacore.com>

	* adaint.c (__gnat_number_of_cpus): Replace "#ifdef" by "#if
	defined".

2021-07-12  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Add a
	parallel type only when -fgnat-encodings=all is specified.
	<E_Array_Type>: Use the PAT name and special suffixes only when
	-fgnat-encodings=all is specified.
	<E_Array_Subtype>: Build a special type for debugging purposes only
	when -fgnat-encodings=all is specified.  Add a parallel type or use
	the PAT name only when -fgnat-encodings=all is specified.
	<E_Record_Type>: Generate debug info for the inner record types only
	when -fgnat-encodings=all is specified.
	<E_Record_Subtype>: Use a debug type for an artificial subtype only
	except when -fgnat-encodings=all is specified.
	(elaborate_expression_1): Reset need_for_debug when possible only
	except when -fgnat-encodings=all is specified.
	(components_to_record): Use XV encodings for variable size only
	when -fgnat-encodings=all is specified.
	(associate_original_type_to_packed_array): Add a parallel type only
	when -fgnat-encodings=all is specified.
	* gcc-interface/misc.c (gnat_get_array_descr_info): Do not return
	full information only when -fgnat-encodings=all is specified.
	* gcc-interface/utils.c (make_packable_type): Add a parallel type
	only when -fgnat-encodings=all is specified.
	(maybe_pad_type): Make the inner type a debug type only except when
	-fgnat-encodings=all is specified.  Create an XVS type for variable
	size only when -fgnat-encodings=all is specified.
	(rest_of_record_type_compilation): Add a parallel type only when
	-fgnat-encodings=all is specified.

2021-07-12  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Use a
	fixed lower bound if the index subtype is marked so, as well as a
	more efficient formula for the upper bound if the array cannot be
	superflat.
	(flb_cannot_be_superflat): New predicate.
	(cannot_be_superflat): Rename into...
	(range_cannot_be_superfla): ...this.  Minor tweak.

2021-07-12  Bob Duff  <duff@adacore.com>

	* uintp.ads, types.h: New subtypes of Uint: Valid_Uint, Unat,
	Upos, Nonzero_Uint with predicates. These correspond to new
	field types in Gen_IL.
	* gen_il-types.ads (Valid_Uint, Unat, Upos, Nonzero_Uint): New
	field types.
	* einfo-utils.ads, einfo-utils.adb, fe.h (Known_Alignment,
	Init_Alignment): Use the initial zero value to represent
	"unknown". This will ensure that if Alignment is called before
	Set_Alignment, the compiler will blow up (if assertions are
	enabled).
	* atree.ads, atree.adb, atree.h, gen_il-gen.adb
	(Get_Valid_32_Bit_Field): New generic low-level getter for
	subtypes of Uint.
	(Copy_Alignment): New procedure to copy Alignment field even
	when Unknown.
	(Init_Object_Size_Align, Init_Size_Align): Do not bypass the
	Init_ procedures.
	* exp_pakd.adb, freeze.adb, layout.adb, repinfo.adb,
	sem_util.adb: Protect calls to Alignment with Known_Alignment.
	Use Copy_Alignment when it might be unknown.
	* gen_il-gen-gen_entities.adb (Alignment,
	String_Literal_Length): Use type Unat instead of Uint, to ensure
	that the field is always Set_ before we get it, and that it is
	set to a nonnegative value.
	(Enumeration_Pos): Unat.
	(Enumeration_Rep): Valid_Uint. Can be negative, but must be
	valid before fetching.
	(Discriminant_Number): Upos.
	(Renaming_Map): Remove.
	* gen_il-gen-gen_nodes.adb (Char_Literal_Value, Reason): Unat.
	(Intval, Corresponding_Integer_Value): Valid_Uint.
	* gen_il-internals.ads: New functions for dealing with special
	defaults and new subtypes of Uint.
	* scans.ads: Correct comments.
	* scn.adb (Post_Scan): Do not set Intval to No_Uint; that is no
	longer allowed.
	* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Do
	not set Enumeration_Rep to No_Uint; that is no longer allowed.
	(Offset_Value): Protect calls to Alignment with Known_Alignment.
	* sem_prag.adb (Set_Atomic_VFA): Do not use Uint_0 to mean
	"unknown"; call Init_Alignment instead.
	* sinfo.ads: Minor comment fix.
	* treepr.adb: Deal with printing of new field types.
	* einfo.ads, gen_il-fields.ads (Renaming_Map): Remove.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Use Known_Alignment
	before calling Alignment. This preserve some probably buggy
	behavior: if the alignment is not set, it previously defaulted
	to Uint_0; we now make that explicit.  Use Copy_Alignment,
	because "Set_Alignment (Y, Alignment (X));" no longer works when
	the Alignment of X has not yet been set.
	* gcc-interface/trans.c (process_freeze_entity): Use
	Copy_Alignment.

2021-07-12  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-dwalin.ads: Adjust a few comments left and right.
	(Line_Info_Register): Comment out unused components.
	(Line_Info_Header): Add DWARF 5 support.
	(Dwarf_Context): Likewise.  Rename "prologue" into "header".
	* libgnat/s-dwalin.adb: Alphabetize "with" clauses.
	(DWARF constants): Add DWARF 5 support and reorder.
	(For_Each_Row): Adjust.
	(Initialize_Pass): Likewise.
	(Initialize_State_Machine): Likewise and fix typo.
	(Open): Add DWARF 5 support.
	(Parse_Prologue): Rename into...
	(Parse_Header): ...this and add DWARF 5 support.
	(Read_And_Execute_Isn): Rename into...
	(Read_And_Execute_Insn): ...this and adjust.
	(To_File_Name): Change parameter name and add DWARF 5 support.
	(Read_Entry_Format_Array): New procedure.
	(Skip_Form): Add DWARF 5 support and reorder.
	(Seek_Abbrev): Do not count entries and add DWARF 5 support.
	(Debug_Info_Lookup): Add DWARF 5 support.
	(Symbolic_Address.Set_Result): Likewise.
	(Symbolic_Address): Adjust.

2021-07-12  Bob Duff  <duff@adacore.com>

	* sem_ch13.adb (Duplicate_Clause): Add a helper routine
	Check_One_Attr, with a parameter for the attribute_designator we
	are looking for, and one for the attribute_designator of the
	current node (which are usually the same). For Size and
	Value_Size, call it twice, once for each.
	* errout.ads: Fix a typo.

2021-07-12  Piotr Trojanek  <trojanek@adacore.com>

	* exp_imgv.adb (Expand_Image_Attribute): Move rewriting to
	attribute Put_Image to the beginning of expansion of attribute
	Image.

2021-07-09  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils.c (finish_subprog_decl): Remove obsolete line.

2021-07-09  Piotr Trojanek  <trojanek@adacore.com>

	* exp_put_image.adb (Make_Put_Image_Name): Fix style.
	(Image_Should_Call_Put_Image): Likewise.
	(Build_Image_Call): Likewise.

2021-07-09  Ghjuvan Lacambre  <lacambre@adacore.com>

	* par-ch6.adb (Contains_Import_Aspect): New function.
	(P_Subprogram): Acknowledge `Import` aspects.

2021-07-09  Bob Duff  <duff@adacore.com>

	* exp_put_image.adb (Make_Component_Attributes): Use
	Implementation_Base_Type to get the parent type. Otherwise,
	Parent_Type_Decl is actually an internally generated subtype
	declaration, so we blow up on
	Type_Definition (Parent_Type_Decl).

2021-07-09  Dmitriy Anisimkov  <anisimko@adacore.com>

	* gsocket.h: Include net/if.h to get IF_NAMESIZE constant.
	* s-oscons-tmplt.c: Define IPV6_FLOWINFO for Linux.

2021-07-09  Steve Baird  <baird@adacore.com>

	* libgnat/a-cdlili.adb: Reimplement
	Ada.Containers.Doubly_Linked_Lists.Generic_Sorting.Sort using
	Mergesort instead of the previous Quicksort variant.

2021-07-09  Justin Squirek  <squirek@adacore.com>

	* exp_ch6.adb (Is_Build_In_Place_Function_Call): Add check to
	verify the Selector_Name of Exp_Node has been analyzed before
	obtaining its entity.

2021-07-09  Gary Dismukes  <dismukes@adacore.com>

	* libgnarl/s-osinte__vxworks.ads: Fix typo ("release" =>
	"releases") plus comment reformatting.
	* libgnat/s-os_lib.ads: In a comment, fix typo ("indended" =>
	"intended"), add a hyphen and semicolon, plus reformatting. In
	comment for subtype time_t, fix typo ("effect" => "affect"), add
	hyphens, plus reformatting.
	* libgnat/s-parame.ads, libgnat/s-parame__ae653.ads,
	libgnat/s-parame__hpux.ads: Remove period from one-line comment.

2021-07-09  Steve Baird  <baird@adacore.com>

	* exp_ch5.adb (Expand_General_Case_Statement): Add new function
	Else_Statements to handle the case of invalid data analogously
	to how it is handled when casing on a discrete value.
	* sem_case.adb (Has_Static_Discriminant_Constraint): A new
	Boolean-valued function.
	(Composite_Case_Ops.Scalar_Part_Count): Include discriminants
	when traversing components.
	(Composite_Case_Ops.Choice_Analysis.Traverse_Discrete_Parts):
	Include discriminants when traversing components; the component
	range for a constrained discriminant is a single value.
	(Composite_Case_Ops.Choice_Analysis.Parse_Choice): Eliminate
	Done variable and modify how Next_Part is computed so that it is
	always correct (as opposed to being incorrect when Done is
	True).  This includes changes in Update_Result (a local
	procedure).  Add new local procedure
	Update_Result_For_Box_Component and call it not just for box
	components but also for "missing" components (components
	associated with an inactive variant).
	(Check_Choices.Check_Composite_Case_Selector.Check_Component_Subtype):
	Instead of disallowing all discriminated component types, allow
	those that are unconstrained or statically constrained. Check
	discriminant subtypes along with other component subtypes.
	* doc/gnat_rm/implementation_defined_pragmas.rst: Update
	documentation to reflect current implementation status.
	* gnat_rm.texi: Regenerate.

2021-07-09  Justin Squirek  <squirek@adacore.com>

	* sem_ch6.adb (Check_Pragma_Inline): Correctly use
	Corresponding_Spec_Of_Stub when dealing subprogram body stubs.

2021-07-09  Doug Rupp  <rupp@adacore.com>

	* Makefile.rtl: Add translations for s-parame__posix2008.ads
	* libgnarl/s-linux.ads: Import System.Parameters.
	(time_t): Declare using System.Parameters.time_t_bits.
	* 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-qnx.ads: Likewise.
	* libgnarl/s-osinte__aix.ads: Likewise.
	* libgnarl/s-osinte__android.ads: Likewise.
	* libgnarl/s-osinte__darwin.ads: Likewise.
	* libgnarl/s-osinte__dragonfly.ads: Likewise.
	* libgnarl/s-osinte__freebsd.ads: Likewise.
	* libgnarl/s-osinte__gnu.ads: Likewise.
	* libgnarl/s-osinte__hpux-dce.ads: Likewise.
	* libgnarl/s-osinte__hpux.ads: Likewise.
	* libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
	* libgnarl/s-osinte__lynxos178e.ads: Likewise.
	* libgnarl/s-osinte__qnx.ads: Likewise.
	* libgnarl/s-osinte__rtems.ads: Likewise.
	* libgnarl/s-osinte__solaris.ads: Likewise.
	* libgnarl/s-osinte__vxworks.ads: Likewise.
	* libgnat/g-sothco.ads: Likewise.
	* libgnat/s-osprim__darwin.adb: Likewise.
	* libgnat/s-osprim__posix.adb: Likewise.
	* libgnat/s-osprim__posix2008.adb: Likewise.
	* libgnat/s-osprim__rtems.adb: Likewise.
	* libgnat/s-osprim__x32.adb: Likewise.
	* libgnarl/s-osinte__linux.ads: use type System.Linux.time_t.
	* libgnat/s-os_lib.ads (time_t): Declare as subtype of
	Long_Long_Integer.
	* libgnat/s-parame.ads (time_t_bits): New constant.
	* libgnat/s-parame__ae653.ads (time_t_bits): Likewise.
	* libgnat/s-parame__hpux.ads (time_t_bits): Likewise.
	* libgnat/s-parame__vxworks.ads (time_t_bits): Likewise.
	* libgnat/s-parame__posix2008.ads: New file for 64 bit time_t.

2021-07-09  Bob Duff  <duff@adacore.com>

	* comperr.adb (Compiler_Abort): Print source file name.

2021-07-09  Joffrey Huguet  <huguet@adacore.com>

	* libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads: Fix layout
	in contracts.

2021-07-09  Eric Botcazou  <ebotcazou@adacore.com>

	* repinfo.ads (JSON output format): Document adjusted key name.
	* repinfo.adb (List_Record_Layout): Use Original_Record_Component
	if the normalized position of the component is not known.
	(List_Structural_Record_Layout): Rename Outer_Ent parameter into
	Ext_End and add Ext_Level parameter. In an extension, if the parent
	subtype has static discriminants, call List_Record_Layout on it.
	Output "parent_" prefixes before "variant" according to Ext_Level.
	Adjust recursive calls throughout the procedure.

2021-07-09  Piotr Trojanek  <trojanek@adacore.com>

	* exp_util.ads (Map_Types): Fix typo.

2021-07-09  Fedor Rybin  <frybin@adacore.com>

	* krunch.adb: Add safeguards against index range violations.

2021-07-09  Arnaud Charlet  <charlet@adacore.com>

	* libgnat/a-strfix.adb: Take advantage of extended returns.

2021-07-09  Eric Botcazou  <ebotcazou@adacore.com>

	* doc/gnat_rm/implementation_defined_attributes.rst
	(Scalar_Storage_Order): Add paragraph about representation
	changes.
	* gnat_rm.texi: Regenerate.

2021-07-09  Frederic Konrad  <konrad@adacore.com>

	* Makefile.rtl (LIBGNAT_TARGET_PAIRS) <aarch64*-*-rtems*>: Use
	the wraplf variant of Aux_Long_Long_Float.

2021-07-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Initialize Orig_N
	and Typ variables.

2021-07-09  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch13.adb (Resolve_Aspect_Expressions): Use the same
	processing for Predicate, Static_Predicate and
	Dynamic_Predicate. Do not build the predicate function spec.
	Update comments.
	(Resolve_Name): Only reset Entity when necessary to avoid
	spurious visibility errors.
	(Check_Aspect_At_End_Of_Declarations): Handle consistently all
	Predicate aspects.
	* sem_ch3.adb (Analyze_Subtype_Declaration): Fix handling of
	private types with predicates.

2021-07-09  Justin Squirek  <squirek@adacore.com>

	* sem_util.ads (Type_Access_Level): Add new optional parameter
	Assoc_Ent.
	* sem_util.adb (Accessibility_Level): Treat access discriminants
	the same as components when the restriction
	No_Dynamic_Accessibility_Checks is enabled.
	(Deepest_Type_Access_Level): Remove exception for
	Debug_Flag_Underscore_B when returning the result of
	Type_Access_Level in the case where
	No_Dynamic_Accessibility_Checks is active.
	(Function_Call_Or_Allocator_Level): Correctly calculate the
	level of Expr based on its containing subprogram instead of
	using Current_Subprogram.
	* sem_res.adb (Valid_Conversion): Add actual for new parameter
	Assoc_Ent in call to Type_Access_Level, and add test of
	No_Dynamic_Accessibility_Checks_Enabled to ensure that static
	accessibility checks are performed for all anonymous access type
	conversions.

2021-07-09  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_dbug.ads: Update documentation of various items.

2021-07-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Reorder code.

2021-07-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Reorder code.

2021-07-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Add variable to
	avoid repeated calls to Etype.

2021-07-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Fix comment.

2021-07-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Use Orig_N variable
	instead of repeated calls to Original_Node.

2021-07-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Change types local
	variables from Entity_Id to Node_Id.

2021-07-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): A local Expr
	constant was shadowing a global constant with the same name and
	the same value.

2021-07-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Preanalyze_And_Resolve): Only call
	Set_Must_Not_Freeze when it is necessary to restore the previous
	value.

2021-07-08  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch5.adb (Analyze_Assignment): Clear Current_Assignment at
	exit.
	(Analyze_Target_Name): Prevent AST climbing from going too far.

2021-07-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Target_Name): Properly reject a
	Target_Name when it appears outside of an assignment statement,
	or within the left-hand side of one.

2021-07-08  Bob Duff  <duff@adacore.com>

	* einfo-utils.ads, einfo-utils.adb (Unknown_Alignment,
	Unknown_Component_Bit_Offset, Unknown_Component_Size,
	Unknown_Esize, Unknown_Normalized_First_Bit,
	Unknown_Normalized_Position, Unknown_Normalized_Position_Max,
	Unknown_RM_Size): Remove these functions.
	* exp_pakd.adb, exp_util.adb, fe.h, freeze.adb, layout.adb,
	repinfo.adb, sem_ch13.adb, sem_ch3.adb, sem_util.adb: Remove
	calls to these functions; do "not Known_..." instead.
	* gcc-interface/decl.c, gcc-interface/trans.c
	(Unknown_Alignment, Unknown_Component_Size, Unknown_Esize,
	Unknown_RM_Size): Remove calls to these functions; do
	"!Known_..." instead.

2021-07-08  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_dbug.adb (Get_Encoded_Name): Do not encode names of discrete
	types with custom bounds, except with -fgnat-encodings=all.
	* exp_pakd.adb (Create_Packed_Array_Impl_Type): Adjust comment.

2021-07-08  Bob Duff  <duff@adacore.com>

	* comperr.adb (Compiler_Abort): Call Sinput.Unlock, because if
	this is called late, then Source_Dump would crash otherwise.
	* debug.adb: Correct documentation of the -gnatd.9 switch.
	* exp_ch4.adb (Expand_Allocator_Expression): Add a comment.
	* exp_ch6.adb: Minor comment fixes.  Add assertion.
	* exp_ch6.ads (Is_Build_In_Place_Result_Type): Correct comment.
	* exp_ch7.adb, checks.ads: Minor comment fixes.

2021-07-08  Doug Rupp  <rupp@adacore.com>

	* sigtramp-vxworks-target.inc: Rename to...
	* sigtramp-vxworks-target.h: ... this.
	* sigtramp-vxworks.c, Makefile.rtl: Likewise.

2021-07-08  Ghjuvan Lacambre  <lacambre@adacore.com>

	* lib-writ.ads: Mention SCOs dependency as reason for duplicates.
	* lib.ads (Units): Update documentation to mention duplicated
	units.

2021-07-08  Ed Schonberg  <schonberg@adacore.com>

	* style.adb (Missing_Overriding): Do not emit message when
	parent of subprogram is a full type declaration.

2021-07-08  Arnaud Charlet  <charlet@adacore.com>

	* par-ch5.adb (P_Iterator_Specification): Add support for access
	definition in loop parameter.
	* sem_ch5.adb (Check_Subtype_Indication): Renamed...
	(Check_Subtype_Definition): ... into this and check for conformance
	on access definitions, and improve error messages.
	(Analyze_Iterator_Specification): Add support for access definition
	in loop parameter.

2021-07-08  Arnaud Charlet  <charlet@adacore.com>

	* sem_util.ads, sem_util.adb
	(Apply_Compile_Time_Constraint_Error): New parameter
	Emit_Message.
	* sem_ch4.adb (Analyze_Selected_Component): Disable warning
	within an instance.

2021-07-08  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_imgv.adb: Add with and use clause for Restrict and Rident.
	(Build_Enumeration_Image_Tables): Do not generate the hash function
	if the No_Implicit_Loops restriction is active.

2021-07-08  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch12.adb, sem_ch6.adb, sem_ch9.adb, sprint.adb: Simplify
	checks for non-empty lists.

2021-07-08  Piotr Trojanek  <trojanek@adacore.com>

	* par-ch10.adb (Unit_Display): Remove redundant condition; fix
	whitespace.

2021-07-08  Piotr Trojanek  <trojanek@adacore.com>

	* lib-load.adb (Load): Replace early return with goto to properly
	restore context on failure.

2021-07-08  Piotr Trojanek  <trojanek@adacore.com>

	* lib-writ.adb (Ensure_System_Dependency): Simplify condition.

2021-07-08  Piotr Trojanek  <trojanek@adacore.com>

	* lib-load.adb (Load_Unit): Fix style in comment.
	* par-load.adb (Load): Likewise.
	* scng.adb (Initialize_Scanner): Fix whitespace.

2021-07-08  Piotr Trojanek  <trojanek@adacore.com>

	* par-load.adb (Load): Don't remove unit, but flag it as
	erroneous and return.

2021-07-08  Ghjuvan Lacambre  <lacambre@adacore.com>

	* exp_prag.adb (Expand_Pragma_Inspection_Point): Fix error
	message.

2021-07-08  Yannick Moy  <moy@adacore.com>

	* layout.adb (Layout_Type): Do not call Number_Dimensions if the
	type does not have First_Index set.

2021-07-08  Ghjuvan Lacambre  <lacambre@adacore.com>

	* exp_prag.adb (Expand_Pragma_Inspection_Point): After expansion
	of the Inspection_Point pragma, check if referenced entities
	that have a freeze node are already frozen. If they aren't, emit
	a warning and turn the pragma into a no-op.

2021-07-08  Yannick Moy  <moy@adacore.com>

	* layout.adb (Layout_Type): Add guard before calling Expr_Value.

2021-07-08  Yannick Moy  <moy@adacore.com>

	* layout.adb (Layout_Type): Special case when RM_Size and Esize
	can be computed for packed arrays.

2021-07-08  Steve Baird  <baird@adacore.com>

	* rtsfind.ads, rtsfind.adb: Add support for finding the packages
	System.Atomic_Operations and
	System.Atomic_Operations.Test_And_Set and the declarations
	within that latter package of the type Test_And_Set_Flag and the
	function Atomic_Test_And_Set.
	* exp_ch11.adb (Expand_N_Exception_Declaration): If an exception
	is declared other than at library level, then we need to call
	Register_Exception the first time (and only the first time) the
	declaration is elaborated.  In order to decide whether to
	perform this call for a given elaboration of the declaration, we
	used to unconditionally use a (library-level) Boolean variable.
	Now we instead use a variable of type
	System.Atomic_Operations.Test_And_Set.Test_And_Set_Flag unless
	either that type is unavailable or a No_Tasking restriction is
	in effect (in which case we use a Boolean variable as before).

2021-07-08  Arnaud Charlet  <charlet@adacore.com>

	* gcc-interface/system.ads: Add No_Tasking restriction.

2021-07-08  Ed Schonberg  <schonberg@adacore.com>

	* libgnat/a-cohama.ads: Introduce an equality operator over
	cursors.
	* libgnat/a-cohase.ads: Ditto.
	* libgnat/a-cohama.adb: Add body for "=" over cursors.
	(Insert): Do not set the Position component of the cursor that
	denotes the inserted element.
	* libgnat/a-cohase.adb: Ditto.

2021-07-08  Arnaud Charlet  <charlet@adacore.com>

	* libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
	libgnat/a-cbhase.adb, libgnat/a-cbmutr.adb,
	libgnat/a-cborma.adb, libgnat/a-cborse.adb,
	libgnat/a-cobove.adb, libgnat/a-textio.adb,
	libgnat/a-witeio.adb, libgnat/a-ztexio.adb: Make code compatible
	with No_Dynamic_Accessibility_Checks restriction.

2021-07-08  Arnaud Charlet  <charlet@adacore.com>

	* debug.adb, sem_util.adb: Revert meaning of -gnatd_b.
	* sem_res.adb: Minor reformatting.

2021-07-08  Arnaud Charlet  <charlet@adacore.com>

	* make.adb, osint.adb: Make code compatible with
	No_Dynamic_Accessibility_Checks restriction.

2021-07-08  Piotr Trojanek  <trojanek@adacore.com>

	* lib-writ.adb (Ensure_System_Dependency): Replace search in
	Lib.Units with a search in Lib.Unit_Names.

2021-07-08  Piotr Trojanek  <trojanek@adacore.com>

	* sinput-l.adb (Load_File): Simplify foreword manipulation with
	concatenation; similar for filename with preprocessed output.

2021-07-07  Dmitriy Anisimkov  <anisimko@adacore.com>

	* s-oscons-tmplt.c (MSG_WAITALL): Remove wrong #ifdef
	__MINWGW32__.

2021-07-07  Gary Dismukes  <dismukes@adacore.com>

	* einfo-utils.adb (Primitive_Operations): Default to returning
	Direct_Primitive_Operations in the case of concurrent types
	(when Corresponding_Record_Type not present).
	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Initialize
	Direct_Primitive_Operations to an empty element list.
	(Analyze_Task_Type_Declaration): Initialize
	Direct_Primitive_Operations to an empty element list.

2021-07-07  Piotr Trojanek  <trojanek@adacore.com>

	* sem_eval.adb (Set_Checking_Potentially_Static_Expression):
	Stronger assertion.

2021-07-07  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch12.adb (Analyze_Subprogram_Instantiation): Mark Anon_Id
	intrinsic before calling Analyze_Instance_And_Renamings because
	this flag may be propagated to other nodes.

2021-07-07  Dmitriy Anisimkov  <anisimko@adacore.com>

	* s-oscons-tmplt.c (TCP_KEEPCNT TCP_KEEPIDLE, TCP_KEEPINTVL):
	Hardcode on Windows if undefined.

2021-07-07  Bob Duff  <duff@adacore.com>

	* checks.adb (Install_Primitive_Elaboration_Check): Do not
	generate elaboration checks for primitives if pragma Pure or
	Preelaborate is present.  Misc comment fixes, including
	referring to the correct kind of check (elaboration, not
	accessibility).
	* checks.ads, restrict.adb, sem_cat.ads, sinfo.ads: Minor
	reformatting and comment fixes.

2021-07-07  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Simplify processing of pragma
	CPP_Constructor.

2021-07-07  Arnaud Charlet  <charlet@adacore.com>

	* libgnat/g-debpoo.adb (Code_Address_For_Allocate_End): Default
	Initialize.

2021-07-07  Arnaud Charlet  <charlet@adacore.com>

	* libgnat/s-atocou.ads, libgnat/s-atocou__builtin.adb: Code
	cleanups.

2021-07-07  Gary Dismukes  <dismukes@adacore.com>

	* freeze.adb (Check_Inherited_Conditions): Setting of Ekind,
	LSP_Subprogram, and Is_Wrapper needs to happen for null
	procedures as well as other wrapper cases, so the code is moved
	from the else part in front of the if statement.  (Fixes a
	latent bug encountered while working on this set of changes.)
	* sem_attr.adb (Resolve_Attribute): Report an error for the case
	of an Access attribute applied to a primitive of an abstract
	type when the primitive has any nonstatic Pre'Class or
	Post'Class expressions.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): Report an error for
	the case of a actual subprogram associated with a nonabstract
	formal subprogram when the actual is a primitive of an abstract
	type and the primitive has any nonstatic Pre'Class or Post'Class
	expressions.
	* sem_disp.adb (Check_Dispatching_Context): Remove special
	testing for null procedures, and replace it with a relaxed test
	that avoids getting an error about illegal calls to abstract
	subprograms in cases where RM 6.1.1(7/5) applies in
	Pre/Post'Class aspects. Also, remove special test for
	Postcondition, which seems to be unnecessary, update associated
	comments, and fix a typo in one comment.
	(Check_Dispatching_Call): Remove an unneeded return statement,
	and report an error for the case of a nondispatching call to a
	nonabstract subprogram of an abstract type where the subprogram
	has nonstatic Pre/Post'Class aspects.
	* sem_util.ads
	(Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function.
	(In_Pre_Post_Condition): Add a flag formal Class_Wide_Only,
	defaulted to False, for indicating whether the function should
	only test for the node being within class-wide pre- and
	postconditions.
	* sem_util.adb
	(Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function
	to determine whether a subprogram is a primitive of an abstract
	type where the primitive has class-wide Pre/Post'Class aspects
	specified with nonstatic expressions.
	(In_Pre_Post_Condition): Extend testing to account for the new
	formal Class_Wide_Only.

2021-07-07  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Errors
	emitted via Check_Volatility_Compatibility are now emitted at
	Actual, just like other errors emitted by
	Check_Shared_Variable_Control_Aspects.

2021-07-07  Piotr Trojanek  <trojanek@adacore.com>

	* uname.adb (Get_Unit_Name): Simplify with a bounded string
	buffer; also, this addresses a ??? comment about the max length
	being exceeded.

2021-07-07  Piotr Trojanek  <trojanek@adacore.com>

	* uname.adb (Get_Body_Name, Get_Parent_Body_Name,
	Get_Parent_Spec_Name, Get_Spec_Name, Is_Child_Name,
	Is_Body_Name, Is_Spec_Name, Name_To_Unit_Name): Use a local
	instead of the global buffer.

2021-07-07  Bob Duff  <duff@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Combine
	processing of Size and Value_Size clauses. Ensure that
	Value_Size is treated the same as Size, in the cases where both
	are allowed (i.e. the prefix denotes a first subtype).  Misc
	cleanup.
	* einfo-utils.adb (Init_Size): Add assertions.
	(Size_Clause): Return a Value_Size clause if present, instead of
	just looking for a Size clause.
	* einfo.ads (Has_Size_Clause, Size_Clause): Change documentation
	to include Value_Size.
	* sem_ch13.ads, layout.ads, layout.adb: Comment modifications.

2021-07-07  Steve Baird  <baird@adacore.com>

	* exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Add
	TSS_Put_Image to list of predefined primitives that need special
	treatment.
	(Build_General_Calling_Stubs, Build_Subprogram_Receiving_Stubs):
	Remove previous hack for dealing with TSS_Put_Image procedures.

2021-07-07  Dmitriy Anisimkov  <anisimko@adacore.com>

	* libgnat/g-socket.adb (Get_Socket_Option): Add 500ms only when
	Minus_500ms_Windows_Timeout is True.
	(Set_Socket_Option): Use "* 1000" instead of "/ 0.001" to
	convert to milliseconds.

2021-07-07  Bob Duff  <duff@adacore.com>

	* tbuild.adb (Unchecked_Convert_To): Set the Parent of the new
	node to the Parent of the old node.
	* tbuild.ads (Unchecked_Convert_To): Document differences
	between Convert_To and Unchecked_Convert_To. The previous
	documentation claimed they are identical except for the
	uncheckedness of the conversion.

2021-07-07  Yannick Moy  <moy@adacore.com>

	* checks.adb (Apply_Scalar_Range_Check): Remove special case for
	GNATprove mode.
	* sem_res.adb (Resolve_Arithmetic_Op): Same.
	* sem_util.adb (Apply_Compile_Time_Constraint_Error): Same.

2021-07-07  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch6.adb (Check_For_Primitive_Subprogram): Move
	declarations of local variables after nested subprogram bodies.

2021-07-07  Piotr Trojanek  <trojanek@adacore.com>

	* exp_disp.adb (CPP_Num_Prims): Reuse List_Length.

2021-07-07  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.adb, exp_ch6.adb, sem_ch6.adb: Replace Ekind
	membership test in Private_Kind with a call to Is_Private_Type.

2021-07-07  Bob Duff  <duff@adacore.com>

	* gen_il-gen-gen_entities.adb: Remove Linker_Section_Pragma
	field from Record_Field_Kind.  Minor comment improvement.

2021-07-07  Yannick Moy  <moy@adacore.com>

	* libgnat/a-ngelfu.ads (Cot): Fix precondition.

2021-07-07  Piotr Trojanek  <trojanek@adacore.com>

	* par.adb (Par): A local Name variable is now a renaming of a
	constant slice.

2021-07-07  Piotr Trojanek  <trojanek@adacore.com>

	* gnat1drv.adb (Gnat1drv): Remove flagging of main unit and its
	corresponding spec as requiring code generation; now the flags
	are set much earlier.
	* lib-load.adb (Load_Main_Source): Set Generate_Code flag on the
	main unit source.
	(Make_Instance_Unit): Copy Generate_Code flag from the main unit
	to instance units.
	* lib-writ.adb (Write_ALI): Remove redundant condition;
	Generate_Code flag is always set for the main unit.
	* par-load.adb (Load): Set Generate_Code flag on the main unit's
	corresponding spec, if any.

2021-07-07  Dmitriy Anisimkov  <anisimko@adacore.com>

	* libgnat/g-socket.ads (Option_Name): Add Keep_Alive_Count,
	Keep_Alive_Idle, and Keep_Alive_Interval items to enumeration.
	(Option_Type): Add Keep_Alive_Count, Keep_Alive_Idle, and
	Keep_Alive_Interval alternatives to the case of discriminated
	record.
	* libgnat/g-socket.adb (Options): Add Keep_Alive_Count,
	Keep_Alive_Idle, and Keep_Alive_Interval to items enumerator to
	OS constant converter.
	(Set_Socket_Option): Process Keep_Alive_Count, Keep_Alive_Idle,
	and Keep_Alive_Interval socket options.
	(Get_Socket_Option): Idem.

2021-07-07  Piotr Trojanek  <trojanek@adacore.com>

	* lib-writ.adb (Write_ALI): Exit from loop after seeing first
	unit that violates No_Elaboration_Code restriction.

2021-07-07  Piotr Trojanek  <trojanek@adacore.com>

	* inline.adb (Instantiate_Bodies): Fix white in declaration.
	(Remove_Dead_Instance): Change iteration from WHILE to FOR.

2021-07-07  Bob Duff  <duff@adacore.com>

	* checks.adb, exp_attr.adb, exp_ch4.adb, exp_ch6.adb,
	exp_ch9.adb, exp_disp.adb, exp_util.adb, inline.adb,
	sem_res.adb: Change all calls to Make_Unchecked_Type_Conversion
	to call Unchecked_Convert_To instead. This involves removing
	New_Occurrence_Of on the first parameter, because
	Unchecked_Convert_To expects a type entity, rather than the name
	of one. Also, removed calls to Relocate_Node, because
	Unchecked_Convert_To takes care of that.
	* sinfo.ads: Change comment to be worded more firmly.

2021-07-07  Steve Baird  <baird@adacore.com>

	* libgnarl/s-tassta.adb (Free_Task): Acquire the Task_Lock
	before, rather than after, querying the task's Terminated flag.
	Add a corresponding Task_Unlock call.

2021-07-06  Bob Duff  <duff@adacore.com>

	* atree.ads (Current_Error_Node): Initialize to Empty.

2021-07-06  Steve Baird  <baird@adacore.com>

	* exp_put_image.adb: Eliminate references to
	Debug_Flag_Underscore_Z.  Change the meaning of the function
	Enable_Put_Image. Previously, a result of False for a tagged
	type would mean that the type does not get a Put_Image (PI)
	routine at all. Now, it means that the type gets a PI routine
	with very abbreviated functionality (just a call to
	Unknown_Put_Image). This resolves problems in mixing code
	compiled with and without the -gnat2022 switch.
	* exp_ch3.adb: Enable_Put_Image no longer participates in
	determining whether a tagged type gets a Put_Image procedure.  A
	tagged type does not get a Put_Image procedure if the type
	Root_Buffer_Type is unavailable. This is needed to support cross
	targets where tagged types are supported but the type
	Root_Buffer_Type is not available.
	* exp_dist.adb: Add workarounds for some problems that arise
	when using the (obsolete?) Garlic implementation of the
	distributed systems annex with Ada 2022 constructs.
	* libgnat/a-sttebu.ads: Workaround a bootstrapping problem.
	Older compilers do not support raise expressions, so revise the
	the Pre'Class condition to meet this requirement without
	changing the condition's behavior at run time.

2021-07-06  Eric Botcazou  <ebotcazou@adacore.com>

	* repinfo-input.adb (JSON_Entity_Kind, Read_Variant_Part): Fix
	typo in comment.

2021-07-06  Steve Baird  <baird@adacore.com>

	* sem_ch5.adb (Analyze_Assignment): Add new nested function,
	Omit_Range_Check_For_Streaming, and make call to
	Apply_Scalar_Range_Check conditional on the result of this new
	function.
	* exp_attr.adb (Compile_Stream_Body_In_Scope): Eliminate Check
	parameter, update callers.  The new
	Omit_Range_Check_For_Streaming parameter takes the place of the
	old use of calling Insert_Action with Suppress => All_Checks,
	which was insufficiently precise (it did not allow suppressing
	checks for one component but not for another).
	(Expand_N_Attribute_Reference): Eliminate another "Suppress =>
	All_Checks" from an Insert_Action call, this one in generating
	the expansion of a T'Read attribute reference for a composite
	type T.

2021-07-06  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check for
	empty loops caused by constraints.

2021-07-06  Nicolas Roche  <roche@adacore.com>

	* rtinit.c (skip_quoted_string): Handle malformed command line
	with no closing double quote.
	(skip_argument): Handle case in which a null character is
	encountered by skip_quote_string.

2021-07-06  Piotr Trojanek  <trojanek@adacore.com>

	* uname.adb (Add_Node_Name): Replace local constant whose
	initial expression was evaluated even when unnecessary with just
	that expression that is evaluated at most once and only when
	needed.

2021-07-06  Piotr Trojanek  <trojanek@adacore.com>

	* lib.adb (Remove_Unit): Replace defensive code with an
	assertion.
	* par-load.adb (Load): Address a question mark in the comment.

2021-07-06  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Enclosing_Comp_Unit_Node): When the loop exits
	the Current_Node is either an N_Compilation_Unit node or Empty,
	so simply return it without redundant checks.

2021-07-06  Piotr Trojanek  <trojanek@adacore.com>

	* lib-load.adb (Load_Unit): Remove excessive whitespace.
	* lib.adb (Is_Internal_Unit, Is_Predefined_Unit): Likewise.
	* par-ch10.adb (P_Compilation_Unit): Simplify with membership
	test.
	* par-load.adb (Load): Likewise.
	* uname.adb (Get_Unit_Name): Likewise.

2021-07-06  Piotr Trojanek  <trojanek@adacore.com>

	* lib-writ.adb (Ensure_System_Dependency): Simplify by reusing a
	constant name.

2021-07-06  Steve Baird  <baird@adacore.com>

	* exp_ch5.adb
	(Expand_N_Case_Statement.Expand_General_Case_Statement.Pattern_Match):
	When generating an equality test for a statically known discrete
	value, only generate the numeric value if the discrete type is
	not an enumeration type.  If it is an enumeration type, then
	call Get_Enum_Lit_From_Pos instead.

2021-07-06  Justin Squirek  <squirek@adacore.com>

	* par-ch6.adb (Get_Return_Kind): Removed.
	(Is_Extended): Created to identify simple and "when" return
	statements from extended return statements.
	(P_Return_Statement): Merged simple and "when" return statement
	processing.

2021-07-06  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch4.adb (Try_One_Prefix_Interpretation): Augment test of
	"not Extensions_Allowed" with test for absence of Obj_Type's
	primitive operations Elist, as an additional condition for early
	return from this procedure.

2021-07-06  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch4.adb (Process_Transient_In_Expression): In one comment,
	fix two typos and reorder wording of one sentence, plus minor
	reformatting.

2021-07-06  Justin Squirek  <squirek@adacore.com>

	* exp_ch5.adb (Expand_Formal_Container_Element_Loop): Remove
	legacy expansion of element iterators, and use expansion form
	used by unconstrained element types in the general case.

2021-07-06  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Process_Transient_In_Expression): Ensure that
	Fin_Context, used to insert finalization code for the
	expression, is a list member: the value returned by
	Find_Hook_Context may be an expression node when the transient
	is part of a larger expression and it has a non-boolean type.

2021-07-06  Yannick Moy  <moy@adacore.com>

	* sem_case.adb: Fix error message.

2021-07-06  Bob Duff  <duff@adacore.com>

	* tbuild.adb (Convert_To): Add assert, along with a comment.
	(Make_DT_Access): Remove this function, which is not used.  It
	was incorrect anyway (the call to New_Occurrence_Of should not
	be there).
	(Unchecked_Convert_To): Add assert.  The previous version's test
	for unchecked conversion to the same type was redundant and
	could never be true, because the previous 'if' already checked
	for ANY expression of the same type. Remove that, and replace
	with a test for unchecked conversion to a related type.
	Otherwise, we somethings get things like
	"finalize(some_type!(some_type!(x)))" in the generated code,
	where x is already of type some_type, but we're converting it to
	the private type and then to the full type or vice versa (so the
	types aren't equal, so the previous 'if' doesn't catch it).
	Avoid updating the Parent. This is not necessary; the Parent
	will be updated if/when the node is attached to the tree.
	* tbuild.ads: Fix comments. No need to say "this is safe" when
	we just explained that a few lines earlier.  Remove
	Make_DT_Access.
	* sinfo.ads: Add comments.
	* exp_ch7.adb (Make_Finalize_Address_Stmts): Minor comment fix.
	* gen_il-gen.adb, gen_il-gen.ads, gen_il-gen-gen_nodes.adb,
	gen_il-internals.ads: Implement a feature where you can put:
	Nmake_Assert => "expr" where expr is a boolean expression in a
	call to Create_Concrete_Node_Type. It is added in a pragma
	Assert in the Nmake.Make_... function for that type.

2021-07-06  Gary Dismukes  <dismukes@adacore.com>

	* checks.adb: Remove calls of Set_Do_Tag_Check (N, False).
	* einfo.ads: Remove hanging unneeded ??? comment ("this real description
	was clobbered").
	* exp_util.ads (Insert_Actions_After): Remove ??? from spec comment.
	* gen_il-fields.ads (Opt_Field_Enum): Remove literals
	Do_Accessibility_Check and Do_Tag_Check.
	* gen_il-gen-gen_nodes.adb: Remove all calls to Sm for
	Do_Accessibility_Check and Do_Tag_Check.
	* sem_type.ads (Is_Subtype_Of): Remove obsolete ???
	comment (function is not limited to scalar subtypes).
	* sem_util.ads (Is_Local_Variable_Reference): Revise comment to
	mention out-mode parameters as well, and remove ???.
	(Propagate_Concurrent_Flags): Minor reformatting.
	(Propagate_Invariant_Attributes): Typo fix.
	(Propagate_Predicate_Attributes): Indicate what is propagated
	and remove ??? comment.
	* sem_util.adb (Cannot_Raise_Constraint_Error): Remove unneeded
	test of Do_Tag_Check.
	(Is_Local_Variable_Reference): Extend function to testing for
	formals of mode out as well.
	* sinfo.ads: Remove ??? comment about flag
	Convert_To_Return_False indicating that the flag is obsolete (in
	fact it's used). Remove references to Do_Accessibility_Check and
	Do_Tag_Check (and the two associated ??? comments), as these
	flags are unneeded.
	* sinfo-cn.adb (Change_Conversion_To_Unchecked): Remove call of
	Set_Do_Tag_Check (N, False).
	* targparm.ads (Support_Atomic_Primitives_On_Target): Remove ???
	comment, plus minor reformatting.

2021-07-06  Justin Squirek  <squirek@adacore.com>

	* par-ch6.adb (Get_Return_Kind): Properly handle the case of a
	"return when" statement in the procedure case.

2021-07-06  Bob Duff  <duff@adacore.com>

	* sem.ads (Node_To_Be_Wrapped): Minor comment fix.
	* exp_ch7.adb (Establish_Transient_Scope): Misc cleanups and
	comment improvements.
	(Set_Node_To_Be_Wrapped): Remove -- not worth putting this code
	in a separate procedure, called only once.
	* sem_util.adb (Requires_Transient_Scope): Assert that our
	parameter has the right Kind. It probably shouldn't be E_Void,
	but that is passed in in some cases.
	(Ensure_Minimum_Decoration): Move the call later, so we know Typ
	is Present, and remove "if Present (Typ)" from this procedure.
	* exp_aggr.adb (Convert_To_Assignments): Use membership test,
	and avoid the "if False" idiom.
	(Expand_Array_Aggregate): Remove a ??? comment.
	* sem_ch8.adb (Push_Scope): Take advantage of the full coverage
	rules for aggregates.
	* sem_res.adb (Resolve_Declare_Expression): Remove test for
	Is_Type -- that's all it can be.  Use named notation in call to
	Establish_Transient_Scope.
	* libgnat/a-cdlili.adb (Adjust): Remove redundant code.
	(Clear): Remove "pragma Warnings (Off);", which wasn't actually
	suppressing any warnings.

2021-07-06  Bob Duff  <duff@adacore.com>

	* gen_il-gen-gen_nodes.adb: Change the parent of
	N_Exception_Declaration to be N_Declaration.  Minor comment fix.

2021-07-06  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Type_Conversion): If the conversion is
	the name of an assignment operation do not apply predicate check
	to it prior to the assignment.

2021-07-06  Bob Duff  <duff@adacore.com>

	* libgnat/a-conhel.adb: Assert that tampering counts remain
	between 0 and 2**31-1.  This makes debugging of
	finalization-related bugs easier.

2021-07-06  Doug Rupp  <rupp@adacore.com>

	* Makefile.rtl (LIBGNAT_TARGET_PAIRS): Use s-osprim__posix.adb
	vice s-osprim__vxworks.adb for all vxworks7r2 targets.

2021-07-06  Richard Kenner  <kenner@adacore.com>

	* gen_il-types.ads (Void_Or_Type_Kind,
	Exception_Or_Object_Kind): Declare.
	* gen_il-gen-gen_entities.adb: Likewise.

2021-07-06  Gary Dismukes  <dismukes@adacore.com>

	* doc/gnat_rm/implementation_defined_pragmas.rst: Add a
	description of the feature of prefixed-view calls for untagged
	types to the section on pragma Extensions_Allowed.
	* gnat_rm.texi: Regenerate.
	* einfo.ads: Update specification for
	Direct_Primitive_Operations to reflect its use for untagged
	types when Extensions_Allowed is True.
	* gen_il-gen-gen_entities.adb: Allow Direct_Primitive_Operations
	as a field of untagged classes of types by removing the "Pre"
	test of "Is_Tagged_Type (N)", and making that field generally
	available for all types and subtypes by defining it for
	Type_Kind and removing its specification for individual classes
	of types.
	* sem_ch3.adb (Analyze_Full_Type_Declaration): Initialize the
	Direct_Primitive_Operations list when not already set for the
	new (sub)type and its base type (except when Ekind of the type
	is E_Void, which can happen due to errors in cases where
	Derived_Type_Declaration is called and perhaps in other
	situations).
	(Analyze_Subtype_Declaration): Inherit
	Direct_Primitive_Operations list from the base type, for record
	and private cases.
	(Build_Derived_Record_Type): Initialize the
	Direct_Primitive_Operations list for derived record and private
	types.
	(Build_Derived_Type): Initialize the Direct_Primitive_Operations
	list for derived types (and also for their associated base types
	when needed).
	(Process_Full_View): For full types that are untagged record and
	private types, copy the primitive operations of the partial view
	to the primitives list of the full view.
	* sem_ch4.adb (Analyze_Selected_Component): Allow prefixed
	notation for subprogram calls in the case of untagged
	types (when Extensions_Allowed is True). In the case where
	Is_Private_Type (Prefix_Type) is True, call Try_Object_Operation
	when a discriminant selector wasn't found. Also call
	Try_Object_Operation in other type kind cases (when
	Extensions_Allowed is True).
	(Try_Object_Operation.Try_One_Prefixed_Interpretation): Prevent
	early return in the untagged case (when Extensions_Allowed is
	True). Condition main call to Try_Primitive_Operation on the
	type having primitives, and after that, if Prim_Result is False,
	test for case where the prefix type is a named access type with
	primitive operations and in that case call
	Try_Primitive_Operation after temporarily resetting Obj_Type to
	denote the access type (and restore it to the designated type
	after the call)
	(Try_Object_Operation.Valid_First_Argument_Of): Do matching type
	comparison by testing Base_Type (Obj_Type) against
	Base_Type (Typ), rather than against just Typ, to properly
	handle cases where the object prefix has a constrained
	subtype.  (Fixes a bug discovered while working on this
	feature.)
	* sem_ch6.adb
	(New_Overloaded_Entity.Check_For_Primitive_Subprogram): Add a
	primitive of an untagged type to the type's list of primitive
	operations, for both explicit and implicit (derived, so
	Comes_From_Source is False) subprogram declarations. In the case
	where the new primitive overrides an inherited subprogram,
	locate the primitives Elist that references the overridden
	subprogram, and replace that element of the list with the new
	subprogram (done by calling the new procedure
	Add_Or_Replace_Untagged_Primitive on the result type and each
	formal atype).
	(Check_For_Primitive_Subprogram.Add_Or_Replace_Untagged_Primitive):
	New nested procedure to either add or replace an untagged
	primitive subprogram in a given type's list of primitive
	operations (replacement happens in case where the new subprogram
	overrides a primitive of the type).
	* sem_ch7.adb (New_Private_Type): When Extensions_Allowed is
	True, initialize the Direct_Primitive_Operations list of a
	private type to New_Elmt_List in the case of untagged types.
	* sem_ch8.adb (Find_Selected_Component): In the case where the
	prefix is an entity name, relax condition that tests
	Has_Components so that Analyze_Selected_Component will also be
	called when Extensions_Allowed is True and the prefix type is
	any type.

2021-07-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
	conformance check when the subprogram body has been created for
	an expression function that is not a completion of a previous
	specification, because the profile of the constructed body is
	copied from the expression function itself.

2021-07-06  Steve Baird  <baird@adacore.com>

	* doc/gnat_rm/implementation_of_specific_ada_features.rst: Add a
	warning indicating that the details of the default (i.e.,
	selected by the compiler) implementation of T'Put_Image for a
	nonscalar type T are subject to change.
	* gnat_rm.texi: Regenerate.

2021-07-05  Pierre-Marie de Rodat  <derodat@adacore.com>

	* gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate.

2021-07-05  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Analyze_Depends_In_Decl_Part): Reject overlays
	in Depends and Refined_Depends contracts.
	(Analyze_Global_In_Decl_Part): Likewise for Global and
	Refined_Global.
	(Analyze_Initializes_In_Decl_Part): Likewise for Initializes
	(when appearing both as a single item and as a initialization
	clause).
	* sem_util.ads (Ultimate_Overlaid_Entity): New routine.
	* sem_util.adb (Report_Unused_Body_States): Ignore overlays.
	(Ultimate_Overlaid_Entity): New routine.

2021-07-05  Claire Dross  <dross@adacore.com>

	* libgnat/a-cfdlli.ads, libgnat/a-cfdlli.adb
	libgnat/a-cfinve.ads, libgnat/a-cfinve.adb,
	libgnat/a-cofove.ads, libgnat/a-cofove.adb,
	libgnat/a-coboho.ads, libgnat/a-coboho.adb (Constant_Reference):
	Get a read-only access to an element of the container.
	(At_End): Ghost functions used to express pledges in the
	postcondition of Reference.
	(Reference): Get a read-write access to an element of the
	container.
	* libgnat/a-cfhama.ads, libgnat/a-cfhama.adb,
	libgnat/a-cforma.ads, libgnat/a-cforma.adb: The full view of the
	Map type is no longer a tagged type, but a wrapper over this
	tagged type. This is to avoid issues with dispatching result in
	At_End functions.
	(Constant_Reference): Get a read-only access to an element of
	the container.
	(At_End): Ghost functions used to express pledges in the
	postcondition of Reference.
	(Reference): Get a read-write access to an element of the
	container.
	* libgnat/a-cfhase.ads, libgnat/a-cfhase.adb,
	libgnat/a-cforse.ads, libgnat/a-cforse.adb: The full view of the
	Map type is no longer a tagged type, but a wrapper over this
	tagged type.
	(Constant_Reference): Get a read-only access to an element of
	the container.
	* libgnat/a-cofuse.ads, libgnat/a-cofuve.ads (Copy_Element):
	Expression function used to cause SPARK to make sure
	Element_Type is copiable.
	* libgnat/a-cofuma.ads (Copy_Key): Expression function used to
	cause SPARK to make sure Key_Type is copiable.
	(Copy_Element): Expression function used to cause SPARK to make
	sure Element_Type is copiable.

2021-07-05  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb (Analyze_Global_Item): Adapt to update SPARK RM
	rule.

2021-07-05  Arnaud Charlet  <charlet@adacore.com>

	* Make-generated.in: Add -f switch to ensure cp will never fail.

2021-07-05  Steve Baird  <baird@adacore.com>

	* exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): When
	building the assignment statement corresponding to the default
	expression for a component, we make a copy of the expression.
	When making that copy (and if we have seen a component that
	requires late initialization), pass a Map parameter into the
	call to New_Copy_Tree to redirect references to the type to
	instead refer to the _Init formal parameter of the init proc.
	This includes hoisting the declaration of Has_Late_Init_Comp out
	one level so that it becomes available to Build_Assignment.
	(Find_Current_Instance): Return True for other kinds of current
	instance references, instead of just access-valued attribute
	references such as T'Access.
	* sem_util.adb (Is_Aliased_View): Return True for the _Init
	formal parameter of an init procedure. The changes in
	exp_ch3.adb can have the effect of replacing a "T'Access"
	attribute reference in an init procedure with an "_Init'Access"
	attribute reference. We want such an attribute reference to be
	legal. However, we do not simply mark the formal parameter as
	being aliased because that might impact callers.
	(Is_Object_Image): Return True if Is_Current_Instance returns
	True for the prefix of an Image (or related attribute) attribute
	reference.

2021-07-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.adb (Stream_Operation_OK): Reuse
	Is_Concurrent_Interface.
	* sem_ch3.adb (Analyze_Interface_Declaration,
	Build_Derived_Record_Type): Likewise.
	* sem_ch6.adb (Check_Limited_Return): Likewise.
	* sem_util.adb (Is_Concurrent_Interface): Don't call
	Is_Interface because each of the Is_Protected_Interface,
	Is_Synchronized_Interface and Is_Task_Interface calls it anyway.

2021-07-05  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_ch6.adb (Check_Limited_Return): Replace Comes_From_Source
	with Comes_From_Extended_Return_Statement.

2021-07-05  Steve Baird  <baird@adacore.com>

	* libgnat/a-stobbu.adb, libgnat/a-stobbu.ads,
	libgnat/a-stobfi.adb, libgnat/a-stobfi.ads,
	libgnat/a-stoubu.adb, libgnat/a-stoubu.ads,
	libgnat/a-stoufi.adb, libgnat/a-stoufi.ads,
	libgnat/a-stoufo.adb, libgnat/a-stoufo.ads,
	libgnat/a-stouut.adb, libgnat/a-stouut.ads,
	libgnat/a-stteou.ads: Delete files.
	* Makefile.rtl, impunit.adb: Remove references to deleted files.

2021-07-05  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Has_Compatible_Alignment_Internal): If the
	prefix of the Address expression is an entire object with a
	known alignment, then skip checks related to its size.

2021-07-05  Doug Rupp  <rupp@adacore.com>

	* libgnat/s-os_lib.ads: Import OS_Time comparison ops as
	intrinsic.
	* libgnat/s-os_lib.adb: Remove OS_TIme comparison ops
	implementation.

2021-07-05  Doug Rupp  <rupp@adacore.com>

	* libgnat/s-os_lib.ads: Add some comments about time_t.
	* libgnat/s-os_lib.adb (GM_Split/To_GM_Time): Rename formal to
	P_OS_Time.
	(GM_Time_Of/To_OS_Time): Likewise.

2021-07-05  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_res.adb (Resolve): Insert minus sign if needed.

2021-07-05  Steve Baird  <baird@adacore.com>

	* exp_put_image.adb:
	(Enable_Put_Image, Preload_Root_Buffer_Type): Revert to querying
	the -gnatd_z switch, as opposed to testing whether Ada_Version >= Ada_2022.

2021-07-05  Justin Squirek  <squirek@adacore.com>

	* checks.adb (Accessibility_Checks_Suppressed): Add check
	against restriction No_Dynamic_Accessibility_Checks.
	(Apply_Accessibility_Check): Add assertion to check restriction
	No_Dynamic_Accessibility_Checks is not active.
	* debug.adb: Add documentation for new debugging switch to
	control which accessibility model gets employed under
	restriction No_Dynamic_Accessibility_Checks.
	* exp_attr.adb (Expand_N_Attribute_Reference): Disable dynamic
	accessibility check generation when
	No_Dynamic_Accessibility_Checks is active.
	* exp_ch4.adb (Apply_Accessibility_Check): Skip check generation
	when restriction No_Dynamic_Accessibility_Checks is active.
	(Expand_N_Allocator): Disable dynamic accessibility checks when
	No_Dynamic_Accessibility_Checks is active.
	(Expand_N_In): Disable dynamic accessibility checks when
	No_Dynamic_Accessibility_Checks is active.
	(Expand_N_Type_Conversion): Disable dynamic accessibility checks
	when No_Dynamic_Accessibility_Checks is active.
	* exp_ch5.adb (Expand_N_Assignment_Statement): Disable
	alternative accessibility model calculations when computing a
	dynamic level for a SAOAAT.
	* exp_ch6.adb (Add_Call_By_Copy_Code): Disable dynamic
	accessibility check generation when
	No_Dynamic_Accessibility_Checks is active.
	(Expand_Branch): Disable alternative accessibility model
	calculations.
	(Expand_Call_Helper): Disable alternative accessibility model
	calculations.
	* restrict.adb, restrict.ads: Add new restriction
	No_Dynamic_Accessibility_Checks.
	(No_Dynamic_Accessibility_Checks_Enabled): Created to test when
	experimental features (which are generally incompatible with
	standard Ada) can be enabled.
	* sem_attr.adb (Safe_Value_Conversions): Add handling of new
	accessibility model under the restriction
	No_Dynamic_Accessibility_Checks.
	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Disallow new restriction No_Dynamic_Accessibility_Checks from
	being exclusively specified within a body or subunit without
	being present in a specification.
	* sem_res.adb (Check_Fully_Declared_Prefix): Minor comment
	fixup.
	(Valid_Conversion): Omit implicit conversion checks on anonymous
	access types and perform static checking instead when
	No_Dynamic_Accessibility_Checks is active.
	* sem_util.adb, sem_util.ads (Accessibility_Level): Add special
	handling of anonymous access objects, formal parameters,
	anonymous access components, and function return objects.
	(Deepest_Type_Access_Level): When
	No_Dynamic_Accessibility_Checks is active employ an alternative
	model. Add paramter Allow_Alt_Model to override the new behavior
	in certain cases.
	(Type_Access_Level): When No_Dynamic_Accessibility_Checks is
	active employ an alternative model. Add parameter
	Allow_Alt_Model to override the new behavior in certain cases.
	(Typ_Access_Level): Created within Accessibility_Level for
	convenience.
	* libgnat/s-rident.ads, snames.ads-tmpl: Add handing for
	No_Dynamic_Accessibility_Checks.

2021-07-05  Doug Rupp  <rupp@adacore.com>

	* adaint.h (__gnat_set_file_time_name): Use OS_Time.
	* adaint.c (__gnat_set_file_time_name): Likewise.

2021-07-05  Doug Rupp  <rupp@adacore.com>

	* adaint.h (OS_Time): typedef as long long.
	* osint.adb (Underlying_OS_Time): Declare as 64-bit signed type.
	* libgnat/s-os_lib.adb ("<"): Compare OS_Time as
	Long_Long_Integer.
	("<="): Likewise.
	(">"): Likewise.
	(">="): Likewise.
	* libgnat/s-os_lib.ads (OS_Time): Declare as 64-bit signed type.

2021-07-05  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_ch3.adb (Check_Abstract_Overriding): Post error message on
	renaming node.

2021-07-05  Yannick Moy  <moy@adacore.com>

	* libgnat/a-uncdea.ads: Add Depends/Post to
	Ada.Unchecked_Deallocation.
	* sem_ch4.adb (Analyze_Allocator): Remove checking of allocator
	placement.
	* sem_res.adb (Flag_Object): Same.

2021-07-05  Ghjuvan Lacambre  <lacambre@adacore.com>

	* aspects.ads: Add GNAT_Annotate aspect.
	* gnat1drv.adb (Adjust_Global_Switches): Stop defining
	Name_Gnat_Annotate as an alias of Name_Annotate.
	* snames.ads-tmpl: Define Gnat_Annotate.
	* par-prag.adb, sem_prag.ads: Add Pragma_Gnat_Annotate to list
	of pragmas.
	* lib-writ.adb, sem_ch13.adb, sem_prag.adb: Handle Gnat_Annotate
	like Aspect_Annotate.

2021-07-05  Piotr Trojanek  <trojanek@adacore.com>

	* ttypes.ads (Target_Strict_Alignment): Fix comment.

2021-07-05  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Has_Compatible_Alignment_Internal): Fix
	indentation of ELSIF comments; remove explicit calls to
	UI_To_Int; remove extra parens around the MOD operand.

2021-07-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregate, Step_5): Do not check
	for the need to use an extension aggregate for a given component
	when within an instance and the type of the component hss a
	private ancestor: the instantiation is legal if the generic
	compiles, and spurious errors may be generated otherwise.

2021-07-05  Ghjuvan Lacambre  <lacambre@adacore.com>

	* errout.adb (Output_JSON_Message): Recursively call
	Output_JSON_Message for continuation messages instead of
	appending their content to the initial message.

2021-07-05  Steve Baird  <baird@adacore.com>

	* debug.adb: Remove comments about -gnatd_z switch.
	* exp_ch3.adb (Make_Predefined_Primitive_Specs): A one-line fix
	for a subtle bug that took some effort to debug. Append a new
	Put_Image procedure for a type extension even if it seems to
	already have one, just as is done for (for example) the
	streaming-related Read procedure.
	* exp_put_image.adb:
	(Build_Record_Put_Image_Procedure.Make_Component_Attributes): Do
	not treat _Parent component like just another component, for two
	reasons.  1. If the _parent component's type has a
	user-specified Put_Image procedure, then we want to generate a
	call to that procedure and then generate extension aggregate
	syntax.  2. Otherwise, we still don't want to see any mention of
	"_parent" in the generated image text.
	(Build_Record_Put_Image_Procedure.Make_Component_Name): Add
	assertion that we are not generating a reference to an "_parent"
	component.
	(Build_Record_Put_Image_Procedure): Add special treatment for
	null records.  Add call to Duplicate_Subexpr for image attribute
	prefix in order to help with expansion needed in the class-wide
	case (where the prefix is also referenced in the call to
	Wide_Wide_Expanded_Name) if evaluation of the prefix has side
	effects. Add new local helper function, Put_String_Exp.  Add
	support for case where prefix type is class-wide.
	(Enable_Put_Image, Preload_Root_Buffer_Type): Query Ada_Version
	> Ada_2022 instead of (indirectly) querying -gnatd_z switch.
	* freeze.adb (In_Expanded_Body): A one-line change to add
	TSS_Put_Image to the list of subprograms that have
	expander-created bodies.
	* rtsfind.ads: Add support for accessing
	Ada.Tags.Wide_Wide_Expanded_Name.
	* sem_ch3.ads, sem_ch3.adb: Delete Is_Null_Extension function,
	as part of moving it to Sem_Util.
	* sem_ch13.adb
	(Analyze_Put_Image_TSS_Definition.Has_Good_Profile): Improve
	diagnostic messages in cases where the result is going to be
	False and the Report parameter is True. Relax overly-restrictive
	checks in order to implement mode conformance.
	(Analyze_Stream_TSS_Definition.Has_Good_Profile): Add similar
	relaxation of parameter subtype checking for the Stream
	parameter of user-defined streaming subprograms.
	* sem_disp.adb (Check_Dispatching_Operation): A one-line
	change (and an accompanying comment change) to add TSS_Put_Image
	to the list of compiler-generated dispatching primitive
	operations.
	* sem_util.ads, sem_util.adb: Add Ignore_Privacy Boolean
	parameter to Is_Null_Record_Type function (typically the
	parameter will be False when the function is being used in the
	implementation of static semantics and True for dynamic
	semantics; the parameter might make a difference in the case of,
	for example, a private type that is implemented as a null record
	type).  Add related new routines Is_Null_Extension (formerly
	declared in Sem_Ch3), Is_Null_Extension_Of, and
	Is_Null_Record_Definition.

2021-07-05  Justin Squirek  <squirek@adacore.com>

	* freeze.adb (Freeze_Profile): Use N's Sloc, F_type's chars.

2021-07-05  Bob Duff  <duff@adacore.com>

	* checks.adb, exp_aggr.adb, exp_ch5.adb, freeze.adb,
	sem_util.adb, sem_util.ads: Change L and H to be First and Last,
	to match the attributes in the RM. Change calls from procedure
	to function where appropriate.

2021-07-05  Bob Duff  <duff@adacore.com>

	* sem_util.ads, sem_util.adb (Compute_Returns_By_Ref): New
	procedure to compute Returns_By_Ref, to avoid some code
	duplication. This will likely change soon, so it's good to have
	the code in one place.
	(CW_Or_Has_Controlled_Part): Move here from Exp_Ch7, because
	it's called by Compute_Returns_By_Ref, and this is a better
	place for it anyway.
	(Needs_Finalization): Fix comment to be vague instead of wrong.
	* exp_ch6.adb (Expand_N_Subprogram_Body, Freeze_Subprogram):
	Call Compute_Returns_By_Ref.
	* sem_ch6.adb (Check_Delayed_Subprogram): Call
	Compute_Returns_By_Ref.
	* exp_ch7.ads, exp_ch7.adb (CW_Or_Has_Controlled_Part): Move to
	Sem_Util.
	(Has_New_Controlled_Component): Remove unused function.

2021-07-05  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_ch3.adb (Check_Abstract_Overriding): Check for renamings.

2021-07-05  Boris Yakobowski  <yakobowski@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Rem): Remove special case for rem -1
	in CodePeer_Mode.

2021-07-01  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/101094
	* exp_attr.adb (Get_Integer_Type): Return an integer type with the
	same signedness as the input type.

2021-06-29  Richard Kenner  <kenner@adacore.com>

	* sem_util.adb (Visit_Node): Add handling for N_Block_Statement
	with declarations.

2021-06-29  Piotr Trojanek  <trojanek@adacore.com>

	* einfo-utils.adb
	(Unknown_Alignment): Simply negate the Known_ counterpart.
	(Unknown_Component_Bit_Offset): Likewise.
	(Unknown_Esize): Likewise.
	(Unknown_Normalized_First_Bit): Likewise.
	(Unknown_Normalized_Position): Likewise.
	(Unknown_Normalized_Position_Max): Likewise.
	(Unknown_RM_Size): Likewise.

2021-06-29  Boris Yakobowski  <yakobowski@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Mod): Remove special case for mod -1
	in CodePeer_Mode.

2021-06-29  Aleksandra Pasek  <pasek@adacore.com>

	* libgnat/s-objrea.adb (EM_AARCH64): New Constant.
	(Initialize): Handle EM_AARCH64 case.
	(Read_Address): Handle AARCH64 case.
	* libgnat/s-objrea.ads (Object_Arch): Add AARCH64 record
	component.

2021-06-29  Bob Duff  <duff@adacore.com>

	* sem_ch13.adb (Analyze_Record_Representation_Clause): Call
	Set_Entity_With_Checks instead of Set_Entity, so we perform the
	check for correct casing.
	* style.adb (Check_Identifier): Minor comment improvement.
	Cleanup overly complicated code.

2021-06-29  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Convert_Aggr_In_Object_Decl): After expansion of
	the aggregate, the expression can be removed from the
	declaration, except if the object is class-wide, in which case
	the aggregate provides the actual type. In other cases the
	presence of the expression may lead to spurious freezing issue.
	* exp_ch3.adb (Expand_N_Object_Declaration): If the expression
	in the declaration is an aggregate with delayed expansion (as is
	the case for objects of a limited type, or a subsequent address
	specification) the aggregate must be resolved at this point.
	This resolution must not include expansion, because the
	expansion of the enclosing declaration will construct the
	necessary aggregate expansion.

2021-06-29  Piotr Trojanek  <trojanek@adacore.com>

	* errout.ads (Adjust_Name_Case): Remove obsolete and now unused
	variant.
	* errout.adb (Adjust_Name_Case): Likewise; fix variant that uses
	a custom buffer to also use it for names in Standard_Location.

2021-06-29  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch12.adb (Freeze_Subprogram_Body): Add missing "freeze".
	(Install_Body): Likewise.

2021-06-29  Piotr Trojanek  <trojanek@adacore.com>

	* adaint.c (__gnat_portable_spawn): Revert change that
	introduced setting of __gnat_in_child_after_fork.

2021-06-29  Patrick Bernardi  <bernardi@adacore.com>

	* libgnarl/s-tasdeb.ads (Known_Tasks): Add Atomic_Components
	aspect.

2021-06-29  Doug Rupp  <rupp@adacore.com>

	* Makefile.rtl (x86_64-vx7r2) [EXTRA_GNATRTL_TASKING_OBJS]: Move
	i-vxinco.o out of RTP runtime.

2021-06-29  Claire Dross  <dross@adacore.com>

	* libgnat/a-cfdlli.ads: Use pragma Assertion_Policy to disable
	pre and postconditions.
	* libgnat/a-cfhama.ads: Likewise.
	* libgnat/a-cfhase.ads: Likewise.
	* libgnat/a-cfinve.ads: Likewise.
	* libgnat/a-cforma.ads: Likewise.
	* libgnat/a-cforse.ads: Likewise.
	* libgnat/a-cofove.ads: Likewise.

2021-06-29  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.ads (Get_Fullest_View): Refill comment; remove extra
	extra after period.
	* sem_util.adb (Get_Fullest_View): Fix style.

2021-06-29  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch3.adb (Analyze_Declarations): Remove explicit check for
	missing, because a subsequent call to Is_Empty_List will detect
	them anyway.

2021-06-29  Piotr Trojanek  <trojanek@adacore.com>

	* freeze.adb (Freeze_All): Simplify by reusing
	Is_Subprogram_Or_Entry.
	* sem_ch11.adb (Analyze_Handled_Statement): Likewise.

2021-06-29  Piotr Trojanek  <trojanek@adacore.com>

	* sem_warn.adb (Warn_On_Overlapping_Actuals): Prevent cascaded
	errors once for the subprogram call, not for every pair of
	actual parameters.

2021-06-29  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch3.adb (Is_Local_Type): Simplify by reusing Scope_Within.

2021-06-29  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch6.ads (Can_Override_Operator): Function declaration
	moved from package body to package spec.
	* sem_ch6.adb (Check_Overriding_Indicator): Now use test of
	whether the subprogram's Chars is an operator name, to handle
	cases of function instances whose entity is
	N_Defining_Identifier rather than N_Defining_Operator_Symbol.
	(Can_Override_Operator): Function declaration moved to package
	spec.  Now use test of whether the subprogram's Chars is an
	operator name, to handle cases of function instances whose
	entity is N_Defining_Identifier rather than
	N_Defining_Operator_Symbol.
	* sem_ch8.adb (Analyze_Renamed_Subprogram): Check for
	possibility of an overridden predefined operator, and suppress
	the "not overriding" message in that case.

2021-06-29  Doug Rupp  <rupp@adacore.com>

	* Makefile.rtl: Add a new ifeq for vx7r2 shared gnatlib.

2021-06-29  Piotr Trojanek  <trojanek@adacore.com>

	* exp_attr.adb (Build_Array_VS_Func): Restore uses of
	Validated_View.
	(Build_Record_VS_Func): Likewise.
	(Expand_N_Attribute_Reference): Likewise.
	* sem_util.adb (Validated_View): Behave as an identity function
	for arrays and scalars.

2021-06-29  Bob Duff  <duff@adacore.com>

	* atree.adb, atree.ads (Parent, Set_Parent): Assert node is
	Present.
	(Copy_Parent, Parent_Kind): New helper routines.
	* gen_il-gen.adb: Add with clause.
	* nlists.adb (Parent): Assert Parent of list is Present.
	* aspects.adb, checks.adb, exp_aggr.adb, exp_ch6.adb,
	exp_util.adb, lib-xref-spark_specific.adb, osint.ads,
	sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch6.adb,
	sem_dim.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
	treepr.adb: Do not call Parent and Set_Parent on the Empty node.
	* libgnat/a-stwiun__shared.adb, libgnat/a-stzunb__shared.adb:
	Minor: Fix typos in comments.
	* einfo.ads: Minor comment update.
	* sinfo-utils.ads, sinfo-utils.adb (Parent_Kind, Copy_Parent):
	New functions.

2021-06-29  Eric Botcazou  <ebotcazou@adacore.com>

	* repinfo-input.adb (Read_JSON_Stream): Fix typo.

2021-06-29  Eric Botcazou  <ebotcazou@adacore.com>

	* rtsfind.ads (RE_Id): Change RE_Valid_Enumeration_Value_NN into
	RE_Valid_Value_Enumeration_NN.
	(RE_Unit_Table): Adjust to above renaming.
	* exp_imgv.adb (Expand_Valid_Value_Attribute): Likewise.
	* libgnat/s-valuen.ads (Invalid): Remove.
	(Value_Enumeration_Pos): Move to...
	* libgnat/s-valuen.adb (Value_Enumeration_Pos): ...here.
	Return -1 instead of Invalid.
	(Value_Enumeration): Compare against 0 instead of Invalid.
	(Valid_Enumeration_Value): Likewise.  Rename to...
	(Valid_Value_Enumeration): ...this.
	* libgnat/s-vaenu8.ads (Valid_Enumeration_Value_8): Rename into...
	(Valid_Value_Enumeration_8): ...this.
	* libgnat/s-vaen16.ads (Valid_Enumeration_Value_16): Rename into...
	(Valid_Value_Enumeration_16): ...this.
	* libgnat/s-vaen32.ads (Valid_Enumeration_Value_32): Rename into...
	(Valid_Value_Enumeration_32): ...this.

2021-06-29  Bob Duff  <duff@adacore.com>

	* einfo.ads (Component_Bit_Offset, Component_Size): Update
	documentation: Repinfo is the package where these negative
	values are documented.
	* einfo-utils.adb (Known_Component_Size,
	Known_Static_Component_Size, Unknown_Component_Size): Remove
	calls to Implementation_Base_Type, because Component_Size is an
	Impl_Base_Type_Only field (see Gen_Entities).
	* sem_ch13.ads, sem_ch13.adb (Check_Size): Do not set Esize and
	RM_Size. This is unnecessary in the case of Size. For
	Component_Size, it is wrong, because we would be setting the
	Esize and RM_Size of the component type.

2021-06-29  Pascal Obry  <obry@adacore.com>

	* s-oscons-tmplt.c: Add some OS constants.

2021-06-29  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.ads (Validated_View): Fix style in comment.
	* sem_util.adb (Validated_View): Rewrite in recursive style.

2021-06-29  Eric Botcazou  <ebotcazou@adacore.com>

	* Make-generated.in (ada/stamp-gen_il): Ignore errors from
	running gen_il-main.

2021-06-29  Richard Kenner  <kenner@adacore.com>

	* gen_il-gen-gen_entities.adb (Record_Field_Kind,
	Allocatable_Kind): Add new abstract kinds.
	(Constant_Or_Variable_Kind): Likewise.
	(E_Constant, E_Variable, E_Loop_Parameter): Use them.
	(E_Discriminant, E_Component): Likewise.
	* gen_il-types.ads (type Opt_Type_Enum): Add them.

2021-06-29  Bob Duff  <duff@adacore.com>

	* gen_il-gen.adb (Put_C_Type_And_Subtypes): Put the correct
	numbers.
	* gen_il-internals.ads, gen_il-internals.adb: (Pos): Remove this
	function. It was assuming that the order of the enumeration
	literals in Type_Enum is the same as the order of the generated
	types Node_Kind and Entity_Kind, which is not true.

2021-06-29  Piotr Trojanek  <trojanek@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Explicitly use
	Validated_View for record objects.

2021-06-28  Martin Sebor  <msebor@redhat.com>

	* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
	Replace TREE_NO_WARNING with suppress_warning.
	(gnat_gimplify_expr): Same.
	* gcc-interface/utils.c (gnat_pushdecl): Same.

2021-06-21  Gary Dismukes  <dismukes@adacore.com>

	* checks.adb (Selected_Range_Checks): In the case of a
	qualified_expression where the qualifying subtype is an
	unconstrained array subtype with fixed lower bounds for some of
	its indexes, generate tests to check that those bounds are equal
	to the corresponding lower bounds of the qualified array object.

2021-06-21  Bob Duff  <duff@adacore.com>

	* libgnat/s-valuen.ads (Value_Enumeration,
	Valid_Enumeration_Value): Inline.
	(Value_Enumeration_Pos): Add Pure_Function.

2021-06-21  Justin Squirek  <squirek@adacore.com>

	* doc/gnat_rm/implementation_defined_pragmas.rst: Document new
	feature under pragma Extensions_Allowed.
	* gnat_rm.texi: Regenerate.
	* errout.adb, errout.ads (Error_Msg_GNAT_Extension): Created to
	issue errors when parsing extension only constructs.
	* exp_ch11.adb, exp_ch11.ads (Expand_N_Raise_When_Statement):
	Created to expand raise ... when constucts.
	* exp_ch5.adb, exp_ch5.ads (Expand_N_Goto_When_Statement):
	Created to expand goto ... when constructs.
	* exp_ch6.adb, exp_ch6.ads (Expand_N_Return_When_Statement):
	Created to expand return ... when constructs.
	* expander.adb (Expand): Add case entries for "when" constructs.
	* gen_il-gen-gen_nodes.adb, gen_il-types.ads: Add entries for
	"when" constructs.
	* par-ch11.adb (P_Raise_Statement): Add processing for raise ...
	when.
	* par-ch5.adb (Missing_Semicolon_On_Exit): Renamed to
	Missing_Semicolon_On_When and moved to par-util.adb.
	* par-ch6.adb (Get_Return_Kind): Renamed from Is_Simple and
	processing added for "return ... when" return kind.
	(Is_Simple): Renamed to Get_Return_Kind.
	(P_Return_Statement): Add case for return ... when variant of
	return statement.
	* par-util.adb, par.adb (Missing_Semicolon_On_When): Added to
	centeralize parsing of "when" keywords in the context of "when"
	constructs.
	* sem.adb (Analyze): Add case for "when" constructs.
	* sem_ch11.adb, sem_ch11.ads (Analyze_Raise_When_Statement):
	Created to analyze raise ... when constructs.
	* sem_ch5.adb, sem_ch5.ads (Analyzed_Goto_When_Statement):
	Created to analyze goto ... when constructs.
	* sem_ch6.adb, sem_ch6.ads (Analyze_Return_When_Statement):
	Created to analyze return ... when constructs.
	* sprint.adb (Sprint_Node_Actual): Add entries for new "when"
	nodes.

2021-06-21  Steve Baird  <baird@adacore.com>

	* Make-generated.in (GEN_IL_FLAGS): Keep only GNAT flags.
	(ada/stamp-gen_il): Remove dependencies on libgnat/ sources.  Do not
	copy libgnat/ sources locally and tidy up.
	* Makefile.rtl: Include object files for new Text_Buffer units
	in the GNATRTL_NONTASKING_OBJS list.
	* exp_put_image.ads, exp_put_image.adb: Update Rtsfind calls to
	match new specs. For example, calls to RE_Sink are replaced with
	calls to RE_Root_Buffer_Type. Update comments and change
	subprogram names accordingly (e.g., Preload_Sink is changed to
	Preload_Root_Buffer_Type).
	* impunit.adb: Add 6 new predefined units (Text_Buffers and 5
	child units thereof).
	* rtsfind.ads, rtsfind.adb: Add interfaces for accessing the
	Ada.Strings.Text_Buffers package and declarations
	therein (including the Unbounded child unit). Do not (yet)
	delete interfaces for accessing the old Text_Output package.
	* sem_attr.adb (Check_Put_Image_Attribute): Replace RE_Sink uses
	with RE_Root_Buffer_Type and update comments accordingly.
	* sem_ch10.adb (Analyze_Compilation_Unit): Update call to
	reflect name change of callee (that is, the former Preload_Sink
	is now Preload_Root_Buffer_Type).
	* sem_ch13.adb (Has_Good_Profile): Replace RE_Sink use with
	RE_Root_Buffer_Type.
	(Build_Spec): Update comment describing a parameter type.
	* gen_il.ads: Remove clauses for the old Text_Output package and
	add them for Ada.Streams.Stream_IO.
	(Sink): Declare.
	(Create_File): Likewise.
	(Increase_Indent): Likewise.
	(Decrease_Indent): Likewise.
	(Put): Likewise.
	(LF): Likewise.
	* gen_il.adb: Add clauses for Ada.Streams.Stream_IO.
	(Create_File): New procedure.
	(Increase_Indent): Likewise.
	(Decrease_Indent): Likewise.
	(Put): New procedures.
	* gen_il-gen.adb: Add clauses for Ada.Text_IO.  Replace
	Sink'Class with Sink throughout.  Use string concatenation and
	LF marker instead of formatted strings and "\n" marker.  Update
	Indent/Outdent calls to use new Increase_Indent/Decrease_Indent
	names.
	(Put_Membership_Query_Decl): Remove.
	* gen_il-internals.ads: Replace Sink'Class with Sink throughout.
	(Ptypes): Remove.
	(Pfields): Likewise.
	* gen_il-internals.adb: Remove clauses for GNAT.OS_Lib and
	Ada.Strings.Text_Buffers.Files.  Replace Sink'Class with Sink
	throughout.  Use string concatenation and LF marker instead of
	formatted strings and "\n" marker.
	(Stdout): Remove.
	(Ptypes): Likewise.
	(Pfields): Likewise.
	* libgnarl/s-putaim.ads: Modify context clause, update
	declaration of subtype Sink to refer to
	Text_Buffers.Root_Buffer_Type instead of the old
	Text_Output.Sink type.
	* libgnarl/s-putaim.adb: Modify context clause and add use
	clause to refer to Text_Buffers package.
	* libgnat/a-cbdlli.ads, libgnat/a-cbdlli.adb,
	libgnat/a-cbhama.ads, libgnat/a-cbhama.adb,
	libgnat/a-cbhase.ads, libgnat/a-cbhase.adb,
	libgnat/a-cbmutr.ads, libgnat/a-cbmutr.adb,
	libgnat/a-cborma.ads, libgnat/a-cborma.adb,
	libgnat/a-cborse.ads, libgnat/a-cborse.adb,
	libgnat/a-cdlili.ads, libgnat/a-cdlili.adb,
	libgnat/a-cidlli.ads, libgnat/a-cidlli.adb,
	libgnat/a-cihama.ads, libgnat/a-cihama.adb,
	libgnat/a-cihase.ads, libgnat/a-cihase.adb,
	libgnat/a-cimutr.ads, libgnat/a-cimutr.adb,
	libgnat/a-ciorma.ads, libgnat/a-ciorma.adb,
	libgnat/a-ciormu.ads, libgnat/a-ciormu.adb,
	libgnat/a-ciorse.ads, libgnat/a-ciorse.adb,
	libgnat/a-coboho.ads, libgnat/a-coboho.adb,
	libgnat/a-cobove.ads, libgnat/a-cobove.adb,
	libgnat/a-cohama.ads, libgnat/a-cohama.adb,
	libgnat/a-cohase.ads, libgnat/a-cohase.adb,
	libgnat/a-coinho.ads, libgnat/a-coinho.adb,
	libgnat/a-coinho__shared.ads, libgnat/a-coinho__shared.adb,
	libgnat/a-coinve.ads, libgnat/a-coinve.adb,
	libgnat/a-comutr.ads, libgnat/a-comutr.adb,
	libgnat/a-convec.ads, libgnat/a-convec.adb,
	libgnat/a-coorma.ads, libgnat/a-coorma.adb,
	libgnat/a-coormu.ads, libgnat/a-coormu.adb,
	libgnat/a-coorse.ads, libgnat/a-coorse.adb,
	libgnat/a-nbnbin.ads, libgnat/a-nbnbin.adb,
	libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.ads,
	libgnat/a-nbnbre.adb, libgnat/a-strunb.ads,
	libgnat/a-strunb.adb, libgnat/a-strunb__shared.ads,
	libgnat/a-strunb__shared.adb, libgnat/s-rannum.ads,
	libgnat/s-rannum.adb: Modify Put_Image procedure used in
	Put_Image aspect specification to conform to Ada profile
	rules (in particular, the first parameter shall be of type
	Ada.Strings.Text_Buffers.Root_Buffer_Type'Class).
	* libgnat/a-sttebu.ads, libgnat/a-sttebu.adb,
	libgnat/a-stbubo.ads, libgnat/a-stbubo.adb,
	libgnat/a-stbufi.ads, libgnat/a-stbufi.adb,
	libgnat/a-stbufo.ads, libgnat/a-stbufo.adb,
	libgnat/a-stbuun.ads, libgnat/a-stbuun.adb,
	libgnat/a-stbuut.ads, libgnat/a-stbuut.adb: A new predefined
	unit, Ada.Strings.Text_Buffers, and five child units.  Two of
	the five are RM-defined: Bounded and Unbounded. The remaining
	three are GNAT-defined: Files, Utils, and Formatting. The buffer
	type corresponding to an output file, type Files.File_Buffer, is
	simpler (and perhaps therefore slower) than its predecessor.
	Caching similar to what was being done before could be added
	later if that seems appropriate.
	* libgnat/s-putima.ads: Modify context clause, update
	declaration of subtype Sink to refer to
	Text_Buffers.Root_Buffer_Type instead of the old
	Text_Output.Sink type.
	* libgnat/s-putima.adb: Modify context clause.  Update
	Indent/Outdent calls to use new Increase_Indent/Decrease_Indent
	names; ditto for "Put_String => Put" name change.
	* libgnat/a-stteou__bootstrap.ads: Delete.

2021-06-21  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch5.adb (Expand_Assign_Array_Bitfield_Fast): If big-endian
	ordering is in effect for the operands and they are small,
	adjust the unchecked conversions done around them.

2021-06-21  Richard Kenner  <kenner@adacore.com>

	* einfo.ads (Return_Statement): Add documentation.
	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Set it.
	* gen_il-fields.ads: Add it.
	* gen_il-gen-gen_entities.adb: Add it.

2021-06-21  Bob Duff  <duff@adacore.com>

	* rtsfind.ads, libgnat/s-bitfie.ads, libgnat/s-bituti.adb,
	libgnat/s-bituti.ads (Fast_Copy_Bitfield): New run-time library
	function to copy bit fields faster than Copy_Bitfield. Cannot be
	called with zero-size bit fields.  Remove obsolete ??? comments
	from s-bituti.adb; we already do "avoid calling this if
	Forwards_OK is False".
	* exp_ch5.adb (Expand_Assign_Array_Loop_Or_Bitfield,
	Expand_Assign_Array_Bitfield_Fast): Generate calls to
	Fast_Copy_Bitfield when appropriate.
	* sem_util.adb, sem_util.ads (Get_Index_Bounds): Two new
	functions for getting the index bounds. These are more
	convenient than the procedure of the same name, because they can
	be used to initialize constants.

2021-06-21  Ed Schonberg  <schonberg@adacore.com>

	* gen_il-fields.ads: Add Default_Subtype_Mark to enumeration
	type for fields.
	* gen_il-gen-gen_nodes.adb: Add call to create new field for
	Formal_Type_Declaration node.
	* par-ch12.adb (P_Formal_Type_Declaration): in Ada_2022 mode,
	recognize new syntax for default: "or use subtype_mark".
	(P_Formal_Type_Definition): Ditto for the case of a formal
	incomplete type.
	* sinfo.ads: Add field Default_Subtype_Mark to
	N_Formal_Type_Declaration.
	* sem_ch12.adb (Validate_Formal_Type_Default): New procedure, to
	apply legality rules to default subtypes in formal type
	declarations. Some legality rules apply to all defaults, such as
	the requirement that the default for a formal type that depends
	on previous formal entities must itself be a previously declared
	formal of the same unit. Other checks are kind- specific.
	(Analyze_Associations): Use specified default if there is no
	actual provided for a formal type in an instance.
	(Analyze_Formal_Type_Declaration): Call
	Validate_Formal_Type_Default when default subtype is present.

2021-06-21  Bob Duff  <duff@adacore.com>

	* libgnat/s-valuen.ads, libgnat/s-valuen.adb
	(Value_Enumeration_Pos): New function to compute the 'Pos of the
	enumeration literal for a given String.  Return a special value
	instead of raising an exception on invalid input. Called by both
	Valid_Enumeration_Image and Value_Enumeration.
	(Valid_Enumeration_Image): Return a Boolean indicating whether
	the String is a valid Image for the given enumeration type.
	(Value_Enumeration): Implement in terms of
	Value_Enumeration_Pos.
	* libgnat/s-vaenu8.ads, libgnat/s-vaen16.ads,
	libgnat/s-vaen32.ads: Rename Valid_Enumeration_Image from the
	instances.
	* libgnat/s-valuti.ads: Correct documentation (it was not true
	for the null string).
	* libgnat/s-valuti.adb (Normalize_String): Do not raise
	Constraint_Error for the null string, nor strings containing
	nothing but blanks, so that Valid_Enumeration_Image can return
	False in these cases, rather than raising an exception.
	* rtsfind.ads (RE_Value_Enumeration_8, RE_Value_Enumeration_16,
	RE_Value_Enumeration_32): New functions.
	(RTE_Available): Improve comment (E doesn't have to be a
	subprogram, although that's the usual case).
	* sem_attr.adb (nalid_Value): Semantic analysis for new
	attribute.
	* exp_attr.adb: Call Expand_Valid_Value_Attribute for new
	attribute.
	* exp_imgv.ads, exp_imgv.adb (Expand_Valid_Value_Attribute): New
	procedure to expand Valid_Value into a call to
	Valid_Enumeration_Image_NN.
	(Expand_Value_Attribute): Misc code cleanups.  Remove two ???
	mark comments. RTE_Available won't work here.  For one thing,
	RTE_Available (X) shouldn't be called until the compiler has
	decided to make use of X (see comments on RTE_Available), and in
	this case we're trying to AVOID calling something.
	* snames.ads-tmpl: New attribute name.
	* doc/gnat_rm/implementation_defined_attributes.rst: Document
	new attribute.
	* gnat_rm.texi: Regenerate.

2021-06-21  Eric Botcazou  <ebotcazou@adacore.com>

	* fe.h (Assume_No_Invalid_Values): Declare.
	* opt.ads (Assume_No_Invalid_Values): Add warning comment.

2021-06-21  Bob Duff  <duff@adacore.com>

	* libgnat/s-bituti.ads (Small_Size): Do not include 0 in this
	type.
	* libgnat/s-bituti.adb (Copy_Bitfield): Do nothing for 0-bit
	bitfields.

2021-06-21  Ghjuvan Lacambre  <lacambre@adacore.com>

	* exp_ch9.adb (Build_Simple_Entry_Call): Add comment.
	* libgnat/s-rannum.adb (Random): Update comment.
	* libgnat/s-rannum.ads (Generator): Update comment.

2021-06-21  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_rm/representation_clauses_and_pragmas.rst (Address
	Clauses): Fix unbalanced parens.
	* gnat_rm.texi: Regenerate.

2021-06-21  Ghjuvan Lacambre  <lacambre@adacore.com>

	* errout.adb (Handle_Serious_Error): Capitalize comment.
	* exp_dbug.adb (Set_Entity_Name): Capitalize sentence.
	* exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Fix
	typo.
	* sem_ch3.adb (Modular_Type_Declaration): Add space after comma.

2021-06-21  Ghjuvan Lacambre  <lacambre@adacore.com>

	* debug.adb: Document -gnatd_U as taken.
	* err_vars.ads (Warning_Doc_Switch): Set to True.
	* errout.ads (Errout): Update documentation.
	* gnat1drv.adb (Adjust_Global_Switches): React to -gnatd_U.
	* hostparm.ads (Tag_Errors): Set to True.
	* opt.ads (Unique_Error_Tag): Document -gnatd_U.

2021-06-21  Eric Botcazou  <ebotcazou@adacore.com>

	* urealp.ads (UR_Write_To_JSON): Declare.
	* urealp.adb (Decimal_Exponent_Hi): Treat numbers in base 10
	specially and rewrite handling of numbers in other bases.
	(Decimal_Exponent_Lo): Likewise.
	(Normalize): Minor tweak.
	(UR_Write_To_JSON): New wrapper procedure around UR_Write.
	* repinfo.adb (List_Type_Info): When the output is to JSON, call
	UR_Write_To_JSON instead of UR_Write.

2021-06-21  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Indexed_Component_Bit_Offset): Return an unknown
	offset for components within multidimensional arrays; remove
	redundant parens.

2021-06-21  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Find_Overlaid_Entity): Ignore references to
	components and discriminants.

2021-06-21  Doug Rupp  <rupp@adacore.com>

	* Makefile.rtl (aarch64-linux) [LIBGNAT_TARGET_PAIRS]: Add
	$(TRASYM_DWARF_UNIX_PAIRS).
	[EXTRA_GNAT_RTL_NONTASKING_OBJS]: Add $(TRASYM_DWARF_UNIX_OBJS)

2021-06-21  Gary Dismukes  <dismukes@adacore.com>

	* exp_util.adb (Expand_Sliding_Conversion): Only perform
	expansion when Expander_Active is True. Add a comment about this
	and refine existing comment regarding string literals.

2021-06-21  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Denotes_Same_Object): Simplify handling of
	slices.

2021-06-21  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Is_Object_Renaming): Rename from Is_Renaming;
	simplify; adapt callers.

2021-06-21  Frederic Konrad  <konrad@adacore.com>

	* Makefile.rtl: Compiles both static and dynamic libgnat for
	powerpc64-wrs-vxworks7r2.

2021-06-18  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch3.adb (Constrain_Array): Add error checking for
	fixed-lower-bound and constrained index ranges applied
	inappropriately on subtypes of unconstrained and
	fixed-lower-bound array types.
	(Constrain_Index): Correct and refine comment related to
	fixed-lower-bound index ranges.

2021-06-18  Bob Duff  <duff@adacore.com>

	* gen_il-gen.adb: Improve comments.
	* snames.ads-tmpl (Convention_Id): Remove "--  Plenty of space
	for expansion", because that's irrelevant now that we are no
	longer laying out node fields by hand.

2021-06-18  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Denotes_Same_Object): Handle character literals
	just like integer literals.

2021-06-18  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Denotes_Same_Object): Explicitly test for node
	kinds being the same; deal with renamings one-by-one; adjust
	numbers in references to the Ada RM.

2021-06-18  Bob Duff  <duff@adacore.com>

	* sprint.adb (Write_Source_Line): Check for EOF in
	Line_Terminator loop.  Note that when a source file is read in,
	an EOF character is added to the end.

2021-06-18  Piotr Trojanek  <trojanek@adacore.com>

	* sem_aux.adb (Package_Specification): Add assertions to confirm
	the kind of the of parameter and returned node.
	* sem_ch12.adb (Remove_Parent): Reorder conditions; this change
	appears to be semantically neutral, but is enough to avoid the
	problematic call to Package_Specification.
	* sem_util.adb (Is_Incomplete_Or_Private_Type): Replace loop
	with a call to Package_Specification.

2021-06-18  Bob Duff  <duff@adacore.com>

	* sem_attr.adb (Eval_Attribute): For Enum_Lit'Size, use
	Enum_Type'Object_Size.

2021-06-18  Olivier Hainque  <hainque@adacore.com>

	* sigtramp-vxworks-target.inc (__aarch64__): Sync
	REGNO_PC_OFFSET with the back-end DWARF_ALT_FRAME_RETURN_COLUMN.
	In CFI_COMMON_REGS, leave r18 alone, VxWorks private.

2021-06-18  Javier Miranda  <miranda@adacore.com>

	* contracts.adb (Process_Spec_Postconditions): Add missing
	support for aliased subprograms and handle wrappers of
	class-wide pre/post conditions.
	(Process_Inherited_Preconditions): Add missing support for
	aliased subprograms and handle wrappers of class-wide pre/post
	conditions.
	* einfo.ads (Class_Wide_Clone): Fix typo.
	(Is_Class_Wide_Clone): Removed since it is not referenced.
	(Is_Wrapper): Documenting new flag.
	(LSP_Subprogram): Documenting new attribute.
	* exp_ch3.adb (Make_Controlling_Function_Wrappers): Decorate
	wrapper as Is_Wrapper and adjust call to
	Override_Dispatching_Operation.
	* freeze.adb (Build_Inherited_Condition_Pragmas): Fix typo in
	documentation.
	(Check_Inherited_Conditions): Handle LSP wrappers; ensure
	correct decoration of LSP wrappers.
	* gen_il-fields.ads (Is_Class_Wide_Clone): Removed.
	(Is_Wrapper): Added.
	(LSP_Subprogram): Added.
	* gen_il-gen-gen_entities.adb (Is_Class_Wide_Clone): Removed.
	(Is_Wrapper): Added.
	(LSP_Subprogram): Added.
	* gen_il-internals.adb (Image): Adding uppercase image of
	LSP_Subprogram.
	* sem_ch6.adb (New_Overloaded_Entity): Fix decoration of LSP
	wrappers.
	* sem_disp.ads (Override_Dispatching_Operation): Remove
	parameter Is_Wrapper; no longer needed.
	* sem_disp.adb (Check_Dispatching_Operation): Adjust assertion.
	(Override_Dispatching_Operation): Remove parameter Is_Wrapper;
	no longer needed.
	* treepr.adb (Image): Adding uppercase image of LSP_Subprogram.

2021-06-18  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch4.adb (Expand_N_Quantified_Expression): Ensure the type
	of the name of a "for of" loop is frozen.
	* exp_disp.adb (Check_Premature_Freezing): Complete condition to
	take into account a private type completed by another private
	type now that the freezing rule are better implemented.
	* freeze.adb (Freeze_Entity.Freeze_Profile): Do not perform an
	early freeze on types if not in the proper scope. Special case
	expression functions that requires access to the dispatch table.
	(Should_Freeze_Type): New.
	* sem_ch13.adb (Resolve_Aspect_Expressions): Prevent assert
	failure in case of an invalid tree (previous errors detected).
	* sem_res.adb (Resolve): Remove kludge related to entities
	causing incorrect premature freezing.
	* sem_util.adb (Ensure_Minimum_Decoration): Add protection
	against non base types.

2021-06-18  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch3.adb (Constrain_Index): Set the High_Bound of a
	fixed-lower-bound subtype's range to T (the subtype of the FLB
	index being constrained) rather than Base_Type (T).

2021-06-18  Bob Duff  <duff@adacore.com>

	* ada_get_targ.adb, aspects.ads, checks.adb, cstand.adb,
	einfo.ads, exp_attr.adb, freeze.adb, get_targ.adb,
	libgnat/a-textio.ads, libgnat/g-memdum.ads,
	libgnat/s-scaval__128.adb, libgnat/s-scaval.adb, make.adb,
	osint.ads, par-prag.adb, sem_ch13.adb, sem_prag.adb,
	sem_prag.ads, set_targ.adb, set_targ.ads, snames.ads-tmpl,
	targparm.ads, types.ads: Remove AAMP-specific code.
	* switch.ads: Minor reformatting.
	* gen_il-fields.ads, gen_il-gen.adb,
	gen_il-gen-gen_entities.adb, gen_il-types.ads, einfo-utils.adb,
	einfo-utils.ads: Package Types now contains "type Float_Rep_Kind
	is (IEEE_Binary);", which used to also have an enumeral AAMP.
	Gen_IL can't handle fields of this type, which would be zero
	sized. Therefore, we move the Float_Rep field into Einfo.Utils
	as a synthesized attribute. (We do not delete the field
	altogether, in case we want new floating-point representations
	in the future.)
	* doc/gnat_rm/implementation_defined_pragmas.rst,
	doc/gnat_rm/implementation_defined_aspects.rst,
	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
	doc/gnat_ugn/the_gnat_compilation_model.rst: Remove
	AAMP-specific documentation.
	* gnat_rm.texi, gnat_ugn.texi: Regenerate.

2021-06-18  Gary Dismukes  <dismukes@adacore.com>

	* exp_util.adb (Expand_Sliding_Conversion): Move test of
	Is_Fixed_Lower_Bound_Subtype to an assertion. Exclude string
	literals from sliding expansion.

2021-06-18  Piotr Trojanek  <trojanek@adacore.com>

	* sem_warn.adb (Warn_On_Overlapping_Actuals): Cleanup conditions
	related to Ada_Version.

2021-06-18  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Address_Value): Simplify.

2021-06-18  Bob Duff  <duff@adacore.com>

	* sem_attr.adb (Check_Array_Or_Scalar_Type): Use Expr_Value
	instead of Intval, because the latter only exists in literals.
	Remove Set_Etype on E1; setting the type is done elsewhere.

2021-06-18  Piotr Trojanek  <trojanek@adacore.com>

	* sem_warn.adb (Warn_On_Overlapping_Actuals): Examine types of
	both formal parameters; refactor a complex detection of
	by-reference types.

2021-06-18  Arnaud Charlet  <charlet@adacore.com>

	* gnatcmd.adb: Fix handling of check and test commands.

2021-06-18  Gary Dismukes  <dismukes@adacore.com>

	* doc/gnat_rm/implementation_defined_pragmas.rst: Add
	documentation for the array fixed-lower-bound feature.
	* gnat_rm.texi: Regenerate.

2021-06-18  Bob Duff  <duff@adacore.com>

	* debug.adb: Document switch.
	* exp_aggr.adb: If -gnatd_g was given, then do not bump the
	limit to 500_000.

2021-06-18  Bob Duff  <duff@adacore.com>

	* sem_util.ads, sem_util.adb (Has_Access_Values): Remove
	Include_Internal parameter that was added in previous change.
	* sem_warn.adb (Warnings_Off_E1): Back out E_Out_Parameter ==>
	Formal_Kind change made previously. Check Is_Private_Type to
	avoid warnings on private types. Misc cleanup.
	* sem_attr.adb (Attribute_Has_Access_Values): Remove
	Include_Internal parameter.

2021-06-18  Piotr Trojanek  <trojanek@adacore.com>

	* sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead branch
	for overlapping actuals in prefix notation.

2021-06-18  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_prag.adb (Process_Import_Or_Interface): Do not
	artificially record a possible modification for a constant.

2021-06-18  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch6.adb (Expand_Call_Helper): Code cleanups.

2021-06-18  Arnaud Charlet  <charlet@adacore.com>

	* exp_aggr.adb, exp_dist.adb, exp_unst.adb, sa_messages.ads,
	sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_eval.adb,
	sem_util.adb, sem_util.ads, sinfo.ads: Update comments.

2021-06-18  Ghjuvan Lacambre  <lacambre@adacore.com>

	* back_end.adb (Scan_Back_End_Switches): Set Opt.JSON_Output to
	True if -fdiagnostics-format=json option is found.
	* back_end.ads (Scan_Compiler_Arguments): Mention
	Opt.JSON_Output.
	* errout.adb (Output_JSON_Message): New procedure.
	(Output_Messages): If Opt.JSON_Output is True, print messages
	with new Output_JSON_Message procedure.
	* opt.ads: Declare JSON_Output variable.
	* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
	Mention new -fdiagnostics-format option.
	* gnat_ugn.texi: Regenerate.

2021-06-18  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch6.adb (Null_Exclusions_Match): Relax null exclusion
	mismatch check when Relaxed_RM_Semantics is set.

2021-06-18  Arnaud Charlet  <charlet@adacore.com>

	* fe.h, opt.adb, opt.ads, par-prag.adb, sem_prag.adb,
	switch-c.adb (Extensions_Allowed): Replace by a function.
	(Ada_Version_Type): Add new value Ada_With_Extensions, to
	replace setting of Extensions_Allowed.  Update setting of
	Extensions_Allowed.

2021-06-18  Arnaud Charlet  <charlet@adacore.com>

	* bindgen.adb (Gen_Output_File_Ada): Generate a new constant
	GNAT_Version_Address.
	* libgnat/g-comver.adb (GNAT_Version_Address): New;
	(GNAT_Version): Use GNAT_Version_Address to disable LTO warning.

2021-06-18  Javier Miranda  <miranda@adacore.com>

	* einfo.ads (Is_Ada_2022_Only): Adding documentation.
	* gen_il-fields.ads (Is_Ada_2022_Only): New flag.
	* gen_il-gen-gen_entities.adb (Is_Ada_2022_Only): New flag.
	* itypes.adb (Create_Null_Excluding_Itype): Inherit
	Is_Ada_2022_Only.
	* sem_ch3.adb (Check_Abstract_Overriding): Skip reporting error
	on Ada 2022 only subprograms that require overriding if we are
	not in Ada 2022 mode.
	(Derive_Subprogram): Inherit Is_Ada_2022_Only.
	* sem_ch6.adb (Check_Overriding_Indicator): Inherit
	Is_Ada_2022_Only.
	(New_Overloaded_Entity): Inherit Is_Ada_2022_Only.
	* sem_ch7.adb (Declare_Inherited_Private_Subprograms): Inherit
	Is_Ada_2022_Only.
	(Preserve_Full_Attributes): Inherit Is_Ada_2022_Only.
	* sem_disp.adb (Find_Hidden_Overridden_Primitive): Inherit
	Is_Ada_2022_Only.
	(Override_Dispatching_Operation): Inherit Is_Ada_2022_Only.
	* sem_prag.adb (Analyze_Pragma): Allow form with argument for
	Ada 2022.
	* sem_type.adb: (Disambiguate): Deal with Is_Ada_2022_Only
	* lib-xref.adb (Generate_Reference): Error on static and
	dispatching calls to Ada 2022 subprograms that require
	overriding if we are not in Ada 2022 mode; warn on other
	references to Ada 2022 entities when not in Ada 2022 mode.
	* sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Inherit
	Ada_2020_Only.
	* libgnat/a-cdlili.ads (Empty): Adding pragma Ada_2022.
	* libgnat/a-cidlli.ads (Empty): Adding pragma Ada_2022.
	* libgnat/a-ciorma.ads (Empty): Adding pragma Ada_2022.
	* libgnat/a-cobove.ads (Empty): Adding pragma Ada_2022.
	* libgnat/a-coorma.ads (Empty): Adding pragma Ada_2022.
	(New_Vector): Adding pragma Ada_2022.
	(Insert_Vector): Adding pragma Ada_2022.
	(Prepend_Vector): Adding pragma Ada_2022.
	(Append_Vector): Adding pragma Ada_2022.

2021-06-17  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch3.adb (Check_Ops_From_Incomplete_Type): Protect against
	no Primitive_Operations.

2021-06-17  Vadim Godunko  <godunko@adacore.com>

	* libgnat/a-strunb__shared.ads (Allocate): Additional parameter
	to provide additional amount of space to be allocated.
	* libgnat/a-strunb__shared.adb (Aligned_Max_Length): Limit
	length to Natural'Last when requested length is larger than it.
	(Allocate): Merge two slightly different implementations into
	one.

2021-06-17  Gary Dismukes  <dismukes@adacore.com>

	* checks.adb (Discrete_Range_Cond): For an index subtype that
	has a fixed lower bound, require that the range's lower bound
	match that of the subtype.
	(Selected_Range_Checks): Warn about the case where a static
	lower bound does not equal an index subtype's fixed lower bound.
	* einfo.ads (Is_Fixed_Lower_Bound_Array_Subtype,
	Is_Fixed_Lower_Bound_Index_Subtype): Document new entity flag.
	* exp_ch4.adb (Expand_N_Type_Conversion): If the operand is of
	an unconstrained array subtype with fixed lower bound, then
	Expand_Sliding_Conversion is applied to the operand.
	* exp_ch6.adb (Expand_Simple_Function_Return): If the result
	subtype is an unconstrained array subtype with fixed lower
	bound, then Expand_Sliding_Conversion is applied to the return
	object.
	* exp_util.ads (Expand_Sliding_Conversion): New procedure for
	applying a sliding subtype conversion to an array object of a
	fixed-lower-bound subtype when needed.
	* exp_util.adb: Add with_clause for Freeze.
	(Expand_Sliding_Conversion): New procedure for applying a
	sliding subtype conversion to an array object of a
	fixed-lower-bound subtype when needed.  It traverses the indexes
	of the unconstrained array type/subtype to create a target
	constrained subtype and rewrites the array object to be a
	conversion to that subtype, when there's at least one index
	whose lower bound does not statically match the fixed-lower
	bound of the target subtype.
	* gen_il-fields.ads (type Opt_Field_Enum): Add literals
	Is_Fixed_Lower_Bound_Array_Subtype and
	Is_Fixed_Lower_Bound_Index_Subtype for new flags on type
	entities.
	* gen_il-gen-gen_entities.adb: Add calls to
	Create_Semantic_Field for the new fixed-lower-bound flags on
	type entities.
	* par-ch3.adb (P_Array_Type_Definition): Add handling for
	parsing of fixed-lower-bound index ranges in unconstrained array
	types. Report an error if such an index is encountered and GNAT
	language extensions are not enabled.
	(P_Index_Subtype_Def_With_Fixed_Lower_Bound): Support procedure
	for parsing unconstrained index ranges.
	(P_Index_Or_Discriminant_Constraint): Add handling for parsing
	of index constraints that specify ranges with fixed lower
	bounds. Report an error if such an index is encountered and GNAT
	language extensions are not enabled.
	* sem_ch3.adb (Analyze_Object_Declaration): If the object's
	nominal subtype is an array subtype with fixed lower bound, then
	Expand_Sliding_Conversion is applied to the object.
	(Array_Type_Declaration): Mark the array type and the subtypes
	of any indexes that specify a fixed lower bound as being
	fixed-lower-bound subtypes, and set the High_bound of the range
	of such an index to the upper bound of the named subtype.
	(Constrain_Array): For an array subtype with one or more index
	ranges specifying a fixed lower bound, set Is_Constrained to
	False and set the array subtype's
	Is_Fixed_Lower_Bound_Array_Subtype flag to True.
	(Constrain_Index): Mark the subtypes of an index that specifies
	a fixed lower bound as being a fixed-lower-bound index subtype,
	and set the High_bound of the range of such an index to the
	upper bound of the base type of the array type's corresponding
	index.
	* sem_res.adb (Resolve_Actuals): If a formal is of an
	unconstrained array subtype with fixed lower bound, then
	Expand_Sliding_Conversion is applied to the actual.
	* sem_util.adb (Build_Actual_Subtype): If the actual subtype
	corresponds to an unconstrained array subtype having any indexes
	with fixed lower bounds, then set the lower bounds of any such
	indexes of the actual subtype to the appropriate fixed lower
	bound of the formal subtype (rather than taking it from the
	formal itself).
	* sprint.adb (Sprint_Node_Actual, case N_Range): If a range's
	Etype has a fixed lower bound, then print "<>" rather than the
	High_Bound of the range.

2021-06-17  Bob Duff  <duff@adacore.com>

	* sem_util.adb, sem_util.ads (Has_Access_Values): New formal
	Include_Internal to indicate whether internal types should be
	included.
	* sem_warn.adb (Check_References): Change E_Out_Parameter to
	Formal_Kind, to match the comment about Spec_Entity.  Pass
	Include_Internal => False to Has_Access_Values, so that we warn
	on types with access values that happen to be in internal types,
	such as Unbounded_String.
	* sem_attr.adb (Attribute_Has_Access_Values): Pass
	Include_Internal => True to Has_Access_Values, to preserve
	existing behavior.
	* libgnat/g-rewdat.adb (Do_Output): Change B from 'in out' to
	'in', to avoid warning enabled by the change to sem_warn.adb.
	* libgnat/s-objrea.adb (Check_Read_Offset): Change S from 'in
	out' to 'in', to avoid warning enabled by the change to
	sem_warn.adb.

2021-06-17  Steve Baird  <baird@adacore.com>

	* exp_ch5.adb
	(Expand_N_Case_Statement.Expand_General_Case_Statement): New
	subprogram.
	(Expand_N_Case_Statement): If extensions are allowed and the
	case selector is not of a discrete type, then call
	Expand_General_Case_Statement to generate expansion instead of
	flagging the non-discrete selector as an error.
	* sem_case.ads (Is_Case_Choice_Pattern): New Boolean-valued
	function for testing whether a given expression occurs as part
	of a case choice pattern.
	* sem_case.adb (Composite_Case_Ops): New package providing
	support routines for the new form of case statements. This
	includes a nested package, Composite_Case_Ops.Value_Sets, which
	encapsulates the "representative values" implementation of
	composite value sets.
	(Check_Choices.Check_Case_Pattern_Choices): New procedure for
	semantic checking of non-discrete case choices. This includes
	the checks pertaining to coverage and overlapping.
	(Check_Choices.Check_Composite_Case_Selector): New procedure for
	semantic checking of non-discrete case selectors.
	(Check_Choices): If extensions are allowed then a non-discrete
	selector type no longer implies that an error must have been
	flagged earlier.  Instead of simply returning, call
	Check_Composite_Case_Selector and Check_Case_Pattern_Choices.
	(Is_Case_Choice_Pattern): Body of new function declared in
	sem_case.ads .
	* sem_ch5.adb (Analyze_Case_Statement): If extensions are
	allowed, then we can't use RM 5.4's "The selecting_expression is
	expected to be of any discrete type" name resolution rule.
	Handle the case where the type of the selecting expression is
	not discrete, as well as the new ambiguous-name-resolution error
	cases made possible by this change.
	* sem_res.adb (Resolve_Entity_Name): It is ok to treat the name
	of a type or subtype as an expression if it is part of a case
	choice pattern, as in "(Field1 => Positive, Field2 => <>)".
	* exp_aggr.adb (Expand_Record_Aggregate): Do not expand case
	choice aggregates.
	* gen_il-fields.ads: Define two new node attributes,
	Binding_Chars and Multidefined_Bindings.
	* gen_il-gen-gen_nodes.adb: The new Multidefined_Bindings
	attribute is Boolean-valued and may be set on
	N_Case_Statement_Alternative nodes. The new Binding_Chars
	attribute is Name_Id-valued and may be set on
	N_Component_Association nodes.
	* par-ch4.adb (P_Record_Or_Array_Component_Association): When
	parsing a component association, check for both new syntax forms
	used to specify a bound value in a case-choice aggregate.  In
	the case of a box value, an identifier may occur within the box,
	as in "Foo => <Abc>" instead of "Foo => <>". In the more general
	case, an expression (or a box) may be followed by "is
	<identifier>", as in
	"Foo => Bar is Abc" instead of just "Foo => Bar".
	* sem_aggr.adb (Resolve_Record_Aggregate): Do not transform box
	component values in a case-choice aggregate.
	* sinfo.ads: Provide comments for the new attributes added in
	gen_il-fields.ads.
	* doc/gnat_rm/implementation_defined_pragmas.rst: Describe this
	new feature in documentation for pragma Extensions_Allowed.
	* gnat_rm.texi: Regenerate.

2021-06-17  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action):
	Do not abandon processing on a nested N_Expression_With_Actions
	or N_Loop_Statement, otherwise we may miss some transient
	declarations.

2021-06-17  Arnaud Charlet  <charlet@adacore.com>

	* exp_util.adb (Find_Hook_Context): Do not stop on an aggregate
	node.

2021-06-17  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Is_Valid_Renaming): Check not only indexed
	components, but slices too.

2021-06-17  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Check
	No_Wide_Characters restriction after rejecting illegal parent
	types.
	(Derived_Type_Declaration): Likewise.
	(Find_Type_Of_Subtype_Indic): Remove check for
	No_Wide_Characters restriction, which was done too early.

2021-06-17  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Is_Valid_Renaming): Body moved from its nested
	routine.

2021-06-17  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch12.adb (Instantiate_Type): If the actual type for an
	incomplete formal type is also incomplete, but has a Full_View,
	use the Full_View of the actual type rather than the incomplete
	view.

2021-06-17  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst
	(-gnatw.I): Remove double period at the end of sentence.
	* gnat_ugn.texi: Regenerate.

2021-06-17  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Denotes_Same_Object): Call Get_Index_Bounds with
	the range of a slice object, not its type.

2021-06-17  Piotr Trojanek  <trojanek@adacore.com>

	* sem_warn.adb (Warn_On_Overlapping_Actuals): Fix style;
	refactor repeated calls to Nkind; remove early RETURN.

2021-06-17  Piotr Trojanek  <trojanek@adacore.com>

	* sem_warn.adb (Warn_On_Overlapping_Actuals): Ignore formal of
	generic types, but keep examining other parameters.

2021-06-17  Piotr Trojanek  <trojanek@adacore.com>

	* sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead code.

2021-06-17  Piotr Trojanek  <trojanek@adacore.com>

	* sem_warn.adb (Warn_On_Overlapping_Actuals): Remove repeated
	code.

2021-06-17  Piotr Trojanek  <trojanek@adacore.com>

	* checks.adb (Overlap_Check): Replace Set_Casing with
	Adjust_Name_Case and adapt surrounding code as needed.

2021-06-17  Arnaud Charlet  <charlet@adacore.com>

	* libgnat/s-putaim.ads, libgnat/s-putaim.adb: Move...
	* libgnarl/s-putaim.ads, libgnarl/s-putaim.adb: ... here.

2021-06-17  Arnaud Charlet  <charlet@adacore.com>

	* uintp.ads, uintp.adb (UI_To_Unsigned_64): New.

2021-06-17  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Get_Overflow_Mode): Reword error message.
	* switch-c.adb (Get_Overflow_Mode): Likewise.

2021-06-17  Richard Kenner  <kenner@adacore.com>

	* exp_util.adb (Expand_Static_Predicates_In_Choices): Handle
	Others_Discrete_Choices in N_Others_Choice.

2021-06-17  Arnaud Charlet  <charlet@adacore.com>

	* atree.adb: Remove redundant comment with spec.
	* sem_warn.adb: Fix typo in comment.

2021-06-17  Arnaud Charlet  <charlet@adacore.com>

	* atree.adb: Do not suppress checks.

2021-06-17  Justin Squirek  <squirek@adacore.com>

	* exp_ch3.adb (Check_Missing_Others): Add comment.
	(Build_Initialization_Call): Remove inaccurate accessibility
	comment.
	* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Remove
	test for Ada2012.
	(Analyze_Package_Instantiation): Remove speculative comment.
	(Inline_Instance_Body): Add comments for loops.
	(Build_Subprogram_Renaming): Remove comment about fix being
	partial and "ugly."
	(Instantiate_Subprogram_Body): Remove comment referencing DEC
	related internal issue.
	(Subtypes_Match): Add comment and simplify anonymous access
	test.
	(Is_Global): Add test for when E is an expanded name, and
	calculate the scope accordingly.
	* sem_ch6.adb (Analyze_Function_Return): Update comment
	regarding accessibility, and add check for
	Warn_On_Ada_2012_Compatibility.
	(Mask_Type_Refs): Add comments.
	(Analyze_Subprogram_Declaration): Remove mysterious suppression
	of elaboration checks.
	* sem_ch7.adb (Preserve_Full_Attributes): Preserve Is_Atomic
	value.
	* sem_ch8.adb (Most_Descendant_Use_Clause): Remove comment.
	(Note_Redundant_Use): Fix calls to Find_First_Use to be
	Find_Most_Prev.
	(Get_Object_Name): Modify error message to be more descriptive.
	(Known_But_Visible): Remove mysterious special case for
	GNAT_Mode.
	(Find_First_Use): Removed.
	(Find_Most_Prev): Renamed from Find_First_Use.
	* sem_prag.adb (Check_Static_Constraint): Add comments to
	routine.

2021-06-17  Bob Duff  <duff@adacore.com>

	* treepr.adb (Print_Node): Display the Entity or Associated_Node
	fields if appropriate.
	* sinfo-utils.ads (F_Associated_Node, F_Entity): Remove. These
	are no longer needed.

2021-06-17  Piotr Trojanek  <trojanek@adacore.com>

	* checks.adb (Apply_Parameter_Aliasing_Checks): Replace calls to
	Is_Object_Reference with calls to Is_Name_Reference; remove
	asymmetric condition that only detected an aggregate as the
	first actual (aggregate objects were just a special case of an
	object reference that was not a name).

2021-06-17  Bob Duff  <duff@adacore.com>

	* gen_il-gen.adb, gen_il-internals.ads: Generate field
	enumeration literals with "F_" prefix.  Update all generated
	references accordingly.
	* atree.adb, einfo-utils.adb, sem_ch3.adb, sem_ch5.adb,
	sem_ch6.adb, sem_ch8.adb, sinfo-cn.adb, sinfo-utils.adb,
	sinfo-utils.ads, treepr.adb: Add "F_" prefix to all uses of the
	field enumeration literals.

2021-06-17  Arnaud Charlet  <charlet@adacore.com>

	* libgnat/i-c.ads, libgnat/i-cexten.ads,
	libgnat/i-cexten__128.ads: bool renamed C_bool.

2021-06-17  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch4.adb (Analyze_Allocator): Reject allocators in
	restricted contexts.

2021-06-17  Arnaud Charlet  <charlet@adacore.com>

	* gcc-interface/Make-lang.in: Use libgnat.so if libgnat.a cannot
	be found.

2021-06-16  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Is_Volatile_Function): Follow the exact wording
	of SPARK (regarding volatile functions) and Ada (regarding
	protected functions).

2021-06-16  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Is_OK_Volatile_Context): All references to
	volatile objects are legal in preanalysis.
	(Within_Volatile_Function): Previously it was wrongly called on
	Empty entities; now it is only called on E_Return_Statement,
	which allow the body to be greatly simplified.

2021-06-16  Yannick Moy  <moy@adacore.com>

	* sem_res.adb (Set_Slice_Subtype): Revert special-case
	introduced previously, which is not needed as Itypes created for
	slices are precisely always used.

2021-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* urealp.adb (Scale): Change first paramter to Uint and adjust.
	(Equivalent_Decimal_Exponent): Pass U.Den directly to Scale.
	* libgnat/s-exponr.adb (Negative): Rename to...
	(Safe_Negative): ...this and change its lower bound.
	(Exponr): Adjust to above renaming and deal with Integer'First.

2021-06-16  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Flag_Effectively_Volatile_Objects): Detect also
	allocators within restricted contexts and not just entity names.
	(Resolve_Actuals): Remove duplicated code for detecting
	restricted contexts; it is now exclusively done in
	Is_OK_Volatile_Context.
	(Resolve_Entity_Name): Adapt to new parameter of
	Is_OK_Volatile_Context.
	* sem_util.ads, sem_util.adb (Is_OK_Volatile_Context): Adapt to
	handle contexts both inside and outside of subprogram call
	actual parameters.
	(Within_Subprogram_Call): Remove; now handled by
	Is_OK_Volatile_Context itself and its parameter.

2021-06-16  Piotr Trojanek  <trojanek@adacore.com>

	* sinput.adb (Sloc_Range): Refactor several repeated calls to
	Sloc and two comparisons with No_Location.

2021-06-16  Piotr Trojanek  <trojanek@adacore.com>

	* checks.adb (Apply_Scalar_Range_Check): Fix handling of check depending
	on the parameter passing mechanism.  Grammar adjustment ("has"
	=> "have").
	(Parameter_Passing_Mechanism_Specified): Add a hyphen in a comment.

2021-06-16  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.adb (Build_Slice_Assignment): Remove unused
	initialization.

2021-06-16  Piotr Trojanek  <trojanek@adacore.com>

	* restrict.adb, sem_attr.adb, types.ads: Fix typos in
	"occuring"; refill comment as necessary.

2021-06-16  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.ads (Is_Actual_Parameter): Update comment.
	* sem_util.adb (Is_Actual_Parameter): Also detect entry parameters.

2021-06-16  Arnaud Charlet  <charlet@adacore.com>

	* rtsfind.ads, libgnarl/s-taskin.ads, exp_ch3.adb, exp_ch4.adb,
	exp_ch6.adb, exp_ch9.adb, sem_ch6.adb: Move master related
	entities to the expander directly.

2021-06-16  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Is_Assignment_Or_Object_Expression): Whitespace
	cleanup.
	(Is_Attribute_Expression): Prevent AST climbing from going to
	the root of the compilation unit.

2021-06-16  Steve Baird  <baird@adacore.com>

	* doc/gnat_rm/implementation_advice.rst: Add a section for RM
	A.18 .
	* gnat_rm.texi: Regenerate.

2021-06-16  Justin Squirek  <squirek@adacore.com>

	* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Add
	check for the mixing of entries.

2021-06-16  Justin Squirek  <squirek@adacore.com>

	* sem_ch13.adb (Make_Aitem_Pragma): Check for static expressions
	in Priority aspect arguments for restriction Static_Priorities.

2021-06-16  Justin Squirek  <squirek@adacore.com>

	* sem_util.adb (Accessibility_Level): Take into account
	renamings of loop parameters.

2021-06-16  Matthieu Eyraud  <eyraud@adacore.com>

	* par_sco.adb (Set_Statement_Entry): Change sloc for dominance
	marker.
	(Traverse_One): Fix typo.
	(Output_Header): Fix comment.

2021-06-16  Richard Kenner  <kenner@adacore.com>

	* exp_unst.adb (Register_Subprogram): Don't look for aliases for
	subprograms that are generic.  Reorder tests for efficiency.

2021-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb (Incomplete_Or_Partial_View): Retrieve the scope of
	the parameter and use it to find its incomplete view, if any.

2021-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* freeze.adb (Check_No_Parts_Violations): Return earlier if the
	type is elementary or does not come from source.

2021-06-16  Bob Duff  <duff@adacore.com>

	* ghost.adb: Add another special case where full analysis is
	needed. This bug is due to quirks in the way
	Mark_And_Set_Ghost_Assignment works (it happens very early,
	before name resolution is done).

2021-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb (Current_Entity_In_Scope): Reimplement.

2021-06-16  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch8.adb (End_Scope): Remove extra parens.

2021-06-16  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Build_Class_Wide_Check): Ensure that evaluation
	of actuals is side effects free (since the check duplicates
	actuals).

2021-06-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Raise_Expression): Apply Ada_2020 rules
	concerning the need for parentheses around Raise_Expressions in
	various contexts.

2021-06-16  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch13.adb (Validate_Unchecked_Conversion): Move detection
	of generic types before switching to their private views; fix
	style in using AND THEN.

2021-06-16  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch3.adb (Analyze_Component_Declaration): Do not special
	case raise expressions.

2021-06-16  Sergey Rybin  <rybin@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
	Instead of referring to the formatting of the Ada examples in
	Ada RM add use the list of checks that are actually performed.
	* gnat_ugn.texi: Regenerate.

2021-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* initialize.c: Do not include vxWorks.h and fcntl.h from here.
	(__gnat_initialize) [__MINGW32__]: Remove #ifdef and attribute
	(__gnat_initialize) [init_float]: Delete.
	(__gnat_initialize) [VxWorks]: Likewise.
	(__gnat_initialize) [PA-RISC HP-UX 10]: Likewise.
	* runtime.h: Add comment about vxWorks.h include.

2021-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-except.ads (ZCX_By_Default): Delete.
	(Require_Body): Likewise.
	* libgnat/s-except.adb: Replace body with pragma No_Body.

2021-06-15  Steve Baird  <baird@adacore.com>

	* exp_util.adb (Kill_Dead_Code): Generalize the existing
	handling of if statements to handle case statements similarly.

2021-06-15  Eric Botcazou  <ebotcazou@adacore.com>

	* raise.h (_gnat_builtin_longjmp): Delete.
	(set_gnat_exit_status): Likewise.

2021-06-15  Piotr Trojanek  <trojanek@adacore.com>

	* exp_util.adb (Possible_Side_Effect_In_SPARK): Handle component
	declaration just like full type and subtype declarations.

2021-06-15  Yannick Moy  <moy@adacore.com>

	* errout.adb (First_And_Last_Node): Also apply to arbitrary late
	declarations, not only subprogram specs.

2021-06-15  Bob Duff  <duff@adacore.com>

	* sem_ch3.adb (Make_Class_Wide_Type): Make sure all the calls to
	Reinit_Field_To_Zero are for the correct Ekinds.

2021-06-15  Bob Duff  <duff@adacore.com>

	* aspects.ads (No_Task_Parts): New aspect.
	* snames.ads-tmpl: Add the aspect name.
	* exp_ch6.adb (Might_Have_Tasks): Return False if this is a
	class-wide type whose specific type has No_Task_Parts.
	* freeze.adb (Check_No_Parts_Violations): This is an adaptation
	of the procedure formerly known as
	Check_No_Controlled_Parts_Violations, which now supports both
	No_Controlled_Parts and No_Task_Parts.  It takes a parameter
	indicating which aspect is being checked.
	(Freeze_Entity): Call Check_No_Parts_Violations for both
	aspects.
	* sem_ch13.adb (Analyze_Aspect_Specifications): The code for
	Aspect_No_Controlled_Parts already works as is with
	Aspect_No_Task_Parts.
	* libgnat/a-iteint.ads: Add No_Task_Parts aspect to the two
	iterator iterfaces.
	* doc/gnat_rm/implementation_defined_aspects.rst: Add
	documentation for the No_Task_Parts aspect.
	* gnat_rm.texi: Regenerate.

2021-06-15  Arnaud Charlet  <charlet@adacore.com>

	* exp_unst.adb (Unnest_Subprogram.Build_Table.Visit_Node): Fix
	handling of scopes for subprogram calls.

2021-06-15  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb: Fix typos in comments related to access types.
	* sem_util.adb (Is_Access_Variable): Stronger condition.

2021-06-15  Arnaud Charlet  <charlet@adacore.com>

	* Make-generated.in: Add rule to copy runtime files needed
	during stage1.
	* raise.c: Remove obsolete symbols used during bootstrap.
	* gcc-interface/Make-lang.in: Do not use libgnat sources during
	stage1.
	(GNAT_ADA_OBJS, GNATBIND_OBJS): Split in two parts, the common
	part and the part only used outside of stage1.
	(ADA_GENERATED_FILES): Add runtime files needed during bootstrap
	when recent APIs are needed.
	(ada/b_gnatb.adb): Remove prerequisite.
	* gcc-interface/system.ads: Remove obsolete entries.

2021-06-15  Eric Botcazou  <ebotcazou@adacore.com>

	* raise-gcc.c (__gnat_personality_seh0): Use PERSONALITY_FUNCTION.

2021-06-15  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Is_Confirming): Separate the handling of
	Implicit_Dereference, for which no pragma is generated but which
	is already checked for legality in Sem_Ch13, including renamed
	discriminants in a derived type.
	(Is_Confirming, Same_Name): For expanded names, only check
	matching of selector, because prefix may correspond to original
	and derived types with different names and/or scopes. Semantic
	checks on aspect expression have already verified its legality.
	Add comments regarding possible gaps in RM description of the
	feature.

2021-06-15  Gary Dismukes  <dismukes@adacore.com>

	* freeze.adb (Freeze_Subprogram): Don't propagate conventions
	Intrinsic or Entry to anonymous access-to-subprogram types
	associated with subprograms having those conventions. Update
	related comment.
	* sem_attr.adb (Resolve_Attribute, Attribute_*Access): Remove
	special-case warning code for cases where a called subprogram
	has convention Intrinsic as well as its formal's type (the
	expected type for the Access attribute), since this case can no
	longer occur.

2021-06-15  Piotr Trojanek  <trojanek@adacore.com>

	* exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Fix
	typos.

2021-06-15  Bob Duff  <duff@adacore.com>

	* einfo-utils.adb (Known_Component_Size,
	Known_Static_Component_Size, Unknown_Component_Size): Use
	Implementation_Base_Type instead of Base_Type.

2021-06-15  Bob Duff  <duff@adacore.com>

	* gen_il-gen-gen_entities.adb (E_Loop_Parameter): Add
	Interface_Name field.

2021-06-15  Bob Duff  <duff@adacore.com>

	* sem_cat.adb (Check_Non_Static_Default_Expr): Allow nonstatic
	expression in predefined unit with pragma Preelaborate.

2021-06-15  Yannick Moy  <moy@adacore.com>

	* doc/gnat_rm/intrinsic_subprograms.rst: More details on shift
	operations for signed types. Also add the missing Import and
	Convention on the example.
	* gnat_rm.texi: Regenerate.

2021-06-15  Eric Botcazou  <ebotcazou@adacore.com>

	* raise-gcc.c: Include <cstdarg> instead of <stdarg.h> in C++.
	Include <stdbool.h> and unconditionally <stdlib.h> in C.

2021-06-15  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.ads (Find_Overlaid_Entity): Simplify comment for
	spec.
	* sem_util.adb (Find_Overlaid_Entity): Remove defensive code
	from body.

2021-06-15  Eric Botcazou  <ebotcazou@adacore.com>

	* argv.c: Add include of <stdlib.h> for the runtime.
	(gnat_argv): Change type to char ** and initialize to NULL.
	(gnat_envp): Likewise.
	* argv-lynxos178-raven-cert.c: Add include of <stdlib.h>.
	(gnat_argv): Change type to char ** and initialize to NULL.
	(gnat_envp): Likewise.

2021-06-15  Bob Duff  <duff@adacore.com>

	* gen_il-gen.adb (Setter_Needs_Parent): Add missing
	Then_Actions.  Fix self-contradictory comment.
	* exp_util.adb (Insert_Actions): Minor comment improvments.

2021-06-15  Arnaud Charlet  <charlet@adacore.com>

	* sem_eval.adb (Eval_Logical_Op, Test_Expression_Is_Foldable):
	Add support for folding more "and"/"or" expressions.
	* exp_util.adb (Side_Effect_Free): Fix handling of membership
	tests.

2021-06-15  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Resolve_Actual): Replace repeated calls to
	"Etype (F)" with references to "F_Typ", which keeps the results
	of exactly that call.

2021-06-15  Bob Duff  <duff@adacore.com>

	* gen_il-gen.adb (To_Bit_Offset): Use 'Base to avoid overflow in
	computations in Last_Bit when Offset = 'Last.
	(Choose_Offset): Give a better error message when we run out of
	fields.  In particular, point out that
	Gen_IL.Internals.Bit_Offset'Last needs to be increased.

2021-06-15  Bob Duff  <duff@adacore.com>

	* atree.ads, einfo-utils.ads, einfo-utils.adb, fe.h, gen_il.adb,
	gen_il.ads, gen_il-gen-gen_entities.adb,
	gen_il-gen-gen_nodes.adb, sem_ch12.adb, sem_ch3.adb,
	sem_util.adb, sinfo-utils.ads, treepr.adb, types.ads: Clean up
	??? comments and other comments.
	* atree.adb: Clean up ??? comments and other comments.
	(Validate_Node): Fix bug: "Off_0 (N) < Off_L (N)"
	should be "Off_0 (N) <= Off_L (N)".
	* gen_il-gen.adb, gen_il-gen.ads: Clean up ???
	comments and other comments.  Add support for getter-specific
	and setter-specific preconditions.  Detect the error of putting
	a field in the wrong subrange.  Misc cleanup.
	(Node_Field vs. Entity_Field): Clean up Nmake.  Improve
	comments.
	* gen_il-utils.ads: Misc cleanup. Move...
	* gen_il-internals.ads: ... here.
	* gen_il-utils.adb: Misc cleanup. Move...
	* gen_il-internals.adb: ... here.
	* gen_il-fields.ads: Move Was_Default_Init_Box_Association,
	which was in the wrong subrange.  Add comments.  Misc cleanup.
	* gen_il-types.ads: Add Named_Access_Kind.
	* sinfo-cn.adb: Clean up ??? comments and other comments.
	Remove redundant assertions.
	* einfo.ads, sinfo.ads: Clean up ??? comments and other
	comments.  Remove all the comments indicating field offsets.
	These are obsolete now that Gen_IL computes the offsets
	automatically.

2021-06-15  Arnaud Charlet  <charlet@adacore.com>

	* einfo.ads, errout.adb, errout.ads, exp_aggr.adb, exp_ch5.adb,
	exp_ch6.adb, exp_ch8.adb, exp_ch9.adb, exp_imgv.adb,
	exp_put_image.adb, fe.h, impunit.adb, impunit.ads,
	libgnat/a-cobove.ads, libgnat/a-convec.ads, opt.ads,
	par-ch12.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
	par-ch6.adb, par-prag.adb, par-util.adb, scans.ads, scng.adb,
	sem_aggr.adb, sem_attr.adb, sem_ch10.adb, sem_ch12.adb,
	sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb,
	sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb,
	sem_res.adb, sem_type.adb, sem_util.adb, sem_util.ads,
	sinfo.ads, snames.ads-tmpl, sprint.adb, switch-c.adb, usage.adb,
	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
	doc/gnat_rm/implementation_defined_aspects.rst,
	gcc-interface/trans.c: Update all references to Ada 2020 to Ada
	2022. Rename pragma Ada_2020 to Ada_2022.  Update documentation
	accordingly.
	* gnat_ugn.texi, gnat_rm.texi: Regenerate.

2021-06-15  Steve Baird  <baird@adacore.com>

	* sem_util.adb (Gather_Components): Factor the test that was
	already being used to govern emitting a pre-Ada_2020 error
	message into an expression function,
	OK_Scope_For_Discrim_Value_Error_Messages. Call that new
	function in two places: the point where the same test was being
	performed previously, and in governing emission of a newer
	Ada_2020 error message. In both cases, the out-mode parameter
	Gather_Components.Report_Errors is set to True even if no error
	messages are generated within Gather_Components.
	* sem_util.ads: Correct a comment.

2021-06-15  Richard Kenner  <kenner@adacore.com>

	* sem_ch3.adb (Array_Type_Declaration, Build_Derived_Type):
	Reinitialize Stored_Constraint when needed.
	(Set_Modular_Size): Likewise.
	* atree.adb: (Check_Vanishing_Fields): Add node id to debugging
	information.

2021-06-15  Bob Duff  <duff@adacore.com>

	* sem_util.adb (Propagate_Invariant_Attributes): Call
	Set_Has_Own_Invariants on the base type, because these are
	Base_Type_Only. The problem is that the base type of a type is
	indeed a base type when Set_Base_Type is called, but then the
	type is mutated into a subtype in rare cases.
	* atree.ads, atree.adb (Is_Entity): Export. Correct subtype of
	parameter in body.
	* gen_il-gen.adb: Improve getters so that "Pre => ..." can refer
	to the value of the field. Put Warnings (Off) on some with
	clauses that are not currently used, but might be used by such
	Pre's.

2021-06-15  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch3.adb (Access_Type_Declaration): Add comments to explain
	the ordering of Mutate_Kind and Set_Directly_Designated_Type;
	remove temporary setting of Ekind to E_Access_Type for building
	_master objects, since now the Ekind is already set to its final
	value. Move repeated code into Setup_Access_Type routine and use
	it so that Process_Subtype is executed before mutating the kind
	of the type entity.
	* gen_il-gen-gen_entities.adb (Gen_Entities): Remove
	Directly_Designated_Type from E_Void, E_Private_Record,
	E_Limited_Private_Type and Incomplete_Kind; now it only belongs
	to Access_Kind entities.
	* sem_util.adb: Minor reformatting.

2021-06-03  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Add PAT
	local constant and use it throughout.  If it is set, use a ref-all
	pointer type for the pointer-to-array field of the fat pointer type.
	<E_Array_Subtype>: Add PAT local constant and use it throughout.

2021-05-26  Jakub Jelinek  <jakub@redhat.com>

	* init.c (__gnat_error_handler): Remove register keyword.

2021-05-25  Martin Liska  <mliska@suse.cz>

	* doc/share/conf.py: Fix Sphinx 4.0.x error.

2021-05-21  Piotr Trojanek  <trojanek@adacore.com>

	* gcc-interface/trans.c (Raise_Error_to_gnu): Add an assertion.

2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils.c (gnat_pushdecl): Fix typo in comment.
	* gcc-interface/utils2.c (build_simple_component_ref): Build NULL_EXPR
	if the offset of the field has overflowed.
	(build_component_ref): Add gigi checking assertion that the reference
	has been built and replace the discriminant check by a Program_Error.

2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Named_Integer>: Do
	not pass default value in call to create_var_decl.
	<E_Variable>: Likewise.
	<E_Record_Subtype>: Both pass true for const_flag and false for
	const_decl_allowed_p in call to create_var_decl.
	Small tweaks in the generic record type case.
	(elaborate_expression): Rename need_debug into need_for_debug and
	adjust throughout.
	(elaborate_expression_1): Likewise.  Pass Needs_Debug_Info instead
	of need_for_debug in call to create_var_decl.
	(elaborate_expression_2): Likewise.
	* gcc-interface/utils.c (maybe_pad_type): Pass false for
	const_decl_allowed_p in call to create_var_decl.

2021-05-21  Ghjuvan Lacambre  <lacambre@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity): Replace ? with ??.
	(gnat_to_gnu_param): Likewise.
	(gnat_to_gnu_subprog_type): Likewise.
	(warn_on_field_placement): Likewise.
	(intrin_arglists_compatible_p): Likewise.
	* gcc-interface/trans.c (Pragma_to_gnu): Likewise.
	(gnat_to_gnu): Likewise.
	(validate_unchecked_conversion): Likewise.
	* gcc-interface/utils.c (maybe_pad_type): Likewise.

2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Process
	the implementation type of a packed type implemented specially.

2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_subprog_type): Always translate
	the Is_Pure flag into the "pure" attribute of GNU C.

2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (Call_to_gnu): Restrict previous change
	to bitfields whose size is not equal to the type size.
	(gnat_to_gnu): Likewise.

2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (Call_to_gnu): Minor tweaks.
	(gnat_to_gnu_external): Likewise.
	(Raise_Error_to_gnu): Return an empty statement list if there is a
	condition and it is always false.
	(gnat_to_gnu): Do not check for elaboration code a priori during the
	translation but a posteriori instead.

2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>:
	Put a SLOC on the assignment from the return value to the return
	object in the copy-in/copy-out case.

2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Replace
	CEIL_DIV_EXPR with EXACT_DIV_EXPR.
	* gcc-interface/misc.c (gnat_type_max_size): Likewise.
	* gcc-interface/utils.c (maybe_pad_type): Likewise.
	(finish_record_type): Likewise.  And always compute the unit size.

2021-05-14  Martin Liska  <mliska@suse.cz>

	* doc/Makefile: Add gnat-style target.
	* doc/share/conf.py: Likewise.
	* doc/gnat-style.rst: New file.

2021-05-12  Bob Duff  <duff@adacore.com>

	PR ada/100564
	* atree.adb (Change_Node): Do not call Zero_Slots on a Node_Id
	when the Nkind has not yet been set; call the other Zero_Slots
	that takes a range of slot offsets.  Call the new Mutate_Kind
	that takes an Old_Size, for the same reason -- the size cannot
	be computed without the Nkind.
	(Mutate_Nkind): New function that allows specifying the Old_Size.
	(Size_In_Slots): Assert that the Nkind has proper (nonzero) value.
	* atree.ads: Minor reformatting.

2021-05-12  Martin Liska  <mliska@suse.cz>

	* doc/share/conf.py: Do not use binary mode.
	Do not use u' literals as Python3 uses unicode by default.

2021-05-11  Martin Liska  <mliska@suse.cz>

	* gcc-interface/ada-tree.h (BUILT_IN_LIKELY): Use builtins
	from COROUTINES.
	(BUILT_IN_UNLIKELY): Likewise.

2021-05-11  Eric Botcazou  <ebotcazou@adacore.com>

	* gnatvsn.adb (Version_String): Rename to...
	(C_Version_String): ...this.
	(Gnat_Version_String): Adjust to above renaming.
	* version.c : Fix formatting glitches.

2021-05-10  Martin Liska  <mliska@suse.cz>

	PR bootstrap/100506
	* Make-generated.in: Replace version.c with ada/version.c.
	* gcc-interface/Make-lang.in: Add version.o to GNAT1_C_OBJS and
	GNATBIND_OBJS.
	* gcc-interface/Makefile.in: Replace version.c with ada/version.c.
	Add version.o to TOOLS_LIBS.
	* gnatvsn.adb: Replace version_string with gnat_version_string.
	* version.c: New file.

2021-05-10  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo-utils.ads (Classification Attributes): Add pragma Inline.
	(Synthesized Attribute Functions): Move pragma Inline around.
	(Type Representation Attribute Predicates): Likewise.
	(Field Initialization Routines): Likewise.
	(Miscellaneous Subprogram): Likewise.

2021-05-10  Eric Botcazou  <ebotcazou@adacore.com>

	* atree.ads (Slot): Remove pragma Provide_Shift_Operators.
	(Shift_Left): New intrinsic function.
	(Shift_Right): Likewise.
	* atree.adb (Get_1_Bit_Val): Use Natural instead of Integer.
	(Get_2_Bit_Val): Likewise.
	(Get_4_Bit_Val): Likewise.
	(Get_8_Bit_Val): Likewise.
	(Set_1_Bit_Val): Likewise.
	(Set_2_Bit_Val): Likewise.
	(Set_4_Bit_Val): Likewise.
	(Set_8_Bit_Val): Likewise.

2021-05-10  Eric Botcazou  <ebotcazou@adacore.com>

	* atree.adb (Zero_Slots): Remove obsolete comment and add header.

2021-05-10  Eric Botcazou  <ebotcazou@adacore.com>

	* atree.h (Get_32_Bit_Field): Tidy up.
	(Get_32_Bit_Field_With_Default): Likewise.

2021-05-10  Eric Botcazou  <ebotcazou@adacore.com>

	* Make-generated.in (do_gen_il): Replace with...
	(ada/stamp-gen_il): ...this.  Do not copy files into generated/.

2021-05-10  Martin Liska  <mliska@suse.cz>

	* gcc-interface/utils.c (def_builtin_1): Use startswith
	function instead of strncmp.

2021-05-07  Piotr Trojanek  <trojanek@adacore.com>

	* einfo-utils.adb (Is_Access_Object_Type): Use
	Directly_Designated_Type.
	(Is_Access_Subprogram_Type): Use Directly_Designated_Type.
	(Set_Convention): Use plain Ekind.
	* gen_il-gen-gen_entities.adb (Type_Kind): Use plain Ekind.
	* sem_ch3.adb (Access_Type_Declaration): When seeing an illegal
	completion with an access type don't attempt to decorate the
	completion entity; previously the entity had its Ekind set to
	E_General_Access_Type or E_Access_Type, but its Designated_Type
	was empty, which caused a crash in freezing. (Actually, the
	error recovery in the surrounding context is still incomplete,
	e.g. we will crash when the illegal completion is an access to
	an unknown identifier).

2021-05-07  Bob Duff  <duff@adacore.com>

	* par_sco.adb: Align with/use clauses.
	(Traverse_Declarations_Or_Statements): Minor comment fix.
	* aspects.adb, atree.adb, atree.ads, checks.adb, comperr.adb,
	contracts.adb, cstand.adb, debug_a.adb, einfo-utils.adb,
	errout.adb, eval_fat.adb, exp_aggr.adb, expander.adb,
	exp_atag.adb, exp_attr.adb, exp_cg.adb, exp_ch11.adb,
	exp_ch12.adb, exp_ch13.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_code.adb, exp_dbug.adb, exp_disp.adb,
	exp_dist.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb,
	exp_pakd.adb, exp_prag.adb, exp_put_image.adb, exp_sel.adb,
	exp_smem.adb, exp_spark.adb, exp_strm.adb, exp_tss.adb,
	exp_unst.adb, exp_util.adb, exp_util.ads, freeze.adb,
	frontend.adb, ghost.adb, gnat1drv.adb, gnat_cuda.adb,
	impunit.adb, inline.adb, itypes.adb, itypes.ads, layout.adb,
	lib.adb, lib-load.adb, lib-writ.adb, lib-xref.adb,
	lib-xref-spark_specific.adb, live.adb, nlists.adb, par.adb,
	par-ch11.adb, par-ch3.adb, par-ch5.adb, par-ch6.adb, pprint.adb,
	repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, scn.adb,
	sem.adb, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_case.adb,
	sem_cat.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb,
	sem_ch13.adb, sem_ch2.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_smem.adb,
	sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb,
	sinfo-cn.adb, sinfo-utils.ads, sinput.adb, sinput-l.adb,
	sprint.adb, style.adb, styleg.adb, tbuild.adb, tbuild.ads,
	treepr.adb, uname.adb: Align with/use clauses.

2021-05-07  Bob Duff  <duff@adacore.com>

	* atree.ads, atree.adb, gen_il-gen.ads: Fix comments and clean
	up ???  marks.  Rename Set_Ekind to be Mutate_Ekind.
	* einfo.ads, sinfo.ads: Likewise.  Change "definitive
	definition" to "official definition", because the former sounds
	redundant.  Rename Set_Ekind to be Mutate_Ekind.
	* checks.adb, contracts.adb, cstand.adb, exp_aggr.adb,
	exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch5.adb,
	exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, exp_disp.adb,
	exp_dist.adb, exp_imgv.adb, exp_intr.adb, exp_prag.adb,
	exp_unst.adb, exp_util.adb, gen_il-gen.adb, inline.adb,
	lib-writ.adb, lib-xref-spark_specific.adb, sem_aggr.adb,
	sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb,
	sem_ch3.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
	sem_ch9.adb, sem_dist.adb, sem_elab.adb, sem_prag.adb,
	sem_util.adb: Rename Set_Ekind to be Mutate_Ekind.

2021-05-07  Bob Duff  <duff@adacore.com>

	* atree.adb: Move nnd-related code from here, and leave a
	comment pointing to sinfo-utils.adb.
	* sinfo-utils.ads, sinfo-utils.adb: Move nnd-related code to
	here.

2021-05-07  Piotr Trojanek  <trojanek@adacore.com>

	* einfo.ads: Move Corresponding_Protected_Entry...
	* sinfo.ads: ... here.
	* exp_ch9.adb (Build_Entry_Body): Link procedure and entry
	bodies.
	* gen_il-fields.ads (Opt_Field_Enum): Add
	Corresponding_Entry_Body field to nodes; remove
	Corresponding_Protected_Entry field from entities.
	* gen_il-gen-gen_entities.adb (Gen_Entities): Remove
	Corresponding_Protected_Entry field from E_Void and
	E_Subprogram_Body.
	* gen_il-gen-gen_nodes.adb (Gen_Nodes): Add
	Corresponding_Entry_Body field to N_Subprogram_Body.
	* sem_ch6.adb (Analyze_Subprogram_Specification): Remove
	manipulation of Ekind and Corresponding_Protected_Entry added as
	part of the support for varsize-nodes.

2021-05-07  Bob Duff  <duff@adacore.com>

	* sem_ch3.adb (Process_Incomplete_Dependents): Reset
	Private_Dependents field to zero before calling Set_Ekind.  Also
	move Set_Etype to after Set_Ekind, because it's always best to
	set the Ekind as early as possible.
	* atree.adb: Improve debugging facilities for vanishing fields.

2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>

	* atree.ads (Slot): Change to modular type.
	(Slot_1_Bit): Delete.
	(Slot_2_Bit): Likewise.
	(Slot_4_Bit): Likewise.
	(Slot_8_Bit): Likewise.
	(Slot_32_Bit): Likewise.
	* atree.adb (Get_1_Bit_Val): Adjust to above change.
	(Get_2_Bit_Val): Likewise.
	(Get_4_Bit_Val): Likewise.
	(Get_8_Bit_Val): Likewise.
	(Get_32_Bit_Val): Likewise.
	(Set_1_Bit_Val): Likewise.
	(Set_2_Bit_Val): Likewise.
	(Set_4_Bit_Val): Likewise.
	(Set_8_Bit_Val): Likewise.
	(Set_32_Bit_Val): Likewise.
	(Print_Atree_Info): Likewise.
	(Zero): Likewise.
	* atree.h (Get_1_Bit_Field): Likewise.
	(Get_2_Bit_Field): Likewise.
	(Get_4_Bit_Field): Likewise.
	(Get_8_Bit_Field): Likewise.
	(Get_32_Bit_Field): Likewise.
	(Get_32_Bit_Field_With_Default): Likewise.
	* types.h (slot_1_bit): Delete.
	(slot_2_bit): Likewise.
	(slot_4_bit): Likewise.
	(slot_8_bit): Likewise.
	(slot_32_bit): Likewise.
	(any_slot): Change to unsigned int.
	(Slot_Size): New macro.

2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/gigi.h (enum standard_datatype): Remove
	ADT_exception_data_name_id and add ADT_not_handled_by_others_name_id.
	(exception_data_name_id): Delete.
	(not_handled_by_others_name_id): New macro.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Exception>: Remove old
	kludge for exceptions.
	<E_Record_Type>: Likewise.
	(gnat_to_gnu_field): Force character type on Not_Handled_By_Others.
	* gcc-interface/misc.c (gnat_argv): Change type to char **.
	(gnat_init_options): Adjust accordingly.
	* gcc-interface/trans.c (gigi): Set not_handled_by_others_name_id
	and use it to set not_handled_by_others_decl.
	(Exception_Handler_to_gnu_fe_sjlj): Fix indentation.

2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>

	* raise-gcc.c (__gnat_others_value): Remove const qualifier.
	(__gnat_all_others_value): Likewise.
	(__gnat_unhandled_others_value): Likewise.
	(GNAT_OTHERS): Cast to Exception_Id instead of _Unwind_Ptr.
	(GNAT_ALL_OTHERS): Likewise.
	(GNAT_UNHANDLED_OTHERS): Likewise.
	(Is_Handled_By_Others): Change parameter type to Exception_Id.
	(Language_For): Likewise.
	(Foreign_Data_For): Likewise.
	(is_handled_by): Likewise.  Adjust throughout, remove redundant
	line and fix indentation.
	* libgnat/a-exexpr.adb (Is_Handled_By_Others): Remove pragma and
	useless qualification from parameter type.
	(Foreign_Data_For): Likewise.
	(Language_For): Likewise.

2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-stalib.ads (Exception_Data): Mark components as aliased.
	* stand.ads (Standard_Entity_Type): Enhance comments.
	* cstand.adb (Make_Component): Rename into...
	(Make_Aliased_Component): ...this; set Is_Aliased and Is_Independent
	flags on the component.
	(Create_Standard): Adjust the types of the component of the record
	Standard_Exception_Type and mark them as aliased.
	* exp_ch11.adb (Expand_N_Exception_Declaration): Use OK
	conversion to Standard_Address for Full_Name component, except
	in CodePeer_Mode (set it to 0).
	* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Likewise.
	* raise.h (struct Exception_Data): Change the type of Full_Name,
	HTable_Ptr and Foreign_Data.

2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>

	* atree.h (Slots_Ptr): Change pointed-to type to any_slot.
	* fe.h (Get_RT_Exception_Name): Change type of parameter.
	* namet.ads (Name_Entry): Mark non-boolean components as aliased,
	reorder the boolean components and add an explicit Spare component.
	* namet.adb (Name_Enter): Adjust aggregate accordingly.
	(Name_Find): Likewise.
	(Reinitialize): Likewise.
	* namet.h (struct Name_Entry): Adjust accordingly.
	(Names_Ptr): Use correct type.
	(Name_Chars_Ptr): Likewise.
	(Get_Name_String): Fix declaration and adjust to above changes.
	* types.ads (RT_Exception_Code): Add pragma Convention C.
	* types.h (Column_Number_Type): Fix original type.
	(slot): Rename union type to...
	(any_slot): ...this and adjust assertion accordingly.
	(RT_Exception_Code): New enumeration type.
	* uintp.ads (Uint_Entry): Mark components as aliased.
	* uintp.h (Uints_Ptr):  Use correct type.
	(Udigits_Ptr): Likewise.
	* gcc-interface/gigi.h (gigi): Adjust name and type of parameter.
	* gcc-interface/cuintp.c (UI_To_gnu): Adjust references to Uints_Ptr
	and Udigits_Ptr.
	* gcc-interface/trans.c (Slots_Ptr): Adjust pointed-to type.
	(gigi): Adjust type of parameter.
	(build_raise_check): Add cast in call to Get_RT_Exception_Name.

2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>

	* init.c (__gnat_raise_program_error): Fix parameter type.
	(Raise_From_Signal_Handler): Likewise and mark as no-return.
	* raise-gcc.c (__gnat_others_value): Fix type.
	(__gnat_all_others_value): Likewise.
	(__gnat_unhandled_others_value): Likewise.
	* seh_init.c (Raise_From_Signal_Handler): Fix parameter type.
	* libgnat/a-except.ads (Raise_From_Signal_Handler): Use convention C
	and new symbol name, move declaration to...
	(Raise_From_Controlled_Operation): Minor tweak.
	* libgnat/a-except.adb (Raise_From_Signal_Handler): ...here.
	* libgnat/a-exexpr.adb (bool): New C compatible boolean type.
	(Is_Handled_By_Others): Use it as return type for the function.

2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>

	* errout.ads (Set_Identifier_Casing): Add pragma Convention C.
	* eval_fat.ads (Rounding_Mode): Likewise.
	(Machine): Add WARNING comment line.
	* exp_code.ads (Clobber_Get_Next): Add pragma Convention C.
	* fe.h (Compiler_Abort): Fix return type.
	(Set_Identifier_Casing): Change type of parameters.
	(Clobber_Get_Next): Change return type.
	* gcc-interface/trans.c (gnat_to_gnu) <N_Code_Statement>: Add cast.

2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>

	* atree.h (Parent): Remove duplicate declaration.
	(Get_1_Bit_Field): Also use INLINE specifier in the declaration,
	fix formatting and use gcc_unreachable for the default case.
	(Get_2_Bit_Field): Likewise.
	(Get_4_Bit_Field): Likewise.
	(Get_8_Bit_Field): Likewise.
	(Get_32_Bit_Field): Likewise.
	(Get_32_Bit_Field_With_Default): Likewise.

2021-05-07  Bob Duff  <duff@adacore.com>

	* atree.ads, atree.adb: Major rewrite to support variable-sized
	node types. Add pragmas Suppress and Assertion_Policy.  We now
	have an extra level of indirection: Node_Offsets is a table
	mapping Node_Ids to the offset of the start of each node in
	Slots. Slots is a table containing one or more contiguous slots
	for each node. Each slot is a 32-bit unchecked union that can
	contain any mixture of 1, 2, 4, 8, and 32-bit fields that fits.
	The old low-level getters and setters (e.g.  Flag123) are
	removed.
	* gen_il-fields.ads, gen_il-gen-gen_entities.adb,
	gen_il-gen-gen_nodes.adb, gen_il-gen.adb, gen_il-gen.ads,
	gen_il-main.adb, gen_il-types.ads, gen_il-utils.adb,
	gen_il-utils.ads, gen_il.adb, gen_il.ads: New gen_il program
	that generates various Ada and C++ files. In particular, the
	following files are generated by gen_il: einfo-entities.adb
	einfo-entities.ads, gnatvsn.ads, nmake.adb, nmake.ads,
	seinfo.ads, seinfo_tables.adb, seinfo_tables.ads,
	sinfo-nodes.adb, sinfo-nodes.ads, einfo.h, and sinfo.h.
	* sinfo-utils.adb, sinfo-utils.ads, einfo-utils.adb,
	einfo-utils.ads: New files containing code that needs to refer
	to Sinfo.Nodes and Einfo.Entities. This code is mostly moved
	here from Sinfo and Einfo to break cycles.
	* back_end.adb: Pass node_offsets_ptr and slots_ptr to gigi,
	instead of nodes_ptr and flags_ptr. The Nodes and Flags tables
	no longer exist. (Note that gigi never used the Flags table.)
	* sinfo-cn.ads (Change_Identifier_To_Defining_Identifier,
	Change_Character_Literal_To_Defining_Character_Literal,
	Change_Operator_Symbol_To_Defining_Operator_Symbol): Turn N into
	an IN formal.
	* sinfo-cn.adb: Update.  Add assertions, which can be removed at
	some point.  Rewrite to use higher-level facilities.  Make sure
	vanishing fields are zeroed out.  Add with/use for new packages.
	* sem_util.adb: Remove "Assert(False)" immediately followed by
	"raise Program_Error".  Use higher-level facilities such as
	Walk_Sinfo_Fields instead of depending on low-level Set_FieldN
	routines that no longer exist. Use Get_Comes_From_Source_Default
	instead of Default_Node.Comes_From_Source (Default_Node no
	longer exists).  Use Set_Basic_Convention instead of
	Basic_Set_Convention.  Add with/use for new packages.
	* sem_util.ads: The Convention field had getter Convention and
	setter Basic_Set_Convention. Make that more uniform: there is
	now a field called Basic_Convention, with Basic_Convention and
	Set_Basic_Convention as getter/setter, and write Convention and
	Set_Convention here.
	* nlists.adb: Rewrite to use abstractions, rather then depending
	on low-level implementation details of Atree. Necessary because
	those details have changed. Add with/use for new packages.
	* sem_ch12.adb: Use higher-level facilities such as
	Walk_Sinfo_Fields instead of depending on low-level Set_FieldN
	routines that no longer exist. Add with/use for new packages.
	* exp_cg.adb, sem_ch10.adb, sem_ch4.adb, sem_eval.adb,
	sem_prag.adb, sem_warn.adb: Change expanded names to refer to
	the new packages for things that moved. Add with/use for new
	packages.
	* sem_ch3.adb: Likewise. Reinitialize vanishing fields.
	* exp_disp.adb: Likewise. Remove failing assertion.
	* sinfo.ads, einfo.ads: Remove code that is now generated into
	Sinfo.Nodes and Einfo.Entities.
	* sinfo.adb, einfo.adb: Replace bodies with "pragma No_Body;".
	We should delete these at some point, but No_Body makes make
	files easier. Some code is moved to Sinfo.Nodes, Einfo.Entities,
	Sinfo.Utils, and Einfo.Utils. Some is no longer necessary.
	* treepr.adb: Rewrite to use new tables. We no longer need
	treeprs.ads.
	* treepr.ads: Add comment.
	* types.ads: Move types Component_Alignment_Kind and
	Float_Rep_Kind here.
	* atree.h: Major update to match atree.ads changes.  Add slot
	types, for use by getters/setters.
	* types.h: Move types Component_Alignment_Kind and
	Float_Rep_Kind here.
	* fe.h: Rewrite to deal with code that has changed or moved from
	Atree, Sinfo, Einfo.
	* nlists.h: Move some code to fe.h.
	* alloc.ads: Split Nodes_* constants into Node_Offsets and
	Slots, because Atree has two separate tables.  Increase values.
	Remove Nodes_Release_Threshold. Improve comment.
	* debug.adb, gnat1drv.adb: Remove obsolete gnatd.A and gnatd.N
	switches.  Add with/use for new packages.
	* opt.ads: Minor comment fix.
	* aspects.adb, checks.adb, comperr.adb, contracts.adb,
	cstand.adb, debug_a.adb, errout.adb, eval_fat.adb, exp_aggr.adb,
	exp_atag.adb, exp_attr.adb, exp_ch11.adb, exp_ch12.adb,
	exp_ch13.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_code.adb, exp_dbug.adb, exp_dist.adb, exp_fixd.adb,
	exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb,
	exp_put_image.adb, exp_sel.adb, exp_smem.adb, exp_spark.adb,
	exp_strm.adb, exp_tss.adb, exp_unst.adb, exp_util.adb,
	exp_util.ads, expander.adb, freeze.adb, frontend.adb,
	get_targ.ads, ghost.adb, gnat_cuda.adb, impunit.adb, inline.adb,
	itypes.adb, itypes.ads, layout.adb, lib.adb, lib-load.adb,
	lib-writ.adb, lib-xref.adb, lib-xref.ads,
	lib-xref-spark_specific.adb, live.adb, par.adb, par_sco.adb,
	pprint.adb, repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb,
	scn.adb, sem.adb, sem.ads, sem_aggr.adb, sem_attr.adb,
	sem_aux.adb, sem_case.adb, sem_cat.adb, sem_ch11.adb,
	sem_ch13.adb, sem_ch2.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_intr.adb, sem_mech.adb, sem_res.adb, sem_scil.adb,
	sem_smem.adb, sem_type.adb, set_targ.ads, sinput.adb,
	sinput-l.adb, sprint.adb, style.adb, styleg.adb, tbuild.adb,
	tbuild.ads, uname.adb: Add with/use for new packages.
	* libgnat/a-stoubu.adb, libgnat/a-stouut.adb: Simplify to ease
	bootstrap.
	* libgnat/a-stobfi.adb, libgnat/a-stoufi.adb (Create_File,
	Create_New_File): Create file in binary format, to avoid
	introducing unwanted text conversions on Windows. Simplify to
	ease bootstrap.
	* libgnat/a-stteou__bootstrap.ads: New.
	* ceinfo.adb, csinfo.adb, nmake.adt, treeprs.adt, xeinfo.adb,
	xnmake.adb, xsinfo.adb, xtreeprs.adb: Delete.
	* Make-generated.in: Build and run the gen_il program to
	generate files. The files are generated in the ada/gen_il
	subdirectory, and then moved up to ada.  We rely on gnatmake (as
	opposed to make) to build the gen_il program efficiently (i.e.
	don't do anything if the sources didn't change).
	* gcc-interface/Makefile.in (ADAFLAGS): Add -gnatU.
	(GNATMAKE_OBJS): Add new object files.
	(GENERATED_FILES_FOR_TOOLS): New variable.
	(../stamp-tools): Create a link for all
	GENERATED_FILES_FOR_TOOLS.
	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add new object
	files.  Remove ada/treeprs.o.
	(GNATBIND_OBJS): Add new object files.
	(ada.mostlyclean): Remove ada/sdefault.adb and add
	ada/stamp-gen_il.
	(ada.maintainer-clean): Remove ada/treeprs.ads.
	(update-sources): Remove obsolete target.
	(ada_generated_files): Rename to...
	(ADA_GENERATED_FILES): ... this.  Add new source files.  Add
	comment.
	* gcc-interface/trans.c: Remove obsolete Nodes_Ptr and
	Flags_ptr.  Add Node_Offsets_Ptr and Slots_Ptr, which point to
	the corresponding tables in Atree.
	* gcc-interface/gigi.h (gigi): New parameters for initializing
	Node_Offsets_Ptr and Slots_Ptr.
	* gcc-interface/decl.c: Numeric_Kind,
	Discrete_Or_Fixed_Point_Kind, and Record_Kind were
	nonhierarchical, and were therefore removed for simplicity.
	Replace uses with calls to Is_In_... functions.

2021-05-07  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Unconstrained_UU_In_Component_Declaration): A
	component declaration whose subtype indication is an entity name
	without an explicit constraint is an Unchecked_Union type only
	if the entity has an unconstrained nominal subtype (record type
	or private type) whose parent type is an Unchecked_Union.

2021-05-07  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Flag_Object): Ignore prefixes of attribute
	Address.

2021-05-07  Yannick Moy  <moy@adacore.com>

	* opt.ads: Update comment for Warn_On_Suspicious_Modulus_Value.
	* sem_res.adb (Resolve_Unary_Op): Generate warning.
	* usage.adb: Refine doc for -gnatw.m/M switch.
	* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
	Update doc on -gnatw.m switch.
	* gnat_ugn.texi: Regenerate.

2021-05-07  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Flag_Object): Replace chained IF with a CASE;
	remove repeated calls to Entity; do not traverse into
	N_Identifier and N_Expanded_Name, because only need to examine
	their Entity field anyway.

2021-05-07  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch4.adb (Analyze_Call): Remove call to End_Interp_List.
	(Process_Overloaded_Indexed_Component): Remove call to
	End_Interp_List.
	* sem_util.adb (Insert_Explicit_Dereference): Remove call to
	End_Interp_List.
	* sem_type.ads (End_Interp_List): Remove.
	* sem_type.adb (Add_Entry): The guard against duplicate entries
	is now checked before other conditions, so that EXIT statements
	do not bypass this guard.
	(End_Interp_List): Remove.

2021-05-07  Ed Schonberg  <schonberg@adacore.com>

	* exp_util.adb (Remove_Init_Call): If a simple initialization
	call is present, and the next statement is an initialization
	block (that contains a call to a Deep_ Initialize routine),
	remove the block as well, and insert the first initialization
	call in it, in case it is needed for later relocation.

2021-05-07  Gary Dismukes  <dismukes@adacore.com>

	* errout.ads (Size_Too_Small_Message): Remove low-value ???
	comment.
	* exp_util.ads: Remove ??? in part of overall package comments
	and restructure comment to clarify.
	(Duplicate_Subexpr): Remove ??? comment that seems unnecessary.
	* sem_ch3.ads (Analyze_Declarations): Remove two parenthesized
	??? comments and add more description of the procedure's
	actions.
	(Get_Discriminant_Value): Remove ??? comment requesting more
	documentation, expanding description of the function's actions.
	* sem_disp.ads (Check_Operation_From_Incomplete_Type): Add more
	semantic description of the procedure and remove ??? comment
	requesting such.
	(Propagate_Tag): Refine comment to indicate meaning of formal
	parameters and generally improve the spec comment (and remove
	??? comment asking about the parameters).

2021-05-07  Arnaud Charlet  <charlet@adacore.com>

	* sem_eval.adb (Fold_Shift): Fix computation of Shift_Left
	resulting in negative signed values.

2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.ads (Defining_Entity): Remove Empty_On_Errors parameter.
	(Defining_Entity_Or_Empty): New function.
	* sem_util.adb (Defining_Entity): Move bulk of implementation to...
	(Defining_Entity_Or_Empty): ...here.  Do not raise Program_Error.
	(Innermost_Master_Scope_Depth): Call Defining_Entity_Or_Empty.

2021-05-07  Justin Squirek  <squirek@adacore.com>

	* aspects.ads: Add entries to register
	Aspect_No_Controlled_Parts.
	* freeze.adb (Check_No_Controlled_Parts_Violations): Added to
	check requirements of aspect No_Controlled_Parts after a type
	has been frozen.
	(Freeze_Entity): Add call to
	Check_No_Controlled_Parts_Violations.
	(Find_Aspect_No_Controlled_Parts): Created to obtain the aspect
	specification for No_Controlled_Parts on a given type when
	present.
	(Find_Aspect_No_Controlled_Parts_Value): Protect against invalid
	value.
	(Has_Aspect_No_Controlled_Parts): Created as a prediate function
	to check if No_Controlled_Parts has been specified on a type for
	Get_Anacestor_Types_With_Specification.
	(Get_Aspect_No_Controlled_Parts_Value): Created to obtain the
	value of the aspect No_Controlled_Parts when specified on a
	given type.
	(Get_Generic_Formal_Types_In_Hierarchy): Created to collect
	formal types in a given type's hierarchy.
	(Get_Types_With_Aspect_In_Hierarchy): Created to collect types
	in a given type's hierarchy with No_Controlled_Parts specified.
	* sem_ch13.adb (Analyze_One_Aspect): Add processing for
	No_Controlled_Parts, and fix error in check for allowed pragmas
	for formal types.
	(Check_Expr_Is_OK_Static_Expression): Created to enforce
	checking of static expressions in the same vein as
	Analyze_Pragma.Check_Expr_OK_Static_Expression.
	* sem_util.adb (Collect_Types_In_Hierarchy): Created to collect
	types in a given type's hierarchy that match a given predicate
	function.
	* sem_util.ads: Fix typo.
	* snames.ads-tmpl: Add entry for No_Controlled_Parts.

2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-fatgen.adb (Scaling): Raise Constraint_Error in the
	overflow case when T'Machine_Overflows is True.

2021-05-07  Bob Duff  <duff@adacore.com>

	* libgnat/a-conhel.adb (TC_Check): Move the Assert into the
	'if'.

2021-05-07  Frederic Konrad  <konrad@adacore.com>

	* sigtramp-vxworks-target.inc: Use a local label for the TOC.

2021-05-07  Claire Dross  <dross@adacore.com>

	* exp_ch4.adb (Has_Inferable_Discriminants): Moved to Sem_Util.
	* sem_util.ads, sem_util.adb (Has_Inferable_Discriminants):
	Moved from Exp_Ch4.

2021-05-07  Ed Schonberg  <schonberg@adacore.com>

	* exp_util.adb (Build_Class_Wide_Expression, Replace_Entity):
	Add guard to verify that the enclosing pragma is a precondition.

2021-05-06  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Build_Class_Wide_Check): Extending the
	functionality of this routine to climb to the ancestors
	searching for the enclosing overridden dispatching primitive
	that has a class-wide precondition to generate the check.

2021-05-06  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch3.adb (Constraint_Index): Remove redundant problematic
	analysis.

2021-05-06  Arnaud Charlet  <charlet@adacore.com>

	* exp_unst.adb (Note_Uplevel_Bound): Exclude
	E_Enumeration_Literal.

2021-05-06  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch4.adb (Expand_N_If_Expression):
	Apply_Arithmetic_Overflow_Check will not deal with
	Then/Else_Actions so skip minimizing overflow checks if any
	actions are present.

2021-05-06  Boris Yakobowski  <yakobowski@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Simplify logic.

2021-05-06  Arnaud Charlet  <charlet@adacore.com>

	* libgnat/i-c.ads (bool): New type.
	* libgnat/i-cexten.ads, libgnat/i-cexten__128.ads (bool): Now
	a subtype of Interfaces.C.bool.
	* libgnarl/s-interr__vxworks.adb (Interrupt_Manager): Qualify
	False.
	* libgnarl/s-interr.adb, libgnarl/s-interr__hwint.adb,
	libgnarl/s-tasini.adb, libgnarl/s-tasren.adb,
	libgnarl/s-tassta.adb, libgnarl/s-tpobmu.adb,
	libgnarl/s-tpobop.adb, libgnarl/s-tpopmo.adb: Replace
	Assert (False) by Assert (Standard.False).

2021-05-06  Ghjuvan Lacambre  <lacambre@adacore.com>

	* make.adb (Compute_Executable): Document parameter.

2021-05-06  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-fatgen.adb (Scaling): Use single handling of
	underflow.  Add pragma Annotate.

2021-05-06  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_eval.adb (Is_OK_Static_Subtype): Call Is_Static_Subtype,
	remove redundant checks.

2021-05-06  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (First_Last_Ref): Simplify "if [condition] then
	return True" in "return [condition]".
	(Resolve_Range): Remove calls appearing in IF condition from the
	THEN statements.

2021-05-06  Piotr Trojanek  <trojanek@adacore.com>

	* sem_case.adb (Missing_Choice): Fix typo in comment.
	(Lit_Of): Simplify with Make_Character_Literal.
	(Check_Choices): Remove extra spaces in parameter
	specifications.
	* sem_case.ads: Same reformatting.

2021-05-06  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Expand_Array_Aggregate): If the expression in an
	Others_Clause has not been analyzed because previous analysis of
	the enclosing aggregate showed the clause to be ineffective i.e.
	cover a null range, analyze it now to detect a possible type
	illegality.

2021-05-06  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-fatgen.adb (Scaling): Fix off-by-one bug for underflow.

2021-05-06  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch6.adb (Is_Inline_Pragma): Protect against N not being a
	list member in both branches.

2021-05-06  Piotr Trojanek  <trojanek@adacore.com>

	* libgnat/a-cofove.adb (Insert_Space): Remove hardcoded pragma
	Warnings.

2021-05-06  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch4.adb (Analyze_Selected_Component): Remove explicit call
	to Set_Raises_Constraint_Error on statically missing component.
	* sem_eval.adb (Eval_Arithmetic_Op): Likewise for static
	divisions by integer and real zeros.
	* sem_util.adb (Apply_Compile_Time_Constraint_Error): Call
	Set_Raises_Constraint_Error before exiting early in GNATprove
	mode.

2021-05-06  Justin Squirek  <squirek@adacore.com>

	* checks.adb (Make_Discriminant_Constraint_Check): Add check for
	null when the type being converted is an access type.

2021-05-06  Arnaud Charlet  <charlet@adacore.com>

	* exp_pakd.adb (Expand_Packed_Eq): Fix handling of PATs.

2021-05-06  Piotr Trojanek  <trojanek@adacore.com>

	* osint.adb (Read_Library_Info_From_Full): Cleanup unused
	initial value.

2021-05-06  Eric Botcazou  <ebotcazou@adacore.com>

	* doc/gnat_rm/implementation_defined_characteristics.rst (3.5.7):
	Mention the IEEE standard explicitly.  Use current format names.
	Document assumed rounding mode and new features of I/O support.
	* gnat_rm.texi: Regenerate.

2021-05-06  Eric Botcazou  <ebotcazou@adacore.com>

	* init.c (__gnat_init_float): Use full version on Linux too.

2021-05-06  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-fatgen.adb (Valid): Do a bit comparison with 0.0
	when denormalized numbers are not supported.

2021-05-06  Piotr Trojanek  <trojanek@adacore.com>

	* sem_attr.adb (Check_Enum_Image): Reword comment; add
	Check_Enumeration_Maps parameter.  Now this routine combines
	both referencing enumeration literals and checking restriction
	No_Enumeration_Maps, if required.
	(Analyze_Attribute): Remove duplicated code and instead call
	Check_Enum_Image.

2021-05-06  Piotr Trojanek  <trojanek@adacore.com>

	* sem_attr.adb (Analyze_Image_Attribute): Remove redundant
	condition; add a missing header box.

2021-05-06  Gary Dismukes  <dismukes@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add
	mention of underscore and fix grammar error in doc for -gnatd.
	* gnat_ugn.texi: Regenerate.

2021-05-06  Eric Botcazou  <ebotcazou@adacore.com>

	* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-exponr, s-exnflt
	and s-exnlfl.
	* exp_ch4.adb (Expand_N_Op_Expon): Use RE_Exn_Float for Short_Float.
	* rtsfind.ads (RTU_Id): Add System_Exn_Flt and System_Exn_LFlt.
	(RE_Id): Adjust entries for RE_Exn_Float and RE_Exn_Long_Float.
	(RE_Unit_Table): Likewise.
	* libgnat/s-exnflt.ads: New file.
	* libgnat/s-exnlfl.ads: Likewise.
	* libgnat/s-exnllf.ads: Change to mere instantiation.
	* libgnat/s-exnllf.adb: Move implementation to...
	* libgnat/s-exponr.ads: New generic unit.
	* libgnat/s-exponr.adb: ...here and also make it generic.
	(Expon): Do the computation in double precision internally.

2021-05-06  Piotr Trojanek  <trojanek@adacore.com>

	* lib-writ.adb, osint.adb, osint.ads: Cleanup.

2021-05-06  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.adb (Expand_Freeze_Array_Type): Remove excessive
	condition.
	(Expand_N_Object_Declaration): Likewise.
	(Build_Equivalent_Aggregate): Likewise.
	(Initialization_Warning): Likewise; change another excessive
	condition into assertion.
	* freeze.adb (Freeze_Entity): Remove excessive condition.

2021-05-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_If_Expression): If the context of the
	expression is an indexed_component, resolve the expression and
	its dependent_expressions with the base type of the index, to
	ensure that an index check is generated when resolving the
	enclosing indexxed_component, and avoid an improper use of
	discriminants out of scope, when the index type is
	discriminant-dependent.

2021-05-06  Arnaud Charlet  <charlet@adacore.com>

	* einfo.ads, exp_prag.adb, exp_util.adb: Fix typos.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Fix expansion of
	attributes Input and Output for unchecked unions.
	* sem_case.ads: Fix typo "disriminant" and refill comment.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_attr.adb, exp_ch9.adb, sem_ch3.adb: Reuse
	Has_Defaulted_Discriminants.
	* sem_ch4.adb (Analyze_Allocator): Reuse
	Has_Defaulted_Discriminants (after reordering conjuncts); remove
	redundant IF statement, whose condition is implied by
	Has_Defaulted_Discriminants.
	* sem_util.adb (Has_Defaulted_Discriminants): Has_Discriminants
	implies that the First_Discriminant is present.
	(Is_Fully_Initialized_Type): Reuse Has_Defaulted_Discriminants.

2021-05-05  Justin Squirek  <squirek@adacore.com>

	* exp_ch6.adb (Expand_Call_Helper): Add condition to check for
	expanded actuals and remove dead code.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch4.adb (Has_Unconstrained_UU_Component): Rewrite to
	follow the Ada RM grammar.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch4.adb (User_Defined_Primitive_Equality_Op): Refine type
	of a local variable.
	* exp_dbug.adb (Scope_Contains): Refine all types from Node_Id
	to Entity_Id; rename parameters to match those of the
	Scope_Within routine (which is similar but not the same); also,
	simplify an OR ELSE into a membership test.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch4.adb (Component_Is_Unconstrained_UU): Detect both
	qualified and unqualified names of unchecked union components.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch4.adb (Variant_Is_Unconstrained_UU): Remove redundant
	check for empty list.
	* exp_disp.adb (Find_Entry_Index): Simplify by removing
	redundant check and counting from zero; fix type of a local
	variable.
	* sem_ch12.adb (Save_Global_Descendant): Remove an unnecessary
	special-case for empty lists.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch4.adb (Apply_Accessibility_Check): Skip a statically
	true condition in expanded raise statement.

2021-05-05  Bob Duff  <duff@adacore.com>

	* libgnat/s-os_lib.adb (Missed_Drive_Letter): Simplify the code.

2021-05-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Assignment): Do not emit the warning that
	a previous value of the target object is useless if the
	right-hand side of the assignment includes target names.

2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_imgv.adb: Add with/use clauses for Targparm.
	(Build_Enumeration_Image_Tables): Set type of Threshold to Nat and
	initialize it to Nat'Last if the type is local and the target does
	not support descriptors.  Adjust Threshold_For_Size similarly.
	(Expand_Value_Attribute): Minor tweaks.

2021-05-05  Ghjuvan Lacambre  <lacambre@adacore.com>

	* exp_ch7.adb (Expand_N_Package_Body): Add CUDA init call.
	* sem_ch7.adb (Analyze_Package_Body_Helper): Remove CUDA init
	call.

2021-05-05  Ghjuvan Lacambre  <lacambre@adacore.com>

	* par-ch5.adb (P_Condition): Check if expression is declare
	expression.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* make.adb (Make): Use GNAT.Ctrl_C.Install_Handler instead of a
	custom imported procedure.

2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_imgv.adb (Is_User_Defined_Enumeration_Type): Delete.
	(Expand_Image_Attribute): Move inline expansion into normal flow of
	control, move down declarations and remove superfluous processing.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* libgnat/g-alleve.adb (Bit_Operation): Now a not-null type.
	* libgnat/g-sechas.adb (Fill_Buffer_Access): Likewise.
	* libgnat/s-dwalin.adb (Callback): Likewise.

2021-05-05  Ghjuvan Lacambre  <lacambre@adacore.com>

	* exp_util.adb (Is_Possibly_Unaligned_Object): Remove commented
	code.

2021-05-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Find_Type_Of_Object):  When In_Spec_Expression is
	set and the object declaration generates a subtype indication,
	build the corresponding subtype declaration and place it in tree
	without the use of Insert_Actions, which is disabled in this
	context.

2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>

	* debug.adb (d_x): Document extended usage.
	* exp_imgv.adb (Expand_Standard_Boolean_Image): New procedure.
	(Expand_Image_Attribute): Call it to expand in line the attribute
	for standard boolean by default.

2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>

	* debug.adb (d_x): Document new usage.
	* exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Add Typ
	parameter and use it throughout the processing.
	(Expand_Image_Attribute): Retrieve the underlying type of the
	prefix and use the inline expansion for user-defined enumeration
	types with a literal string by default.

2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-dorepr.adb (Split): Declare a per-size temporary.
	Add pragma Annotate.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch4.adb, sem_ch13.adb, sem_eval.adb, sem_res.adb: Remove
	redundant calls to UI_From_Int.

2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_imgv.ads (Build_Enumeration_Image_Tables): Adjust comment.
	* exp_imgv.adb (Build_Enumeration_Image_Tables): Add the
	declaration nodes of the 4 tables to the declaration list of the
	function body.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-imagen, s-imen16,
	s-imen32, s-imenu8, s-pehage, s-valuen, s-vaen16, s-vaen32 and
	s-vaenu8.  Remove s-imenne, s-imgenu and s-valenu.
	* debug.adb (d_h): Document new usage.
	* einfo.ads (Lit_Hash): New attribute for enumeration types.
	(Set_Lit_Hash): Declare.
	* einfo.adb (Lit_Hash): New function.
	(Set_Lit_Hash): New procedure.
	(Write_Field21_Name): Print Lit_Hash for Enumeration_Kind.
	* exp_imgv.ads (Build_Enumeration_Image_Tables): Fix description
	and document the hash function and its tables.
	* exp_imgv.adb: Add with/use clauses for Debug.  Add with clause
	for System.Perfect_Hash_Generators.
	(Append_Table_To): New helper routine.
	(Build_Enumeration_Image_Tables): Call it to build the tables.
	In the main unit, register the literals with the hash generator.
	If they are sufficiently many and -gnatd_h is not passed, generate
	a perfect hash function and its tables; otherwise, generate a dummy
	hash function.  For the other units, generate only the declaration.
	In all cases, set Lit_Hash to the entity of the function, if any.
	(Expand_Value_Attribute): Pass the 'Unrestricted_Access of Lit_Hash,
	if any, as third argument to the Value_Enumeration_NN function.
	* gnat1drv.adb (Adjust_Global_Switches): force simpler implementation
	of 'Value in CodePeer_Mode.
	* lib.ads (Synchronize_Serial_Number): Add SN parameter.
	* lib.adb (Synchronize_Serial_Number): Assert that it is larger than
	the serial number of the current unit and set the latter to it only
	in this case.
	* rtsfind.ads (RTU_Id): Add System_Img_Enum_8, System_Img_Enum_16,
	System_Img_Enum_32, System_Val_Enum_8, System_Val_Enum_16 and
	System_Val_Enum_32.  Remove System_Img_Enum, System_Img_Enum_New
	and System_Val_Enum.
	* sem_attr.adb (Analyze_Access_Attribute): Do not flag a compiler
	generated Unrestricted_Access attribute as illegal in a declare
	expression.
	(RE_Unit_Table): Adjust to above changes.
	* libgnat/g-heasor.ads: Add pragma Compiler_Unit_Warning.
	* libgnat/g-table.ads: Likewise.
	* libgnat/g-pehage.ads: Add with clause and local renaming for
	System.Perfect_Hash_Generators.
	(Optimization): Turn into derived type.
	(Verbose): Turn into renaming.
	(Too_Many_Tries): Likewise.
	(Table_Name): Move to System.Perfect_Hash_Generators.
	(Define): Likewise.
	(Value): Likewise.
	* libgnat/g-pehage.adb: Remove with clause for Ada.Directories,
	GNAT.Heap_Sort_G and GNAT.Table.  Move bulk of implementation
	to System.Perfect_Hash_Generators, only keep the output part.
	* libgnat/s-imagen.ads: New generic unit.
	* libgnat/s-imagen.adb: New body.
	* libgnat/s-imen16.ads: New unit.
	* libgnat/s-imen32.ads: Likewise.
	* libgnat/s-imenu8.ads: Likewise.
	* libgnat/s-imenne.ads: Adjust description.
	* libgnat/s-imgenu.ads: Delete.
	* libgnat/s-imgenu.adb: Likewise.
	* libgnat/s-pehage.ads: New unit from GNAT.Perfect_Hash_Generators.
	* libgnat/s-pehage.adb: New body from GNAT.Perfect_Hash_Generators.
	* libgnat/s-valuen.ads: New generic unit.
	* libgnat/s-valuen.adb: New body.
	* libgnat/s-vaen16.ads: New unit.
	* libgnat/s-vaen32.ads: Likewise.
	* libgnat/s-vaenu8.ads: Likewise.
	* libgnat/s-valenu.ads: Delete.
	* libgnat/s-valenu.adb: Likewise.
	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add s-pehage.o.
	(GNATBIND_OBJS): Remove s-imgenu.o.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.ads (Apply_Compile_Time_Constraint_Error): Remove
	parameter Rep from the function spec and "and if the flag Rep is
	set" from the comment.
	* sem_util.adb (Apply_Compile_Time_Constraint_Error): Remove
	parameter Rep.

2021-05-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Indexed_Aggregate): For indexed
	aggregates with component associations verify that if there is
	more than one component association then all the choices are
	static, that the set of choices define a continuous sequence of
	values, and that if loop specfications appear, they do not
	include iterator filters or key expressions.

2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>

	* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-dourea, s-imager,
	s-imgflt, s-imglfl and s-imgllf.
	(LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorks]: Use s-dorepr__fma.adb.
	(LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorksAE]: Likewise.
	(LIBGNAT_TARGET_PAIRS) [Aarch64/VxWorks]: Likewise.
	(LIBGNAT_TARGET_PAIRS) [Aarch64/QNX]: Likewise.
	(LIBGNAT_TARGET_PAIRS) [Aarch64/FreeBSD]: Likewise.
	(LIBGNAT_TARGET_PAIRS) [PowerPC/Linux]: Likewise.
	(LIBGNAT_TARGET_PAIRS) [Aarch64/Linux]: Likewise.
	(LIBGNAT_TARGET_PAIRS) [IA-64/Linux]: Likewise.
	(LIBGNAT_TARGET_PAIRS) [IA-64/HP-UX]: Likewise.
	(LIBGNAT_TARGET_PAIRS) [RISC-V/Linux]: Likewise.
	(LIBGNAT_TARGET_PAIRS) [PowerPC/Darwin]: Likewise.
	* exp_attr.adb (Expand_N_Attribute_Reference) [Attribute_Fore]: Use
	Fixed suffix and Long_Float type.
	* exp_imgv.adb (Expand_Image_Attribute): For floating-point types,
	use the routine of the corresponding root type.  For ordinary fixed
	point types, use Fixed suffix and Long_Float type.
	(Expand_Value_Attribute): Revert latest change for Long_Long_Float.
	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove libgnat units
	g-hesora.o and s-imgenu.o, add g-heasor.o, g-table.o and s-pehage.o.
	(GNATBIND_OBJS): Remove libgnat unit s-imgenu.o.
	* rtsfind.ads (RTU_Id): Add System_Img_Flt, System_Img_LFlt and
	System_Img_LLF.  Remove System_Img_Real.
	(RE_Id): Rename RE_Fore_Real to RE_Fore_Fixed.  Add RE_Image_Float,
	RE_Image_Long_Float and RE_Image_Long_Long_Float.  Rename
	RE_Image_Ordinary_Fixed_Point to RE_Image_Fixed.
	(RE_Unit_Table): Adjust to above changes.
	* libgnat/a-nbnbre.adb (Fixed_Conversions): Use Long_Float instead
	of Long_Long_Float.
	* libgnat/a-textio.ads (Field): Remove obsolete comment.
	* libgnat/a-ticoau.ads (Aux): Adjust ancestor package.
	* libgnat/a-ticoau.adb: Remove with/use clause for System.Img_Real.
	(Puts): Call Aux.Set_Image instead of Set_Image_Real.
	* libgnat/a-ticoio.adb: Add with/use clauses for System.Img_Flt,
	System.Img_LFlt and System.Img_LLF.
	(Scalar_Float): Add third actual parameter.
	(Scalar_Long_Float): Likewise.
	(Scalar_Long_Long_Float): Likewise.
	* libgnat/a-tifiio.adb: Add with/use clauses for System.Img_LFlt
	and System.Val_LFlt.  Remove the one for System.Val_LLF.  Replace
	Long_Long_Float with Long_Float throughout.
	* libgnat/a-tifiio__128.adb: Likewise.
	* libgnat/a-tiflau.ads: Add Set_Image formal parameter.
	* libgnat/a-tiflau.adb: Add with/use clause for System.Img_Util,
	remove the one for System.Img_Real.
	(Put): Call Set_Image instead of Set_Image_Real.
	(Puts): Likewise.
	* libgnat/a-tiflio.adb: Add with/use clause for System.Img_Flt,
	System.Img_LFlt and System.Img_LLF.
	(Aux_Float): Add third actual parameter.
	(Aux_Long_Float): Likewise.
	(Aux_Long_Long_Float): Likewise.
	* libgnat/a-witeio.ads (Field): Remove obsolete comment.
	* libgnat/a-wtcoau.ads (Aux): Adjust ancestor package.
	* libgnat/a-wtcoau.adb: Remove with/use clause for System.Img_Real.
	(Puts): Call Aux.Set_Image instead of Set_Image_Real.
	* libgnat/a-wtcoio.adb: Add with/use clauses for System.Img_Flt,
	System.Img_LFlt and System.Img_LLF.
	(Scalar_Float): Add third actual parameter.
	(Scalar_Long_Float): Likewise.
	(Scalar_Long_Long_Float): Likewise.
	* libgnat/a-wtfiio.adb: Add with/use clauses for System.Img_LFlt
	and System.Val_LFlt.  Remove the one for System.Val_LLF.  Replace
	Long_Long_Float with Long_Float throughout.
	* libgnat/a-wtfiio__128.adb: Likewise.
	* libgnat/a-wtflau.ads: Add Set_Image formal parameter.
	* libgnat/a-wtflau.adb: Add with/use clause for System.Img_Util,
	remove the one for System.Img_Real.
	(Put): Call Set_Image instead of Set_Image_Real.
	(Puts): Likewise.
	* libgnat/a-wtflio.adb: Add with/use clause for System.Img_Flt,
	System.Img_LFlt and System.Img_LLF.
	(Aux_Float): Add third actual parameter.
	(Aux_Long_Float): Likewise.
	(Aux_Long_Long_Float): Likewise.
	* libgnat/a-ztexio.ads (Field): Remove obsolete comment.
	* libgnat/a-ztcoau.ads (Aux): Adjust ancestor package.
	* libgnat/a-ztcoau.adb: Remove with/use clause for System.Img_Real.
	(Puts): Call Aux.Set_Image instead of Set_Image_Real.
	* libgnat/a-ztcoio.adb: Add with/use clauses for System.Img_Flt,
	System.Img_LFlt and System.Img_LLF.
	(Scalar_Float): Add third actual parameter.
	(Scalar_Long_Float): Likewise.
	(Scalar_Long_Long_Float): Likewise.
	* libgnat/a-ztfiio.adb: Add with/use clauses for System.Img_LFlt
	and System.Val_LFlt.  Remove the one for System.Val_LLF.  Replace
	Long_Long_Float with Long_Float throughout.
	* libgnat/a-ztfiio__128.adb: Likewise.
	* libgnat/a-ztflau.ads: Add Set_Image formal parameter.
	* libgnat/a-ztflau.adb: Add with/use clause for System.Img_Util,
	remove the one for System.Img_Real.
	(Put): Call Set_Image instead of Set_Image_Real.
	(Puts): Likewise.
	* libgnat/a-ztflio.adb: Add with/use clause for System.Img_Flt,
	System.Img_LFlt and System.Img_LLF.
	(Aux_Float): Add third actual parameter.
	(Aux_Long_Float): Likewise.
	(Aux_Long_Long_Float): Likewise.
	* libgnat/s-dorepr.adb: New file.
	* libgnat/s-dorepr__fma.adb: Likewise.
	* libgnat/s-dourea.ads: Likewise.
	* libgnat/s-dourea.adb: Likewise.
	* libgnat/s-forrea.ads (Fore_Real): Rename into...
	(Fore_Fixed): ...this and take Long_Float parameters.
	* libgnat/s-forrea.adb (Fore_Real): Likewise.
	(Fore_Fixed): Likewise.
	* libgnat/s-imgrea.ads: Move to...
	(Set_Image_Real): Turn into mere renaming.
	* libgnat/s-imager.ads: ...here.
	(Image_Ordinary_Fixed_Point): Turn into...
	(Image_Fixed_Point): ...this.
	* libgnat/s-imgrea.adb: Add pragma No_Body.  Move to...
	* libgnat/s-imager.adb: ...here.
	(Image_Ordinary_Fixed_Point): Turn into...
	(Image_Fixed_Point): ...this.
	(Is_Negative): Replace Long_Long_Float with Num.
	(Set_Image_Real): Likewise.  Use Double_T instead of single Num
	throughout the algorithm.
	* libgnat/s-imgflt.ads: New file.
	* libgnat/s-imglfl.ads: Likewise.
	* libgnat/s-imgllf.ads: Likewise.
	* libgnat/s-imagef.ads: Adjust comment.
	* libgnat/s-imguti.ads (Max_Real_Image_Length): New named number.
	* libgnat/s-powflt.ads (Maxpow): Adjust.
	(Powten): Turn into an exact table of double Float.
	* libgnat/s-powlfl.ads (Maxpow): Adjust.
	(Powten): Turn into an exact table of double Long_Float.
	* libgnat/s-powllf.ads (Maxpow): Adjust.
	(Powten): Turn into an exact table of double Long_Long_Float.
	* libgnat/s-valrea.ads: Change order of formal parameters.
	* libgnat/s-valrea.adb: Add with clause for System.Double_Real.
	(Double_Real): New instantiation.
	(Fast2Sum): Delete.
	(Large_Powten): New function.
	(Integer_to_Real): Use Quick_Two_Sum instead of Fast2Sum.  Convert
	the value to Double_T.  Do the scaling in Double_T for base 10.
	* libgnat/s-valflt.ads: Remove with/use clasue for Interfaces,
	add it for System.Unsigned_Types.  Use Unsigned.
	* libgnat/s-vallfl.ads: Remove with/use clasue for Interfaces,
	add it for System.Unsigned_Types.  Use Long_Unsigned.
	* libgnat/s-valllf.ads: Remove with/use clasue for Interfaces,
	add it for System.Unsigned_Types.  Use Long_Long_Unsigned.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* sem_eval.adb (Eval_Arithmetic_Op): Call
	Set_Raises_Constraint_Error on real division by zero just like
	it is called for integer division by zero earlier in this
	routine.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* freeze.adb (Build_Renamed_Body): Simplify IF and WHILE
	statements with the same condition.

2021-05-05  Piotr Trojanek  <trojanek@adacore.com>

	* pprint.adb (Expr_Name): Introduce local constants to make the
	code more readable and avoid repeated calls to Next to reach the
	ELSE part of an if-expression.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* pprint.adb: Remove qualification of arbitrary calls to
	Sinfo.Expressions and Sinfo.Parameter_Associations.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* pprint.adb (Expr_Name): Simplify with functional variant of
	UI_Image.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* pprint.adb (To_Mixed): Removed.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* pprint.adb (List_Name_Count): Change type from Integer to
	Natural.

2021-05-04  Yannick Moy  <moy@adacore.com>

	* pprint.adb (Expression_Image): Special case for
	expression-with-actions.

2021-05-04  Bob Duff  <duff@adacore.com>

	* exp_ch4.adb (Expand_Concatenate): Remove the non-optimization.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* lib-xref.adb (Generate_Reference_To_Formals): Remove dedicated
	branch for generic subprograms (they are now handled together
	with non-generic subprograms in the ELSE branch); replace a
	low-level Ekind membership test with a high-level call to
	Is_Access_Subprogram_Type.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch12.adb (Check_Abstract_Primitives): Match First_Formal
	with Next_Formal.
	* sem_ch6.adb (Is_Non_Overriding_Operation): Likewise.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Collect_Global_Item): Iterate directly over
	formals.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update
	comment; this routine is no longer used by GNATprove.
	* sem_prag.adb (Find_Role): The IN parameter is on output only
	when it belongs to non-function; also, the otherwise constant
	object can only be written by a non-function.
	(Collect_Global_Item): The IN parameter can only be written when
	it belongs to non-function; also, unnest this check to make it
	easier to read.

2021-05-04  Arnaud Charlet  <charlet@adacore.com>

	* libgnat/s-assert.ads (Assert_Failure): Now a renaming of
	Assertion_Error.
	* libgnat/a-assert.ads (Assertion_Error): Now a first class
	citizen.  Remove dependency on System.Assertions.
	* gcc-interface/a-assert.ads, gcc-interface/a-assert.adb: New.
	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add
	a-assert.o from gcc-interface.

2021-05-04  Yannick Moy  <moy@adacore.com>

	* erroutc.adb (Matches): Move spec...
	* erroutc.ads (Matches): ...here.

2021-05-04  Yannick Moy  <moy@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Force error marker in
	GNATprove mode.

2021-05-04  Bob Duff  <duff@adacore.com>

	* binde.adb: No need for ??? marks in Binde, because it is
	superseded by Bindo.
	* bindo-writers.adb (Write_Unit_Closure): Verified that -Ra
	works.
	* exp_ch4.adb, sinfo.ads (Expand_N_Type_Conversion): Rules for
	conversions passed to gigi are documented in sinfo.ads.
	(Expand_N_Unchecked_Type_Conversion): Comment is a duplicate of
	one in sinfo.ads.
	(Expand_N_In): Robert already added sufficient comments years
	after the ??? comment was inserted.
	(Expand_Membership_Minimize_Eliminate_Overflow): I don't see any
	reason why Stand should export Long_Long_Integer'Base -- it
	doesn't export any other base types.
	(Size_In_Storage_Elements): We are doing an allocator, so we
	don't care about sizes in bits.
	(Expand_N_Allocator): PolyORB isn't going to be significantly
	improved, so we're not going to mess with remote access to
	class-wide types.
	(Optimize_Return_Stmt): It's not important to optimize return
	statements in predicate functions -- there are many
	more-important optimizations we could do. Keep part of the
	comment without "???", to clarify why the "and then ...".
	(User_Defined_Primitive_Equality_Op): The optimization doesn't
	seem important enough.
	(Expand_N_Unchecked_Type_Conversion): Refactor to use
	Expand_N_Unchecked_Expression.
	(Make_Array_Comparison_Op): This seems like a case of "it it's
	not broken, don't fix it". Too much risk of causing bugs.
	* debug_a.adb: Remove ??? comments asking why Current_Error_Node
	is maintained unconditionally, and add a comment explaining why.
	* errout.adb: These kinds of minor bugs do indeed exist, but
	we're never going to get around to fixing them "properly", so we
	need this code for robustness.
	* gnatchop.adb (Read_File): Document when read can fail.
	* gnatdll.adb (Parse_Command_Line): Nobody is complaining about
	these arbitrary limits, so no need to use Table. Increase the
	limits just in case.  It is clear from the names what they are
	limits on.
	* gnatlink.adb: Add needed comments.
	(Delete): An existing comment makes clear it's intentional, and
	it's been like that since 1996.
	(Process_Args): Improve comments.
	(Search_Library_Path): Refactoring to avoid deep nesting.
	* inline.adb (Build_Body_To_Inline): Probably won't get around
	to doing that optimization.
	(Is_Unit_Subprogram): No, this should not be moved to Sem_Aux,
	because it is too specialized to this context.
	(Do_Reset): No comment is needed here; it's clear from the
	comment on Reset_Dispatching_Calls. Do_Reset is an artificial
	subprogram; if we had proper iterators, it would just be an if
	statement in the loop.
	(Rewrite_Function_Call): Probably won't get around to doing that
	optimization.
	* layout.adb (Layout_Type): The gigi comment doesn't need to be
	a ??? comment, and it's been that way since 2000.  The
	limitation to scalars will likely never be investigated, and
	it's been that way since 2009.
	* lib.adb (Check_Same_Extended_Unit): This doesn't look like
	something that needs fixing; it looks like a permanent
	workaround.
	* lib-load.adb (Change_Main_Unit_To_Spec): It is good enough in
	practice.
	(Load_Unit): Nobody will ever get around to investigating the
	obscure PMES oddity, and the optimization is not worth the
	trouble.
	* live.adb: It's not worth documenting this. It is used only
	with a debug switch. Nobody who has done significant work on it
	is still around, so it would require substantial investigation.
	* mdll.ads: I see no reason for USE.
	* namet.ads: Routines are obsolete, but they're not going
	anywhere anytime soon (too much work, and surprisingly delicate
	because of dependences on global variables).
	* osint.ads: Minor.
	* osint.adb: Improve comments.
	(Full_Lib_File_Name): Use Smart_Find_File.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* exp_prag.adb, sem_prag.adb: Replace low-level Ekind membership
	tests with a high-level call to Is_Formal_Object.

2021-05-04  Arnaud Charlet  <charlet@adacore.com>

	* cstand.adb, sprint.adb, switch-c.adb, xr_tabls.ads,
	xr_tabls.adb, xref_lib.adb: Address ??? comments.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Analyze_Global_Item): Take subprogram kind into
	account when accepting or rejecting a constant of an
	access-to-variable type as a global Output/In_Out; do this check
	inside an ELSIF branch to avoid unnecessary evaluation of the
	subsequent condition.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Role_Error, Usage_Error): Replace calls to
	Name_Find and Get_Name_String with a call to To_String.

2021-05-04  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Build_Siz_Exp): new function, subsidiary of
	Expand_Container_Aggregate, to create an expression to be used
	in the dynamic allocation of a container with a single container
	element association.
	(Add_Range): Handle static bounds of ranges over enumerations.
	(Expand_Container_Aggregate): Add declaration for size
	expression when needed, and use it in container object
	declaration for container.

2021-05-04  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch7.adb (Build_Finalizer_Helper.New_Finalizer_Name):
	Unnest so that it can be reused.
	(Build_Finalizer_Helper.Process_Declarations): Call the
	xxx__finalize_body procedure of a package instantiation in case
	it contains finalization statements.  Code clean ups.
	(Build_Finalizer_Helper.Create_Finalizer): Export and set an
	Interface_Name for library level finalizers since these may be
	imported now.
	(Build_Finalizer_Helper): Need to process library level package
	body instantiations which may contain objects requiring
	finalization.
	* libgnat/s-finmas.ads: Fix typo.

2021-05-04  Arnaud Charlet  <charlet@adacore.com>

	* checks.adb (Append_Range_Checks, Apply_Selected_Length_Checks,
	Determine_Range, Insert_Range_Checks,
	Install_Null_Excluding_Check, Selected_Length_Checks,
	Selected_Range_Checks): Address ??? comments and code cleanups.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
	Apply the rule even with no explicit Global contract (and remove
	a dead condition for Refined_Global).

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
	Extend check to protected entries.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
	Fix reference to SPARK RM rule number.

2021-05-04  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_intr.adb: Remove with/use clauses for Urealp.
	(Expand_Is_Negative): Delete.
	(Expand_Intrinsic_Call): Do not call it.
	* rtsfind.ads (RE_Id): Remove RE_Float_Unsigned.
	(RE_Unit_Table): Remove entry for RE_Float_Unsigned.
	* snames.ads-tmpl (Name_Is_Negative): Delete.
	* libgnat/s-imgrea.ads (Set_Image_Real): Fix mode of S parameter.
	* libgnat/s-imgrea.adb: Add with/use clauses for System.Img_Util.
	(LLU): New subtype.
	(Maxdigs): Use it.
	(Is_Negative): Reimplement.
	(Image_Floating_Point): Simplify.
	(Set_Image_Real): Fix mode of S parameter.  Remove the low-level
	processing on characters.  Flip the sign of the Scale variable.
	Compute the maximum number of digits for the straight notation.
	Call Set_Decimal_Digits at the end to do the final formatting.
	* libgnat/s-imguti.ads (Floating_Invalid_Value): New type.
	(Set_Floating_Invalid_Value): New procedure.
	* libgnat/s-imguti.adb (Set_Floating_Invalid_Value): Implement it
	based on existing code from Set_Image_Real.
	* libgnat/s-unstyp.ads (Float_Unsigned): Delete.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* csets.adb (Initialize): Refactor into CASE statement; raise
	exception on unsupported code of character set (it will be
	gently rejected earlier when scanning command line switches).
	* switch-b.adb (Scan_Binder_Switches): Refactor into a
	membership expression; add missing '9' choice; reorder as
	described by GNAT UG, section 4.3.11.
	* switch-c.adb (Scan_Front_End_Switches): Refactor into a
	membership expression and reorder as above.
	* doc/gnat_ugn/building_executable_programs_with_gnat.rst
	(gnatic): Mention '5' as an allowed value for "c".
	* gnat_ugn.texi: Regenerate.

2021-05-04  Piotr Trojanek  <trojanek@adacore.com>

	* errout.adb (Error_Msg_Internal): Add assertion to prevent
	style mistakes reappearing in the future.

2021-05-04  Javier Miranda  <miranda@adacore.com>

	* exp_ch4.adb (Tagged_Membership): Remove wrong condition that
	is not consistent with the documentation of this subprogram.

2021-05-04  Yannick Moy  <moy@adacore.com>

	* sem_res.adb (Valid_Conversion): Make message a continuation.

2021-05-04  Arnaud Charlet  <charlet@adacore.com>

	* styleg.adb: Address ??? comments.

2021-05-03  Arnaud Charlet  <charlet@adacore.com>

	* libgnat/a-stunau.ads, libgnat/a-stunau.adb,
	libgnat/a-stunau__shared.adb (Set_String): Remove old version,
	replace by a new version taking a callback to set the string.

2021-05-03  Arnaud Charlet  <charlet@adacore.com>

	* libgnat/a-coorma.ads (Map): Add missing
	Preelaborate_Initialization.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch4.adb (Analyze_Number_Declaration, Expand_N_Op_Expon):
	Simplify with Is_Universal_Numeric_Type.
	* sem_attr.adb (Resolve_Attribute): Likewise.
	* sem_ch3.adb: Likewise.
	* sem_ch4.adb (Check_Common_Type, Check_Arithmetic_Pair):
	Likewise.
	* sem_eval.adb (Eval_Unary_Op, Test_In_Range): Likewise.
	* sem_res.adb (Resolve_Arithmetic_Op, Resolve_Membership_Op,
	Resolve_Op_Expon, Resolve_Unary_Op, Set_Mixed_Mode_Operand,
	Set_Operand_Type): Likewise.
	* sem_type.adb (Disambiguate, Find_Unique_Type): Likewise.
	* sem_util.adb (Universal_Interpretation): Likewise.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* exp_aggr.adb (Max_Aggregate_Size): Add header boxes for nested
	routines; move a local constant after nested subprogram bodies;
	refill comment.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Reuse Resolve with implicit
	type when analysing attribute Priority.
	* sem_ch5.adb (Analyze_Case_Statement): Likewise for a rare case
	in analysis of case statements.
	(Analyze_Iterator_Specification): Likewise for non-overloaded
	domain of iteration.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* einfo.adb (Write_Entity_Info): Simplify an Ekind membership
	test.
	* exp_aggr.adb (Is_CCG_Supported_Aggregate): Likewise.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch7.adb (Build_Finalize_Statements): Refine type of a
	local counter variable.
	* exp_dist.adb (Append_Record_Traversal): Refine type of Counter
	parameter.
	(Add_Process_Element): Likewise.
	(Build_From_Any_Call): Refine type of a local counter variable.
	(Build_From_Any_Function): Likewise.
	(Build_To_Any_Function): Likewise.
	(FA_Rec_Add_Process_Element): Likewise.
	(TA_Append_Record_Traversal): Likewise.
	(TA_Rec_Add_Process_Element): Likewise.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* rtsfind.adb (SPARK_Implicit_Load): Simplify with Discard_Node.

2021-05-03  Arnaud Charlet  <charlet@adacore.com>

	* Makefile.rtl: Update copyright notice.
	* ada_get_targ.adb: Likewise.
	* 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_put_image.adb: Likewise.
	* exp_put_image.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.
	* gcc-interface/ada-tree.h: Likewise.
	* gcc-interface/ada.h: Likewise.
	* gcc-interface/cuintp.c: Likewise.
	* gcc-interface/decl.c: Likewise.
	* gcc-interface/gadaint.h: Likewise.
	* gcc-interface/gigi.h: Likewise.
	* gcc-interface/lang-specs.h: Likewise.
	* gcc-interface/misc.c: Likewise.
	* gcc-interface/system.ads: Likewise.
	* gcc-interface/targtyps.c: Likewise.
	* gcc-interface/trans.c: Likewise.
	* gcc-interface/utils.c: Likewise.
	* gcc-interface/utils2.c: 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.
	* gnat_cuda.adb: Likewise.
	* gnat_cuda.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.
	* gnatvsn.ads: 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-tasini.adb: Likewise.
	* libgnarl/a-tasini.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-decima__128.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-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-nagefl.ads: Likewise.
	* libgnat/a-naliop.ads: Likewise.
	* libgnat/a-naliop__nolibm.ads: Likewise.
	* libgnat/a-nallfl.ads: Likewise.
	* libgnat/a-nallfl__wraplf.ads: Likewise.
	* libgnat/a-nalofl.ads: Likewise.
	* libgnat/a-nashfl.ads: Likewise.
	* libgnat/a-nashfl__wraplf.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-nuauco.ads: Likewise.
	* libgnat/a-nuauco__x86.ads: Likewise.
	* libgnat/a-nuaufl.ads: Likewise.
	* libgnat/a-nuaufl__wraplf.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-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-stobbu.adb: Likewise.
	* libgnat/a-stobbu.ads: Likewise.
	* libgnat/a-stobfi.adb: Likewise.
	* libgnat/a-stobfi.ads: Likewise.
	* libgnat/a-storio.adb: Likewise.
	* libgnat/a-stoubu.adb: Likewise.
	* libgnat/a-stoubu.ads: Likewise.
	* libgnat/a-stoufi.adb: Likewise.
	* libgnat/a-stoufi.ads: Likewise.
	* libgnat/a-stoufo.adb: Likewise.
	* libgnat/a-stoufo.ads: Likewise.
	* libgnat/a-stouut.adb: Likewise.
	* libgnat/a-stouut.ads: 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-strsto.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-ststbo.adb: Likewise.
	* libgnat/a-ststbo.ads: Likewise.
	* libgnat/a-ststio.adb: Likewise.
	* libgnat/a-ststio.ads: Likewise.
	* libgnat/a-ststun.adb: Likewise.
	* libgnat/a-ststun.ads: Likewise.
	* libgnat/a-stteou.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-tideio__128.adb: Likewise.
	* libgnat/a-tienau.adb: Likewise.
	* libgnat/a-tienau.ads: Likewise.
	* libgnat/a-tienio.adb: Likewise.
	* libgnat/a-tifiau.adb: Likewise.
	* libgnat/a-tifiau.ads: Likewise.
	* libgnat/a-tifiio.adb: Likewise.
	* libgnat/a-tifiio__128.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-tiinio__128.adb: Likewise.
	* libgnat/a-timoio.adb: Likewise.
	* libgnat/a-timoio.ads: Likewise.
	* libgnat/a-timoio__128.adb: 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-wtdeio__128.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-wtfiau.adb: Likewise.
	* libgnat/a-wtfiau.ads: Likewise.
	* libgnat/a-wtfiio.adb: Likewise.
	* libgnat/a-wtfiio__128.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-wtinio__128.adb: Likewise.
	* libgnat/a-wtmoio.adb: Likewise.
	* libgnat/a-wtmoio.ads: Likewise.
	* libgnat/a-wtmoio__128.adb: 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-ztdeio__128.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-ztfiau.adb: Likewise.
	* libgnat/a-ztfiau.ads: Likewise.
	* libgnat/a-ztfiio.adb: Likewise.
	* libgnat/a-ztfiio__128.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-ztinio__128.adb: Likewise.
	* libgnat/a-ztmoio.adb: Likewise.
	* libgnat/a-ztmoio__128.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-socpol.adb: Likewise.
	* libgnat/g-socpol.ads: Likewise.
	* libgnat/g-socpol__dummy.adb: Likewise.
	* libgnat/g-socpol__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-sopowa.adb: Likewise.
	* libgnat/g-sopowa__mingw.adb: Likewise.
	* libgnat/g-sopowa__posix.adb: 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-spogwa.adb: Likewise.
	* libgnat/g-spogwa.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-cexten__128.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/interfac__2020.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-aoinar.adb: Likewise.
	* libgnat/s-aoinar.ads: Likewise.
	* libgnat/s-aomoar.adb: Likewise.
	* libgnat/s-aomoar.ads: Likewise.
	* libgnat/s-aotase.adb: Likewise.
	* libgnat/s-aotase.ads: Likewise.
	* libgnat/s-aridou.adb: Likewise.
	* libgnat/s-aridou.ads: Likewise.
	* libgnat/s-arit128.adb: Likewise.
	* libgnat/s-arit128.ads: Likewise.
	* libgnat/s-arit32.adb: Likewise.
	* libgnat/s-arit32.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-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-casi128.adb: Likewise.
	* libgnat/s-casi128.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-caun128.adb: Likewise.
	* libgnat/s-caun128.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-exnllli.ads: Likewise.
	* libgnat/s-expint.adb: Likewise.
	* libgnat/s-expint.ads: Likewise.
	* libgnat/s-explli.adb: Likewise.
	* libgnat/s-explli.ads: Likewise.
	* libgnat/s-expllli.ads: Likewise.
	* libgnat/s-explllu.ads: Likewise.
	* libgnat/s-expllu.adb: Likewise.
	* libgnat/s-expllu.ads: Likewise.
	* libgnat/s-expmod.adb: Likewise.
	* libgnat/s-expmod.ads: Likewise.
	* libgnat/s-exponn.adb: Likewise.
	* libgnat/s-exponn.ads: Likewise.
	* libgnat/s-expont.adb: Likewise.
	* libgnat/s-expont.ads: Likewise.
	* libgnat/s-exponu.adb: Likewise.
	* libgnat/s-exponu.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-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-fode128.ads: Likewise.
	* libgnat/s-fode32.ads: Likewise.
	* libgnat/s-fode64.ads: Likewise.
	* libgnat/s-fofi128.ads: Likewise.
	* libgnat/s-fofi32.ads: Likewise.
	* libgnat/s-fofi64.ads: Likewise.
	* libgnat/s-fore_d.adb: Likewise.
	* libgnat/s-fore_d.ads: Likewise.
	* libgnat/s-fore_f.adb: Likewise.
	* libgnat/s-fore_f.ads: Likewise.
	* libgnat/s-forrea.adb: Likewise.
	* libgnat/s-forrea.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-imageb.adb: Likewise.
	* libgnat/s-imageb.ads: Likewise.
	* libgnat/s-imaged.adb: Likewise.
	* libgnat/s-imaged.ads: Likewise.
	* libgnat/s-imagef.adb: Likewise.
	* libgnat/s-imagef.ads: Likewise.
	* libgnat/s-imagei.adb: Likewise.
	* libgnat/s-imagei.ads: Likewise.
	* libgnat/s-imageu.adb: Likewise.
	* libgnat/s-imageu.ads: Likewise.
	* libgnat/s-imagew.adb: Likewise.
	* libgnat/s-imagew.ads: Likewise.
	* libgnat/s-imde128.ads: Likewise.
	* libgnat/s-imde32.ads: Likewise.
	* libgnat/s-imde64.ads: Likewise.
	* libgnat/s-imenne.adb: Likewise.
	* libgnat/s-imenne.ads: Likewise.
	* libgnat/s-imfi128.ads: Likewise.
	* libgnat/s-imfi32.ads: Likewise.
	* libgnat/s-imfi64.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-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-imglli.adb: Likewise.
	* libgnat/s-imglli.ads: Likewise.
	* libgnat/s-imglllb.ads: Likewise.
	* libgnat/s-imgllli.ads: Likewise.
	* libgnat/s-imglllu.ads: Likewise.
	* libgnat/s-imglllw.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-imguti.adb: Likewise.
	* libgnat/s-imguti.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-pack100.adb: Likewise.
	* libgnat/s-pack100.ads: Likewise.
	* libgnat/s-pack101.adb: Likewise.
	* libgnat/s-pack101.ads: Likewise.
	* libgnat/s-pack102.adb: Likewise.
	* libgnat/s-pack102.ads: Likewise.
	* libgnat/s-pack103.adb: Likewise.
	* libgnat/s-pack103.ads: Likewise.
	* libgnat/s-pack104.adb: Likewise.
	* libgnat/s-pack104.ads: Likewise.
	* libgnat/s-pack105.adb: Likewise.
	* libgnat/s-pack105.ads: Likewise.
	* libgnat/s-pack106.adb: Likewise.
	* libgnat/s-pack106.ads: Likewise.
	* libgnat/s-pack107.adb: Likewise.
	* libgnat/s-pack107.ads: Likewise.
	* libgnat/s-pack108.adb: Likewise.
	* libgnat/s-pack108.ads: Likewise.
	* libgnat/s-pack109.adb: Likewise.
	* libgnat/s-pack109.ads: Likewise.
	* libgnat/s-pack11.adb: Likewise.
	* libgnat/s-pack11.ads: Likewise.
	* libgnat/s-pack110.adb: Likewise.
	* libgnat/s-pack110.ads: Likewise.
	* libgnat/s-pack111.adb: Likewise.
	* libgnat/s-pack111.ads: Likewise.
	* libgnat/s-pack112.adb: Likewise.
	* libgnat/s-pack112.ads: Likewise.
	* libgnat/s-pack113.adb: Likewise.
	* libgnat/s-pack113.ads: Likewise.
	* libgnat/s-pack114.adb: Likewise.
	* libgnat/s-pack114.ads: Likewise.
	* libgnat/s-pack115.adb: Likewise.
	* libgnat/s-pack115.ads: Likewise.
	* libgnat/s-pack116.adb: Likewise.
	* libgnat/s-pack116.ads: Likewise.
	* libgnat/s-pack117.adb: Likewise.
	* libgnat/s-pack117.ads: Likewise.
	* libgnat/s-pack118.adb: Likewise.
	* libgnat/s-pack118.ads: Likewise.
	* libgnat/s-pack119.adb: Likewise.
	* libgnat/s-pack119.ads: Likewise.
	* libgnat/s-pack12.adb: Likewise.
	* libgnat/s-pack12.ads: Likewise.
	* libgnat/s-pack120.adb: Likewise.
	* libgnat/s-pack120.ads: Likewise.
	* libgnat/s-pack121.adb: Likewise.
	* libgnat/s-pack121.ads: Likewise.
	* libgnat/s-pack122.adb: Likewise.
	* libgnat/s-pack122.ads: Likewise.
	* libgnat/s-pack123.adb: Likewise.
	* libgnat/s-pack123.ads: Likewise.
	* libgnat/s-pack124.adb: Likewise.
	* libgnat/s-pack124.ads: Likewise.
	* libgnat/s-pack125.adb: Likewise.
	* libgnat/s-pack125.ads: Likewise.
	* libgnat/s-pack126.adb: Likewise.
	* libgnat/s-pack126.ads: Likewise.
	* libgnat/s-pack127.adb: Likewise.
	* libgnat/s-pack127.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-pack65.adb: Likewise.
	* libgnat/s-pack65.ads: Likewise.
	* libgnat/s-pack66.adb: Likewise.
	* libgnat/s-pack66.ads: Likewise.
	* libgnat/s-pack67.adb: Likewise.
	* libgnat/s-pack67.ads: Likewise.
	* libgnat/s-pack68.adb: Likewise.
	* libgnat/s-pack68.ads: Likewise.
	* libgnat/s-pack69.adb: Likewise.
	* libgnat/s-pack69.ads: Likewise.
	* libgnat/s-pack70.adb: Likewise.
	* libgnat/s-pack70.ads: Likewise.
	* libgnat/s-pack71.adb: Likewise.
	* libgnat/s-pack71.ads: Likewise.
	* libgnat/s-pack72.adb: Likewise.
	* libgnat/s-pack72.ads: Likewise.
	* libgnat/s-pack73.adb: Likewise.
	* libgnat/s-pack73.ads: Likewise.
	* libgnat/s-pack74.adb: Likewise.
	* libgnat/s-pack74.ads: Likewise.
	* libgnat/s-pack75.adb: Likewise.
	* libgnat/s-pack75.ads: Likewise.
	* libgnat/s-pack76.adb: Likewise.
	* libgnat/s-pack76.ads: Likewise.
	* libgnat/s-pack77.adb: Likewise.
	* libgnat/s-pack77.ads: Likewise.
	* libgnat/s-pack78.adb: Likewise.
	* libgnat/s-pack78.ads: Likewise.
	* libgnat/s-pack79.adb: Likewise.
	* libgnat/s-pack79.ads: Likewise.
	* libgnat/s-pack80.adb: Likewise.
	* libgnat/s-pack80.ads: Likewise.
	* libgnat/s-pack81.adb: Likewise.
	* libgnat/s-pack81.ads: Likewise.
	* libgnat/s-pack82.adb: Likewise.
	* libgnat/s-pack82.ads: Likewise.
	* libgnat/s-pack83.adb: Likewise.
	* libgnat/s-pack83.ads: Likewise.
	* libgnat/s-pack84.adb: Likewise.
	* libgnat/s-pack84.ads: Likewise.
	* libgnat/s-pack85.adb: Likewise.
	* libgnat/s-pack85.ads: Likewise.
	* libgnat/s-pack86.adb: Likewise.
	* libgnat/s-pack86.ads: Likewise.
	* libgnat/s-pack87.adb: Likewise.
	* libgnat/s-pack87.ads: Likewise.
	* libgnat/s-pack88.adb: Likewise.
	* libgnat/s-pack88.ads: Likewise.
	* libgnat/s-pack89.adb: Likewise.
	* libgnat/s-pack89.ads: Likewise.
	* libgnat/s-pack90.adb: Likewise.
	* libgnat/s-pack90.ads: Likewise.
	* libgnat/s-pack91.adb: Likewise.
	* libgnat/s-pack91.ads: Likewise.
	* libgnat/s-pack92.adb: Likewise.
	* libgnat/s-pack92.ads: Likewise.
	* libgnat/s-pack93.adb: Likewise.
	* libgnat/s-pack93.ads: Likewise.
	* libgnat/s-pack94.adb: Likewise.
	* libgnat/s-pack94.ads: Likewise.
	* libgnat/s-pack95.adb: Likewise.
	* libgnat/s-pack95.ads: Likewise.
	* libgnat/s-pack96.adb: Likewise.
	* libgnat/s-pack96.ads: Likewise.
	* libgnat/s-pack97.adb: Likewise.
	* libgnat/s-pack97.ads: Likewise.
	* libgnat/s-pack98.adb: Likewise.
	* libgnat/s-pack98.ads: Likewise.
	* libgnat/s-pack99.adb: Likewise.
	* libgnat/s-pack99.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-powflt.ads: Likewise.
	* libgnat/s-powlfl.ads: Likewise.
	* libgnat/s-powllf.ads: Likewise.
	* libgnat/s-purexc.ads: Likewise.
	* libgnat/s-putaim.adb: Likewise.
	* libgnat/s-putaim.ads: Likewise.
	* libgnat/s-putima.adb: Likewise.
	* libgnat/s-putima.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-scaval__128.adb: Likewise.
	* libgnat/s-scaval__128.ads: Likewise.
	* libgnat/s-secsta.adb: Likewise.
	* libgnat/s-secsta.ads: Likewise.
	* libgnat/s-sequio.adb: Likewise.
	* libgnat/s-sequio.ads: Likewise.
	* libgnat/s-shabig.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-statxd.adb: Likewise.
	* libgnat/s-statxd.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-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-vade128.ads: Likewise.
	* libgnat/s-vade32.ads: Likewise.
	* libgnat/s-vade64.ads: Likewise.
	* libgnat/s-vafi128.ads: Likewise.
	* libgnat/s-vafi32.ads: Likewise.
	* libgnat/s-vafi64.ads: Likewise.
	* libgnat/s-valboo.adb: Likewise.
	* libgnat/s-valboo.ads: Likewise.
	* libgnat/s-valcha.adb: Likewise.
	* libgnat/s-valcha.ads: Likewise.
	* libgnat/s-valenu.adb: Likewise.
	* libgnat/s-valenu.ads: Likewise.
	* libgnat/s-valflt.ads: Likewise.
	* libgnat/s-valint.adb: Likewise.
	* libgnat/s-valint.ads: Likewise.
	* libgnat/s-vallfl.ads: Likewise.
	* libgnat/s-valllf.ads: Likewise.
	* libgnat/s-vallli.adb: Likewise.
	* libgnat/s-vallli.ads: Likewise.
	* libgnat/s-valllli.ads: Likewise.
	* libgnat/s-vallllu.ads: Likewise.
	* libgnat/s-valllu.adb: Likewise.
	* libgnat/s-valllu.ads: Likewise.
	* libgnat/s-valrea.adb: Likewise.
	* libgnat/s-valrea.ads: Likewise.
	* libgnat/s-valued.adb: Likewise.
	* libgnat/s-valued.ads: Likewise.
	* libgnat/s-valuef.adb: Likewise.
	* libgnat/s-valuef.ads: Likewise.
	* libgnat/s-valuei.adb: Likewise.
	* libgnat/s-valuei.ads: Likewise.
	* libgnat/s-valuer.adb: Likewise.
	* libgnat/s-valuer.ads: Likewise.
	* libgnat/s-valueu.adb: Likewise.
	* libgnat/s-valueu.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-widint.ads: Likewise.
	* libgnat/s-widlli.adb: Likewise.
	* libgnat/s-widlli.ads: Likewise.
	* libgnat/s-widllli.ads: Likewise.
	* libgnat/s-widlllu.ads: Likewise.
	* libgnat/s-widllu.adb: Likewise.
	* libgnat/s-widllu.ads: Likewise.
	* libgnat/s-widthi.adb: Likewise.
	* libgnat/s-widthi.ads: Likewise.
	* libgnat/s-widthu.adb: Likewise.
	* libgnat/s-widthu.ads: Likewise.
	* libgnat/s-widuns.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.
	* 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.
	* snames.adb-tmpl: Likewise.
	* snames.ads-tmpl: Likewise.
	* socket.c: Likewise.
	* spark_xrefs.adb: Likewise.
	* spark_xrefs.ads: Likewise.
	* sprint.adb: Likewise.
	* sprint.ads: 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.
	* 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.
	* 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.
	* vast.adb: Likewise.
	* vast.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.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* exp_dist.adb (Build_From_Any_Call): Remove initial value for
	Fnam; fix style.
	(Build_To_Any_Call): Remove initial value for Fnam.
	(Build_TypeCode_Call): Likewise.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch6.adb,
	exp_disp.adb, exp_imgv.adb, exp_util.adb, sem_attr.adb,
	sem_ch13.adb, sem_ch8.adb, sem_eval.adb, sem_scil.adb,
	sem_util.adb: Replace calls to RTE with Is_RTE.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch4.adb (Try_Object_Operation): Reuse local constant.

2021-05-03  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Try_Object_Operation): When a prefixed call is
	overloaded and illegal, and the All_Errors flag is off, generate
	an error message if the re-analysis of some candidate
	interpretation fails to produce one.

2021-05-03  Dmitriy Anisimkov  <anisimko@adacore.com>

	* libgnat/g-casuti.adb: Replace with "pragma No_Body".
	* libgnat/g-casuti.ads: Replace with a package renaming.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* sem_attr.adb (Check_Program_Unit): Fix references to
	Concurrent_Kind and Is_Concurrent_Type; avoid repeated calls to
	Entity.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* sem_attr.adb (Check_Program_Unit): Replace tests for Task_Kind
	and Protected_Kind with a collective test for Concurrent_Kind;
	likewise, replace calls to Is_Task_Type and Is_Protected_Type
	with a collective call to Is_Concurrent_Type; simplify into a
	single membership test; add missing Entry_Kind alternative.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregate): Fix casing in error
	message.
	* sem_ch3.adb (Add_Internal_Interface_Entities): Fix unbalanced
	parens.
	* sem_elim.adb (Eliminate_Error_Msg): Add insertion character.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* freeze.adb (Freeze_Profile): Replace Error_Msg_NE with
	Error_Msg_N; change to continuation message.
	* sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch5.adb: Replace
	calls to Error_Msg_NE with calls to Error_Msg_N.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* exp_disp.adb, sem_aggr.adb, sem_cat.adb, sem_ch10.adb,
	sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
	sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb,
	sem_res.adb: Remove extra leading and trailing space in error
	messages.

2021-05-03  Arnaud Charlet  <charlet@adacore.com>

	* sem_prag.adb (Set_Exported): Do not warn on exporting a type.

2021-05-03  Ed Schonberg  <schonberg@adacore.com>

	* sem_warn.adb (Check_References): Do not emit warning on a
	selected component when enclosing type has no discriminant and
	type of component has partial initialization.

2021-05-03  Justin Squirek  <squirek@adacore.com>

	* contracts.adb (Build_Postconditions_Procedure): Remove
	internally generated if statement used to control finalization
	actions.
	* exp_ch6.adb (Add_Return, Expand_Non_Function_Return,
	Expand_Simple_Function_Return): Add if statement around
	_postconditions to control finalization.
	* exp_ch7.adb (Build_Finalizer): Likewise.
	* sem_prag.adb (Find_Related_Declaration_Or_Body): Add case to
	handle Context itself being a handled sequence of statements.

2021-05-03  Justin Squirek  <squirek@adacore.com>

	* sem_util.adb (In_Return_Value): Modified to detect when
	implicit dereference is specified on the return type of a
	function call within the expression being checked.

2021-05-03  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Expand_Array_Aggregate): If the parent node of
	the aggregate is a subprogram call there is no target in which
	to build the aggregate, and it has to be expanded into component
	assignments.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* exp_prag.adb (Expand_Pragma_CUDA_Execute): Refill comments;
	remove periods after single-line comments; use procedural
	variant of Next_Entity.
	* gnat_cuda.adb: Refill comments; remove periods after
	single-line comments; replace calls to UI_From_Int with
	constants; change iteration bounds so they match the comments.
	* sem_prag.adb (Analyze_Pragma): Add checks for malformed pragma
	CUDA_Kernel aggregate; simplify processing of pragma CUDA_Global
	with Check_Arg_Count; sync comment with code for CUDA_Global.

2021-05-03  Arnaud Charlet  <charlet@adacore.com>

	* tbuild.adb (Make_Implicit_Loop_Statement): Disable restriction
	checking on dead paths.

2021-05-03  Arnaud Charlet  <charlet@adacore.com>

	* sem_util.adb (Check_Result_And_Post_State): Replace custom
	Has_In_Out_Parameter with existing Has_Out_Or_In_Out_Parameter
	flag which corresponds exactly to what we need.

2021-05-03  Arnaud Charlet  <charlet@adacore.com>

	* libgnat/a-ztcoio.adb: Remove unused with clause.

2021-05-03  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch13.adb (Build_Predicate_Functions): Fix typo in comment.
	(Resolve_Aspect_Expressions): Fix typo in comment; remove
	redundant check for no aspects; simplify with Discard_Node.

2021-05-03  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Build_Constrained_Itype): Remove prior patch,
	issue is better handled in Sem_Ch13.Build_Predicate_Functions.
	* sem_ch13.adb (Build_Predicate_Functions): Do not build
	predicate function for an Itype with a defined
	Predicated_Parent, even if that designated parent does not yet
	have a Predicate_Function. This can happen in instance bodies
	nested within a generic unit.

2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference)
	<Attribute_Max_Size_In_Storage_Elements>: Apply the checks for
	universal integer contexts only in the default case.
	* exp_ch4.adb (Get_Size_For_Range): Move to library level.
	(Expand_N_Type_Conversion): If the operand has Universal_Integer
	type and the conversion requires an overflow check, try to do an
	intermediate conversion to a narrower type.

2021-04-29  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch3.adb (Check_Anonymous_Access_Component): Factor out
	core processing of Check_Anonymous_Access_Components.
	(Check_Anonymous_Access_Components): Call
	Check_Anonymous_Access_Component.
	(Process_Discriminants): Call Check_Anonymous_Access_Component.
	* freeze.adb (Freeze_Record_Type): Code cleanups and add more tree
	checking to handle changes in sem_ch3.adb.
	* sem_ch8.adb (Find_Type): Remove special case for access
	discriminant in task types, these are now supported.

2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow): Remove
	entry condition.
	(Expand_N_In): Call Minimized_Eliminated_Overflow_Check on the left
	operand before doing the special overflow expansion.
	(Expand_N_Op_Eq): Likewise.
	(Expand_N_Op_Ge): Likewise.
	(Expand_N_Op_Gt): Likewise.
	(Expand_N_Op_Le): Likewise.
	(Expand_N_Op_Lt): Likewise.
	(Expand_N_Op_Ne): Likewise.
	(Minimized_Eliminated_Overflow_Check): Return False for Minimized
	if the size of the type is greater than that of Long_Long_Integer.

2021-04-29  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch5.adb (Expand_N_If_Statement): Only perform the
	simplification on return True/False for internal nodes when
	-fpreserve-control-flow is not set.

2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_attr.adb (Eval_Attribute) <Attribute_Machine>: Use
	Round_Even instead of Round in the call to the Machine routine.

2021-04-29  Bob Duff  <duff@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Change "$" to "&".
	Otherwise, Errout will trip over an uninitialized (invalid)
	variable (Error_Msg_Unit_1).

2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-valuer.adb (Scan_Decimal_Digits): Set Extra to zero
	when the precision limit is reached by means of trailing zeros
	and prevent it from being overwritten later.

2021-04-29  Yannick Moy  <moy@adacore.com>

	* errout.adb (Output_Messages): Insert SGR strings where needed.
	* erroutc.adb (Output_Message_Txt): Insert SGR strings where
	needed in the text of the message itself.
	(Output_Msg_Text): Allow for style message not to start
	with (style).
	* erroutc.ads: Add new constants and functions to control colors
	in messages output to the terminal. Add variable Use_SGR_Control
	that should be set to True for using SGR color control strings.

2021-04-29  Yannick Moy  <moy@adacore.com>

	* sem_eval.adb (Check_Non_Static_Context_For_Overflow): Apply
	compile-time checking for overflows in non-static contexts
	including inlined code.
	(Eval_Arithmetic_Op): Use the new procedure.
	(Eval_Unary_Op, Eval_Op_Expon): Add call to the new procedure.

2021-04-29  Justin Squirek  <squirek@adacore.com>

	* checks.adb (Apply_Type_Conversion_Checks): Move out constraint
	check generation, and add case for general access types with
	constraints.
	(Make_Discriminant_Constraint_Check): Created to centralize
	generation of constraint checks for stored discriminants.

2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Force a 32-bit Duration
	type if the maximum integer size is lower than 64 bits.

2021-04-29  Arnaud Charlet  <charlet@adacore.com>

	* Makefile.rtl (ADA_EXCLUDE_SRCS): Remove unused files.
	(ADA_INCLUDE_SRCS): Remove libgnat/system.ads

2021-04-29  Arnaud Charlet  <charlet@adacore.com>

	* exp_aggr.adb (Collect_Initialization_Statements): Removed.
	(Convert_Aggr_In_Object_Decl, Expand_Array_Aggregate): Fix
	creation and insertion of Initialization_Statements.  Do not set
	Initialization_Statements when a transient scope is involved.
	Move processing of Array_Slice here.  Ensure that an object with
	an Array_Slice call gets its array component initialized.  Add
	comments.
	* exp_ch7.adb: Update comments.
	(Store_Actions_In_Scope): Deal properly with an empty list which
	might now be generated by Convert_Aggr_In_Object_Decl.
	* exp_ch3.adb: Update comments.
	(Expand_N_Object_Declaration): Remove processing of Array_Slice.

2021-04-29  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch8.adb (Analyze_Object_Renaming): Update check for
	AI12-0401.

2021-04-29  Patrick Bernardi  <bernardi@adacore.com>

	* libgnat/s-stoele.ads (Storage_Offset): Cleanup comment.

2021-04-29  Gary Dismukes  <dismukes@adacore.com>

	* exp_util.adb (Add_Own_DIC): Relax the suppression of adding a
	DIC Check pragma that's done for abstract types by still doing
	it in the case where GNATprove_Mode is set.

2021-04-29  Joel Brobecker  <brobecker@adacore.com>

	* Makefile.rtl (ADA_EXCLUDE_SRCS): Remove s-gcc.adb, s-gcc.ads,
	s-gccdiv.adb, s-gccdiv.ads, s-gccshi.adb and s-gccshi.ads.

2021-04-29  Piotr Trojanek  <trojanek@adacore.com>

	* layout.adb (Layout_Type): Refine type of a local variable with
	the required size of object from Int to Pos (it is initialized
	with 8 and only multiplied by 2); fix unbalanced parens in
	comment.

2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>

	* eval_fat.adb (Succ): Use Ureal_Half in a couple of places.

2021-04-29  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Build_Constrained_Itype): Inhibit the generation
	of predicate functions for this Itype, which is created for an
	aggregate of a discriminated type. The object to which the
	aggregate is assigned, e.g a writable actual parameter, will
	apply the predicates if any are inherited from the base type.

2021-04-29  Piotr Trojanek  <trojanek@adacore.com>

	* sem_cat.adb (Set_Categorization_From_Pragmas): Remove special
	case for generic child units; remove optimization for empty list
	of pragmas; properly restore visibility.

2021-04-29  Piotr Trojanek  <trojanek@adacore.com>

	* sem_elab.adb (Process_SPARK_Instantiation): Fix typo in
	comment.
	* sem_prag.adb (Find_Related_Context): Add missing reference to
	No_Caching in the comment; handle pragmas on compilation units.

2021-04-29  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_rm/implementation_defined_attributes.rst: Change all
	occurrences of "permissible prefix" to "allowed prefix", for
	consistency.
	* gnat_rm.texi: Regenerate.

2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>

	* eval_fat.adb (Succ): Add a special case for zero if the type does
	not support denormalized numbers.  Always use the canonical formula
	in other cases and add commentary throughout the function.

2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-fatgen.adb: Remove with clause for Interfaces and
	use type clauses for Interfaces.Unsigned_{16,32,64}.
	(Small16): Remove.
	(Small32): Likewise
	(Small64): Likewise.
	(Small80): Likewise.
	(Tiny16): Likewise.
	(Tiny32): Likewise.
	(Tiny64): Likewise.
	(Tiny80): Likewise.
	(Siz): Always use 16.
	(NR): New constant.
	(Rep_Last): Use it in the computation.
	(Exp_Factor): Remove special case for 80-bit.
	(Sign_Mask): Likewise.
	(Finite_Succ): New function implementing the Succ attribute for
	finite numbers.
	(Pred): Rewrite in terms of Finite_Succ.
	(Succ): Likewise.

2021-04-29  Arnaud Charlet  <charlet@adacore.com>

	* debug_a.adb (Debug_Output_Astring): Remove obsolete comment.

2021-04-29  Arnaud Charlet  <charlet@adacore.com>

	* sem_attr.adb (Check_Image_Type): Protect against empty
	Image_Type.

2021-04-29  Arnaud Charlet  <charlet@adacore.com>

	* libgnat/a-nbnbin.ads (From_Universal_Image): New.
	(Big_Integer): Update definition.
	* libgnat/a-nbnbre.ads, libgnat/a-nbnbre.adb
	(From_Universal_Image): New.
	(From_String): Remove alternate body, replaced by
	From_Universal_Image.
	(Big_Real): Update definition.

2021-04-29  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch8.adb (Find_Type): Check the No_Obsolescent_Features
	restriction for 'Class applied to an untagged incomplete
	type (when Ada_Version >= Ada_2005).  Remove disabling of the
	warning message for such usage, along with the ??? comment,
	which no longer applies (because the -gnatg switch no longer
	sets Warn_On_Obsolescent_Feature).

2021-04-29  Yannick Moy  <moy@adacore.com>

	* errout.adb (Error_Msg_NEL): Extract span from node.
	(First_And_Last_Nodes): Use spans for subtype indications and
	attribute definition clauses.
	(Write_Source_Code_Lines): Fix for tabulation characters. Change
	output for large spans to skip intermediate lines.
	* sem_case.adb (Check_Choice_Set): Report duplicate choice on
	the Original_Node for the case.
	(Generic_Check_Choices): Set the Original_Node for the rewritten
	case, so that the subtree used in spans has the correct
	locations.

2021-04-28  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch13.adb, sem_util.adb: Fix style.

2021-04-28  Piotr Trojanek  <trojanek@adacore.com>

	* nlists.ads (List_Length): Adapt comment to match the
	behaviour.

2021-04-28  Arnaud Charlet  <charlet@adacore.com>

	* sem_eval.adb (Eval_Selected_Component): Only consider compile
	time known aggregates.

2021-04-28  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-fatgen.adb: Add use clause for Interfaces.Unsigned_16
	and Interfaces.Unsigned_32.
	(Small16): New constant.
	(Small32): Likewise.
	(Small64): Likewise.
	(Small80): Likewise.
	(Pred): Declare a local overlay for Small and return it negated
	for zero if the type does not support denormalized numbers.
	(Succ): Likewise, but return it directly.

2021-04-28  Piotr Trojanek  <trojanek@adacore.com>

	* inline.adb (Formal_Is_Used_Once): Refine type of the counter
	variable; remove redundant assignment.

2021-04-28  Patrick Bernardi  <bernardi@adacore.com>

	* libgnarl/s-interr.adb (Install_Restricted_Handlers): Change
	Prio parameter to type Interrupt_Priority.
	* libgnarl/s-interr.ads (Install_Restricted_Handlers): Likewise.
	* libgnarl/s-interr__dummy.adb (Install_Restricted_Handlers):
	Likewise.
	* libgnarl/s-interr__hwint.adb (Install_Restricted_Handlers):
	Likewise.
	* libgnarl/s-interr__sigaction.adb (Install_Restricted_Handlers):
	Likewise.
	* libgnarl/s-interr__vxworks.adb (Install_Restricted_Handlers):
	Likewise.

2021-04-28  Piotr Trojanek  <trojanek@adacore.com>

	* sem_type.ads (Write_Interp_Ref): Removed; no longer needed.
	* sem_type.adb (Headers): Removed; now the hash table is
	directly in the Interp_Map alone.
	(Interp_Map): Now an instance of the GNAT.HTable.Simple_HTable.
	(Last_Overloaded): New variable to emulate Interp_Map.Last.
	(Add_One_Interp): Adapt to new data structure.
	(Get_First_Interp): Likewise.
	(Hash): Likewise.
	(Init_Interp_Tables): Likewise.
	(New_Interps): Likewise.
	(Save_Interps): Likewise; handle O_N variable like in
	Get_First_Interp.
	(Write_Interp_Ref): Removed; no longer needed.

2021-04-28  Piotr Trojanek  <trojanek@adacore.com>

	* inline.adb (Do_Reset_Calls): Now an instance of Traverse_Proc.

2021-04-28  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Static): Reuse
	Error_Msg_Ada_2020_Feature for aspect Static.
	(Analyze_One_Aspect): Likewise for aspect Full_Access.

2021-04-28  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Static): Refactor to have a
	single check for the expression being present; adapt comments.

2021-04-28  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Static): Use aspect name in the
	error message.

2021-04-28  Piotr Trojanek  <trojanek@adacore.com>

	* sem_eval.adb (Eval_Selected_Component): Simplify with
	Unqualify.

2021-04-28  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-valrea.adb (Fast2Sum): New function.
	(Integer_to_Real): Use it in an iterated addition with exact
	error handling for the case where an extra digit is needed.
	Move local variable now only used in the exponentiation case.

2021-04-28  Yannick Moy  <moy@adacore.com>

	* errout.adb: (Error_Msg_Internal): Use span instead of
	location.
	(Error_Msg, Error_Msg_NEL): Add versions with span parameter.
	(Error_Msg_F, Error_Msg_FE, Error_Msg_N, Error_Msg_NE,
	Error_Msg_NW): Retrieve span from node.
	(First_Node): Use the new First_And_Last_Nodes.
	(First_And_Last_Nodes): Expand on previous First_Node. Apply to
	other nodes than expressions.
	(First_Sloc): Protect against inconsistent locations.
	(Last_Node): New function based on First_And_Last_Nodes.
	(Last_Sloc): New function similar to First_Sloc.
	(Output_Messages): Update output when -gnatdF is used. Use
	character ~ for making the span visible, similar to what is done
	in GCC and Clang.
	* errout.ads (Error_Msg, Error_Msg_NEL): Add versions with span
	parameter.
	(First_And_Last_Nodes, Last_Node, Last_Sloc): New subprograms.
	* erroutc.adb: Adapt to Sptr field being a span.
	* erroutc.ads (Error_Msg_Object): Change field Sptr from
	location to span.
	* errutil.adb: Adapt to Sptr field being a span.
	* freeze.adb: Use Errout reporting procedures for nodes to get
	spans.
	* par-ch3.adb: Likewise.
	* par-prag.adb: Likewise.
	* par-util.adb: Likewise.
	* sem_case.adb: Likewise.
	* sem_ch13.adb: Likewise.
	* sem_ch3.adb: Likewise.
	* sem_prag.adb: Likewise.
	* types.ads: (Source_Span): New type for spans.
	(To_Span): Basic constructors for spans.

2021-04-28  Arnaud Charlet  <charlet@adacore.com>

	* einfo.adb (Discriminant_Constraint): Refine assertion.

2021-04-28  Gary Dismukes  <dismukes@adacore.com>

	* exp_util.adb (Add_Own_DIC): Suppress expansion of a DIC pragma
	when the pragma occurs for an abstract type, since that could
	lead to a call to an abstract function, and such DIC checks can
	never be performed for abstract types in any case.
	* sem_disp.adb (Check_Dispatching_Context): Suppress the check
	for illegal calls to abstract subprograms when the call occurs
	within a Default_Initial_Condition aspect and the call is passed
	the current instance as an actual.
	(Has_Controlling_Current_Instance_Actual): New function to test
	a call to see if it has any actuals given by direct references
	to a current instance of a type
	* sem_res.adb (Resolve_Actuals): Issue an error for a call
	within a DIC aspect to a nonprimitive subprogram with an actual
	given by the name of the DIC type's current instance (which will
	show up as a reference to the formal parameter of a DIC
	procedure).

2021-04-28  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb (Expand_Record_Extension): Set Parent_Subtype on
	the type extension when within a generic unit, even though
	expansion is disabled, to allow for proper resolution of
	selected components inherited from an ancestor.

2021-04-28  Arnaud Charlet  <charlet@adacore.com>

	* sem_aux.adb (Is_Limited_Type): Fix logic to check Is_Type
	before assuming Ent is a typo.
	* sem_ch4.adb (Analyze_Expression_With_Actions): Update
	comments, minor reformatting.
	* sem_res.adb (Resolve_Declare_Expression): Add protection
	against no type.

2021-04-28  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch6.adb: Fix typo in comment.
	* sem_ch3.adb (Access_Subprogram_Declaration): Add missing call
	to Create_Extra_Formals. Remove obsolete bootstrap check.
	* sem_eval.adb (Eval_Selected_Component): Simplify a
	selected_component on an aggregate.

2021-04-28  Piotr Trojanek  <trojanek@adacore.com>

	* fmap.ads (Reset_Tables): Remove outdated references to
	GNSA/ASIS.
	* sem_eval.ads (Initialize): Likewise.
	* sem_type.adb (Headers): Remove initialization at elaboration.
	* sem_type.ads (Init_Interp_Tables): Remove outdated reference
	to gnatf.
	* stringt.ads (Initialize): Fix style in comment.

2021-04-28  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.ads: Update reference in comment.
	* sem_type.ads: Fix casing in a name of a unit.

2021-04-28  Yannick Moy  <moy@adacore.com>

	* ghost.adb (Check_Ghost_Context): Add continuation message when
	in predicate.

2021-04-28  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-valrea.adb (Integer_to_Real): Use a subtype of Num
	for the component type of the table of powers of ten.
	* libgnat/s-valuer.adb (Round_Extra): Add assertion on Base.

2021-04-28  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch5.adb (Analyze_Case_Statement): Extend optimization to
	all objects; fix typo in comment.

2021-04-28  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch9.adb (Build_Barrier_Function): Refine type of a
	protected type entity.
	(Is_Pure_Barrier): Fix style.

2021-04-28  Bob Duff  <duff@adacore.com>

	* exp_ch3.adb (Simple_Init_Defaulted_Type): Simplify the code,
	and always use OK_Convert_To, rather than Unchecked_Convert_To
	and Convert_To.

2021-04-28  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Remove dead code.
	* ali.ads, ali.adb (Scan_ALI): Remove unused parameters.
	Remove unused code related to Xref lines.
	(Get_Typeref): Removed, no longer used.

2021-04-28  Arnaud Charlet  <charlet@adacore.com>

	* exp_attr.adb (Build_Array_VS_Func, Build_Record_VS_Func,
	Expand_N_Attribute_Reference): Use Get_Fullest_View instead of
	Validated_View.
	(Build_Record_VS_Func): Adjust to keep using Validated_View.
	(Expand_N_Attribute_Reference) [Valid]: Use
	Small_Integer_Type_For to allow for more compile time
	evaluations.
	* sem_util.adb (Cannot_Raise_Constraint_Error): Add more precise
	support for N_Indexed_Component and fix support for
	N_Selected_Component which wasn't completely safe.
	(List_Cannot_Raise_CE): New.
	* libgnat/i-cobol.adb (Valid_Packed): Simplify test to address
	new GNAT warning.

2021-04-28  Arnaud Charlet  <charlet@adacore.com>

	* .gitignore: New.
	* doc/share/conf.py: Add Python 3 compatibility.
	* doc/share/gnat.sty: Add missing file.

2021-04-28  Richard Wai  <richard@annexi-strayline.com>

	* libgnat/a-cohase.ads (Cursor): Synchronize comments for the Cursor
	type definition to be consistent with identical definitions in other
	container packages. Add additional comments regarding the importance of
	maintaining the "Position" component for predefined equality.
	* libgnat/a-cohama.ads (Cursor): Likewise.
	* libgnat/a-cihama.ads (Cursor): Likewise.
	* libgnat/a-cohase.adb (Find, Insert): Ensure that Cursor objects
	always have their "Position" component set to ensure predefined
	equality works as required.
	* libgnat/a-cohama.adb (Find, Insert): Likewise.
	* libgnat/a-cihama.adb (Find, Insert): Likewise.

2021-04-28  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_subprog_type): Do not demote a
	const or pure function because of a parameter whose type is pointer
	to function.
	* gcc-interface/trans.c (Call_to_gnu): Do not put back a conversion
	between an actual and a formal that are unconstrained array types.
	(gnat_gimplify_expr) <CALL_EXPR>: New case.
	* gcc-interface/utils2.c (build_binary_op): Do not use |= operator.
	(gnat_stabilize_reference_1): Likewise.
	(gnat_rewrite_reference): Likewise.
	(build_unary_op): Do not clear existing TREE_CONSTANT on the result.
	(gnat_build_constructor): Also accept the address of a constant
	CONSTRUCTOR as constant element.

2021-04-28  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (is_array_of_scalar_type): New predicate.
	(find_decls_r): New function.
	(return_slot_opt_for_pure_call_p): New predicate.
	(Call_to_gnu): Do not create a temporary for the return value if the
	parent node is an aggregate.  If there is a target, try to apply the
	return slot optimization to regular calls to pure functions returning
	an array of scalar type.

2021-04-28  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (language_function): Add comment.
	(loop_info_d): Add fndecl and invariants fields.
	(find_loop_for): Test fndecl instead of the context of var.
	(find_loop): New function.
	(Regular_Loop_to_gnu): Fold back into...
	(Loop_Statement_to_gnu): ...this.  Emit invariants on entry, if any.
	(gnat_to_gnu) <N_Selected_Component>: Record nonconstant invariant
	offset computations in loops when optimization is enabled.
	* gcc-interface/utils2.c (gnat_invariant_expr): Handle BIT_AND_EXPR.

2021-04-20  Martin Liska  <mliska@suse.cz>

	* gnatvsn.ads: Bump Library_Version to 12.

2021-04-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/misc.c (gnat_init): Set default range bits to 0.
	* gcc-interface/trans.c (extract_encoding): Delete.
	(decode_name): Likewise.
	(File_Name_to_gnu): New function.
	(gigi): Call it to translate file names.  Replace assertion on
	1-1 mapping between files and line maps with conditional error.

2021-04-11  Gerald Pfeifer  <gerald@pfeifer.com>

	* gnat_ugn.texi (Top): Avoid invalid "up" link.

2021-03-29  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/99802
	* freeze.adb (Is_Full_Access_Aggregate): Call Is_Full_Access_Object
	on the name of an N_Assignment_Statement to spot full access.

2021-03-10  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity): Build a TYPE_STUB_DECL
	for the main variant of an enumeration type declared as volatile.

2021-03-09  Mikael Pettersson  <mikpelinux@gmail.com>

	* raise-gcc.c: On Cygwin include mingw32.h to prevent
	windows.h from including x86intrin.h or emmintrin.h.

2021-03-05  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/99264
	* init.c (__gnat_alternate_sta) [Linux]: Remove preprocessor test on
	MINSIGSTKSZ and bump size to 32KB.
	* libgnarl/s-osinte__linux.ads (Alternate_Stack_Size): Bump to 32KB.

2021-03-02  Mikael Pettersson  <mikpelinux@gmail.com>

	PR bootstrap/98590
	* cstreams.c: Ensure fileno_unlocked() is visible on Cygwin.

2021-03-02  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/99095
	* sem_ch8.adb (Check_Constrained_Object): Restrict again the special
	optimization for limited types to non-array types except in the case
	of an extended return statement.

2021-03-02  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/99020
	* sem_ch3.adb (Build_Discriminated_Subtype): Set the Cloned_Subtype
	only if the type is not private.

2021-02-26  YunQiang Su  <yunqiang.su@cipunited.com>

	PR ada/98996
	* Makefile.rtl: <mips*-*-linux*>
	add 128Bit operation file for MIPS N64 and N32 to
	LIBGNAT_TARGET_PAIRS and EXTRA_GNATRTL_NONTASKING_OBJS

2021-02-12  Arnaud Charlet  <charlet@adacore.com>

	* repinfo.ads, repinfo.adb (*SO_Ref*): Restore.

2021-02-03  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (components_to_record): If the first component
	with rep clause is the _Parent field with variable size, temporarily
	set it aside when computing the internal layout of the REP part again.
	* gcc-interface/utils.c (finish_record_type): Revert to taking the
	maximum when merging sizes for all record types with rep clause.
	(merge_sizes): Put SPECIAL parameter last and adjust recursive calls.

2021-02-03  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Make the
	two fields of the fat pointer type addressable, and do not make the
	template type read-only.
	<E_Record_Type>: If the type has discriminants mark it as may_alias.
	* gcc-interface/utils.c (make_dummy_type): Likewise.
	(build_dummy_unc_pointer_types): Likewise.

2021-01-26  Marius Hillenbrand  <mhillen@linux.ibm.com>

	PR ada/98228
	* gcc-interface/utils.c (maybe_pad_type): Test the size of the new
	packable type instead of its alignment for addressability's sake.

2021-01-25  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (make_covariant_thunk): Set the DECL_CONTEXT
	of the parameters and do not set TREE_PUBLIC on the thunk.
	(maybe_make_gnu_thunk): Pass the alias to the covariant thunk.
	* gcc-interface/utils.c (finish_subprog_decl): Set the DECL_CONTEXT
	of the parameters here...
	(begin_subprog_body): ...instead of here.

2021-01-19  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/98740
	* gcc-interface/trans.c (add_decl_expr): Always mark TYPE_ADA_SIZE.

2021-01-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	PR ada/98595
	* Makefile.rtl (LIBGNAT_TARGET_PAIRS) <riscv*-*-rtems*>: Use
	wraplf version of Aux_Long_Long_Float.

2021-01-03  Eric Botcazou  <ebotcazou@adacore.com>

	* gnatvsn.ads: Bump copyright year.

2021-01-01  Jakub Jelinek  <jakub@redhat.com>

	* gnat_ugn.texi: Bump @copying's copyright year.
	* gnat_rm.texi: Likewise.

2021-01-01  Jakub Jelinek  <jakub@redhat.com>

	* ChangeLog-2020: Rotate ChangeLog.  New file.


Copyright (C) 2021 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
