2026-05-30  Dhruv Chawla  <dhruvc@nvidia.com>

	* gnathtml.pl: Reflow long line.

2026-05-30  Dhruv Chawla  <dhruvc@nvidia.com>

	* adaint.c (__gnat_set_OWNER_ACL): Fix typos.
	* aux-io.c: Likewise.
	* cio.c: Likewise.
	* cstreams.c: Likewise.
	* doc/gnat_rm/gnat_language_extensions.rst: Likewise.
	* 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/interfacing_to_other_languages.rst: Likewise.
	* doc/gnat_rm/representation_clauses_and_pragmas.rst: Likewise.
	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: Likewise.
	* doc/gnat_rm/the_gnat_library.rst: Likewise.
	* doc/gnat_ugn/building_executable_programs_with_gnat.rst: Likewise.
	* doc/gnat_ugn/gnat_and_program_execution.rst: Likewise.
	* doc/gnat_ugn/gnat_utility_programs.rst: Likewise.
	* doc/gnat_ugn/platform_specific_information.rst: Likewise.
	* doc/gnat_ugn/the_gnat_compilation_model.rst: Likewise.
	* doc/share/conf.py: Likewise.
	* gcc-interface/decl.cc (components_to_record): Likewise.
	* gcc-interface/misc.cc (gnat_get_array_descr_info): Likewise.
	(get_array_bit_stride): Likewise.
	* gcc-interface/trans.cc (Loop_Statement_to_gnu): Likewise.
	(gnat_to_gnu): Likewise.
	* gcc-interface/utils.cc (gnat_pushdecl): Likewise.
	(maybe_pad_type): Likewise.
	(finish_record_type): Likewise.
	(process_deferred_decl_context): Likewise.
	* gnat_rm.texi: Likewise.
	* gnat_ugn.texi: Likewise.
	* gnathtml.pl: Likewise.
	* gsocket.h: Likewise.
	* init.c (__gnat_handle_vms_condition): Likewise.
	(GNAT$STOP): Likewise.
	* raise-gcc.c (db_phases): Likewise.
	* rtinit.c (__gnat_runtime_initialize): Likewise.
	* sigtramp-arm-qnx.c: Likewise.
	* sigtramp-vxworks-target.h (defined): Likewise.
	* sigtramp-vxworks.c: Likewise.
	* sysdep.c: Likewise.
	* terminals.c (defined): Likewise.
	(__gnat_new_tty): Likewise.
	(__gnat_close_tty): Likewise.
	(__gnat_tty_name): Likewise.
	* tracebak.c (PC_ADJUST): Likewise.

2026-05-29  Marc Poulhiès  <poulhies@adacore.com>

	* sysdep.c (getc_immediate_common): Read character as unsigned
	value.

2026-05-29  Bob Duff  <duff@adacore.com>

	* sem_ch13.adb (Delay_Aspect): Remove the side effect.
	(Decorate): Rename to be Decorate_Aspect_Links.
	Generalize.
	(Insert_Aitem): Call Decorate_Aspect_Links.
	* aspects.ads: Minor comment improvement: we don't need to worry;
	we just need to do it.
	* einfo.ads: Minor comment improvement.

2026-05-29  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch6.adb (New_Overloaded_Entity): Add missing call to
	Check_For_Primitive_Subprogram (Is_Primitive must be set).
	* sem_ch13.ads (Check_Function_For_Indexing_Aspect): Move declaration
	to package body.
	* sem_ch13.adb (Check_Indexing_Functions): Remove early return for
	derived types. Pass appropriate values for the new Boolean parameters
	on existing calls to Check_Function_For_Indexing_Aspect. Perform a
	second interpretation loop, calling Check_Function_For_Indexing_Aspect
	and passing Indexing_Found for the Has_Eligible_Func parameter and True
	for the Error_On_Ineligible parameter, and remove the existing call
	to Error_Msg_NE that was flagging nonlocal entities (a similar error
	is now reported inside procedure Check_Function_For_Indexing_Aspect).
	Suppress call to Check_Inherited_Indexing in derived type cases.
	(Check_Nonoverridable_Aspect_Subprograms): Remove early return when
	the aspect spec does not come from source, so aspects of derived types
	will also go through this procedure. Check restrictions of AI22-0159/01
	for derived types and inheritance of aspects. Replace iteration over
	overloaded interpretations with iteration over Aspect_Subprograms (and
	only do that for indexing aspects). Condition Sloc for existing error
	check for nonprimitive operations based on whether the aspect comes
	from source, posting the error on the entity rather than the aspect
	if the aspect is not given explicitly.
	(Analyze_Aspects_At_Freeze_Point): Split off a new case alternative
	for iterator aspects, and specialize treatment for indexing aspects
	by forcing a search for new indexing functions. When none are found,
	issue an error only in the case where the type has no inherited
	indexing functions. Test that the version is at least Ada_2012 rather
	than Ada_2022 for calling Check_Nonoverridable_Aspect_Subprograms.
	(Check_Function_For_Indexing_Aspect): Move declaration from the package
	spec to the body. Add Has_Eligible_Func and Error_On_Ineligible formals
	and update spec comment.
	Return early if the candidate subprogram was already inherited (present
	in Aspect_Subprograms).
	For a scope mismatch on Subp, report error only when Has_Eligible_Func
	is False and Error_On_Ineligible is True (and never a warning).
	Add "<<" in several calls to Report_Ineligible_Indexing_Function
	(formerly Illegal_Indexing) to allow either warnings or errors.
	Return without adding subprogram to Aspect_Subprograms when
	Error_On_Ineligible is False.
	(Report_Ineligible_Indexing_Function): Name changed from
	Illegal_Indexing.
	Return early when only a warning can be issued and the ineligible
	subprogram is inherited, or if its first formal (if any) does not match
	the aspect's associated type (to reduce false-positive warnings).
	Set Error_Msg_Warn based on Error_On_Ineligible formal.
	Report a continuation message identifying the ineligible entity.
	Remove comment preceding body that has been obviated by AI22-0154.
	* sem_util.adb (Inherit_Nonoverridable_Aspect): Remove the loop over
	primitives that was checking and adding eligible primitives. That code
	was incomplete, and collection of new indexing functions for derived
	types is now handled by Check_Indexing_Functions. Also remove the
	associated "???" comment.

2026-05-29  Tonu Naks  <naks@adacore.com>

	* doc/gnat_rm.rst: update toctree
	* doc/gnat_rm/about_this_guide.rst: add reference
	* doc/gnat_rm/gnat_implementation_mode.rst: new file
	* opt.ads: remove redundant comment
	* gnat_rm.texi: Regenerate.

2026-05-29  Marc Poulhiès  <poulhies@adacore.com>

	* doc/gnat_rm/gnat_language_extensions.rst (Destructors): fix
	typo.
	* gnat_rm.texi: Regenerate.

2026-05-29  Ronan Desplanques  <desplanques@adacore.com>

	* argv.c: Remove unused include directive.

2026-05-29  Viljar Indus  <indus@adacore.com>

	* erroutc.ads (Warnings_Suppressed): New Boolean overload.
	* errout.adb (Error_Msg_Internal): Use Boolean Warnings_Suppressed.
	* errutil.adb (Error_Msg): Likewise.

2026-05-29  Viljar Indus  <indus@adacore.com>

	* errout.adb (Is_Before): New helper function.
	(Find_Msg_Insertion_Point): New procedure.
	(Error_Msg_Internal): Use Find_Msg_Insertion_Point and Insert_Error_Msg.
	(Finalize): Remove call to Set_Prev_Pointers.
	(Set_Prev_Pointers): Removed.
	* erroutc.adb (Insert_Error_Msg): New procedure.
	* erroutc.ads (Insert_Error_Msg): New declaration.

2026-05-29  Andres Toom  <toom@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Do not set
	Global_Discard_Names in GNATprove_Mode.

2026-05-29  Ronan Desplanques  <desplanques@adacore.com>

	* argv.c (__gnat_env_count) (__gnat_len_env) (__gnat_fill_env): Move
	to...
	* env.c (__gnat_env_count) (__gnat_len_env) (__gnat_fill_env):
	...here. Tweak comment.

2026-05-29  Bob Duff  <duff@adacore.com>

	* sem_ch6.adb (Subprogram_Subtypes_Have_Same_Declaration):
	Remove tests for In_Internal_Unit and GNAT_Mode.

2026-05-29  Marc Poulhiès  <poulhies@adacore.com>

	* vast.adb (Check_Enum)<Check_Entity_Chain>: Add.
	(Status)<Check_Entity_Chain>: Set to Print_And_Continue.
	(Check_Entity_Chain): New.
	(Check_Scope): Call Check_Entity_Chain.

2026-05-29  Viljar Indus  <indus@adacore.com>

	* errout.adb (Delete_Warning_And_Continuations): use
	Delete_Error_And_Continuation_Msgs.
	(Output_Messages): Call new refactored subprograms.
	(Delete_Specifically_Suppressed_Warnings): New
	procedure.
	* (Set_Prev_Pointers): New procedure.
	* (Finalize): use Delete_Specifically_Suppressed_Warnigns and
	Set_Prev_Pointers.
	(Finalize): use Delete_Error_And_Continuation_Msgs.
	* erroutc.adb (Delete_Error_And_Continuation_Msgs): New procedure.
	(Remove_Duplicate_Errors): New_Function.
	(Write_All_Errors_In_Brief_Format): New function.
	(Write_All_Errors_In_Verbose_Format): New function.
	(Write_Error_Summary): New function.
	* erroutc.ads (Delete_Error_And_Continuation_Msgs): Likewise.
	(Remove_Duplicate_Errors): Likewise.
	(Write_All_Errors_In_Brief_Format): Likewise.
	(Write_All_Errors_In_Verbose_Format): Likewise.
	(Write_Error_Summary): Likewise.
	* errutil.adb (Finalize): Call new refactored subprograms.

2026-05-29  Viljar Indus  <indus@adacore.com>

	* errout.adb (Remove_Warning_Messages): Use
	Filter_And_Delete_Errors.
	* errout.ads (Purge_Messages): Renamed to
	Delete_Error_Msgs_In_Range.
	* erroutc.adb (Filter_And_Delete_Errors): New procedure.
	(Purge_Messages): Renamed to Delete_Error_Msgs_In_Range.
	* erroutc.ads (Filter_And_Delete_Errors): New procedure.
	(Purge_Messages): Renamed to Delete_Error_Msgs_In_Range.
	* par-ch5.adb (Missing_Begin): call Delete_Error_Msgs_In_Range.

2026-05-29  Viljar Indus  <indus@adacore.com>

	* errout.adb (Finalize): use Warning_Is_Suppressed.
	* erroutc.adb (Warning_Is_Suppressed): New subprogram.
	* erroutc.ads (Warning_Is_Suppressed): Likewise.

2026-05-29  Viljar Indus  <indus@adacore.com>

	* errout.adb: Use Delete_Error_Msg.
	* erroutc.adb (Delete_Error_Msg): New subprogram.
	* erroutc.ads (Delete_Error_Msg): Likewise.

2026-05-29  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_unst.adb (Note_Uplevel_Bound_Trav): Do not register an uplevel
	reference for a package.  Use a single if_statement in the body.

2026-05-29  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch6.adb (Analyze_Function_Return): Remove obsolete code that
	wraps the return in a block when the expression is an aggregate.

2026-05-29  Viljar Indus  <indus@adacore.com>

	* errout.adb (Error_Msg): Add new function
	In_Loop_With_Suppressed_Warnings.

2026-05-29  Viljar Indus  <indus@adacore.com>

	* errout.adb (Error_Msg_N): Simplify code.

2026-05-29  Viljar Indus  <indus@adacore.com>

	* erroutc-pretty_emitter.adb (To_String): Relocated to erroutc.
	(To_File_Name): Likewise.
	(Line_To_String): Likewise.
	(Column_To_String): Likewise.
	* erroutc.adb (dedit): New function for debugging edits.
	(dfix): New function for debuging fixes.
	(dloc): New function for debugging locations.
	(dmsg): Print missing Error_Msg_Object attributes.
	(To_String): New function for printing spans
	(To_String): Relocated from erroutc-pretty_emitter.adb
	(To_File_Name): Likewise.
	* erroutc.ads: Likewise.

2026-05-29  Ronan Desplanques  <desplanques@adacore.com>

	* argv-lynxos178-raven-cert.c: Update comments.
	* argv.c (gnat_envp): Add comment about it being unused.
	(__gnat_env_count, __gnat_len_env, __gnat_fill_env): Use
	__gnat_environ instead of gnat_envp.
	* bindgen.adb (Command_Line_Used): Update comment.
	(Gen_Main): Remove gnat_envp assignment generation. Remove generated
	envp parameter.
	(Gen_Output_File_Ada): Remove generated envp parameter.
	* env.h: Make usable as C++.
	* libgnat/a-colien.ads: Remove comment.
	* libgnat/a-comlin.ads: Update comment.
	* targparm.ads: Update comment.

2026-05-29  Piotr Trojanek  <trojanek@adacore.com>

	* par-ch10.adb (P_Compilation_Unit): Require no indentation.

2026-05-29  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/93702
	* exp_ch3.adb (Make_Controlling_Function_Wrappers): Do not set the
	Was_Expression_Function flag on the body.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Avoid freezing the
	profile only for wrapper functions.

2026-05-29  Piotr Trojanek  <trojanek@adacore.com>

	* sprint.adb (Sprint_Node_Actual): Print filter in loop parameter
	specification.

2026-05-29  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch4.adb (Analyze_Quantified_Expression): If there is a filter,
	then suppress the warning.

2026-05-29  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch4.adb (Analyze_Quantified_Expression): Suppress warning for
	trivial conditions.

2026-05-29  Viljar Indus  <indus@adacore.com>

	* inline.adb (Adjust_Node): Renamed from Adjust_Sloc and
	additionally unset Comes_From_Source.

2026-05-29  Javier Miranda  <miranda@adacore.com>

	* checks.adb (Apply_Scalar_Range_Check): When the type of the expression
	is Universal Integer we cannot statically determine if the expression
	is in the range of the target type.
	* sem_eval.adb (In_Subrange_Of): Do not consider T2 in the range of
	Universal Integer (since theoretically they are not).
	(Test_In_Range): Do not consider Universal type expressions in range
	of subtype Typ.

2026-05-29  Marc Poulhiès  <poulhies@adacore.com>

	* treepr.ads (pech, rpech): New.
	(Print_Entity_Chain): Adjust signature and comment to handle
	printing only header and doing the simple check.
	* treepr.adb (pech, rpech): New.
	(Print_Entity_Chain): Support for printing only headers and doing
	simple check.

2026-05-29  Claire Dross  <dross@adacore.com>

	* sem_ch13.adb (Resolve_Iterable_Operation): Handle Previous and Last
	like Next and First.

2026-05-29  Claire Dross  <dross@adacore.com>

	* libgnat/i-cstrin.ads: New C_Addresses volatile state to use as
	input of the New_String and New_Char_Array.

2026-05-29  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb (Statically_Names_Object) <N_Selected_Component>:
	Return False if the selector is neither component nor discriminant.

2026-05-29  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Build_Derived_Record_Type): Record type derivations
	inherit Is_Unchecked_Union and Has_Unchecked_Union flags.
	(Inherit_Component): Add discriminals to the associations list.
	* exp_ch3.adb (Build_Record_Init_Proc): Derivations of Unchecked_Union
	types don't need an initialization procedure; they reuse the init proc
	of their parent type.

2026-05-29  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch4.adb (Expand_N_Case_Expression): Deal with initialization
	expression of return object.
	(Expand_N_If_Expression): Likewise.
	(Insert_Conditional_Object_Declaration): Likewise.
	* exp_util.adb (Is_Distributable_Declaration): Lift limitation for
	return objects, including those with a class-wide type.
	* sem_ch3.adb (Analyze_Object_Declaration): Set Return_Applies_To
	on artificial return objects created from within a transient scope.
	Remove test on Expander_Active for better error recovery.

2026-05-29  Ronan Desplanques  <desplanques@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix
	markup.
	* gnat_ugn.texi: Regenerate.

2026-05-29  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch4.adb (Analyze_Quantified_Expression): Suppress warning for
	variables with junk names.

2026-05-29  Viljar Indus  <indus@adacore.com>

	* inline.adb (Inline_Static_Function_Call): Reduce source code nesting.
	* inline.ads (Inline_Static_Function_Call): Likewise.

2026-05-29  Viljar Indus  <indus@adacore.com>

	* inline.adb (Inline_Static_Function_Call): Add a Source File Index
	entry for the call and apply the necessary sloc adjustment values
	for all of the inlined nodes.

2026-05-29  Tonu Naks  <naks@adacore.com>

	* adaint.c (__gnat_copy_attribs): use GetFileAttributesEx to
	to fetch attributes.

2026-05-28  Sebastian Poeplau  <poeplau@adacore.com>

	* init.c (__gnat_alternate_stack): add alignment attribute.

2026-05-28  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_aggr.adb (Resolve_Array_Aggregate): Also rewrite a choice list
	with a single choice as an iterator specification when the choice's
	type has the GNAT Iterable aspect specified.

2026-05-28  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_aggr.adb (Resolve_Array_Aggregate): Analyze the choice before
	testing whether it is the name of a subtype with a predicate.

2026-05-28  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo.ads (In_Package_Body): Update description.
	(In_Private_Part): Likewise.
	* sem_ch3.adb (Analyze_Object_Declaration): Compute In_Package_Body
	along with In_Private_Part for the object if its scope is a package.
	* sem_ch6.adb (Analyze_Expression_Function): Do not compute
	In_Private_Part here.
	(Enter_Overloaded_Entity): Compute In_Package_Body & In_Private_Part
	for the entity if its scope is a package.
	* sem_util.adb (Collect_Primitive_Operations): Skip the subprograms
	declared in the body for types declared in a package specification.

2026-05-28  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch13.adb (Resolve_Aspect_Aggregate.Resolve_Operation): Add
	missing guard for the presence of Entity on the node.

2026-05-28  Eric Botcazou  <ebotcazou@adacore.com>

	* doc/gnat_rm/gnat_language_extensions.rst
	(Generalized Finalization): Document the new restriction.
	* sem_ch13.adb (Resolve_Finalizable_Argument): Adjust wording of
	error message.
	(Resolve_Finalization_Procedure.Is_Finalizable_Primitive): Require
	the procedure to be a primitive operation.
	* gnat_rm.texi: Regenerate.

2026-05-28  Piotr Trojanek  <trojanek@adacore.com>

	* libgnat/g-comlin.adb
	(Command_Name): New routine to strip platform-specific suffix.
	(Display_Help, Get_Opt): Use new routine.
	(Try_Help): Remove hardcoded ".exe" suffix; use new routine.

2026-05-28  Javier Miranda  <miranda@adacore.com>

	* sem_util.adb (Is_Access_To_Subprogram_Wrapper): Remove useless
	call to Can_Have_Formals. Found by Dismukes.

2026-05-28  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Make_Controlling_Function_Wrappers): Manually set the
	Has_Controlling_Result flag on the wrappers.
	* sem_disp.ads (Override_Dispatching_Operation): Move to...
	* sem_disp.adb (Override_Dispatching_Operation): ...here.
	(Find_Dispatching_Type): Return the (controlling) result type for a
	controlling function wrapper.

2026-05-28  Vadim Godunko  <godunko@adacore.com>

	* doc/gnat_rm/implementation_of_ada_2022_features.rst: Fix casing.
	* gnat_rm.texi: Regenerate.

2026-05-28  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Eq): Do not expand an array comparison
	for validity checking purposes when the component type is covered
	by the suppression of validity checks.

2026-05-28  Marc Poulhiès  <poulhies@adacore.com>

	* vast.adb (Do_Node_Pass_2): Only check aspect/pragma consistency for pragma nodes.

2026-05-28  Javier Miranda  <miranda@adacore.com>

	* sem_util.ads (Is_Access_Subprogram_Wrapper): Renamed as
	Is_Access_To_Subprogram_Wrapper.
	* sem_util.adb (Is_Access_Subprogram_Wrapper): Ditto plus add
	assertion.
	* sem_disp.adb (Is_Access_To_Subprogram_Wrapper): Removed.
	* sem_prag.adb (Find_Related_Declaration_Or_Body): Replace call to
	Is_Access_Subprogram_Wrapper by call to Is_Access_To_Subprogram_Wrapper.
	* exp_ch6.adb (Expand_Call): Ditto.
	* sem_attr.adb (Analyze_Attribute [Attribute_Result]): For access to
	subprogram wrappers, report that the expected prefix is the name of
	the access type.

2026-05-28  Marc Poulhiès  <poulhies@adacore.com>

	* sem_ch13.adb (Make_Pragma_From_Boolean_Aspect): Use Decorate.

2026-05-28  Bob Duff  <duff@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications):
	Major rewrite.
	* sem_ch13.ads: Minor comment improvements.
	* aspects.ads: Change some aspects to be Never_Delay.
	Make Boolean_Aspects include Library_Unit_Aspects.
	* exp_ch9.adb (Build_Corresponding_Record):
	When copying aspects, set Aspect_Rep_Item to Empty,
	so Asp_Copy looks like an unanalyzed tree.
	* sem_ch12.adb (Analyze_Formal_Subprogram_Declaration):
	Skip Analyze_Aspect_Specifications in case of error.
	* sem_ch6.adb (Analyze_Expression_Function): Likewise.
	* sinfo.ads: Minor comment improvement.

2026-05-28  Steve Baird  <baird@adacore.com>

	* sem_ch6.adb (Install_Entity): If the entity to be installed is
	already installed, assert that an error has already been flagged
	and then return without introducing a cycle in the entity's
	Homonyms list.

2026-05-28  Viljar Indus  <indus@adacore.com>

	* errout.adb (Output_Messages): use the source file name without
	the directory path when constructing the name of the SARIF file.
	* osint.adb (Strip_Directory): New method for extracting the file name
	from a given path.
	* osint.ads (Strip_Directory): Likewise.

2026-05-28  Javier Miranda  <miranda@adacore.com>

	* sem_ch8.adb (Find_Renamed_Entity): Protect call to First_Formal.

2026-05-28  Javier Miranda  <miranda@adacore.com>

	* sem_res.adb (Resolve_Declare_Expression): Do not create a
	transient scope when expansion is disabled.

2026-05-28  Javier Miranda  <miranda@adacore.com>

	* sem_res.adb (Resolve_Declare_Expression): Do not create a
	transient scope under GNATprove mode.

2026-05-28  Bob Duff  <duff@adacore.com>

	* vast.adb (Pass): Add a comment.

2026-05-28  Marc Poulhiès  <poulhies@adacore.com>

	* vast.adb (Do_Node_Pass_2): Adjust check for aspect consistency.

2026-05-28  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference) <Constrained>: If the
	prefix is a non-In formal parameter of an unchecked union type, give
	a warning and insert a raise statement for Program_Error.

2026-05-28  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_util.ads (Is_Distributable_Declaration): New predicate.
	* exp_util.adb (Is_Distributable_Declaration): New predicate coming
	from Expand_N_Case_Expression and Expand_N_If_Expression.  Return
	False for variables of an unconstrained definite nonlimited subtype.
	* exp_ch4.adb (Expand_N_Case_Expression): Replace calls to local
	Is_Optimizable_Declaration by calls to Is_Distributable_Declaration.
	(Expand_N_If_Expression): Likewise.
	* exp_ch6.adb (Expand_Ctrl_Function_Call): Likewise.

2026-05-28  Bob Duff  <duff@adacore.com>

	* sem_ch13.adb (Insert_Pragma):
	Rename to be Insert_Aitem.

2026-05-28  Bob Duff  <duff@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications):
	Misc cleanup.

2026-05-28  Claire Dross  <dross@adacore.com>

	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode):
	Do not inline subprograms with formals of an unchecked union type.

2026-05-28  Marc Poulhiès  <poulhies@adacore.com>
	    Eric Botcazou  <botcazou@adacore.com>

	* sem_ch3.adb (Find_Type_Of_Object): Adjust freezing of the base
	type of a discriminated type.

2026-05-28  Ronan Desplanques  <desplanques@adacore.com>

	* sem_ch3.adb (Process_Full_View): Simplify test.

2026-05-28  Eric Botcazou  <ebotcazou@adacore.com>

	* accessibility.adb
	(Apply_Accessibility_Check_For_Class_Wide_Return): Do not test if
	accessibility checks are suppressed here but...
	(Apply_Accessibility_Check_For_Return): ...here instead.

2026-05-28  Viljar Indus  <indus@adacore.com>

	* sem_ch6.adb (Check_For_Primitive_Subprogram): add the
	check for ghost equality functions for all branches handling
	primitive subprograms.

2026-05-28  Ronan Desplanques  <desplanques@adacore.com>

	* sem_aux.ads (Is_Immutably_Limited_Type, Is_Inherently_Limited_Type):
	Improve documentation comments.
	* sem_aux.adb (Is_Inherently_Limited_Type): Replace inline code with
	call to Is_Immutably_Limited_Type.

2026-05-28  Bob Duff  <duff@adacore.com>

	* aspects.ads (Aspect_Initialize):
	Add to Implementation_Defined_Aspect.
	* einfo.ads (Alignment_Clause): Minor comment fix.
	* sem.adb: Remove useless null statements.
	* sem_ch13.ads (Rep_Item_Too_Late):
	Minor comment fix (this IS Sem_Ch13).
	* sem_prag.adb (Fix_Error):
	Minor comment fix (aspects are not "abnormal").
	* sinfo.ads: Minor comment fix.

2026-05-28  Javier Miranda  <miranda@adacore.com>

	* gen_il-fields.ads (Scope_Link): New field.
	* gen_il-gen-gen_nodes.adb (N_Expression_With_Actions): Added Scope_Link.
	* sinfo.ads (N_Expression_With_Actions): Add field Scope_Link.
	* sem_ch4.adb (Analyze_Expression_With_Actions): Set field Scope_Link
	* sem_ch5.ads (Has_Sec_Stack_Call): Declaration moved to the package spec.
	* sem_ch5.adb (Has_Sec_Stack_Call): ditto.
	* sem_res.adb (Resolve_Declare_Expression): Push/Pop internally created
	scope to provide proper visibility of the declare_items.

2026-05-28  Denis Mazzucato  <mazzucato@adacore.com>

	* sem_prag.adb (Check_References): Don't call Class_Wide_Type if the
	subprogram is a non-primitive procedure as the dispatching type may be
	empty.

2026-05-28  Piotr Trojanek  <trojanek@adacore.com>

	* exp_ch9.adb (Is_Pure_Barrier): Handle unexpanded attribute Count.

2026-05-28  Bob Duff  <duff@adacore.com>

	* vast.adb (Check_Corresponding_Aspect):
	New checks for aspect/pragma consistency.
	(Check_Enum): Add documentation of the checks.

2026-05-28  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch9.ads (Build_Master_Declaration): Minor tweaks in comment.
	(Build_Master_Entity): Likewise.
	(Build_Master_Renaming): Likewise.
	(Build_Master_Renaming_Declaration): New function declaration.
	* exp_ch9.adb (Build_Master_Declaration): Move around.
	(Build_Master_Renaming_Declaration): New function.
	(Build_Master_Renaming): Call Build_Master_Renaming_Declaration
	to build the renaming declaration.
	* sem_ch6.adb (Check_Anonymous_Access_Return_With_Tasks): Remove
	useless guard on Declarations (N).  Create a renaming declaration
	for the current _Master variable and set is as the Master_Id of
	the access result type.

2026-05-28  Piotr Trojanek  <trojanek@adacore.com>

	* exp_spark.adb (Expand_SPARK_N_Delta_Aggregate): Special case for
	"others" clause.

2026-05-27  Iain Sandoe  <iain@sandoe.co.uk>

	* xsintnam.sed: Posix-ify the a, c and i commands.

2026-05-26  Eric Botcazou  <ebotcazou@adacore.com>

	* xsintnam.sed: Disable style checks.

2026-05-26  Ronan Desplanques  <desplanques@adacore.com>

	* xsintnam.sed: Handle special case.

2026-05-26  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/Makefile.in ($(RTSDIR)/s-intnam.ads): Change recipe
	to use a basic invocation of 'sed'.

2026-05-26  Eric Botcazou  <ebotcazou@adacore.com>

	* xsintnam.sed: Do not filter out comments.

2026-05-26  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnarl/s-interr__sigaction.adb: Add with clause for
	System.OS_Interface.

2026-05-26  Eric Botcazou  <ebotcazou@adacore.com>

	* accessibility.adb (Apply_Accessibility_Check_For_Anonymous):
	Rename into...
	(Apply_Accessibility_Check_For_Anonymous_Return): ...this.
	(Apply_Accessibility_Check_For_Class_Wide): Rename into...
	(Apply_Accessibility_Check_For_Class_Wide_Return): ...this.
	(Apply_Accessibility_Check_For_Discriminant): Rename into...
	(Apply_Accessibility_Check_For_Discriminated_Return): ...this.
	(Apply_Accessibility_Check_For_Return): Adjust to above renamings.

2026-05-26  Eric Botcazou  <ebotcazou@adacore.com>

	* accessibility.ads (Apply_Accessibility_Check): Rename into...
	(Apply_Accessibility_Check_For_Parameter): ...this.
	(Apply_Accessibility_Check_For_Return): New procedure.
	(Effective_Extra_Accessibility): Minor tweak in description.
	* accessibility.adb (Function_Call_Or_Allocator_Level): Apply the
	specific treatment for returns to anonymous allocators as well.
	(Accessibility_Level): Deal with literal null and Deref attribute.
	(Apply_Accessibility_Check): Rename into...
	(Apply_Accessibility_Check_For_Anonymous): New procedure extracted
	from the old Apply_Access_Discrims_Accessibility_Check.
	(Apply_Accessibility_Check_For_Class_Wide): New procedure taken
	from Exp_Ch6.
	(Apply_Accessibility_Check_For_Discriminant): Likewise.
	(Apply_Accessibility_Check_For_Parameter): ...this.
	(Apply_Accessibility_Check_For_Return): New procedure.
	(Static_Accessibility_Level): Minor reformatting.
	* exp_attr.adb (Expand_N_Attribute_Reference): Adjust to renaming.
	* exp_ch3.adb (Expand_N_Object_Declaration): Generate accessibility
	checks for returns by calling Apply_Accessibility_Check_For_Return.
	* exp_ch4.adb (Expand_N_Type_Conversion): Adjust to renaming.
	* exp_ch6.ads (Apply_Access_Discrims_Accessibility_Check): Delete.
	(Apply_CW_Accessibility_Check): Likewise.
	* exp_ch6.adb: Remove clauses for Exp_Atag.
	(Apply_Access_Discrims_Accessibility_Check): Move to Accessibility.
	(Apply_CW_Accessibility_Check): Likewise.
	(Expand_Actuals): Adjust to renaming.
	(Expand_Simple_Function_Return): Generate accessibility checks by
	calling Apply_Accessibility_Check_For_Return.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Tidy up and make
	the computation of minimum accessibility levels more uniform.
	(Create_Extra_Formals): Minor reformatting.

2026-05-26  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Derive_Subprogram): Do not replace the type when
	Derived_Type inherits the first controlling parameter aspect and
	it is not the first formal of this operation.
	* sem_disp.adb (Check_Controlling_Formals): For overriding
	primitives of types with the first controlling parameter aspect
	inherit controlling formals of the overridden parent primitive.

2026-05-26  Viljar Indus  <indus@adacore.com>

	* ghost.adb (Check_Ghost_Equality_Op): Supply the type of the
	operation as an argument.
	* ghost.ads (Check_Ghost_Equality_Op): Likewise.
	* sem_ch6.adb (Valid_Operator_Definition): Remove call to
	Check_Ghost_Equality_Op.
	(Check_For_Primitive_Subprogram): Call Check_Ghost_Equality_Op.

2026-05-26  Ronan Desplanques  <desplanques@adacore.com>

	* libgnarl/s-inttyp.ads: New file.
	* libgnarl/a-interr.ads (Interrupt_ID): Derive from
	Preelab_Interrupt_ID.
	* libgnarl/s-interr.ads (Interrupt_ID): Derive from
	Preelab_Interrupt_ID.
	(Ada_Interrupt_ID): Remove.
	* libgnarl/s-interr__vxworks.ads (Ada_Interrupt_ID): Remove.
	* xsintnam.sed: New file.
	* Makefile.rtl: Register new runtime files.
	* libgnarl/a-interr.adb: Adjust with clauses.
	* rtsfind.ads (RE_Interrupt_Names, RE_Preelab_Interrupt_ID): New
	variants.
	* sem_prag.adb: Use entities from new preelaborate packages.
	* gcc-interface/Makefile.in: Generate System.Interrupt_Names.

2026-05-26  Ronan Desplanques  <desplanques@adacore.com>

	* libgnarl/s-interr.adb (Unprotected_Exchange_Handler): Improve
	comment and formatting.
	(Server_Task): Fix task state.
	* rtsfind.adb (RTE): Remove incorrect comment.

2026-05-26  Javier Miranda  <miranda@adacore.com>

	* exp_ch4.adb (Expand_N_Type_Conversion): When the operand is a
	qualified expression of an aggregate, force its evaluation by
	capturing its value in a constant (to ensure full initialization
	of the tagged object).

2026-05-26  Piotr Trojanek  <trojanek@adacore.com>

	* doc/gnat_ugn/platform_specific_information.rst
	(Using gnatdll): Document switch -m.
	* gnat_ugn.texi: Regenerate.

2026-05-26  Viljar Indus  <indus@adacore.com>

	* ghost.adb (Check_Valid_Ghost_Declaration): Relocate the procedure.

2026-05-26  Viljar Indus  <indus@adacore.com>

	* ghost.adb (Check_Ghost_Equality_Op): New function for the
	implementation of the rule.
	* ghost.ads (Check_Ghost_Equality_Op): Likewise.
	* sem_ch6.adb (Valid_Operator_Definition): Add check for rule 23.

2026-05-26  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch4.adb (Analyze_Qualified_Expression): For a class-wide type,
	check for an exact match modulo the Non_Limited_View attribute.

2026-05-26  Steve Baird  <baird@adacore.com>

	* aspects.adb (Has_Aspect): In the call to Find_Aspect, pass in
	True for the Or_Rep_Item parameter instead of letting it default
	to False.

2026-05-26  Piotr Trojanek  <trojanek@adacore.com>

	* tempdir.ads, tempdir.adb: Remove.
	* gcc-interface/Makefile.in (GNATMAKE_OBJS): Remove dependency on Tempdir.

2026-05-26  Piotr Trojanek  <trojanek@adacore.com>

	* gnatname.adb: Use System.OS_Lib routine.

2026-05-26  Piotr Trojanek  <trojanek@adacore.com>

	* make.adb: Use System.OS_Lib routine.

2026-05-26  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/89609
	* sem_res.adb (Resolve_Call): Do not override the Etype of the Name
	entity when it denotes a function that returns the limited view of a
	type coming from a limited_with clause.

2026-05-26  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch6.adb (Get_Function_Entity): New function.
	(Make_Build_In_Place_Call_In_Allocator): Call it, turn some local
	variables into constants and rename Function_Id as Func_Id.
	(Make_Build_In_Place_Call_In_Anonymous_Context): Likewise.
	(Make_Build_In_Place_Call_In_Assignment): Likewise.
	(Make_Build_In_Place_Call_In_Object_Declaration): Likewise.

2026-05-26  Gary Dismukes  <dismukes@adacore.com>

	* contracts.adb (Expand_Subprogram_Contract): Don't call
	Build_Subprogram_Contract_Wrapper for a No_Return subprogram,
	but include any prologue declarations (such as for preconditions).

2026-05-26  Viljar Indus  <indus@adacore.com>

	* errid-diagnostic_repository.ads: Add new diagnostics to the
	repository. Map diagnostics to restrictions.
	* errid-restriction_repository.ads: New pacakges for mapping
	restricitions to diagnostics.
	* errid.adb (heck_Diagnostic_To_Restriction_Consistency): New
	method for repository consistency.
	(Check_Diagnostic_To_Restriction_Consistency): New method for
	repository consistency.
	(Add_All_Restriction_Rules): New method for adding all of the
	restrictions.
	* errid.ads: Add new Diagnostic_Id-s.
	* errout.adb (Add_Unique_Diagnostics_And_Switches): Add
	restrictions to the SARIF_Printer.
	* erroutc.ads: Add restrictions to the Error_Msg_Object.
	* erroutc-sarif_emitter.adb (Print_Rule): Add method for printing
	rules for restrictions.
	* erroutc-sarif_emitter.ads: add restrictions as part of the
	printer.
	* errutil.adb (Error_Msg): Update diagnostic element creation.
	* restrict.adb (Restriction_Msg): Add diagnostic id based on the
	restriction id.
	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add
	new files.
	* gcc-interface/Makefile.in (GNATMAKE_OBJS): Likewise.

2026-05-26  Javier Miranda  <miranda@adacore.com>

	* exp_util.adb (Remove_Side_Effects): Propagate actuals in
	recursion calls, unless this is a known side-effect free
	attribute whose expressions are also side-effect free.

2026-05-26  Viljar Indus  <indus@adacore.com>

	* sem_util.adb (Depends_On_Level): Fix condition for Runtime
	level.

2026-05-26  Viljar Indus  <indus@adacore.com>

	* sem_util.adb (Policy_In_Effect): Normalize the policy names.

2026-05-26  Bob Duff  <duff@adacore.com>

	* gen_il-fields.ads (Is_Boolean_Aspect): Remove.
	* gen_il-gen-gen_nodes.adb: Likewise.
	* sinfo.ads: Likewise.
	* sem_ch13.adb: Likewise. Minor comment fix.
	* aspects.ads: Clean up comments, including removing
	some redundancy.
	* freeze.adb: Fix comment typo.
	* sem_eval.ads: Fix comment typo.
	* tbuild.ads: Fix comment; there's no reason to mention the
	number, especially when it's wrong.

2026-05-26  Viljar Indus  <indus@adacore.com>

	* ghost.adb (Check_Ghost_Policy): Add check for assertion levels
	inside aspect specifications.

2026-05-26  Bob Duff  <duff@adacore.com>

	* aspects.ads (Aspect_Unimplemented): Remove.
	* sem_ch13.adb (Aspect_Unimplemented): Remove.

2026-05-26  Bob Duff  <duff@adacore.com>

	* sem_ch13.adb (Analyze_One_Aspect): Remove the exception
	declaration, raises, and handler. Inline the code in
	Check_Expr_Is_OK_Static_Expression, which was called only once.

2026-05-26  Marc Poulhiès  <poulhies@adacore.com>

	* exp_unst.adb (Unnest_Subprogram): Push/Pop scope around Analyze
	call.

2026-05-26  Marc Poulhiès  <poulhies@adacore.com>

	* exp_unst.adb (Maybe_Subp_Index): New non throwing version of
	Subp_Index.
	(Nullify_Renamings, Move_Pending_Renamings): New.
	(Register_Subprogram): Record subp renamings. Call
	Nullify_Renamings when a subp is dropped.
	(with Elist): Moved to...
	* exp_unst.ads (with Elist): ... here.
	(Subp_Entry): Add Renamings component.
	(Pending_Renamings): New list.

2026-05-26  Ronan Desplanques  <desplanques@adacore.com>

	* libgnarl/s-interr__vxworks.adb (Unprotected_Exchange_Handler): Fix
	exception message.

2026-05-26  Sebastian Poeplau  <poeplau@adacore.com>

	* s-oscons-tmplt.c (PTY_Library): Define empty for Linux targets.

2026-05-26  Ronan Desplanques  <desplanques@adacore.com>

	* libgnarl/s-interr.adb (Interrupt_Manager, Server_Task): Fix
	comments.

2026-05-26  Ronan Desplanques  <desplanques@adacore.com>

	* libgnarl/s-interr.adb (User_Handler): Improve comment.
	(Unprotected_Exchange_Handler): Fix message string.

2026-05-26  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch6.adb (Check_Anonymous_Access_Return_With_Tasks): Declare
	Scop as a constant and call the Might_Have_Tasks predicate instead
	of using a custom implementation of it.

2026-05-26  Steve Baird  <baird@adacore.com>

	* doc/gnat_rm/gnat_language_extensions.rst: Correct example
	to avoid using a not-yet-implemented form of deep delta aggregate.
	* exp_aggr.adb (Make_Delta_Choice_LHS): Call Core_Extensions_Allowed
	instead of All_Extensions_Allowed.
	* par-ch4.adb (P_Simple_Expression): Likewise.
	* sem_aggr.adb (Resolve_Delta_Array_Aggregate): Likewise.
	* gnat_rm.texi: Regenerate.

2026-05-26  Gary Dismukes  <dismukes@adacore.com>

	* par.adb (P_Expression_If_OK): Add declare expression to spec comment.
	* par-ch4.adb (P_Expression_If_OK): Add declare expression to comments.
	* par-ch12.adb (P_Formal_Subprogram_Declaration): Call
	P_Expression_If_OK rather than P_Expression.

2026-05-26  Javier Miranda  <miranda@adacore.com>

	* sem_ch13.adb (Analyze_One_Aspect): For Unsigned_Base_Range aspect,
	skip generating its corresponding pragma when the aspect is set
	to False.
	* sem_ch3.adb (Analyze_Full_Type_Declaration): Fix initialization
	of local variable Is_Unsigned_Base_Range_Type_Decl to handle
	Unsigned_Base_Range aspect set to False.

2026-05-26  Ronan Desplanques  <desplanques@adacore.com>

	* libgnarl/s-interr.adb (Unprotected_Exchange_Handler): Fix
	exception message.

2026-05-26  Javier Miranda  <miranda@adacore.com>

	* aspects.adb (Get_Aspect_Id): Enable aspect Unsigned_Base_Range
	* debug.adb (Debug_Flag_Dot_U): Leave free this switch
	* par-ch4.adb (Scan_Apostrophe): Enable attribute Unsigned_Base_Range
	* sem_prag.adb (Analyze_Pragma): Enable pragma Unsigned_Base_Range
	* doc/gnat_rm/gnat_language_extensions.rst: Document unsigned base range.
	* gnat_rm.texi: Regenerate.
	* gnat_ugn.texi: Regenerate.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb (Prefix_Is_Formal_Parameter): Rename into...
	(Prefix_Is_Formal_Parameter_Of_EQ): ...this.  Return True only if
	the formal parameter is that of an equality function built for an
	unchecked union type.
	(Has_Inferable_Discriminants): Adjust to above renaming.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_put_image.ads (Image_Should_Call_Put_Image): Rename into...
	(Image_Must_Call_Put_Image): ...this.
	* exp_put_image.adb (Image_Should_Call_Put_Image): Rename into...
	(Image_Must_Call_Put_Image): ...this.
	* exp_imgv.adb (Expand_Image_Attribute): Adjust to above renaming.
	(Expand_Wide_Image_Attribute): Likewise.
	(Expand_Wide_Wide_Image_Attribute): Likewise.
	* sem_attr.adb (Eval_Attribute): Likewise.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_attr.adb: Add with and use clauses for Exp_Put_Image.
	(Eval_Attribute.Fold_Compile_Time_Known_Enumeration_Image): New
	procedure factored out from....
	(Eval_Attribute): ...here.  Attempt to fold 'Img and 'Image for all
	compile-time known values of enumeration, but not character, types,
	provided that Put_Image need not be called, by invoking the nested
	Fold_Compile_Time_Known_Enumeration_Image procedure on the value.

2026-05-25  Denis Mazzucato  <mazzucato@adacore.com>

	* sem_util.adb: Fix RM references.
	* sem_util.ads: Likewise.
	* sem_warn.adb: Likewise.

2026-05-25  Martin Clochard  <clochard@adacore.com>

	* sem_util.adb (As_Boolean): utility to fill decoration in expressions
	(Determining_Condition): set Etype for generated Boolean connectors
	(Conditional_Evaluation_Condition): set Etype for generated connectors

2026-05-25  Gary Dismukes  <dismukes@adacore.com>

	* par-ch12.adb (P_Formal_Subprogram_Declaration): Pass True for
	the Is_Core_Extension parameter on call to Error_Msg_GNAT_Extension.

2026-05-25  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Record aspect CPU and
	Priority applied to subprogram as a representation item.

2026-05-25  Claire Dross  <dross@adacore.com>

	* sem_prag.adb (Analyze_Exit_Contract): The Exception_Raised exit kind
	is not compatible with No_Raise.
	(Analyze_Pragma): The Exceptional_Cases pragma is not compatible with
	No_Raise.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	* gen_il-gen-gen_entities.adb (E_Subprogram_Type): Add the missing
	Scope_Depth_Value field.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/93702
	* exp_ch3.adb (Make_Controlling_Function_Wrappers): Revert latest
	change.
	* sem_ch12.adb (Analyze_One_Association): Remove redundant line.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Freeze the profile
	again for bodies that are not generated from expression functions.

2026-05-25  Javier Miranda  <miranda@adacore.com>

	* sem_disp.adb (Check_Controlling_Formals): Formals of a type
	specifying aspect First_Controlling_Parameter are not candidate
	controlling parameters when they are not the first formal of
	the dispatching primitive.

2026-05-25  Javier Miranda  <miranda@adacore.com>

	* exp_ch5.adb (Expand_N_Assignment_Statement): Handle internally
	generated initialization invoking a C++ constructor.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/93702
	* contracts.adb (Analyze_Entry_Or_Subprogram_Contract): Call
	Freeze_Expr_Types_Before instead of Freeze_Expr_Types.
	(Process_Preconditions_For): Likewise.
	* exp_ch3.adb (Make_Controlling_Function_Wrappers): Do not set
	Was_Expression_Function flag on the generated bodies.
	* exp_ch6.adb (Expand_Call_Helper): Call Original_Node on the
	result of the call to Expression_Of_Expression_Function.
	* freeze.ads (Freeze_Expr_Types): Delete.
	(Freeze_Expr_Types_Before): New procedure declaration.
	* freeze.adb (Check_Expression_Function): Delete.
	(Freeze_And_Append): Add Do_Freeze_Profile formal parameter and
	pass it to Freeze_Entity.  Remove call to Check_Expression_Function.
	(Freeze_Entity): Set Test_E consistently and freeze the expression
	of expression functions that are primitives of a tagged type.
	(Freeze_Profile): Adjust calls to Should_Freeze_Type.
	(In_Expanded_Body): Also return true for DIC procedures.
	(Freeze_Expression): Remove call to Check_Expression_Function.
	Freeze the expression of expression functions.
	(Freeze_Expr_Types): Add Result and Before formal parameters.
	Make a copy and preanalyze/resolve it only if Typ is present.
	(Freeze_Expr_Types.Explain_Error): New procedure.
	(Freeze_Expr_Types.Find_Incomplete_Constant): Likewise.
	(Freeze_Expr_Types.Check_And_Freeze_Type): Return immediately if
	the type is already frozen.  Report errors on N instead of Node.
	If Before is False, append the freeze nodes to Result.
	(Freeze_Expr_Types.Freeze_Type_Refs): Call Find_Incomplete_Constant.
	(Freeze_Expr_Types_Before): New procedure.
	(Should_Freeze_Type): Remove formal parameter E and
	specific kludge for stand-alone expression functions.
	* ghost.ads (Mark_And_Set_Ghost_Body_Of_Expression_Function): New
	procedure declaration.
	* ghost.adb (Mark_And_Set_Ghost_Body_Of_Expression_Function): New
	procedure body.
	* rtsfind.adb (RTE): Preserve and reset the In_Inlined_Body flag.
	(RTE_Record_Component): Likewise.
	* sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Just call
	Freeze_Expression to freeze the expression of prefixes that are
	expression functions and remove obsolete implementation.
	* sem_ch3.adb (Analyze_Declarations): Adjust commentary.
	(Check_Completion): Also skip stand-alone expressions functions.
	* sem_ch4.adb (Analyze_Case_Expression): Always analyze the choices.
	* sem_ch6.adb: Add with and use clauses for Sem_Ch7.
	(Analyze_Expression_Function): Call Freeze_Expr_Types_Before instead
	of Freeze_Expr_Types for expression functions that are completions.
	For stand-alone expression functions, set In_Private_Part on the
	entity if it is in the private part, propagate the results of the
	resolution of the specification of the the declaration to that of
	the body and insert the body at the next freezing point.
	(Analyze_Subprogram_Body_Helper): Remove the machinery for masking
	and unmasking unfrozen types. For a stand-alone expression function,
	call Mark_And_Set_Ghost_Body_Of_Expression_Function, remove obsolete
	code dealing with the freezing of the spec, set In_Inlined_Body to
	True, make the full view of the private types of its scope visible
	if this is not the current scope and it is in the private part, and
	avoid making the spec immediately visible.
	(Analyze_Subprogram_Specification): Fix typo.
	(New_Overloaded_Entity): Set Has_Completion on a [generic] package
	that conflicts with the entity to prevent a cascaded error.
	* sem_ch7.ads (Is_Private_Base_Type): New function declaration moved
	here from...
	* sem_ch7.adb (Is_Private_Base_Type): ...here.  Remove.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): Call Freeze_Expression
	to freeze the expression of expression functions, but only if the
	renaming comes from source.
	* sem_ch12.adb (Analyze_One_Association): Likewise, and remove the
	manual freezing for calls to them.
	* sem_res.adb (Resolve): Remove obsolete commentary.
	(Resolve_Call): Always freeze the expression of names that are
	expression functions.
	* sem_util.adb (Check_Fully_Declared): Add commentary and do not
	check types with private component declared outside of the current
	scope when it is a generic unit.
	(Expression_Of_Expression_Function): Return Expression directly.
	(Is_Inlinable_Expression_Function): Call Original_Node on the
	result of the call to Expression_Of_Expression_Function.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch8.adb (Analyze_Subprogram_Renaming): Retrieve again the
	expression of the expression function manually.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_res.adb (Resolve_Entity_Name): Add the name of the constant
	to the error message for premature freezing of deferred constants.

2026-05-25  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch12.adb (Build_Subprogram_Wrapper): Remove the subprogram
	renaming created for the formal-to-actual association from the
	list of renamings (only when such a subprogram renaming is present).
	Also, change the name from plural to singular, since the procedure
	only creates one wrapper, update the spec comment to reflect that,
	and clarify the state and use of the Renamings parameter.

2026-05-25  Viljar Indus  <indus@adacore.com>

	* sem_prag.adb (Analyze_Abstract_State): Improve handling of
	True/False for Abstract_State with Ghost.

2026-05-25  Denis Mazzucato  <mazzucato@adacore.com>

	* exp_ch3.adb (Build_Implicit_Parameterless_Constructor): Add Initialize
	aspect with default others to trigger Initialize aspect analysis.
	* exp_ch6.adb (Prepend_Constructor_Procedure_Prologue): Fix
	initialization order.
	(Init_From_Initialize_Expression): Retrieve initialization expression or
	the default one base on the Initialize aspect.
	(Init_From_Default_Or_Constructor):. Retrieve initialization expression
	based on the default one in the record initialization list or the init
	procedure.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Add check for
	missing components that require initialization, and add an
	expression_with_action node to place ABE during resolution of
	aggregates with function calls.
	(Check_Constructor_Choices): Helper to check that the aggregate choices
	do not refer to ancestors.
	(Diagnose_Misplaced_Aspects): Improve diagnostics when it is a clear
	misspelling of Initialize aspect.
	* sem_ch6.adb (Analyze_Direct_Attribute_Definition): If missing, add a
	compiler generated Initialize aspect with default others to trigger
	Initialize analysis.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	* contracts.adb (Has_Public_Visibility_Of_Subprogram): Use Subp_Id
	throughout and Is_Expression_Function to spot expression functions.
	* ghost.adb (Is_OK_Declaration): Likewise.
	* sem_ch12.adb (Analyze_One_Association): Likewise.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
	(Analyze_Subprogram_Specification): Fix typo.
	(Find_Corresponding_Spec): Call Is_Expression_Function.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): Retrieve the expression
	by means of Expression_Of_Expression_Function.
	* sem_res.adb (Resolve_Allocator): Call Is_Expression_Function.
	(Rewrite_Renamed_Operator): Likewise.
	* sem_util.adb (Expression_Of_Expression_Function): Streamline the
	the implementation.
	(Is_Expression_Function): Likewise.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch6.adb (Expand_Ctrl_Function_Call): Bail out for the name
	of an object renaming declaration at library level, if the call
	does not return on the secondary stack.
	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Rewrite the
	renaming as a regular object declaration if it is declared at
	library level and the name is a controlled function call whose
	result is not returned on the secondary stack.
	* exp_util.adb (Rewrite_Object_Declaration_As_Renaming): Minor fix.

2026-05-25  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Analyze_Subtype_Declaration): Record subtypes
	inherit the CPP_Class attribute; required for instantiations.

2026-05-25  Gary Dismukes  <dismukes@adacore.com>

	* contracts.adb (Analyze_Contracts): Add cases for formal subprogram
	Nkinds so that Analyze_Entry_Or_Subprogram_Contract will be called
	for them.
	* sem_attr.adb (Analyze_Attribute_Old_Result): Account for the cases
	of formal subprogram Nkinds, allowing Old attributes for those.
	* sem_ch12.adb (Build_Subprogram_Wrappers): Add a formal for passing
	the unanalyzed generic formal, and use it for copying any aspect
	specifications of the generic formal rather than copying the analyzed
	generic formal's aspects.
	(Analyze_One_Association): Pass Assoc.Un_Formal as an additional
	actual in the call to Build_Subprogram_Wrappers.

2026-05-25  Steve Baird  <baird@adacore.com>

	* accessibility.adb (Needs_Accessibility_Level_Temp_Or_Check): Conform
	to spec changes. Return True for the RHS of an assignment statement.
	* accessibility.ads: Change name of Is_Anonymous_Access_Actual
	to Needs_Accessibility_Level_Temp_Or_Check; the function now returns
	True in cases other than those described by the old name.
	Also change name of the formal parameter from N to Conditional_Expr.
	* exp_ch4.adb (Expand_N_If_Expression): Update call to a function
	whose name changed.

2026-05-25  Javier Miranda  <miranda@adacore.com>

	* sem_util.adb (Is_Fully_Initialized_Variant): Moved inside
	subprogram Is_Fully_Initialized_Type.
	(Is_Fully_Initialized_Constrained_Array): New subprogram that
	factorizes code of Is_[Fully|Partially]_Initialized_Type.
	(Is_Fully_Initialized_Record_Type): New subprogram; add missing
	support for incomplete types.
	(Is_Partially_Initialized_Record_Type): New subprogram; add missing
	support for incomplete types.
	(Is_Partially_Initialized_Type): Add new formal for predicate checks.
	* sem_util.ads (Is_Partially_Initialized_Type): Add new formal for
	predicate checks.
	* sem_warn.adb (Type_OK_For_No_Value_Assigned): Use named parameters
	in call to Is_Partially_Initialized_Type.
	* sem_ch3.adb (Analyze_Object_Declaration): Add new actual for
	predicate checks.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Introduce new local
	boolean constant From_Expression_Function, use it throughout, and
	replace an equivalent test by it.  Do not deal with name conflicts
	here when it is true.  Do not verify the consistency of overriding
	indicators for stand-alone expression functions.
	* sem_util.ads (Is_Expression_Function_Or_Completion): Fix improper
	wording in description.
	* sem_util.adb (Is_Expression_Function_Or_Completion): Streamline
	the implementation.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_util.adb (Remove_Init_Call.Find_Init_Call_In_List): Check that
	the first actual denotes the expected variable modulo qualification
	and conversion.

2026-05-25  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Report an error if the
	return statement of a function with foreign convention has a call
	to a C++ constructor.
	* exp_ch3.adb (Expand_N_Object_Declaration): Handle initialization
	expression calling a C++ constructor in an extended return statement
	of a subprogram with Ada convention.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Pull out the generic
	case from the if-statement and put it first.

2026-05-25  Denis Mazzucato  <mazzucato@adacore.com>

	* exp_disp.adb (Expand_Dispatching_Call): Remove suppression of checks
	during analysis of expanded dispatching calls.

2026-05-25  Ronan Desplanques  <desplanques@adacore.com>

	* doc/gnat_rm/gnat_language_extensions.rst: Add that finally is a
	non-reserved keyword.
	* par-ch5.adb (P_Sequence_Of_Statements): handle "finally" syntax
	extension.
	* snames.ads-tmpl: Remove the concept of GNAT extension reserved
	word.
	* snames.adb-tmpl (Is_Keyword_Name): Likewise.
	* scans.adb (Initialize_Ada_Keywords): Likewise.
	* par-util.adb (Check_Future_Keyword): Likewise.
	* gnat_rm.texi: Regenerate.

2026-05-25  Bob Duff  <duff@adacore.com>

	* exp_ch9.adb (Expand_N_Protected_Body):
	Remove "raise Program_Error" and consolidate other
	cases.

2026-05-25  Sebastian Poeplau  <poeplau@adacore.com>

	* libgnarl/libgnarl.gpr: Add dependency on libgnat.gpr.
	Set Library_Name and Library_Version depending on Library_Kind.
	* libgnat/libgnat.gpr: Likewise.

2026-05-25  Denis Mazzucato  <mazzucato@adacore.com>

	* aspects.ads (Aspects): Make Super aspect optional to allow for
	explicit call to parent parameterless constructor.
	* exp_ch3.adb (Build_Implicit_Parameterless_Constructor): Build implicit
	parameterless constructor when no other constructors are defined but the
	type has an ancestor with constructors.
	* exp_ch6.adb
	(Init_Expression_If_Any): Pe4rmit implicit calls to parameterless
	constructors in initialization expressions if available.
	(Make_Parent_Constructor_Call): Super without parameters calls the
	parent parameterless constructor.
	* sem_ch13.adb (Analyze_Aspect_Specification): Allow Super aspect
	without expression.
	* sem_ch3.adb (Analyze_Object_Declaration): Delay check for missing
	parameterless constructor until the the implicit constructor is built.

2026-05-25  Steve Baird  <baird@adacore.com>

	* aspects.ads: Add three new Taint_Xxx aspects to the Aspect_Id
	enumeration type and define a corresponding subtype,
	Ignored_Aspects.
	* exp_prag.adb (Expand_N_Pragma): Don't rewrite a taint-related
	pragma as a null statement. We want to leave the (unanalyzed)
	pragma in the tree.
	* sem_ch13.adb (Analyze_One_Aspect): Leave taint-related aspect
	specifications
	(and their arguments, if any) unanalyzed.
	(Check_Aspect_At_Freeze_Point): Update a case statement to treat
	the new aspects as an error case.
	* sem_util.adb (Should_Ignore_Pragma_Sem): Return True for an
	ignored pragma.
	* snames.ads-tmpl: Define names for the three new aspects.

2026-05-25  Bob Duff  <duff@adacore.com>

	* scans.adb (Save_Scan_State): Use an aggregate.

2026-05-25  Denis Mazzucato  <mazzucato@adacore.com>

	* exp_ch6.adb (Build_Helper_Call): Refactor code to handle both static and
	dynamic precondition calls in the same way.

2026-05-25  Denis Mazzucato  <mazzucato@adacore.com>

	* exp_ch3.adb (Build_Record_Init_Proc): Move Build_Assignment to
	Build_Component_Assignment in Exp_Util for a more general use.
	* exp_ch6.adb (Prepend_Constructor_Procedure_Prologue): refactor using
	Build_Component_Assignment.
	* exp_util.adb (Build_Component_Assignment): Logic to build component
	assignments for initialization procedures and constructor prologues.
	* exp_util.ads (Build_Component_Assignment): Likewise.
	* sem_ch5.adb (Analyze_Assignment): Revert back changes from previous
	attempt to fix assignments of limited types in constructor prologues,
	the use of Build_Component_Assignment makes those changes unnecessary.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Minor comment fixes.

2026-05-25  Eric Botcazou  <ebotcazou@adacore.com>

	* sinput.ads: Small tweak to head comment.

2026-05-25  Denis Mazzucato  <mazzucato@adacore.com>

	* sem_ch3.adb (Build_Derived_Type): Propagate by-constructor indication
	only for derived tagged types, not for composition.

2026-05-19  Jakub Jelinek  <jakub@redhat.com>

	PR other/125348
	* libgnat/s-regpat.ads: Fix comment spelling, paramter -> parameter.

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

	PR ada/125240
	* gen_il-gen-gen_entities.adb (Enumeration_Kind): Make
	Lit_Indexes and Lit_Strings be defined for root types only.
	* einfo.ads (Lit_Hash): Adjust description.
	(Lit_Indexes): Likewise.
	(Lit_Strings): Likewise.
	(E_Enumeration_Type): Likewise.
	* exp_imgv.adb (Expand_Image_Attribute): Do not fetch the root type
	for enumeration types, except for character types, and adjust.

2026-05-03  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/125168
	* libgnat/s-dorepr__freebsd.adb (Two_Prod): Adjust to renaming.
	(Two_Sqr): Likewise.

2026-05-01  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/87936
	* gnatlink.adb (Gnatlink): Rename local variable and add Output_PIE
	local variable; when it is set, compile the binder file with -fPIE.
	(Process_Args): Set Output_PIE upon seeing -pie.
	(Process_Binder_File): Append "_pic" to the name of the static Ada
	runtime if Output_PIE is set.

2026-04-30  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/110336
	* gcc-interface/Makefile.in (COVERAGE_FLAGS): New variable
	(GCC_LINK_FLAGS): Add $(COVERAGE_FLAGS).
	(ALL_CFLAGS): Likewise.
	(enable_host_pie): Fold into single use.

2026-04-30  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/125044
	* sem_disp.adb (Check_Controlling_Formals): Apply the same massaging
	to the result subtype as to the parameter subtypes.

2026-04-22  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/85766
	* libgnat/a-direct.adb (Containing_Directory): Streamline and strip
	a trailing directory separator from the name.

2026-04-22  Jakub Jelinek  <jakub@redhat.com>

	* gnatvsn.ads: Bump Library_Version to 17.  Bump Current_Year to 2026.

2026-04-20  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124918
	* gcc-interface/Makefile.in (TOOLS1_LIBS): Restore.
	(../../gnatmake$(exeext)): Link with $(TOOLS1_LIBS).
	(../../gnatlink$(exeext)): Likewise.

2026-04-19  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124918
	* gcc-interface/Makefile.in (TGT_LIB): Move up.
	(LIBBACKTRACE): Likewise.
	(LIBIBERTY): Likewise.
	(LIBGNAT): Likewise.
	(LIBS): Likewise.
	(TOOLS_LIBS): Use $(LIBS).
	(TOOLS1_LIBS): Delete.
	(../../gnatmake$(exeext)): Do not link with $(TOOLS1_LIBS).
	(../../gnatlink$(exeext)): Likewise.

2026-04-17  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/107392
	* sem_res.adb: Add clauses for Ttypes.
	(Resolve.Patch_Up_Value): Do not try to convert real literals that
	do not fit in Universal_Integer.

2026-04-17  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/107391
	* urealp.adb (Decimal_Exponent_Hi): Check that the denominator is
	in range before invoking UI_To_Int on it, and cope with failure.
	(Decimal_Exponent_Lo): Likewise.

2026-04-15  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/105212
	* exp_aggr.adb (Build_Array_Aggr_Code): If the aggregate comes from
	source, call Set_Referenced_Modified on the target.

2026-04-15  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/87170
	* sem_res.adb (Resolve_String_Literal): Copy Comes_From_Source from
	the string literal to the character literals.

2026-04-13  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/95452
	* libgnat/g-heasor.adb (Sort.Sift): Add guard against overflow.
	* libgnat/g-hesorg.adb (Sort.Sift): Likewise.
	* libgnat/g-hesora.adb (Sort.Sift): Likewise.  Restore consistency.

2026-04-13  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/77535
	* libgnat/s-pehage.adb (New_Word): Rebase the input.

2026-04-12  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124836
	* adaint.c [__MINGW32__]: Do not include mingw32.h twice, and also
	include sys/param.h.

2026-04-07  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/124784
	* gcc-interface/lang.opt.urls: Regenerated.

2026-04-05  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch6.adb (Expand_Simple_Function_Return): Use a constant return
	object when the simple return is rewritten as an extended one.
	* libgnat/s-secsta.adb (SS_Allocate): Raise Storage_Error if the
	requested size is negative.
	* libgnat/s-secsta__cheri.adb (SS_Allocate): Likewise.

2026-04-03  Tonu Naks  <naks@adacore.com>

	* doc/gnat_rm/gnat_language_extensions.rst: Adjust rules for
	structural generic instantiations.
	* gnat_rm.texi: Regenerate.

2026-03-31  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_attr.adb (Analyze_Attribute) <Attribute_Reduce>: Rewrite the
	analysis of a non-overloaded reducer.  Moreover, when both actuals
	are overloaded, compute the set of possible interpretations.
	(Resolve_Attribute) <Attribute_Reduce>: Streamline the processing.

2026-03-27  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch12.adb (Analyze_Structural_Associations): Create a local
	instance instead of a structural instance when a local entity of
	a library-level package is used in a subprogram instantiation.

2026-03-27  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124596
	* sem_ch12.ads (Check_Private_View): Move around.
	* sem_ch12.adb (Check_Private_View): Retrieve the partial view
	by means of a call to Incomplete_Or_Partial_View.
	(Save_Global_References.Set_Global_Type): Do not force the full
	view of a type when only the partial declaration is visible.
	* sem_res.adb (Resolve_Actuals.Insert_Default): Remove obsolete
	code coping with the above kludge.

2026-03-23  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124607
	* sem_elab.adb (Has_Body.Find_Body): Fix thinko.

2026-03-23  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124606
	* sem_ch12.adb (Find_Actual_Type): Rename formal parameter.
	(Map_Formal_Package_Entities): Do not register base types.

2026-03-20  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/120669
	* sem_ch4.adb (Analyze_Explicit_Dereference): Remove interpretations
	of the prefix only if they are of access types.
	(Analyze_One_Call.Indicate_Name_And_Type): Check for an implicit
	dereference only after indicating the name and type of the call.
	* sem_ch5.adb (Analyze_Assignment): Do not remove interpretations
	for the LHS if they are for a type with implicit dereference.
	* sem_res.adb (Resolve): Streamline the processing of overloaded
	nodes once an interpretation is picked for them.  Add a specific
	handling for additional interpretations for generalized references.
	(Resolve_Explicit_Dereference): Remove interpretations of the prefix
	only if they are of access types.
	(Is_Ambiguous_Operand): Skip the direct interpretation for a limited
	type that has implicit dereference.
	* sem_type.adb (Add_One_Interp): Set the name of the first entry of
	the table of interpretations in more cases.

2026-03-14  Matthias Klose  <doko@gcc.gnu.org>

	PR ada/107475
	* Makefile.rtl (s390% linux%): Define MISCLIB.
	(arm% linux-gnueabi%): Likewise.
	(%x32 linux%): Likewise.

2026-03-12  Steve Baird  <baird@adacore.com>

	PR ada/124016
	* libgnat/a-cbinho.adb (Create_Subpool): Handle the case where
	the type Holder_Subpool has nontrivial finalization. Declare the
	local variable Subpool with its Import aspect specified (to avoid
	unwanted finalization), and make corresponding changes in order to
	initialize that variable.
	* libgnat/s-stposu.ads (_Adjust_Clone): New procedure.
	* libgnat/s-stposu.adb (_Adjust_Clone): New body.

2026-03-12  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124369
	* accessibility.adb (Accessibility_Message): Give an error instead
	of a warning in an instance when No_Dynamic_Accessibility_Checks is
	in effect.
	(Innermost_Master_Scope_Depth): Restore the original computation of
	the nearest enclosing dynamic scope.
	* sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Call the
	Accessibility_Message routine in all cases to give accessibility
	errors and do not return.  Call the Static_Accessibility_Level
	function in all cases to compute static accessibility levels.
	Add guard before calling Prefix_With_Safe_Accessibility_Level.

2026-03-12  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124376
	* sem_res.adb (Resolve_Actuals.Check_Aliased_Parameter): Deal with
	assignment statements.

2026-03-12  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124376
	* accessibility.adb (Accessibility_Level): Minor formatting tweaks.
	(Accessibility_Level.Function_Call_Or_Allocator_Level): Implement
	AI12-0402.  Reimplement the loop climbing up the parent chain to
	find an object being initialized.  Restrict the specific handling
	of N_Assignment_Statement nodes to the anonymous access type case.
	* doc/gnat_rm/implementation_of_ada_2022_features.rst: Adjust the
	entries of AI12-0277, AI12-0345 & AI12-0372, add one for AI12-0402.
	* gnat_rm.texi: Regenerate.

2026-03-07  Eric Botcazou  <ebotcazou@gcc.gnu.org>

	PR target/124336
	* init.c (__gnat_adjust_context_for_raise) [x86/Linux]: Fix typo.

2026-03-07  Eric Botcazou  <ebotcazou@gcc.gnu.org>

	PR target/124336
	* init.c (__gnat_adjust_context_for_raise) [x86/Linux]: Adjust
	pattern matching to new stack probes.

2026-02-28  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124285
	* gcc-interface/decl.cc (components_to_record): Force a packed
	layout for the innermost variant of an unchecked union type with
	fixed part and full representation clause.

2026-02-27  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124201
	PR ada/124282
	* exp_aggr.adb (Expand_Iterated_Component): Replace the iteration
	variable in the expression as well.
	* sem_aggr.adb (Resolve_Iterated_Component_Association): Preanalyze
	the expression directly as well.

2026-02-27  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/123306
	* freeze.adb (Freeze_Entity): For a class-wide equivalent type of
	a non-interface root type, freeze the root type before it.
	* sem_ch3.adb (Derived_Type_Declaration): Minor tweak.
	* sem_ch12.adb (Analyze_One_Association): Revert latest change.
	* sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: When
	the prefix is a class-wide type, insert the declaration of the CW-
	equivalent type immediately after that of the root type, and the
	size check for the root type into its own freezing actions.

2026-02-26  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124201
	* exp_aggr.adb (Expand_Iterated_Component): Replace the iteration
	variable in the key expression and iterator filter, if any.
	* sem_aggr.adb (Resolve_Iterated_Component_Association): Preanalyze
	the specification and key expression directly.

2026-02-25  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124226
	* sem_res.adb (Resolve_Implicit_Dereference): Move declaration to...
	* sem_res.ads (Resolve_Implicit_Dereference): ...here.
	* sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Also call
	Resolve_Implicit_Dereference when resolving a protected operation.

2026-02-24  Eric Botcazou  <ebotcazou@adacore.com>
	    Liam Powell  <liam@liampwll.com>

	PR ada/124224
	* sem_aggr.adb (Resolve_Container_Aggregate): Minor tweaks.
	(Resolve_Iterated_Association): Compute Typ on all paths.

2026-02-22  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124192
	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst
	(Max_Tasks): Adjust description.
	* gnat_rm.texi: Regenerate.

2026-02-22  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124179
	* sem_ch9.adb (Analyze_Triggering_Alternative): Use more robust
	test for delay and entry call statements and fix thinko in test
	for procedure call statements.

2026-02-20  Eric Botcazou  <ebotcazou@adacore.com>

	* libgnat/s-stposu.adb (Finalize_Pool): Pass a local copy of the
	handle in the call to Finalize_And_Deallocate.

2026-02-16  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/124106
	* exp_ch4.adb (Expand_N_Allocator): Minor fix in commentary.
	(Expand_Allocator_Expression): Propagate the Subpool_Handle_Name
	of the original allocator onto the newly built allocators.
	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Likewise.
	Use Preserve_Comes_From_Source to propagate Comes_From_Source.
	(Make_CPP_Constructor_Call_In_Allocator): Likewise.

2026-02-11  Steve Baird  <baird@adacore.com>

	PR ada/124016
	* doc/gnat_rm/implementation_defined_attributes.rst: Document
	that Finalization_Size attribute is defined for class-wide types.
	* exp_attr.adb (Expand_N_Attribute_Reference) <Finalization_Size>:
	Add support for class-wide types.
	<Size>: Raise Constraint_Error for class-wide types.
	* exp_imgv.adb (Expand_Image_Attribute): Adjust call to renaming.
	(Expand_Wide_Image_Attribute): Likewise.
	(Expand_Wide_Wide_Image_Attribute): Likewise.
	* sem_attr.ads (Finalization_Size): Update comment.
	* sem_attr.adb (Analyze_Image): Adjust call to renaming.
	(Analyze_Attribute): Remove check disallowing Finalization_Size
	attribute for class-wide types.
	* sem_util.ads (Is_Object_Image): Rename into...
	(Is_Object_Prefix): ...this.
	* sem_util.adb (Is_Object_Image): Rename into...
	(Is_Object_Prefix): ...this.
	* libgnat/a-cbinho.ads (Extra_Storage): Use Descriptor_Size and
	Finalization_Size attributes.
	(Max_Allocation_Overhead_In_Storage_Elements): Delete.

2026-02-11  Eric Botcazou  <ebotcazou@adacore.com>
	    Liam Powell  <liam@liampwll.com>

	PR ada/124054
	* exp_util.adb (Build_Allocate_Deallocate_Proc): Tidy up and pass
	Proc_Id as the new scope in the call to the New_Copy_Tree function.

2026-02-08  Eric Botcazou  <ebotcazou@adacore.com>
	    Liam Powell  <liam@liampwll.com>

	PR ada/124025
	* exp_ch9.adb (Expand_Entry_Barrier.Is_Global_Entity): Use
	Scope_Within_Or_Same to test whether the object is local.

2026-02-08  Eric Botcazou  <ebotcazou@adacore.com>
	    Liam Powell  <liam@liampwll.com>

	PR ada/121576
	* freeze.adb (Freeze_Array_Type): When the component size is
	specified, check that it is valid when the component type is
	either a fixed-point type or a bit-packed array type.

2026-02-03  Eric Botcazou  <ebotcazou@adacore.com>

	* checks.adb (Apply_Discriminant_Check): Bail out for a source type
	that is a class-wide type whose root type has no discriminants.
	* exp_ch4.adb (Expand_N_Type_Conversion): If the target type is an
	access type, emit null access checks before accessibility checks.
	* sem_util.adb (In_Return_Value): Deal again with assignments to
	return objects.

2026-02-02  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/89159
	* sem_ch6.adb (Conforming_Types.Is_Matching_Limited_View): Return
	true when the type is an incomplete view of the non-limited view.

2026-02-01  Eric Botcazou  <ebotcazou@adacore.com>
	    Liam Powell  <liam@liampwll.com>

	PR ada/123902
	* sem_ch4.adb (Analyze_Selected_Component): Also test
	Core_Extensions_Allowed for discriminated private types.
	Rework and augment commentary throughout the procedure.

2026-02-01  Eric Botcazou  <ebotcazou@adacore.com>
	    Liam Powell  <liam@liampwll.com>

	PR ada/121316
	* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Minor tweak.
	(Expand_Iterator_Loop_Over_Container): Likewise.
	(Expand_N_Loop_Statement): Use Statements (N) throughout.

2026-01-30  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch8.adb (End_Use_Type): Remove test of Prev_Use_Clause as
	as a condition for resetting In_Use and Current_Use_Clause, and
	change setting of that flag and field based on Prev_Use_Clause
	rather than setting them to Empty. Revise preceding comment.

2026-01-30  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/123867
	* sem_ch10.adb (Analyze_Compilation_Unit): Output info message
	when -gnatdi is specified.
	(Install_Parents): Likewise.  Set the Is_Visible_Lib_Unit flag
	on the unit.
	(Install_Private_With_Clauses): Do not output info message here.
	(Remove_Parents): Output info message when -gnatdi is specified
	and clear the Is_Visible_Lib_Unit flag on the unit.

2026-01-29  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/123861
	* sem_type.adb (Covers): Fix couple of typos in comment.
	(Specific_Type): Adjust to Covers' handling of types declared
	with the Aggregate aspect in Ada 2022.

2026-01-28  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/123857
	* checks.adb (Apply_Parameter_Validity_Checks.Add_Validity_Check):
	Set Is_Checked on the generated {Pre,Post}_Condition pragma and
	bail out if the parameter is of an Unchecked_Union type.

2026-01-28  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/123832
	* exp_imgv.adb: Add with and use clauses for Exp_Ch7.
	(Expand_Image_Attribute): Establish a transient scope before
	rewriting the attribute as a call to Put_Image.
	(Expand_Wide_Image_Attribute): Likewise.
	(Expand_Wide_Wide_Image_Attribute): Likewise.
	* exp_put_image.ads (Build_Image_Call): Add note about the
	need for a transient scope when the function is invoked.
	* exp_put_image.adb (Build_Image_Call): Call Insert_Actions
	to immediately insert the actions instead of wrapping them
	in an Expression_With_Actions node.

2026-01-25  Sandra Loosemore  <sloosemore@baylibre.com>

	* gcc-interface/lang.opt.urls: Regenerated.

2026-01-21  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/123580
	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Replace call to
	Scope_Within_Or_Same (Current_Scope, S) with In_Open_Scopes (S) to
	test whether S is open in the current scope.
	* sem_util.adb (From_Nested_Package): Likewise.

2026-01-17  Eric Botcazou  <ebotcazou@adacore.com>
	    Lisa Felidae  <lisa@felidae.bam.moe>

	PR ada/68179
	PR ada/123589
	* exp_ch3.adb (Expand_Freeze_Array_Type): Build an initialization
	procedure for a bit-packed array type if Has_Default_Aspect is set
	on the base type, but make sure not to build it twice.  Also test
	Has_Default_Aspect for a type derived from String.

2026-01-10  Iain Sandoe  <iain@sandoe.co.uk>

	* libgnarl/s-osinte__darwin.adb: Delete unneeded use clause.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.cc (gnat_to_gnu): Add comment explaining why
	it is necessary to remove the padding for an object of a type with
	self-referential size when it is not converted to the result type.
	* gcc-interface/utils2.cc (build_binary_op) <MODIFY_EXPR>: For an
	assignment between small padded objects of the same type with self-
	referential size, and which have the same (constant) size, use the
	padded view of the objects.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.cc (gnat_to_gnu): For the LHS of an assignment
	or an actual parameter of a call, do not remove the padding even for
	a type of self-referential size when the padded size is small enough
	to be copied efficiently.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch12.ads (Save_Global_References_In_Aspects): Move to...
	* sem_ch12.adb (Save_Global_References_In_Aspects): Move to...
	* contracts.adb (Save_Global_References_In_Contract): ...here.

2026-01-09  Javier Miranda  <miranda@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Remove previous patch
	and place the call to the constructor into a compound statement
	attached to the object; the compound statement will be moved to
	the freezing actions of the object if the object has an address
	clause.

2026-01-09  Denis Mazzucato  <mazzucato@adacore.com>

	* sem_ch13.adb (Check_Constructor_Initialization_Expression): The first
	parameter of an implicit constructor comes from Specification, not
	Corresponding_Spec.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch4.adb (Expand_N_Type_Conversion): Restore Comes_From_Source
	test on N itself instead of its parent node.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* accessibility.adb (Function_Call_Or_Allocator_Level): Return the
	level of the subprogram in Ada 95 only in the case where the result
	type is a return-by-reference type.

2026-01-09  Steve Baird  <baird@adacore.com>

	* libgnat/a-cbinho.ads: add Warnings pragmas.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* accessibility.adb (Function_Call_Or_Allocator_Level): Adjust the
	latest change to cope with _Wrapped_Statements functions.
	* einfo.ads (Wrapped_Statements): Fix description.
	* sem_util.adb (In_Return_Value): Fix typo in comment.

2026-01-09  Javier Miranda  <miranda@adacore.com>

	* checks.ads (Convert_From_Bignum): Add a new formal and update
	documentation.
	(Convert_To_Bignum): Update documentation.
	* checks.adb (Is_Signed_Integer_Arithmetic_Op): Renamed as
	Is_Overflow_Arithmetic_Op, and replace calls to function
	Is_Signed_Integer_Type by calls to Has_Overflow_Operations.
	(Apply_Arithmetic_Overflow_Minimized_Eliminated): Add support
	for types with the Unsigned_Base_Range aspect.
	(Apply_Divide_Checks): Replace calls to Is_Signed_Integer_Type
	by calls to Has_Overflow_Operations.
	(Compute_Range_For_Arithmetic_Op): Adjust comment.
	(Convert_To_Bignum): Add support for types with the Unsigned_
	Base_Range aspect.
	(Convert_From_Bignum): Add support for result type with the
	Unsigned_Base_Range aspect.
	(Minimize_Eliminate_Overflows): Add support for types with the
	Unsigned_Base_Range aspect.
	* exp_ch4.adb (Minimized_Eliminated_Overflow_Check): Replace
	call to Is_Signed_Integer_Type by call to Has_Overflow_Operations.
	(Expand_Compare_Minimize_Eliminate_Overflow): Add support for types
	with the Unsigned_Base_Range aspect.
	(Expand_Membership_Minimize_Eliminate_Overflow): Ditto.
	(Expand_N_Op_Expon): Ditto.
	(Expand_Exponentiation): New subprogram.
	* rtsfind.ads (RE_Id): Add RE_LLU_To_Bignum, RE_LLU_From_Bignum.
	* libgnat/s-bignum.ads (LLU_To_Bignum): New subprogram.
	(LLU_From_Bignum): New subprogram.
	* libgnat/s-bignum.adb (LLU_To_Bignum): New subprogram.
	(LLU_From_Bignum): New subprogram.
	* libgnat/s-genbig.ads (From_Bignum): New overloaded functions
	for Long_Long_Long_Unsigned and Long_Long_Unsigned types.
	(To_Bignum): Ditto.
	* libgnat/s-genbig.adb (From_Bignum): New overloaded functions
	for Long_Long_Long_Unsigned and Long_Long_Unsigned types.
	(To_Bignum): Ditto.
	* libgnat/s-expuns.ads (Exp_Unsigned): Fix documentation.
	* libgnat/s-expllu.ads (Exp_Long_Long_Unsigned): Ditto.
	* libgnat/s-explllu.ads (Exp_Long_Long_Long_Unsigned): Add missing
	documentation.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* accessibility.ads (Is_Special_Aliased_Formal_Access): Delete.
	* accessibility.adb (Is_Special_Aliased_Formal_Access): Likewise.
	(Accessibility_Level.Innermost_Master_Scope_Depth): Look for non-
	package bodies and statements directly.
	(Accessibility_Level.Function_Call_Or_Allocator_Level): For a
	function call in a return context, return the extra level of the
	master of the call only for dynamic checks.
	(Accessibility_Level) <N_Defining_Identifier>: Always return the
	library level for an explicitly aliased parameter in the context
	of a return from the subprogram where it is declared.
	* exp_ch4.adb (Expand_N_Allocator): Test manually whether the
	context is a return statement instead of calling In_Return_Value.
	(Expand_N_Type_Conversion): Do not apply accessibility checks to
	actuals of a tagged type in a synthesized subprogram call.
	* sem_attr.adb (Resolve_Attribute) <Access>: Remove specific test
	for explicitly aliased parameters.
	* sem_ch4.adb: Remove clauses for Accessibility package.
	(Analyze_Call): Do not apply static accessibility checks here...
	* sem_res.adb (Resolve_Actuals): ...but here instead.  Implement
	a generalized form of AI12-0402.
	(Valid_Conversion): Apply static accessibility checks in extended
	return statements too.
	* sem_util.ads (In_Return_Value): Adjust description.
	(Is_Master): Delete.
	* sem_util.adb (Is_Explicitly_Aliased): Reindent.
	(In_Return_Value): Reimplement.
	(Is_Master): Delete.

2026-01-09  Viljar Indus  <indus@adacore.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	* errout.adb (Insert): New function to create an insertion fix.
	(Deletion): New function to create a deletion fix.
	* errout.ads: Likewise.
	* sem_warn.adb (Create_Add_Constant_Fix): New function to create
	a fix for adding a constant qualifier for a variable declaration.
	(Change_In_Out_To_In_Fix): New function to create a fix for
	convertinting an in out parameter direction to a an in direction.

2026-01-09  Tonu Naks  <naks@adacore.com>

	* doc/gnat_rm/implementation_of_ada_2022_features.rst: update
	AI12-0350, add AI12-0254.
	* gnat_rm.texi: Regenerate.
	* gnat_ugn.texi: Regenerate.

2026-01-09  Ronan Desplanques  <desplanques@adacore.com>

	* adaint.c (__gnat_set_thread_description): New function.
	* libgnarl/s-taprop__mingw.adb (Enter_Task): Set thread description.
	* rtinit.c (__gnat_runtime_initialize): Set up function pointer.
	* mingw32.h (HRESULT, pSetThreadDescription): New.

2026-01-09  Denis Mazzucato  <mazzucato@adacore.com>

	* exp_ch3.adb (Build_Init_Procedure): Remove call to constructors.
	(Build_Default_Simple_Initialization): Implicit call to parameterless constructors in new
	allocations.
	(Expand_Freeze_Record_Type): Freeze constructors as we would freeze predefined operations.
	(Constructor_Freeze): Freeze all constructors.
	* sem_attr.adb (Analyze_Attribute): Handle missing parameterless constructors.
	* sem_ch3.adb: The default constructor is now called parameterless.
	* sem_util.adb (Find_Matching_Constructor): Return the constructor
	matching the given condition. Before it was just checking its
	existence.
	(Has_Copy_Constructor): Move it upward to maintain alphabetic
	order of utility subprograms.
	(Has_Parameterless_Constructor): The default constructor is now called parameterless.
	(Has_Explicit_Constructor): New utility to check for constructors
	defined by the user. Used to understand if an implicit
	parameterless constructor exists.
	(Is_Copy_Constructor): Refactor easier control flow.
	(Is_Parameterless_Constructor): New utility to check if a constructor has a profile
	compatible with the parameterless constructor.
	* sem_util.ads: Likewise.

2026-01-09  Viljar Indus  <indus@adacore.com>

	* errid-diagnostic_repository.ads: Update the diagnostic repository.
	* errid-switch_repository.ads: Update the switch repository.
	* errid.ads: Add new Diagnostic_Id-s.
	* sem_warn.adb (Check_References): Add Diagnostic_Id-s for
	error messages triggered by -gnatwk.

2026-01-09  Viljar Indus  <indus@adacore.com>

	* errid.adb (Check_Diagnostic_To_Switch_Consistency): New subprogram
	for checking the consistency of diagnostics.
	(Check_Switch_To_Diagnostic_Consistency) New subprogram for checking
	the consistency of switches.
	(Add_All_Diagnostic_Rules): Check diagnostic consitency.
	(Add_All_Switch_Rules): Check switch consitency.

2026-01-09  Viljar Indus  <indus@adacore.com>

	* debug.adb: remove use case for -gnatd_E
	* errout.adb (Output_Messages): remove printing of
	the diagnostic repository when -gnatd_E is used.
	* gnatcmd.adb: Add support for printing the diagnostic repository.

2026-01-09  Viljar Indus  <indus@adacore.com>

	* errid-diagnostic_repository.ads: New package for storing
	information about diagnostics.
	* errid-switch_repository.adb: New package for storing
	information about switches.
	* errid-switch_repository.ads: Likewise.
	* errid.adb: Move common methods related to Diagnostic_Id-s and
	Switch_Id-s to this pacakge.
	* errid.ads: Likewise.
	* errout.adb (Add_Unique_Diagnostics_And_Switches): New method
	for gathering all of the unique Diagnostic_Id-s and Switch_Id-s
	among all of the error messages.
	(Output_Messages): Use the new SARIF printer interface for printing
	the report.
	* erroutc-sarif_emitter.adb (Print_Relationship): New method for
	printing relationship nodes.
	(Print_Rule): Support printing switches as rules. Add support
	for printing relationship nodes under rules. Remove brackets around
	the rule name.
	(Print_Runs): Add a printer argument to pass all of the switches
	and diagnostics as rules in the SARIF report.
	(Print_Tool): Likewise.
	(Free): New method.
	(Get_Unique_Rules): Removed.
	(Print_Result): Remove brackets around the rule name.
	(Print_Rules): Print switches as rules.
	* erroutc-sarif_emitter.ads (SARIF_Printer): New record type for
	storing and passing all of the diagnostic and switch information
	around in the SARIF printer.
	(Report_Kind): New type for indicating the different reports the
	SARIF emitter can produce.
	(Free): New method for releasing all of the dynamically allocated
	memory.
	(Print_SARIF_Report): Add a SARIF_Printer argument.
	* erroutc.adb (Get_Human_Id): Removed.
	(Get_Switch): Removed.
	(Get_Doc_Switch): Simplify code.
	* erroutc.ads: (Get_Human_Id): Removed.
	(Get_Switch): Removed.
	* errsw.adb: Replaced by errid-switch_repository.adb.
	* errsw.ads: Replaced by errid-switch_repository.ads.
	* errutil.adb: Remove dependecy to errsw pacakge.
	* par-endh.adb: Fix whitespace.
	* gcc-interface/Make-lang.in: Update the dependencies.
	* gcc-interface/Makefile.in: Likewise.

2026-01-09  Steve Baird  <baird@adacore.com>

	* doc/gnat_rm/implementation_defined_attributes.rst: Document the
	From_Address attribute.
	* exp_attr.adb (Expand_N_Attribute_Reference): Implement expansion
	of a From_Address attribute reference.
	* sem_attr.adb (Analyze_Attribute): Implement analysis of a
	From_Address attribute reference.
	(Eval_Attribute): A From_Address attribute reference cannot be
	statically evaluated.
	* snames.ads-tmpl: Declare Name_From_Address and Attribute_From_Address.
	* gnat_rm.texi: Regenerate.
	* gnat_ugn.texi: Regenerate.

2026-01-09  Steve Baird  <baird@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Add new legality
	checks for Super and Initialize aspect specifications, implemented
	by calling a new local procedure,
	Check_Constructor_Initialization_Expression.

2026-01-09  Steve Baird  <baird@adacore.com>

	* Makefile.rtl: add entry for new unit
	* impunit.adb: add entry for new unit
	* libgnat/a-cbinho.adb: new file with body for new unit
	* libgnat/a-cbinho.ads: new file with spec for new unit
	* libgnat/a-coboho.ads: add comment
	* libgnat/a-undesu.ads: add Preelaborate aspect specification,
	as per AI22-0050.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/123003
	* accessibility.adb: Remove unused clauses.
	* aspects.adb: Likewise.
	* checks.adb: Likewise.
	* comperr.adb: Likewise.
	* contracts.adb: Likewise.
	* cstand.adb: Likewise.
	* debug_a.adb: Likewise.
	* errout.adb: Likewise.
	* eval_fat.adb: Likewise.
	* exp_aggr.adb: Likewise.
	* exp_atag.adb: Likewise.
	* exp_attr.adb: Likewise.
	* exp_cg.adb: Likewise.
	* exp_ch11.adb: Likewise.
	* exp_ch12.adb: Likewise.
	* exp_ch13.adb: Likewise.
	* exp_ch2.adb: Likewise.
	* exp_ch3.adb: Likewise.
	* exp_ch4.adb: Likewise.
	* exp_ch5.adb: Likewise.
	* exp_ch6.adb: Likewise.
	* exp_ch7.adb: Likewise.
	* exp_ch8.adb: Likewise.
	* exp_ch9.adb: Likewise.
	* exp_code.adb: Likewise.
	* exp_dbug.adb: Likewise.
	* exp_disp.adb: Likewise.
	* exp_dist.adb: Likewise.
	* exp_fixd.adb: Likewise.
	* exp_imgv.adb: Likewise.
	* exp_intr.adb: Likewise.
	* exp_pakd.adb: Likewise.
	* exp_prag.adb: Likewise.
	* exp_put_image.adb: Likewise.
	* exp_sel.adb: Likewise.
	* exp_smem.adb: Likewise.
	* exp_spark.adb: Likewise.
	* exp_strm.adb: Likewise.
	* exp_tss.adb: Likewise.
	* exp_unst.adb: Likewise.
	* exp_util.adb: Likewise.
	* exp_util.ads: Likewise.
	* expander.adb: Likewise.
	* freeze.adb: Likewise.
	* frontend.adb: Likewise.
	* ghost.adb: Likewise.
	* gnat1drv.adb: Likewise.
	* gnat_cuda.adb: Likewise.
	* impunit.adb: Likewise.
	* inline.adb: Likewise.
	* itypes.adb: Likewise.
	* itypes.ads: Likewise.
	* layout.adb: Likewise.
	* lib.adb: Likewise.
	* libgnarl/s-tasuti.adb: Likewise.
	* live.adb: Likewise.
	* local_restrict.adb: Likewise.
	* mutably_tagged.adb: Likewise.
	* nlists.adb: Likewise.
	* par.adb: Likewise.
	* par_sco.adb: Likewise.
	* pprint.adb: Likewise.
	* repinfo.adb: Likewise.
	* restrict.adb: Likewise.
	* rtsfind.adb: Likewise.
	* scil_ll.adb: Likewise.
	* scn.adb: Likewise.
	* sem.adb: Likewise.
	* sem_aggr.adb: Likewise.
	* sem_attr.adb: Likewise.
	* sem_aux.adb: Likewise.
	* sem_case.adb: Likewise.
	* sem_cat.adb: Likewise.
	* sem_ch10.adb: Likewise.
	* sem_ch11.adb: Likewise.
	* sem_ch12.adb: Likewise.
	* sem_ch13.adb: Likewise.
	* sem_ch2.adb: Likewise.
	* sem_ch3.adb: Likewise.
	* sem_ch4.adb: Likewise.
	* sem_ch5.adb: Likewise.
	* sem_ch6.adb: Likewise.
	* sem_ch7.adb: Likewise.
	* sem_ch9.adb: Likewise.
	* sem_dim.adb: Likewise.
	* sem_disp.adb: Likewise.
	* sem_dist.adb: Likewise.
	* sem_elab.adb: Likewise.
	* sem_elim.adb: Likewise.
	* sem_eval.adb: Likewise.
	* sem_intr.adb: Likewise.
	* sem_mech.adb: Likewise.
	* sem_prag.adb: Likewise.
	* sem_res.adb: Likewise.
	* sem_scil.adb: Likewise.
	* sem_smem.adb: Likewise.
	* sem_type.adb: Likewise.
	* sem_util.adb: Likewise.
	* sem_util.ads: Likewise.
	* sem_warn.adb: Likewise.
	* sinput.adb: Likewise.
	* sprint.adb: Likewise.
	* strub.adb: Likewise.
	* style.adb: Likewise.
	* styleg.adb: Likewise.
	* tbuild.adb: Likewise.
	* tbuild.ads: Likewise.
	* treepr.adb: Likewise.
	* uname.adb: Likewise.
	* sem_ch8.adb: Likewise.
	(Mark_Use_Clauses.Mark_Use_Package): Do not recurse on the prefix
	for a package given by an expanded name.

2026-01-09  Bob Duff  <duff@adacore.com>

	* debug.adb: Remove doc for gnatd_X; no longer used.
	* einfo.ads: Minor comment improvement.
	* exp_ch3.adb: Minor reformatting.
	* exp_ch6.adb (Check_BIP_Actuals): Export.
	(Validate_Subprogram_Calls): Move to Vast.
	* exp_ch6.ads (Check_BIP_Actuals): Export.
	* exp_ch7.adb (Make_Init_Call): Remove obsolete Set_Assignment_OK.
	* frontend.adb: Move Validate_Subprogram_Calls call to VAST,
	as the comment suggested.
	* par.adb: Minor comment improvements.
	* par-ch13.adb (Get_Aspect_Specifications):
	Misc cleanup, including removal of redundant setting
	of Aspects, and changing multiple 'if's to 'case'.
	* par-ch4.adb (P_Simple_Name_Resync): Do not refer to Token_Node
	when it is documented as not defined.
	* par-ch6.adb: Minor comment improvement.
	* par-util.adb (Bad_Spelling_Of): After setting Token from
	identifier to keyword, destroy Token_Node, so it doesn't get
	accidentally used.
	* scans.adb (Save_Scan_State, Restore_Scan_State):
	Put these in logical order. Make sure we're not saving
	and restoring bogus information in Token_Node.
	* scans.ads: Fix incorrect comment.
	* scn.ads: Minor comment improvements. Do not duplicate (wrong)
	information from Scans.
	* scng.adb: Set Token_Node to Empty initially, so we don't
	accidentally refer to bogus information from previous tokens.
	* scng.ads: Minor comment improvement (remove information
	about one actual from comment on the formal).
	* sem_aux.ads (Initialization_Suppressed):
	Minor comment improvement.
	* sem_ch6.adb: Remove usage of Debug_Flag_Underscore_XX.
	This code is pretty well tested by now, and anyway, it's
	only called from within pragmas Assert.
	* sem_util.adb (Enter_Name): Minor cleanup.
	* sprint.adb (Dump_Generated_Only): Fix incorrect comment.
	* vast.adb: Misc cleanup. Enable assertion about
	Errout.Compilation_Errors (should be False if back end
	is enabled).
	(Validate_Subprogram_Calls): Move here from frontend.adb.
	Move call to it here from frontend.adb.

2026-01-09  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch4.adb (Try_Container_Indexing): Conditionalize last actual of
	call to Error_Msg_NE to avoid blowup on N_Parameter_Association actuals.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_attr.adb (Expand_Size_Attribute): If the attribute is applied
	to a formal parameter allocated with an extra Constrained parameter,
	use the value of the latter to choose between the "unconstrained" or
	the "constrained" size of the formal parameter.

2026-01-09  Javier Miranda  <miranda@adacore.com>

	* exp_ch4.adb (Expand_Composite_Equality): Under Ada83 and Ada95
	modes, and compiling under -gnatw_q, search for an user-defined
	equality and report a warning if found since it will not be called.

2026-01-09  Piotr Trojanek  <trojanek@adacore.com>

	* libgnat/system-mingw.ads (Underlying_Priorities): Restore previous
	mapping with distinct values around Default_Priority.

2026-01-09  Denis Mazzucato  <mazzucato@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Do not expand copy
	constructor calls when unnecessary.
	* exp_ch3.adb
	(Build_Implicit_Copy_Constructor): If necessary, build the implicit copy
	constructor as part of the initialization procedures of its type.
	(Expand_N_Object_Declaration): Add implicit 'Make attribute calls for
	objects that may need construction.
	* exp_ch6.adb (Make_Parent_Constructor_Call): Constructor's procedure
	calls should be only generated from expansion of the 'Make attribute as
	there is hidden logic to handle copy constructors.
	* sem_attr.adb (Analyze_Attribute): Emit a specific error message if a
	non-copy constructor is called but no constructor is defined.
	* sem_ch13.adb (Analyze_Aspect_Specifications): The Ekind of the
	implicitly generated copy constructor is not a subprogram body.
	* sem_ch4.adb (Extended_Primitive_Ops): Extend the operation list that
	can be called via prefix notation to include constructors.
	* sem_ch6.adb (Check_For_Primitive_Subprogram): Skip constructors for
	primitive analysis.
	* sem_util.adb (Has_Matching_Constructor): Generic function to
	check for the existence of a constructor matching a given
	condition.
	(Has_Copy_Constructor): Check whether a type has an implicit or explicit
	copy constructor.
	(Has_Default_Constructor): Use Has_Matching_Constructor.
	(Is_Copy_Constructor): Check whether a subprogram is a copy constructor.
	(Is_Copy_Constructor_Call): Check whether an attribute call is call to a
	copy constructor.
	* sem_util.ads: Add specs for copy constructor utility functions.
	* snames.ads-tmpl (Snames): Add names Self and From.

2026-01-09  Martin Clochard  <clochard@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): For Old attribute,
	detect the anonymous access type case explicitly instead of
	implicitly within in Eligible_For_Conditional_Evaluation.
	* sem_util.ads: (Eligible_For_Conditional_Evaluation): Do not
	return True on anonymous access types. This was also breaking usage
	outside expansion (legality checks for Old).
	* sem_util.adb: (Conditional_Evaluation_Condition): Special case
	of no determiners for anonymous access types is no longer possible.

2026-01-09  Ronan Desplanques  <desplanques@adacore.com>

	* snames.ads-tmpl: Make "Destructor" an attribute name.
	* snames.adb-tmpl: Allow direct attribute definition for Destructor.
	* gen_il-fields.ads (Destructor): New field.
	(Is_Destructor): Remove.
	* gen_il-gen-gen_entities.adb: (Destructor): New field.
	(Is_Destructor): Remove.
	* einfo.ads (Destructor): Document new field.
	(Is_Destructor): Remove documentation.
	* aspects.ads (Aspect_Destructor): Remove.
	* exp_attr.adb (Expand_N_Attribute_Reference): Adapt after aspect
	removal.
	* exp_ch7.adb (Build_Finalize_Statements): Adapt to new destructor
	representation.
	* freeze.adb (Freeze_Entity): Remove obsolete check.
	* sem_attr.adb (Analyze_Attribute, Eval_Attribute): Adapt to new
	attribute.
	* sem_ch13.adb (Analyze_Aspect_Specifications,
	Check_Aspect_At_End_Of_Declarations): Adapt after aspect removal.
	* sem_ch6.adb (Analyze_Direct_Attribute_Definition): Add handling
	of Destructor attribute.
	(Can_Be_Destructor_Of): New function.
	* doc/gnat_rm/gnat_language_extensions.rst: Adapt documentation to
	new syntax.
	* gnat_rm.texi: Regenerate.
	* gnat_ugn.texi: Regenerate.

2026-01-09  Tom Tromey  <tromey@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst
	(GNATLLVM): Update debugging documentation.
	* gnat_ugn.texi: Regenerate.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_util.ads (Find_Hook_Context): Rename to...
	(Find_Master_Context): ...this and alphabetize.
	* exp_util.adb (Find_Master_Context): Rename to...
	(Find_Master_Context): ...this and alphabetize.
	* exp_ch4.adb (Insert_Conditional_Object_Declaration): Adjust to
	above renaming.
	(Process_Transients_In_Expression): Likewise.

2026-01-09  Ronan Desplanques  <desplanques@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check direct
	attribute definitions for specs.

2026-01-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Adjust references in comments for
	pragma Side_Effects and Volatile_Function.

2026-01-09  Javier Miranda  <miranda@adacore.com>

	* exp_ch3.adb (Build_Untagged_Record_Equality): Add missing
	support for incomplete and private types.

2026-01-09  Viljar Indus  <indus@adacore.com>

	* einfo-utils.adb (Can_Have_Formals): New function for checking
	if the entity can support formals.
	* einfo-utils.ads (Can_Have_Formals): Likewise.
	* ghost.adb (Check_Procedure_Call_Argument_Levels): Avoid checking
	the type of the formal if the called entity cannot hold formals.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Do not call
	Move_Activation_Chain if it is not available in the runtime library.

2026-01-09  Claire Dross  <dross@adacore.com>

	* sem_util.ads (Overlaid_Entity): Return the root of the address
	clause of an object if it is precisely supported in SPARK.
	* sem_util.adb (Ultimate_Overlaid_Entity): Use Overlaid_Entity to
	match the SPARK RM semantics.
	* sem_prag.adb (Analyze_Global_Item): Only check for overlays on
	variables.
	(Analyze_Initialization_Item): Likewise.
	(Analyze_Input_Item): Likewise.

2026-01-09  Piotr Trojanek  <trojanek@adacore.com>

	* sem_util.adb (Find_Overlaid_Entity): Detect overlying with slice.

2026-01-09  Ronan Desplanques  <desplanques@adacore.com>

	* freeze.adb (Size_Known): Modify rejection condition.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch5.adb (Expand_N_Assignment_Statement): If a predicate check
	made on the RHS forced the capture of a function call to remove its
	side effects, demote No_Ctrl_Actions into No_Finalize_Actions on the
	N_Assignment_Statement node.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch9.ads (Build_Task_Allocate_Block): Change to function and
	remove first formal parameter.
	* exp_ch9.adb (Build_Task_Allocate_Block): Likewise.  Return an
	anonymous list of nodes.
	* exp_aggr.adb (Convert_Aggr_In_Allocator): Adjust to above change.
	* exp_ch4.adb (Expand_N_Allocator): Likewise.
	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Likewise.

2026-01-09  Piotr Trojanek  <trojanek@adacore.com>

	* inline.adb (Build_Body_To_Inline): Do not inline ghost functions.

2026-01-09  Ronan Desplanques  <desplanques@adacore.com>

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst: Update
	example.
	* gnat-style.texi: Regenerate.
	* gnat_ugn.texi: Regenerate.

2026-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch4.adb (Analyze_Selected_Component): Give a specific error
	message for an invalid prefix that is the dereference of a name.
	* sem_ch8.adb (Find_Selected_Component): Give a consistent error
	message for the name of an invalid prefix.

2026-01-08  Olivier Hainque  <hainque@adacore.com>
	    Alexandre Oliva  <oliva@adacore.com>

	* gcc-interface/Make-lang.in (m32_target): Set.
	(not_m32_target, native_target, native_gnattools1): Set.
	(ADA_TOOLS_FLAGS_TO_PASS, gnattools): Handle x86_64 natives
	defaulting to -m32 as cross for gnattools.
	* gcc-interface/Makefile.in (target_cpu): Set to i686 for
	x86_64 configurations defaulting to -m32.

2026-01-03  Eric Botcazou  <ebotcazou@gcc.gnu.org>

	PR ada/123371
	* sem_aggr.adb (Resolve_Iterated_Association): Call Preanalyze
	instead of Analyze consistently, as well as Copy_Separate_Tree
	instead of New_Copy_Tree.

2026-01-01  Jakub Jelinek  <jakub@redhat.com>

	* gnat_ugn.texi: Bump @copying's copyright year.
	* gnat_rm.texi: Likewise.


Copyright (C) 2026 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.
