2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.cc (gnat_to_gnu) <N_Assignment_Statement>: Fix
	a couple of minor issues in the commentary.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.cc (gigi): Report a violation of No_Dependence
	on System.Stack_Checking if Stack_Check_Probes_On_Target is not set
	and -fstack-check is specified.
	(build_binary_op_trapv): Report violatiosn of No_Dependence on both
	System.Arith_64 and System.Arith_128.
	(add_decl_expr): If an initialized variable, report a violation of
	No_Dependence on System.Memory_Copy for large aggregate types.
	(gnat_to_gnu) <N_Op_Eq>: Report a violation
	of No_Dependence on System.Memory_Compare for large aggregate types.
	<N_Assignment_Statement>! Report a violation of No_Dependence on
	System.Memory_Set, System.Memory_Move or else System.Memory_Copy for
	large aggregate types.
	* gcc-interface/utils2.cc (maybe_wrap_malloc): Report a violation of
	No_Dependence on System.Memory.
	(maybe_wrap_free): Add GNAT_NODE parameter and report a violation of
	No_Dependence on System.Memory.
	(build_call_alloc_dealloc): Adjust call to maybe_wrap_free.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.cc (gnat_to_gnu_entity): Do not set the debug
	type for vector types.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>:
	Undo questionable renaming.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.cc (Gigi_Cloned_Subtype): Handle private case.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.cc (gigi): Add one more leading underscore to
	name of stack checking function.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.cc (Gigi_Cloned_Subtype): New function.
	(gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Call it to get the
	cloned subtype, if any.
	<E_Floating_Point_Subtype>: Likewise.
	<E_Array_Subtype>: Likewise.
	<E_Record_Subtype>: Likewise.
	<E_Access_Subtype>: Likewise.
	Deal with all cloned subtypes on the main path.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: Do
	not reuse the TYPE_DECL of the base type.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils.cc (gnat_pushdecl): Build DECL_ORIGINAL_TYPE
	only for pointer types.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils2.cc (build_binary_op) <EQ_EXPR>: Also accept
	pointer-to-function types that are not variant of each other.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils.cc (unchecked_convert): Also pad in most cases
	if the source is not a scalar type but the destination is.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Save
	and restore the alias set of the dummy pointer-to-array type.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* snames.ads-tmpl (Name_Memory_Compare): New package name.
	(Name_Memory_Copy): Likewise.
	(Name_Memory_Move): Likewise.
	(Name_Memory_Set): Likewise.

2022-07-13  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch13.adb (Check_And_Resolve_Storage_Model_Type_Argument):
	Call the System.Case_Util.To_Mixed procedure rather than the
	function, to avoid bootstrap problems.

2022-07-13  Gary Dismukes  <dismukes@adacore.com>

	* aspects.ads (Aspect_Argument): Change the association for
	Aspect_Storage_Model_Type from Expression to
	Optional_Expression.
	* exp_util.ads (Find_Storage_Op): Update comment to indicate
	that Empty can be returned in the case where a storage-model
	operation is defaulted.
	* exp_util.adb (Find_Storage_Op): Allow the function to return
	Empty in Storage_Model_Type case rather than raising
	Program_Error, so that Procedure_To_Call fields in N_Allocator
	and N_Free_Statement nodes will be set to Empty in the defaulted
	native storage-model case.
	* sem_ch13.adb: Add with and use of System.Case_Util (and
	reformat context_clause).
	(Check_Aspect_At_Freeze_Point): Return with no action for a
	Storage_Model_Type aspect with no expression (fully-defaulted
	native memory-model case).
	(Resolve_Storage_Model_Type_Argument): If an Address_Type has
	not been explicitly specified, then set Addr_Type to denote type
	System.Address.
	(Validate_Storage_Model_Type_Aspect): Return immediately in the
	case where the aspect has no Expression (fully-defaulted native
	memory-model case).  No longer issue an error when Address_Type
	isn't specified, and instead use type System.Address as the
	default address type. When the address type is
	System.Address (whether specified or defaulted), no longer issue
	errors for any other "subaspects" that aren't specified, since
	in that case those are allowed to default as well. Remove ???
	comment about needing to check for duplicates, which is now
	addressed.
	(Check_And_Resolve_Storage_Model_Type_Argument): New procedure
	to check that an association for a storage-model subaspect in
	the aggregate has not been specified earlier in the aggregate,
	and to then resolve the expression of the association and save
	the resolved entity. Called by
	Validate_Storage_Model_Type_Aspect.
	* sem_util.ads (Storage_Model_Support): Update comments on specs
	of the functions Get_Storage_Model_Type_Entity,
	Storage_Model_Address_Type, and Storage_Model_Null_Address to
	indicate the behavior when the address type is System.Address
	(the native memory-model case).
	* sem_util.adb
	(Storage_Model_Support.Get_Storage_Model_Type_Entity): Suppress
	the search for the given subaspect name (Nam) when the
	Storage_Model_Type aspect is fully defaulted (i.e., no
	Expression is present) and simply return. In cases where the
	search is done, but no association that matches Nam is found,
	return System.Address for the Name_Address_Type case, return
	System.Null_Address for the Name_Null_Address case, and return
	Empty for all other cases.

2022-07-13  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch13.adb (Relocate_Expression): New routine with code that
	previously was only applied to Pre and Post aspects.
	(Analyze_Aspect_Specifications): Apply the above routine to
	other aspects, in particular to aspects Address, Attach_Handler,
	Predicate and Interrupt_Priority.

2022-07-13  Piotr Trojanek  <trojanek@adacore.com>

	* inline.adb (Build_Body_To_Inline): Instead of manipulating the
	Full_Analysis flag, use the Inside_A_Generic flag (which is
	conveniently manipulated by Start_Generic/End_Generic, together
	with Expander_Active).
	* sem_attr.adb (Analyze_Attribute_Old_Result): Adapt comment and
	assertion to different flag that is set while building
	body-to-inline.

2022-07-13  Alexandre Oliva  <oliva@adacore.com>

	* doc/gnat_rm/security_hardening_features.rst: Clarify the need
	for choices after -fzero-call-used-regs and -fstrub.
	* gnat_rm.texi: Regenerate.

2022-07-13  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Recognize a generated subtype
	with Ghost pragma for generic instantiations.

2022-07-13  Yannick Moy  <moy@adacore.com>

	* libgnat/s-aridou.adb (Lemma_Mult_Div, Lemma_Powers): New
	lemmas.
	(Prove_Sign_Quotient): New local lemma.
	(Prove_Signs): Expand definition of Big_R and Big_Q in the
	postcondition. Add intermediate assertions.
	(Double_Divide): Call new lemma.
	(Lemma_Div_Eq): Provide body for proving lemma.
	(Lemma_Powers_Of_2, Lemma_Shift_Without_Drop,
	Prove_Dividend_Scaling, Prove_Multiplication, Prove_Z_Low): Call
	lemmas, add intermediate assertions.

2022-07-13  Piotr Trojanek  <trojanek@adacore.com>

	* inline.adb (Has_Single_Return): Add guard for the subsequent
	call to Expression.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Acts_As_Spec
	earlier if the body is not the completion of a declaration.
	(Check_Untagged_Equality): Deal with subprogram bodies that are
	not the completion of a declaration and make sure that they are
	not flagged when they cause the freezing of the type themselves.
	Give a warning on the freezing point of the type in more cases.
	* sem_res.adb (Resolve_Equality_Op): Revert latest change.

2022-07-13  Yannick Moy  <moy@adacore.com>

	* libgnat/s-arit32.adb (Scaled_Divide32): Add an assertion, move
	the call of Prove_Sign_R around.

2022-07-13  Marc Poulhiès  <poulhies@adacore.com>

	* exp_ch4.adb (Expand_N_If_Expression): Test for compile time
	known bounds when handling slices.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_util.ads (Integer_Type_For): Mention Small_Integer_Type_For.
	(Small_Integer_Type_For): Mention Integer_Type_For.

2022-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_res.adb (Resolve_Equality_Op): Make sure that the user-defined
	operator of an untagged record type is declared ahead of an instance
	before using it to resolve the equality operator in the instance.

2022-07-13  Justin Squirek  <squirek@adacore.com>

	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Add default
	initialization for Stmts.
	* sem_ch12.adb (Analyze_Associations): Add default
	initialization for Match.
	* libgnat/a-ztenau.adb (Scan_Enum_Lit): Remove duplicated
	boolean test.
	* libgnat/g-spipat.adb (XMatch): Combine duplicated cases.

2022-07-13  Piotr Trojanek  <trojanek@adacore.com>

	* par-prag.adb (Check_Arg_Count): Change parameter type from Int
	to Nat, because this parameter is compared to Arg_Count variable
	which is of type Nat. Also, it wouldn't make sense to check for
	negative number of pragma arguments.

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

	* exp_ch11.adb (Expand_N_Exception_Declaration): Sync comment
	with declaration in System.Standard_Library.

2022-07-12  Marc Poulhiès  <poulhies@adacore.com>

	* libgnat/s-secsta.adb (Has_Enough_Free_Memory): Check for full
	chunk before computing the available size.

2022-07-12  Steve Baird  <baird@adacore.com>

	* exp_ch4.adb (Expand_Nonbinary_Modular_Op.Expand_Modular_Op):
	Reimplement choice of which predefined type to use for the
	implementation of a predefined operation of a modular type with
	a non-power-of-two modulus.

2022-07-12  Justin Squirek  <squirek@adacore.com>

	* einfo.ads: Modify documentation for In_Use flag to include
	scope stack manipulation.
	* sem_ch8.adb (Use_One_Type): Add condition to return when
	attempting to detect redundant use_type_clauses in child units
	in certain cases.

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

	* restrict.ads (type ND_Entry): Add System_Child component.
	(Check_Restriction_No_Dependence_On_System): Declare.
	* restrict.adb (Global_Restriction_No_Tasking): Move around.
	(Violation_Of_No_Dependence): New procedure.
	(Check_Restriction_No_Dependence): Call Violation_Of_No_Dependence
	to report a violation.
	(Check_Restriction_No_Dependence_On_System): New procedure.
	(Set_Restriction_No_Dependenc): Set System_Child component if the
	unit is a child of System.
	* snames.ads-tmpl (Name_Arith_64): New package name.
	(Name_Arith_128): Likewise.
	(Name_Memory): Likewise.
	(Name_Stack_Checking): Likewise.
	* fe.h (Check_Restriction_No_Dependence_On_System): Declare.

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

	* par.adb (P_Declarative_Items): New function to parse a
	sequence of declarative items.
	(P_Sequence_Of_Statements): Add Handled flag, to indicate
	whether to wrap the result in a block statement.
	* par-ch3.adb (P_Declarative_Item): Rename P_Declarative_Items
	to be P_Declarative_Item, because it really only parses a single
	declarative item, and to avoid conflict with the new
	P_Declarative_Items. Add In_Statements.  We keep the old
	error-recovery mechanisms in place when In_Statements is False.
	When True, we don't want to complain about statements, because
	we are parsing a sequence of statements.
	(P_Identifier_Declarations): If In_Statements, and we see what
	looks like a statement, we no longer give an error. We return to
	P_Sequence_Of_Statements with Done = True, so it can parse the
	statement.
	* par-ch5.adb (P_Sequence_Of_Statements): Call
	P_Declarative_Items to parse declarative items that appear in
	the statement list.  Remove error handling code that complained
	about such items.  Check some errors conservatively.  Wrap the
	result in a block statement when necessary.
	* par-ch11.adb (P_Handled_Sequence_Of_Statements): Pass
	Handled => True to P_Sequence_Of_Statements.
	* types.ads (No, Present): New functions for querying
	Source_Ptrs (equal, not equal No_Location).

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

	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Fix range of iteration.

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

	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Do not process expression of unknown restrictions.

2022-07-12  Vasiliy Fofanov  <fofanov@adacore.com>

	* makeusg.adb,
	doc/gnat_ugn/building_executable_programs_with_gnat.rst: Move -P
	to the top of switches list and make it clear that gnatmake
	passes the ball to gprbuild if -P is set.
	* gnat_ugn.texi: Regenerate.

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

	* libgnat/g-socthi__vxworks.adb (C_Connect): Suppress new warning.

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

	* sem_attr.adb (Set_Boolean_Result): Simplify using
	Boolean_Literals.

2022-07-12  Yannick Moy  <moy@adacore.com>

	* errout.adb (Record_Compilation_Errors): Remove global
	variable.
	(Compilation_Errors): Simplify.
	(Initialize): Inline Reset_Warnings.
	(Reset_Warnings): Remove.
	* errout.ads (Reset_Warnings): Remove.
	(Compilation_Errors): Update comment.
	* gnat1drv.adb (Adjust_Global_Switches): Ignore all frontend
	warnings in GNATprove mode, except regarding elaboration and
	suspicious contracts.

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

	* sem_util.adb (Caller_Known_Size_Record): Make entry assertion
	more robust and add guard for null argument.  For protected
	types, invoke Caller_Known_Size_Record on
	Corresponding_Record_Type.
	(Needs_Secondary_Stack): Likewise.

2022-07-12  Doug Rupp  <rupp@adacore.com>

	* libgnat/system-vxworks7-ppc-rtp.ads: Remove
	* libgnat/system-vxworks7-x86-rtp.ads: Likewise.

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

	* sem_ch12.adb (Analyze_Package_Instantiation): Remove dubious
	call to Set_Comes_From_Source.

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

	* sem_ch5.adb (Check_Unreachable_Code): Refine heuristics.
	* sem_util.ads, sem_util.adb (Is_Static_Constant_Name): Remove
	this; instead we have a new function Is_Simple_Case in
	Sem_Ch5.Check_Unreachable_Code.

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

	* gnatls.adb (Output_License_Information): Remove pragma
	No_Return; call sites deal with Exit_Program.
	* libgnat/g-socthi.adb (C_Connect): Suppress warning about
	unreachable code.
	* sem_ch5.adb (Check_Unreachable_Code): Special-case if
	statements with static conditions.  If we remove unreachable
	code (including the return statement) from a function, add
	"raise Program_Error", so we won't warn about missing returns.
	Remove Original_Node in test for N_Raise_Statement; it's not
	needed.  Remove test for CodePeer_Mode; if Operating_Mode =
	Generate_Code, then CodePeer_Mode can't be True.  Misc cleanup.
	Do not reuse Nxt variable for unrelated purpose (the usage in
	the Kill_Dead_Code loop is entirely local to the loop).
	* sem_ch6.adb: Add check for Is_Transfer. Misc cleanup.
	* sem_prag.adb: Minor.
	* sem_res.adb: Minor.
	* sem_util.adb: Minor cleanup.
	(Is_Trivial_Boolean): Move to nonnested place, so it can be
	called from elsewhere.
	(Is_Static_Constant_Boolean): New function.
	* sem_util.ads (Is_Trivial_Boolean): Export.
	(Is_Static_Constant_Boolean): New function.

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

	* libgnat/s-stchop.ads: Use a double underscore prefix for symbols.

2022-07-12  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Check_Expression_Function.Find_Constant): Add a
	check that a type that is referenced as the prefix of an
	attribute is fully declared.
	(Freeze_And_Append): Do not freeze the profile when freezing an
	expression function.
	(Freeze_Entity): When a tagged type is frozen, also freeze any
	primitive operations of the type that are expression functions.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not prevent
	freezing associated with an expression function body if the
	function is a dispatching op.

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

	* sem_ch7.adb (Analyze_Package_Declaration): Check references to
	unset objects.

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

	* sem_ch13.adb (Analyze_Aspect_Yield): Look at the entity kind,
	not at the declaration kind.

2022-07-12  Joffrey Huguet  <huguet@adacore.com>

	* libgnarl/a-reatim.ads, libgnat/a-cfdlli.ads,
	libgnat/a-cfhama.ads, libgnat/a-cfhase.ads,
	libgnat/a-cfinse.ads, libgnat/a-cfinve.ads,
	libgnat/a-cforma.ads, libgnat/a-cforse.ads,
	libgnat/a-chahan.ads, libgnat/a-cofove.ads,
	libgnat/a-cofuma.ads, libgnat/a-cofuse.ads,
	libgnat/a-cofuve.ads, libgnat/a-nbnbin.ads,
	libgnat/a-nbnbre.ads, libgnat/a-ngelfu.ads,
	libgnat/a-nlelfu.ads, libgnat/a-nllefu.ads,
	libgnat/a-nselfu.ads, libgnat/a-nuelfu.ads,
	libgnat/a-strbou.ads, libgnat/a-strfix.ads,
	libgnat/a-strmap.ads, libgnat/a-strunb.ads,
	libgnat/a-strunb__shared.ads,  libgnat/a-strsea.ads,
	libgnat/a-textio.ads, libgnat/a-tideio.ads,
	libgnat/a-tienio.ads, libgnat/a-tifiio.ads,
	libgnat/a-tiflio.ads, libgnat/a-tiinio.ads,
	libgnat/a-timoio.ads, libgnat/i-c.ads, libgnat/interfac.ads,
	libgnat/interfac__2020.ads, libgnat/s-atacco.ads,
	libgnat/s-stoele.ads: Annotate packages and subprograms with
	returning annotations.

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

	* rtsfind.ads (RE_Id): Remove RE_Str_Concat_Bounds_N values.
	(RE_Unit_Table): Remove RE_Str_Concat_Bounds_N entries.
	* libgnat/s-conca2.ads (Str_Concat_2): Adjust head comment.
	(Str_Concat_Bounds_2): Delete.
	* libgnat/s-conca2.adb (Str_Concat_2): Use the length of the last
	input to size the last assignment.
	(Str_Concat_Bounds_2): Delete.
	* libgnat/s-conca3.ads (Str_Concat_3): Adjust head comment.
	(Str_Concat_Bounds_3): Delete.
	* libgnat/s-conca3.adb (Str_Concat_3): Use the length of the last
	input to size the last assignment.
	(Str_Concat_Bounds_3): Delete.
	* libgnat/s-conca4.ads (Str_Concat_4): Adjust head comment.
	(Str_Concat_Bounds_4): Delete.
	* libgnat/s-conca4.adb (Str_Concat_4): Use the length of the last
	input to size the last assignment.
	(Str_Concat_Bounds_4): Delete.
	* libgnat/s-conca5.ads (Str_Concat_5): Adjust head comment.
	(Str_Concat_Bounds_5): Delete.
	* libgnat/s-conca5.adb (Str_Concat_5): Use the length of the last
	input to size the last assignment.
	(Str_Concat_Bounds_5): Delete.
	* libgnat/s-conca6.ads (Str_Concat_6): Adjust head comment.
	(Str_Concat_Bounds_6): Delete.
	* libgnat/s-conca6.adb (Str_Concat_6): Use the length of the last
	input to size the last assignment.
	(Str_Concat_Bounds_6): Delete.
	* libgnat/s-conca7.ads (Str_Concat_7): Adjust head comment.
	(Str_Concat_Bounds_7): Delete.
	* libgnat/s-conca7.adb (Str_Concat_7): Use the length of the last
	input to size the last assignment.
	(Str_Concat_Bounds_7): Delete.
	* libgnat/s-conca8.ads (Str_Concat_8): Adjust head comment.
	(Str_Concat_Bounds_8): Delete.
	* libgnat/s-conca8.adb (Str_Concat_8): Use the length of the last
	input to size the last assignment.
	(Str_Concat_Bounds_8): Delete.
	* libgnat/s-conca9.ads (Str_Concat_9): Adjust head comment.
	(Str_Concat_Bounds_9): Delete.
	* libgnat/s-conca9.adb (Str_Concat_9): Use the length of the last
	input to size the last assignment.
	(Str_Concat_Bounds_9): Delete.

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

	* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Use _Next and
	_Previous in the optimized expansion of "for ... of".  No longer
	need to check parameter profiles for these, because the
	leading-underscore names are unique.
	* libgnat/a-convec.ads (_Next, _Previous): Renamings of Next and
	Previous, to avoid namespace pollution.
	* libgnat/a-cbdlli.ads, libgnat/a-cbhama.ads,
	libgnat/a-cbhase.ads, libgnat/a-cbmutr.ads,
	libgnat/a-cborma.ads, libgnat/a-cborse.ads,
	libgnat/a-cdlili.ads, libgnat/a-cidlli.ads,
	libgnat/a-cihama.ads, libgnat/a-cihase.ads,
	libgnat/a-cimutr.ads, libgnat/a-ciorma.ads,
	libgnat/a-ciorse.ads, libgnat/a-cobove.ads,
	libgnat/a-cohama.ads, libgnat/a-cohase.ads,
	libgnat/a-coinve.ads, libgnat/a-comutr.ads,
	libgnat/a-coorma.ads, libgnat/a-coorse.ads: Likewise.  Also,
	remove duplicated comments -- refer to one comment about _Next,
	_Previous, Pseudo_Reference in libgnat/a-convec.ads. DRY.
	* scng.adb (Scan): Allow leading underscores in identifiers in
	the run-time library.
	* snames.ads-tmpl (Name_uNext, Name_uPrevious): New names with
	leading underscores.

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

	* sem_ch5.adb (Check_Unreachable_Code): Extend suppression to
	calls with No_Return aspect, but narrow it to functions.
	* sem_res.adb (Resolve_Call): Warn about unreachable code after
	calls with No_Return.

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

	* scans.ads: Fix obsolete comments about Tok_Special, and give
	Special_Character a predicate assuring it is one of the two
	characters used in preprocessing.
	* scng.ads: Clean up comments.
	* scng.adb: Clean up handling of Tok_Special.  Remove comment
	about '@' (target_name), which doesn't seem very helpful.
	Set_Special_Character will now blow up if given anything other
	than '#' and '$', because of the predicate on Special_Character;
	it's not clear why it used to say "when others => null;".
	Remove Comment_Is_Token, which is not used.
	* scn.ads: Remove commented-out use clause.  Remove redundant
	comment.
	* ali-util.adb: Use "is null" for do-nothing procedures.
	* gprep.adb (Post_Scan): Use "is null".

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

	* libgnarl/s-solita.adb (Task_Termination_Handler_T): Ignore all
	exceptions propagated by Specific_Handler.
	* libgnarl/s-tassta.adb, libgnarl/s-taskin.ads: Minor.

2022-07-12  Marc Poulhiès  <poulhies@adacore.com>

	* sem.adb (Preanalyze): Suppress checks when not in GNATprove
	mode.
	* sem_res.adb (Preanalyze_And_Resolve): Add cross reference in
	comment to above procedure.
	* sinfo.ads: Typo fix in comment.

2022-07-12  Julien Bortolussi  <bortolussi@adacore.com>

	* libgnat/a-cfidll.adb, libgnat/a-cfidll.ads: Implementation
	files of the formal unbounded indefinite list.
	* Makefile.rtl, impunit.adb: Take into account the add of the
	new files.

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

	* sem_util.adb (Is_Variable): Remove excessive guard.

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

	* gcc-interface/Make-lang.in (ada/generated/gnatvsn.ads):
	Simplify regular expression. The "interval expression",
	i.e. \{8\} is part of the POSIX regular expressions, so it
	should not be a problem for modern implementations of sed.

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

	* gcc-interface/trans.cc (gnat_to_gnu): Update comment.

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

	* gcc-interface/gigi.h (simple_constant_p): Declare.
	* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Strip
	the qualifiers from the type of a simple constant.
	(simple_constant_p): New predicate.
	* gcc-interface/trans.cc (node_is_atomic): Return true for objects
	with atomic type except for simple constants.
	(node_is_volatile_full_access): Return false for simple constants
	with VFA type.

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

	* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Create a
	local constant holding the underlying GNAT type of the object.  Do
	not fiddle with the object size for an unconstrained array.

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

	* gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Constify a
	local variable and move a couple of others around.

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

	* gcc-interface/trans.cc (gnat_gimplify_expr) <SAVE_EXPR>: New case.

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

	* exp_ch6.adb (Function return mechanisms): New paragraph.

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

	* sem_util.adb (Is_Non_Preelaborable_Construct): Fix for
	deferred constants.

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

	* libgnat/s-regpat.adb, libgnat/s-regpat.ads (Compile): Add a
	new defaulted parameter Error_When_Too_Small to trigger an
	error, if specified true, when Matcher is too small to hold the
	compiled regex program.

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

	* sem_ch4.adb (Analyze_Selected_Component): Add condition to
	avoid interpreting derived type components as candidates for
	selected components in preanalysis of inherited class
	conditions.

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

	* ghost.adb (Check_Ghost_Context): Delay checking for generic
	associations.
	(Check_Ghost_Context_In_Generic_Association): Perform ghost
	checking in analyzed generic associations.
	(Check_Ghost_Formal_Procedure_Or_Package): Check SPARK RM
	6.9(13-14) for formal procedures and packages.
	(Check_Ghost_Formal_Variable): Check SPARK RM 6.9(13-14) for
	variables.
	* ghost.ads: Declarations for the above.
	* sem_ch12.adb (Analyze_Associations): Apply delayed checking
	for generic associations.
	(Analyze_Formal_Object_Declaration): Same.
	(Analyze_Formal_Subprogram_Declaration): Same.
	(Instantiate_Formal_Package): Same.
	(Instantiate_Formal_Subprogram): Same.
	(Instantiate_Object): Same.  Copy ghost aspect to newly declared
	object for actual for IN formal object. Use new function
	Get_Enclosing_Deep_Object to retrieve root object.
	(Instantiate_Type): Copy ghost aspect to declared subtype for
	actual for formal type.
	* sem_prag.adb (Analyze_Pragma): Recognize new allowed
	declarations.
	* sem_util.adb (Copy_Ghost_Aspect): Copy the ghost aspect
	between nodes.
	(Get_Enclosing_Deep_Object): New function to return enclosing
	deep object (or root for reachable part).
	* sem_util.ads (Copy_Ghost_Aspect): Same.
	(Get_Enclosing_Deep_Object): Same.
	* libgnat/s-imageu.ads: Declare formal subprograms as ghost.
	* libgnat/s-valuei.ads: Same.
	* libgnat/s-valuti.ads: Same.

2022-07-06  Javier Miranda  <miranda@adacore.com>

	* sem_res.adb (Resolve_Type_Conversion): Code cleanup since the
	previous static check has been moved to Valid_Tagged_Conversion.
	(Valid_Tagged_Conversion): Fix the code checking conversion
	to/from interface types since incorrectly returns True when the
	parent type of the operand type (or the target type) is an
	interface type; add missing static checks on interface type
	conversions.

2022-07-06  Marc Poulhiès  <poulhies@adacore.com>

	* libgnat/s-secsta.ads (SS_Allocate): Add new Alignment
	parameter.
	(Memory_Alignment): Remove.
	* libgnat/s-secsta.adb (Align_Addr): New.
	(SS_Allocate): Add new Alignment parameter. Realign pointer if
	needed. Don't allocate anything for 0-sized allocations.
	* gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Add
	allocated object's alignment as last parameter to allocation
	invocation.

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

	* libgnat/g-socket.adb (Get_Address_Info): Reduce scope of the
	Found variable; avoid repeated assignment inside the loop.

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

	* Makefile.rtl [arm,aarch64 vxworks7]: Remove rtp and kernel
	build macros and set an error variable if needed.
	[x86,x86_vxworks7]: Likewise.
	[ppc,ppc64]: Set an error variable if needed.
	(rts-err): New phony Makefile target.
	(setup-rts): Depend on rts-err.

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

	* exp_ch3.adb (Make_Allocator_For_BIP_Return): New local function.
	(Expand_N_Object_Declaration): Use it to build the three allocators
	for a Build-In-Place return with an unconstrained type.  Update the
	head comment after other recent changes.

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

	* libgnat/system-vxworks7-e500-kernel.ads: Remove.
	* libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-e500-rtp.ads: Likewise.

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

	* gnat_cuda.adb (Empty_CUDA_Global_Subprogram): Set
	Specification and Corresponding_Spec to match the original
	Kernel_Body.

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

	* exp_ch6.adb (Build_Static_Check_Helper_Call): Replace explicit
	call to Make_Unchecked_Type_Conversion with a call to
	Unchecked_Convert_To.
	* tbuild.adb (Unchecked_Convert_To): Fix whitespace.

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

	* sem_res.adb (Resolve_Actuals): Restore first sentence of a
	comment.

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

	* exp_aggr.adb (Expand_Record_Aggregate): Do not call
	Is_Full_Access_Aggregate here.
	* freeze.ads (Is_Full_Access_Aggregate): Delete.
	* freeze.adb (Is_Full_Access_Aggregate): Move to...
	(Freeze_Entity): Do not call Is_Full_Access_Aggregate here.
	* sem_aggr.adb (Is_Full_Access_Aggregate): ...here
	(Resolve_Aggregate): Call Is_Full_Access_Aggregate here.

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

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst
	(Warning Message Control): Update description of switch -gnatwj.
	* gnat_ugn.texi: Regenerate.
	* sem_ch10.adb (Analyze_With_Clause): Warn on WITH clauses for
	obsolete renamed units; in Ada 83 mode do not consider
	predefined renamings to be obsolete.

2022-07-05  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_util.adb (Make_Subtype_From_Expr): Do not set field to Empty.
	* sem_util.adb (Visit_Itype): Remove ??? comment.

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

	* sem_attr.adb (Note_Possible_Modification): Revert a
	special-case for validity checks on Long_Float type.
	* snames.ads-tmpl (Name_Attr_Long_Float): Remove name added
	exclusively for the mentioned fix.

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

	* sem_ch6.adb (Set_Formal_Mode): Remove unnecessary setting of
	Never_Set_In_Source.

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

	* sem_ch6.adb (Process_Formals): Avoid repeated calls to
	Expression.

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

	* exp_code.adb (Setup_Asm_IO_Args): Remove guard against No_List.
	* par_sco.adb (Process_Decisions): Likewise.
	* sem_ch13.adb (Check_Component_List): Likewise.
	* sem_ch6.adb (FCL): Likewise.

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

	* cstreams.c (__gnat_full_name) [QNX]: Remove block.

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

	* osint.adb (Locate_File): Use Name_Find with a parameter and
	not with a global buffer.

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

	* exp_ch3.adb (Build_Init_Statements): Reuse Get_Pragma_Arg.
	* exp_prag.adb (Arg_N): Likewise.

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

	* ghost.adb (Is_OK_Ghost_Context): Detect ghost type inside object
	renaming.

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

	* exp_ch7.adb: Change two constants Is_Protected_Body and
	Is_Prot_Body to be Is_Protected_Subp_Body; these are not true
	for protected bodies, but for protected subprogram bodies.
	(Expand_Cleanup_Actions): No need to search for
	Activation_Chain_Entity; just use Activation_Chain_Entity.
	* sem_ch8.adb (Find_Direct_Name): Use Entyp constant.
	* atree.adb, atree.ads, atree.h, nlists.adb, nlists.ads
	(Parent): Provide nonoverloaded versions of Parent, so that they
	can be easily found in the debugger.
	* debug_a.adb, debug_a.ads: Clarify that we're talking about the
	-gnatda switch; switches are case sensitive.  Print out the
	Chars field if appropriate, which makes it easier to find things
	in the output.
	(Debug_Output_Astring): Simplify. Also fix an off-by-one
	bug ("for I in Vbars'Length .." should have been "for I in
	Vbars'Length + 1 ..").  Before, it was printing Debug_A_Depth +
	1 '|' characters if Debug_A_Depth > Vbars'Length.

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

	* sem_prag.adb (Analyze_Pragma): Remove unnecessary call to
	Analyze.

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

	* libgnat/g-socket.adb (Raise_Host_Error): Add No_Return aspect.
	(Raise_GAI_Error): Likewise.
	* libgnat/g-socket.ads (Raise_Socket_Error): Likewise.

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

	* sem_util.adb (Aggregate_Constraint_Checks): Fix whitespace;
	refactor repeated code; replace a ??? comment with an
	explanation based on the comment for the routine spec.

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

	* sem_util.ads (Note_Possible_Modification): Fix occurrence of
	May_Be_Modified in comment.
	* sem_warn.ads (Check_Unset_Reference): Fix occurrence of
	Not_Assigned in comment.

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

	* sem_attr.adb (Analyze_Attribute): Take into account the
	possibility of homonyms.

2022-07-05  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as a renaming
	for any nonaliased local object with nominal unconstrained subtype
	originally initialized with the result of a function call that has
	been rewritten as the dereference of a reference to the result.
	* sem_ch3.adb (Analyze_Object_Declaration): Do not do it here

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

	* exp_imgv.adb (Build_Enumeration_Image_Tables): Also disable
	perfect hash in GNAT_Mode.
	* raise-gcc.c (__gnat_Unwind_RaiseException): Add support for
	disabling exception propagation.
	* sem_eval.adb (Compile_Time_Known_Value): Update comment and
	remove wrong call to Check_Error_Detected.
	* sem_prag.adb (Check_Loop_Pragma_Grouping, Analyze_Pragma):
	Remove exception propagation during bootstrap.

2022-07-05  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_aggr.adb (Expand_Array_Aggregate): Remove obsolete code.
	Delay the expansion of aggregates initializing return objects of
	build-in-place functions.
	* exp_ch3.ads (Ensure_Activation_Chain_And_Master): Delete.
	* exp_ch3.adb (Ensure_Activation_Chain_And_Master): Fold back to...
	(Expand_N_Object_Declaration): ...here.
	Perform the expansion of return objects of build-in-place functions
	here instead of...
	* exp_ch6.ads (Is_Build_In_Place_Return_Object): Declare.
	* exp_ch6.adb (Expand_N_Extended_Return_Statement): ...here.
	(Is_Build_In_Place_Result_Type): Alphabetize.
	(Is_Build_In_Place_Return_Object): New predicate.
	* exp_ch7.adb (Enclosing_Function): Delete.
	(Process_Object_Declaration): Tidy up handling of return objects.
	* sem_ch3.adb (Analyze_Object_Declaration): Do not decorate and
	freeze the actual type if it is the same as the nominal type.
	* sem_ch6.adb: Remove use and with clauses for Exp_Ch3.
	(Analyze_Function_Return): Analyze again all return objects.
	(Create_Extra_Formals): Do not force the definition of an Itype
	if the subprogram is a compilation unit.

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

	* gnatls.adb (Corresponding_Sdep_Entry): Remove dead return
	statement in defensive path; there is another return statement
	for a normal execution of this routine, so rule Ada RM 6.5(5),
	which requires function to have at least one return statement is
	still satisfied.
	(Gnatls): Remove dead, call to nonreturning Exit_Program after
	Output_License_Information which itself does not return.
	* libgnat/a-exstat.adb (Bad_EO): Remove raise statement that was
	meant to please some ancient version of GNAT.
	* libgnat/g-awk.adb (Raise_With_Info): Likewise.
	* sem_attr.adb (Check_Reference): Remove dead return statement;
	rule Ada RM 6.5(5), which requires function to have at least one
	return statement is still satisfied.
	(Analyze_Attribute): Remove dead exit statement.
	(Check_Reference): Same as above.
	* sem_ch12.adb (Instantiate_Formal_Package): Remove dead raise
	statement; it was inconsistent with other calls to
	Abandon_Instantiation, which are not followed by a raise
	statement.
	* sem_prag.adb (Process_Convention): Remove dead defensive
	assignment.
	(Interrupt_State): Remove dead defensive exit statement.
	(Do_SPARK_Mode): Likewise.
	* sfn_scan.adb (Scan_String): Remove dead defensive assignment.

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

	* sem_attr.adb, sem_prag.adb: Remove dead return statements
	after calls to Error_Attr, Error_Pragma, Error_Pragma_Arg and
	Placement_Error. All these calls raise exceptions that are
	handled to gently recover from errors.

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

	* libgnat/system-vxworks-ppc-kernel.ads (Word_Size): Compute
	based on Standard'Word_Size.
	(Memory_Size): Compute based on Word_Size.
	* libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks-ppc-rtp.ads: Likewise.

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

	* sem_attr.adb (Analyze_Attribute): Move call to
	Set_Address_Taken so that it is executed when the prefix
	attribute is legal.

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

	* sem_ch5.adb (Check_Unreachable_Code): Avoid explicit use of
	Sloc; this should also help when we finally use Source_Span for
	prettier error messages.

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

	* sem_ch5.adb (Check_Unreachable_Code): Remove redundant guard;
	the call to Present wasn't needed either.

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

	* sem_ch5.adb (Analyze_Block_Statement): Call to List_Length with
	No_List is safe and will return zero.

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

	* sem_ch6.adb (Check_Missing_Return): Add reference to an RM rule.

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

	* sem_ch6.adb (Check_Missing_Return): Remove outdated comment.

2022-07-05  Dmitriy Anisimkov  <anisimko@adacore.com>

	* adaint.h (convert_addresses): Remove function declaration.

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

	* Makefile.rtl (*vxworks*): Remove most pre-vxworks7 code.
	* vxworks-arm-link.spec: Remove.
	* vxworks-e500-link.spec: Likewise.
	* vxworks-smp-arm-link.spec: Likewise.
	* vxworks-smp-e500-link.spec: Likewise.
	* vxworks-smp-x86-link.spec: 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-x86-kernel.ads: Likewise.
	* libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks-x86-rtp.ads: Likewise.

2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_disp.adb (Check_Dispatching_Call): Merge the two special cases
	where there are no controlling actuals but tag-indeternminate ones.

2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_disp.adb (Expand_Dispatching_Call): Fix detection of calls
	that are dispatching on tagged result.

2022-07-04  Doug Rupp  <rupp@adacore.com>

	* Makefile.rtl (ADA_EXCLUDE_SRCS): Add s-qnx.ads.

2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration) <OK_To_Rename_Ref>: New
	local function.
	<Rewrite_As_Renaming>: Change to a local variable whose value is
	computed once and generate a call to Finalize after this is done.
	Simplify the code creating the renaming at the end.

2022-07-04  Doug Rupp  <rupp@adacore.com>

	* Makefile.rtl (GCC_SPEC_FILES): Remove vxworks cert files.

2022-07-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_attr.adb (Resolve_Attribute): Refactor duplicated code for
	Count and Index attributes.

2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* checks.adb (Apply_Length_Check_On_Assignment): Return early if
	the Suppress_Assignment_Checks flag is set.
	(Selected_Range_Checks): Deal with conditional expressions.
	* exp_ch4.adb (Too_Large_Length_For_Array): New constant.
	(Expand_Concatenate): Use it in lieu of Too_Large_Max_Length.
	(Expand_N_If_Expression): If the result has a unidimensional array
	type but the dependent expressions have constrained subtypes with
	known bounds, create a static temporary on the stack with a subtype
	covering the result.
	(Get_First_Index_Bounds): Deal with string literals.
	* uintp.ads (Uint_256): New deferred constant.
	* sinfo.ads (Suppress_Assignment_Checks): Document new usage.

2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming):
	Do not rewrite if the declaration has got constraints.
	* sinfo.ads (Case Expression Alternative): Fix typo.

2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming):
	Be prepared for slices.
	* exp_ch4.adb (Get_First_Index_Bounds): New procedure.
	(Expand_Array_Comparison.Length_Less_Than_4): Call it.
	(Expand_Concatenate): Try to compute a maximum length for
	operands with variable length and a maximum total length at the
	end.  If the concatenation is dynamic, but a sensible maximum
	total length has been computed, use this length to create a
	static array subtype for the temporary and return a slice of it.

2022-07-04  Steve Baird  <baird@adacore.com>

	* sem_ch3.adb (Check_Possible_Deferred_Completion): Delete
	Prev_Obj_Def formal parameter.  Reorganize code so that
	statically matching check is also performed in the case where
	the subtype given in the initial declaration is constrained and
	the subtype given in the completion is not.

2022-07-04  Bob Duff  <duff@adacore.com>

	* einfo-utils.ads, einfo-utils.adb: Add predicates on subtypes E
	and N.  Change some parameters to use the unpredicated subtypes,
	because they sometimes return e.g. Empty.  Note that N_Entity_Id
	has a predicate; Entity_Id does not.
	* exp_tss.adb (Base_Init_Proc): Use Entity_Id instead of E,
	because otherwise we fail the predicate. We shouldn't be
	referring to single-letter names from far away anyway.
	* sem_aux.adb (Is_Derived_Type): Likewise.
	* sem_res.adb (Is_Definite_Access_Type): Use N_Entity_Id for
	predicate.
	* types.ads (Entity_Id): Add comment explaining the difference
	between Entity_Id and N_Entity_Id.

2022-07-04  Justin Squirek  <squirek@adacore.com>

	* exp_util.adb (Remove_Side_Effects): Combine identical
	branches.
	* sem_attr.adb (Analyze_Attribute): Combine identical cases
	Attribute_Has_Same_Storage and Attribute_Overlaps_Storage.
	* sem_prag.adb (Check_Role): Combine E_Out_Parameter case with
	general case for parameters.
	* sem_util.adb (Accessibility_Level): Combine identical
	branches.
	* sprint.adb (Sprint_Node_Actual): Combine cases for
	N_Real_Range_Specification and N_Signed_Integer_Type_Definition.

2022-07-04  Justin Squirek  <squirek@adacore.com>

	* libgnat/s-os_lib.adb (Quote_Argument): Modify the result
	buffer size calculation to handle the case where Arg'Length is
	1.

2022-07-04  Bob Duff  <duff@adacore.com>

	* exp_util.adb (Expand_Subtype_From_Expr): Generate a new
	subtype when Is_Constr_Subt_For_UN_Aliased is True, so the
	Is_Constr_Subt_For_U_Nominal flag will not be set on the
	preexisting subtype.
	* sem_attr.adb, sem_ch3.adb: Minor.

2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* debug.adb (d.9): Remove usage.
	* exp_ch6.adb (Expand_Simple_Function_Return): Remove redundant
	test on Debug_Flag_Dot_L.
	(Is_Build_In_Place_Result_Type): Return false for nonlimited types.
	(Is_Build_In_Place_Function): Tidy up and remove redundant test on
	Debug_Flag_Dot_L.

2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Don't adjust the object
	if the expression is a function call.
	<Rewrite_As_Renaming>: Return true if the object needs finalization
	and is initialized  with the result of a function call returned on
	the secondary stack.
	* exp_ch6.adb (Expand_Ctrl_Function_Call): Add Use_Sec_Stack boolean
	parameter.  Early return if the parent is an object declaration and
	Use_Sec_Stack is false.
	(Expand_Call_Helper): Adjust call to Expand_Ctrl_Function_Call.
	* exp_ch7.adb (Find_Last_Init): Be prepared for initialization still
	present in the object declaration.
	* sem_ch3.adb (Analyze_Object_Declaration): Call the predicates
	Needs_Secondary_Stack and Needs_Finalization to guard the renaming
	optimization.

2022-07-04  Bob Duff  <duff@adacore.com>

	* libgnat/a-cbhase.ads, libgnat/a-cborse.ads,
	libgnat/a-cihase.ads, libgnat/a-ciorse.ads,
	libgnat/a-cohase.ads, libgnat/a-coorse.ads (Key): New function
	that takes a Container parameter, implemented as an expression
	function, so it is self explanatory (doesn't need a comment).

2022-07-04  Vasiliy Fofanov  <fofanov@adacore.com>

	* doc/gnat_rm/the_gnat_library.rst: Fix length of title
	underlines.

2022-07-04  Steve Baird  <baird@adacore.com>

	* sem_ch4.adb (Analyze_Allocator): After calling Insert_Action
	to insert a subtype declaration associated with an allocator,
	the subtype declaration will usually be analyzed. But not
	always. Add an explicit call to Preanalyze to cope with the
	unusual case. The subtype declaration must be at least
	preanalyzed before the call to Sem_Ch3.Process_Subtype a little
	while later, during which we analyze an identifier that refers
	to the subtype.

2022-07-04  Steve Baird  <baird@adacore.com>

	* sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not
	generate a warning if the expression in question is an assertion
	expression, or a subexpression thereof. But do call
	Test_Comparison so that it can generate warnings for the cases
	that it generates warnings for.
	* sem_prag.ads: Modify Assertion_Expression_Pragma constant so
	that the predicate Sem_Util.In_Assertion_Expression_Pragma
	returns True for the expression of a Compile_Time_Error pragma.

2022-07-04  Julien Bortolussi  <bortolussi@adacore.com>

	* doc/gnat_rm/the_gnat_library.rst: Add the new entry.
	* gnat_rm.texi: Regenerate.

2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_res.adb (Resolve_Comparison_Op): Deal with ambiguous operands
	in all cases.
	(Resolve_Equality_Op): Likewise, except for the case of the implicit
	inequality operator created for a user-defined operator that is not
	an intrinsic subprogram.

2022-07-04  Bob Duff  <duff@adacore.com>

	* libgnat/a-cbhase.adb, libgnat/a-cbhase.ads,
	libgnat/a-cborse.adb, libgnat/a-cborse.ads,
	libgnat/a-cihase.adb, libgnat/a-cihase.ads,
	libgnat/a-ciorse.adb, libgnat/a-ciorse.ads,
	libgnat/a-cohase.adb, libgnat/a-cohase.ads,
	libgnat/a-conhel.adb, libgnat/a-conhel.ads,
	libgnat/a-coorse.adb, libgnat/a-coorse.ads: Add Has_Element,
	Element, Query_Element, and Next subprograms that take a Set
	parameter. Add Tampering_With_Cursors_Prohibited function. These
	are all new in Ada 2022.

2022-07-04  Claire Dross  <dross@adacore.com>

	* doc/gnat_rm/the_gnat_library.rst: Functional vectors, sets,
	and maps are now controlled.
	* gnat_rm.texi: Regenerate.

2022-07-04  Claire Dross  <dross@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst
	(Debugging and Assertion Control): Add GNAT specific assertion
	pragmas to the equivalent Assertion_Policy for the -gnata
	option.
	* gnat_ugn.texi: Regenerate.

2022-07-04  Justin Squirek  <squirek@adacore.com>

	* sem_disp.adb (Most_Descendant_Use_Clause): Remove call to
	deprecated Is_Internal.
	* sem_util.adb (Innermost_Master_Scope_Depth): Use
	Find_Enclosing_Scope instead of Nearest_Dynamic_Scope to avoid
	cases where relevant scopes get skipped leading to an incorrect
	scope depth calculation.

2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch6.adb (Build_In_Place_Formal): Also compute Returns_By_Ref
	for the function if the extra formals were not built initially.

2022-07-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch13.adb (Resolve_Iterable_Operation): Add guard to
	prevent crash when the examined function has no formal
	parameters and Etype is called on Empty entity.

2022-07-04  Julien Bortolussi  <bortolussi@adacore.com>

	* libgnat/a-cfinse.adb, libgnat/a-cfinse.ads: Implementation
	files of the sequence.
	* Makefile.rtl, impunit.adb: Take into account the add of the
	new files

2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* doc/gnat_rm/implementation_defined_pragmas.rst (Pure_Function):
	Fix ambiguous wording about context dependence.
	* gnat_rm.texi: Regenerate.

2022-06-02  David Malcolm  <dmalcolm@redhat.com>

	* gcc-interface/misc.cc (gnat_get_sarif_source_language): New.
	(LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.

2022-06-02  Pierre-Marie de Rodat  <derodat@adacore.com>

	* gcc-interface/gigi.h: Update copyright notice.
	* gcc-interface/lang-specs.h: Likewise.
	* gcc-interface/utils.cc: Likewise.

2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/gigi.h (enum standard_datatypes): Remove values
	for the SJLJ exception mechanism.
	(jmpbuf_type): Delete.
	(jmpbuf_ptr_type): Likewise.
	(get_jmpbuf_decl): Likewise.
	(set_jmpbuf_decl): Likewise.
	(get_excptr_decl): Likewise.
	(not_handled_by_others_decl): Likewise.
	(setjmp_decl): Likewise.
	(update_setjmp_buf_decl): Likewise.
	(raise_nodefer_decl): Likewise.
	(set_block_jmpbuf_decl): Likewise.
	(get_block_jmpbuf_decl): Likewise.
	* gcc-interface/trans.cc (gigi): Delete dead code.
	* gcc-interface/utils.cc (gnat_binding_level): Remove JMPBUF_DECL.
	(gnat_pushlevel): Do not clear it.
	(set_block_jmpbuf_decl): Delete.
	(get_block_jmpbuf_decl): Likewise.

2022-06-02  Ghjuvan Lacambre  <lacambre@adacore.com>

	* gcc-interface/decl.cc (warn_on_field_placement): Add insertion
	character '.q' to warning string.

2022-06-02  Arnaud Charlet  <charlet@adacore.com>

	* gcc-interface/Makefile.in (gnatlib-shared-default): Add
	-fno-lto.

2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.cc (gnat_to_gnu_entity): Do not check the
	scope of anonymous access Itypes.
	* gcc-interface/trans.cc (Identifier_to_gnu): Do not translate
	the return type of a subprogram here.

2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch7.adb (Expand_N_Package_Body): Build static dispatch
	tables only for units that are not compilation units, unless
	they are generic instances.  Do not push a scope for this.
	(Expand_N_Package_Declaration): Build static dispatch tables
	only for units that are both not compilation units and generic
	instances.
	* exp_disp.adb (Build_Static_Dispatch_Tables): Remove redundant
	early return.  Push a scope for package bodies.
	* sem_ch10.adb: Add with and use clauses for Exp_Disp.
	(Analyze_Compilation_Unit): Build static dispatch tables here.

2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Clear the Is_Public
	flag on thunks.

2022-06-02  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch13.adb, exp_ch5.adb, exp_ch9.adb, exp_strm.adb,
	sem_ch10.adb, sem_ch13.adb, sem_ch5.adb, sem_ch6.adb,
	sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb,
	sem_util.adb: Remove checks for the missing list before
	iterating with First/Next; reindent code and refill comments.

2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo.ads (Has_Controlling_Result): Document new usage.
	(Is_Thunk): Document secondary stack thunks.
	(Returns_By_Ref): Adjust.
	* exp_ch6.adb (Caller_Known_Size): Return true for tagged types.
	(Expand_N_Extended_Return_Statement): Do not call Set_By_Ref.
	(Expand_Simple_Function_Return): For a BIP return with an Alloc_Form
	parameter, mark the node as returning on the secondary stack.
	Replace call to Is_Limited_Interface with Is_Limited_View.  Deal wit
	secondary stack thunks.  Do not call Set_By_Ref.  Optimize the case
	of a call to a function whose type also needs finalization.
	(Needs_BIP_Task_Actuals): Replace Thunk_Entity with Thunk_Target.
	(Needs_BIP_Finalization_Master): Cosmetic fixes.
	(Needs_BIP_Alloc_Form): Check No_Secondary_Stack restriction and
	return true for tagged types.
	* exp_ch7.adb (Transient Scope Management): Update description.
	* exp_disp.adb (Expand_Dispatching_Call): Always set Returns_By_Ref
	on designated type if the call is dispatching on result.  Tidy up.
	(Expand_Interface_Thunk): Change type of Thunk_Code from Node_Id to
	List_Id.  Change type of local variables from Node_Id to Entity_Id.
	Propagate Aliased_Present flag to create the formals and explicitly
	set Has_Controlling_Result to False.  Build a secondary stack thunk
	if necessary in the function case.
	(Expand_Secondary_Stack_Thunk): New function.
	(Make_Secondary_DT): Build secondary stack thunks if necessary.
	(Make_DT): Likewise.
	(Register_Predefined_Primitive): Likewise.
	(Register_Primitive): Likewise.
	* exp_util.ads (Is_Secondary_Stack_Thunk): Declare.
	(Thunk_Target): Likewise.
	* exp_util.adb (Is_Secondary_Stack_Thunk): New function.
	(Thunk_Target): Likewise.
	* fe.h (Is_Secondary_Stack_Thunk): Declare.
	(Thunk_Target): Likewise.
	* gen_il-fields.ads (Opt_Field_Enum): Remove By_Ref.
	* gen_il-gen-gen_nodes.adb (N_Simple_Return_Statement): Likewise.
	(N_Extended_Return_Statement): Likewise.
	* sem_ch6.adb (Analyze_Subprogram_Specification): Skip check for
	abstract return type in the thunk case.
	(Create_Extra_Formals): Replace Thunk_Entity with Thunk_Target.
	* sem_disp.adb (Check_Controlling_Formals): Skip in the thunk case.
	* sem_util.adb: Add use and with clauses for Exp_Ch6.
	(Compute_Returns_By_Ref): Do not process procedures and only set
	the flag for direct return by reference.
	(Needs_Secondary_Stack): Do not return true for specific tagged
	types and adjust comments accordingly.
	* sinfo.ads (By_Ref): Delete.
	(N_Simple_Return_Statement): Remove By_Ref.
	(N_Extended_Return_Statement): Likewise.
	* gcc-interface/ada-tree.h (TYPE_RETURN_UNCONSTRAINED_P): Delete.
	* gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Do not use it.
	Return by direct reference if the return type needs the secondary
	stack as well as for secondary stack thunks.
	* gcc-interface/gigi.h (fntype_same_flags_p): Remove parameter.
	* gcc-interface/misc.cc (gnat_type_hash_eq): Adjust to above change.
	* gcc-interface/trans.cc (finalize_nrv): Replace test on
	TYPE_RETURN_UNCONSTRAINED_P with TYPE_RETURN_BY_DIRECT_REF_P.
	(Subprogram_Body_to_gnu): Do not call maybe_make_gnu_thunk for
	secondary stack thunks.
	(Call_to_gnu): Do not test TYPE_RETURN_UNCONSTRAINED_P.
	(gnat_to_gnu) <N_Simple_Return_Statement>: In the return by direct
	reference case, test for the presence of Storage_Pool on the node
	to build an allocator.
	(maybe_make_gnu_thunk): Deal with Thunk_Entity and Thunk_Target.
	* gcc-interface/utils.cc (fntype_same_flags_p): Remove parameter.

2022-06-02  Marc Poulhiès  <poulhies@adacore.com>

	* einfo.ads: Fix reference to Global_Entity_Suppress and
	Local_Entity_Suppress variable in the comments.
	* sem.ads: Likewise.
	* sem_prag.adb: Likewise.

2022-06-02  Claire Dross  <dross@adacore.com>

	* libgnat/s-aridou.adb: Use Always_Return instead of Terminating
	to annotate termination for GNATprove.
	* libgnat/s-arit32.adb: Idem.
	* libgnat/s-spcuop.ads: Idem.

2022-06-02  Julien Bortolussi  <bortolussi@adacore.com>

	* libgnat/a-cofuse.ads, libgnat/a-cofuse.adb,
	libgnat/a-cofuma.ads, libgnat/a-cofuma.adb: Make Length and
	Num_Overlaps return Big_Natural.
	* libgnat/a-cforse.ads, libgnat/a-cforse.adb,
	libgnat/a-cforma.adb, libgnat/a-cfhase.ads,
	libgnat/a-cfhase.adb, libgnat/a-cfhama.adb,
	libgnat/a-cfdlli.adb: Adapt code to handle Big_Integers instead
	of Count_Type.

2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Init_Secondary_Tags.Initialize_Tag): Initialize the
	Offset_Func component by means of 'Unrestricted_Access.

2022-06-02  Ghjuvan Lacambre  <lacambre@adacore.com>

	* errout.adb (Write_JSON_Span): Add subprogram name to emitted
	JSON.

2022-06-02  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch7.adb (Set_Referencer_Of_Non_Subprograms): New local
	procedure, used for code refactoring. Also take into account
	Inline_Always pragma when deciding to make a symbol public for
	C generation.

2022-06-02  Yannick Moy  <moy@adacore.com>

	* atree.adb (New_Copy): Reset flags related to ghost entities
	before marking the new node.

2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Move
	procedure to...
	* exp_disp.ads (Expand_Interface_Thunk): Move declaration to...
	(Register_Predefined_Primitive): Declare.
	* exp_disp.adb (Expand_Interface_Thunk): ...here.
	(Register_Predefined_Primitive): ...here and change into a function
	returning List_Id.

2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Expand_Freeze_Record_Type): Adjust comment.
	(Expand_N_Object_Declaration): Do not build static dispatch tables.
	* exp_disp.adb (Make_And_Insert_Dispatch_Table): New procedure.
	(Build_Static_Dispatch_Tables): Call it to build the dispatch tables
	and wrap them in the Actions list of a freeze node.

2022-06-02  Doug Rupp  <rupp@adacore.com>

	* libgnat/system-vxworks7-arm.ads (Support_Atomic_Primitives):
	Set True.
	* libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-aarch64.ads: Likewise.
	* libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise:

2022-06-02  Javier Miranda  <miranda@adacore.com>

	* libgnat/g-dyntab.ads (Table_Type): Update documentation.

2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>

	* freeze.adb (Check_Expression_Function.Find_Constant): Make test
	for deferred constants more robust.

2022-06-02  Joffrey Huguet  <huguet@adacore.com>

	* libgnat/i-cstrin.ads (Update): Update precondition.

2022-06-02  Yannick Moy  <moy@adacore.com>

	* sem_ch2.adb (Analyze_Identifier): Add checking for ghost
	context.
	* sem_ch5.adb (Analyze_Implicit_Label_Declaration): Treat
	implicit labels like other entities by setting their ghost
	status according to context.
	* ghost.adb (Check_Ghost_Context): Adapt checking.

2022-06-02  Joffrey Huguet  <huguet@adacore.com>

	* libgnat/i-cstrin.ads (Update): Add precondition.

2022-06-02  Yannick Moy  <moy@adacore.com>

	* sem_ch5.adb (Analyze_Label_Entity): Remove body.
	* sem_ch5.ads (Analyze_Label_Entity): Remove spec.

2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb (Propagate_DIC_Attributes): Add ??? comment.
	(Propagate_Invariant_Attributes): Likewise.  Propagate the
	Has_Inheritable_Invariants and Has_Inherited_Invariants to
	the base type of the target type.

2022-06-02  Doug Rupp  <rupp@adacore.com>

	* libgnat/system-linux-arm.ads (Memory_Size): Compute based on
	Word_Size.

2022-06-02  Doug Rupp  <rupp@adacore.com>

	* libgnat/system-vxworks7-aarch64-rtp-smp.ads (Word_Size):
	Compute based on Standard'Word_Size. (Memory_Size): Compute
	based on Word_Size.
	* libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-e500-rtp.ads: Likewise.
	* libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
	* libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-x86-rtp.ads: Likewise.

2022-06-02  Justin Squirek  <squirek@adacore.com>

	* gnatbind.adb (Gnatbind): Add initialize call for Uintp
	* gnatls.adb (Gnatls): Likewise.
	* gprep.adb (Gnatprep): Likewise.
	* make.adb (Initialize): Likewise.

2022-06-02  Claire Dross  <dross@adacore.com>

	* libgnat/a-cfinve.ads (Element): Change the type of the
	Position parameter to Extended_Index.
	* libgnat/a-cfinve.adb (Element): Idem.
	* libgnat/a-cofove.ads (Element): Idem.
	* libgnat/a-cofove.adb (Element): Idem.

2022-06-02  Joffrey Huguet  <huguet@adacore.com>

	* libgnat/s-atacco.ads (To_Pointer): Add Global => null.
	(To_Address): Add SPARK_Mode => Off.

2022-06-02  Joffrey Huguet  <huguet@adacore.com>

	* libgnat/i-cstrin.ads (To_Chars_Ptr): Add SPARK_Mode => Off.
	(Free): Likewise.
	(New_Char_Array): Add global contracts and Volatile attribute.
	(New_String): Likewise.
	(Value, Strlen, Update): Add global contracts and preconditions.
	* libgnat/i-cstrin.adb: Add SPARK_Mode => Off to the package
	body.

2022-06-01  Yannick Moy  <moy@adacore.com>

	* contracts.adb (Check_Type_Or_Object_External_Properties): Check
	the validity of combinations only when No_Caching is not used.
	* sem_prag.adb (Analyze_External_Property_In_Decl_Part): Check
	valid combinations with No_Caching.

2022-06-01  Doug Rupp  <rupp@adacore.com>

	* libgnat/system-vxworks7-aarch64.ads (Word_Size): Compute
	based on Standard'Word_Size. (Memory_Size): Compute based
	on Word_Size.
	* libgnat/system-vxworks7-arm.ads: Likewise.
	* libgnat/system-vxworks7-e500-kernel.ads: Likewise.
	* libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
	* libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
	* libgnat/system-vxworks7-x86-kernel.ads: Likewise.
	* libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.

2022-06-01  Doug Rupp  <rupp@adacore.com>

	* libgnat/system-qnx-arm.ads (Memory_Size): Compute based on
	Word_Size.

2022-06-01  Piotr Trojanek  <trojanek@adacore.com>

	* par-util.adb (Ignore): Add missing space to message string.

2022-06-01  Yannick Moy  <moy@adacore.com>

	* sem_prag.ads (Assertion_Expression_Pragmas): Fix value for
	pragma Subprogram_Variant.

2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch6.adb (Caller_Known_Size): Invoke Needs_Secondary_Stack in
	lieu of Returns_On_Secondary_Stack.
	(Expand_Call_Helper): Likewise.
	(Expand_Simple_Function_Return): Likewise.
	(Needs_BIP_Alloc_Form): Likewise.
	* exp_ch7.adb (Wrap_Transient_Declaration): Likewise.
	* sem_res.adb (Resolve_Call): Likewise.
	(Resolve_Entry_Call): Likewise.
	* sem_util.ads (Returns_On_Secondary_Stack): Rename into...
	(Needs_Secondary_Stack): ...this.
	* sem_util.adb (Returns_On_Secondary_Stack): Rename into...
	(Needs_Secondary_Stack): ...this.
	* fe.h (Returns_On_Secondary_Stack): Delete.
	(Needs_Secondary_Stack): New function.
	* gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call
	to Returns_On_Secondary_Stack with Needs_Secondary_Stack.

2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): For the case where
	there is no previous declaration, freeze the body entity only after
	it has been processed as a new overloaded name.
	Use Was_Expression_Function to recognize expression functions.
	* sem_disp.adb (Check_Dispatching_Operation): Do not require a body
	which is the last primitive to be frozen here.

2022-06-01  Julien Bortolussi  <bortolussi@adacore.com>

	* libgnat/a-cfdlli.adb ("="): Make the function properly loop
	over the right list.

2022-06-01  Marc Poulhiès  <poulhies@adacore.com>

	* checks.adb (Apply_Predicate_Check): Refine condition for
	applying optimization.
	* sem_ch3.adb (Analyze_Component_Declaration): Adjust calls to
	Should_Build_Subtype.
	(Analyze_Object_Declaration): Likewise.
	(Should_Build_Subtype): Rename/move to ...
	* sem_util.ads (Build_Default_Subtype_OK): ... this.
	* sem_util.adb (Build_Default_Subtype_OK): Moved from
	sem_ch3.adb.

2022-06-01  Doug Rupp  <rupp@adacore.com>

	* init.c (__gnat_adjust_context_for_raise) [QNX][__thumb2__]: Bump
	the pc an extra byte.

2022-06-01  Ghjuvan Lacambre  <lacambre@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
	Document new behavior.
	* errout.adb (Write_JSON_Location): Output absolute paths when
	needed.
	* switch-c.adb (Scan_Front_End_Switches): Update -gnatef
	comment.
	* usage.adb (Usage): Update description of -gnatef.
	* gnat_ugn.texi: Regenerate.

2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>

	* contracts.adb (Build_Postconditions_Procedure): Set Is_Inlined
	unconditionnally on the procedure entity.

2022-06-01  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch3.adb (Constrain_Access): Propagate null-exclusion flag
	from parent type.

2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch5.adb (Analyze_Loop_Statement): Add a comment about
	a finalization issue.

2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch6.adb (Caller_Known_Size): Call Returns_On_Secondary_Stack
	instead of Requires_Transient_Scope and tidy up.
	(Needs_BIP_Alloc_Form): Likewise.
	* exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Also return
	true if the build-in-place function call has no BIPalloc parameter.
	(Is_Finalizable_Transient): Remove redundant test.

2022-06-01  Alexandre Oliva  <oliva@adacore.com>

	* doc/gnat_rm/security_hardening_features.rst: Note that hardening
	features are experimental.
	* gnat_rm.texi: Regenerate.

2022-06-01  Steve Baird  <baird@adacore.com>

	* exp_ch3.adb (Make_Controlling_Function_Wrappers): Set the
	Corresponding_Spec field of a wrapper subprogram body before
	analyzing the subprogram body; the field will be set (again)
	during analysis, but we need it to be set earlier.
	* exp_ch13.adb (Expand_N_Freeze_Entity): Add wrapper subprogram
	bodies to the list of declarations for which we do not want to
	suppress checks.

2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb (Indirect_Temp_Needed): Adjust reference in comment.

2022-06-01  Doug Rupp  <rupp@adacore.com>

	* Makefile.rtl (GNATLIB_SHARED): Revert disablement for arm-qnx.

2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb
	(Returns_On_Secondary_Stack.Caller_Known_Size_Record): Directly
	check the dependence on discriminants for the variant part, if
	any, instead of calling the Is_Definite_Subtype predicate.

2022-06-01  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_warn.adb (Warn_On_Unreferenced_Entity): Fix warning tag.

2022-06-01  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_warn.adb (Check_References): Adjust conditions under which
	warning messages should be emitted and their tags as well.

2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_disp.ads (Expand_Interface_Thunk): Change type of Prim.
	* exp_disp.adb (Expand_Interface_Thunk): Declare Is_Predef_Op
	earlier, do not initialize Iface_Formal, use No idiom and tweaks
	comments.
	(Register_Primitive): Declare L earlier and tweak comments.
	* sem_disp.adb (Check_Dispatching_Operation): Move tests out of
	loop.

2022-06-01  Steve Baird  <baird@adacore.com>

	* exp_ch3.ads: Replace visible Build_Discr_Checking_Funcs (which
	did not need to be visible - it was not referenced outside this
	package) with Build_Or_Copy_Discr_Checking_Funcs.
	* exp_ch3.adb: Refactor existing code into 3 procedures -
	Build_Discr_Checking_Funcs, Copy_Discr_Checking_Funcs, and
	Build_Or_Copy_Discr_Checking_Funcs. This refactoring is intended
	to be semantics-preserving.
	* exp_ch4.adb (Expand_N_Selected_Component): Detect case where a
	call should be generated to the Discriminant_Checking_Func for
	the component in question, but that subprogram does not yet
	exist.
	* sem_ch13.adb (Freeze_Entity_Checks): Immediately before
	calling Build_Predicate_Function, add a call to
	Exp_Ch3.Build_Or_Copy_Discr_Checking_Funcs in order to ensure
	that Discriminant_Checking_Func attributes are already set when
	Build_Predicate_Function is called.
	* sem_ch6.adb (Analyze_Expression_Function): If the expression
	of a static expression function has been transformed into an
	N_Raise_xxx_Error node, then we need to copy the original
	expression in order to check the requirement that the expression
	must be a potentially static expression. We also want to set
	aside a copy the untransformed expression for later use in
	checking calls to the expression function via
	Inline_Static_Function_Call.  So introduce a new function,
	Make_Expr_Copy, for use in these situations.
	* sem_res.adb (Preanalyze_And_Resolve): When analyzing certain
	expressions (e.g., a default parameter expression in a
	subprogram declaration) we want to suppress checks. However, we
	do not want to suppress checks for the expression of an
	expression function.

2022-06-01  Bob Duff  <duff@adacore.com>

	* exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For each
	subprogram found, assert that the variable is Empty, so we can
	detect bugs where we find two or more things with the same name.
	Without this patch, that bug would happen when we add the new
	Next procedure.  For Step, make sure we pick the right one, by
	checking name and number of parameters.  For Get_Element_Access,
	check that we're picking a function.  That's not really
	necessary, because there is no procedure with that name, but it
	seems cleaner this way.
	* rtsfind.ads: Minor comment improvement. It seems kind of odd
	to say "under no circumstances", and then immediately contradict
	that with "The one exception is...".

2022-06-01  Doug Rupp  <rupp@adacore.com>

	* init.c (QNX): __gnat_adjust_context_for_raise: New
	implementation for arm-qnx.

2022-06-01  Julien Bortolussi  <bortolussi@adacore.com>

	* libgnat/a-cofuba.ads, libgnat/a-cofuba.adb: Add reference
	counting.

2022-06-01  Yannick Moy  <moy@adacore.com>

	* sem_ch8.adb (Use_One_Package): Possibly warn.
	* sem_util.adb (Enter_Name): Factor out warning on hidden entity.
	(Warn_On_Hiding_Entity): Extract warning logic from Enter_Name and
	generalize it to be applied also on use_clause.
	* sem_util.ads (Warn_On_Hiding_Entity): Add new procedure.

2022-06-01  Yannick Moy  <moy@adacore.com>

	* par-ch3.adb (P_Known_Discriminant_Part_Opt): Reword error
	message to benefit from existing codefix.
	(P_Record_Definition): Detect out-of-order keywords in record
	definition and issue appropriate messages. Other cases are
	already caught at appropriate places.

2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Put
	the actions into the Actions field of the freeze node instead of
	inserting them after it.

2022-06-01  Marc Poulhiès  <poulhies@adacore.com>

	* sinfo.ads: Add inline documention for Is_Parenthesis_Aggregate
	and Is_Enum_Array_Aggregate.

2022-06-01  Bob Duff  <duff@adacore.com>

	* einfo-utils.adb (Set_Convention): Call Set_Convention
	recursively, so that Set_Can_Use_Internal_Rep is called (if
	appropriate) on the anonymous access type of the object, and its
	designated subprogram type.
	* sem_ch3.adb (Access_Definition): Remove redundant call to
	Set_Can_Use_Internal_Rep.

2022-06-01  Bob Duff  <duff@adacore.com>

	* exp_ch4.adb (Expand_N_In): Do not warn in the above-mentioned
	cases.
	* fe.h (Assume_No_Invalid_Values): Remove from fe.h, because
	this is not used in gigi.
	* opt.ads (Assume_No_Invalid_Values): Improve the comment. We
	don't need to "clearly prove"; we can just "prove". Remove the
	comment about fe.h, which is no longer true.

2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>

	* erroutc.adb (Get_Warning_Option): Don't consider `?` as a
	valid option switch.

2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>

	* erroutc.ads (Get_Warning_Option): New function returning the
	option responsible for a warning if it exists.
	* erroutc.adb (Get_Warning_Option): Likewise.
	(Get_Warning_Tag): Rely on Get_Warning_Option when possible.
	* errout.adb (Output_JSON_Message): Emit option field.

2022-05-30  Julien Bortolussi  <bortolussi@adacore.com>

	* libgnat/a-cfdlli.ads (Insert): Remove the duplication.

2022-05-30  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch6.adb (Check_Subprogram_Variant): Ignore structural
	variants.

2022-05-30  Piotr Trojanek  <trojanek@adacore.com>

	* osint.adb (Locate_File): Change variable to constant and
	initialize it by concatenation of directory, file name and NUL.

2022-05-30  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_rm/implementation_advice.rst (Packed Types): Remove
	duplicated and wrongly placed paragraph.
	* gnat_rm.texi: Regenerate.

2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>

	* inline.adb (Check_Package_Body_For_Inlining): Add insertion
	character.

2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>

	* freeze.adb (Warn_Overlay): Add 'o' insertion character.
	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Likewise.
	* sem_util.adb (Note_Possible_Modifications): Likewise.

2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_warn.adb (Warn_On_Useless_Assignment): Fix insertion
	character.

2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension):
	Fix insertion character.

2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sem_elab.adb (Process_Conditional_ABE_Access_Taken): Add '.f'
	insertion characters.

2022-05-30  Piotr Trojanek  <trojanek@adacore.com>

	* lib-xref.ads (Deferred_Reference_Entry, Defer_Reference,
	Process_Deferred_References, Has_Deferred_Reference): Remove
	client API.
	* lib-xref.adb (Deferred_References, Defer_Reference,
	Has_Deferred_Reference, Process_Deferred_References): Remove
	implementation.
	* frontend.adb, sem_ch11.adb, sem_ch5.adb, sem_res.adb,
	sem_util.adb, sem_warn.adb: Remove uses of Deferred_References.

2022-05-30  Bob Duff  <duff@adacore.com>

	* exp_ch7.adb (Wrap_HSS_In_Block): Do not create a new block in
	the case of function bodies. We include all subprogram bodies,
	because it's harmless for procedures. We cannot easily avoid
	creating this block in ALL cases, because some transformations
	of (e.g.) task bodies end up moving some code such that the
	wrong exception handlers apply to that code.
	(Build_Finalizer_Call): Remove code for creating a new block.
	This was unreachable code, given that Wrap_HSS_In_Block has
	already done that, but with the above change to
	Wrap_HSS_In_Block, this code becomes reachable, and triggers
	essentially the same bug.
	* exp_ch7.ads: Adjust comment.

2022-05-30  Justin Squirek  <squirek@adacore.com>

	* par-ch6.adb (P_Formal_Part): Set Aspect_Specifications on all
	formals instead of just the last in a formal id list.
	* sem_ch6.adb (Analyze_Null_Procedure): Mark expanded null
	generic procedures as trivial in order to avoid spurious
	unreferenced warnings.

2022-05-30  Romain Beguet  <beguet@adacore.com>

	* libgnat/s-dwalin.adb: Add a subtype declaration to fix the
	ambiguity.

2022-05-30  Steve Baird  <baird@adacore.com>

	* sem_ch13.adb (Is_Predicate_Static): Do not generate warnings
	about subexpressions of enclosing expressions. Generate warnings
	for predicates that are known to be always true or always false,
	except in the case where the predicate is expressed as a Boolean
	literal. Deal with non-predicate-static expressions that have
	been transformed into predicate-static expressions.  Add missing
	Is_Type_Ref call to N_Membership_Test case.

2022-05-30  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_aggr.adb (Expand_Record_Aggregate.Build_Back_End_Aggregate):
	Skip the discriminants at the start of the component list before
	looking for the components inherited from the parent in the case
	of a tagged extension.

2022-05-30  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_disp.adb (Make_DT): Remove remaining freezing code.

2022-05-30  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Don't analyze
	the body of an expression function in the case of a dispatch table.

2022-05-30  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb, opt.ads, sem_ch7.adb: Introduce CCG_Mode.

2022-05-30  Yannick Moy  <moy@adacore.com>

	* Makefile.rtl: Add new units.
	* libgnat/s-aridou.adb (Scaled_Divide): Add ghost code for provers.
	* libgnat/s-spcuop.adb: New unit for ghost cut operations.
	* libgnat/s-spcuop.ads: New unit for ghost cut operations.
	* libgnat/s-spark.ads: New unit.

2022-05-30  Alexandre Oliva  <oliva@adacore.com>

	* doc/gnat_rm/security_hardening_features.rst: Mention
	availability in other languages when applicable.
	(Stack Scrubbing): Associate the attribute with types, expand
	some comments, fix the example involving access to variables.
	* gnat_rm.texi: Regenerate.

2022-05-30  Piotr Trojanek  <trojanek@adacore.com>

	* libgnat/a-cofuse.ads (Empty_Set): Fix typo in comment.

2022-05-30  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch6.adb (New_Overloaded_Entity): Deal specifically with the
	overriding of the "=" operator for tagged types.

2022-05-30  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Adjust call to Make_DT.
	* exp_disp.ads (Building_Static_DT): Remove pragma Inline.
	(Building_Static_Secondary_DT): Likewise.
	(Convert_Tag_To_Interface): Likewise.
	(Make_DT): Remove second parameter.
	* exp_disp.adb (Make_DT): Likewise.
	(Check_Premature_Freezing): Delete.
	Pass Do_Freeze_Profile as False in call to Freeze_Entity.
	* freeze.ads (Freezing_Library_Level_Tagged_Type): Delete.
	* freeze.adb (Freeze_Profile): Remove obsolete code.
	(Freeze_Entity): Tweak comment.

2022-05-30  Yannick Moy  <moy@adacore.com>

	* libgnat/s-arit32.adb (Scaled_Divide32): Move assertion up.

2022-05-30  Yannick Moy  <moy@adacore.com>

	PR ada/105303
	* libgnat/s-gearop.adb: Add pragma Assertion_Policy in generic
	bodies making use of additional assertions or ghost code.
	* libgnat/s-gearop.ads: Remove confusing Assertion_Policy.

2022-05-30  Steve Baird  <baird@adacore.com>

	* exp_ch11.adb (Expand_N_Raise_Expression): Remove
	Convert_To_Return_False test.
	* gen_il-fields.ads: Remove Convert_To_Return_False field.
	* gen_il-gen-gen_nodes.adb: Remove use of
	Convert_To_Return_False field.
	* sinfo.ads: Remove comment describing Convert_To_Return_False
	flag.

2022-05-30  Julien Bortolussi  <bortolussi@adacore.com>

	* libgnat/a-cofuma.ads, libgnat/a-cofuma.adb,
	libgnat/a-cofuse.ads, libgnat/a-cofuse.adb,
	libgnat/a-cofuve.ads, libgnat/a-cofuve.adb: Add empty
	constructors.

2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>

	* bindgen.adb (Gen_CUDA_Init): Remove code generating CUDA
	definitions.
	(Gen_CUDA_Defs): New function, generating definitions
	initialized by Gen_CUDA_Init.
	(Gen_Output_File_Ada): Call Gen_CUDA_Defs instead of
	Gen_CUDA_Init.
	(Gen_Adainit): Call Gen_CUDA_Init.

2022-05-28  Alexandre Oliva  <oliva@adacore.com>

	* gcc-interface/Makefile.in (OSCONS_CC): Rename to...
	(GCC_FOR_ADA_RTS): ... this.  Adjust users.
	(gnatlib): Pass it down as CC.
	(gnatlib-shared-default): Likewise.
	(gnatlib-shared-win32, gnatlib-shared-darwin): Likewise.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Constant>: Deal with
	a constant related to a return in a function specially.
	* gcc-interface/trans.cc (Call_to_gnu): Use return slot optimization
	if the target is a return object.
	(gnat_to_gnu) <N_Object_Declaration>: Deal with a constant related
	to a return in a function specially.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils.cc (gnat_pushdecl): Also set TREE_NO_WARNING
	on the decl if Comes_From_Source is false for the associated node.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.cc (gnat_gimplify_expr): Tidy up.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Function>: Also call
	process_attributes for built-in functions.
	(prepend_one_attribute_pragma): Deal with "simd" attribute.
	* gcc-interface/utils.cc (handle_simd_attribute): New function.
	(gnat_internal_attribute_table): Add entry for "simd" attribute.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.cc (components_to_record): Use NULL recursively
	as P_GNU_REP_LIST for the innermost variant level in the unchecked
	union case with a fixed part.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.cc (gnat_to_gnu): Do not set Current_Error_Node
	to a node without location.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: And
	skip the elaboration of the designated subtype when that of its base
	type has been delayed.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Subtype>: If
	it is a special subtype designated by an access subtype, then defer
	the completion of incomplete types.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/ada-tree.h, gcc-interface/ada.h,
	gcc-interface/gadaint.h, gcc-interface/targtyps.cc: Adjust
	copyright line.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils.cc (unchecked_convert): Do not fold a string
	constant if the target type is pointer to character.

2022-05-19  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Remove redundant call to
	Set_Error_Posted.

2022-05-19  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch8.adb (Find_Expanded_Name): Emit a main error message
	before adding a continuation with the call to
	Error_Missing_With_Of_Known_Unit.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.ads (Requires_Transient_Scope): Add pragma Inline.

2022-05-19  Steve Baird  <baird@adacore.com>

	* sem_ch13.adb (Build_Predicate_Functions): If a semantic error
	has been detected then ignore Predicate_Failure aspect
	specifications in the same way as is done for CodePeer and
	SPARK. This avoids an internal compiler error if
	Ancestor_Predicate_Function_Called is True but Result_Expr is
	not an N_And_Then node (and is therefore unsuitable as an
	argument in a call to Left_Opnd).

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch7.adb (Wrap_Transient_Declaration): Propagate Uses_Sec_Stack
	to enclosing function if it does not return on the secondary stack.
	* exp_ch6.adb (Expand_Call_Helper): Call Establish_Transient_Scope
	with Manage_Sec_Stack set to True only when necessary.
	* sem_res.adb (Resolve_Call): Likewise.
	(Resolve_Entry_Call): Likewise.

2022-05-19  Daniel Mercier  <mercier@adacore.com>

	* sem_ch13.adb (Build_Predicate_Function): Ignore predicate
	failure in CodePeer mode.

2022-05-19  Arnaud Charlet  <charlet@adacore.com>

	* raise-gcc.c: Fix compilation with -DSTANDALONE under windows.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch4.adb (Narrow_Large_Operation): Preserve and reuse Etype.

2022-05-19  Javier Miranda  <miranda@adacore.com>

	* exp_attr.adb (Add_Implicit_Interface_Type_Conversion): New
	subprogram which factorizes code.
	(Expand_N_Attribute_Reference): Call the new subprogram to add
	the missing implicit interface type conversion.

2022-05-19  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch13.adb (Build_Predicate_Function): Ignore predicate
	failure in GNATprove mode.

2022-05-19  Steve Baird  <baird@adacore.com>

	* einfo-utils.ads, einfo-utils.adb: Delete Predicate_Function_M
	function and Set_Predicate_Function_M procedure.
	* einfo.ads: Delete comments for Is_Predicate_Function_M and
	Predicate_Function_M functions. Add comment for new
	Predicate_Expression function. Update comment describing
	predicate functions.
	* exp_util.ads, exp_util.adb (Make_Predicate_Call): Replace Mem
	formal parameter with Static_Mem and Dynamic_Mem formals.
	(Make_Predicate_Check): Delete Add_Failure_Expression and call
	to it.
	* exp_ch4.adb (Expand_N_In.Predicate_Check): Update
	Make_Predicate_Call call to match profile change.
	* gen_il-fields.ads: Delete Is_Predicate_Function_M field, add
	Predicate_Expression field.
	* gen_il-gen-gen_entities.adb: Delete Is_Predicate_Function_M
	use, add Predicate_Expression use.
	* sem_ch13.adb (Build_Predicate_Functions): Rename as singular,
	not plural; we no longer build a Predicate_M function. Delete
	Predicate_M references. Add new Boolean parameter for predicate
	functions when needed. Restructure body of generated predicate
	functions to implement required Predicate_Failure behavior and
	to set new Predicate_Expression attribute. Remove special
	treatment of raise expressions within predicate expressions.
	* sem_util.ads (Predicate_Failure_Expression,
	Predicate_Function_Needs_Membership_Parameter): New functions.
	* sem_util.adb (Is_Current_Instance): Fix bugs which caused
	wrong result.
	(Is_Current_Instance_Reference_In_Type_Aspect): Delete
	Is_Predicate_Function_M reference.
	(Predicate_Failure_Expression): New function.
	(Propagate_Predicate_Attributes): Delete Is_Predicate_Function_M
	references.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch6.adb (Expand_Call_Helper): Adjust comment.
	(Expand_Simple_Function_Return): For the case of a type which needs
	finalization and is returned on the primary stack, do not create a
	copy if the expression originates from a function call.
	* exp_ch7.adb (Transient Scope Management): Adjust comment.
	* exp_util.ads (Is_Related_To_Func_Return): Add WARNING line.
	* fe.h (Is_Related_To_Func_Return): Declare.

2022-05-19  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch9.adb (Build_Find_Body_Index): Remove empty Elsif_Parts
	from the constructed IF statement.

2022-05-19  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch9.adb (Build_Find_Body_Index): Remove IF statement whose
	condition was true-by-construction; remove excessive assertion
	(since the call to Elsif_Parts will check that Nod is present
	and it is an if-statement).

2022-05-19  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb, gnatcmd.adb: Remove references to gnatfind/xref.
	* doc/gnat_ugn/building_executable_programs_with_gnat.rst,
	doc/gnat_ugn/the_gnat_compilation_model.rst: Ditto.
	* gnat_ugn.texi: Regenerate.
	* gnatfind.adb, gnatxref.adb, xr_tabls.adb, xr_tabls.ads,
	xref_lib.adb, xref_lib.ads: Removed, no longer used.

2022-05-19  Claire Dross  <dross@adacore.com>

	* libgnat/a-strfix.adb: Add assertions.
	* libgnat/a-strsup.adb: Idem.

2022-05-19  Ed Schonberg  <schonberg@adacore.com>

	* erroutc.ads: Fix a single-character typo in a comment.
	* exp_aggr.adb: Fix a single-character typo in a comment.
	Replace several pairs of calls to Low_Bound and
	High_Bound (which do not handle an identifier that denotes a
	scalar subtype) with corresponding calls to Get_Index_Bounds
	(which does handle that case).
	* par-ch4.adb (P_Aggregate_Or_Paren_Expr): Set the
	Component_Associations attribute of a null array aggregate to
	New_List.
	* sem_aggr.ads: New visible function
	Is_Null_Array_Aggregate_High_Bound.
	* sem_aggr.adb (Is_Null_Array_Aggregate_High_Bound,
	Is_Null_Aggregate, Resolve_Null_Array_Aggregate): New functions.
	(Resolve_Aggregate): Recognize null array aggregates (using
	Is_Null_Aggregate) and, when one is recognized, resolve
	it (using Resolve_Null_Array_Aggregate).  Avoid calling
	Array_Aggr_Subtype for a null array aggregate; the needed
	subtype is built in Resolve_Null_Array_Aggregate. Do not
	incorrectly flag a null aggregate (after it is transformed by
	expansion) as being both positional and named.
	* sem_attr.adb (Eval_Attribute): Special treatment for null
	array aggregate high bounds to avoid incorrectly flagging
	something like Integer'Pred (Integer'First) as an illegal static
	expression.
	* sem_eval.adb (Out_Of_Range): Special treatment for null array
	aggregate high bounds to avoid incorrectly flagging something
	like Integer'Pred (Integer'First) as an illegal static
	expression.

2022-05-19  Yannick Moy  <moy@adacore.com>

	* libgnat/s-aridou.adb (Lemma_Abs_Range,
	Lemma_Double_Shift_Left, Lemma_Shift_Left): New lemmas.
	(Double_Divide): Add ghost code.
	(Lemma_Concat_Definition, Lemma_Double_Shift_Left,
	Lemma_Shift_Left, Lemma_Shift_Right): Define or complete lemmas.
	(Scaled_Divide): Add ghost code.

2022-05-19  Bob Duff  <duff@adacore.com>

	* exp_pakd.adb (Expand_Packed_Eq): Replace the check for *same*
	modular type, with a check for any modular type, and assert that
	the two types have the same modulus and so on.
	* exp_pakd.ads: Minor comment improvements.

2022-05-19  Bob Duff  <duff@adacore.com>

	* style.adb (Check_Identifier): Deal with the case where a
	record component definition has been transformed; we want to
	warn if the original came from source.
	* libgnat/s-objrea.ads, libgnat/s-objrea.adb: Fix casing of MF
	to be consistent.
	* uname.adb: Fix casing of Chars to be consistent.
	* sem_util.ads: Minor comment fix.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-retsta.
	* debug.adb (d_r): Document usage.
	* exp_ch4.adb (Expand_N_Allocato): Deal with the return stack pool.
	* exp_ch6.adb (Expand_Simple_Function_Return): Replace calls to
	Requires_Transient_Scope with Returns_On_Secondary_Stack.  Deal
	with types that need finalization returned on the primary stack,
	use CW_Or_Needs_Finalization for those returned on the secondary.
	* exp_util.adb (Build_Allocate_Deallocate_Proc): Return early
	for the return stack pool.
	(Remove_Side_Effects): Call CW_Or_Needs_Finalization.
	* fe.h (Requires_Transient_Scope): Delete.
	(Returns_On_Secondary_Stack): Declare.
	* gnat1drv.adb (Adjust_Global_Switches): Set Back_End_Return_Slot
	to False when generating C code or if -gnatd_r is specified.
	* opt.ads (Back_End_Return_Slot): New boolean variable.
	* rtsfind.ads (RTU_Id): Add System_Return_Stack.
	(RE_Id): Add RE_RS_Allocate and RE_RS_Pool.
	(RE_Unit_Table): Add entries for RE_RS_Allocate and RE_RS_Pool.
	* sem_util.ads (CW_Or_Has_Controlled_Part): Delete.
	(CW_Or_Needs_Finalization): Declare.
	(Requires_Transient_Scope): Adjust description.
	(Returns_On_Secondary_Stack): Declare.
	* sem_util.adb (Compute_Returns_By_Ref): Set Returns_By_Ref on types
	which need finalization if they are returned on the secondary stack.
	(CW_Or_Has_Controlled_Part): Rename to...
	(CW_Or_Needs_Finalization): ...this.
	(Requires_Transient_Scope): Move bulk of implementation to...
	(Returns_On_Secondary_Stack): ...here.  Return true for types which
	need finalization only if the back-end return slot is not supported.
	* libgnat/s-retsta.ads: New file.
	* gcc-interface/ada-builtin-types.def (BT_FN_PTR_SSIZE): Define.
	* gcc-interface/ada-builtins.def (return_slot): Likewise.
	* gcc-interface/ada-tree.h (BUILT_IN_RETURN_SLOT): Likewise.
	* gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call to
	Requires_Transient_Scope with Returns_On_Secondary_Stack.
	* gcc-interface/trans.cc (gnat_to_gnu) <N_Simple_Return_Statement>:
	In the return by invisible reference, skip the copy if the source
	is the same as the destination.
	* gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Deal with
	the return stack pool.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.cc: Fix formatting issues in comments.
	(Subprogram_Body_to_gnu): Tidy up.
	(Exception_Handler_to_gnu_gcc): Rename into...
	(Exception_Handler_to_gnu): ...this.
	(gnat_to_gnu) <N_Exception_Handler>: Adjust to above renaming.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.cc (Subprogram_Body_to_gnu): Rename a couple
	of local variables and use Is_Generic_Subprogram predicate.
	(process_decls): Likewise.

2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.cc (Subprogram_Body_to_gnu): Do not deal with
	inlining heuristics for expression functions here but...
	* gcc-interface/decl.cc (inline_status_for_subprog): ...here instead
	and do not override them at -Os.

2022-05-19  Piotr Trojanek  <trojanek@adacore.com>

	* gcc-interface/decl.cc (gnat_to_gnu_entity): Remove dead code
	which expected Scope to return E_Subprogram_Body entity.

2022-05-18  Claire Dross  <dross@adacore.com>

	* libgnat/s-imageu.adb (Set_Image_Unsigned): Change assertion.

2022-05-18  Doug Rupp  <rupp@adacore.com>

	* sigtramp-qnx.c: Change struct sigcontext * to mcontext_t *.

2022-05-18  Doug Rupp  <rupp@adacore.com>

	* sigtramp-arm-qnx.c: Rewrite.

2022-05-18  Yannick Moy  <moy@adacore.com>

	* libgnat/s-aridou.adb (Big3): Change return type.
	(Lemma_Mult_Non_Negative, Lemma_Mult_Non_Positive): Reorder
	alphabetically.
	(Lemma_Concat_Definition, Lemma_Double_Big_2xxsingle): New
	lemmas.
	(Double_Divide, Scaled_Divide): Add assertions.

2022-05-18  Claire Dross  <dross@adacore.com>

	* libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertions.

2022-05-18  Kévin Le Gouguec  <legouguec@adacore.com>

	* libgnat/s-dwalin.adb (Read_Aranges_Header): Initialize output
	parameter in case we return early.

2022-05-18  Bob Duff  <duff@adacore.com>

	* libgnat/a-crbtgo.ads, libgnat/a-rbtgbo.ads,
	libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
	libgnat/a-cbhase.adb, libgnat/a-cdlili.adb,
	libgnat/a-cfdlli.adb, libgnat/a-cfhama.adb,
	libgnat/a-cfhase.adb, libgnat/a-cidlli.adb,
	libgnat/a-cihama.adb, libgnat/a-cihase.adb,
	libgnat/a-cohama.adb, libgnat/a-cohase.adb,
	libgnat/a-crbtgo.adb, libgnat/a-crdlli.adb, libgnat/a-rbtgbo.adb
	(Vet): Make the Vet functions do nothing when
	Container_Checks'Enabled is False, and inline them, so the calls
	disappear when optimizing.

2022-05-18  Doug Rupp  <rupp@adacore.com>

	* Makefile.rtl (arm-qnx): Use default (non-fma) target pair.

2022-05-18  Kévin Le Gouguec  <legouguec@adacore.com>

	* libgnat/s-dwalin.adb (Aranges_Lookup, Enable_Cache): Adapt to
	changes in the signature of Read_Aranges_*.
	(Debug_Info_Lookup): Do not control address size read from
	DWARF.
	(Read_Aranges_Header): Do not control address size read from
	DWARF; return this size.
	(Read_Aranges_Entry): Use the size returned by
	Read_Aranges_Header.

2022-05-18  Gary Dismukes  <dismukes@adacore.com>

	* errout.ads (Error_Msg_GNAT_Extension): Add formal Loc and
	revise comment.
	* errout.adb (Error_Msg_GNAT_Extension): Condition message on
	the flag Ada_Version_Pragma, and add suggestion to use of pragma
	Extensions_Allowed in messages.
	* par-ch3.adb, par-ch5.adb, par-ch6.adb, par-ch11.adb,
	par-ch12.adb: Add actual Token_Ptr on calls to
	Error_Msg_GNAT_Extension.
	* par-ch4.adb: Change Error_Msg to Error_Msg_GNAT_Extension for
	error calls related to use of extension features.
	* sem_ch13.adb: Likewise.

2022-05-18  Johannes Kliemann  <kliemann@adacore.com>

	* libgnarl/s-osinte__qnx.adb (To_Target_Priority): Perform
	arithmetic in int.

2022-05-18  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch7.adb (Build_BIP_Cleanup_Stmts): Use Needs_BIP_Alloc_Form.

2022-05-18  Javier Miranda  <miranda@adacore.com>

	* sem_ch6.adb (Find_Corresponding_Spec): Avoid calling
	Is_Null_Extension with a class-wide type entity.
	(Overrides_Visible_Function): Handle alias entities.
	* sem_res.adb (Has_Applicable_User_Defined_Literal): Conversion
	not needed if the result type of the call is class-wide or if
	the result type matches the context type.
	* sem_util.ads (Is_Null_Extension): Adding documentation.
	(Is_Null_Extension_Of): Adding documentation.
	* sem_util.adb (Is_Null_Extension): Adding assertion.
	(Is_Null_Extension_Of): Adding assertions.

2022-05-18  Javier Miranda  <miranda@adacore.com>

	* snames.ads-tmpl (Name_Index): New attribute name.
	(Attribute_Id): Adding Attribute_Index as regular attribute.
	* sem_attr.adb (Attribute_22): Adding Attribute_Index as Ada
	2022 attribute.
	(Analyze_Index_Attribute): Check that 'Index appears in a
	pre-/postcondition aspect or pragma associated with an entry
	family.
	(Analyze_Attribute): Adding semantic analysis for 'Index.
	(Eval_Attribute): Register 'Index as can never be folded.
	(Resolve_Attribute): Resolve attribute 'Index.
	* sem_ch9.adb (Check_Wrong_Attribute_In_Postconditions): New
	subprogram.
	(Analyze_Requeue): Check that the requeue target shall not have
	an applicable specific or class-wide postcondition which
	includes an Index attribute reference.
	* exp_attr.adb (Expand_N_Attribute_Reference): Transform
	attribute Index into a renaming of the second formal of the
	wrapper built for an entry family that has contract cases.
	* einfo.ads (Is_Entry_Wrapper): Complete documentation.

2022-05-18  Yannick Moy  <moy@adacore.com>

	* libgnat/s-imagei.adb (Set_Digits): Add assertion.
	* libgnat/s-imgboo.adb (Image_Boolean): Add assertions.
	* libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion.

2022-05-18  Arnaud Charlet  <charlet@adacore.com>

	* sem_aux.adb (Is_Immutably_Limited_Type): Do not look through
	private types as per RM 7.5(8.1).
	* sem_ch6.adb (Analyze_Function_Return): Use
	Is_Immutably_Limited_Type as per RM 6.5(5.10).

2022-05-18  Marc Poulhiès  <poulhies@adacore.com>

	* gen_il-gen-gen_nodes.adb (Gen_IL.Gen.Gen_Nodes): Add
	Is_Homogeneous_Aggregate field for N_Delta_Aggregate nodes.
	* par-ch4.adb (P_Aggregate_Or_Paren_Expr): Minor reformatting.
	* sem_aggr.adb (Resolve_Delta_Aggregate): Reject square brackets
	for record aggregate.
	(Resolve_Record_Aggregate): Uniformise error message.

2022-05-18  Arnaud Charlet  <charlet@adacore.com>

	* ali.adb (Scan_ALI): Special case a-tags.ali when setting
	Sec_Stack_Used.
	* bindgen.adb (Gen_Adainit): Simplify handling of secondary
	stack related code, and only import __gnat_binder_ss_count when
	needed.
	* libgnat/s-secsta.adb (Binder_SS_Count): Default initialize to
	0.

2022-05-18  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-dourea.adb ("/"): Add guard for zero and infinite
	divisor.
	* libgnat/s-valuer.adb (Scan_Raw_Real): Add guard for very large
	exponent values.

2022-05-18  Yannick Moy  <moy@adacore.com>

	* sem_elab.adb (Is_Suitable_Construct): Fix for generated
	constructs.

2022-05-18  Marc Poulhiès  <poulhies@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Skip predicate check
	for type conversion if object's subtype and expression's subtype
	statically match.
	* exp_prag.adb (Expand_Pragma_Check): Typo fix in comment.

2022-05-18  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_dbug.ads (Build_Subprogram_Instance_Renamings): Fix typo.
	* exp_dbug.adb (Build_Subprogram_Instance_Renamings): Build the
	renaming only for actuals of formal objects.

2022-05-18  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch3.adb (Check_Abstract_Overriding): If the type is
	derived from an untagged type, then don't perform any of the
	abstract overriding error checks.

2022-05-18  Piotr Trojanek  <trojanek@adacore.com>

	* exp_aggr.adb (Component_Count): Calculate size as an Uint and
	only then check if it is in the range of Int, as otherwise the
	multiplication of Int values can overflow.

2022-05-18  Eric Botcazou  <ebotcazou@adacore.com>

	* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add g-gfmafu$(objext).
	(SIMD_PATH_TARGET_PAIRS): New variable.
	(TRASYM_DWARF_COMMON_OBJS): Minor tweak.
	(x86-64/Linux): Use SIMD_PATH_TARGET_PAIRS.
	(x32/Linux): Likewise.
	* doc/gnat_rm/the_gnat_library.rst (Generic_Fast_Math_Functions):
	New entry.
	* gnat_rm.texi: Regenerate.
	* impunit.adb (Non_Imp_File_Names_95): Add g-gfmafu.
	* sem_ch7.adb (Has_Referencer): Do not set In_Nested_Instance for
	instances of generic packages that do not have a body.
	* libgnat/a-nalofl__simd.ads: New SIMD-enabled version.
	* libgnat/a-nuaufl__simd.ads: Likewise.
	* libgnat/g-gfmafu.ads: New package renaming unit.

2022-05-18  Arnaud Charlet  <charlet@adacore.com>

	* freeze.adb (Should_Freeze_Type): Fix handling of freezing in
	instances.

2022-05-18  Marc Poulhiès  <poulhies@adacore.com>

	* sem_ch12.adb (Check_Generic_Parent): Use
	Get_Unit_Instantiation_Node instead of Next.

2022-05-18  Alexandre Oliva  <oliva@adacore.com>

	* libgnat/a-nagefl.ads: Replace mentions of C/unix math library
	with intrinsics.
	* libgnat/a-nallfl.ads: Likewise.  State compatibility
	requirements.
	* libgnat/a-nalofl.ads: Likewise.
	* libgnat/a-nuaufl.ads: Likewise.

2022-05-18  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch8.adb (Analyze_Subprogram_Renaming): Move final test on
	In_Instance to outer condition.

2022-05-18  Doug Rupp  <rupp@adacore.com>

	* Makefile.rtl: Rename system-qnx-aarch64.ads to
	system-qnx-arm.ads.
	(AARCH64 QNX section): Modify to handle both arm and arch64.
	* tracebak.c (__QNX__): Add new __ARMEL__ section.
	* sigtramp-arm-qnx.c: New file.
	* libgnat/system-qnx-aarch64.ads: Renamed to ...
	* libgnat/system-qnx-arm.ads: this.

2022-05-17  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Flag_Effectively_Volatile_Objects): Restore
	redundant guard.

2022-05-17  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch8.adb (Analyze_Subprogram_Renaming): Add error check for
	the case of a renamed subprogram given by an expanded name whose
	outermost prefix names a unit that is hidden by the name of the
	renaming.
	(Ult_Expanded_Prefix): New local expression function to return
	the ultimate prefix of an expanded name.

2022-05-17  Ghjuvan Lacambre  <lacambre@adacore.com>

	* gnat_cuda.ads: Update package-level comments.
	(Build_And_Insert_CUDA_Initialization): Remove function.
	* gnat_cuda.adb (Build_And_Insert_CUDA_Initialization): Remove
	function.
	(Expand_CUDA_Package): Remove call to
	Build_And_Insert_CUDA_Initialization.

2022-05-17  Etienne Servais  <servais@adacore.com>

	* freeze.adb (Freeze_Enumeration_Type): Fix comment, enhance
	message and silence warning for size > 32.

2022-05-17  Yannick Moy  <moy@adacore.com>

	* exp_spark.adb (Expand_SPARK_Potential_Renaming): Deal with no
	entity case.
	* inline.ads (Check_Object_Renaming_In_GNATprove_Mode): New
	procedure.
	* inline.adb (Check_Object_Renaming_In_GNATprove_Mode): New
	procedure.
	(Can_Be_Inlined_In_GNATprove_Mode): Remove case forbidding
	inlining for subprograms inside generics.
	* sem_ch12.adb (Copy_Generic_Node): Preserve global entities
	when inlining in GNATprove mode.
	* sem_ch6.adb (Analyse_Subprogram_Body_Helper): Remove body to
	inline if renaming is detected in GNATprove mode.

2022-05-17  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch4.adb (Expand_N_Allocator): For an allocator with an
	unconstrained discriminated designated type, and whose
	allocation subtype is constrained, set the
	Actual_Designated_Subtype of the dereference passed to the init
	proc of the designated type to be the allocation subtype.
	* sinfo.ads: Add documentation of new setting of
	Actual_Designated_Subtype on a dereference used as an actual
	parameter of call to an init proc associated with an allocator.
	Also add missing syntax and documentation for the GNAT language
	extension that allows an expression as a default for a concrete
	generic formal function.

2022-05-17  Bob Duff  <duff@adacore.com>

	* sinfo.ads: Remove From_At_End.  Update comments.
	* gen_il-fields.ads, gen_il-gen-gen_nodes.adb, sem_ch11.adb:
	Remove From_At_End.
	* exp_ch11.adb (Expand_At_End_Handler): Remove assertion.
	* fe.h (Exception_Mechanism, Exception_Mechanism_Type, Has_DIC,
	Has_Invariants, Is_List_Member, List_Containing): Remove
	declarations that are not used in gigi.
	* opt.ads (Exception_Mechanism): This is not used in gigi.
	* exp_util.ads: Minor comment fix.

2022-05-17  Dmitriy Anisimkov  <anisimko@adacore.com>

	* impunit.adb: Add "g-binsea" to Non_Imp_File_Names_95 list.

2022-05-17  Yannick Moy  <moy@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): Use
	Insert_Action when possibly inside an expression.

2022-05-17  Marc Poulhiès  <poulhies@adacore.com>

	* libgnat/g-forstr.adb (Is_Number): Add scientific notation and
	shortest representation.

2022-05-17  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Expand_N_Full_Type_Declaration): Look into N.

2022-05-17  Bob Duff  <duff@adacore.com>

	* exp_util.adb (Requires_Cleanup_Actions): Remove
	N_Protected_Body from the case statement, so that case will be
	covered by "raise Program_Error".

2022-05-17  Bob Duff  <duff@adacore.com>

	* output.adb (Pop_Output, Set_Output): Unconditionally flush
	output when switching from one output destination to another.
	Otherwise buffering can cause garbled output.
	(w): Push/pop the current settings, and temporarily
	Set_Standard_Error during these procedures.

2022-05-17  Dmitriy Anisimkov  <anisimko@adacore.com>

	* libgnat/g-binsea.ads, libgnat/g-binsea.adb
	(GNAT.Binary_Search): New package.
	* Makefile.rtl (GNATRTL_NONTASKING_OBJS): New item in list.
	* doc/gnat_rm/the_gnat_library.rst (GNAT.Binary_Search): New
	package record.
	* gnat_rm.texi: Regenerate.

2022-05-17  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch12.ads (Is_Abbreviated_Instance): Declare.
	* sem_ch12.adb (Check_Abbreviated_Instance): Declare.
	(Requires_Conformance_Checking): Declare.
	(Analyze_Association.Process_Default): Fix subtype of parameter.
	(Analyze_Formal_Object_Declaration): Check whether it is in the
	visible part of abbreviated instance.
	(Analyze_Formal_Subprogram_Declaration): Likewise.
	(Analyze_Formal_Type_Declaration): Likewise.
	(Analyze_Package_Instantiation): Do not check for a generic child
	unit in the case of an abbreviated instance.
	(Check_Abbreviated_Instance): New procedure.
	(Check_Formal_Packages): Tidy up.
	(Copy_Generic_Elist): Fix comment.
	(Instantiate_Formal_Package): Tidy up.  If the generic unit is a
	child unit, copy the qualified name onto the abbreviated instance.
	(Is_Abbreviated_Instance): New function.
	(Collect_Previous_Instances): Call Is_Abbreviated_Instance.
	(Requires_Conformance_Checking): New function.
	* sem_ch7.adb (Analyze_Package_Specification): Do not install the
	private declarations of the parent for an abbreviated instance.

2022-05-17  Etienne Servais  <servais@adacore.com>

	* sem_ch3.adb (Analyze_Subtype_Declaration): Use underlying type
	of Indic_Typ.
	(Constrain_Array): Ditto for T.

2022-05-17  Arnaud Charlet  <charlet@adacore.com>

	* sem_attr.adb (Analyze_Attribute [Attribute_Reduce]): Allow
	'Reduce for Ada 2022 and above.
	* sem_attr.ads (Attribute_Impl_Def): 'Reduce is no longer
	implementation defined.

2022-05-17  Ghjuvan Lacambre  <lacambre@adacore.com>

	* exp_ch9.adb (Expand_N_Asynchronous_Select): Don't generate
	Abort_Undefers when not Abort_Allowed.

2022-05-17  Marc Poulhiès  <poulhies@adacore.com>

	* exp_ch7.adb: Fix typo.

2022-05-17  Etienne Servais  <servais@adacore.com>

	* lib.ads: initialize `Compiler_State` to `Parsing`.

2022-05-17  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch13.adb (Has_Compatible_Representation): Return true for
	derived untagged record types without representation clause.

2022-05-17  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch13.ads (Has_Compatible_Representation): Minor tweaks.
	* sem_ch13.adb (Has_Compatible_Representation): Look directly into
	the (implementation) base types and simplifiy accordingly.
	* exp_ch5.adb (Change_Of_Representation): Adjust.
	* exp_ch6.adb (Expand_Actuals): Likewise.

2022-05-17  Etienne Servais  <servais@adacore.com>

	* sem_ch5.adb (Analyze_Assignment): Remove superfluous call to
	Original_Node.

2022-05-17  Javier Miranda  <miranda@adacore.com>

	* freeze.adb (Freeze_Entity): Protect the call to
	Declaration_Node against entities of expressions replaced by the
	frontend with an N_Raise_CE node.

2022-05-17  Javier Miranda  <miranda@adacore.com>

	* freeze.adb (Build_DTW_Spec): Do not inherit the not-overriding
	indicator because the DTW wrapper overrides its wrapped
	subprogram.
	* contracts.ads (Make_Class_Precondition_Subps): Adding
	documentation.

2022-05-17  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch13.adb (Expand_N_Freeze_Entity): Delete freeze nodes for
	subprograms only if they have no actions.
	* exp_ch6.adb (Freeze_Subprogram): Put the actions into the Actions
	field of the freeze node instead of inserting them after it.
	* sem_elab.adb (Is_SPARK_Semantic_Target): Fix typo in comment.
	* gcc-interface/trans.cc (process_freeze_entity): Return early for
	freeze nodes of subprograms with Interface_Alias set.

2022-05-17  Javier Miranda  <miranda@adacore.com>

	* contracts.adb (Build_Call_Helper_Body): Improve handling of
	the case of a (legal) non-dispatching call to an abstract
	subprogram.

2022-05-17  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_rm/implementation_defined_attributes.rst
	(Loop_Entry): Mention pragmas Assert, Assert_And_Cut and Assume;
	refill.
	* gnat_rm.texi: Regenerate.

2022-05-17  Etienne Servais  <servais@adacore.com>

	* par-ch3.adb (P_Access_Type_Definition): Outputs an error if
	token is not "access".

2022-05-17  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch2.adb (Expand_Current_Value): Remove special case for
	references immediately within pragma argument associations.
	* exp_prag.adb (Expand_Pragma_Inspection_Point): Remove special
	case for privals.

2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch7.adb (Inspect_Untagged_Record_Completion): Also move the
	equality operator on the homonym chain if there is another equality
	operator in the private part.

2022-05-16  Piotr Trojanek  <trojanek@adacore.com>

	* exp_attr.adb (Expand_Loop_Entry_Attribute): Disable value
	propagation when analysing the constant that holds the
	Loop_Entry prefix value.

2022-05-16  Piotr Trojanek  <trojanek@adacore.com>

	* sem_attr.adb (Address_Checks): Remove call to
	Kill_Current_Values for subprogram entities, because this
	routine only does something for object entities.

2022-05-16  Justin Squirek  <squirek@adacore.com>

	* exp_ch7.adb (Build_Finalizer): Disable late evaluation of
	postconditions for functions returning types which where
	Has_Unconstrained_Elements is true or are unconstrained arrays.

2022-05-16  Etienne Servais  <servais@adacore.com>

	* exp_ch4.adb (Expand_N_Qualified_Expression): Freeze
	Target_Type.

2022-05-16  Yannick Moy  <moy@adacore.com>

	* libgnat/s-aridou.adb (Double_Divide): Add intermediate
	assertions.

2022-05-16  Ghjuvan Lacambre  <lacambre@adacore.com>

	* lib-writ.adb (Output_CUDA_Symbols): Check for null packages.

2022-05-16  Joel Brobecker  <brobecker@adacore.com>

	* libgnat/g-debpoo.ads: Improve documentation of the
	Stack_Trace_Depth parameter.

2022-05-16  Joel Brobecker  <brobecker@adacore.com>

	* init.c (__gnat_install_handler) [__QNX__]: Save sigaction's
	return value in err before checking err's value.  Fix incorrect
	signal names in perror messages.

2022-05-16  Joel Brobecker  <brobecker@adacore.com>

	* init.c (__gnat_install_handler) [__QNX__]: Set
	act.sa_sigaction rather than act.sa_handler.

2022-05-16  Joel Brobecker  <brobecker@adacore.com>

	* cstreams.c: Add <stdlib.h> #include.

2022-05-16  Joel Brobecker  <brobecker@adacore.com>

	* terminals.c: Remove bzero #define on HP/UX or Solaris
	platforms.
	(child_setup_tty): Replace bzero call by equivalent call to
	memset.

2022-05-16  Gary Dismukes  <dismukes@adacore.com>

	* sem_util.ads (Storage_Model_Support): Revise comments on most
	operations within this nested package to reflect that they can
	now be passed either a type that has aspect Storage_Model_Type
	or an object of such a type.  Change the names of the relevant
	formals to SM_Obj_Or_Type. Also, add more precise semantic
	descriptions in some cases, and declare the subprograms in a
	more logical order.
	* sem_util.adb (Storage_Model_Support.Storage_Model_Object): Add
	an assertion that the type must specify aspect
	Designated_Storage_Model, rather than returning Empty when it
	doesn't specify that aspect.
	(Storage_Model_Support.Storage_Model_Type): Add an assertion
	that formal must be an object whose type specifies aspect
	Storage_Model_Type, rather than returning Empty for when it
	doesn't have such a type (and test Has_Storage_Model_Type_Aspect
	rather than Find_Value_Of_Aspect).
	(Storage_Model_Support.Get_Storage_Model_Type_Entity): Allow
	both objects and types, and add an assertion that the type (or
	the type of the object) has a value for aspect
	Storage_Model_Type.

2022-05-16  Etienne Servais  <servais@adacore.com>

	* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
	Fix condition to return.

2022-05-16  Yannick Moy  <moy@adacore.com>

	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Update comment.

2022-05-16  Marc Poulhiès  <poulhies@adacore.com>

	* sem_aggr.adb (Resolve_Iterated_Association): Create scope
	around N_Iterated_Element_Association handling. Analyze a copy
	of the Loop_Parameter_Specification. Call Analyze instead
	Analyze_* to be more homogeneous.
	(Sem_Ch5): Remove now unused package.

2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_util.adb (Insert_Actions) <N_Iterated_Component_Association>:
	Climb up out of the node if the actions come from Discrete_Choices.

2022-05-16  Javier Miranda  <miranda@adacore.com>

	* sem_disp.adb (Check_Dispatching_Context): When checking to see
	whether an expression occurs in a class-wide pre/post-condition,
	also check for the possibility that it occurs in a class-wide
	preconditions subprogram that was introduced as part of
	expansion. Without this fix, some legal calls occuring in
	class-wide preconditions may be incorrectly flagged as violating
	the "a call to an abstract subprogram must be dispatching" rule.

2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>

	* inline.adb (Cleanup_Scopes): Test the underlying type.

2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.ads (Is_Entity_Of_Quantified_Expression): Declare.
	* sem_util.adb (Is_Entity_Of_Quantified_Expression): New
	predicate.
	(New_Copy_Tree): Deal with all entities of quantified
	expressions.
	* sem_ch13.adb (Build_Predicate_Functions): Get rid of
	superfluous tree copying and remove obsolete code.
	* sem_ch6.adb (Fully_Conformant_Expressions): Deal with all
	entities of quantified expressions.

2022-05-16  Steve Baird  <baird@adacore.com>

	* exp_ch7.adb (Build_Finalize_Statements): Add Last_POC_Call
	variable to keep track of the last "early finalization" call
	generated for type extension's finalization procedure. If
	non-empty, then this will indicate the point at which to insert
	the call to the parent type's finalization procedure. Modify
	nested function Process_Component_List_For_Finalize to set this
	variable (and avoid setting it during a recursive call).  If
	Last_POC_Call is empty, then insert the parent finalization call
	before, rather than after, the finalization code for the
	extension components.

2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo-utils.adb (Remove_Entity): Fix couple of oversights.
	* exp_ch3.adb (Is_User_Defined_Equality): Delete.
	(User_Defined_Eq): Call Get_User_Defined_Equality.
	(Make_Eq_Body): Likewise.
	(Predefined_Primitive_Eq_Body): Call Is_User_Defined_Equality.
	* exp_ch4.adb (Build_Eq_Call): Call Get_User_Defined_Equality.
	(Is_Equality): Delete.
	(User_Defined_Primitive_Equality_Op): Likewise.
	(Find_Aliased_Equality): Call Is_User_Defined_Equality.
	(Expand_N_Op_Eq): Call Underlying_Type unconditionally.
	Do not implement AI12-0101 + AI05-0123 here.
	(Expand_Set_Membership): Call Resolve_Membership_Equality.
	* exp_ch6.adb (Expand_Call_Helper): Remove obsolete code.
	* sem_aux.ads (Is_Record_Or_Limited_Type): Delete.
	* sem_aux.adb (Is_Record_Or_Limited_Type): Likewise.
	* sem_ch4.ads (Nondispatching_Call_To_Abstract_Operation): Declare.
	* sem_ch4.adb (Analyze_Call): Call Call_Abstract_Operation.
	(Analyze_Membership_Op): Call Resolve_Membership_Equality.
	(Nondispatching_Call_To_Abstract_Operation): New procedure.
	(Remove_Abstract_Operations): Call it.
	* sem_ch6.adb (Check_Untagged_Equality): Remove obsolete error and
	call Is_User_Defined_Equality.
	* sem_ch7.adb (Inspect_Untagged_Record_Completion): New procedure
	implementing AI12-0101 + AI05-0123.
	(Analyze_Package_Specification): Call it.
	(Declare_Inherited_Private_Subprograms): Minor tweak.
	(Uninstall_Declarations): Likewise.
	* sem_disp.adb (Check_Direct_Call): Adjust to new implementation
	of Is_User_Defined_Equality.
	* sem_res.ads (Resolve_Membership_Equality): Declare.
	* sem_res.adb (Resolve): Replace direct error handling with call to
	Nondispatching_Call_To_Abstract_Operation
	(Resolve_Call): Likewise.
	(Resolve_Equality_Op): Likewise.  mplement AI12-0413.
	(Resolve_Membership_Equality): New procedure.
	(Resolve_Membership_Op): Call Get_User_Defined_Equality.
	* sem_util.ads (Get_User_Defined_Eq): Rename into...
	(Get_User_Defined_Equality): ...this.
	* sem_util.adb (Get_User_Defined_Eq): Rename into...
	(Get_User_Defined_Equality): ...this. Call Is_User_Defined_Equality.
	(Is_User_Defined_Equality): Also check the profile but remove tests
	on Comes_From_Source and Parent.
	* sinfo.ads (Generic_Parent_Type): Adjust field description.
	* uintp.ads (Ubool): Invoke user-defined equality in predicate.

2022-05-16  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.adb (User_Defined_Eq): Replace duplicated code with a
	call to Get_User_Defined_Eq.

2022-05-16  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.adb (Build_Untagged_Equality): Exit early when the
	outcome of a loop is already known.

2022-05-16  Olivier Hainque  <hainque@adacore.com>

	* Makefile.rtl: Add aarch64 to the list of CPUs for which
	GNATLIB_SHARED maps to gnatlib-shared-dual for vxworks7r2.

2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch4.adb (Analyze_Negation): Minor tweak.
	(Analyze_Unary_Op): Likewise.

2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Build_Assignment): Adjust to the new definition of
	Incomplete_View field.
	* sem_ch10.ads (Decorate_Type): Declare.
	* sem_ch10.adb (Decorate_Type): Move to library level.
	(Install_Limited_With_Clause): In the already analyzed case, also
	deal with incomplete type declarations present in the sources and
	simplify the replacement code.
	(Build_Shadow_Entity): Deal with swapped views in package body.
	(Restore_Chain_For_Shadow): Deal with incomplete type declarations
	present in the sources.
	* sem_ch3.adb (Analyze_Full_Type_Declaration): Adjust to the new
	definition of Incomplete_View field.
	(Build_Incomplete_Type_Declaration): Small consistency tweak.
	Set the incomplete type as the Incomplete_View of the full type.
	If the scope is a package with a limited view, build a shadow
	entity for the incomplete type.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): When replacing
	the limited view of a CW type as designated type of an anonymous
	access return type, get to the CW type of the incomplete view of
	the tagged type, if any.
	(Collect_Primitive_Operations): Adjust to the new definition of
	Incomplete_View field.
	* sinfo.ads (Incomplete_View): Denote the entity itself instead
	of its declaration.
	* sem_util.adb: Remove call to Defining_Entity.

2022-05-16  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Given a
	subtype recurse into its base type.

2022-05-16  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Clarify.

2022-05-16  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Is_Enabled): Remove; use Is_Enabled_Pragma
	instead.

2022-05-16  Martin Liska  <mliska@suse.cz>

	* locales.c (iso_639_1_to_639_3): Use ARRAY_SIZE.
	(language_name_to_639_3): Likewise.
	(country_name_to_3166): Likewise.

2022-05-13  Alexandre Oliva  <oliva@adacore.com>

	* gcc-interface/decl.cc (is_cplusplus_method): Build proper
	String for Get_External_Name.

2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch3.adb (Derive_Subprogram): For a function, also copy the
	Returns_By_Ref flag from the parent.

2022-05-13  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch13.adb (Check_Aspect_At_Freeze_Point): Analyze the
	expression of the aspect at this point, like other aspects that
	denote simple entities. Ensures that function
	Storage_Model_Object will have an entity to retrieve from the
	aspect expression. Also, move comment about aspects that don't
	require delay analysis in front of last alternative of the case
	statement, where it's supposed to be.

2022-05-13  Javier Miranda  <miranda@adacore.com>

	* contracts.adb (Build_Unique_Name): New subprogram.
	(Make_Class_Precondition_Subps): Use Build_Unique_Name to
	generate the names of the call helpers and the name of indirect
	call wrappers.
	* freeze.adb (Needs_Wrapper): Remove dead code.
	(Check_Inherited_Conditions): Defer building helpers and ICW
	until all the dispatch table wrappers have been built and
	analyzed. Required to ensure uniqueness in their names because
	when building these wrappers for overlapped subprograms their
	homonym number is not definite until they have been analyzed.

2022-05-13  Arnaud Charlet  <charlet@adacore.com>

	* libgnarl/s-taprop__linux.adb (Initialize): Do not use an
	alternate stack if no handler for SEGV is installed.

2022-05-13  Alexandre Oliva  <oliva@adacore.com>

	* doc/gnat_rm/security_hardening_features.rst (Control Flow
	Redundancy): Drop mentions of noreturn and tail calls.
	* gnat_rm.texi: Regenerate.

2022-05-13  Ghjuvan Lacambre  <lacambre@adacore.com>

	* ali.adb: Introduce new 'K' line in ALI files, used to
	represent CUDA kernel entries.
	* ali.ads: Create new CUDA_Kernels table, which contains entries
	of type CUDA_Kernel_Record. Each CUDA_Kernel_Record corresponds
	to a K line in an ali file.
	* bindgen.adb: Introduce new Gen_CUDA_Init procedure in the
	binder, which generates CUDA kernel registration code.
	* gnat_cuda.adb: Move Get_CUDA_Kernels spec to package spec to
	make it available to bindgen.adb.
	* gnat_cuda.ads: Likewise.
	* lib-writ.adb: Introduce new Output_CUDA_Symbols procedure,
	which generates one 'K' line in the ALI file per visible CUDA
	kernel.
	* opt.ads: Introduce Enable_CUDA_Expansion option, triggered by
	using the -gnatd_c flag.
	* switch-b.adb: Likewise.
	* switch-c.adb: Likewise.

2022-05-13  Marc Poulhiès  <poulhies@adacore.com>

	* exp_aggr.adb (Gen_Loop): Create scope for loop variable of
	iterated components.

2022-05-13  Yannick Moy  <moy@adacore.com>

	* libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index):
	Remove useless functions.
	(Delete_Key_Sans_Free, Find, Generic_Conditional_Insert): Adapt
	to removal of wrapper functions.
	* libgnat/a-chtgfk.ads (Checked_Equivalent_Keys, Checked_Index):
	Remove useless functions.
	* libgnat/a-chtgfo.adb (Checked_Index): Remove useless function.
	(Clear): Delete code commented out regarding Busy and Lock
	management.
	(Delete_Node_At_Index): Delete unused procedure.
	(Delete_Node_Sans_Free, Free, Generic_Read, Next): Adapt to
	removal of wrapper functions.
	* libgnat/a-chtgfo.ads (Checked_Index): Remove useless function.
	(Delete_Node_At_Index): Delete unused procedure.

2022-05-13  Yannick Moy  <moy@adacore.com>

	* libgnat/a-cfhama.adb (Generic_Allocate): Retype to avoid
	aliasing.
	(Assign, Move): Remove address comparison.
	(Include): Insert constants for subtype constraints.
	(Insert): Rewrite to avoid aliasing and function with side-effects.
	* libgnat/a-cfhase.adb (Generic_Allocate): Retype to avoid
	aliasing.
	(Assign, Move): Remove address comparison.
	(Difference, Intersection, Is_Subset, Overlap,
	Symmetric_Difference, Union): Remove address comparison.  Insert
	constants for subtype constraints.
	(Insert): Rewrite to avoid aliasing and function with
	side-effects.
	* libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index,
	Delete_Key_Sans_Free, Find, Generic_Replace_Element, Index):
	Type for hash tables not tagged anymore.
	(Generic_Conditional_Insert): New_Node generic formal is a
	procedure taking the hash table as first parameter now, to avoid
	aliasing in the caller.
	* libgnat/a-chtgfk.ads: Same.
	* libgnat/a-chtgfo.adb (Checked_Index, Clear,
	Delete_Node_At_Index, Delete_Node_Sans_Free, First, Free,
	Generic_Allocate, Generic_Iteration, Generic_Read,
	Generic_Write, Index, Next): Type for hash tables not tagged
	anymore.
	(Generic_Equal): Removed tagged. Remove address comparison.
	* libgnat/a-chtgfo.ads: Same.
	* libgnat/a-cohata.ads (Hash_Table_Type): Remove tagged.

2022-05-13  Yannick Moy  <moy@adacore.com>

	* Makefile.rtl: Add new files.
	* libgnat/a-cfhama.adb: Use formal version of hash tables.
	* libgnat/a-cfhama.ads: Same.
	* libgnat/a-cfhase.adb: Same.
	* libgnat/a-cfhase.ads: Same.
	* libgnat/a-chtgfk.adb: New unit for formal containers, modified
	version of Generic_Bounded_Keys.
	* libgnat/a-chtgfk.ads: Same.
	* libgnat/a-chtgfo.adb: New unit for formal containers, modified
	version of Generic_Bounded_Operations.
	* libgnat/a-chtgfo.ads: Same.
	* libgnat/a-cohata.ads (Generic_Formal_Hash_Table_Types): Third
	version of the type for hash tables, equivalent to the bounded
	version without tampering checks.

2022-05-13  Javier Miranda  <miranda@adacore.com>

	* freeze.adb (Check_Inherited_Conditions): Dispatch table
	wrappers must be placed in the list of entities of their scope
	at the same place of their wrapped primitive. This is required
	for private types since these wrappers are built when their full
	tagged type declaration is frozen but they may override a
	primitive defined in the public part of the package (and it is
	important to maintain the wrapper in the list of public entities
	of the package to ensure their correct visibility).

2022-05-13  Johannes Kanig  <kanig@adacore.com>

	* osint.ads, osint.adb (Relocate_Path): If the GNSA_ROOT
	environment variable is set, we use that as the prefix, instead
	of computing the prefix from the executable location.

2022-05-13  Steve Baird  <baird@adacore.com>

	* exp_ch3.ads (Build_Intialization_Call): Add new formal
	parameter, Init_Control_Actual, with default value. Clients
	outside of package Exp_Ch3 are unaffected.
	* exp_ch3.adb (Initialization_Control): new package; support for
	this 4-valued parameter.  The existing Requires_Late_Init
	function is moved into this new package.
	(Build_Initialization_Call): Add new formal parameter for
	subprogram body, use this new formal parameter in generating an
	init proc call.
	(Build_Record_Init_Proc): Replace Set_Tag Boolean formal
	parameter with 4-valued Init_Control_Formal. Wrap if-statements
	with appropriate conditions around tag initialization, early
	initialization, and late initialization statements.
	* exp_util.adb (Build_Task_Image_Decl): Avoid problem with
	duplicate declarations when an init proc for a type extension
	calls the parent type's init proc twice.

2022-05-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): Fix Typ in the
	case of a class-wide derived iterator.

2022-05-13  Yannick Moy  <moy@adacore.com>

	* libgnat/a-strbou.ads (Overwrite): Switch to >= operator in
	contracts.
	* libgnat/a-strsup.adb (Super_Overwrite): Switch to >= operator
	in code of procedure (function already uses it).
	* libgnat/a-strsup.ads (Super_Overwrite): Switch to >= operator
	in contracts.

2022-05-13  Etienne Servais  <servais@adacore.com>

	* doc/gnat_rm/representation_clauses_and_pragmas.rst: Fix code
	snippet.
	* gnat_rm.texi: Regenerate.

2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>

	* aspects.adb (Find_Value_Of_Aspect): Add guard.
	* sem_ch4.adb (Complete_Object_Operation): Remove obsolete code.
	* sem_ch5.adb (Has_Sec_Stack_Default_Iterator): Add guard.

2022-05-13  Javier Miranda  <miranda@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): The expansion of
	'Address in a call to an instantiation of the implicit
	subprogram To_Pointer with a class-wide interface type target
	requires adding an implicit type conversion to force
	displacement of the "this" pointer.

2022-05-13  Javier Miranda  <miranda@adacore.com>

	* sem_attr.adb (Resolve_Attribute): Ensure that attribute
	expressions are resolved at this stage; required for preanalyzed
	references to discriminants since their resolution (and
	expansion) will take care of updating their Entity attribute to
	reference their discriminal.

2022-05-13  Justin Squirek  <squirek@adacore.com>

	* sem_util.adb (Wrong_Type): Avoid using the first subtype of
	the expected type in error messages when the expected type is
	not internally generated.

2022-05-13  Alexandre Oliva  <oliva@adacore.com>

	* doc/gnat_rm/security_hardening_features.rst: Add subsection on
	Control Flow Redundancy.
	* gnat_rm.texi: Regenerate.

2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_util.adb (Insert_Actions) <N_Iteration_Scheme>: Check that
	it is a WHILE iteration scheme before using Condition_Actions.

2022-05-13  Piotr Trojanek  <trojanek@adacore.com>

	* atree.adb, gen_il-gen.adb, osint.adb, set_targ.adb,
	sinput.adb, table.adb, treepr.adb, types.ads: Replace uses of
	Unchecked_Conversion in the compiler itself.
	* libgnarl/a-reatim.adb, libgnarl/s-osinte__gnu.ads,
	libgnarl/s-osinte__kfreebsd-gnu.ads, libgnat/a-coboho.adb,
	libgnat/a-stuten.ads, libgnat/s-putima.adb: Likewise in the
	runtime.
	* doc/gnat_ugn/gnat_and_program_execution.rst: Likewise in
	documentation.
	* gnat_ugn.texi: Regenerate.

2022-05-13  Piotr Trojanek  <trojanek@adacore.com>

	* butil.adb, sem.adb, sinput.adb, types.ads, xref_lib.adb:
	Replace uses of Unchecked_Deallocation with
	Ada.Unchecked_Deallocation.
	* doc/gnat_ugn/gnat_and_program_execution.rst: Likewise for the
	documentation; fix casing of GNAT.IO.
	* gnat_ugn.texi: Regenerate.

2022-05-13  Marc Poulhiès  <poulhies@adacore.com>

	* sem_aggr.adb (Resolve_Array_Aggregate): Fix ARM reference.
	Remove useless loop.

2022-05-13  Etienne Servais  <servais@adacore.com>

	* sem_ch3.adb (Analyze_Subtype_Declaration): Fix typo in
	comment.

2022-05-13  Justin Squirek  <squirek@adacore.com>

	* sem_ch6.adb (Check_Return_Construct_Accessibility): Modify
	generation of run-time accessibility checks to account for cases
	where Extra_Accessibility_Of_Result should be used versus the
	level of the enclosing subprogram. Use original node to avoid
	checking against expanded code. Disable check generation for
	tagged type case.
	(Is_Formal_Of_Current_Function): Added to encompass a predicate
	used within Check_Return_Construct_Accessibility to test if an
	associated expression is related to a relevant formal.
	* sem_util.adb, sem_util.ads (Enclosing_Subprogram): Modified to
	accept Node_Or_Entity_Id.
	(Innermost_Master_Scope_Depth): Calculate level based on the
	subprogram of a return statement instead of the one returned by
	Current_Subprogram.
	(Needs_Result_Accessibility_Level): Remove
	Disable_Coextension_Cases constant, and disable the tagged type
	case for performance reasons.

2022-05-13  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Flag_Effectively_Volatile_Objects): Ignore
	component and discriminant identifiers.

2022-05-13  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Flag_Effectively_Volatile_Objects): Remove
	redundant guard.

2022-05-13  Justin Squirek  <squirek@adacore.com>

	* sem_ch8.adb (Determine_Package_Scope): Created to centralize
	the calculation of which package a given use clause belongs to.
	(Most_Descendant_Use_Clause): Modified to call
	Determine_Package_Scope.
	* sem_util.adb, sem_util.ads (Enclosing_Package): Modified to
	handle both entity and node ids.

2022-05-12  Piotr Trojanek  <trojanek@adacore.com>

	* gnat1drv.adb (Gnat1drv): Skip postponed checks when there are
	errors.

2022-05-12  Arnaud Charlet  <charlet@adacore.com>

	* doc/gnat_ugn/the_gnat_compilation_model.rst: Fix URL.
	* gnat_ugn.texi: Regenerate.

2022-05-12  Bob Duff  <duff@adacore.com>

	* namet.ads, namet.adb (Write_Name_For_Debug): Add Quote
	parameter to allow conditional addition of quotes. Note that
	some calls to Write_Name_For_Debug, for example for file names,
	shouldn't have quotes, as in some_package.adb:123:45.
	* treepr.adb (Print_Name): Add double quotes around the name
	using the above Quote parameters.

2022-05-12  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Resolve_Actuals): Simplify with N_Op_Compare.
	* sem_util.adb (Replace_Null_Operand,
	Null_To_Null_Address_Convert_OK): Likewise.

2022-05-12  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.ads (Is_Selector_Name): Remove spec.
	* sem_util.adb (Is_Selector_Name): Remove body.

2022-05-12  Arnaud Charlet  <charlet@adacore.com>

	* sem_warn.adb (Has_Junk_Name): Add more dummy names.

2022-05-12  Piotr Trojanek  <trojanek@adacore.com>

	* lib-xref.adb (Generate_Reference): Fix comment and implement
	it precisely.

2022-05-12  Piotr Trojanek  <trojanek@adacore.com>

	* atree.adb, atree.ads: Move WITH clause from spec to body; to
	prevent new warnings stopping the bootstrap.
	* fmap.adb, fname-sf.adb, libgnat/a-direct.adb,
	libgnat/s-bignum.adb: Remove unnecessary WITH clauses; to
	prevent new warnings stopping the bootstrap.
	* sem_ch12.adb (Analyze_Subprogram_Instantiation): Only set
	Is_Instantiated flag when the instance is in the extended main
	source unit.

2022-05-12  Yannick Moy  <moy@adacore.com>

	* libgnat/s-valuei.ads: Remove pragma Warnings Off.
	* libgnat/s-valueu.ads: Same.
	* libgnat/s-valuti.ads: Same.

2022-05-12  Yannick Moy  <moy@adacore.com>

	* sem_util.adb (Check_Result_And_Post_State): Exempt trivial
	post.

2022-05-12  Arnaud Charlet  <charlet@adacore.com>

	* ali.adb, ali.ads, bcheck.adb, exp_ch11.adb, fe.h,
	gnat1drv.adb, opt.adb, opt.ads, targparm.adb, targparm.ads,
	lib-writ.adb: Get rid of Frontend_Exceptions processing.
	* libgnat/system-aix.ads, libgnat/system-darwin-arm.ads,
	libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads,
	libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads,
	libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads,
	libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads,
	libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads,
	libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads,
	libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads,
	libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads,
	libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads,
	libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads,
	libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads,
	libgnat/system-qnx-aarch64.ads, libgnat/system-rtems.ads,
	libgnat/system-solaris-sparc.ads,
	libgnat/system-solaris-x86.ads,
	libgnat/system-vxworks-arm-rtp-smp.ads,
	libgnat/system-vxworks-arm-rtp.ads,
	libgnat/system-vxworks-arm.ads,
	libgnat/system-vxworks-e500-kernel.ads,
	libgnat/system-vxworks-e500-rtp-smp.ads,
	libgnat/system-vxworks-e500-rtp.ads,
	libgnat/system-vxworks-ppc-kernel.ads,
	libgnat/system-vxworks-ppc-rtp-smp.ads,
	libgnat/system-vxworks-ppc-rtp.ads,
	libgnat/system-vxworks-x86-kernel.ads,
	libgnat/system-vxworks-x86-rtp-smp.ads,
	libgnat/system-vxworks-x86-rtp.ads,
	libgnat/system-vxworks7-aarch64-rtp-smp.ads,
	libgnat/system-vxworks7-aarch64.ads,
	libgnat/system-vxworks7-arm-rtp-smp.ads,
	libgnat/system-vxworks7-arm.ads,
	libgnat/system-vxworks7-e500-kernel.ads,
	libgnat/system-vxworks7-e500-rtp-smp.ads,
	libgnat/system-vxworks7-e500-rtp.ads,
	libgnat/system-vxworks7-ppc-kernel.ads,
	libgnat/system-vxworks7-ppc-rtp-smp.ads,
	libgnat/system-vxworks7-ppc-rtp.ads,
	libgnat/system-vxworks7-ppc64-kernel.ads,
	libgnat/system-vxworks7-ppc64-rtp-smp.ads,
	libgnat/system-vxworks7-x86-kernel.ads,
	libgnat/system-vxworks7-x86-rtp-smp.ads,
	libgnat/system-vxworks7-x86-rtp.ads,
	libgnat/system-vxworks7-x86_64-kernel.ads,
	libgnat/system-vxworks7-x86_64-rtp-smp.ads: Remove
	Frontend_Exceptions line.
	* gcc-interface/decl.cc, gcc-interface/trans.cc
	(gnat_to_gnu_entity, gnat_to_gnu_subprog_type, gigi,
	gnat_to_gnu): Remove Front_End_SJLJ processing and always assume
	Back_End_Exceptions.

2022-05-12  Bob Duff  <duff@adacore.com>

	* namet.ads, namet.adb (Write_Name_For_Debug): New more-robust
	version of Write_Name.
	(Destroy_Global_Name_Buffer): New procedure to help detect bugs
	related to use of Global_Name_Buffer.  Misc cleanup and comment
	improvements. E.g. we don't need to document every detail of
	debugging printouts, especially since they can change.
	* uname.ads, uname.adb (Write_Unit_Name_For_Debug): New
	more-robust version of Write_Unit_Name.
	(Get_Unit_Name_String): Pass buffer in, instead of using the
	global variable. Misc cleanup. Remove the "special fudge", which
	is apparently not needed, and anyway the comment "the %s or %b
	has already been eliminated" seems wrong.
	(Write_Unit_Name): Call the new version of Get_Unit_Name_String.
	* errout.adb (Set_Msg_Insertion_Unit_Name): Call the new version
	of Get_Unit_Name_String. We pass the global variable here,
	because it's too much trouble to disentangle such uses in
	Errout.
	* sem_util.ads, sem_util.adb, sem_dist.adb
	(Get_Library_Unit_Name): New version of
	Get_Library_Unit_Name_String that avoids usage of the global
	variable.
	* casing.ads, casing.adb, exp_prag.adb, exp_util.adb
	(Set_All_Upper_Case): Remove. There is no need for a wrapper
	here -- code is clearer without it.
	* treepr.adb (Print_Name): Call Write_Name_For_Debug, which
	deals with No_Name (etc), rather than duplicating that here.
	Note that the call to Get_Name_String was superfluous.
	(Tree_Dump): Call Write_Unit_Name_For_Debug instead of
	Write_Unit_Name, which crashes if not Is_Valid_Name.
	* erroutc.ads: Improve comments.
	* erroutc.adb (Set_Msg_Name_Buffer): Call
	Destroy_Global_Name_Buffer to detect potential bugs where it
	incorrectly looks at the global variable.
	* sinput.adb (Write_Location): Call Write_Name_For_Debug instead
	of Write_Name, so it won't blow up on invalid data.
	* sinput.ads: Improve comments; remove some verbosity.
	* libgnat/s-imagef.adb: Fix typo in comment.

2022-05-12  Yannick Moy  <moy@adacore.com>

	* libgnat/s-imageu.adb (Set_Image_Unsigned): Add lemma.
	* libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion.

2022-05-12  Yannick Moy  <moy@adacore.com>

	* libgnat/s-aridou.ads: Remove use-clause, add renames and
	subtypes.
	* libgnat/s-exponn.ads: Same.
	* libgnat/s-expont.ads: Same.
	* libgnat/s-widthu.ads: Same.

2022-05-12  Etienne Servais  <servais@adacore.com>

	* csets.adb (Fold_Latin_9): Fix y with diaeresis.
	(Fold_IBM_PC_850): Fix o with stroke.

2022-05-12  Piotr Trojanek  <trojanek@adacore.com>

	* sem_type.adb (Valid_Boolean_Arg): Remove redundant guard.

2022-05-12  Piotr Trojanek  <trojanek@adacore.com>

	* sem_type.adb (Valid_Boolean_Arg): Operands of Raise_Type are
	valid boolean arguments.

2022-05-12  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch4.adb (Possible_Type_For_Conditional_Expression): Add
	test for subtype conformance in the cases of
	access-to-subprogram types.

2022-05-12  Yannick Moy  <moy@adacore.com>

	* libgnat/s-imagef.adb: Justify false message from CodePeer.

2022-05-12  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch4.adb (Analyze_Case_Expression): Rewrite.
	(Analyze_If_Expression): Likewise.
	(Possible_Type_For_Conditional_Expression): New function.
	* sem_type.adb (Specific_Type): Retur the base type in more
	cases.

2022-05-12  Yannick Moy  <moy@adacore.com>

	* libgnat/s-imagef.adb: Adapt to new signature of Image_I, by
	providing ghost imported subprograms. For now, no contract is
	used on these subprograms, as System.Image_F is not proved.
	* libgnat/s-imagef.ads: Add modular type Uns as formal
	parameter, to use in defining Int_Params for instantiating
	Image_I.
	* libgnat/s-imagei.adb: Add contracts and ghost code.
	* libgnat/s-imagei.ads: Replace Int formal parameter by package
	Int_Params, which bundles type Int and Uns with ghost
	subprograms.  Add contracts.
	* libgnat/s-imfi128.ads: Adapt to new formal of Image_F.
	* libgnat/s-imfi32.ads: Adapt to new formal of Image_F.
	* libgnat/s-imfi64.ads: Adapt to new formal of Image_F.
	* libgnat/s-imgint.ads: Adapt to new formals of Image_I.
	* libgnat/s-imglli.ads: Adapt to new formals of Image_I.
	* libgnat/s-imgllli.ads: Adapt to new formals of Image_I.
	* libgnat/s-valint.ads: Adapt to new formals of Value_I.
	* libgnat/s-vallli.ads: Adapt to new formals of Value_I.
	* libgnat/s-valllli.ads: Adapt to new formals of Value_I.
	* libgnat/s-valuei.adb (Prove_Scan_Only_Decimal_Ghost): New
	ghost lemma.
	* libgnat/s-valuei.ads: New formal parameters to prove the new
	lemma.
	* libgnat/s-valuti.ads (Int_Params): Define a generic package to
	be used as a trait-like formal parameter in Image_I and other
	generics that need to instantiate Image_I.
	* libgnat/s-widthu.ads (Big_10): Qualify the 10 literal.

2022-05-12  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch4.adb (Find_Arithmetic_Types): Use local variables.
	(Find_Boolean_Types): Rewrite modeled on Find_Arithmetic_Types.

2022-05-12  Alexandre Oliva  <oliva@adacore.com>

	* doc/gnat_rm/security_hardening_features.rst (Hardened
	Booleans): New.
	* exp_util.adb (Adjust_Condition): Perform validity checking on
	hardbool-annotated types even with -gnatVT.
	* gnat_rm.texi: Regenerate.
	* gcc-interface/utils.cc (gnat_internal_attribute_table): Ignore
	hardbool.

2022-05-12  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch9.adb (Build_Protected_Entry): Set scope of the nested
	block to spec and not the body of the procedure created for a
	protected entry.

2022-05-12  Etienne Servais  <servais@adacore.com>

	* sem_ch3.adb (Find_Type_Of_Object): Remove duplicate "i" in
	comment.

2022-05-12  Marc Poulhiès  <poulhies@adacore.com>

	* csets.adb (Initialize): Only treat square bracket as valid
	identifier character for Ada versions prior to Ada 2022.
	* style.ads (Check_Left_Paren): Rename...
	(Check_Left_Paren_Square_Bracket): ...to this.
	* styleg.adb (Check_Left_Bracket): Rename...
	(Check_Left_Paren_Square_Bracket): ...to this.
	* styleg.ads (Check_Left_Paren): Rename...
	(Check_Left_Paren_Square_Bracket): ...to this.
	* scng.adb (Scan): Add check for spacing around left square
	bracket and use new name for Check_Left_Paren_Square_Bracket.
	* libgnat/a-szmzco.ads (Control_Ranges, Graphic_Ranges)
	(Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges)
	(Character_Ranges): Fix style (remove extra space).
	* libgnat/a-swmwco.ads (Control_Ranges, Graphic_Ranges)
	(Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges)
	(Character_Ranges): Likewise.
	* opt.adb (Set_Config_Switches): Remove [ from Identifier_Char
	set.

2022-05-12  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_type.adb (Specific_Type): Add swapped cases for interfaces.

2022-05-12  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_rm/implementation_defined_pragmas.rst:
	(Export_Object, Import_Object, Short_Descriptors): Fix pragma
	syntax specification.
	* gnat_rm.texi: Regenerate.

2022-05-12  Piotr Trojanek  <trojanek@adacore.com>

	* ali.adb (Hash): Reuse GNAT.String_Hash.Hash and don't pollute
	the Name_Id table.

2022-05-12  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration
	Pragmas): Add Aggregate_Individually_Assign; otherwise the list
	is complete except for some obsoleted pragmas, which most likely
	are intentionally omitted.
	* gnat_ugn.texi: Regenerate.

2022-05-11  Yannick Moy  <moy@adacore.com>

	* libgnat/s-imaged.ads: Remove Pure.
	* libgnat/s-imagef.ads: Remove Pure.
	* libgnat/s-imager.ads: Remove Pure.
	* libgnat/s-imageu.adb: Add ghost code.
	* libgnat/s-imageu.ads: Add contracts.
	* libgnat/s-imde128.ads: Remove Pure.
	* libgnat/s-imde32.ads: Remove Pure.
	* libgnat/s-imde64.ads: Remove Pure.
	* libgnat/s-imfi128.ads: Remove Pure.
	* libgnat/s-imfi32.ads: Remove Pure.
	* libgnat/s-imfi64.ads: Remove Pure.
	* libgnat/s-imgflt.ads: Remove Pure.
	* libgnat/s-imglfl.ads: Remove Pure.
	* libgnat/s-imgllf.ads: Remove Pure.
	* libgnat/s-imglllu.ads: Instantiate with ghost subprograms.
	* libgnat/s-imgllu.ads: Instantiate with ghost subprograms.
	* libgnat/s-imgrea.ads: Remove Pure.
	* libgnat/s-imguns.ads: Instantiate with ghost subprograms.
	* libgnat/s-imguti.ads: Remove Pure.
	* libgnat/s-valueu.adb (Prove_Iter_Scan_Based_Number_Ghost,
	Prove_Scan_Only_Decimal_Ghost): New lemmas.
	* libgnat/s-valueu.ads (Uns_Option): Do not make type ghost to
	be able to use it as formal in instantiations.
	(Only_Decimal_Ghost): New ghost query.
	(Prove_Iter_Scan_Based_Number_Ghost,
	Prove_Scan_Only_Decimal_Ghost): New lemmas.
	* libgnat/s-widlllu.ads: Adapt to changes in Width_U.
	* libgnat/s-widllu.ads: Adapt to changes in Width_U.
	* libgnat/s-widthu.adb: Change generic function in generic
	package in order to complete the postcondition. Tighten the
	upper bound on the result by 1.
	* libgnat/s-widthu.ads: Same.
	* libgnat/s-widuns.ads: Adapt to changes in Width_U.
	* gcc-interface/Make-lang.in: Add dependencies on a-nubinu,
	a-numeri.ads and a-widuns.ads.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* snames.ads-tmpl (Detect_Blocking): Move after
	Default_Storage_Pool.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Remove custom check for
	Compile_Time_Error and Compile_Time_Warning pragmas.
	* snames.ads-tmpl (Compile_Time_Error, Compile_Time_Warning):
	Move beyond Last_Configuration_Pragma_Name.

2022-05-11  Marc Poulhiès  <poulhies@adacore.com>

	* libgnat/a-direct.adb (Start_Search_Internal): Use parentheses
	for record aggregate.
	* libgnat/a-stbubo.adb (Get_UTF_8): Likewise.
	* libgnat/a-stbuun.adb (Get_UTF_8): Likewise.
	* libgnat/a-stzbou.ads (Null_Bounded_Wide_Wide_String):
	Likewise.
	* libgnat/a-swmwco.ads (Lower_Case_Mapping, Basic_Mapping):
	Likewise.
	* libgnat/a-szmzco.ads (Lower_Case_Mapping, Basic_Mapping):
	Likewise.
	* libgnat/s-statxd.adb (Fields): Likewise.
	* libgnat/s-stausa.adb (Initialize): Likewise.
	* sem_aggr.adb (Resolve_Record_Aggregate): Reject aggregates
	using brackets.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_rm/implementation_defined_pragmas.rst,
	doc/gnat_rm/implementation_of_specific_ada_features.rst,
	doc/gnat_rm/representation_clauses_and_pragmas.rst,
	doc/gnat_rm/the_gnat_library.rst,
	doc/gnat_rm/the_implementation_of_standard_i_o.rst,
	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
	doc/gnat_ugn/gnat_and_program_execution.rst,
	doc/gnat_ugn/platform_specific_information.rst: Fix unbalanced
	parentheses and brackets.
	* sem_prag.adb (pragma Obsolescent): Likewise.
	* gnat_rm.texi, gnat_ugn.texi: Regenerate.

2022-05-11  Marc Poulhiès  <poulhies@adacore.com>

	* libgnat/s-rident.ads (Restriction_Id): Add
	No_Local_Tagged_Types, update comment for adding new GNAT
	specific restriction.
	* restrict.ads (Implementation_Restriction): Add
	No_Local_Tagged_Types.
	* sem_ch3.adb (Analyze_Full_Type_Declaration): Add check for
	tagged type at library level.
	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
	Add No_Local_Tagged_Types description.
	* gnat_rm.texi: Regenerate.

2022-05-11  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch4.adb (Analyze_User_Defined_Binary_Op): Use the base type
	in the interpretation of the operator.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* sem_case.adb (Free_Value_Sets): Fix style in body header box.
	* sem_ch12.adb (Build_Subprogram_Wrappers): Likewise.
	* sem_util.adb (Statically_Denotes_Entity): Likewise.

2022-05-11  Etienne Servais  <servais@adacore.com>

	* sem_ch3.adb (Constrain_Access): Call Desig_Subtype in each if
	branch to avoid calling it twice.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* sem_warn.adb (Find_Var): Detect all operators; replace
	"condition" to "expression" in comments, because when this
	routine is called recursively it no longer examines the
	condition.
	(Is_Suspicious_Function_Name): Reduce scope of a local variable
	to avoid shadowing with a parameter of a nested
	Substring_Present function.

2022-05-11  Yannick Moy  <moy@adacore.com>

	* libgnat/s-aridou.adb (Double_Divide, Scaled_Divide): Add
	intermediate assertions.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* libgnat/s-rident.ads (Implementation_Restriction): Remove
	No_Dynamic_Attachment, No_Implementation_Attributes,
	No_Implementation_Pragmas, No_Local_Protected_Objects,
	No_Protected_Type_Allocators, No_Relative_Delay,
	No_Requeue_Statements, No_Select_Statements,
	No_Task_Termination, Pure_Barriers and Simple_Barriers; add
	No_Dynamic_Sized_Objects,
	No_Implicit_Protected_Object_Allocations,
	No_Implicit_Task_Allocations, No_Task_At_Interrupt_Priority and
	Static_Dispatch_Tables; sort alphabetically.
	* restrict.ads (Restriction_Id): Change Pure_Barriers and
	No_Task_Termination from GNAT to Ada restrictions.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* exp_atag.adb, lib-util.ads, libgnat/g-decstr.adb,
	libgnat/g-exptty.adb, libgnat/g-socpol.adb,
	libgnat/s-strhas.adb: Fix headers.

2022-05-11  Joao Azevedo  <azevedo@adacore.com>

	* doc/gnat_ugn/platform_specific_information.rst: Add
	glibc-locale-base-32bit as a dependency in SUSE distributions.
	* gnat_ugn.texi: Regenerate.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_ugn/gnat_and_program_execution.rst,
	doc/gnat_ugn/gnat_utility_programs.rst,
	doc/gnat_ugn/inline_assembler.rst: Fix typos and formatting
	glitches.
	* gnat_ugn.texi: Regenerate.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Change
	blocks from plain code to Ada.

2022-05-11  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch5.adb (Expand_Assign_With_Target_Names): Bypass the temp
	object approach in the case where the type of the LHS is
	controlled or has controlled subcomponents (Needs_Finalization
	is True), and use the procedure approach instead.

2022-05-11  Bob Duff  <duff@adacore.com>

	* sem_ch3.adb (Get_Discr_Value): Copy the result. Otherwise, the
	"tree" can be malformed (a DAG, not a tree) because
	Get_Discr_Value could be returning some subtree already attached
	to the tree.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on
	proper label entities.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_rm/implementation_defined_characteristics.rst: Add
	tabularcolums directive, as explained in documentation of Sphinx
	and tabular LaTeX package.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_rm/implementation_defined_aspects.rst,
	doc/gnat_rm/implementation_defined_pragmas.rst: Remove extra
	whitespace.
	* gnat_rm.texi: Regenerate.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_rm/implementation_defined_characteristics.rst: Remove
	extra indent in continuation lines; indent both descriptions of
	Max_Picture_Length.
	* gnat_rm.texi: Regenerate.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
	Eliminate): Fix markup.
	* gnat_rm.texi: Regenerate.

2022-05-11  Johannes Kliemann  <kliemann@adacore.com>

	* libgnat/g-sthcso.adb: Suppress warning about unneeded use type
	clause.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on
	proper label entities.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
	Ada_2022): Copy description from pragma Ada 2012 and adapt.
	* doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration
	Pragmas): List pragma Ada 2022.
	* gnat_rm.texi, gnat_ugn.texi: Regenerate.

2022-05-11  Steve Baird  <baird@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Replace
	the existing check for an address specification for an object of
	a class-wide type with a more general check which rejects either
	the class-wide case or the case where the FE would (if the
	address specification were accepted) build a malformed
	tree (specifically, an object renaming declaration with a
	specified address). In the case where the check fails, reject
	the construct at compile time instead of generating an
	unconditional raise of Program_Error.
	* doc/gnat_rm/representation_clauses_and_pragmas.rst: Update
	documentation to reflect these changes.
	* gnat_rm.texi: Regenerate.

2022-05-11  Piotr Trojanek  <trojanek@adacore.com>

	* gen_il-gen-gen_entities.adb (Reachable): Move from
	Root_Entity_Type to E_Label.

2022-05-11  Alexandre Oliva  <oliva@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Guard
	Set_Is_Known_Valid with Safe_To_Capture_Value.

2022-05-11  Bob Duff  <duff@adacore.com>

	* repinfo.adb (List_Object_Info): Do not try to print values
	that have not been computed (and so are No_Uint).
	(Rep_Not_Constant): Reverse sense and change name to
	Compile_Time_Known_Rep. This makes the code at call sites a
	little more readable. Simplify code to a single return
	statement.

2022-05-10  Martin Liska  <mliska@suse.cz>

	* gcc-interface/decl.cc (compare_field_bitpos): Use void *
	instead PTR.
	* gcc-interface/utils2.cc (compare_elmt_bitpos): Likewise.

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

	* fe.h (Is_Expression_Function): Declare.
	* sem_util.ads (Is_Expression_Function): Add warning line.

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

	* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Valid>:
	Drop redundant range check for nonstandard booleans.

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

	* exp_util.adb (Adjust_Result_Type): Leave result in
	Standard.Boolean if it's going to be converted to another
	boolean type.
	* exp_ch4.adb (Expand_N_Type_Conversion): When optimizing,
	convert to nonstandard booleans with an if_expression with
	boolean literals.

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

	* exp_ch4.adb (Expand_N_If_Expression): Call Adjust_Condition to
	handle non-standard booleans.

2022-05-10  Justin Squirek  <squirek@adacore.com>

	* sem_ch8.adb (Use_One_Type): Remove code in charge of setting
	Current_Use_Clause when Id is known to be redundant, and modify
	the printing of errors associated with redundant use type
	clauses so that line number gets included in more cases.

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

	* sem_warn.adb (Check_Unset_Reference): Use variant of
	Earlier_In_Extended_Unit that calls Sloc internally.

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

	* par-ch10.adb, scng.adb, sem_res.adb, sinfo-utils.adb,
	treepr.adb: Simplify calculations with Source_Ptr and Loc
	values.

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

	* sem_res.adb (Resolve_Expression_With_Actions): Fix style in
	nested routines.

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

	* atree.adb, exp_ch6.adb, exp_ch9.adb, ghost.adb, sem_ch3.adb,
	sem_ch4.adb, sem_res.adb, sem_util.adb: Use
	Is_Rewrite_Substitution where possible.

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

	* exp_ch11.adb, exp_ch5.adb, exp_prag.adb, gnat_cuda.adb,
	sem_ch12.adb, sem_ch3.adb, sem_ch6.adb, sem_util.adb,
	treepr.adb: Replace /= and = operators with No and Present,
	respectively.

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

	* sem_warn.adb (Within_Postcondition): Guard against search
	going too far.

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

	* sem_warn.adb (Check_Unset_Reference): The early test was only
	saving time of calls to Original_Node, Comes_From_Source and
	Nkind, which are all quick and cheap.

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

	* sem_ch5.adb (Check_Unreachable_Code): Remove inner declare
	block; refill code and comments.

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

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Replace
	First_Entity/Next_Entity with First_Formal/Next_Formal; rename
	E1/E2 to F1/F2.

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

	* sem_res.adb (Resolve_Declare_Expression): Check expression for
	references to unset objects.
	(Resolve_Qualified_Expression): Likewise.
	* sem_warn.adb (Check_Unset_Reference): Remove handling of
	declare and qualified expressions; clarify comment for type
	conversions.

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

	* sem_res.adb (Resolve_Case_Expression): Check alternative
	expressions for references to unset objects.
	(Resolve_If_Expression): Check condition, then and else
	expressions for references to unset objects.

2022-05-10  Kévin Le Gouguec  <legouguec@adacore.com>

	* doc/gnat_rm/implementation_defined_attributes.rst,
	doc/gnat_ugn/the_gnat_compilation_model.rst: Fix typos.
	* gnat_rm.texi, gnat_ugn.texi: Regenerate.

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

	* sem_ch13.adb (Is_Predicate_Static): Fix typo in comment.

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

	* libgnat/s-valuei.adb: Fix indentation.
	* libgnat/s-valuei.ads: Same.

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

	* snames.ads-tmpl: Add "Structural" as a name.
	* sem_prag.adb: (Analyze_Pragma): Accept modifier "Structural"
	in pragmas Loop_Variant and Subprogram_Variant. Check that items
	associated to Structural occur alone in the pragma associations.
	(Analyze_Subprogram_Variant_In_Decl_Part): Idem.
	* exp_prag.adb (Expand_Pragma_Loop_Variant): Discard structural
	variants.
	(Expand_Pragma_Subprogram_Variant): Idem.

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

	* libgnat/s-valint.ads: Add SPARK_Mode and pragma to ignore
	assertions in instance and add additional ghost parameters to
	the instance of Value_I.
	* libgnat/s-vallli.ads: Idem.
	* libgnat/s-valllli.ads: Idem.
	* libgnat/s-valuei.ads, libgnat/s-valuei.adb: New generic
	parameters for ghost functions from System.Valueu. Add
	functional contracts.

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

	* sem_res.adb (Resolve_Eqyality_Op): Remove obsolete code.
	(Resolve_Op_Not): Likewise.
	* sem_type.adb (Disambiguate): Add missing test for RM 8.4(10).
	* libgnat/s-dwalin.adb (Enable_Cache): Fix ambiguity.
	(Symbolic_Address): Likewise.

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

	* sem_eval.adb (Eval_Integer_Literal): Fix oversight in entry test.

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

	* exp_aggr.adb (Expand_N_Aggregate): Replace UI_To_Int with
	UI_To_CC; replace magic literals with high-level routines that
	recognise wide and wide wide characters; reorder if-then-elsif
	condition, because we don't have a routine to detect wide wide
	characters.

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

	* scng.adb (Nlit): Error on big UI_Scale.

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

	* exp_util.adb (Build_Task_Array_Image): Declare expanded
	objects as constants.
	(Build_Task_Image_Prefix): Likewise.
	(Build_Task_Record_Image): Likewise.

2022-05-10  Marc Poulhiès  <poulhies@adacore.com>

	* checks.adb (Determine_Range): Fix range refining.

2022-05-10  Steve Baird  <baird@adacore.com>

	* sem_util.adb (Get_Actual_Subtype): If a new subtype is built,
	do not freeze it if Expander_Active is False. The idea here is
	to avoid generating an unwanted Freeze_Node for a subtype that
	has been conjured up solely for purposes of preanalysis.

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

	* exp_util.adb (Build_Task_Array_Image): Fix style in the
	structure of generated code; add Pref'Length as the component of
	the Sum initialization expression.

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

	* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Use
	Get_Char_Code.
	* exp_util.adb (Build_Task_Array_Image): Simplify conversion to
	Char_Code.
	(Build_Task_Image_Prefix): Likewise.
	(Build_Task_Record_Image): Likewise.
	* cstand.adb (Create_Standard): Use UI_From_Int instead of
	UI_From_CC.
	* exp_ch11.adb (Expand_N_Exception_Declaration): Likewise.
	* sem_res.adb (Patch_Up_Value): Likewise.
	* stringt.adb (Write_String_Table_Entry): Use Get_Char_Code.

2022-05-09  Yannick Moy  <moy@adacore.com>

	* sem_util.adb (Bad_Predicated_Subtype_Use): Add continuation
	message.

2022-05-09  Piotr Trojanek  <trojanek@adacore.com>

	* uintp.adb (UI_To_CC): Guard against illegal inputs; reuse
	UI_To_Int.

2022-05-09  Piotr Trojanek  <trojanek@adacore.com>

	* par-prag.adb (Prag): Simplify conversion of character codes.
	* sem_case.adb (Choice_Image): Likewise.
	(Lit_Of): Likewise.

2022-05-09  Justin Squirek  <squirek@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Tag>:
	Deal specifically wth class-wide equivalent types without a
	parent.
	* exp_util.adb (Build_Allocate_Deallocate_Proc): Extract
	allocator node for calculation of alignment actual and modify
	alignment for allocators of class-wide types with associated
	expressions.
	(Make_CW_Equivalent_Type): Handle interface types differently
	when generating the equivalent record.
	* sem_aux.adb (First_Tag_Component): Accept class-wide
	equivalent types too.

2022-05-09  Etienne Servais  <servais@adacore.com>

	* repinfo.adb (List_Name): Rework termination condition.

2022-05-09  Piotr Trojanek  <trojanek@adacore.com>

	* bindgen.adb, errout.adb, exp_unst.adb, gnatchop.adb,
	libgnat/a-ngcefu.adb, libgnat/a-strunb.adb,
	libgnat/a-stwiun.adb, libgnat/a-stzunb.adb,
	libgnat/a-wtedit.adb, libgnat/g-debpoo.adb, osint.adb,
	sigtramp-vxworks.c, uintp.adb: Remove extra whitespace around +,
	-, *, / and **.

2022-05-09  Piotr Trojanek  <trojanek@adacore.com>

	* libgnat/s-expmod.adb: Remove CodePeer annotation for pragma
	Loop_Variant.

2022-05-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.ads (In_Statement_Condition_With_Actions): Renamed
	from In_While_Loop_Condition; move to fit the alphabetic order.
	* sem_util.adb (In_Statement_Condition_With_Actions): Detect
	Elsif condition; stop search on other statements; prevent search
	from going too far; move to fit the alphabetic order.
	* sem_res.adb (Resolve_Call): Adapt caller.

2022-05-09  Piotr Trojanek  <trojanek@adacore.com>

	* inline.adb (Build_Body_To_Inline): Remove redundant guards.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.

2022-05-09  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb (Is_OK_Variable_For_Out_Formal): Remove test on
	Comes_From_Source in the condition dealing with the expression
	of an N_Unchecked_Type_Conversion node.

2022-05-09  Piotr Trojanek  <trojanek@adacore.com>

	* exp_aggr.adb, exp_ch3.adb, exp_util.adb, freeze.adb,
	gnatfind.adb, gnatlink.adb, gnatxref.adb, gprep.adb,
	libgnat/a-cfhama.adb, libgnat/g-alleve.adb, sem_ch12.adb,
	sem_ch13.adb, xr_tabls.adb: Fix style labels.

2022-05-09  Justin Squirek  <squirek@adacore.com>

	* err_vars.ads: Add new error message names and nodes.
	* erroutc.adb (Set_Msg_Insertion_Name,
	Set_Msg_Insertion_Name_Literal): Likewise.
	* errout.adb (Set_Msg_Insertion_Node): Likewise.
	* errout.ads: Likewise.
	* exp_disp.adb (Check_Premature_Freezing): Modify setting of
	Error_Msg_Node_2 to occur directly before Error_Msg call where
	applicable.
	* sem_ch8.adb (Error_Missing_With_Of_Known_Unit): Added to
	handle the printing of full package names of known units.
	(Undefined, Find_Expanded_Name): Replace error printing with
	call to Error_Missing_With_Of_Known_Unit.

2022-05-09  Yannick Moy  <moy@adacore.com>

	* exp_ch4.adb (Expand_Allocator_Expression): Set Error_Msg_Warn
	correctly.

2022-05-09  Steve Baird  <baird@adacore.com>

	* sem_ch13.adb (Replace_Type_Ref): In the case of an identifier
	that names a component of the type, simplify the test to decide
	whether to build a prefix for it (the prefix denotes the current
	instance of the enclosing type): if the identifier doesn't
	already have a prefix, then give it one. This isn't quite right
	in the corner case of a quantified expression or some other such
	expression that declares an object with the same name as a
	component, but it is still an improvement.

2022-05-09  Ed Schonberg  <schonberg@adacore.com>

	* exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
	package if array type and element type come from the same
	package, and the original array type is private.

2022-05-09  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch4.adb (Handle_Changed_Representation): Simplify and fix
	thinko in the loop building the constraints for discriminants.
	* exp_ch5.adb (Make_Component_List_Assign): Try also to extract
	discriminant values for a derived type.

2022-05-09  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Declare_Expression): Traverse the
	expression to replace references to local variables that occur
	within declarations of the declare_expression; fix typos in
	comments.

2022-05-09  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Operator_Check): Fix condition.

2022-05-09  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_rm/implementation_defined_pragmas.rst
	(Abstract_State, Async_Readers, Async_Writers,
	Constant_After_Elaboration, Effective_Reads, Effective_Writes,
	Extensions_Visible, Ghost, No_Caching, Volatile_Function): Only
	static Boolean expressions are allowed.
	* gnat_rm.texi: Regenerate.

2022-05-09  Piotr Trojanek  <trojanek@adacore.com>

	* exp_prag.adb (Expand_Pragma_Loop_Variant,
	Expand_Pragma_Subprogram_Variant): Adapt call via
	Process_Variant to Make_Variant_Comparison.
	* exp_util.adb (Make_Variant_Comparison): Compare Big_Integer
	expressions with a function call and not an operator.
	* exp_util.ads (Make_Variant_Comparison): Add type parameter,
	which is needed because the Curr_Val and Old_Val expressions
	might not be yet decorated.
	* rtsfind.ads: (RTU_Id): Add support for Big_Integers and
	Big_Integers_Ghost.
	(RE_Id): Add support for Big_Integer and its ghost variant.
	(RE_Unit_Table): Add mapping from Big_Integer to Big_Integers;
	same for the ghost variants.
	* rtsfind.adb (Get_Unit_Name): Add support for Big_Numbers.
	* sem_prag.adb (Analyze_Pragma): Allow Big_Integer in pragma
	Loop_Variant.
	(Analyze_Variant): Allow Big_Integer in pragma
	Subprogram_Variant.

2022-05-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch3.ads, sem_ch3.adb (Preanalyze_Assert_Expression): Add a
	variant that doesn't force preanalysis to yield a specific type.

2022-05-09  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo.ads (Access Kinds): Reorder and beef up.
	* sem.adb (Analyze): Call Analyze_Comparison_Equality_Op for all
	comparison and equality operators.
	* sem_ch4.ads (Analyze_Comparison_Op): Delete.
	(Analyze_Equality_Op): Likewise.
	(Analyze_Comparison_Equality_Op): Declare.
	(Ambiguous_Operands): Likewise.
	* sem_ch4.adb (Ambiguous_Operands): Remove declaration.
	(Defined_In_Scope): Delete.
	(Find_Comparison_Types): Merge into...
	(Find_Equality_Types): Merge into...
	(Find_Comparison_Equality_Types): ...this.  Make fully symmetrical.
	(Analyze_Arithmetic_Op): Minor consistency tweaks.
	(Analyze_Comparison_Op): Merge into...
	(Analyze_Equality_Op): Merge into...
	(Analyze_Comparison_Equality_Op): ...this.  Make fully symmetrical.
	(Analyze_Logical_Op): Minor consistency tweaks.
	(Analyze_Membership_Op): Make fully symmetrical.
	(Analyze_One_Call): Minor comment tweak.
	(Analyze_Operator_Call): Call Find_Comparison_Equality_Types.
	(Analyze_User_Defined_Binary_Op): Make fully symmetrical.
	(Check_Arithmetic_Pair.Specific_Type): Delete.
	(Diagnose_Call): Add special handling for "+" operator.
	(Operator_Check): Call Analyze_Comparison_Equality_Op.
	* sem_ch8.adb (Has_Implicit_Operator): Add Is_Type guard for boolean
	operators, use Valid_Comparison_Arg and Valid_Equality_Arg for resp.
	comparison and equality operators.
	* sem_res.adb (Check_For_Visible_Operator): Call Is_Visible_Operator
	(Make_Call_Into_Operator): Use Preserve_Comes_From_Source.
	(Resolve_Actuals): Deal specifically with Any_Type actuals for user-
	defined comparison and equality operators.
	(Resolve_Call): Minor tweaks.
	(Resolve_Comparison_Op): Tidy up and give error for ambiguity.
	(Resolve_Equality_Op): Likewise, as well as other errors.
	(Rewrite_Renamed_Operator): Simplify.
	* sem_type.ads (Is_Invisible_Operator): Delete.
	(Is_Visible_Operator): Declare.
	(Has_Compatible_Type): Remove For_Comparison parameter.
	(Specific_Type): Declare.
	(Valid_Equality_Arg): Likewise.
	* sem_type.adb (Specific_Type): Remove declaration.
	(Add_One_Interp): Call Is_Visible_Operator for the visibility test.
	(Remove_Conversions): Rename into...
	(Remove_Conversions_And_Abstract_Operations): ...this.  Do not apply
	numeric-type treatment to Any_Type.  Expand the special handling for
	abstract interpretations to second operand.  Remove obsolete code.
	(Disambiguate): Adjust to above renaming.  Tweak to hidden case and
	call Remove_Conversions_And_Abstract_Operations for operators too.
	(Entity_Matches_Spec): Minor tweak.
	(Find_Unique_Type): Simplify and deal with user-defined literals.
	(Has_Compatible_Type): Remove For_Comparison parameter and adjust.
	Call the Is_User_Defined_Literal predicate and remove call to
	the Is_Invisible_Operator predicate.
	(Is_Invisible_Operator): Delete.
	(Is_Visible_Operator): New function.
	(Operator_Matches_Spec): Use Valid_Equality_Arg predicate.
	(Specific_Type): Tidy up, make fully symmetrical and deal with
	private views the same way as Covers.
	(Valid_Comparison_Arg): Return true for Any_Composite/Any_String.
	(Valid_Equality_Arg): New function.
	* sem_util.ads (Is_User_Defined_Literal): Declare.
	* sem_util.adb (Is_User_Defined_Literal): New function.

2022-05-09  Bob Duff  <duff@adacore.com>

	* lib-xref.adb, sem_util.adb: Change wording of warning messages
	to use "aspect".
	* sem_prag.adb: Use Fix_Error to change wording of warnings.
	* doc/gnat_rm/implementation_defined_pragmas.rst: Minor: fix
	cut&paste error.
	* gnat_rm.texi: Regenerate.

2022-05-09  Doug Rupp  <rupp@adacore.com>

	* init.c [vxworks] (CLEAR_EXCEPTION_COUNT): New macro.
	(__gnat_clear_exception_count): Remove.
	(__gnat_map_signal): Call CLEAR_EXCEPTION_COUNT().

2022-05-09  Fedor Rybin  <frybin@adacore.com>

	* doc/gnat_ugn/gnat_utility_programs.rst: Remove gnattest
	section.

2022-05-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Remove calls to Analyze for
	attributes Identity, Priority, Ref, Restriction_Set, To_Address
	and for tasking-related attributes Callable, Terminated and
	Storage_Size.

2022-05-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Don't call Set_Etype for
	Bit_Order attribute.

2022-05-09  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch5.adb (Update_Choice_Index): Simplify condition.
	* sem_ch8.adb (Attribute_Renaming): Likewise.

2022-05-09  Dmitriy Anisimkov  <anisimko@adacore.com>

	* adaint.c (__gnat_kill): Remove close parameter.
	(__gnat_killprocesstree): Do not provide close parameter on call
	to __gnat_kill.
	* libgnat/g-expect.adb (Kill): Remove Close parameter.
	(Close): Do not provide Close parameter on call to Kill.
	(Send_Signal): Do not provide Close parameter on call to Kill.
	* libgnat/s-os_lib.adb (Kill): Do not provide close parameter on
	call to __gnat_kill.

2022-05-09  Dmitriy Anisimkov  <anisimko@adacore.com>

	* libgnat/g-expect.adb (Close): Call Kill before Close_Input.

2022-04-29  Martin Liska  <mliska@suse.cz>

	* gnatvsn.ads: Bump Library_Version to 13.

2022-04-27  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* tracebak.c: Add support for ARM RTEMS. Add support for RTEMS to PPC
	ELF.  Add support for RTEMS to SPARC.  Merge aarch64 support of Linux
	and RTEMS.

2022-04-27  Pierre-Marie de Rodat  <derodat@adacore.com>

	PR ada/104027
	* gnat1drv.adb: Remove the goto End_Of_Program.

2022-03-24  Pascal Obry  <obry@adacore.com>

	PR ada/104767
	* libgnat/g-sercom__mingw.adb (Close): Reset port handle to -1.
	* libgnat/g-sercom__linux.adb (Close): Likewise.

2022-03-10  Richard Biener  <rguenther@suse.de>

	PR ada/104861
	* gcc-interface/Makefile.in (target_noncanonical): Substitute.
	(OSCONS_CPP): Pass target_noncanonical as TARGET.

2022-02-13  Maciej W. Rozycki  <macro@orcam.me.uk>

	PR ada/98724
	PR ada/97504
	* Makefile.rtl (LIBGNAT_TARGET_PAIRS) <alpha*-*-linux*>: Use
	wraplf version of Aux_Long_Long_Float.

2022-01-31  Pierre-Marie de Rodat  <derodat@adacore.com>

	* doc/share/conf.py: Remove spurious call to ".decode()".

2022-01-31  Arnaud Charlet  <charlet@adacore.com>

	PR ada/104027
	* gnat1drv.adb (Gnat1drv): Only call Exit_Program when not
	generating code, otherwise instead go to End_Of_Program.

2022-01-28  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/104258
	* exp_ch4.adb (Narrow_Large_Operation): Also copy the entity, if
	any, when rewriting the operator node.

2022-01-19  H.J. Lu  <hjl.tools@gmail.com>

	PR ada/103538
	* gcc-interface/Makefile.in (target_cpu): Set to x32 for
	x86_64-linux-gnux32.

2022-01-19  H.J. Lu  <hjl.tools@gmail.com>

	PR ada/103538
	* Makefile.rtl (LIBGNAT_TARGET_PAIRS): Add
	$(TRASYM_DWARF_UNIX_PAIRS),
	s-tsmona.adb<libgnat/s-tsmona__linux.adb,
	$(GNATRTL_128BIT_PAIRS).
	(EXTRA_GNATRTL_NONTASKING_OBJS): Add $(TRASYM_DWARF_UNIX_OBJS)
	and $(GNATRTL_128BIT_OBJS).

2022-01-18  Martin Liska  <mliska@suse.cz>

	* adaint.c: Revert filename changes in comments.
	* ctrl_c.c (dummy_handler): Likewise.
	* gsocket.h: Likewise.
	* init.c (__gnat_error_handler): Likewise.
	* libgnarl/s-intman.ads: Likewise.
	* libgnarl/s-osinte__android.ads: Likewise.
	* libgnarl/s-osinte__darwin.ads: Likewise.
	* libgnarl/s-osinte__hpux.ads: Likewise.
	* libgnarl/s-osinte__linux.ads: Likewise.
	* libgnarl/s-osinte__qnx.ads: Likewise.
	* libgnarl/s-taskin.ads: Likewise.
	* rtfinal.c: Likewise.

2022-01-18  Martin Liska  <mliska@suse.cz>

	* Make-generated.in: Revert renaming changes.
	* Makefile.rtl: Likewise.
	* adadecode.cc: Moved to...
	* adadecode.c: ...here.
	* affinity.cc: Moved to...
	* affinity.c: ...here.
	* argv-lynxos178-raven-cert.cc: Moved to...
	* argv-lynxos178-raven-cert.c: ...here.
	* argv.cc: Moved to...
	* argv.c: ...here.
	* aux-io.cc: Moved to...
	* aux-io.c: ...here.
	* cio.cc: Moved to...
	* cio.c: ...here.
	* cstreams.cc: Moved to...
	* cstreams.c: ...here.
	* env.cc: Moved to...
	* env.c: ...here.
	* exit.cc: Moved to...
	* exit.c: ...here.
	* expect.cc: Moved to...
	* expect.c: ...here.
	* final.cc: Moved to...
	* final.c: ...here.
	* gcc-interface/Makefile.in:
	* init.cc: Moved to...
	* init.c: ...here.
	* initialize.cc: Moved to...
	* initialize.c: ...here.
	* libgnarl/thread.cc: Moved to...
	* libgnarl/thread.c: ...here.
	* link.cc: Moved to...
	* link.c: ...here.
	* locales.cc: Moved to...
	* locales.c: ...here.
	* mkdir.cc: Moved to...
	* mkdir.c: ...here.
	* raise.cc: Moved to...
	* raise.c: ...here.
	* rtfinal.cc: Moved to...
	* rtfinal.c: ...here.
	* rtinit.cc: Moved to...
	* rtinit.c: ...here.
	* s-oscons-tmplt.c (CND): Revert renaming changes.
	* seh_init.cc: Moved to...
	* seh_init.c: ...here.
	* sigtramp-armdroid.cc: Moved to...
	* sigtramp-armdroid.c: ...here.
	* sigtramp-ios.cc: Moved to...
	* sigtramp-ios.c: ...here.
	* sigtramp-qnx.cc: Moved to...
	* sigtramp-qnx.c: ...here.
	* sigtramp-vxworks.cc: Moved to...
	* sigtramp-vxworks.c: ...here.
	* socket.cc: Moved to...
	* socket.c: ...here.
	* tracebak.cc: Moved to...
	* tracebak.c: ...here.
	* version.cc: Moved to...
	* version.c: ...here.
	* vx_stack_info.cc: Moved to...
	* vx_stack_info.c: ...here.

2022-01-17  Martin Liska  <mliska@suse.cz>

	* Makefile.rtl: Rename .c names to .cc.
	* gcc-interface/Make-lang.in: Likewise.
	* gcc-interface/Makefile.in: Likewise.

2022-01-17  Martin Liska  <mliska@suse.cz>

	* Make-generated.in: Rename .c names to .cc.
	* adaint.c: Likewise.
	* ctrl_c.c (dummy_handler): Likewise.
	* gcc-interface/Makefile.in: Likewise.
	* gcc-interface/config-lang.in: Likewise.
	* gcc-interface/decl.cc (concat_name): Likewise.
	(init_gnat_decl): Likewise.
	* gcc-interface/gigi.h (concat_name): Likewise.
	(init_gnat_utils): Likewise.
	(build_call_raise_range): Likewise.
	(gnat_mark_addressable): Likewise.
	(gnat_protect_expr): Likewise.
	(gnat_rewrite_reference): Likewise.
	* gcc-interface/lang-specs.h (ADA_DUMPS_OPTIONS): Likewise.
	* gcc-interface/utils.cc (GTY): Likewise.
	(add_deferred_type_context): Likewise.
	(init_gnat_utils): Likewise.
	* gcc-interface/utils2.cc (gnat_stable_expr_p): Likewise.
	(gnat_protect_expr): Likewise.
	(gnat_stabilize_reference_1): Likewise.
	(gnat_rewrite_reference): Likewise.
	* gsocket.h: Likewise.
	* init.cc (__gnat_error_handler): Likewise.
	* libgnarl/s-intman.ads: Likewise.
	* libgnarl/s-osinte__android.ads: Likewise.
	* libgnarl/s-osinte__darwin.ads: Likewise.
	* libgnarl/s-osinte__hpux.ads: Likewise.
	* libgnarl/s-osinte__linux.ads: Likewise.
	* libgnarl/s-osinte__qnx.ads: Likewise.
	* libgnarl/s-taskin.ads: Likewise.
	* rtfinal.cc: Likewise.
	* s-oscons-tmplt.c (CND): Likewise.
	* set_targ.ads: Likewise.

2022-01-17  Martin Liska  <mliska@suse.cz>

	* adadecode.c: Moved to...
	* adadecode.cc: ...here.
	* affinity.c: Moved to...
	* affinity.cc: ...here.
	* argv-lynxos178-raven-cert.c: Moved to...
	* argv-lynxos178-raven-cert.cc: ...here.
	* argv.c: Moved to...
	* argv.cc: ...here.
	* aux-io.c: Moved to...
	* aux-io.cc: ...here.
	* cio.c: Moved to...
	* cio.cc: ...here.
	* cstreams.c: Moved to...
	* cstreams.cc: ...here.
	* env.c: Moved to...
	* env.cc: ...here.
	* exit.c: Moved to...
	* exit.cc: ...here.
	* expect.c: Moved to...
	* expect.cc: ...here.
	* final.c: Moved to...
	* final.cc: ...here.
	* gcc-interface/cuintp.c: Moved to...
	* gcc-interface/cuintp.cc: ...here.
	* gcc-interface/decl.c: Moved to...
	* gcc-interface/decl.cc: ...here.
	* gcc-interface/misc.c: Moved to...
	* gcc-interface/misc.cc: ...here.
	* gcc-interface/targtyps.c: Moved to...
	* gcc-interface/targtyps.cc: ...here.
	* gcc-interface/trans.c: Moved to...
	* gcc-interface/trans.cc: ...here.
	* gcc-interface/utils.c: Moved to...
	* gcc-interface/utils.cc: ...here.
	* gcc-interface/utils2.c: Moved to...
	* gcc-interface/utils2.cc: ...here.
	* init.c: Moved to...
	* init.cc: ...here.
	* initialize.c: Moved to...
	* initialize.cc: ...here.
	* libgnarl/thread.c: Moved to...
	* libgnarl/thread.cc: ...here.
	* link.c: Moved to...
	* link.cc: ...here.
	* locales.c: Moved to...
	* locales.cc: ...here.
	* mkdir.c: Moved to...
	* mkdir.cc: ...here.
	* raise.c: Moved to...
	* raise.cc: ...here.
	* rtfinal.c: Moved to...
	* rtfinal.cc: ...here.
	* rtinit.c: Moved to...
	* rtinit.cc: ...here.
	* seh_init.c: Moved to...
	* seh_init.cc: ...here.
	* sigtramp-armdroid.c: Moved to...
	* sigtramp-armdroid.cc: ...here.
	* sigtramp-ios.c: Moved to...
	* sigtramp-ios.cc: ...here.
	* sigtramp-qnx.c: Moved to...
	* sigtramp-qnx.cc: ...here.
	* sigtramp-vxworks.c: Moved to...
	* sigtramp-vxworks.cc: ...here.
	* socket.c: Moved to...
	* socket.cc: ...here.
	* tracebak.c: Moved to...
	* tracebak.cc: ...here.
	* version.c: Moved to...
	* version.cc: ...here.
	* vx_stack_info.c: Moved to...
	* vx_stack_info.cc: ...here.

2022-01-14  Andrew Pinski  <apinski@marvell.com>

	PR ada/104027
	* gnat1drv.adb (Gnat1drv): After Back_End.Gen_Or_Update_Object_File
	goto End_Of_Program.

2022-01-11  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Relax a
	little the assertion on designated types of pointer types.

2022-01-11  Justin Squirek  <squirek@adacore.com>

	* sem_ch8.adb (Nvis_Messages): Add generic instance name to
	error message.

2022-01-11  Etienne Servais  <servais@adacore.com>

	* par-ch6.adb (Scan_Body_Or_Expression_Function): Accept left
	bracket as token to open an expression function.

2022-01-11  Justin Squirek  <squirek@adacore.com>

	* sem_warn.adb (Check_References): Add call to Has_Task instead
	of checking component type.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* exp_util.ads (Insert_Declaration): Remove spec.
	* exp_util.adb (Insert_Declaration): Remove body.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch4.adb (Expand_N_Expression_With_Actions): Avoid
	redundant check.
	* exp_ch5.adb (Expand_N_If_Statement): Likewise.
	* exp_ch7.adb (Process_Declarations): Likewise.
	* sem_elab.adb (Freeze_Node_Location): Likewise.
	* exp_util.adb (Insert_Actions): Likewise.
	(Is_OK_PF_Pragma): Likewise.
	(Requires_Cleanup_Actions): Remove early exit; ordinary
	processing path will similarly do nothing.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* snames.ads-tmpl: Restore Name_Rpc.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch4.adb (Analyze_Allocator): Move DECLARE block inside IF
	statement; refill code and comments.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch4.adb (Analyze_Allocator): Fix comment.
	* sem_eval.ads (Compile-Time Known Values): Likewise.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* snames.ads-tmpl: Remove unreferenced names.

2022-01-11  Yannick Moy  <moy@adacore.com>

	* libgnat/s-aridou.adb (Double_Divide): Adjust proof of lemma
	Prove_Signs, call lemma for commutation of Big and
	multiplication.
	(Multiply_With_Ovflo_Check): Adjust postcondition of
	Prove_Pos_Int.
	(Scaled_Divide): Explicit commutation in the proof of lemma
	Prove_Multiplication, add new lemma Prove_Shift_Progress for
	congruence property that is not proved in a larger context, add
	assertions at the end of the loop to state loop invariant
	properties.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Remove spec.
	* sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Remove body.

2022-01-11  Yannick Moy  <moy@adacore.com>

	* libgnat/a-strfix.adb (Insert, Overwrite): Add assertions.

2022-01-11  Arnaud Charlet  <charlet@adacore.com>

	PR ada/79724
	* osint.adb (Program_Name): Fix handling of suffixes.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch4.adb (Size_In_Storage_Elements): Remove unnecessary
	DECLARE block; refill code and comments.

2022-01-11  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch3.adb (Analyze_Subtype_Declaration): In the case of an array
	copy Packed_Array_Impl_Type manually here.
	(Copy_Array_Subtype_Attributes): Do not copy it here.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch7.adb (Set_Block_Elab_Proc, Unnest_Block, Unnest_Loop,
	Unnest_Statement_List): Simplify with Make_Temporary.
	* exp_put_image.adb (Build_Image_Call): Likewise.
	* inline.adb (Generate_Subprogram_Body): Likewise.
	* sem_ch13.adb (Build_Predicate_Functions): Likewise.
	* sem_util.adb (New_Copy_Separate_List): Likewise.

2022-01-11  Etienne Servais  <servais@adacore.com>

	* sem_ch3.adb (Check_Dynamic_Object): Swap check order.

2022-01-11  Yannick Moy  <moy@adacore.com>

	* libgnat/s-casuti.adb: Add ghost code.
	* libgnat/s-casuti.ads: Add contracts.

2022-01-11  Claire Dross  <dross@adacore.com>

	* libgnat/a-tiinau.ads: Use a procedure for the Scan parameter
	instead of a function with side-effects.
	* libgnat/a-tiinau.adb: Idem.
	* libgnat/a-wtinau.ads: Idem.
	* libgnat/a-wtinau.adb: Idem.
	* libgnat/a-ztinau.ads: Idem.
	* libgnat/a-ztinau.adb: Idem.
	* libgnat/s-valint.ads: Change the function with side-effects
	Scan_Integer into a procedure
	* libgnat/s-vallli.ads: Idem.
	* libgnat/s-valllli.ads: Idem.
	* libgnat/s-vallllu.ads: Add SPARK_Mode and pragma to ignore
	assertions in instance.
	* libgnat/s-valllu.ads: Idem.
	* libgnat/s-valuns.ads: Idem.
	* libgnat/s-valuei.ads: Use a procedure for the
	Scan_Raw_Unsigned parameter instead of a function with
	side-effects and change the function with side-effects
	Scan_Integer into a procedure.
	* libgnat/s-valuei.adb: Idem.
	* libgnat/s-valuti.ads: Introduce a ghost function that scans an
	exponent and complete the postcondition of Scan_Exponent to also
	describe the value of Ptr after the call. Fix the postcondition
	of Scan_Underscore. Simplify the definition of
	Scan_Natural_Ghost.
	* libgnat/s-valuti.adb: Idem.
	* libgnat/s-valboo.ads, libgnat/s-valboo.adb: Update calls to
	First_Non_Space_Ghost.
	* libgnat/s-valueu.ads: Add functional contracts.
	* libgnat/s-valueu.adb: Idem.

2022-01-11  Yannick Moy  <moy@adacore.com>

	* libgnat/s-expmod.adb (Exp_Modular): Add assertions.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* errout.adb (Error_Msg_CRT): Build message with string
	concatenation; it is slightly repetitive but much easier to
	read.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch11.adb (Expand_N_Exception_Declaration): Remove explicit
	initialization of the exceptF object.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* par-ch3.adb (P_Array_Type_Definition): Use
	Error_Msg_GNAT_Extension.

2022-01-11  Gary Dismukes  <dismukes@adacore.com>

	* sem_disp.adb (Check_Controlling_Type): Add test for the case
	where Subp is a subprogram associated with a protected
	subprogram and return Empty, unless Tagged_Type is the
	corresponding record type of the protected type.

2022-01-11  Yannick Moy  <moy@adacore.com>

	* libgnat/s-veboop.adb: Add ghost code for proof.
	* libgnat/s-veboop.ads: Add specification.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* exp_aggr.adb, exp_attr.adb, exp_ch3.adb, exp_ch7.adb,
	exp_dist.adb, exp_util.adb, freeze.adb, frontend.adb,
	inline.adb, itypes.adb, lib-load.adb, lib-xref.adb,
	libgnat/a-cfhase.adb, libgnat/a-cforse.adb,
	libgnat/a-chtgbo.adb, libgnat/a-crdlli.adb,
	libgnat/a-except.adb, libgnat/a-strfix.adb,
	libgnat/a-textio.adb, libgnat/a-tienau.adb,
	libgnat/a-tigeau.adb, libgnat/a-witeio.adb,
	libgnat/a-wtenau.adb, libgnat/a-wtgeau.adb,
	libgnat/a-ztenau.adb, libgnat/a-ztexio.adb,
	libgnat/a-ztgeau.adb, libgnat/g-comlin.adb,
	libgnat/g-debpoo.adb, libgnat/g-expect.adb,
	libgnat/s-fileio.adb, libgnat/s-memory.adb, libgnat/s-mmap.adb,
	libgnat/s-objrea.adb, libgnat/s-pehage.adb,
	libgnat/s-regpat.adb, libgnat/s-shasto.adb,
	libgnat/s-valued.adb, libgnat/s-valuef.adb, par-ch11.adb,
	par-ch4.adb, par-ch6.adb, par-ch9.adb, par_sco.adb,
	repinfo-input.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb,
	sem_ch13.adb, sem_ch4.adb, sem_eval.adb, sem_prag.adb,
	sem_res.adb, sem_util.adb, sinput.adb, switch-c.adb: Fix style.

2022-01-11  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch9.adb, gen_il-types.ads, make.adb, par-ch12.adb,
	sem_ch13.adb: Use membership tests.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* erroutc.ads, erroutc.adb (Is_Runtime_Raise): Global flag to
	connect status of initial messages and their continuation; we
	already have several flags like this.
	(Error_Msg_Object): Add field Warn_Runtime_Raise to connect
	error reporting (when problematic code is found) and removal
	(when problematic code is determined to be dead).
	* errout.adb (Error_Msg_Internal): Handle new field when
	recording a continuation message; propagate status from
	continuation to the preceding messages.
	(To_Be_Removed): For dead code remove both simple warnings and
	warnings about constraint errors that have been escalated to
	hard errors.
	(Set_Msg_Text): Recognize warnings about constraint errors that
	are escalated to hard errors.
	* errutil.adb (Error_Msg): Handle added field when recording a
	new message.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* errout.adb (Error_Msg_Internal): Propagate warnings-as-error
	flag from continuation message to its preceding messages.

2022-01-11  Arnaud Charlet  <charlet@adacore.com>

	* gnatvsn.ads (Current_Year): Update copyright notice, bump to
	2022.
	* ada_get_targ.adb: Update copyright notice.
	* 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.
	* backend_utils.adb: Likewise.
	* backend_utils.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.
	* 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.
	* cstand.adb: Likewise.
	* cstand.ads: Likewise.
	* cstreams.c: Likewise.
	* ctrl_c.c: Likewise.
	* debug.ads: Likewise.
	* debug_a.adb: Likewise.
	* debug_a.ads: Likewise.
	* einfo-utils.adb: Likewise.
	* einfo-utils.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.
	* gen_il-fields.ads: Likewise.
	* gen_il-gen-gen_entities.adb: Likewise.
	* gen_il-gen-gen_nodes.adb: Likewise.
	* gen_il-gen.adb: Likewise.
	* gen_il-gen.ads: Likewise.
	* gen_il-internals.adb: Likewise.
	* gen_il-internals.ads: Likewise.
	* gen_il-main.adb: Likewise.
	* gen_il-types.ads: Likewise.
	* gen_il.adb: Likewise.
	* gen_il.ads: Likewise.
	* get_scos.adb: Likewise.
	* get_scos.ads: Likewise.
	* get_targ.adb: Likewise.
	* get_targ.ads: Likewise.
	* ghost.adb: Likewise.
	* ghost.ads: Likewise.
	* gnat1drv.adb: Likewise.
	* gnat1drv.ads: Likewise.
	* 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.
	* 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__hwint.adb: Likewise.
	* libgnarl/s-inmaop__posix.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__rtems.adb: Likewise.
	* libgnarl/s-intman__rtems.ads: 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-putaim.adb: Likewise.
	* libgnarl/s-putaim.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__rtems.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__rtp-smp.adb: Likewise.
	* libgnarl/s-vxwext__rtp.adb: Likewise.
	* libgnarl/s-vxwext__rtp.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-costso.adb: Likewise.
	* libgnat/a-costso.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-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-nbnbig.adb: 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-stbubo.adb: Likewise.
	* libgnat/a-stbubo.ads: Likewise.
	* libgnat/a-stbufi.adb: Likewise.
	* libgnat/a-stbufi.ads: Likewise.
	* libgnat/a-stbufo.adb: Likewise.
	* libgnat/a-stbufo.ads: Likewise.
	* libgnat/a-stbuun.adb: Likewise.
	* libgnat/a-stbuut.adb: Likewise.
	* libgnat/a-stbuut.ads: Likewise.
	* libgnat/a-stmaco.ads: Likewise.
	* libgnat/a-storio.adb: Likewise.
	* libgnat/a-strbou.adb: Likewise.
	* libgnat/a-strbou.ads: Likewise.
	* libgnat/a-stream.adb: Likewise.
	* libgnat/a-stream.ads: Likewise.
	* libgnat/a-strfix.adb: Likewise.
	* libgnat/a-strhas.adb: Likewise.
	* libgnat/a-strmap.adb: Likewise.
	* libgnat/a-strmap.ads: Likewise.
	* libgnat/a-strsea.adb: Likewise.
	* libgnat/a-strsea.ads: Likewise.
	* libgnat/a-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-sttebu.adb: 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.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-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-dorepr.adb: Likewise.
	* libgnat/s-dorepr__fma.adb: Likewise.
	* libgnat/s-dourea.adb: Likewise.
	* libgnat/s-dourea.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-exnflt.ads: Likewise.
	* libgnat/s-exnint.adb: Likewise.
	* libgnat/s-exnint.ads: Likewise.
	* libgnat/s-exnlfl.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-exponr.adb: Likewise.
	* libgnat/s-exponr.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-imagen.adb: Likewise.
	* libgnat/s-imagen.ads: Likewise.
	* libgnat/s-imager.adb: Likewise.
	* libgnat/s-imager.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-imen16.ads: Likewise.
	* libgnat/s-imen32.ads: Likewise.
	* libgnat/s-imenu8.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-imgflt.ads: Likewise.
	* libgnat/s-imgint.adb: Likewise.
	* libgnat/s-imgint.ads: Likewise.
	* libgnat/s-imglfl.ads: Likewise.
	* libgnat/s-imgllb.adb: Likewise.
	* libgnat/s-imgllb.ads: Likewise.
	* libgnat/s-imgllf.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__x32.adb: 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__hpux.ads: Likewise.
	* libgnat/s-parame__posix2008.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-pehage.adb: Likewise.
	* libgnat/s-pehage.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-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-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__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-ststop.adb: Likewise.
	* libgnat/s-ststop.ads: Likewise.
	* libgnat/s-tasloc.adb: Likewise.
	* libgnat/s-tasloc.ads: 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-vaen16.ads: Likewise.
	* libgnat/s-vaen32.ads: Likewise.
	* libgnat/s-vaenu8.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-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-valuen.adb: Likewise.
	* libgnat/s-valuen.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-ppc-kernel.ads: Likewise.
	* libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks-ppc-rtp.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-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-target.h: Likewise.
	* sigtramp-vxworks.c: Likewise.
	* sigtramp.h: Likewise.
	* sinfo-cn.adb: Likewise.
	* sinfo-cn.ads: Likewise.
	* sinfo-utils.adb: Likewise.
	* sinfo-utils.ads: Likewise.
	* sinfo.adb: Likewise.
	* sinfo.ads: Likewise.
	* sinput-c.adb: Likewise.
	* sinput-c.ads: Likewise.
	* sinput-d.adb: Likewise.
	* sinput-d.ads: Likewise.
	* sinput-l.adb: Likewise.
	* sinput-l.ads: Likewise.
	* sinput.adb: Likewise.
	* sinput.ads: Likewise.
	* socket.c: Likewise.
	* spark_xrefs.adb: Likewise.
	* spark_xrefs.ads: Likewise.
	* sprint.adb: Likewise.
	* sprint.ads: Likewise.
	* stand.ads: Likewise.
	* stringt.adb: Likewise.
	* stringt.ads: Likewise.
	* stringt.h: Likewise.
	* strub.adb: Likewise.
	* strub.ads: 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.
	* xoscons.adb: Likewise.
	* xr_tabls.adb: Likewise.
	* xr_tabls.ads: Likewise.
	* xref_lib.adb: Likewise.
	* xref_lib.ads: Likewise.
	* xsnamest.adb: Likewise.
	* xutil.adb: Likewise.
	* xutil.ads: Likewise.

2022-01-11  Richard Kenner  <kenner@adacore.com>

	* debug.adb: Add documentation for new -gnatd_u and old -gnatd_R
	flags used for GNAT LLVM and its CCG.

2022-01-11  Piotr Trojanek  <trojanek@adacore.com>

	* Makefile.rtl (X86_TARGET_PAIRS): Use __builtin variant of
	System.Atomic_Counters.
	* libgnat/s-atocou__x86.adb: Remove.

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

	* gcc-interface/trans.c (Identifier_to_gnu): Use correct subtype.
	(elaborate_profile): New function.
	(Call_to_gnu): Call it on the formals and the result type before
	retrieving the translated result type from the subprogram type.

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

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Fix
	computation of boolean result in the unchecked union case.
	(components_to_record): Rename MAYBE_UNUSED parameter to IN_VARIANT
	and remove local variable of the same name.  Pass NULL recursively
	as P_GNU_REP_LIST for nested variants in the unchecked union case.

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

	* gcc-interface/trans.c (lvalue_required_p) <N_Pragma>: New case.
	<N_Pragma_Argument_Association>: Likewise.
	(Pragma_to_gnu) <Pragma_Inspection_Point>: Fetch the corresponding
	variable of a constant before marking it as addressable.

2022-01-10  Arnaud Charlet  <charlet@adacore.com>

	* gcc-interface/Make-lang.in (ADA_GENERATED_FILES): Remove
	s-casuti.ad?, s-crtl.ad?, s-os_lib.ad?.  Update list of object
	files accordingly.

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

	* libgnat/s-atopri.ads (Atomic_Compare_Exchange): Replaces
	deprecated Sync_Compare_And_Swap.
	* libgnat/s-atopri.adb (Lock_Free_Try_Write): Switch from __sync
	to __atomic builtins.

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

	* libgnat/s-exponn.adb, libgnat/s-expont.adb,
	libgnat/s-exponu.adb, libgnat/s-widthi.adb,
	libgnat/s-widthu.adb: Remove CodePeer annotations for pragma
	Loop_Variant.

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

	* exp_prag.adb (Expand_Pragma_Loop_Variant): Disable expansion
	in CodePeer mode.

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

	* sem_util.adb (Is_Child_Or_Sibling): Fix typo in comment.

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

	* exp_pakd.adb (Install_PAT): If the PAT is a scalar type, apply
	the canonical adjustment to its alignment.

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

	* libgnat/s-atocou__builtin.adb (Decrement, Increment): Switch
	from __sync to __atomic builtins; use 'Address to be consistent
	with System.Atomic_Primitives.

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

	* exp_pakd.adb (Install_PAT): Do not reset the alignment here.
	* layout.adb (Layout_Type): Call Adjust_Esize_Alignment after having
	copied the RM_Size onto the Esize when the latter is too small.

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

	* sem_warn.adb (Check_References): Handle arrays of tasks
	similar to task objects.

2022-01-07  Patrick Bernardi  <bernardi@adacore.com>

	* libgnat/a-direct.adb (Search_Data): Remove type.
	(Directory_Vectors): New package instantiation.
	(Search_State): New type.
	(Fetch_Next_Entry): Remove.
	(Close): Remove.
	(Finalize): Rewritten.
	(Full_Name): Ditto.
	(Get_Next_Entry): Return next entry from Search results vector
	rather than querying the directory directly using readdir.
	(Kind): Rewritten.
	(Modification_Time): Rewritten.
	(More_Entries): Use Search state cursor to determine if more
	entries are available for users to read.
	(Simple_Name): Rewritten.
	(Size): Rewritten.
	(Start_Search_Internal): Rewritten to load the contents of the
	directory that matches the pattern and filter into the search
	object.
	* libgnat/a-direct.ads (Search_Type): New type.
	(Search_Ptr): Ditto.
	(Directory_Entry_Type): Rewritten to support new Start_Search
	procedure.
	* libgnat/s-filatt.ads (File_Length_Attr): New function.

2022-01-07  Etienne Servais  <servais@adacore.com>

	* sem_attr.adb (Check_Reference): Fix condition.

2022-01-07  Ghjuvan Lacambre  <lacambre@adacore.com>

	* libgnarl/s-taprop__mingw.adb (Timed_Sleep): Remove "pragma
	Unreferenced" for Result.
	(Timed_Delay): Likewise.

2022-01-07  Piotr Trojanek  <trojanek@adacore.com>

	* gen_il-gen.adb (Put_Make_Decls): Put pragma Inline in a
	dedicated line, so that the current indentation is taken into
	account.

2022-01-07  Piotr Trojanek  <trojanek@adacore.com>

	* exp_aggr.adb (Build_Array_Aggr_Code): Fix inconsistent style
	in comments and code.

2022-01-07  Piotr Trojanek  <trojanek@adacore.com>

	* exp_aggr.adb (Gen_Assign): Remove explicit initialization for
	components of access types.
	(Get_Assoc_Expr): Enable initialization for components of all
	types that require simple initialization.

2022-01-07  Javier Miranda  <miranda@adacore.com>

	* atree.ads (Traverse_Func_With_Parent): New generic subprogram.
	(Traverse_Proc_With_Parent): Likewise.
	* atree.adb (Parents_Stack): New table used to traverse trees
	passing the parent field of each node.
	(Internal_Traverse_With_Parent): New generic subprogram.
	(Traverse_Func_With_Parent): Likewise.
	(Traverse_Proc_With_Parent): Likewise.
	* contracts.adb (Fix_Parents): New subprogram.
	(Restore_Original_Selected_Component): Enhanced to fix the
	parent field of restored nodes.
	(Inherit_Condition): Adding assertions to check the parent field
	of inherited conditions and to ensure that the built inherited
	condition has no reference to the formals of the parent
	subprogram.
	* sem_util.ads, sem_util.adb (Check_Parents): New subprogram.

2022-01-07  Etienne Servais  <servais@adacore.com>

	* sem_attr.adb (Check_Placement_In_Test_Case): Fix typo.

2022-01-07  Justin Squirek  <squirek@adacore.com>

	* comperr.adb (Delete_SCIL_Files): Replace unnecessary
	Unreferenced pragma with specific pragma Warnings.
	* doc/gnat_rm/implementation_defined_pragmas.rst (Unreferenced):
	Add documentation for new behavior.
	* gnat_rm.texi: Regenerate.
	* erroutc.adb (Set_At): Remove useless assignment.
	* exp_ch2.adb (In_Assignment_Context): Deleted.
	(Is_Object_Renaming_Name): Replace calls to Is_LHS with calls to
	Known_To_Be_Assigned.
	(Expand_Current_Value): Replace calls to May_Be_Lvalue with
	calls to Known_To_Be_Assigned.
	(Expand_Entry_Paramter): Replace calls to In_Assignment_Context
	with calls to Known_To_Be_Assigned.
	* exp_ch4.adb (Expand_N_Op_Rem): Remove unnecessary Unreferenced
	pragma.
	* exp_imgv.adb (Build_Enumeration_Image_Tables): Default
	initialize S_N.
	* ghost.adb (Check_Ghost_Policy): Replace call to May_Be_Lvalue
	with call to Known_To_Be_Assigned.
	* lib-xref.adb (Is_On_LHS): Deleted.
	(OK_To_Set_Referenced): Rewrite subprogram to encompass the new
	pragma Unreferenced behavior.
	(Process_Deferred_References): Replace call to Is_LHS with call
	to Known_To_Be_Assigned.
	* libgnarl/s-taasde.adb, libgnarl/s-tasren.adb,
	libgnarl/s-tpobop.adb, libgnat/a-calend.adb,
	libgnat/a-calfor.adb, 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-cdlili.adb,
	libgnat/a-cfhama.adb, libgnat/a-cforse.adb,
	libgnat/a-cidlli.adb, libgnat/a-cihama.adb,
	libgnat/a-cihase.adb, libgnat/a-cimutr.adb,
	libgnat/a-ciorma.adb, libgnat/a-ciormu.adb,
	libgnat/a-ciorse.adb, libgnat/a-cohama.adb,
	libgnat/a-cohase.adb, libgnat/a-comutr.adb,
	libgnat/a-convec.adb, libgnat/a-coorma.adb,
	libgnat/a-coormu.adb, libgnat/a-coorse.adb,
	libgnat/a-crdlli.adb, libgnat/a-tigeau.adb,
	libgnat/a-wtgeau.adb, libgnat/a-ztgeau.adb,
	libgnat/g-calend.adb, libgnat/g-comlin.adb,
	libgnat/g-expect.adb, libgnat/g-mbflra.adb,
	libgnat/g-spipat.adb, libgnat/s-fatgen.adb,
	libgnat/s-fileio.adb, libgnat/s-os_lib.adb,
	libgnat/s-regpat.adb, libgnat/s-valued.adb,
	libgnat/s-valuer.adb: Remove unnecessary Unreferenced pragmas
	* sem_ch10.adb (Process_Spec_Clauses): Remove useless
	assignments.
	* sem_ch13.adb (Validate_Literal_Aspect): Default initialize I.
	* sem_ch3.adb (Build_Derived_Concurrent_Type): Default
	initialize Corr_Decl.
	* sem_ch8.adb (Undefined): Replace calls to Is_LHS with calls to
	Known_To_Be_Assigned.
	(In_Abstract_View_Pragma): Likewise.
	* sem_eval.adb (Eval_Selected_Component): Replace calls to
	Is_LHS with calls to Known_To_Be_Assigned.
	* sem_res.adb (Init_Component): Replace calls to May_Be_Lvalue
	with calls to Known_To_Be_Assigned.
	* sem_util.adb, sem_util.ads (End_Label_Loc): Default initialize
	Owner.
	(Explain_Limited_Type): Default initialize Expr_Func.
	(Find_Actual): Modified to handle entry families.
	(Is_LHS): Deleted.
	(May_Be_Lvalue): Deleted.
	(Known_To_Be_Assigned): Modified and improved to handle all
	cases.
	* sem_warn.adb (Traverse_Result): Replace calls to May_Be_Lvalue
	with calls to Known_To_Be_Assigned.
	(Check_Ref): Modify error on unreferenced out parameters to take
	into account different warning flags.

2022-01-07  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Reorder_Interfaces): When the conflicting
	interface is identified we just replace the interface in the
	list of interfaces of the tagged type (instead of adding a
	duplicate to the list of interfaces).

2022-01-07  Dmitriy Anisimkov  <anisimko@adacore.com>

	* adaint.c (__gnat_kill): Terminate process only in case of
	SIGKILL, SIGINT, SIGBREAK, SIGTERM, SIGABRT.  Do not call
	OpenProcess if not going to terminate process.

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

	* exp_prag.adb (Expand_Pragma_Inspection_Point): Do a single pass
	over the arguments of the pragma.  Set the Address_Taken flag on
	them and use the Has_Delayed_Freeze flag to spot those which have
	their elaboration delayed.  Reuse the location variable Loc.

2022-01-07  Piotr Trojanek  <trojanek@adacore.com>

	* osint.adb (To_Lower): Clarify that only To_Lower function
	causes bootstrap issues; fix style.
	* treepr.adb (Print_Str_Mixed_Case): Reuse existing case
	conversion routine.
	(To_Mixed): Rename from Capitalize; reuse System.Case_Util
	procedure and explain the bootstrap issue.

2022-01-07  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch7.adb (Process_Transients_In_Scope): Remove unnecessary
	initialization of Must_Hook; change Detect_Subprogram_Call from
	function to procedure; adapt caller.

2022-01-07  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch5.adb, exp_disp.adb, exp_util.adb, par-ch4.adb,
	sem_ch13.adb: Remove extra space before THEN that occurs at the
	end of a line.

2022-01-07  Dmitriy Anisimkov  <anisimko@adacore.com>

	* expect.c (__gnat_waitpid): Use macros WIFEXITED, WEXITSTATUS,
	WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG to get exit status
	or signal that caused the child process to terminate/stop.  Do
	not process exit status in case of error in waitpid call.
	* adaint.c (__gnat_kill): Use of GenerateConsoleCtrlEvent is
	removed in Windows variant as it actually is not working and was
	terminating the calling process.  Set signal number into exit
	code parameter of TerminateProcess to work the same like in
	Linux.

2022-01-07  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch5.adb (Expand_N_Case_Statement): Remove explicit
	expansion.

2022-01-07  Etienne Servais  <servais@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
	Update -gnatwr documentation.
	* gnat_ugn.texi: Regenerate.

2022-01-07  Piotr Trojanek  <trojanek@adacore.com>

	* exp_unst.adb (Unnest_Subprogram): Sync comment with the
	current code.

2022-01-07  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch4.adb (Raise_Accessibility_Error): Move exception name
	to the message string; move << control characters to the end,
	for consistency.
	* sem_ch6.adb (Analyze_Function_Return): Likewise.
	* sem_util.adb (Compile_Time_Constraint_Error): Likewise.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Remove quotes
	around Storage_Error.
	* gcc-interface/trans.c (gnat_to_gnu): Remove quotes around
	Constraint_Error.

2022-01-07  Piotr Trojanek  <trojanek@adacore.com>

	* errout.adb (Error_Msg): Move warning suppression code from
	Error_Msg_NLE
	(Error_Msg_NLE): Warning suppression is now done by the internal
	call to Error_Msg.

2022-01-07  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Remove unnecessary
	guards.
	* exp_ch4.adb (Expand_N_If_Expression): Likewise; clarify comment.
	* exp_ch5.adb (Expand_N_If_Statement,
	Expand_Iterator_Loop_Over_Container): Likewise.
	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Remove redundant
	guard.
	* freeze.adb (Freeze_All_Ent): Reduce scope of a local variable.

2022-01-07  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.adb (Build_Init_Procedure): Remove unnecessary guard.
	* exp_disp.adb (Make_DT): Likewise.
	* sem_ch12.adb (Analyze_Associations): Likewise.

2022-01-07  Etienne Servais  <servais@adacore.com>

	* sem_res.adb (Resolve_Op_Concat_Arg): Check range when
	concatenating scalars.

2022-01-07  Bob Duff  <duff@adacore.com>

	* treepr.adb (Print_Node_Ref): Change "not Is_Array_Type" to
	"Is_Discrete_Type".

2022-01-07  Richard Kenner  <kenner@adacore.com>

	* libgnat/g-spipat.ads (Boolean_Func, Natural_Func,
	VString_Func): Mark as Favor_Top_Level.
	* sem_ch13.adb (Validate_Unchecked_Conversion): Avoid using
	internal representation if Unchecked_Conversion between
	an access to subprogram and System.Address within the same unit.

2022-01-07  Bob Duff  <duff@adacore.com>

	* treepr.adb (Print_Node_Ref): Print the value if available.

2022-01-07  Richard Kenner  <kenner@adacore.com>

	* sem_util.ads, sem_util.adb (Get_Fullest_View): Add option to
	not recurse and return the next-most-fullest view.

2022-01-07  Bob Duff  <duff@adacore.com>

	* sem_ch10.adb (Check_Redundant_Withs): Add a warning if a
	library unit with's its own ancestor. Note that this warning is
	not triggered for something like "with P.R;" in P.Q, because
	there the "with P;" is considered implicit.
	* fname-sf.adb, libgnarl/s-stusta.adb, libgnarl/s-tasdeb.ads,
	libgnat/a-calfor.adb, libgnat/a-tiboio.adb,
	libgnat/a-wwboio.adb, libgnat/a-zzboio.adb, libgnat/i-cobol.adb,
	libgnat/s-bitops.adb, libgnat/s-bitops.ads,
	libgnat/s-direio.adb, libgnat/s-dwalin.adb,
	libgnat/s-geveop.adb, libgnat/s-mmosin__unix.adb,
	libgnat/s-os_lib.adb, libgnat/s-os_lib.ads,
	libgnat/s-pooglo.ads, libgnat/s-secsta.adb,
	libgnat/s-shasto.adb, libgnat/s-stausa.ads,
	libgnat/s-stratt.ads, libgnat/s-ststop.adb: Remove with of
	parent.
	* sinfo.ads: Minor comment fix.

2022-01-07  Bob Duff  <duff@adacore.com>

	* osint-m.adb: Remove with_clause and pragma.

2022-01-06  Bob Duff  <duff@adacore.com>

	* sem_res.adb (Resolve_Range): Warn on null range, unless we are
	inside a generic unit or an instance thereof.
	* sem_ch3.adb (Analyze_Subtype_Indication): Minor: avoid double
	negative.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* errout.adb (Adjust_Name_Case): Remove unnecessary declare
	block.

2022-01-06  Yannick Moy  <moy@adacore.com>

	* libgnat/a-ngcoar.adb: Add pragma to ignore assertions in
	instance.
	* libgnat/a-ngrear.adb: Likewise.
	* libgnat/s-gearop.adb: Prove implementation is free of runtime
	errors.
	* libgnat/s-gearop.ads: Add contracts to protect against runtime
	errors in the generic part.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* errout.adb (Remove_Warning_Messages): Use traversal procedure
	instead of traversal function, since we discard status of each
	step anyway.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch4.adb (Expand_Concatenate): There is no reason for using
	declaring, raising and catching an exception; a simple return
	statement is enough.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* sem_eval.adb (Eval_Arithmetic_Op): Add Loc parameter to all
	calls to Apply_Compile_Time_Constraint_Error related to division
	by zero.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* errout.adb (Remove_Warning_Messages): Remove unnecessary guard.
	* exp_util.adb (Kill_Dead_Code): Likewise.
	* par_sco.adb (Traverse_Declarations_Or_Statements): Likewise.
	* sem_ch3.adb (Build_Derived_Record_Type): Likewise.
	* sem_ch4.adb (Traverse_Interfaces): Likewise.
	* sem_eval.adb (Traverse_Interfaces): Likewise.
	* sem_util.adb (Collect_Interfaces): Likewise.
	(Has_Non_Null_Statements, Side_Effect_Free_Statements):
	Likewise; turn into WHILE loops, for consistency.

2022-01-06  Etienne Servais  <servais@adacore.com>

	* sem_type.adb (Full_View_Covers): Fix typo.

2022-01-06  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch12.adb (Insert_Freeze_Node_For_Instance): When going to
	the outer level, do not jump over following instantiations in
	the list.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* err_vars.ads (Warn_On_Instance): Remove; it was a relic from
	the previous handling of warning in instances that was removed
	decades ago.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* errout.adb (Error_Msg_Internal): Reorder words.
	* erroutc.ads (Is_Warning_Msg): Add closing paren.
	* sem_util.adb (Compile_Time_Constraint_Error): Fix casing.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Resolve_String_Literal): Simplify pointer
	arithmetic.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* sem_res.adb (Resolve_String_Literal): Avoid unnecessary
	conversions inside "<" and ">" bodies.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* checks.adb (Null_Exclusion_Static_Checks,
	Selected_Range_Checks): Fix style.

2022-01-06  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch8.adb (Analyze_Package_Renaming): Do not check for Text_IO
	special units when the name of the renaming is a generic instance,
	which is the case for package instantiations in the GNAT model.

2022-01-06  Steve Baird  <baird@adacore.com>

	* sem_util.adb (Build_Discriminant_Reference): In the unexpected
	case where we previously would fail an assertion, we instead
	revert to the old behavior.

2022-01-06  Steve Baird  <baird@adacore.com>

	* sem_util.adb (Build_Actual_Subtype_Of_Component): Define a new
	local function, Build_Discriminant_Reference, and call it in
	each of the three cases where Make_Selected_Component was
	previously being called to construct a discriminant reference (2
	in Build_Actual_Array_Constraint and 1 in
	Build_Actual_Record_Constraint). Instead of unconditionally
	using the passed-in object name as the prefix for the new
	selected component node, this new function checks to see if
	perhaps a prefix of that name should be used instead.

2022-01-06  Etienne Servais  <servais@adacore.com>

	* atree.adb: Fix typo.
	* einfo.ads: Likewise.
	* exp_aggr.adb: Likewise.
	* exp_ch6.adb: Likewise.
	* exp_ch7.adb: Likewise.
	* exp_ch9.adb: Likewise.
	* exp_prag.adb: Likewise.
	* exp_unst.adb: Likewise.
	* exp_unst.ads: Likewise.
	* exp_util.adb: Likewise.
	* par-endh.adb: Likewise.
	* par.adb: Likewise.
	* restrict.adb: Likewise.
	* sem.ads: Likewise.
	* sem_ch4.adb: Likewise.
	* sem_ch5.adb: Likewise.
	* sem_ch6.adb: Likewise.
	* sem_ch8.adb: Likewise.
	* sem_ch12.adb: Likewise.
	* sem_ch13.adb: Likewise.
	* sem_dim.adb: Likewise.
	* sem_elab.adb: Likewise.
	* sem_prag.adb: Likewise.
	* sem_res.adb: Likewise.
	* sem_util.adb: Likewise.
	* sem_util.ads: Likewise.
	* sinfo.ads: Likewise.
	* sprint.adb: Likewise.
	* urealp.adb: Likewise.

2022-01-06  Justin Squirek  <squirek@adacore.com>

	* exp_ch3.adb (Build_Assignment): Replace current instance of
	type with Init_Proc formal.
	* sem_attr.adb (OK_Self_Reference): Handle recognition of
	Current_Instance to detect certain expansion.
	* sem_ch4.adb (Analyze_One_Call): Set actual's type when the
	actual in question is a current instance and its corresponding
	formal is an incomplete type.
	* sem_util.adb (Is_Current_Instance): Add check for incomplete
	views and add comment.

2022-01-06  Bob Duff  <duff@adacore.com>

	* libgnat/s-rident.ads (No_Tagged_Type_Registration): New
	restriction identifier.
	* restrict.ads (Implementation_Restriction): Add restriction.
	* exp_ch7.adb (Process_Declarations): Suppress
	tagged-type-related finalization actions if the restriction is
	active.  Call RTE_Available last.
	* exp_disp.adb (Make_DT): Likewise.
	* exp_util.adb (Requires_Cleanup_Actions): Return False for a
	tagged type declaration if No_Tagged_Type_Registration is
	active.
	* sem_attr.adb (Check_Stream_Attribute): Check restriction
	No_Tagged_Type_Registration.
	* libgnat/a-except.ads (Null_Occurrence): Minor: Initialize, to
	avoid stopping at a warning in gdb.
	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
	Document new restriction.
	* gnat_rm.texi: Regenerate.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* par-ch4.adb (P_Simple_Expression): Reuse Null_String_Id.
	* prep.adb (Parse_Def_File): Likewise; remove Empty_String.

2022-01-06  Eric Botcazou  <ebotcazou@adacore.com>

	* stand.ads (Any_Access): Delete.
	(Universal_Access): New entity.
	* einfo.ads: Remove obsolete reference to Any_Access.
	* gen_il-gen-gen_entities.adb: Likewise.
	* cstand.adb (Create_Standard): Do not create Any_Access and create
	Universal_Access as a full type instead.
	* errout.adb (Set_Msg_Insertion_Type_Reference): Do not deal with
	Any_Access and deal with Universal_Access instead.
	* sem_ch3.adb (Analyze_Object_Declaration): Replace Any_Access with
	Universal_Access.
	* sem_ch4.adb (Analyze_Null): Likewise.
	(Find_Non_Universal_Interpretations): Likewise.
	(Find_Equality_Types.Try_One_Interp): Likewise and avoid shadowing
	by renaming a local variable of the same name.
	* sem_res.adb (Make_Call_Into_Operato): Likewise.
	(Resolve_Equality_Op): Likewise.
	* sem_type.adb (Covers): Likewise.
	(Specific_Type): Likewise.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* treepr.adb (Destroy): Prevent spurious check from CodePeer.

2022-01-06  Yannick Moy  <moy@adacore.com>

	* libgnat/s-exponu.adb (Exponu): Add annotation.

2022-01-06  Justin Squirek  <squirek@adacore.com>

	* exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Add comments
	regarding special handling of components which depend on
	discriminants.
	* exp_dist.adb (Build_From_Any_Function): Add Real_Rep actual
	for calls to Has_Stream_Attribute_Definition.
	(Build_To_Any_Function): Likewise.
	(Build_TypeCode_Function): Likewise.
	* freeze.adb (Freeze_Entity): Add missing comment for Test_E.
	* libgnat/s-utf_32.adb: Remove disabled warning comments and
	temporarily inserted pragma warnings.  Remove very old (2006 and
	2012) comments about bootstrapping older versions.
	* par.adb (P_Identifier): Add new parameter Force_Msg.
	* par-ch2.adb (P_Identifier): Restructure and clean up function.
	* par-ch3.adb (P_Defining_Identifier): Remove code duplication
	for parsing identifiers.
	* sem_attr.adb (Stream_Attribute_Available): Add missing
	comments and add Real_Rep actual for calls to
	Has_Stream_Attribute_Definition.
	* sem_cat.adb (Has_Read_Write_Attribute): Add Real_Rep actual
	for calls to Has_Stream_Attribute_Definition.
	(Has_Stream_Attribute_Definition): Remove local Real_Rep and fix
	recursive calls. Add default value for Real_Rep.
	* sem_cat.ads (Has_Stream_Attribute_Definition): Add new out
	parameter "Real_Rep".
	* sem_type.adb (Add_Entry): Add condition to avoid passing
	non-function calls to Function_Interp_Has_Abstract_Op.
	(Function_Interp_Has_Abstract_Op): Add missing comments and
	remove check for Is_Overloadable.
	* sem_util.adb (Derivation_Too_Early_To_Inherit): Remove
	duplicated code.

2022-01-06  Javier Miranda  <miranda@adacore.com>

	* contracts.adb (Restore_Original_Selected_Component): New
	subprogram that traverses a preanalyzed expression searching for
	dispatching calls to functions whose original node was a
	selected component, and replacing them with their original node.
	This functionality is required because the preanalyis of
	dispatching calls using the Object.Operation notation transforms
	such calls, and we need the original condition to properly
	inherit and extend the condition expression on tagged type
	derivations.  This functionality was previously provided by the
	routine Install_Original_Selected_Component (as part of
	inheriting conditions); now it is performed as part of the
	preanalysis of the condition, thus avoiding repeatedly
	installing and restoring such nodes.
	(Install_Original_Selected_Component): Removed.
	(Restore_Dispatching_Calls): Removed.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* treepr.adb (Visit_Node): Simplify repeated call to
	Next_Entity.

2022-01-06  Piotr Trojanek  <trojanek@adacore.com>

	* treepr.ads (Treepr, Print_Tree_List, Print_Tree_Elist): Fix
	style in comments.
	* treepr.adb (Serial_Numbers): Hash table instance.
	(Hash): Hashing routine.
	(Print_Field): Fix style.
	(Print_Init): Adapt to simple hash table.
	(Print_Term): Likewise.
	(Serial_Numbers): Likewise.
	(Set_Serial_Number): Likewise.

2022-01-06  Yannick Moy  <moy@adacore.com>

	* libgnat/s-expmod.adb: Mark in SPARK. Add ghost code for proof.
	* libgnat/s-expmod.ads: Mark in SPARK. Add ghost specifications.

2022-01-06  Yannick Moy  <moy@adacore.com>

	* libgnat/s-explllu.ads: Mark in SPARK.
	* libgnat/s-expllu.ads: Mark in SPARK.
	* libgnat/s-exponu.adb: Add loop invariants and needed
	assertions.
	* libgnat/s-exponu.ads: Add functional contract.
	* libgnat/s-expuns.ads: Mark in SPARK.

2022-01-05  Steve Baird  <baird@adacore.com>

	* exp_ch5.adb (Finish_Binding_Object_Declaration): Fix a bug
	that was introduced in the previous commit.  The previous
	version initialized a Boolean constant Declare_Copy before the
	variable Decl had been initialized properly.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Adjust_External_Name_Case): Use membership test.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.adb (Make_Controlling_Function_Wrappers): For
	GNATprove build the wrapper as an expression function.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.ads (Make_Controlling_Function_Wrappers): Move
	declaration from body to spec, so it can be called by
	SPARK-specific expansion.
	* exp_ch3.adb (Make_Controlling_Function_Wrappers): Likewise.
	* exp_spark.adb (SPARK_Freeze_Type): Enable expansion of
	wrappers for function with controlling result types.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_dbug.adb, sem_dim.adb: Replace Add_Str_To_Name_Buffer with
	Add_Char_To_Name_Buffer.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* gnatls.adb (Gnatls): Use Name_Find function.
	* targparm.adb (Get_Target_Parameters): Likewise.

2022-01-05  Bob Duff  <duff@adacore.com>

	* repinfo.adb (List_Entities): The code was assuming that if we
	encounter a package in the current scope, then it must be
	a (physically) nested package.  That was wrong, because it could
	be a child package.  Avoid recursing into child packages; they
	have not been annotated with representation information, and
	-gnatR2 queries that information.

2022-01-05  Marc Poulhiès  <poulhies@adacore.com>

	* libgnat/s-sopco3.ads, libgnat/s-sopco3.adb: Remove.
	* libgnat/s-sopco4.ads, libgnat/s-sopco4.adb: Remove.
	* libgnat/s-sopco5.ads, libgnat/s-sopco5.adb: Remove.
	* libgnat/s-strops.ads, libgnat/s-strops.adb: Remove.
	* Makefile.rtl (ADA_EXCLUDE_SRCS): Remove occurences of removed
	units.
	* gcc-interface/Make-lang.in (ada/sdefault.o): Remove
	dependencies on removed units.
	(GNATBIND_OBJS): Remove occurences of removed units.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.adb (Build_Dcheck_Function): Remove extra whitespace.
	* libgnarl/s-taskin.adb (Initialize_ATCB): Likewise.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_attr.adb (Build_Array_VS_Func): Remove explicit "IN" in
	spec of the generated array validation function; it was
	redundant, just like it would be in a user-written code.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Ne): Fix whitespace.
	* sem_dim.adb (Expand_Put_Call_With_Symbol): Likewise.
	(Reduce): Likewise.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_aggr.adb (Two_Pass_Aggregate_Expansion): Fix whitespace.
	* libgnat/a-cofuve.ads (Add): Likewise.
	* sem_ch3.adb (Build_Access_Subprogram_Wrapper): Likewise.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.adb (Make_Eq_Body, Make_Neq_Body,
	Make_Predefined_Primitive_Eq_Spec,
	Make_Predefined_Primitive_Specs): Fix whitespace.

2022-01-05  Etienne Servais  <servais@adacore.com>

	* sem_ch3.adb (Analyze_Component_Declaration): Rework condition
	to build subtypes.
	(Analyze_Object_Declaration): Likewise.
	(Should_Build_Subtype): New.

2022-01-05  Yannick Moy  <moy@adacore.com>

	* libgnat/s-arit128.adb: Mark in SPARK.
	* libgnat/s-arit128.ads: Add functional contracts.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (String_From_Numeric_Literal): Simplify using
	membership tests and ranges; fix whitespace.

2022-01-05  Yannick Moy  <moy@adacore.com>

	* libgnat/s-expint.ads: Mark in SPARK. Adapt to change to
	package.
	* libgnat/s-explli.ads: Likewise.
	* libgnat/s-expllli.ads: Likewise.
	* libgnat/s-expont.adb: Add lemmas and ghost code.
	* libgnat/s-expont.ads: Add functional contract.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_disp.adb (Gen_Parameters_Profile): Remove redundant guard.

2022-01-05  Claire Dross  <dross@adacore.com>

	* libgnat/s-valuti.ads (Starts_As_Exponent_Format_Ghost): Ghost
	function to determine if a string is recognized as something
	which might be an exponent.
	(Is_Opt_Exponent_Format_Ghost): Ghost function to determine if a
	string has the correct format for an optional exponent.
	(Scan_Exponent): Use ghost functions to factorize contracts.

2022-01-05  Bob Duff  <duff@adacore.com>

	* exp_util.ads (Get_Current_Value_Condition): Belt: Add a
	postcondition that Val /= Var.
	* sem_util.adb (Known_Null): Suspenders: Raise Program_Error if
	Get_Current_Value_Condition returned the same value. This will
	be enabled even without assertions, because infinite recursion
	is a nuisance -- better to crash if this bug ever occurs.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.adb (Make_Null_Procedure_Specs): Simplify by reusing
	Copy_Subprogram_Spec.
	* sem_util.ads (Copy_Subprogram_Spec): Add New_Sloc parameter.
	* sem_util.adb (Copy_Subprogram_Spec): Pass New_Sloc to
	New_Copy_Tree.

2022-01-05  Yannick Moy  <moy@adacore.com>

	* libgnat/s-exnint.ads: Mark in SPARK. Adapt to change to
	package.
	* libgnat/s-exnlli.ads: Likewise.
	* libgnat/s-exnllli.ads: Likewise.
	* libgnat/s-exponn.adb: Add lemmas and ghost code. Secial case
	value zero as Left or Right to simplify proof.
	* libgnat/s-exponn.ads: Transform the generic function into a
	generic package with a function inside. Add a functional
	contract.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch12.adb (Instantiate_Formal_Subprogram): Remove redundant
	call to Set_Defining_Unit_Name; a similar call is done few lines
	below.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch3.adb (Make_Controlling_Function_Wrappers): Create
	distinct copies of parameter lists for spec and body with
	Copy_Parameter_List; cleanup.
	(Make_Null_Procedure_Specs): Fix style in comments; remove a
	potentially unnecessary initialization of a local variable.

2022-01-05  Bob Duff  <duff@adacore.com>

	* einfo-utils.ads, einfo-utils.adb (Renamed_Entity Alias):
	Change Node_Id to Entity_Id.

2022-01-05  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wrapper):
	Remove unreferenced spec.
	* sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wrapper):
	Remove dead bodies.

2022-01-05  Yannick Moy  <moy@adacore.com>

	* libgnat/s-aridou.adb: Apply replacement.

2022-01-05  Yannick Moy  <moy@adacore.com>

	* libgnat/s-aridou.adb (Lemma_Word_Commutation): Fix for
	instances with other values of Single_Size.

2022-01-05  Marc Poulhiès  <poulhies@adacore.com>

	* doc/gnat_rm/implementation_defined_pragmas.rst (Compiler_Unit)
	(Compiler_Unit_Warning): Remove.
	* gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate.
	* libgnat/g-dynhta.ads: Add comment indicating this unit is
	built during stage1.
	* libgnat/g-dyntab.ads: Likewise.
	* libgnat/g-graphs.ads: Likewise.
	* libgnat/g-lists.ads: Likewise.
	* libgnat/g-sets.ads: Likewise.
	* libgnat/gnat.ads: Likewise.
	* libgnat/s-pehage.ads: Likewise.
	* libgnat/s-resfil.ads: Likewise.
	* libgnat/s-rident.ads: Likewise.
	* libgnat/s-utf_32.ads: Likewise.
	* errout.ads: Update comment.
	* opt.ads (Opt): Remove Compiler_Unit.
	* par-ch5.adb (All_Pragmas): Remove call to Check_Compiler_Unit.
	* sem_prag.adb (Analyze_Pragma): Likewise.
	* sem_ch4.adb (Non_Static_Choice_Error, Analyze_If_Expression)
	(Analyze_Set_Membership, Record_Interp): Likewise.
	* sem_ch11.adb (Analyze_Raise_Expression): Likewise.
	* sem_ch6.adb: Remove Restric package reference.
	(Analyze_Extended_Return_Statement): Remove call to
	Check_Compiler_Unit.
	* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Remove handling of Pragma_Compiler_Unit[_Warning}.
	* restrict.adb (Check_Compiler_Unit): Remove both.
	* restrict.ads: Likewise.
	* snames.ads-tmpl (Pragma_Id): Remove
	Pragma_Compiler_Unit[_Warning].
	* libgnat/a-assert.ads: Remove pragma Compiler_Unit_Warning.
	* libgnat/a-chlat1.ads: Likewise.
	* libgnat/a-elchha.adb: Likewise.
	* libgnat/a-elchha.ads: Likewise.
	* libgnat/a-ioexce.ads: Likewise.
	* libgnat/a-strhas.ads: Likewise.
	* libgnat/g-byorma.adb: Likewise.
	* libgnat/g-byorma.ads: Likewise.
	* libgnat/g-dyntab.adb: Likewise.
	* libgnat/g-heasor.ads: Likewise.
	* libgnat/g-hesora.adb: Likewise.
	* libgnat/g-hesora.ads: Likewise.
	* libgnat/g-htable.adb: Likewise.
	* libgnat/g-htable.ads: Likewise.
	* libgnat/g-spchge.adb: Likewise.
	* libgnat/g-spchge.ads: Likewise.
	* libgnat/g-speche.adb: Likewise.
	* libgnat/g-speche.ads: Likewise.
	* libgnat/g-table.ads: Likewise.
	* libgnat/g-u3spch.adb: Likewise.
	* libgnat/g-u3spch.ads: Likewise.
	* libgnat/interfac.ads: Likewise.
	* libgnat/s-addope.adb: Likewise.
	* libgnat/s-addope.ads: Likewise.
	* libgnat/s-assert.adb: Likewise.
	* libgnat/s-assert.ads: Likewise.
	* libgnat/s-bitops.adb: Likewise.
	* libgnat/s-bitops.ads: Likewise.
	* libgnat/s-carun8.adb: Likewise.
	* libgnat/s-carun8.ads: Likewise.
	* libgnat/s-casuti.adb: Likewise.
	* libgnat/s-casuti.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-excdeb.adb: Likewise.
	* libgnat/s-excdeb.ads: Likewise.
	* libgnat/s-except.ads: Likewise.
	* libgnat/s-exctab.adb: Likewise.
	* libgnat/s-exctab.ads: Likewise.
	* libgnat/s-finmas.ads: Likewise.
	* libgnat/s-htable.adb: Likewise.
	* libgnat/s-htable.ads: Likewise.
	* libgnat/s-mastop.adb: Likewise.
	* libgnat/s-mastop.ads: Likewise.
	* libgnat/s-memory.adb: Likewise.
	* libgnat/s-memory.ads: Likewise.
	* libgnat/s-os_lib.ads: Likewise.
	* libgnat/s-parame.adb: Likewise.
	* libgnat/s-parame.ads: Likewise.
	* libgnat/s-parame__posix2008.ads: Likewise.
	* libgnat/s-purexc.ads: Likewise.
	* libgnat/s-resfil.adb: Likewise.
	* libgnat/s-restri.adb: Likewise.
	* libgnat/s-restri.ads: Likewise.
	* libgnat/s-secsta.adb: Likewise.
	* libgnat/s-secsta.ads: Likewise.
	* libgnat/s-soflin.adb: Likewise.
	* libgnat/s-soflin.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.ads: Likewise.
	* libgnat/s-stache.adb: Likewise.
	* libgnat/s-stache.ads: Likewise.
	* libgnat/s-stalib.adb: Likewise.
	* libgnat/s-stalib.ads: Likewise.
	* libgnat/s-stoele.adb: Likewise.
	* libgnat/s-stoele.ads: Likewise.
	* libgnat/s-strcom.adb: Likewise.
	* libgnat/s-strcom.ads: Likewise.
	* libgnat/s-strhas.adb: 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-traceb.adb: Likewise.
	* libgnat/s-traceb.ads: Likewise.
	* libgnat/s-traent.adb: Likewise.
	* libgnat/s-traent.ads: Likewise.
	* libgnat/s-utf_32.adb: Likewise.
	* libgnat/s-unstyp.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.

2022-01-05  Arnaud Charlet  <charlet@adacore.com>

	* osint.adb (File_Names_Equal): Declare To_Lower locally.
	* osint.ads (Null_FD): New.
	* fmap.adb, sinput-l.adb, targparm.adb: Adapt to changes above.
	* switch-b.adb (Scan_Debug_Switches): Use Is_Regular_File to
	simplify the bootstrap dependencies.

2022-01-03  Jakub Jelinek  <jakub@redhat.com>

	* gnat_ugn.texi: Bump @copying's copyright year.
	* gnat_rm.texi: Likewise.


Copyright (C) 2022 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.
