2026-08-07  Release Manager

	* GCC 16.2.0 released.

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

	PR ada/126553
	* exp_attr.adb (Build_Record_VS_Func.Validate_Field): Do nothing
	if the field is of an Unchecked_Union type.

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

	PR ada/126379
	* exp_ch6.adb (Insert_Post_Call_Actions): Also deal with attribute
	references as parent node.

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

	PR ada/126482
	* sem_attr.adb (Analyze_Attribute): Treat Unrestricted_Access like
	[Unchecked_]Access when it comes to the overloading of the prefix.

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

	* sem_attr.adb (Resolve_Attribute) <Attribute_Reduce>: Perform the
	full resolution of the reducer even if it is not overloaded, but do
	not resolve the prefix if it is an aggregate

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.

