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

	* par-ch10.adb (P_Compilation_Unit): Reenable ada83 library
	unit renaming test and error.

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

	* gcc-interface/gigi.h (resolve_atomic_size): Declare.
	(list_third): New inline function.
	* gcc-interface/decl.c (type_for_atomic_builtin_p): New function.
	(resolve_atomic_builtin): Likewise.
	(gnat_to_gnu_subprog_type): Perform type resolution for most of
	type-generic GCC atomic builtins and give an error for the rest.
	* gcc-interface/utils2.c (resolve_atomic_size): Make public.

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

	* gcc-interface/trans.c (gnat_to_gnu) <N_Pop_Constraint_Error_Label>:
	Given the warning only if No_Exception_Propagation is active.
	<N_Pop_Storage_Error_Label>: Likewise.
	<N_Pop_Program_Error_Label>: Likewise.

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

	* gcc-interface/decl.c (promote_object_alignment): Add GNU_SIZE
	parameter and use it for the size of the object if not null.
	(gnat_to_gnu_entity) <E_Variable>: Perform the automatic alignment
	promotion for objects whose nominal subtype is of variable size.
	(gnat_to_gnu_field): Adjust call to promote_object_alignment.

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

	* gcc-interface/decl.c (gnat_to_gnu_param): Strip padding types
	only if the size does not change in the process.  Rename local
	variable and add bypass for initialization procedures.

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

	* libgnat/s-thread.ads: Fix comments.  Remove unused package
	imports.
	(Thread_Body_Exception_Exit): Remove Exception_Occurrence
	parameter.
	(ATSD): Declare type locally.
	* libgnat/s-thread__ae653.adb: Fix comments.  Remove unused
	package imports.  Remove package references to Stack_Limit
	checking.
	(Install_Handler): Remove.
	(Set_Sec_Stack): Likewise.
	(Thread_Body_Enter): Remove calls to Install_Handler and
	Stack_Limit checking.
	(Thread_Body_Exception_Exit): Remove Exception_Occurrence
	parameter.
	(Init_RTS): Call local Get_Sec_Stack.  Remove call to
	Install_Handler.  Remove references to accessors for
	Get_Sec_Stack and Set_Sec_Stack.  Remove OS check.
	(Set_Sec_Stack): Remove.

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

	* exp_ch3.adb (Make_Predefined_Primitive_Specs,
	Predefined_Primitive_Bodies): Remove guard with restriction
	No_Dispatching_Calls.

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

	* sem_attr.adb (Analyze_Attribute_Old_Result): Permit an
	attribute reference inside a compiler-generated _Postconditions
	procedure. In this case, Subp_Decl is assigned the declaration
	of the enclosing subprogram.
	* exp_util.adb (Insert_Actions): When climbing up the tree
	looking for an insertion point, do not climb past an
	N_Iterated_Component/Element_Association, since this could
	result in inserting a reference to a loop parameter at a
	location outside of the scope of that loop parameter. On the
	other hand, be careful to preserve existing behavior in the case
	of an N_Component_Association node.

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

	* exp_ch6.adb (Can_Fold_Predicate_Call): Do not attempt folding
	if there is more than one predicate involved. Recall that
	predicate aspect specification are additive, not overriding, and
	that there are three different predicate
	aspects (Dynamic_Predicate, Static_Predicate, and the
	GNAT-defined Predicate aspect). These various ways of
	introducing multiple predicates are all checked for.  A new
	nested function, Augments_Other_Dynamic_Predicate, is
	introduced.
	* sem_ch4.adb
	(Analyze_Indexed_Component_Form.Process_Function_Call): When
	determining whether a name like "X (Some_Discrete_Type)" might
	be interpreted as a slice, the answer should be "no" if the
	type/subtype name denotes the current instance of type/subtype.

2021-10-11  Patrick Bernardi  <bernardi@adacore.com>

	* libgnarl/s-osinte__rtems.ads: Change sigset_t to an unsigned
	long.

2021-10-11  Patrick Bernardi  <bernardi@adacore.com>

	* libgnat/s-parame__rtems.adb: use
	_POSIX_Threads_Minimum_stack_size instead of
	ada_pthread_minimum_stack_size.

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

	* fe.h (No_Exception_Propagation_Active): Declare.
	* restrict.ads (No_Exception_Propagation_Active): Add WARNING line.

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

	* sem_ch13.adb (Validate_Unchecked_Conversion): Simplify code
	for detecting conversions with Ada.Calendar.Time type and extend
	it to similar types in the Ada.Real_Time package.

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

	* sem_ch10.adb, sem_prag.adb, sem_util.adb: Use
	N_Generic_Declaration in membership tests.

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

	* ali.adb (Get_Name): Ignore_Spaces is always False.
	* bindo-graphs.adb (Set_Is_Existing_Source_Target_Relation): Val
	is always True.
	* cstand.adb (New_Standard_Entity): New_Node_Kind is always
	N_Defininig_Identifier.
	* exp_ch3.adb (Predef_Stream_Attr_Spec): For_Body is always
	False.
	* exp_dist.adb (Add_Parameter_To_NVList): RACW_Ctrl is always
	False.
	* gnatls.adb (Add_Directories): Prepend is always False.
	* sem_ch10.adb, sem_ch10.ads (Load_Needed_Body): Do_Analyze is
	always True.
	* sem_ch3.adb, sem_ch3.ads (Process_Range_Expr_In_Decl):
	R_Check_Off is always False.
	* sem_elab.adb: (Info_Variable_Reference): Info_Msg is always
	False, In_SPARK is always True.
	(Set_Is_Traversed_Body, Set_Is_Saved_Construct,
	Set_Is_Saved_Relation): Val is always True.
	* treepr.adb (Visit_Descendant): No_Indent is always False.
	(Print_Node): Fmt does not need such a big scope.

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

	* sem_ch4.adb (Analyze_Membership_Op): Finds interpretation for
	the case of a membership test with a singleton value in case of
	overloading.

2021-10-11  Patrick Bernardi  <bernardi@adacore.com>

	* Makefile.rtl (VxWorks): Rename s-inmaop__vxworks.adb to
	s-inmaop__hwint.adb.
	(RTEMS): Use s-inmaop__hwint.adb, s-intman__rtems.adb/s,
	s-taprop__rtems.adb.
	* libgnarl/a-intnam__rtems.ads: Remove signals definitions and
	replace with Hardware_Interrupts.
	* libgnarl/s-inmaop__vxworks.adb: Rename as...
	* libgnarl/s-inmaop__hwint.adb: ... this.
	* libgnarl/s-interr__hwint.adb: Remove unnecessary comments.
	* libgnarl/s-intman__rtems.ads, libgnarl/s-intman__rtems.adb:
	New files.
	* libgnarl/s-osinte__rtems.adb: Add RTEMS API bindings.
	(Binary_Semaphore_Create, Binary_Semaphore_Delete,
	Binary_Semaphore_Obtain, Binary_Semaphore_Release,
	Binary_Semaphore_Flush, Interrupt_Connect,
	Interrupt_Number_To_Vector): New functions.
	* libgnarl/s-osinte__rtems.ads (Num_HW_Interrupts, Signal):
	Removed.
	(NSIG, Interrupt_Range): New.
	(Binary_Semaphore_Create, Binary_Semaphore_Delete,
	Binary_Semaphore_Obtain, Binary_Semaphore_Release,
	Binary_Semaphore_Flush, Interrupt_Connect,
	Interrupt_Number_To_Vector): Remove Import pragma.
	* libgnarl/s-taprop__rtems.adb: New file.

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

	* exp_fixd.adb (Get_Size_For_Value): New function returning a size
	suitable for a non-negative integer value.
	(Get_Type_For_Size): New function returning a standard type suitable
	for a size.
	(Build_Divide): Call both functions to compute the result type, but
	make sure to pass a non-negative value to the first.
	(Build_Multiply): Likewise.
	(Do_Multiply_Fixed_Universal): Minor consistency tweak.
	(Integer_Literal): Call both functions to compute the type.

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

	* sem_ch4.adb (Analyze_Membership_Op): Reorder subprogram spec
	and bodies in alphabetical order.

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

	* exp_util.adb (Build_Class_Wide_Expression): Replace entities
	of both simple and extended names.

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

	* libgnarl/s-intman__android.adb, libgnarl/s-intman__lynxos.adb,
	libgnarl/s-intman__posix.adb, libgnarl/s-intman__qnx.adb,
	libgnarl/s-intman__solaris.adb, libgnarl/s-intman__susv3.adb,
	libgnarl/s-taprob.adb, libgnarl/s-taprop__hpux-dce.adb,
	libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
	libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb,
	libgnarl/s-taprop__solaris.adb, libgnarl/s-taprop__vxworks.adb,
	libgnarl/s-taskin.adb, libgnarl/s-tasque.adb,
	libgnarl/s-tpoben.adb, libgnat/a-calend.adb,
	libgnat/a-excach.adb, libgnat/a-except.adb, libgnat/a-tags.adb,
	libgnat/a-textio.adb, libgnat/a-witeio.adb,
	libgnat/a-ztexio.adb, libgnat/g-binenv.adb,
	libgnat/s-parame.adb, libgnat/s-parame__vxworks.adb,
	libgnat/s-stratt.adb, libgnat/s-trasym__dwarf.adb: Mark imported
	binder globals as constant.

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

	* exp_aggr.adb (Initialize_Record_Component): Add assertion
	about one of the parameters, so that illegal attempts to
	initialize record components with Empty node are detected early
	on.
	(Build_Record_Aggr_Code): Handle boxes in aggregate component
	associations just the components with no initialization in
	Build_Record_Init_Proc.
	* sem_aggr.adb (Resolve_Record_Aggregate): For components that
	require simple initialization carry boxes from resolution to
	expansion.
	* sem_util.adb (Needs_Simple_Initialization): Remove redundant
	paren.

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

	* exp_ch3.adb (Build_Init_Statements): Simplify detection of
	concurrent record types.

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

	* exp_aggr.adb (Is_Delayed_Aggregate): Simplify.

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

	* exp_aggr.adb (Has_Default_Init_Comps): Simplify.

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

	* exp_aggr.adb (Component_OK_For_Backend): Remove redundant
	guard.

2021-10-11  Patrick Bernardi  <bernardi@adacore.com>

	* Makefile.rtl (RTEMS): Add s-stchop.o to
	EXTRA_GNATRTL_NONTASKING_OBJS, remove s-stchop__rtems.adb.
	* libgnat/s-stchop__rtems.adb: Removed.

2021-10-11  Marc Poulhiès  <poulhies@adacore.com>

	* expander.adb (Expand): Skip clearing of Analyzed flag if
	already set for N_Real_Literal.

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

	* sem_util.adb (Compile_Time_Constraint_Error): Simplify getting
	the type of the first formal parameter.

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

	* exp_util.adb (Inside_Init_Proc): Simplify.
	* sem_aggr.adb (Resolve_Record_Aggregate): Fix style.
	* sem_util.adb (Compile_Time_Constraint_Error): Guard against
	calling Corresponding_Concurrent_Type with an array type entity.

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

	* libgnat/s-parame__ae653.ads (time_t_bits): Change to
	Long_Long_Integer'Size.  Add some comments to explain.

2021-10-08  Martin Liska  <mliska@suse.cz>

	* gcc-interface/misc.c (gnat_post_options): Use new macro
	OPTION_SET_P.
	(gnat_init_gcc_eh): Likewise.
	(gnat_init_gcc_fp): Likewise.

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.
