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