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

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

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

	* exp_util.ads (Find_Optional_Prim_Op): Add Controlled_Op parameter
	defaulting to False.
	* exp_util.adb (Find_Optional_Prim_Op): Likewise.  When it is set to
	True, test whether the primitive has the signature of the controlled
	primitives.
	* sem_ch13.adb (Resolve_Finalization_Procedure): Reset Is_Overloaded
	once an interpretation has been selected among the set.

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

	* sem_ch3.adb (Find_Type_Of_Object): In the subtype indication case
	for a stand-alone object, invoke Process_Subtype during preanalysis
	instead of partially reimplementing it.
	* sem_ch5.ads (Has_Sec_Stack_Call): Move back declaration to...
	* sem_ch5.adb (Has_Sec_Stack_Call): ...here.
	* sem_ch4.adb (Analyze_Expression_With_Actions): Deal with transient
	scopes created during analysis.
	* sem_res.adb: Add clauses for Sem_Ch9 package.
	(Resolve_Declare_Expression): Streamline and deal with transient
	scopes created during resolution.

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

	* exp_ch4.adb (Expand_N_Expression_With_Actions): Create a temporary
	only for types that can be copied, and replace the EWA node by its
	expression for other types.
	* exp_ch6.adb (Expand_Ctrl_Function_Call): Bail out when the parent
	is an EWA node.
	* sem_ch3.adb (OK_For_Limited_Init_In_05): Recurse on the expression
	of an EWA node.

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

	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Do not set the
	Body_Needed_For_Inlining flag on the current semantic unit if the
	package is declared within an instance or does not require a body.
	(Analyze_Generic_Subprogram_Declaration): Similarly, do not set the
	Body_Needed_For_Inlining flag on the current semantic unit if the
	subprogram is declared within an instance.

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

	* sem_ch12.adb (Build_Structural_Instantiation): Temporarily disable
	registration of tagged types when analyzing the instantiation.

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

	* libgnat/a-cbinho.adb (Clear): Deallocate the subpool even if the
	container is empty.

2026-06-19  Steve Baird  <baird@adacore.com>

	* libgnat/a-cbinho.adb (Adjust): Avoid null pointer dereference.

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

	PR ada/125695
	* libgnat/s-genbig.adb ("**"): Do not drop the sign on the floor.
	(Big_Exp): Take into account the parity of the exponent for -2.

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

	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Revert latest
	change.
	(Find_Type_Of_Subtype_Indic): Return Any_Type if Find_Type fails to
	resolve the type.
	* sem_ch12.adb (Analyze_Formal_Derived_Type): Restore more specific
	error recovery path.

2026-06-06  Ronan Desplanques  <desplanques@adacore.com>

	* exp_ch6.adb (Needs_BIP_Collection): Fix condition.

2026-06-06  Mathias Aparicio  <aparicio@adacore.com>

	* libgnat/a-textio.adb
	(Get_Upper_Half_Char, Get_Upper_Half_Char_Immed): Replace
	Constraint_Error with Data_Error

2026-06-06  Viljar Indus  <indus@adacore.com>

	* sem_warn.adb (Warn_On_Suspicious_Index): Only check elements
	that are coming from source.

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

	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Be prepared
	for Find_Type_Of_Subtype_Indic returning no type.
	* sem_ch4.adb (Process_Generic_Instantiation): Give an error if the
	generic instantation is referenced in a generic formal part.
	* sem_ch12.adb (Analyze_Formal_Derived_Type): Return early in every
	case of serious errors.

2026-06-04  Artur Pietrek  <pietrek@adacore.com>

	* exp_ch7.adb (Make_Address_For_Finalize): check
	Has_Controlled_Component predicate before emitting the shift to be
	consistant with what Is_Constr_Array_Subt_With_Bounds says.

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

	* exp_ch4.adb (Expand_Allocator_Expression): In the case of access
	discriminants, pass Zero_On_Dynamic_Level to compute the static
	accessibility level of the expression.
	* sem_res.adb (Check_Aliased_Parameter): Pass Zero_On_Dynamic_Level
	to compute the static accessibility level of actual parameters.

2026-06-04  Piotr Trojanek  <trojanek@adacore.com>

	* sem_ch9.adb (Analyze_Requeue): Fix unbalanced parens.

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

	* sem_util.ads (In_Reverse_Storage_Order_Object): Adjust.
	* sem_util.adb (In_Reverse_Storage_Order_Object): Rewrite.

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

	* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Validate
	a known alignment on the object even if there is an address clause.

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

	* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Do not
	give the warning about too large a size here but...
	* gcc-interface/utils2.cc (build_allocator): ...here instead.

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

	* gcc-interface/utils.cc (maybe_pad_type): Propagate the flag
	TYPE_REVERSE_STORAGE_ORDER from the inner type to the record type
	if the former is also an aggregate type.

2026-06-02  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch3.adb (Copy_Parent_Attributes): Inherit Linker_Section_Pragma.

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

	PR ada/18205
	* exp_attr.adb (Rewrite_Attribute_Proc_Call): Skip the conversion to
	the formal type only if the actual is of a class-wide type. Generate
	a dispatching call when both the prefix is a class-wide type and the
	subprogram is a dispatching operation.
	(Expand_N_Attribute_Reference) <Input>: Use U_Type consistently and
	remove an useless invocation of Root_Type.
	<Put_Image>: Minor comment tweak.
	<Read>: Likewise.
	<Write>: Likewise.

2026-06-02  Ronan Desplanques  <desplanques@adacore.com>

	* par.adb, par-util.adb (Check_Bad_Layout_At): New procedure.
	* par-ch3.adb (P_Declarative_Item): Use new procedure.
	* par-ch5.adb (P_Sequence_Of_Statements): Likewise.

2026-06-02  Viljar Indus  <indus@adacore.com>

	* sem_util.adb (Normalize_Actuals): Improve error message.

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

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

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  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  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-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>

	* 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  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  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  Javier Miranda  <miranda@adacore.com>

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

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  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  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  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-28  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-28  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-28  Ronan Desplanques  <desplanques@adacore.com>

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

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

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

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

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

2026-05-28  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-28  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-28  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-28  Ronan Desplanques  <desplanques@adacore.com>

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

2026-05-28  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-28  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-28  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-28  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-28  Denis Mazzucato  <mazzucato@adacore.com>

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

2026-05-28  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-28  Eric Botcazou  <ebotcazou@adacore.com>

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

2026-05-28  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-28  Javier Miranda  <miranda@adacore.com>

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

2026-05-28  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-28  Javier Miranda  <miranda@adacore.com>

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

2026-05-28  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-28  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-28  Denis Mazzucato  <mazzucato@adacore.com>

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

2026-05-28  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-28  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-28  Eric Botcazou  <ebotcazou@adacore.com>

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

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

	* sinput.ads: Small tweak to head comment.

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

	Backported from master:
	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-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-30  Release Manager

	* GCC 16.1.0 released.

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.
