1 2024-03-07 Eric Botcazou <ebotcazou@adacore.com>
4 * exp_ch4.adb (Expand_N_Allocator): In the subtype indication case,
5 call Apply_Predicate_Check on the resulting access value if needed.
7 2024-02-26 Eric Botcazou <ebotcazou@adacore.com>
10 * exp_ch7.adb (Build_Anonymous_Master): Do not build the master
11 for a local designated type.
12 * exp_util.adb (Build_Allocate_Deallocate_Proc): Force Needs_Fin
13 to false if no finalization master is attached to an access type
14 and assert that it is anonymous in this case.
15 * sem_res.adb (Resolve_Allocator): Mention that the object might
16 not be finalized at all in the warning given when the type is an
17 anonymous access-to-controlled type.
19 2024-01-23 Ronan Desplanques <desplanques@adacore.com>
21 * gnatvsn.ads: Update year.
23 2024-01-09 Eric Botcazou <ebotcazou@adacore.com>
25 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Use the
26 TYPE_CANONICAL of types when it comes to aliasing.
27 * gcc-interface/utils.cc (relate_alias_sets): Likewise.
29 2024-01-09 Eric Botcazou <ebotcazou@adacore.com>
31 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Use a
32 separate FLD local variable to hold the first field of the fat
33 pointer type being built.
34 * gcc-interface/gigi.h (relate_alias_sets): Remove GNU_ prefix on
35 the first two parameters.
36 * gcc-interface/utils.cc (relate_alias_sets): Likewise and adjust.
38 2024-01-09 Viljar Indus <indus@adacore.com>
40 * sem_attr.adb: avoid marking a use of the Address attribute
41 as a modification of its prefix.
43 2024-01-09 Gary Dismukes <dismukes@adacore.com>
45 * exp_aggr.adb (Expand_Container_Aggregate): Change "not Present"
46 tests to tests using "No" (in two places).
48 2024-01-09 Bob Duff <duff@adacore.com>
50 * sem_ch12.adb (Instantiate_Type): Make the relevant error message
51 conditional upon "Ekind (A_Gen_T) /= E_Incomplete_Type". Misc
54 2024-01-09 Gary Dismukes <dismukes@adacore.com>
56 * exp_aggr.adb (Expand_Container_Aggregate): Add code to determine
57 whether the aggregate is an indexed aggregate, setting a flag
58 (Is_Indexed_Aggregate), which is tested to have proper separation
59 of treatment for the Add_Unnamed
60 (for positional aggregates) and New_Indexed (for indexed
61 aggregates) cases. In the code generating associations for indexed
62 aggregates, remove the code for Expressions cases entirely, since
63 the code for indexed aggregates is governed by the presence of
64 Component_Associations, and add an assertion that Expressions must
65 be Empty. Also, exclude empty aggregates from entering that code.
67 2024-01-09 Eric Botcazou <ebotcazou@adacore.com>
69 * rtsfind.ads (RE_Id): Remove RE_Attach.
70 (RE_Unit_Table): Likewise.
71 * libgnat/s-finmas.ads (Attach): Delete.
72 * libgnat/s-finmas.adb (Attach): Likewise.
74 2024-01-09 Tucker Taft <taft@adacore.com>
76 * pprint.adb (List_Name): Check for "Box_Present" when displaying
77 a list, and emit "<>" if returns True.
78 * sem_scil.adb (Check_SCIL_Node): Handle case when the type of a
79 parameter is from a package that was mentioned in a limited with
80 clause, and make no further checks, since this check routine does
81 not have all the logic to check such a usage.
83 2024-01-09 Eric Botcazou <ebotcazou@adacore.com>
85 * freeze.adb (Freeze_Expression.Has_Decl_In_List): Deal specifically
86 with itypes that are class-wide subtypes.
88 2024-01-09 Eric Botcazou <ebotcazou@adacore.com>
90 * libgnat/s-atopri.ads (Atomic_Store): New generic procedure.
91 (Atomic_Store_8): New instantiated procedure.
92 (Atomic_Store_16): Likewise.
93 (Atomic_Store_32): Likewise.
94 (Atomic_Store_64): Likewise.
95 * libgnat/s-atopri__32.ads (Atomic_Store): New generic procedure.
96 (Atomic_Store_8): New instantiated procedure.
97 (Atomic_Store_16): Likewise.
98 (Atomic_Store_32): Likewise.
99 * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Implement the
100 support for __atomic_store_n and __sync_bool_compare_and_swap_n.
101 * gcc-interface/gigi.h (list_second): New inline function.
103 2024-01-09 Javier Miranda <miranda@adacore.com>
105 * sem_ch6.adb (Analyze_Subprogram_Specification): Do not replace
106 the type of the formals with its corresponding record in
108 * sem_ch9.adb (Analyze_Requeue): Add missing support to requeue to
109 a procedure that denotes a renaming of an entry.
111 2024-01-09 Piotr Trojanek <trojanek@adacore.com>
113 * exp_util.adb (Possible_Side_Effect_In_SPARK): Refine handling of
116 2024-01-09 Piotr Trojanek <trojanek@adacore.com>
118 * sem_ch6.adb (Analyze_Subprogram_Specification): Set Is_Inlined
119 flag by default in GNATprove mode.
120 * sem_res.adb (Resolve_Call): Only look at flag which is cleared
121 when inlined subprogram is detected to be recursive.
123 2024-01-09 Piotr Trojanek <trojanek@adacore.com>
125 * inline.adb (Establish_Actual_Mapping_For_Inlined_Call):
126 Remove detection of recursive calls.
128 2024-01-09 Piotr Trojanek <trojanek@adacore.com>
130 * inline.adb (Cannot_Inline): Cleanup use of 'Length; remove
133 2024-01-09 Piotr Trojanek <trojanek@adacore.com>
135 * sem_aggr.adb (Resolve_Container_Aggregate): Use "No".
136 * sem_ch8.adb (Find_Direct_Name): Likewise.
138 2024-01-09 Steve Baird <baird@adacore.com>
140 * sem_util.adb (Enclosing_Declaration): Instead of returning a
141 subprogram specification node, return its parent (which is
142 presumably a subprogram declaration).
143 * contracts.adb (Insert_Stable_Property_Check): Remove code
144 formerly needed to compensate for incorrect behavior of
145 Sem_Util.Enclosing_Declaration.
146 * exp_attr.adb (In_Available_Context): Remove code formerly needed
147 to compensate for incorrect behavior of
148 Sem_Util.Enclosing_Declaration.
149 * sem_ch8.adb (Is_Actual_Subp_Of_Inst): Remove code formerly
150 needed to compensate for incorrect behavior of
151 Sem_Util.Enclosing_Declaration.
153 2024-01-09 Steve Baird <baird@adacore.com>
155 * sem_ch8.adb (Check_Constrained_Object): Before updating the
156 subtype mark of an object renaming declaration by calling Rewrite,
157 first check whether the destination of the Rewrite call exists.
158 * atree.adb (Copy_Slots): Return without performing any updates if
159 Destination equals Empty or Error, or if Source equals Empty. Any
160 of those conditions indicates an error case.
161 * sem_ch12.adb (Analyze_Formal_Derived_Type): Avoid cascading
163 * sem_ch3.adb (Analyze_Number_Declaration): In an error case, do
164 not pass Error as destination in a call to Rewrite.
165 (Find_Type_Of_Subtype_Indic): In an error case, do not pass Error
166 or Empty as destination in a call to Rewrite.
168 2024-01-09 Joffrey Huguet <huguet@adacore.com>
170 * libgnat/i-cstrin.ads (Update): Fix precondition.
172 2024-01-09 Eric Botcazou <ebotcazou@adacore.com>
174 * sem_aggr.adb (Resolve_Extension_Aggregate): Remove the unreachable
175 call to Transform_BIP_Assignment as well as the procedure.
177 2024-01-09 Bob Duff <duff@adacore.com>
179 * lib-xref.adb (Generate_Reference): Do not count it as a read
180 reference if we're calling a TSS.
182 2024-01-09 Piotr Trojanek <trojanek@adacore.com>
184 * doc/gnat_rm/implementation_defined_aspects.rst,
185 doc/gnat_rm/implementation_defined_pragmas.rst: Add sections for
187 * gnat-style.texi: Regenerate.
188 * gnat_rm.texi: Regenerate.
189 * gnat_ugn.texi: Regenerate.
191 2024-01-09 Eric Botcazou <ebotcazou@adacore.com>
194 * libgnat/g-regexp.ads: Fix outdated comment.
196 2024-01-09 Eric Botcazou <ebotcazou@adacore.com>
199 * exp_ch6.ads (Is_Build_In_Place_Function): Adjust description.
200 * exp_ch6.adb (Is_True_Build_In_Place_Function_Call): Delete.
201 (Is_Function_Call_With_BIP_Formals): New predicate.
202 (Is_Build_In_Place_Function_Call): Restore original semantics.
203 (Expand_Call_Helper): Adjust conditions guarding the calls to
204 Add_Dummy_Build_In_Place_Actuals to above renaming.
205 (Expand_N_Extended_Return_Statement): Adjust to above renaming.
206 (Expand_Simple_Function_Return): Likewise. Move the assertion
207 to after the transformation into an extended return statement.
208 (Make_Build_In_Place_Call_In_Allocator): Remove unreachable code.
209 (Make_Build_In_Place_Call_In_Assignment): Likewise.
211 2024-01-09 Eric Botcazou <ebotcazou@adacore.com>
214 * sem_ch12.adb (Instantiate_Type): Use Etype instead of Base_Type
215 consistently to retrieve the ancestor for a derived type.
216 * sem_ch4.adb (Analyze_Explicit_Dereference): Test Is_Access_Type
217 consistently before accessing Designated_Type.
219 2024-01-09 Eric Botcazou <ebotcazou@adacore.com>
221 * gcc-interface/utils2.cc (build_binary_op) <EQ_EXPR>: Relax
222 assertion for regular pointer types.
224 2024-01-04 David Malcolm <dmalcolm@redhat.com>
226 * gcc-interface/lang.opt.urls: New file, autogenerated by
227 regenerate-opt-urls.py.
229 2024-01-03 Jakub Jelinek <jakub@redhat.com>
231 * gnat_ugn.texi: Bump @copying's copyright year.
232 * gnat_rm.texi: Likewise.
235 Copyright (C) 2024 Free Software Foundation, Inc.
237 Copying and distribution of this file, with or without modification,
238 are permitted in any medium without royalty provided the copyright
239 notice and this notice are preserved.