]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
* gcc-interface/decl.c (set_nonaliased_component_on_array_type): Add
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
d0de0a27 12019-06-29 Eric Botcazou <ebotcazou@adacore.com>
2
3 * gcc-interface/decl.c (set_nonaliased_component_on_array_type): Add
4 missing guard for the presence of TYPE_CANONICAL.
5 (set_reverse_storage_order_on_array_type): Likewise.
6
2074c859 72019-06-29 Eric Botcazou <ebotcazou@adacore.com>
8
9 * gcc-interface/gigi.h (make_packable_type): Remove default value.
10 (value_factor_p): Tweak prototype.
11 * gcc-interface/decl.c (gnat_to_gnu_entity): Add comment.
12 (gnat_to_gnu_component_type): Likewise.
13 (gnat_to_gnu_field): Likewise. Fetch the position of the field earlier
14 and simplify the condition under which the type is packed. Declare
15 local variable is_bitfield. Pass 1 as max_align to make_packable_type
16 if it is set to true.
17 (copy_and_substitute_in_layout): Pass 0 to make_packable_type.
18 * gcc-interface/utils.c (make_packable_array_type): New function.
19 (make_packable_type): Use it to rewrite the type of array field.
20 (maybe_pad_type): Pass align parameter to make_packable_type.
21 (create_field_decl): Minor tweaks.
22 (value_factor_p): Assert that FACTOR is a power of 2 and replace the
23 modulo computation by a masking operation.
24
83c6da22 252019-06-25 Eric Botcazou <ebotcazou@adacore.com>
26
27 * gcc-interface/decl.c (gnat_to_gnu_entity): Remove superfluous test
28 in previous change.
29 * gcc-interface/gigi.h (maybe_character_type): Fix formatting.
30 (maybe_character_value): Likewise.
31
aaabc7bc 322019-06-24 Jan Hubicka <jh@suse.cz>
33
34 * gcc-interface/decl.c (gnat_to_gnu_entity): Check that
35 type is array or integer prior checking string flag.
83c6da22 36 * gcc-interface/gigi.h (maybe_character_type): Likewise.
37 (maybe_character_value): Likewise.
aaabc7bc 38
5fe09a56 392019-06-24 Martin Sebor <msebor@redhat.com>
40
41 * gcc-interface/utils.c (handle_nonnull_attribute): Quote attribute
42 name.
43
bd9331d6 442019-06-18 Arnaud Charlet <charlet@adacore.com>
45
83c6da22 46 PR ada/80590
bd9331d6 47 * sem_ch5.adb (Analyze_Loop_Statement): Avoid exception propagation
48 during normal processing.
49
8a5a7d1c 502019-06-17 Arnaud Charlet <charlet@adacore.com>
51
83c6da22 52 PR ada/80590
8a5a7d1c 53 * exp_ch9.adb (Expand_N_Delay_Relative_Statement): Swap the two
54 conditions to avoid a unnecessary exception propagation in the default
55 case.
56
580934f6 572019-05-28 Eric Botcazou <ebotcazou@adacore.com>
58
59 * gcc-interface/utils.c (handle_stack_protect_attribute): Move around.
60
c8956236 612019-05-28 Eric Botcazou <ebotcazou@adacore.com>
62
63 * doc/gnat_rm/implementation_defined_pragmas.rst (Machine_Attribute):
64 Document additional optional parameters.
65 * sem_prag.adb (Analyze_Pragma) <Pragma_Machine_Attribute>: Accept
66 more than one optional parameter.
67 * gcc-interface/decl.c (prepend_one_attribute_pragma): Alphabetize
68 the list of supported pragmas. Simplify the handling of parameters
69 and add support for more than one optional parameter.
70 * gcc-interface/utils.c (attr_cold_hot_exclusions): New constant.
71 (gnat_internal_attribute_table): Add entry for no_icf, noipa, flatten,
72 used, cold, hot, target and target_clones.
73 (begin_subprog_body): Do not create the RTL for the subprogram here.
74 (handle_noicf_attribute): New static function.
75 (handle_noipa_attribute): Likewise.
76 (handle_flatten_attribute): Likewise.
77 (handle_used_attribute): Likewise.
78 (handle_cold_attribute): Likewise.
79 (handle_hot_attribute): Likewise.
80 (handle_target_attribute): Likewise.
81 (handle_target_clones_attribute): Likewise.
82
62b762c2 832019-05-28 Eric Botcazou <ebotcazou@adacore.com>
84
85 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Return 0
86 for 'Size too.
87 (Identifier_to_gnu): Use the actual subtype for a reference to a
88 packed array in a return statement.
89 (Attribute_to_gnu) <Attr_Size>: Do not strip VIEW_CONVERT_EXPRs from
90 the prefix in every case.
91
336a61a3 922019-05-28 Eric Botcazou <ebotcazou@adacore.com>
93
94 * gcc-interface/trans.c (gnat_to_gnu): Remove superfluous tests on
95 Backend_Overflow_Checks_On_Target and rework comments.
96
983c5b5e 972019-05-28 Eric Botcazou <ebotcazou@adacore.com>
98
99 * gcc-interface/trans.c (walk_nesting_tree): New static function.
100 (finalize_nrv): Use it to walk the entire nesting tree.
101
96b4b84e 1022019-05-28 Eric Botcazou <ebotcazou@adacore.com>
103
104 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Remove
105 obsolete test on Is_For_Access_Subtype.
106
0b74284e 1072019-05-28 Eric Botcazou <ebotcazou@adacore.com>
108
109 * gcc-interface/decl.c (components_to_record): Set a name on the type
110 created for the REP part, if any.
111 * gcc-interface/utils.c (finish_record_type): Only take the maximum
112 when merging sizes for a variant part at offset 0.
113 (merge_sizes): Rename has_rep parameter into max.
114
689dab9d 1152019-05-28 Eric Botcazou <ebotcazou@adacore.com>
116
117 * gcc-interface/utils.c (gnat_internal_attribute_table): Add support
118 for stack_protect attribute.
119 (handle_stack_protect_attribute): New static function.
120
804f7d39 1212019-05-28 Eric Botcazou <ebotcazou@adacore.com>
122
123 * gcc-interface/decl.c (intrin_arglists_compatible_p): Do not return
124 false if the internal builtin uses a variable list.
125
f07f94cc 1262019-05-27 Eric Botcazou <ebotcazou@adacore.com>
127
128 * gcc-interface/trans.c (Call_to_gnu): Do not initialize the temporary
129 created out of addressability concerns if it's for the _Init parameter
130 of an initialization procedure.
131
abfd658b 1322019-05-27 Eric Botcazou <ebotcazou@adacore.com>
133
134 * gcc-interface/ada-builtin-types.def: New file.
135 * gcc-interface/ada-builtins.def: Likewise.
136 * gcc-interface/ada-tree.h (BUILT_IN_LIKELY): New macro.
137 (BUILT_IN_UNLIKELY): Likewise.
138 * gcc-interface/trans.c (independent_iterations_p): Initialize the
139 auto-vector to 16 elements.
140 (Call_to_gnu): Remove local variable and change the vector of actual
141 parameters to an auto-vector. Do not convert actual parameters to
142 the argument type for front-end built-in functions. Add support for
143 front-end built-in functions.
144 (build_noreturn_cond): Use internal instead of built-in function.
145 * gcc-interface/utils.c (c_builtin_type): Include ada-builtin-types.def
146 (install_builtin_function_types): Likewise.
147 (install_builtin_functions): Include ada-builtins.def first.
148
caab73a2 1492019-05-27 Eric Botcazou <ebotcazou@adacore.com>
150
151 * gcc-interface/utils.c (maybe_pad_type): Issue the warning for the
152 specific case of component types preferably.
153
f1ca2388 1542019-05-27 Eric Botcazou <ebotcazou@adacore.com>
155
156 * gcc-interface/trans.c (Identifier_to_gnu): Minor tweaks.
157 (gnat_to_gnu): Do not convert the result if it is a reference to an
158 unconstrained array used as the prefix of an attribute reference that
159 requires an lvalue.
160
e3f3573c 1612019-05-27 Eric Botcazou <ebotcazou@adacore.com>
162
163 * gcc-interface/trans.c (Gigi_Types_Compatible): New predicate.
164 (Identifier_to_gnu): Use it to assert that the type of the identifier
165 and that of its entity are compatible for gigi. Rename a couple of
166 local variables and separate the processing of the result type.
167
2306cd17 1682019-05-27 Eric Botcazou <ebotcazou@adacore.com>
169
170 * gcc-interface/trans.c (Call_to_gnu): Use the unpadded type when
171 putting back an intermediate conversion the type of the actuals.
172
6e4e9378 1732019-05-27 Eric Botcazou <ebotcazou@adacore.com>
174
175 * gcc-interface/trans.c (gnat_to_gnu) <Shift operations>: Convert the
176 count to the unsigned version of its base type before proceeding.
177
85b9be9b 1782019-05-16 Martin Sebor <msebor@redhat.com>
179
3d6be0d5 180 * gcc-interface/trans.c (check_inlining_for_nested_subprog): Quote
181 reserved names.
85b9be9b 182
65d973ca 1832019-05-08 Arnaud Charlet <charlet@adacore.com>
184
185 * standard.ads.h: New file.
186
ff628b99 1872019-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
188
189 * gcc-interface/Makefile.in (install-gcc-specs): Use foreach.
190 Honor DESTDIR.
191
ebd761d4 1922019-04-29 Michael K. Darling <darlingm@gmail.com>
193
194 * gnatvsn.ads: Bump Library_Version to 10.
195
5f260823 1962019-04-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
197 Bernd Edlinger <bernd.edlinger@hotmail.de>
198 Jakub Jelinek <jakub@redhat.com>
199
200 PR target/89093
201 * raise-gcc.c (TARGET_ATTRIBUTE): Define.
202 (continue_unwind, personality_body, PERSONALITY_FUNCTION): Add
203 TARGET_ATTRIBUTE.
204
d7ca95c0 2052019-04-07 Eric Botcazou <ebotcazou@adacore.com>
206
207 * libgnat/i-cexten.ads (CFloat_128): New type.
208
26b21081 2092019-03-22 Dmitriy Anisimkov <anisimko@adacore.com>
210
211 PR ada/89583
212 * libgnat/g-socket.adb (Bind_Socket, Connect_Socket,
213 Send_Socket): Fix the computation of structure lengths passed to
214 low level routines.
215 (Is_IPv6_Address): Fix the number of expected colons.
216
2f6d557f 2172019-03-11 Martin Liska <mliska@suse.cz>
218
d325ee67 219 * gcc-interface/misc.c (gnat_post_options): Wrap option name in string
220 format message and fix GNU coding style.
2f6d557f 221
c1ad6672 2222019-02-08 Eric Botcazou <ebotcazou@adacore.com>
223
224 * gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Minor tweak.
225 * gcc-interface/utils.c (convert): Do not pad when doing an unchecked
226 conversion here. Use TREE_CONSTANT throughout the function.
227 (unchecked_convert): Also pad if the source is a CONSTRUCTOR and the
228 destination is a more aligned array type or a larger aggregate type,
229 but not between original and packable versions of a type.
230
62a6ebbd 2312019-02-08 Eric Botcazou <ebotcazou@adacore.com>
232
233 * gcc-interface/utils.c (max_size) <tcc_unary>: Be prepared for an
234 operand with VOID_TYPE.
235
da383d19 2362019-02-08 Eric Botcazou <ebotcazou@adacore.com>
237
238 * gcc-interface/trans.c (elaborate_all_entities): Do not elaborate the
239 entities of a package renaming another one.
240
09c123a0 2412019-02-08 Eric Botcazou <ebotcazou@adacore.com>
242
243 * gcc-interface/trans.c (Regular_Loop_to_gnu): Replace tests on
244 individual flag_unswitch_loops and flag_tree_loop_vectorize switches
245 with test on global optimize switch.
246 (Raise_Error_to_gnu): Likewise.
247
a9dd7273 2482019-02-07 Eric Botcazou <ebotcazou@adacore.com>
249
250 * libgnarl/s-linux__sparc.ads (ETIMEDOUT): Set to correct value.
251
4836c4f1 2522019-02-06 Arnaud Charlet <charlet@adacore.com>
253
254 * libgnarl/s-linux__x32.ads: Resync list of signals with s-linux.ads
255
6b56937c 2562019-01-27 Eric Botcazou <ebotcazou@adacore.com>
257
258 * repinfo.adb (List_Component_Layout): Remove superfluous space for
259 zero-sized field.
260 * gcc-interface/ada-tree.h (TYPE_IS_EXTRA_SUBTYPE_P): New macro.
261 * gcc-interface/gigi.h (create_extra_subtype): Declare.
262 * gcc-interface/decl.c (TYPE_ARRAY_SIZE_LIMIT): Likewise.
263 (update_n_elem): New function.
264 (gnat_to_gnu_entity): Use create_extra_subtype to create extra subtypes
265 instead of doing it manually.
266 <E_Array_Type>: Use update_n_elem to compute the maximum size. Use the
267 index type instead of base type for the bounds. Set TYPE_ARRAY_MAX_SIZE
268 of the array to the maximum size.
269 <E_Array_Subtype>: Create an extra subtype using the index type of the
270 base array type for self-referential bounds. Use update_n_elem to
271 compute the maximum size. Set TYPE_ARRAY_MAX_SIZE of the array to the
272 maximum size.
273 (gnat_to_gnu_field): Clear DECL_NONADDRESSABLE_P on discriminants.
274 * gcc-interface/misc.c (gnat_get_alias_set): Return the alias set of
275 the base type for an extra subtype.
276 (gnat_type_max_size): Remove obsolete code.
277 * gcc-interface/trans.c (Attribute_to_gnu): Minor tweak.
278 (can_be_lower_p): Deal with pathological types.
279 * gcc-interface/utils.c (create_extra_subtype): New function.
280 (create_field_decl): Minor tweak.
281 (max_size) <tcc_reference>: Compute a better value by using the extra
282 subtypes on the self-referential bounds.
283 <tcc_binary>: Rewrite. Deal with "negative value" in unsigned types.
284 <tcc_expression>: Likewise.
285 * gcc-interface/utils2.c (compare_arrays): Retrieve the original bounds
286 of the arrays upfront. Swap only if the second length is not constant.
287 Use comparisons on the original bounds consistently for the null tests.
288 (build_binary_op): Use TYPE_IS_EXTRA_SUBTYPE_P macro.
289 (build_allocator): Minor tweak.
290
ecb2c722 2912019-01-27 Eric Botcazou <ebotcazou@adacore.com>
292
293 * gcc-interface/decl.c (array_type_has_nonaliased_component): Return
294 the same value for every dimension of a multidimensional array type.
295
10f25579 2962019-01-26 Eric Botcazou <ebotcazou@adacore.com>
297
298 * gcc-interface/trans.c (Regular_Loop_to_gnu): Use the SLOC of the
299 iteration scheme, if present, throughout the translation.
300
aced6683 3012019-01-26 Eric Botcazou <ebotcazou@adacore.com>
302
303 * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
304 DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT for the size to be assigned
305 by a call to memset if the LHS is a DECL.
306
18b4b30e 3072019-01-26 Eric Botcazou <ebotcazou@adacore.com>
308
309 * gcc-interface/trans.c (struct loop_info_d): Remove artificial field.
310 (Loop_Statement_to_gnu): Do not set it.
311
6dce35b7 3122019-01-26 Eric Botcazou <ebotcazou@adacore.com>
313
314 * gcc-interface/trans.c (Iterate_Acc_Clause_Arg): Fix formatting.
315 (Acc_gnat_to_gnu): Likewise.
316 (Acc_Data_to_gnu): Likewise.
317 (Acc_Var_to_gnu): Likewise.
318 (Acc_Reduc_to_gnu): Likewise.
319 (Acc_Size_List_to_gnu): Likewise.
320 (Pragma_to_gnu) <Pragma_Acc_Loop>: Likewise.
321 <Pragma_Acc_Data>): Likewise.
322 (find_loop_for): Remove default value for parameters.
323 * gcc-interface/trans.c (gnat_to_gnu) <N_Op_And>: Merge into...
324 <N_Op_Eq>): ...this.
325
f8cd11ee 3262019-01-26 Eric Botcazou <ebotcazou@adacore.com>
327
328 * gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Use test on
329 the sign bit instead of on the sign of the value.
330 <PLUS_EXPR>: Turn addition of negative constant into subtraction.
331 <MULT_EXPR>: Add test for degenerate case.
332 <BIT_AND_EXPR>: Simplify.
333
9a3c51d9 3342019-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
335
336 * s-oscons-tmplt.c (AF_INET6): Do not undefine for RTEMS.
337
07c11f2b 3382019-01-09 Sandra Loosemore <sandra@codesourcery.com>
339
340 PR other/16615
07c11f2b 341 * exp_ch11.adb: Change "can not" to "cannot".
342 * sem_ch4.adb: Likewise.
343
f4d3c071 3442019-01-09 Sandra Loosemore <sandra@codesourcery.com>
345
346 PR other/16615
f4d3c071 347 * exp_ch9.adb: Mechanically replace "can not" with "cannot".
348 * libgnat/s-regpat.ads: Likewise.
349 * par-ch4.adb: Likewise.
350 * set_targ.adb: Likewise.
351 * types.ads: Likewise.
352
902071d1 3532019-01-08 Justin Squirek <squirek@adacore.com>
354
355 Revert:
902071d1 356 2018-07-31 Justin Squirek <squirek@adacore.com>
357
76fb0465 358 * lib-writ.adb (Write_With_Lines): Modfiy the generation
359 of dependencies within ali files so that source unit
360 bodies are properly listed even if said bodies are
361 missing. Perform legacy behavior in GNATprove mode.
362 * lib-writ.ads: Modify documentation to reflect current
363 behavior.
902071d1 364
365 and:
902071d1 366 2018-09-26 Justin Squirek <squirek@adacore.com>
367
76fb0465 368 * lib-writ.adb, lib-writ.ads (Write_With_Lines): Add
369 documentation and an extra conditional check for RCI
370 units so that generated ali files will list the spec
371 only instead of a body when a body is not found.
902071d1 372
65a33d4a 3732019-01-04 Eric Botcazou <ebotcazou@adacore.com>
374
375 * gnatvsn.ads: Bump copyright year.
376
3d8932fd 3772019-01-01 Jakub Jelinek <jakub@redhat.com>
8e8f6434 378
fbd26352 379 Update copyright years.
380
277184bc 381 * gnat_ugn.texi: Bump @copying's copyright year.
382 * gnat_rm.texi: Likewise.
7dfbd804 383\f
3d8932fd 384Copyright (C) 2019 Free Software Foundation, Inc.
7dfbd804 385
386Copying and distribution of this file, with or without modification,
387are permitted in any medium without royalty provided the copyright
388notice and this notice are preserved.