2022-11-24  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.cc (gnat_to_gnu) <N_Assignment_Statement>: Add
	assertion that memset is not supposed to be used when the target has
	a storage model with Copy_To routine.

2022-11-24  Justin Squirek  <squirek@adacore.com>

	* sem_ch8.adb
	(Find_Direct_Name): Remove bypass to reanalyze incorrectly
	analyzed discriminals.
	(Set_Entity_Or_Discriminal): Avoid resetting the entity field of a
	discriminant reference to be the internally generated renaming
	when we are in strict preanalysis mode.

2022-11-22  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Analyze_Depends_Global): Accept aspects on
	abstract subprograms.

2022-11-22  Ghjuvan Lacambre  <lacambre@adacore.com>

	* frontend.adb (Frontend): Re-enable Validate_Subprogram_Calls.
	* exp_ch6.adb (Check_BIP_Actuals): When in CodePeer mode, do not
	attempt to validate procedures coming from an
	Elab_Spec/Elab_Body/Elab_Subp_Body procedure.

2022-11-22  Piotr Trojanek  <trojanek@adacore.com>

	* errout.adb (To_Be_Removed): Decrease total number of errors when
	removing a warning that has been escalated into error.
	* erroutc.adb (dmsg): Print Warn_Runtime_Raise flag.

2022-11-22  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Make_Tag_Assignment): Fix formatting glitches.

2022-11-22  Eric Botcazou  <ebotcazou@adacore.com>

	* contracts.adb (Build_Subprogram_Contract_Wrapper): Do not fiddle
	with the Was_Expression_Function flag. Move a few lines around.

2022-11-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Constant>: Revert
	latest change.
	* gcc-interface/trans.cc (gnat_to_gnu) <N_Object_Declaration>:
	Tweak latest change.

2022-11-21  Marc Poulhiès  <poulhies@adacore.com>

	* exp_pakd.adb (Create_Packed_Array_Impl_Type): Do not share PAT
	if sizes of types differ.

2022-11-21  Ronan Desplanques  <desplanques@adacore.com>

	* doc/gnat_rm/implementation_defined_pragmas.rst: Restore
	alphabetical ordering.
	* gnat_rm.texi: Regenerate.
	* gnat_ugn.texi: Regenerate.

2022-11-21  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb (Needs_Secondary_Stack): Test Is_Constrained
	directly instead of Is_Definite_Subtype for an array subtype.

2022-11-21  Steve Baird  <baird@adacore.com>

	* libgnat/s-rident.ads: Define a new restriction,
	No_Task_Hierarchy_Implicit. This is like the No_Task_Hierarchy
	restriction, but with the difference that setting this restriction
	does not mean the H.6(6) post-compilation check is satisified.
	* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): If it is
	known that the function result cannot have tasks, then pass in a
	null literal for the activation chain actual parameter. This
	avoids generating a reference to an entity that
	Build_Activation_Chain_Entity may have chosen not to generate a
	declaration for.
	* gnatbind.adb (List_Applicable_Restrictions): Do not list the
	No_Task_Hierarchy_Implicit restriction.
	* restrict.adb: Special treatment for the
	No_Task_Hierarchy_Implicit restriction in functions
	Get_Restriction_Id and Restriction_Active. The former is needed to
	disallow the (unlikely) case that a user tries to explicitly
	reference the No_Task_Hierarchy_Implicit restriction.
	* sem_prag.adb (Analyze_Pragma): If a Sequential
	Partition_Elaboration_Policy is specified (and the
	No_Task_Hierarchy restriction is not already enabled), then enable
	the No_Task_Hierarchy_Implicit restriction.

2022-11-21  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Use Typ local
	constant throughout, remove Ret_Obj_Typ local constant, rename
	Ref_Type into Acc_Typ in a couple of places, remove a useless call
	to Set_Etype, use a consistent checks suppression scheme, adjust
	comments for the sake of consistencty and alphabetize some local
	declarations.
	* exp_ch6.adb (Expand_Simple_Function_Return): Remove a couple of
	redundant local constants.

2022-11-21  Steve Baird  <baird@adacore.com>

	* libgnat/a-sttebu.adb (Put): Add missing call to Encode.
	* libgnat/a-strsup.ads: Declare new Put_Image procedure and add
	Put_Image aspect specification for type Super_String.
	* libgnat/a-strsup.adb (Put_Image): New procedure.
	* libgnat/a-stwisu.ads: Declare new Put_Image procedure and add
	Put_Image aspect specification for type Super_String.
	* libgnat/a-stwisu.adb (Put_Image): New procedure.
	* libgnat/a-stzsup.ads: Declare new Put_Image procedure and add
	Put_Image aspect specification for type Super_String.
	* libgnat/a-stzsup.adb (Put_Image): New procedure.

2022-11-21  Ghjuvan Lacambre  <lacambre@adacore.com>

	* frontend.adb (Frontend): Disable subprogram call validation.

2022-11-21  Bob Duff  <duff@adacore.com>

	* warnsw.ads, warnsw.adb: Move warning flags here from package
	Opt. Rename Warning_Record to be Warnings_State. Use an array
	instead of a record; this simplifies the code. Add renamings of
	all the array components for easy reference outside this package.
	Pass the "Family" to Set_Warning_Switch. Use more table-driven
	code. Misc cleanup and comment fixes.
	* opt.ads: Move warning switches to Warnsw.
	* gnat1drv.adb
	(Adjust_Global_Switches): Expanded names needed.
	* inline.ads: Rename Warning_Record to be Warnings_State.
	* sem_ch12.adb: Likewise.
	* sem_prag.adb: Use new Set_Warning_Switch.
	* contracts.adb, errout.adb, exp_aggr.adb, exp_ch11.adb: Adjust
	imports for move to Warnsw.
	* exp_ch5.adb, exp_prag.adb, exp_util.adb, frontend.adb: Likewise.
	* layout.adb, lib-xref.adb, restrict.adb, scn.adb, sem_aggr.adb:
	Likewise.
	* sem_attr.adb, sem_case.adb, sem_ch10.adb, sem_ch11.adb:
	Likewise.
	* sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb: Likewise.
	* sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_elab.adb: Likewise.
	* sem_eval.adb, sem_res.adb, sem_util.adb, sem_warn.adb: Likewise.
	* switch-c.adb: Likewise.

2022-11-21  Steve Baird  <baird@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst: Improve
	the description of how the -gnatw.h switch interacts with
	"partial" record layout specifications (i.e., specifications where
	the locations of some components are left unspecified).
	* gnat_ugn.texi: Regenerate.

2022-11-21  Marc Poulhiès  <poulhies@adacore.com>

	* sem_ch13.adb (Check_One_Attr): produce error when Size attribute
	used on aliased object of elementary types with nonconfirming
	value.

2022-11-21  Ronan Desplanques  <desplanques@adacore.com>

	* sfn_scan.adb (Scan_SFN_Pragmas): Improve handling of comments.

2022-11-21  Ronan Desplanques  <desplanques@adacore.com>

	* par-ch3.adb (P_Declarative_Item): Tweak handling of with keyword.

2022-11-14  Boris Yakobowski  <yakobowski@adacore.com>

	* sem_case.adb: silence false positive warning emitted by CodePeer
	on predefined equality for type Choice_Range_Info.

2022-11-14  Bob Duff  <duff@adacore.com>

	* atree.ads: Remove some comments.
	* err_vars.ads: Likewise.
	* scans.ads: Likewise.
	* sinput.ads: Likewise.
	* checks.ads: Likewise. Also add a "???" comment indicating an
	obsolete comment that is too difficult to correct at this time.
	* sem_attr.adb: Minor comment rewrite.

2022-11-14  Javier Miranda  <miranda@adacore.com>

	* exp_intr.adb
	(Expand_Dispatching_Constructor_Call): Improve warning message.
	* freeze.adb
	(Check_No_Parts_Violations): Improve error message.

2022-11-14  Alexandre Oliva  <oliva@adacore.com>

	* doc/gnat_rm/security_hardening_features.rst: Document optional
	hardcfr checkpoints.
	* gnat_rm.texi: Regenerate.
	* gnat_ugn.texi: Regenerate.

2022-11-14  Gary Dismukes  <dismukes@adacore.com>

	* checks.adb
	(Apply_Type_Conversion_Checks): Apply Root_Type to the type of the
	prefix of a Pos attribute when checking whether the type is a
	formal discrete type.

2022-11-14  Ronan Desplanques  <desplanques@adacore.com>

	* libgnat/s-regpat.adb
	(Parse): Fix handling of non-capturing parentheses.

2022-11-14  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Add special case for the special
	local subprogram created for contracts.

2022-11-14  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch12.adb (Build_Subprogram_Wrappers): Adjust slocs of the
	copied aspects, just like we do in Build_Class_Wide_Expression for
	inherited class-wide contracts.

2022-11-14  Piotr Trojanek  <trojanek@adacore.com>

	* inline.adb (Replace_Formal): Tune whitespace.
	* sem_ch12.adb (Check_Overloaded_Formal_Subprogram): Refine type
	of a formal parameter and local variable; this routine operates on
	nodes and not entities.
	* sem_ch12.ads: Tune whitespace.

2022-11-14  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch12.adb (Analyze_Associations): Expand wrappers for
	GNATprove.

2022-11-14  Patrick Bernardi  <bernardi@adacore.com>

	* libgnat/system-qnx-arm.ads: Set Support_Atomic_Primitives to
	True.
	* libgnat/system-rtems.ads: Add Support_Atomic_Primitives.

2022-11-14  Yannick Moy  <moy@adacore.com>

	* errout.adb (Error_Msg_Internal): Store span for Optr field, and
	adapt to new type of Optr.
	(Finalize. Output_JSON_Message, Remove_Warning_Messages): Adapt to
	new type of Optr.
	(Output_Messages): Use Optr instead of Sptr to display code
	snippet closer to error.
	* erroutc.adb (dmsg): Adapt to new type of Optr.
	* erroutc.ads (Error_Msg_Object): Make Optr a span like Sptr.
	* errutil.adb (Error_Msg): Likewise.

2022-11-14  Arnaud Charlet  <charlet@adacore.com>

	* doc/gnat_ugn/gnat_utility_programs.rst: Remove gnatcheck
	reference.

2022-11-14  Martin Liska  <mliska@suse.cz>

	Revert:
	2022-11-09  Martin Liska  <mliska@suse.cz>

	* doc/gnat-style.rst: Moved to...
	* doc/gnat-style/index.rst: ...here.
	* doc/gnat_rm.rst: Moved to...
	* doc/gnat_rm/index.rst: ...here.
	* doc/gnat_ugn.rst: Moved to...
	* doc/gnat_ugn/index.rst: ...here.
	* doc/share/latex_elements.py: Moved to...
	* doc/share/ada_latex_elements.py: ...here.
	* gcc-interface/Make-lang.in:
	* doc/Makefile: Removed.
	* doc/share/conf.py: Removed.
	* doc/share/gnu_free_documentation_license.rst: Removed.
	* gnat-style.texi: Removed.
	* gnat_rm.texi: Removed.
	* gnat_ugn.texi: Removed.
	* doc/gnat-style/conf.py: New file.
	* doc/gnat-style/gnu_free_documentation_license.rst: New file.
	* doc/gnat_rm/conf.py: New file.
	* doc/gnat_rm/gnu_free_documentation_license.rst: New file.
	* doc/gnat_ugn/conf.py: New file.
	* doc/gnat_ugn/gnu_free_documentation_license.rst: New file.
	* doc/share/adabaseconf.py: New file.
	* doc/gnat_rm/security_hardening_features.rst: Add role.
	* doc/gnat_ugn/platform_specific_information.rst: Remove
	duplicate definition of |nbsp|.

2022-11-14  Martin Liska  <mliska@suse.cz>

	Revert:
	2022-11-14  Martin Liska  <mliska@suse.cz>

	* gcc-interface/Make-lang.in: Support --with-sphinx-build.

2022-11-14  Martin Liska  <mliska@suse.cz>

	Revert:
	2022-11-09  Martin Liska  <mliska@suse.cz>

	* doc/gnat_rm/index.rst: Fix cross manual refs.

2022-11-14  Martin Liska  <mliska@suse.cz>

	Revert:
	2022-11-14  Martin Liska  <mliska@suse.cz>

	* gcc-interface/Make-lang.in:
	Support installation if sphinx-build is missing.

2022-11-09  Martin Liska  <mliska@suse.cz>

	* gcc-interface/Make-lang.in:
	Support installation if sphinx-build is missing.

2022-11-09  Martin Liska  <mliska@suse.cz>

	* doc/gnat_rm/index.rst: Fix cross manual refs.

2022-11-09  Martin Liska  <mliska@suse.cz>

	* gcc-interface/Make-lang.in: Support --with-sphinx-build.

2022-11-09  Martin Liska  <mliska@suse.cz>

	* doc/gnat-style.rst: Moved to...
	* doc/gnat-style/index.rst: ...here.
	* doc/gnat_rm.rst: Moved to...
	* doc/gnat_rm/index.rst: ...here.
	* doc/gnat_ugn.rst: Moved to...
	* doc/gnat_ugn/index.rst: ...here.
	* doc/share/latex_elements.py: Moved to...
	* doc/share/ada_latex_elements.py: ...here.
	* gcc-interface/Make-lang.in:
	* doc/Makefile: Removed.
	* doc/share/conf.py: Removed.
	* doc/share/gnu_free_documentation_license.rst: Removed.
	* gnat-style.texi: Removed.
	* gnat_rm.texi: Removed.
	* gnat_ugn.texi: Removed.
	* doc/gnat-style/conf.py: New file.
	* doc/gnat-style/gnu_free_documentation_license.rst: New file.
	* doc/gnat_rm/conf.py: New file.
	* doc/gnat_rm/gnu_free_documentation_license.rst: New file.
	* doc/gnat_ugn/conf.py: New file.
	* doc/gnat_ugn/gnu_free_documentation_license.rst: New file.
	* doc/share/adabaseconf.py: New file.
	* doc/gnat_rm/security_hardening_features.rst: Add role.
	* doc/gnat_ugn/platform_specific_information.rst: Remove
	duplicate definition of |nbsp|.

2022-11-08  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils2.cc (build_allocator): For unconstrained
	array types with a storage model and an initializing expression,
	copy the initialization expression separately from the bounds. In
	all cases with a storage model, pass the locally computed size for
	the store.

2022-11-08  Steve Baird  <baird@adacore.com>

	* sem_attr.adb
	(Eval_Attribute): Don't simplify 'Image call if Put_Image has been
	specified.

2022-11-08  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch6.adb, exp_put_image.adb, sem_aggr.adb, sem_attr.adb,
	sem_ch5.adb, sem_type.adb, sem_util.adb: Replace
	"Present (Find_Aspect (...))" with "Has_Aspect".

2022-11-08  Ronan Desplanques  <desplanques@adacore.com>

	* contracts.adb
	(Preanalyze_Class_Conditions): New procedure.
	(Preanalyze_Condition): Moved out from Merge_Class_Conditions in
	order to be spec-visible.
	* contracts.ads
	(Preanalyze_Class_Conditions): New procedure.
	* sem_prag.adb
	(Analyze_Pre_Post_Condition_In_Decl_Part): Call
	Preanalyze_Class_Conditions when necessary.

2022-11-08  Johannes Kliemann  <kliemann@adacore.com>

	* libgnat/system-vxworks7-aarch64-rtp-smp.ads: Set
	Support_Atomic_Primitives to True.
	* libgnat/system-vxworks7-aarch64.ads: Set
	Support_Atomic_Primitives to True.
	* libgnat/system-vxworks7-arm-rtp-smp.ads: Set
	Support_Atomic_Primitives to True.
	* libgnat/system-vxworks7-arm.ads: Set Support_Atomic_Primitives
	to True.
	* libgnat/system-vxworks7-ppc-kernel.ads: Set
	Support_Atomic_Primitives to False.
	* libgnat/system-vxworks7-ppc-rtp-smp.ads: Set
	Support_Atomic_Primitives to False.
	* libgnat/system-vxworks7-ppc64-kernel.ads: Set
	Support_Atomic_Primitives to True.
	* libgnat/system-vxworks7-ppc64-rtp-smp.ads: Set
	Support_Atomic_Primitives to True.
	* libgnat/system-vxworks7-x86-kernel.ads: Set
	Support_Atomic_Primitives to True.
	* libgnat/system-vxworks7-x86-rtp-smp.ads: Set
	Support_Atomic_Primitives to True.
	* libgnat/system-vxworks7-x86_64-kernel.ads: Set
	Support_Atomic_Primitives to True.
	* libgnat/system-vxworks7-x86_64-rtp-smp.ads: Set
	Support_Atomic_Primitives to True.

2022-11-08  Eric Botcazou  <ebotcazou@adacore.com>

	* fe.h (Get_Warn_On_Questionable_Layout): Add void parameter.

2022-11-08  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch12.adb (Instantiate_Formal_Subprogram): Copy aspect Ghost
	from formal subprogram declaration to the internally generated
	procedure.

2022-11-08  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch4.adb (Analyze_Case_Expression): Compute the
	interpretations of the expression only at the end of the analysis,
	but skip doing it if it is the operand of a type conversion.
	(Analyze_If_Expression): Likewise.
	* sem_res.adb (Resolve): Deal specially with conditional
	expression that is the operand of a type conversion.
	(Resolve_Dependent_Expression): New procedure.
	(Resolve_Case_Expression): Call Resolve_Dependent_Expression.
	(Resolve_If_Expression): Likewise.
	(Resolve_If_Expression.Apply_Check): Take result type as
	parameter.
	(Resolve_Type_Conversion): Do not warn about a redundant
	conversion when the operand is a conditional expression.

2022-11-08  Javier Miranda  <miranda@adacore.com>

	* debug.adb
	(Debug_Flag_Underscore_XX): Switch -gnatd_X used temporarily to allow
	disabling extra formal checks.
	* exp_attr.adb
	(Expand_N_Attribute_Reference [access types]): Add extra formals
	to the subprogram referenced in the prefix of 'Unchecked_Access,
	'Unrestricted_Access or 'Access; required to check that its extra
	formals match the extra formals of the corresponding subprogram type.
	* exp_ch3.adb
	(Stream_Operation_OK): Declaration moved to the public part of the
	package.
	(Validate_Tagged_Type_Extra_Formals): New subprogram.
	(Expand_Freeze_Record_Type): Improve the code that takes care of
	adding the extra formals of dispatching primitives; extended to
	add also the extra formals to renamings of dispatching primitives.
	* exp_ch3.ads
	(Stream_Operation_OK): Declaration moved from the package body.
	* exp_ch6.adb
	(Check_BIP_Actuals): Complete documentation.
	(Has_BIP_Extra_Formal): Subprogram declaration moved to the public
	part of the package. In addition, a parameter has been added to
	disable an assertion that requires its use with frozen entities.
	(Duplicate_Params_Without_Extra_Actuals): New subprogram.
	(Check_Subprogram_Variant): Emit the call without duplicating the
	extra formals since they will be added when the call is analyzed.
	(Expand_Call_Helper): Ensure that the called subprogram has all its
	extra formals, enforce assertion checking extra formals on thunks,
	and mark calls from thunks as processed-BIP-calls to avoid adding
	their extra formals twice.
	(Is_Build_In_Place_Function): Return False for entities with foreign
	convention.
	(Is_Build_In_Place_Function_Call): Return True also for not BIP functions
	that have BIP formals since the extra actuals are required.
	(Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of
	Is_Return_Object replaced by the local variable Is_OK_Return_Object
	that evaluates to False for scopes with foreign convention.
	(Might_Have_Tasks): Fix check of class-wide limited record types.
	(Needs_BIP_Task_Actuals): Remove assertion to allow calling this
	function in more contexts; in addition it returns False for functions
	returning objects with foreign convention.
	(Needs_BIP_Finalization_Master): Likewise.
	(Needs_BIP_Alloc_Form): Likewise.
	(Validate_Subprogram_Calls): Check that the number of actuals (including
	extra actuals) of calls in the subtree N match their corresponding
	formals.
	* exp_ch6.ads
	(Has_BIP_Extra_Formal): Subprogram declaration moved to the public
	part of the package. In addition, a parameter has been added to
	disable an assertion that requires its use with frozen entities.
	(Is_Build_In_Place_Function_Call): Complete documentation.
	(Validate_Subprogram_Calls): Check that the number of actuals (including
	extra actuals) of calls in the subtree N match their corresponding
	formals.
	* freeze.adb
	(Check_Itype): Add extra formals to anonymous access subprogram itypes.
	(Freeze_Expression): Improve code that disables the addition of extra
	formals to functions with foreign convention.
	(Check_Extra_Formals): Moved to package Sem_Ch6 as Extra_Formals_OK.
	(Freeze_Subprogram): Add extra formals to non-dispatching subprograms.
	* frontend.adb
	(Frontend): Validate all the subprogram calls; it can be disabled using
	switch -gnatd_X
	* sem_ch3.adb
	(Access_Subprogram_Declaration): Defer the addition of extra formals to
	the freezing point so that we know the convention.
	(Check_Anonymous_Access_Component): Likewise.
	(Derive_Subprogram): Fix documentation.
	* sem_ch6.adb
	(Has_Reliable_Extra_Formals): New subprogram.
	(Check_Anonymous_Return): Fix check of access to class-wide limited
	record types.
	(Check_Untagged_Equality): Placed in alphabetical order.
	(Extra_Formals_OK): Subprogram moved from freeze.adb.
	(Extra_Formals_Match_OK): New subprogram.
	(Has_BIP_Formals): New subprogram.
	(Has_Extra_Formals): New subprograms.
	(Needs_Accessibility_Check_Extra): New subprogram.
	(Parent_Subprogram): New subprogram.
	(Add_Extra_Formal): Minor code cleanup.
	(Create_Extra_Formals): Enforce matching extra formals on overridden
	and aliased entities.
	* sem_ch6.ads
	(Extra_Formals_Match_OK): New subprogram.
	(Extra_Formals_OK): Subprogram moved from freeze.adb.
	* sem_eval.adb
	(Compile_Time_Known_Value): Improve predicate to avoid assertion
	failure; found working on this ticket; this change does not
	affect the behavior of the compiler because this subprogram
	has an exception handler that returns False when the assertion
	fails.
	* sem_util.adb
	(Needs_Result_Accessibility_Level): Do not return False for dispatching
	operations compiled with Ada_Version < 2012 since they they may be
	overridden by primitives compiled with Ada_Version >= Ada_2012.

2022-11-08  Bob Duff  <duff@adacore.com>

	* warnsw.ads, warnsw.adb, fe.h, err_vars.ads, errout.ads: Move
	Warning_Doc_Switch from Err_Vars to Warnsw. Access
	Warn_On_Questionable_Layout on the C side via a function rather
	than a variable, because we plan to turn the variables into
	renamings, and you can't Export renamings.
	* erroutc.adb, switch-c.adb, errout.adb: Likewise.
	* gcc-interface/decl.cc: Use Get_Warn_On_Questionable_Layout
	instead of Warn_On_Questionable_Layout.
	* gcc-interface/Makefile.in (GNATMAKE_OBJS): Add warnsw.o, because
	it is indirectly imported via Errout.
	* gcc-interface/Make-lang.in (GNATBIND_OBJS): Likewise and remove
	restrict.o (not needed).

2022-11-08  Ronan Desplanques  <desplanques@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst
	(-gnatwc): Fix flag documentation.
	* gnat_ugn.texi: Regenerate.

2022-11-08  Steve Baird  <baird@adacore.com>

	* sem_ch3.adb
	(Analyze_Object_Declaration): Do not perform expansion actions if
	In_Spec_Expression is true.

2022-11-08  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch4.adb (Analyze_Qualified_Expression): Analyze the
	expression only after setting the type.
	(Analyze_Unchecked_Type_Conversion): Likewise.
	(Analyze_Short_Circuit): Likewise for the operands.
	(Analyze_Type_Conversion): Minor tweaks.
	(Analyze_Unchecked_Expression): Likewise.

2022-11-08  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch4.adb (Analyze_Qualified_Expression): Remove redundant
	line.

2022-11-08  Ronan Desplanques  <desplanques@adacore.com>

	* contracts.adb (Preanalyze_Condition): Use
	Preanalyze_Spec_Expression.

2022-11-08  Piotr Trojanek  <trojanek@adacore.com>

	* exp_imgv.adb
	(Expand_Wide_Image_Attribute): Handle just like attribute Image.
	(Expand_Wide_Wide_Image_Attribute): Likewise.
	* exp_put_image.adb
	(Build_Image_Call): Adapt to also work for Wide and Wide_Wide
	attributes.
	* exp_put_image.ads
	(Build_Image_Call): Update comment.
	* rtsfind.ads
	(RE_Id): Support wide variants of Get.
	(RE_Unit_Table): Likewise.

2022-11-08  Piotr Trojanek  <trojanek@adacore.com>

	* libgnat/a-ngcoar.ads, libgnat/a-ngcoar.adb: Remove extra spaces.

2022-11-08  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch12.adb (Validate_Formal_Type_Default): Remove call to
	Collect_Interfaces, which had no effect apart from populating a
	list that was not used; fix style.

2022-11-08  Piotr Trojanek  <trojanek@adacore.com>

	* exp_spark.adb (SPARK_Freeze_Type): Refine type of a local
	object.
	* sem_ch3.adb (Derive_Subprograms): Remove initial value for
	New_Subp, which is in only written as an out parameter and never
	read.

2022-11-08  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_res.adb (Resolve_If_Expression): Remove obsolete special
	case.

2022-11-08  Piotr Trojanek  <trojanek@adacore.com>

	* sem_aggr.adb (Resolve_Delta_Aggregate): Implement rules related
	to limited objects appearing as the base expression.

2022-11-08  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch3.adb (OK_For_Limited_Init_In_05): Handle delta aggregates
	just like other aggregates.

2022-11-08  Piotr Trojanek  <trojanek@adacore.com>

	* sem_aggr.adb (Resolve_Delta_Record_Aggregate): Reject
	expressions of a limited types.

2022-11-08  Javier Miranda  <miranda@adacore.com>

	* exp_ch9.adb
	(Build_Master_Entity): Handle missing case: when the context of
	the master is a BIP function whose result type has tasks.

2022-11-08  Piotr Trojanek  <trojanek@adacore.com>

	* libgnat/a-tags.adb
	(Interface_Ancestor_Tags): Raise Tag_Error on No_Tag.
	(Is_Descendant_At_Same_Level): Likewise.

2022-11-08  Bob Duff  <duff@adacore.com>

	* usage.adb: Add -gnatw_q and -gnatw_Q.

2022-11-07  Cedric Landet  <landet@adacore.com>

	* doc/gnat_ugn/gnat_and_program_execution.rst: Mention the needed
	-no-pie for windows to use gprof.
	* gnat_ugn.texi: Regenerate.

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

	* lib-xref.adb (Hash): Tune hash function.

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

	* sem_prag.adb (Non_Significant_Pragma_Reference): Detect
	references with aggregates; only assign local variables Id and C
	when necessary.

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

	* exp_ch4.adb
	(Component_Equality, Expand_Array_Equality)
	(Expand_Record_Equality): Use named notation.

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

	* exp_ch4.adb
	(Expand_Array_Equality): Do not test Ltyp = Rtyp here, because
	that is necessarily true. Move assertion thereof to more general
	place.
	(Expand_Composite_Equality): Pass in Outer_Type, for use in
	warnings. Rename Typ to be Comp_Type, to more clearly distinguish
	it from Outer_Type. Print warning when appropriate.
	* exp_ch4.ads: Minor comment fix.
	* errout.ads: There is no such pragma as Warning_As_Pragma --
	Warning_As_Error must have been intended. Improve comment for ?x?.
	* exp_ch3.adb
	(Build_Untagged_Equality): Update comment to be accurate for more
	recent versions of Ada.
	* sem_case.adb
	(Choice_Analysis): Declare user-defined "=" functions as abstract.
	* sem_util.ads
	(Is_Bounded_String): Give RM reference in comment.
	* warnsw.ads, warnsw.adb
	(Warn_On_Ignored_Equality): Implement new warning switch -gnatw_q.
	* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
	Document new warning switch.
	* gnat_ugn.texi: Regenerate.

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

	* sem_aux.ads (Is_Body): Annotate with Inline.
	* sem_util.ads (Is_Body_Or_Package_Declaration): Likewise.

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

	* freeze.adb
	(Build_Inherited_Condition_Pragmas): Do nothing if A_Post is
	empty.

2022-11-07  Quentin Ochem  <ochem@adacore.com>
	    Steve Baird  <baird@adacore.com>

	* bindgen.adb: fixed the way the device init and final symbols are
	computed, re-using the normal way these symbols would be computed
	with a __device_ prefix. Also fixed the "is null;" procedure on
	the host side which are not Ada 95, replaced with a procedure
	raising an exception as it should never be called. Remove the
	unused function Device_Ada_Final_Link_Name.

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

	* opt.ads: Declare new string pointer variable, CUDA_Device_Library_Name.
	Modify comments for existing Boolean variable Enable_CUDA_Device_Expansion.
	* switch-b.adb: When "-d_c" switch is encountered, check that the next
	character is an "'='; use the remaining characters to initialize
	Opt.CUDA_Device_Library_Name.
	* bindgen.adb: Remove (for now) most support for host-side invocation of
	device-side finalization. Make use of the new CUDA_Device_Library_Name
	in determining the string used to refer (on the host side) to the
	device-side initialization procedure. Declare the placeholder routine
	that is named in the CUDA_Execute pragma (and the CUDA_Register_Function
	call) as an exported null procedure, rather than as an imported procedure.
	It is not clear whether it is really necessary to specify the link-name
	for this should-never-be-called subprogram on the host side, but for now it
	shouldn't hurt to do so.

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

	* exp_ch6.adb (Expand_Protected_Subprogram_Call): Examine scope
	tree and not the scope stack.

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

	* mdll.ads (Build_Import_Library): Fix grammar in comment.
	* mdll.adb (Build_Import_Library): Directly execute code of a
	nested routine; rename No_Lib_Prefix to Strip_Lib_Prefix.

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

	* sem_warn.adb
	(Check_For_Warnings): Remove unnecessary exception handler.
	(Warn_On_Known_Condition): Suppress warning when we detect a True
	or False that has been turned into a more complex expression
	because True is represented as "nonzero". (Note that the complex
	expression will subsequently be constant-folded to a Boolean True
	or False). Also simplify to always print "condition is always ..."
	instead of special-casing object names. The special case was
	unhelpful, and indeed wrong when the expression is a literal.

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

	* checks.adb (Safe_To_Capture_In_Parameter_Value): Remove.
	* sem_util.adb (Safe_To_Capture_Value): Stop search at the current
	body.

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

	* sem_warn.adb (Warn_On_In_Out): Remove No_ prefix; flip return
	values between True and False; adapt caller.

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

	* sem_ch13.adb (Add_Call): Just look at Instantiation_Depth.
	* sem_ch3.adb (Derive_Subprograms): Likewise.
	* sem_warn.adb (Check_References): Remove redundant filtering with
	Instantiation_Depth that follows filtering with
	Instantiation_Location.
	* sinput.adb (Instantiation_Depth): Reuse Instantiation_Location.

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

	* sem_warn.adb
	(No_Warn_On_In_Out): For subprograms we can simply call
	Warnings_Off.
	(Output_Non_Modified_In_Out_Warnings): Remove repeated
	suppression.

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

	* sem_aggr.adb (Resolve_Delta_Array_Aggregate): Reject boxes in
	delta array aggregates.

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

	* sem_res.adb (Enclosing_Declaration_Or_Statement): Moved to
	Sem_Util.
	* sem_util.ads (Enclosing_Declaration_Or_Statement): Moved from
	Sem_Res.
	* sem_util.adb (Enclosing_Declaration_Or_Statement): Likewise.

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

	* sem_res.adb (Resolve): Only call Comes_From_Predefined_Lib_Unit
	when its result might be needed.

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

	* sem_ch12.adb (Check_Generic_Actuals): Remove redundant parens;
	refactor an excessive if-statement; remove repeated call to Node.

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

	* inline.adb (Establish_Actual_Mapping_For_Inlined_Call): Move
	comment next to a condition that it describes.

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

	* exp_put_image.adb
	(Image_Should_Call_Put_Image): Correctly handle the case of an
	inherited Put_Image aspect specification for a scalar type.

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

	* libgnarl/s-interr.adb: Tune whitespace.

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

	* libgnarl/s-interr.adb: Reorder context items and pragmas.

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

	* exp_ch4.adb
	(Expand_Modular_Addition): Rewrite using Make_XXX calls.
	(Expand_Modular_Op): Likewise.
	(Expand_Modular_Subtraction): Likewise.
	* exp_imgv.adb
	(Expand_User_Defined_Enumeration_Image): Likewise.

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

	* checks.adb (Apply_Arithmetic_Overflow_Strict): Rewrite using a
	newly created operator node.
	* exp_ch4.adb (Expand_Array_Comparison): Likewise.
	* exp_ch6.adb (Add_Call_By_Copy_Code): Rewriting actual parameter
	using its own location and not the location of the subprogram
	call.
	* sem_warn.adb (Check_References): Looping with Original_Node is
	no longer needed.

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

	* sem_prag.adb (Is_In_Context_Clause): Rewrite without negations
	and inequalities.

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

	* sem_prag.adb (Analyze_Pragma [Pragma_Obsolescent]): Reject
	misplaced pragma.

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

	* sem_warn.adb (Output_Obsolescent_Entity_Warnings): Tag warnings
	about obsolescent functions just like we tag similar warnings for
	packages and procedures.

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

	* exp_attr.adb (Expand_N_Attribute_Reference): Remove useless
	skipping for attribute Input.

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

	* exp_attr.adb (Expand_N_Attribute_Reference): Skip operand
	validity checks for attributes Has_Same_Storage and
	Overlaps_Storage.

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

	* errout.adb (Remove_Warning_Messages.Check_For_Warning): Do not
	reinstate the Original_Node in the tree.
	* exp_aggr.adb (Build_Array_Aggr_Code.Gen_Loop): Copy the bounds
	on all paths.

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

	* libgnat/g-excact.ads
	(Register_Global_Action): Refill comment.
	(Name_To_Id): Change pragma Restriction from singular to plural.

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

	* sem_warn.adb (Check_References): Remove redundant guard, as it
	is implied by a preceding call to Referenced_Check_Spec.

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

	* sem_warn.adb (Check_References): Remove useless query for "spec"
	of a variable; refactor nested if-statements into a single
	condition.

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

	* sem_util.adb
	(In_Pragma_Expression): Add standard guard against searching too
	far.
	(In_Quantified_Expression): Likewise.
	* sem_warn.adb
	(May_Need_Initialized_Actual): Remove redundant parens.
	(Check_References): Remove guard that duplicates a condition from
	the enclosing if-statement; only assign E1T variable when
	necessary.
	(Within_Postcondition): Fix layout.
	(No_Warn_On_In_Out): Balance parens in comment.

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

	* doc/gnat_rm/implementation_defined_pragmas.rst: Add the standard
	'... "On" enables this extension.' sentence to the description of
	static intrinsic functions.
	* sem_ch13.adb
	(Analyze_Aspect_Spec): In the call to Error_Msg_GNAT_Extension for
	a Static aspect specification for an intrinsic function, specify
	Is_Core_Extension => True.
	* sem_eval.adb
	(Eval_Intrinsic_Call): Test Core_Extensions_Allowed instead of
	testing All_Extensions_Allowed.
	* gnat_rm.texi: Regenerate.

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

	* aspects.adb (Relocate_Aspect): Remove call to Set_Has_Aspects.
	* sem_ch12.adb (Analyze_Formal_Package_Declaration): Likewise.
	* sem_util.adb (Copy_Ghost_Aspect, Copy_SPARK_Mode_Aspect):
	Likewise.

2022-11-04  Javier Miranda  <miranda@adacore.com>

	* exp_intr.adb
	(Expand_Dispatching_Constructor_Call): Report an error on
	unsupported dispatching constructor calls and report a warning on
	calls that may fail at run time.

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

	* sem_util.adb
	(Check_Components): Iterate using
	First/Next_Component_Or_Discriminant.
	(Has_Preelaborable_Initialization): Avoid repeated iteration with
	calls to Check_Components with First_Entity and
	First_Private_Entity.
	(Is_Independent_Object_Entity): Tune indentation.

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

	* sem_ch7.adb (Clear_Constants): Only iterate from First_Entity
	through Next_Entity; only examine variables because packages have
	no assignable formal parameters.

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

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix
	typos.
	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Fix typos
	and refill as necessary; remove trailing whitespace.
	* doc/gnat_ugn/gnat_and_program_execution.rst: Fix typos.
	* gnat_ugn.texi: Regenerate.

2022-11-04  Marc Poulhiès  <poulhies@adacore.com>

	* sem_util.ads (Add_Block_Identifier): Add new extra Scope
	argument.
	* sem_util.adb (Add_Block_Identifier): Likewise and use this scope
	variable instead of Current_Scope.
	* exp_util.adb (Wrap_Statements_In_Block): Add new scope argument
	to Add_Block_Identifier call.

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

	* sem_util.adb (Kill_Current_Values): Only iterate from
	First_Entity through Next_Entity.

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

	* sem_ch6.adb (Controlling_Formal): Iterate with First/Next_Formal
	and not with First/Next_Entity.

2022-11-04  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb
	(Expand_Interface_Conversion): Fix typo in comment.

2022-11-04  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb
	(Expand_Interface_Conversion): Under configurable runtime, when
	the target type is an interface that is an ancestor of the operand
	type, skip generating code to displace the pointer to reference
	the target dispatch table.
	* sem_disp.adb
	(Propagate_Tag): Handle class-wide types when checking for the
	addition of an implicit interface conversion.

2022-11-04  Ronan Desplanques  <desplanques@adacore.com>

	* doc/gnat_rm/standard_library_routines.rst: Fix typo.
	* gnat_rm.texi: Regenerate.

2022-11-04  Ghjuvan Lacambre  <lacambre@adacore.com>

	* sa_messages.ads, sa_messages.adb: Remove files.

2022-11-04  Ghjuvan Lacambre  <lacambre@adacore.com>

	* checks.adb, exp_atag.adb, exp_attr.adb, exp_ch4.adb, exp_ch6.adb,
	exp_ch7.adb, exp_dbug.adb, exp_disp.adb, exp_unst.adb, exp_util.adb,
	freeze.adb, layout.adb, pprint.adb, rtsfind.adb, sem_aggr.adb,
	sem_attr.adb, sem_case.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
	sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_dim.adb, sem_prag.adb,
	sem_util.adb, sem_warn.adb:
	Replace uses of `not Present (X)` with `No (X)`.

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

	* einfo.ads: Fix typos in comments; refill as necessary.
	* sinfo.ads: Likewise.

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

	* doc/gnat_rm/implementation_defined_aspects.rst: Fix typos.
	* doc/gnat_rm/implementation_defined_attributes.rst: Likewise
	* doc/gnat_rm/implementation_defined_characteristics.rst: Likewise
	* doc/gnat_rm/implementation_defined_pragmas.rst: Likewise
	* doc/gnat_rm/standard_library_routines.rst: Likewise.
	* gnat_rm.texi: Regenerate.

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

	* sem_ch8.adb (Restore_Scope_Stack): Remove elements from the head
	and not the tail of an element list.

2022-11-04  Ronan Desplanques  <desplanques@adacore.com>

	* sinfo.ads: Small editorial changes.

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

	* opt.ads: Replace Ada_Version_Type enumeration literal
	Ada_With_Extensions with two literals, Ada_With_Core_Extensions
	and Ada_With_All_Extensions. Update uses of the deleted literal.
	Replace Extensions_Allowed function with two functions:
	All_Extensions_Allowed and Core_Extensions_Allowed.
	* errout.ads, errout.adb: Add Boolean parameter to
	Error_Msg_GNAT_Extension to indicate whether the construct in
	question belongs to the curated subset.
	* exp_ch5.adb, par-ch4.adb, sem_case.adb, sem_ch3.adb:
	* sem_ch4.adb, sem_ch5.adb, sem_ch8.adb: Replace calls to
	Extensions_Allowed with calls to Core_Extensions_Allowed for
	constructs that are in the curated subset.
	* sem_attr.adb, sem_ch13.adb, sem_eval.adb, sem_util.adb: Replace
	calls to Extensions_Allowed with calls to All_Extensions_Allowed
	for constructs that are not in the curated subset.
	* par-ch3.adb: Override default for new parameter in calls to
	Error_Msg_GNAT_Extension for constructs in the curated subset.
	* par-prag.adb: Add Boolean parameter to Check_Arg_Is_On_Or_Off to
	also allow ALL. Set Opt.Ada_Version appropriately for ALL or ON
	arguments.
	* sem_prag.adb: Allowed ALL argument for an Extensions_Allowed
	pragma. Set Opt.Ada_Version appropriately for ALL or ON arguments.
	* switch-c.adb: The -gnatX switch now enables only the curated
	subset of language extensions (formerly it enabled all of them);
	the new -gnatX0 switch enables all of them.
	* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
	Document new "-gnatX0" switch and update documentation for
	"-gnatX" switch.
	* doc/gnat_rm/implementation_defined_pragmas.rst: Document new ALL
	argument for pragma Extensions_Allowed and update documentation
	for the ON argument. Delete mention of Ada 2022 Reduce attribute
	as an extension.
	* gnat_rm.texi, gnat_ugn.texi: Regenerate.

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

	* bindgen.adb: Introduce two new string constants for the names of
	the C-String variables that are assigned the names for adainit and
	adafinal. Replace string literals in Gen_CUDA_Init with references
	to these constants. In Gen_CUDA_Defs, generate C-String variable
	declarations where these constants are the names of the variables.

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

	* sem_ch9.adb (Satisfies_Lock_Free_Requirements): Ignore
	references to global variables inserted due to pragma
	Initialize_Scalars.

2022-11-04  Cedric Landet  <landet@adacore.com>

	* doc/gnat_rm/implementation_defined_pragmas.rst: Remove VxWorks
	version 6.
	* gnat_rm.texi, gnat_ugn.texi: Regenerate.

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

	* sem_ch9.adb (Satisfies_Lock_Free_Requirements): Detect
	references via expanded names.

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

	* bindgen.adb
	(Gen_CUDA_Init): Move existing loop body into a new local
	procedure, Gen_CUDA_Register_Function_Call, and replace that loop
	body with a call to this procedure. This first part is just
	semantics-preserving refactoring. The second part is to add
	Gen_CUDA_Register_Function_Call calls after the loop for the
	device-side adainit and adafinal procedures.

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

	* libgnat/system-linux-sparc.ads (Support_Atomic_Primitives): New
	constant set to True.

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

	* gcc-interface/ada-tree.def (LOAD_EXPR): New expression code.
	* gcc-interface/gigi.h (build_storage_model_load): Declare.
	(build_storage_model_store): Likewise.
	(instantiate_load_in_expr): Likewise.
	(INSTANTIATE_LOAD_IN_EXPR): New macro.
	(instantiate_load_in_array_ref): Declare.
	* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Type>: Set a
	fake discriminant number on the fields of the template type.
	(gnat_to_gnu_field): Use integer for DECL_DISCRIMINANT_NUMBER.
	* gcc-interface/misc.cc (gnat_init_ts): Mark LOAD_EXPR as typed.
	* gcc-interface/trans.cc (fold_constant_decl_in_expr) <ARRAY_REF>:
	Also preserve the 4th operand.
	(Attribute_to_gnu): Deal with LOAD_EXPR of unconstrained array type.
	<Attr_Size>: Call INSTANTIATE_LOAD_IN_EXPR for a storage model.
	<Attr_Length>: Likewise.
	<Attr_Bit_Position>: Likewise.
	(get_storage_model): New function.
	(get_storage_model_access): Likewise.
	(storage_model_access_required_p): Likewise.
	(Call_to_gnu): Add GNAT_STORAGE_MODEL parameter and deal with it.
	Also deal with actual parameters that have a storage model.
	(gnat_to_gnu) <N_Object_Declaratio>: Adjust call to Call_to_gnu.
	<N_Explicit_Dereference>: Deal with a storage model access.
	<N_Indexed_Component>: Likewise.
	<N_Slice>: Likewise.
	<N_Selected_Component>: Likewise.
	<N_Assignment_Statement>: Adjust call to Call_to_gnu.  Deal with a
	storage model access either on the LHS, on the RHS or on both.
	<N_Function_Cal>: Adjust call to Call_to_gnu.
	<N_Free_Statement>: Deal with a pool that is a storage model.
	Replace test for UNCONSTRAINED_ARRAY_REF with test on the type.
	(gnat_gimplify_expr) <CALL_EXPR>: Tidy up.
	<LOAD_EXPR>: New case.
	<UNCONSTRAINED_ARRAY_REF>: Move down.
	* gcc-interface/utils.cc (maybe_unconstrained_array): Deal with a
	LOAD_EXPR by recursing on its first operand.
	* gcc-interface/utils2.cc (build_allocator): Deal with a pool that
	is a storage model.
	(build_storage_model_copy): New function.
	(build_storage_model_load): Likewise.
	(build_storage_model_store): Likewise.
	(instantiate_load_in_expr): Likewise.
	(instantiate_load_in_array_ref): Likewise.
	(gnat_rewrite_reference) <ARRAY_REF>: Also preserve the 4th operand.
	(get_inner_constant_reference) <ARRAY_REF>: Remove useless test.
	(gnat_invariant_expr) <ARRAY_REF>: Rewrite test.

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

	* sem_ch6.adb
	(Analyze_Procedure_Call): Replace "return;" with "goto Leave;", as
	per comment preceding body of Analyze_Procedure_Call.

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

	* sem_ch9.adb (Allows_Lock_Free_Implementation): Reject
	conditional goto statements.

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

	* doc/gnat_rm/implementation_defined_pragmas.rst
	(Lock_Free): Remove inconsistent periods that end item
	descriptions.
	* sem_ch9.adb
	(Allows_Lock_Free_Implementation): Remove unnecessary guard
	against an empty list of parameters; replace low-level entity kind
	membership test with a high-level query; refill error message.
	* gnat_rm.texi: Regenerate.

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

	* doc/gnat_rm/security_hardening_features.rst: Add examples of
	codegen changes in hardened conditionals.
	* gnat_rm.texi: Regenerate.

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

	* doc/gnat_rm/security_hardening_features.rst: Add examples of
	codegen changes in hardened booleans. Mention that C traps where
	Ada raises exceptions.
	* gnat_rm.texi: Regenerate.

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

	* doc/gnat_rm/security_hardening_features.rst: Add examples of
	codegen changes in stack scrubbing.
	* gnat_rm.texi: Regenerate.

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

	* exp_ch9.adb (Build_Lock_Free_Protected_Subprogram_Body): Replace
	shallow copy of protected statements with a deep copy.

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

	* fe.h (Has_Storage_Model_Type_Aspect)
	(Has_Designated_Storage_Model_Aspect, Storage_Model_Object)
	(Storage_Model_Copy_From, Storage_Model_Copy_To): Add
	declarations.
	* sem_util.ads: Add WARNING markers for functions for which a new
	C declaration has been added in fe.h

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

	* exp_util.adb
	(Get_Current_Value_Condition): Treat references occurring within
	the condition of an if statement, an elsif, or a while loop in the
	same way as references that occur before the start of that
	enclosing construct.

2022-10-06  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch4.adb (Analyze_Call): Add test of Comes_From_Source on the
	enclosing subprogram's Entity_Id for determining whether to
	perform the compile-time accessibility check on actuals passed to
	aliased formals in a function call occurring within a return
	statement. That test excludes cases where the call occurs within
	the return statement of a Pre'Class wrapper function.

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

	* exp_ch5.adb
	(Expand_Assign_Array_Loop_Or_Bitfield): Minor cleanups.

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

	* sem_prag.adb (Analyze_Pragma): Ignore one variant of pragma
	Warnings in GNATprove mode.

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

	* exp_ch5.adb
	(Expand_Assign_Array_Loop_Or_Bitfield): Disable the
	Fast_Copy_Bitfield optimization in certain cases.

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

	* sem_prag.adb
	(Sig_Pragma): Change flag for pragma Refined_State to mean "not
	significant"; this is primarily for documentation, because the
	exact value of the flag is not really taken into account for
	Refined_State.
	(Is_Non_Significant_Pragma_Reference): Add special handling for
	pragma Refined_State.

2022-09-29  Ronan Desplanques  <desplanques@adacore.com>

	* einfo.ads: remove documentation duplicate

2022-09-29  Eric Botcazou  <ebotcazou@adacore.com>

	* contracts.adb (Build_Subprogram_Contract_Wrapper): Put back the
	extended return statement if the result type is built-in-place.
	* sem_attr.adb (Analyze_Attribute_Old_Result): Also expect an
	extended return statement.

2022-09-29  Bob Duff  <duff@adacore.com>

	* exp_ch5.adb
	(Expand_Assign_Array_Loop_Or_Bitfield): Make the checks for
	volatile and independent objects more precise.

2022-09-29  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Collect_Visible_States): Ignore package renamings.

2022-09-26  Ghjuvan Lacambre  <lacambre@adacore.com>

	* doc/gnat_rm/implementation_defined_attributes.rst: Rename Valid_Image.
	* gnat_rm.texi: Regenerate.
	* gnat_ugn.texi: Regenerate.

2022-09-26  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Relocate
	auxiliary declarations from the original compilation unit to the
	newly created compilation unit for the spec.

2022-09-26  Piotr Trojanek  <trojanek@adacore.com>

	* rtsfind.ads
	(RTU_Id): Remove unreferenced packages; fix whitespace.
	(RE_Id): Remove unreferenced entities; add comment about entity
	that is only used by GNATprove and not by GNAT.

2022-09-26  Piotr Trojanek  <trojanek@adacore.com>

	* s-oscons-tmplt.c (STR, STR1): Remove.

2022-09-26  Eric Botcazou  <ebotcazou@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst
	(-gnateT): Document new parameter Long_Long_Long_Size.
	* gnat_ugn.texi: Regenerate.

2022-09-26  Steve Baird  <baird@adacore.com>

	* bindgen.adb: When the binder is invoked for the device, specify
	the CUDA_Global aspect for the adainit and adafinal procedures via
	a pragma instead of via an aspect_specification.

2022-09-26  Kévin Le Gouguec  <legouguec@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst
	(Linker Switches): Document support for mold along with gold; add some
	advice regarding OpenSSL in the Pro version.
	* gnat_ugn.texi: Regenerate.

2022-09-26  Tucker Taft  <taft@adacore.com>

	* sem_util.adb (Original_Aspect_Pragma_Name): Check for Check
	pragmas.

2022-09-26  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): Delay expansion
	based on Full_Analysis flag.

2022-09-26  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): Delay expansion of
	for iterated component association just like it is done within
	quantified expression.

2022-09-26  Piotr Trojanek  <trojanek@adacore.com>

	* contracts.adb (Analyze_Object_Contract): Check SPARK_Mode before
	applying SPARK rule.

2022-09-26  Justin Squirek  <squirek@adacore.com>

	* sem_util.adb
	(Accessibility_Level): Modify indexed and selected components case
	by reducing the scope where Original_Node gets used.

2022-09-26  Boris Yakobowski  <yakobowski@adacore.com>

	* doc/gnat_ugn/gnat_utility_programs.rst: Remove documentation for
	gnatmetric.

2022-09-26  Piotr Trojanek  <trojanek@adacore.com>

	* gsocket.h: Remove redefinition of _WIN32_WINNT.
	* mingw32.h: Remove conditional definition of _WIN32_WINNT.

2022-09-26  Piotr Trojanek  <trojanek@adacore.com>

	* mingw32.h: Remove condition definition of MAXPATHLEN; the include
	directive for stdlib.h was most likely intended to provide the
	MAX_PATH.

2022-09-26  Piotr Trojanek  <trojanek@adacore.com>

	* adaint.c: Remove conditional #include directives for old MinGW.
	* cal.c: Always include winsock.h, since it is part of modern
	MinGW.
	* cstreams.c: Remove workaround for old MinGW.
	* expect.c: Remove conditional #include directive for old MinGW.
	* mingw32.h: Remove STD_MINGW and OLD_MINGW declarations.
	* sysdep.c: Remove conditional #include directive for old MinGW.

2022-09-26  Piotr Trojanek  <trojanek@adacore.com>

	* sem_warn.ads (Has_Junk_Name): Reword comment.

2022-09-20  Martin Liska  <mliska@suse.cz>

	* exp_ch6.adb: Replace "the the" with "the".
	* sem_ch6.adb: Likewise.
	* sem_disp.ads: Likewise.

2022-09-15  Richard Biener  <rguenther@suse.de>

	* gcc-interface/trans.cc (gigi): Do not initialize void_list_node.

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

	* gcc-interface/decl.cc (gnat_to_gnu_entity): Relax assertion when
	front-end unnesting is enabled.

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

	* sem_util.adb
	(Innermost_Master_Scope_Depth): Detect and handle case where scope
	depth is not set on an enclosing scope.

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

	* bindgen.adb: When the binder is invoked for the host, generate a
	"with CUDA.Internal;" with clause.

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

	* doc/gnat_rm/implementation_defined_pragmas.rst
	(Pragma Unreferenced): Sync description with
	Sem_Warn.Has_Junk_Name routine.
	* gnat_rm.texi: Regenerate.
	* gnat_ugn.texi: Regenerate.

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

	* sem_attr.adb (Analyze_Attribute [Valid_Scalars]): Move check for
	unchecked union before checks for private and public types.

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

	* bindgen.adb: When the binder is invoked for the host, it
	declares imported subprograms corresponding to the Adainit and
	Adafinal routines on the device. Declare string constants and
	expression functions for the Ada source names and the link names
	of these routines. Generate these subprogram declarations (and
	accompanying Import pragmas) in Gen_CUDA_Defs. Generate
	CUDA_Execute pragmas to call these subprograms from the host in
	Gen_Adafinal and Gen_CUDA_Init. When the binder is invoked for the
	device, include a CUDA_Global aspect declaration in the
	declarations of Adainit and Adafinal and use the aforementioned
	link names in the Export pragmas generated for those two routines.
	* debug.adb: Update comments about "d_c" and "d_d" switches.
	* opt.ads: Declare new Boolean variable,
	Enable_CUDA_Device_Expansion. This complements the existing
	Enable_CUDA_Expansion variable, which is used to enable host-side
	CUDA expansion. The new variable enables device-side CUDA
	expansion. It is currently never set during compilation; it is
	only set via a binder switch.
	* switch-b.adb
	(scan_debug_switches): Add new use of the "-d_d" binder switch.
	The new switch and the variable Opt.Enabled_CUDA_Device_Expansion
	follow the existing pattern of the "-d_c" switch and the variable
	Opt.Enabled_CUDA_Expansion. Flag error if both "-d_c" and "-d_d"
	are specified.

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

	* contracts.adb (Build_Subprogram_Contract_Wrapper): Remove useless
	local variable. In the case of a function, replace the extended
	return statement by a block statement declaring a renaming of the
	call to the local subprogram after removing side effects manually.
	(Expand_Subprogram_Contract): Adjust description accordingly.
	* exp_ch6.adb (Expand_Ctrl_Function_Call): Rewrite obsolete
	comment and do not apply the transformation twice.
	* sem_attr.adb (Analyze_Attribute_Old_Result): Now expect a block
	statement instead of an extended return statement.

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

	* erroutc.adb (Set_Msg_Insertion_Name): Special-case printing with
	acronyms.

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

	* libgnat/s-imagei.adb (Image_Integer): Add justification.

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

	* sem_prag.adb (Get_SPARK_Mode_Type): Fix header box; replace
	chained IF with a CASE statement.

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

	* sem_prag.adb (Analyze_Pragma): Accept SPARK_Mode=>Auto as
	configuration pragma.
	(Get_SPARK_Mode): Make the value for Auto explicit.
	* snames.ads-tmpl (Name_Auto): Add name.

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

	* doc/gnat_rm/the_gnat_library.rst: Remove paragraphs about SPARK
	containers.
	* gnat_rm.texi, gnat_ugn.texi: Regenerate.

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

	* libgnat/s-maccod.ads: Mark package as SPARK_Mode Off.

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

	* fe.h (Unnest_Subprogram_Mode): Declare.

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

	* contracts.adb
	(Analyze_Package_Contract): Do not analyze the contract of a
	temporary package created just to check conformance of an actual
	package.

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

	* Makefile.rtl: Remove SPARK containers filenames.
	* impunit.adb: Remove SPARK containers packages names.
	* libgnat/a-cfdlli.adb, libgnat/a-cfdlli.ads: Remove content and
	add pragma Compile_Time_Error with suitable message.
	* libgnat/a-cfhama.adb, libgnat/a-cfhama.ads: Likewise.
	* libgnat/a-cfhase.adb, libgnat/a-cfhase.ads: Likewise.
	* libgnat/a-cfidll.adb, libgnat/a-cfidll.ads: Likewise.
	* libgnat/a-cfinse.adb, libgnat/a-cfinse.ads: Likewise.
	* libgnat/a-cfinve.adb, libgnat/a-cfinve.ads: Likewise.
	* libgnat/a-cforma.adb, libgnat/a-cforma.ads: Likewise.
	* libgnat/a-cforse.adb, libgnat/a-cforse.ads: Likewise.
	* libgnat/a-cofove.adb, libgnat/a-cofove.ads: Likewise.
	* libgnat/a-cofuma.adb, libgnat/a-cofuma.ads: Likewise.
	* libgnat/a-cofuse.adb, libgnat/a-cofuse.ads: Likewise.
	* libgnat/a-cofuve.adb, libgnat/a-cofuve.ads: Likewise.
	* libgnat/a-cofuba.adb, libgnat/a-cofuba.ads: Remove package.

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

	* exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]):
	Adapt to object declaration being rewritten into object renaming.

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

	* contracts.adb, contracts.ads
	(Analyze_Pragmas_In_Declarations): Added to aid in the new
	expansion model so that pragmas relating to contracts can get
	processed early before the rest of the subprogram containing them.
	(Build_Subprogram_Contract_Wrapper): Created to do the majority of
	expansion for postconditions. It builds a local wrapper with the
	statements and declarations within a given subprogram.
	(Is_Prologue_Renaming): Moved out from Process_Preconditions to be
	used generally within the contracts package.
	(Build_Entry_Contract_Wrapper): Moved from exp_ch7.
	(Expand_Subprogram_Contract): Add new local variable Decls to
	store expanded declarations needed for evaluation of contracts.
	Call new wrapper building procedure and modify comments to match
	new expansion model.
	(Get_Postcond_Enabled): Deleted.
	(Get_Result_Object_For_Postcond): Deleted.
	(Get_Return_Success_For_Postcond): Deleted.
	(Process_Contract_Cases): Add new parameter to store declarations.
	(Process_Postconditions): Add new parameter to store declarations.
	(Process_Preconditions): Add new parameter to store declarations.
	Add code to move entry-call prologue renamings
	* einfo.ads: Document new field Wrapped_Statements and modify
	comment for Postconditions_Proc.
	* exp_attr.adb
	(Analyze_Attribute): Modify expansion of the 'Old attribute to
	recognize new expansion model and use Wrapped_Statements instead
	of Postconditions_Proc.
	* exp_ch6.adb
	(Add_Return): Remove special expansion for postconditions.
	(Expand_Call): Modify condition checking for calls to access
	subprogram wrappers to handle new expansion models.
	(Expand_Call_Helper): Remove special expansion for postconditions.
	(Expand_Non_Function_Return): Remove special expansion for
	postconditions.
	(Expand_Simple_Function_Return): Remove special expansion for
	postconditions.
	* exp_ch7.adb
	(Build_Finalizer): Deleted, but replaced by code in
	Build_Finalizer_Helper
	(Build_Finalizer_Helper): Renamed to Build_Finalizer, and special
	handling of 'Old objects removed.
	* exp_ch9.adb
	(Build_Contract_Wrapper): Renamed and moved to contracts package.
	* exp_prag.adb
	(Expand_Pragma_Contract_Cases): Delay analysis of contracts since
	they now instead get analyzed as part of the wrapper generation
	instead of after analysis of their corresponding subprogram's
	body.
	(Expand_Pragma_Check): Label expanded if-statements which come
	from the expansion of assertion statements as
	Comes_From_Check_Or_Contract.
	* freeze.adb
	(Freeze_Entity): Add special case to avoid freezing when a freeze
	node gets generated as part of the expansion of a postcondition
	check.
	* gen_il-gen-gen_nodes.adb: Add new flag
	Comes_From_Check_Or_Contract.
	* gen_il-fields.ads: Add new field Wrapped_Statements. Add new
	flag Comes_From_Check_Or_Contract.
	* gen_il-gen-gen_entities.adb: Add new field Wrapped_Statements.
	* ghost.adb
	(Is_OK_Declaration): Replace Name_uPostconditions with
	Name_uWrapped_Statements.
	(Is_OK_Statement): Simplify condition due to the loss of
	Original_Node as a result of the new expansion model of contracts
	and use new flag Comes_From_Check_Or_Contract in its place.
	* inline.adb
	(Declare_Postconditions_Result): Replace Name_uPostconditions with
	Name_uWrapped_Statements.
	(Expand_Inlined_Call): Replace Name_uPostconditions with
	Name_uWrapped_Statements.
	* lib.adb, lib.ads
	(ipu): Created to aid in debugging.
	* lib-xref.adb
	(Generate_References): Remove special handling for postcondition
	procedures.
	* sem_attr.adb
	(Analyze_Attribute_Old_Result): Add new context in which 'Old can
	appear due to the changes in expansion. Replace
	Name_uPostconditions with Name_uWrapped_Statements.
	(Result): Replace Name_uPostconditions with
	Name_uWrapped_Statements.
	* sem_ch11.adb
	(Analyze_Handled_Statements): Remove check to exclude warnings on
	useless assignments within postcondition procedures since
	postconditions no longer get isolated into separate subprograms.
	* sem_ch6.adb
	(Analyze_Generic_Subprogram_Body): Modify expansion of generic
	subprogram bodies so that contracts (and their associated pragmas)
	get analyzed first.
	(Analyze_Subprogram_Body_Helper): Remove global HSS variable due
	to the HSS of the body potentially changing during the expansion
	of contracts. In cases where it was used instead directly call
	Handled_Statement_Sequence. Modify expansion of subprogram bodies
	so that contracts (and their associated pragmas) get analyzed
	first.
	(Check_Missing_Return): Create local HSS variable instead of using
	a global one.
	(Move_Pragmas): Use new pragma table instead of an explicit list.
	* sem_elab.adb
	(Is_Postconditions_Proc): Deleted since the new scheme of
	expansion no longer divides postcondition checks to a separate
	subprogram and so cannot be easily identified (similar to
	pre-condition checks).
	(Info_Call): Remove info printing for _Postconditions subprograms.
	(Is_Assertion_Pragma_Target): Remove check for postconditions
	procedure
	(Is_Bridge_Target): Remove check for postconditions procedure.
	(Get_Invocation_Attributes): Remove unneeded local variables and
	check for postconditions procedure.
	(Output_Call): Remove info printing for _Postconditions
	subprograms.
	* sem_prag.adb, sem_prag.ads: Add new Pragma table for pragmas
	significant to subprograms, along with tech-debt comment.
	(Check_Arg_Is_Local_Name): Modified to recognize the new
	_Wrapped_Statements internal subprogram and the new expansion
	model.
	(Relocate_Pragmas_To_Body): Replace Name_uPostconditions with
	Name_uWrapped_Statements.
	* sem_res.adb
	(Resolve_Entry_Call): Add conditional to detect both contract
	based wrappers of entries, but also wrappers generated as part of
	general contract expansion (e.g. local postconditions
	subprograms).
	* sem_util.adb
	(Accessibility_Level): Verify 'Access is not taken based on a
	component of a function result.
	(Has_Significant_Contracts): Replace Name_uPostconditions with
	Name_uWrapped_Statements.
	(Same_Or_Aliased_Subprogram): Add conditional to detect and obtain
	the original subprogram based on the new concept of
	"postcondition" wrappers.
	* sinfo.ads: Add documentation for new flag
	Comes_From_Check_Or_Contract.
	* snames.ads-tmpl: Remove Name_uPostconditions and add
	Name_uWrapped_Statements

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

	* exp_unst.adb (Unnest_Subprograms.Search_Subprograms): Skip the
	subprogram bodies that are not to be unnested.

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

	* sem_aggr.adb
	(Resolve_Array_Aggregate): Generate an appropriate error message
	in the case where an error in the source code leads to an
	N_Iterated_Element_Association node in a bad context.

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

	* sem_ch4.adb
	(Analyze_Selected_Component): Initialize the local variable Comp
	to avoid having CodePeer generate an uninitialized variable
	warning.

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

	* sem_ch4.adb
	(Analyze_Selected_Component): Avoid initializing the local
	variable Comp if the variable is not going to be subsequently
	referenced. This is a correctness issue because the call to
	First_Entity can fail.

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

	* sem_ch9.adb
	(Satisfies_Lock_Free_Requirements): If Ceiling_Locking locking
	policy has been specified, then either return False (if Lock_Free
	was not explicitly specified) or generate a warning that ceiling
	locking will not be implemented for this protected unit (if
	Lock_Free was explicitly specified). Generate an error message (in
	addition to returning False) if an explicit Lock_Free aspect
	specification is rejected because atomic primitives are not
	supported on the given target.
	* doc/gnat_rm/implementation_defined_pragmas.rst: Clarify that the
	Lock_Free aspect for a protected unit takes precedence over the
	Ceiling_Locking locking policy in the case where both apply.
	* gnat_rm.texi: Regenerate.

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

	* exp_ch9.adb (Build_Protected_Spec): Tidy up and propagate the
	Comes_From_Source flag onto the new formal parameters.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not check
	references for subprograms generated for protected subprograms.

2022-09-12  Gary Dismukes  <dismukes@adacore.com>

	* sem_res.adb
	(Resolve_Equality_Op): Add handling for equality ops with
	user-defined literal operands.
	* sem_util.ads
	(Is_User_Defined_Literal): Update spec comment to indicate
	inclusion of named number cases.
	* sem_util.adb
	(Corresponding_Primitive_Op): Rather than following the chain of
	ancestor subprograms via Alias and Overridden_Operation links, we
	check for matching profiles between primitive subprograms of the
	descendant type and the ancestor subprogram (by calling a new
	nested function Profile_Matches_Ancestor). This prevents the
	compiler from hanging due to circular linkages via those fields
	that can occur between inherited and overriding subprograms
	(which might indicate a latent bug, but one that may be rather
	delicate to resolve).
	(Profile_Matches_Ancestor): New nested subprogram to compare the
	profile of a primitive subprogram with the profile of a candidate
	ancestor subprogram.
	(Is_User_Defined_Literal): Also return True in cases where the
	node N denotes a named number (E_Name_Integer and E_Named_Real).

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

	* debug.adb: remove a comment.

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

	* checks.adb
	(Selected_Length_Checks): In the message for an aggregate that has
	too few or too many elements, add "!!" to make sure the warning
	gets printed in with'ed units. Note that we have to put "!!"
	before the "??", because Compile_Time_Constraint_Error detects
	warnings by comparing the last character of the message with '?'
	(which is bit dubious, but we're not changing that here).
	(Length_Mismatch_Info_Message): Use Unat for some things that
	can't be negative. Specify Decimal instead of Auto in calls to
	UI_Image.
	* sem_util.adb
	(Compile_Time_Constraint_Error): Minor.
	* uintp.adb
	(Image_Uint): It's always better to initialize objects on their
	declaration.

2022-09-12  Patrick Bernardi  <bernardi@adacore.com>

	* libgnat/system-vxworks7-x86_64-kernel.ads: Set
	Support_Atomic_Primitives to false.
	* libgnat/system-vxworks7-x86_64-rtp-smp.ads: Ditto.

2022-09-12  Patrick Bernardi  <bernardi@adacore.com>

	* libgnat/system-qnx-arm.ads: Set Support_Atomic_Primitives to
	false.
	* libgnat/system-vxworks7-aarch64.ads: Ditto.
	* libgnat/system-vxworks7-aarch64-rtp-smp.ads: Ditto.
	* libgnat/system-vxworks7-arm.ads: Ditto.
	* libgnat/system-vxworks7-arm-rtp-smp.ads: Ditto.
	* libgnat/system-vxworks7-x86-kernel.ads: Ditto.
	* libgnat/system-vxworks7-x86-rtp-smp.ads: Ditto.

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

	* par-tchk.adb, par-util.adb, prep.adb, prepcomp.adb, scng.adb:
	Use "in" instead of chains of "=" connected with "or else".
	Likewise for "not in", "/=", "and then". Misc cleanup.
	* par-ch10.adb, par-ch12.adb, par-ch13.adb, par-ch4.adb: Likewise.
	* par-ch8.adb, par-ch9.adb, par-endh.adb, par-sync.adb: Likewise.
	* par.adb
	(Pf_Rec): Remove filler, which was added August 25, 1993 to get
	around a compiler limitation that no longer exists. Minor cleanup.
	Remove useless qualfications.
	* par-ch3.adb: Remove redundant return statements.
	(Component_Scan_Loop): Remove loop name; there are no nested
	loops, so it's unnecessary and possibly misleading, and it causes
	too-long lines.
	* par-ch5.adb: DRY: Remove comments that repeat the comments in
	par.adb.
	(P_Sequence_Of_Statements): It is better to initialize things on
	the declaration. And constants are better than variables.
	(Test_Statement_Required): Remove unnecessary insertion of a null
	statement.
	* par-ch6.adb, par-ch7.adb: DRY: Remove comments that repeat the
	comments in par.adb.

2022-09-12  Javier Miranda  <miranda@adacore.com>

	Revert:
	2022-09-06  Javier Miranda  <miranda@adacore.com>

	* debug.adb
	(Debug_Flag_Underscore_X): Switch added temporarily to allow
	disabling extra formal checks.
	* exp_attr.adb
	(Expand_N_Attribute_Reference [access types]): Add extra formals
	to the subprogram referenced in the prefix of 'Unchecked_Access,
	'Unrestricted_Access or 'Access; required to check that its extra
	formals match the extra formals of the corresponding subprogram
	type.
	* exp_ch3.adb
	(Stream_Operation_OK): Declaration moved to the public part of the
	package.
	(Validate_Tagged_Type_Extra_Formals): New subprogram.
	(Expand_Freeze_Record_Type): Improve the code that takes care of
	adding the extra formals of dispatching primitives; extended to
	add also the extra formals to renamings of dispatching primitives.
	* exp_ch3.ads
	(Stream_Operation_OK): Declaration moved from the package body.
	* exp_ch6.adb
	(Has_BIP_Extra_Formal): Subprogram declaration moved to the public
	part of the package. In addition, a parameter has been added to
	disable an assertion that requires its use with frozen entities.
	(Expand_Call_Helper): Enforce assertion checking extra formals on
	thunks.
	(Is_Build_In_Place_Function): Return False for entities with
	foreign convention.
	(Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of
	Is_Return_Object replaced by the local variable
	Is_OK_Return_Object that evaluates to False for scopes with
	foreign convention.
	(Might_Have_Tasks): Fix check of class-wide limited record types.
	(Needs_BIP_Task_Actuals): Remove assertion to allow calling this
	function in more contexts; in addition it returns False for
	functions returning objects with foreign convention.
	(Needs_BIP_Finalization_Master): Likewise.
	(Needs_BIP_Alloc_Form): Likewise.
	* exp_ch6.ads
	(Stream_Operation_OK): Declaration moved from the package body. In
	addition, a parameter has been added to disable assertion that
	requires its use with frozen entities.
	* freeze.adb
	(Check_Itype): Add extra formals to anonymous access subprogram
	itypes.
	(Freeze_Expression): Improve code that disables the addition of
	extra formals to functions with foreign convention.
	(Check_Extra_Formals): Moved to package Sem_Ch6 as
	Extra_Formals_OK.
	(Freeze_Subprogram): Add extra formals to non-dispatching
	subprograms.
	* sem_ch3.adb
	(Access_Subprogram_Declaration): Defer the addition of extra
	formals to the freezing point so that we know the convention.
	(Check_Anonymous_Access_Component): Likewise.
	(Derive_Subprogram): Fix documentation.
	* sem_ch6.adb
	(Check_Anonymous_Return): Fix check of access to class-wide
	limited record types.
	(Check_Untagged_Equality): Placed in alphabetical order.
	(Extra_Formals_OK): Subprogram moved from freeze.adb.
	(Extra_Formals_Match_OK): New subprogram.
	(Has_BIP_Formals): New subprogram.
	(Has_Extra_Formals): New subprograms.
	(Needs_Accessibility_Check_Extra): New subprogram.
	(Needs_Constrained_Extra): New subprogram.
	(Parent_Subprogram): New subprogram.
	(Add_Extra_Formal): Minor code cleanup.
	(Create_Extra_Formals): Enforce matching extra formals on
	overridden and aliased entities.
	(Has_Reliable_Extra_Formals): New subprogram.
	* sem_ch6.ads
	(Extra_Formals_OK): Subprogram moved from freeze.adb.
	(Extra_Formals_Match_OK): New subprogram.
	* sem_eval.adb
	(Compile_Time_Known_Value): Improve predicate to avoid assertion
	failure; found working on this ticket; this change does not affect
	the behavior of the compiler because this subprogram has an
	exception handler that returns False when the assertion fails.
	* sem_util.adb
	(Needs_Result_Accessibility_Level): Do not return False for
	dispatching operations compiled with Ada_Version < 2012 since they
	they may be overridden by primitives compiled with Ada_Version >=
	Ada_2012.

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

	* gcc-interface/decl.cc (gnat_to_gnu_param): Set DECL_ARTIFICIAL.

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

	* gcc-interface/trans.cc (At_End_Proc_to_gnu): Use the End_Label of
	the child Handled_Statement_Sequence for body nodes.
	(set_end_locus_from_node): Minor tweaks.

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

	* gcc-interface/trans.cc (Full_View_Of_Private_Constant): New
	function returning the Full_View of a private constant, after
	looking through a chain of renamings, if any.
	(Identifier_to_gnu): Call it on the entity.  Small cleanup.

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

	* gcc-interface/utils.cc (gnat_pushdecl): Preserve named
	TYPE_DECLs consistently for all kind of pointer types.

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

	* gcc-interface/trans.cc (gnat_to_gnu) <N_Op_Divide>: Report a
	violation of No_Dependence on System.GCC if the result type is
	larger than a word.
	<N_Op_Shift>: Likewise.
	<N_Op_Mod>: Likewise.
	<N_Op_Rem>: Likewise.
	(convert_with_check): Report a violation of No_Dependence on
	System.GCC for a conversion between an integer type larger than
	a word and a floating-point type.

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

	* sem_ch9.adb
	(Allows_Lock_Free_Implementation): Return False if
	Support_Atomic_Primitives is False.

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

	* debug.adb: Remove comment regarding the -gnatd9 switch.
	* doc/gnat_rm/implementation_defined_attributes.rst: Remove all
	mention of the Lock_Free attribute.
	* gnat_rm.texi, gnat_ugn.texi: Regenerate.
	* exp_attr.adb, sem_attr.adb: Remove all mention of the former
	Attribute_Lock_Free enumeration element of the Attribute_Id type.
	* sem_ch9.adb
	(Allows_Lock_Free_Implementation): Remove the Debug_Flag_9 test.
	Return False in the case of a protected function whose result type
	requires use of the secondary stack.
	(Satisfies_Lock_Free_Requirements): This functions checks for
	certain constructs and returns False if one is found. In the case
	of a protected function, there is no need to check to see if the
	protected object is being modified. So it is ok to omit *some*
	checks in the case of a protected function. But other checks which
	are required (e.g., the test for a reference to a variable that is
	not part of the protected object) were being incorrectly omitted.
	This could result in accepting "Lock_Free => True" aspect
	specifications that should be rejected.
	* snames.adb-tmpl: Name_Lock_Free no longer requires special
	treatment in Get_Pragma_Id or Is_Pragma_Name (because it is no
	longer an attribute name).
	* snames.ads-tmpl: Move the declaration of Name_Lock_Free to
	reflect the fact that it is no longer the name of an attribute.
	Delete Attribute_Lock_Free from the Attribute_Id enumeration type.

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

	* libgnat/a-coorse.ads: Restore Aggregate aspect specification for
	type Set.

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

	* exp_util.adb (Build_Allocate_Deallocate_Proc): Add
	Alignment_Param in the formal list for calls to SS_Allocate.

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

	* inline.adb (Process_Formals): Preserve Has_Private_View flag while
	rewriting formal into actual parameters.

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

	* debug.adb
	(Debug_Flag_Underscore_X): Switch added temporarily to allow
	disabling extra formal checks.
	* exp_attr.adb
	(Expand_N_Attribute_Reference [access types]): Add extra formals
	to the subprogram referenced in the prefix of 'Unchecked_Access,
	'Unrestricted_Access or 'Access; required to check that its extra
	formals match the extra formals of the corresponding subprogram
	type.
	* exp_ch3.adb
	(Stream_Operation_OK): Declaration moved to the public part of the
	package.
	(Validate_Tagged_Type_Extra_Formals): New subprogram.
	(Expand_Freeze_Record_Type): Improve the code that takes care of
	adding the extra formals of dispatching primitives; extended to
	add also the extra formals to renamings of dispatching primitives.
	* exp_ch3.ads
	(Stream_Operation_OK): Declaration moved from the package body.
	* exp_ch6.adb
	(Has_BIP_Extra_Formal): Subprogram declaration moved to the public
	part of the package. In addition, a parameter has been added to
	disable an assertion that requires its use with frozen entities.
	(Expand_Call_Helper): Enforce assertion checking extra formals on
	thunks.
	(Is_Build_In_Place_Function): Return False for entities with
	foreign convention.
	(Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of
	Is_Return_Object replaced by the local variable
	Is_OK_Return_Object that evaluates to False for scopes with
	foreign convention.
	(Might_Have_Tasks): Fix check of class-wide limited record types.
	(Needs_BIP_Task_Actuals): Remove assertion to allow calling this
	function in more contexts; in addition it returns False for
	functions returning objects with foreign convention.
	(Needs_BIP_Finalization_Master): Likewise.
	(Needs_BIP_Alloc_Form): Likewise.
	* exp_ch6.ads
	(Stream_Operation_OK): Declaration moved from the package body. In
	addition, a parameter has been added to disable assertion that
	requires its use with frozen entities.
	* freeze.adb
	(Check_Itype): Add extra formals to anonymous access subprogram
	itypes.
	(Freeze_Expression): Improve code that disables the addition of
	extra formals to functions with foreign convention.
	(Check_Extra_Formals): Moved to package Sem_Ch6 as
	Extra_Formals_OK.
	(Freeze_Subprogram): Add extra formals to non-dispatching
	subprograms.
	* sem_ch3.adb
	(Access_Subprogram_Declaration): Defer the addition of extra
	formals to the freezing point so that we know the convention.
	(Check_Anonymous_Access_Component): Likewise.
	(Derive_Subprogram): Fix documentation.
	* sem_ch6.adb
	(Check_Anonymous_Return): Fix check of access to class-wide
	limited record types.
	(Check_Untagged_Equality): Placed in alphabetical order.
	(Extra_Formals_OK): Subprogram moved from freeze.adb.
	(Extra_Formals_Match_OK): New subprogram.
	(Has_BIP_Formals): New subprogram.
	(Has_Extra_Formals): New subprograms.
	(Needs_Accessibility_Check_Extra): New subprogram.
	(Needs_Constrained_Extra): New subprogram.
	(Parent_Subprogram): New subprogram.
	(Add_Extra_Formal): Minor code cleanup.
	(Create_Extra_Formals): Enforce matching extra formals on
	overridden and aliased entities.
	(Has_Reliable_Extra_Formals): New subprogram.
	* sem_ch6.ads
	(Extra_Formals_OK): Subprogram moved from freeze.adb.
	(Extra_Formals_Match_OK): New subprogram.
	* sem_eval.adb
	(Compile_Time_Known_Value): Improve predicate to avoid assertion
	failure; found working on this ticket; this change does not affect
	the behavior of the compiler because this subprogram has an
	exception handler that returns False when the assertion fails.
	* sem_util.adb
	(Needs_Result_Accessibility_Level): Do not return False for
	dispatching operations compiled with Ada_Version < 2012 since they
	they may be overridden by primitives compiled with Ada_Version >=
	Ada_2012.

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

	* exp_ch4.adb (Expand_N_If_Expression): Disable optimization
	for LLVM.

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

	* sem_prag.adb
	(Analyze_Pre_Post_Condition_In_Decl_Part): Improve check to report
	an error in non-legal class-wide conditions.

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

	* libgnat/a-strsup.adb, libgnat/a-stwisu.adb, libgnat/a-stzsup.adb
	(Super_Slice function and procedure): fix slice length computation.

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

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
	Improve -gnatVa, -gnatVc, -gnatVd, -gnatVe, -gnatVf, -gnatVo,
	-gnatVp, -gnatVr, and -gnatVs switch descriptions.
	* gnat_ugn.texi: Regenerate.

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

	* exp_unst.adb
	(Visit_Node): Add N_Block_Statement to the enclosing construct
	case since they can now have "At end" procedures. Also, recognize
	calls from "At end" procedures when recording subprograms.

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

	* inline.adb (Replace_Formal): Fix name of the referenced routine.

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

	* exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]):
	Remove unnecessary local constant that was shadowing another
	constant with the same initial value.

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

	* libgnat/a-cforse.ads (Replace): Fix the postcondition.

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

	* exp_attr.adb
	(Attribute_Valid): Ensure that PBtyp is initialized to a value for
	which Is_Scalar_Type is True.
	* checks.adb
	(Determine_Range): Call Implemention_Base_Type instead of
	Base_Type in order to ensure that result is suitable for passing
	to Enum_Pos_To_Rep.

2022-09-06  Bob Duff  <duff@adacore.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	* gen_il-fields.ads
	(First_Real_Statement): Remove this field.
	* gen_il-gen-gen_nodes.adb: Remove the First_Real_Statement field.
	Add the At_End_Proc field to nodes that have both Declarations and
	HSS.
	* sinfo.ads
	(At_End_Proc): Document new semantics.
	(First_Real_Statement): Remove comment.
	* exp_ch11.adb
	(Expand_N_Handled_Sequence_Of_Statements): Remove
	First_Real_Statement.
	* exp_ch7.adb
	(Build_Cleanup_Statements): Remove "Historical note"; it doesn't
	seem useful, and we have revision history.
	(Create_Finalizer): Insert the finalizer later, typically in the
	statement list, in some cases.
	(Build_Finalizer_Call): Attach the "at end" handler to the parent
	of the HSS node in most cases, so it applies to declarations.
	(Expand_Cleanup_Actions): Remove Wrap_HSS_In_Block and the call to
	it. Remove the code that moves declarations. Remove some redundant
	code.
	* exp_ch9.adb
	(Build_Protected_Entry): Copy the At_End_Proc.
	(Build_Protected_Subprogram_Body): Reverse the sense of Exc_Safe,
	to avoid double negatives. Remove "Historical note" as in
	exp_ch7.adb.
	(Build_Unprotected_Subprogram_Body): Copy the At_End_Proc from the
	protected version.
	(Expand_N_Conditional_Entry_Call): Use First (Statements(...))
	instead of First_Real_Statement(...).
	(Expand_N_Task_Body): Put the Abort_Undefer call at the beginning
	of the declarations, rather than in the HSS. Use First
	(Statements(...)) instead of First_Real_Statement(...). Copy the
	At_End_Proc.
	* inline.adb
	(Has_Initialized_Type): Return False if the declaration does not
	come from source.
	* libgnarl/s-tpoben.ads
	(Lock_Entries, Lock_Entries_With_Status): Document when these
	things raise Program_Error. It's not clear that
	Lock_Entries_With_Status ought to be raising exceptions, but at
	least it's documented now.
	* sem.ads: Minor comment fixes.
	* sem_ch6.adb
	(Analyze_Subprogram_Body_Helper): Use First (Statements(...))
	instead of First_Real_Statement(...).
	(Analyze_Null_Procedure): Minor comment fix.
	* sem_util.adb
	(Might_Raise): Return True for N_Raise_Expression. Adjust the part
	about exceptions generated by the back end to match the reality of
	what the back end generates.
	(Update_First_Real_Statement): Remove.
	* sem_util.ads: Remove First_Real_Statement from comment.
	* sinfo-utils.ads
	(First_Real_Statement): New function that always returns Empty.
	This should be removed once gnat-llvm and codepeer have been
	updated to not refer to First_Real_Statement.
	* sprint.adb
	(Sprint_At_End_Proc): Deal with printing At_End_Proc.
	* sem_prag.adb: Minor comment fixes.
	* gcc-interface/trans.cc (At_End_Proc_to_gnu): New function.
	(Subprogram_Body_to_gnu): Call it to handle an At_End_Proc.
	(Handled_Sequence_Of_Statements_to_gnu): Likewise. Remove the
	support for First_Real_Statement and clean up the rest.
	(Exception_Handler_to_gnu): Do not push binding levels.
	(Compilation_Unit_to_gnu): Adjust call to process_decls.
	(gnat_to_gnu) <N_Package_Specification>: Likewise. <N_Entry_Body>:
	Likewise. <N_Freeze_Entity>: Likewise. <N_Block_Statement>:
	Likewise and call At_End_Proc_to_gnu to handle an At_End_Proc.
	<N_Package_Body>: Likewise.
	(process_decls): Remove GNAT_END_LIST parameter and adjust
	recursive calls.

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

	* doc/gnat_rm/implementation_defined_pragmas.rst: Document new
	temporary rule that a "when others =>" case choice must be given
	when casing on a composite selector.
	* gnat_rm.texi: Regenerate.

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

	* sem_case.adb: Define a new Boolean constant,
	Simplified_Composite_Coverage_Rules, initialized to True. Setting
	this constant to True has two effects: 1- Representative value
	sets are not fully initialized - this is done to avoid capacity
	problems, as well as for performance. 2- In
	Check_Case_Pattern_Choices, the only legality check performed is a
	check that a "when others =>" choice is present.

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

	* sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Fix error
	template.

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

	* exp_attr.adb
	(Make_Range_Test): In determining which subtype's First and Last
	attributes are to be queried as part of a range test, call
	Validated_View in order to get a scalar (as opposed to private)
	subtype.
	(Attribute_Valid): In determining whether to perform a signed or
	unsigned comparison for a range test, call Validated_View in order
	to get a scalar (as opposed to private) type. Also correct a typo
	which, by itself, is the source of the problem reported for this
	ticket.

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

	* sem_ch4.adb
	(Analyze_Selected_Component): Define new Boolean-valued function,
	Constraint_Has_Unprefixed_Discriminant_Reference, which takes a
	subtype that is subject to a discriminant-dependent constraint and
	returns True if any of the constraint values are unprefixed
	discriminant names. Usually, the Etype of a selected component
	node is set to Etype of the component. However, in the case of an
	access-to-array component for which this predicate returns True,
	we instead use the base type of the Etype of the component.
	Normally such problematic discriminant references are addressed by
	calling Build_Actual_Subtype_Of_Component, but that doesn't work
	if Full_Analyze is False.

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

	* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Include
	System.Value_U_Spec and System.Value_I_Spec units.

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

	* libgnat/s-powflt.ads (Powfive): New constant array.
	* libgnat/s-powlfl.ads (Powfive): Likewise.
	(Powfive_100): New constant.
	(Powfive_200): Likewise.
	(Powfive_300): Likewise.
	* libgnat/s-powllf.ads (Powfive): New constant array.
	(Powfive_100): New constant.
	(Powfive_200): Likewise.
	(Powfive_300): Likewise.
	* libgnat/s-valflt.ads (Impl): Replace Powten with Powfive and pass
	Null_Address for the address of large constants.
	* libgnat/s-vallfl.ads (Impl): Replace Powten with Powfive and pass
	the address of large constants.
	* libgnat/s-valllf.ads (Impl): Likewise.
	* libgnat/s-valrea.ads (System.Val_Real): Replace Powten_Address
	with Powfive_Address and add Powfive_{1,2,3}00_Address parameters.
	* libgnat/s-valrea.adb (Is_Large_Type): New boolean constant.
	(Is_Very_Large_Type): Likewise.
	(Maxexp32): Change value of 10 to that of 5.
	(Maxexp64): Likewise.
	(Maxexp80): Likewise.
	(Integer_to_Real): Use a combination of tables of powers of 5 and
	scaling if the base is 10.
	(Large_Powten): Rename into...
	(Large_Powfive): ...this.  Add support for large constants.
	(Large_Powfive): New overloaded function for very large exponents.

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

	* doc/gnat_rm/implementation_defined_aspects.rst
	(Aspect Iterable): Include Last and Previous primitives in
	syntactic and semantic description.
	* exp_attr.adb
	(Expand_N_Attribute_Reference): Don't expect attributes like
	Iterable that can only appear in attribute definition clauses.
	* sem_ch13.adb
	(Analyze_Attribute_Definition_Clause): Prevent crash on
	non-aggregate Iterable attribute; improve basic diagnosis of
	attribute values.
	(Resolve_Iterable_Operation): Improve checks for illegal
	primitives in aspect Iterable, e.g. with wrong number of formal
	parameters.
	(Validate_Iterable_Aspect): Prevent crashes on syntactically
	illegal aspect expression.
	* sem_util.adb
	(Get_Cursor_Type): Fix style.
	* gnat_ugn.texi, gnat_rm.texi: Regenerate.

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

	* libgnat/s-valuer.ads (System.Value_R): Add Parts formal parameter
	as well as Data_Index, Scale_Array and Value_Array types.
	(Scan_Raw_Real): Change type of Scale and return type.
	(Value_Raw_Real): Likewise.
	* libgnat/s-valuer.adb (Round_Extra): Reorder parameters and adjust
	recursive call.
	(Scan_Decimal_Digits): Reorder parameters, add N parameter and deal
	with multi-part scale and value.
	(Scan_Integral_Digits): Likewise.
	(Scan_Raw_Real): Change type of Scale and return type and deal with
	multi-part scale and value.
	(Value_Raw_Real): Change type of Scale and return type and tidy up.
	* libgnat/s-valued.adb (Impl): Pass 1 as Parts actual parameter.
	(Scan_Decimal): Adjust to type changes.
	(Value_Decimal): Likewise.
	* libgnat/s-valuef.adb (Impl): Pass 1 as Parts actual parameter.
	(Scan_Fixed): Adjust to type changes.
	(Value_Fixed): Likewise.
	* libgnat/s-valrea.adb (Need_Extra): Delete.
	(Precision_Limit): Always use the precision of the mantissa.
	(Impl): Pass 2 as Parts actual parameter.
	(Exact_Log2): New expression function.
	(Integer_to_Real): Change type of Scale and Val and deal with a
	2-part integer mantissa.
	(Scan_Real): Adjust to type changes.
	(Value_Real): Likewise.

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

	* sigtramp-vxworks-target.h: Rename DBX_REGISTER_NUMBER to
	DEBUGGER_REGNO.

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

	* exp_aggr.adb (Check_Bounds): Move code and comment related to
	check for null array aggregate from Resolve_Null_Array_Aggregate.
	* sem_aggr.ads (Is_Null_Aggregate): Move spec from unit body.
	* sem_aggr.adb (Resolve_Null_Array_Aggregate): Move check to
	expansion.

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

	* sem_aggr.adb
	(Array_Aggr_Subtype): Bypass call to Collect_Aggr_Bound with
	dedicated code for null array aggregates.
	(Resolve_Array_Aggregate): Remove special handling of null array
	aggregates.
	(Resolve_Array_Aggregate): Create bounds, but let
	Array_Aggr_Subtype create itype entities.

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

	* sem_aggr.adb (Resolve_Null_Array_Aggregate): Insert check as a
	Raise_Constraint_Error node and not an If_Statement.

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

	* sem_aggr.adb
	(Resolve_Container_Aggregate): Style cleanup.
	(Resolve_Record_Aggregate): Remove redundant guard.

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

	* exp_util.ads (Entry_Names_OK): Remove spec.
	* exp_util.adb (Entry_Names_OK): Remove body.

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

	* libgnat/a-coinve.adb, libgnat/a-convec.adb
	(Append): If the Append that takes an Element and a Count is
	called with Count = 1, then call the Append that does not take a
	Count parameter; otherwise call the code that handles the general
	case. Move the special case detection/handling code that was
	formerly in that version of Append into the version that does not
	take a Count parameter, so that now both versions get the
	performance benefit.

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

	* sem_aggr.adb (Resolve_Null_Array_Aggregate): Create internal
	type for the aggregate as an itype.

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

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

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

	* exp_ch3.adb
	(Expand_N_Object_Declaration): In deciding whether to emit a DIC
	check, we were previously testing the Has_Init_Expression flag.
	Continue to test that flag as before, but add a test for the
	syntactic presence of an initial value in the object declaration.
	This new test would not supersede the old test in the case where
	an explicit initial value has been eliminated as part of some tree
	transformation.

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

	* sem_ch13.adb (Validate_Unchecked_Conversions): Use
	Has_Warnings_Off.
	* sem_elab.adb (Check_Internal_Call_Continue): Likewise.

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

	* libgnat/s-valuer.adb (Scan_Decimal_Digits): Consistently avoid
	initializing local variables.
	(Scan_Integral_Digits): Likewise.
	(Scan_Raw_Real): Likewise and add a couple of comments.

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

	* sem_ch13.adb (Freeze_Entity_Checks): Build predicate functions
	only after checking the variant part of a record type, if any.

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

	* exp_aggr.adb
	(Two_Pass_Aggregate_Expansion): Expand into implicit rather than
	ordinary loops, to detect violations of restriction
	No_Implicit_Loops.
	(Generate_Loop): Likewise for delta array aggregates.

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

	* exp_aggr.adb (Two_Pass_Aggregate_Expansion): Expand iterated
	component association with an unanalyzed copy of iterated
	expression. The previous code worked only because the expanded
	loop used both an analyzed copy of the iterator_specification and
	an analyzed copy of the iterated expression. Now the iterated
	expression is reanalyzed in the context of the expanded loop.
	* par-ch4.adb (Build_Iterated_Component_Association): Don't set
	defining identifier when iterator specification is present.
	* sem_aggr.adb (Resolve_Iterated_Association): Pick index name
	from the iterator specification.
	* sem_elab.adb (Traverse_Potential_Scenario): Handle iterated
	element association just like iterated component association. Not
	strictly part of this fix, but still worth for the completeness.
	* sem_res.adb (Resolve): Pick index name from the iterator
	specification, when present.
	* sem_util.adb (Traverse_More): For completeness, just like the
	change in Traverse_Potential_Scenario.
	* sinfo.ads
	(ITERATED_COMPONENT_ASSOCIATION): Fix and complete description.
	(ITERATED_ELEMENT_ASSOCIATION): Likewise.

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

	* sem_ch6.adb
	(Analyze_Subprogram_Body_Helper): Use First_Real_Statement to deal
	with this case. Note that First_Real_Statement is likely to be
	removed as part of this ticket, so this is a temporary fix.

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

	* ali.adb (Scan_ALI): Special case i-c*.ali when setting
	Sec_Stack_Used.

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

	* par-ch5.adb
	(P_Sequence_Of_Statements): Call Error_Msg_GNAT_Extension to give
	the error message.

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

	* sem_aggr.adb (Resolve_Iterated_Component_Association): Split
	processing of cases with and without iterator specification; reuse
	analysis of iterator specification; improve diagnostics for
	premature usage of iterator index in discrete choices.

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

	* sem_ch5.adb (Check_Subtype_Definition): Remove redundant call to
	Present; style cleanup.

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

	* sem_aggr.adb (Resolve_Array_Aggregate): Change an inconsistent
	use of False into its local equivalent Failure.

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

	* sem_aggr.adb (Resolve_Iterated_Component_Association): Change
	generic name Ent to a more intuitive Scop; rename Remove_Ref to
	Remove_Reference, so it can be instantiated as a traversal routine
	with plural name.

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

	* sem_ch4.adb
	(Is_Empty_Range): Move error reporting to the caller.
	(Analyze_Qualified_Expression): Move error reporting from Is_Empty_Range;
	add matching call to End_Scope before rewriting and returning.

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

	* bindgen.adb (Gen_Elab_Calls): Check for Check_Elaboration_Flags.
	* bindusg.adb (Display): Add -k.
	* opt.ads (Check_Elaboration_Flags): New.
	* switch-b.adb (Scan_Binder_Switches): Add processing of -k.
	* doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add
	documentation for -k and -K.
	* gnat_ugn.texi: Regenerate.

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

	* treepr.adb: Remove local To_Lower and use the procedure
	version instead.

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

	* aspects.ads (Delaying Evaluation of Aspect): Fix typos.
	* exp_ch3.adb (Freeze_Type): Do not generate Invariant and DIC
	procedures for internal types.
	* exp_util.adb (Build_DIC_Procedure_Body): Adjust comment.
	* freeze.adb (Freeze_Entity): Call Inherit_Delayed_Rep_Aspects for
	subtypes and derived types only after the base or parent type has
	been frozen.  Remove useless freezing for first subtype.
	(Freeze_Fixed_Point_Type): Call Inherit_Delayed_Rep_Aspects too.
	* layout.adb (Set_Elem_Alignment): Deal with private types.
	* sem_ch3.adb (Build_Derived_Enumeration_Type): Build the implicit
	base as an itype and do not insert its declaration in the tree.
	(Build_Derived_Numeric_Type): Do not freeze the implicit base.
	(Derived_Standard_Character): Likewise.
	(Constrain_Enumeration): Inherit the chain of representation items
	instead of replacing it.
	* sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): Add ??? comment.
	(Inherit_Delayed_Rep_Aspects): Declare.
	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Do not invoke
	Inherit_Delayed_Rep_Aspects.
	(Inherit_Aspects_At_Freeze_Point): Deal with private types.
	(Inherit_Delayed_Rep_Aspects): Move to library level.

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

	* einfo-utils.adb (Number_Entries): Refine type of a local variable.
	* exp_attr.adb (Expand_N_Attribute_Reference): Rename Conctyp to
	Prottyp; refactor repeated calls to New_Occurrence_Of; replace
	Number_Entries with Has_Entries.
	* exp_ch5.adb (Expand_N_Assignment_Statement): Likewise; remove Subprg
	variable (apparently copy-pasted from expansion of the attribute).

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

	* exp_attr.adb (Expand_N_Attribute_Reference): Fix detection of the
	enclosing protected type and of the enclosing protected subprogram.
	* exp_ch5.adb (Expand_N_Assignment_Statement): Likewise.

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

	* freeze.adb (Freeze_Itype): Remove excessive guard.
	* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Likewise.

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

	* sprint.adb (Sprint_Node_Actual): Handle iterator_specification within
	iterated_component_association and iterator_filter within
	iterator_specification.

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

	* doc/gnat_ugn/gnat_and_program_execution.rst: Fix rest syntax
	* gnat_ugn.texi: Regenerate.

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

	* exp_util.adb (Expand_Subtype_From_Expr): Be prepared for rewritten
	aggregates as expressions.

2022-09-02  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch6.adb (Expand_Simple_Function_Return) Bypass creation of an
	actual subtype and unchecked conversion to that subtype when the
	underlying type of the expression has discriminants without defaults.

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

	* exp_util.adb (Expand_Subtype_From_Expr): Check for the presence
	of the Is_Constr_Subt_For_U_Nominal flag instead of the absence
	of the Is_Constr_Subt_For_UN_Aliased flag on the subtype of the
	expression of an object declaration before reusing this subtype.
	* sem_ch3.adb (Analyze_Object_Declaration): Do not incorrectly
	set the Is_Constr_Subt_For_UN_Aliased flag on the actual subtype
	of an array with definite nominal subtype.  Remove useless test.

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

	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst
	(No_Dependence): Cite implicit dependences on the runtime library.
	* gnat_rm.texi, gnat_ugn.texi: Regenerate.

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

	* libgnat/a-strmap.adb: Add variants to simple and while loops.
	* libgnat/a-strsea.adb: Idem.

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

	* libgnat/s-expmod.adb (Lemma_Add_Mod): Add new lemma to factor
	out a complex sub-proof.
	(Exp_Modular): Add assertion to help proof.

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

	* libgnat/s-widthu.adb (Lemma_Euclidean): Lemma to prove the
	relation between the quotient/remainder of a division.

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

	* libgnat/s-aridou.adb: Add or rework ghost code.
	* libgnat/s-aridou.ads: Add Big_Positive subtype.

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

	* doc/gnat_ugn/gnat_and_program_execution.rst
	(Non-Symbolic Traceback): Update section.
	* gnat_rm.texi, gnat_ugn.texi, gnat-style.texi: Regenerate.

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

	* libgnat/a-nbnbig.ads: Add Always_Return annotation.
	* libgnat/s-vaispe.ads: New ghost unit for the specification of
	System.Value_I. Restore proofs.
	* libgnat/s-vauspe.ads: New ghost unit for the specification of
	System.Value_U. Restore proofs.
	* libgnat/s-valuei.adb: The specification only subprograms are
	moved to System.Value_I_Spec. Restore proofs.
	* libgnat/s-valueu.adb: The specification only subprograms are
	moved to System.Value_U_Spec. Restore proofs.
	* libgnat/s-valuti.ads
	(Uns_Params): Generic unit used to bundle together the
	specification functions of System.Value_U_Spec.
	(Int_Params): Generic unit used to bundle together the
	specification functions of System.Value_I_Spec.
	* libgnat/s-imagef.adb: It is now possible to instantiate the
	appropriate specification units instead of creating imported ghost
	subprograms.
	* libgnat/s-imagei.adb: Update to refactoring of specifications
	and fix proofs.
	* libgnat/s-imageu.adb: Likewise.
	* libgnat/s-imgint.ads: Ghost parameters are grouped together in a
	package now.
	* libgnat/s-imglli.ads: Likewise.
	* libgnat/s-imgllu.ads: Likewise.
	* libgnat/s-imgllli.ads: Likewise.
	* libgnat/s-imglllu.ads: Likewise.
	* libgnat/s-imguns.ads: Likewise.
	* libgnat/s-vallli.ads: Likewise.
	* libgnat/s-valllli.ads: Likewise.
	* libgnat/s-imagei.ads: Likewise.
	* libgnat/s-imageu.ads: Likewise.
	* libgnat/s-vaispe.adb: Likewise.
	* libgnat/s-valint.ads: Likewise.
	* libgnat/s-valuei.ads: Likewise.
	* libgnat/s-valueu.ads: Likewise.
	* libgnat/s-vauspe.adb: Likewise.

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.
