blob: 0d259d5191cc0d4b4210398c1e2f6d4109a4c81d [file] [log] [blame]
2026-01-25 Sandra Loosemore <sloosemore@baylibre.com>
* gcc-interface/lang.opt.urls: Regenerated.
2026-01-21 Eric Botcazou <ebotcazou@adacore.com>
* 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.