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.
