1 2021-03-05 Eric Botcazou <ebotcazou@adacore.com>
4 * init.c (__gnat_alternate_sta) [Linux]: Remove preprocessor test on
5 MINSIGSTKSZ and bump size to 32KB.
6 * libgnarl/s-osinte__linux.ads (Alternate_Stack_Size): Bump to 32KB.
8 2021-02-03 Eric Botcazou <ebotcazou@adacore.com>
10 * gcc-interface/decl.c (components_to_record): If the first component
11 with rep clause is the _Parent field with variable size, temporarily
12 set it aside when computing the internal layout of the REP part again.
13 * gcc-interface/utils.c (finish_record_type): Revert to taking the
14 maximum when merging sizes for all record types with rep clause.
15 (merge_sizes): Put SPECIAL parameter last and adjust recursive calls.
17 2021-02-03 Eric Botcazou <ebotcazou@adacore.com>
19 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Make the
20 two fields of the fat pointer type addressable, and do not make the
21 template type read-only.
22 <E_Record_Type>: If the type has discriminants mark it as may_alias.
23 * gcc-interface/utils.c (make_dummy_type): Likewise.
24 (build_dummy_unc_pointer_types): Likewise.
26 2021-01-26 Marius Hillenbrand <mhillen@linux.ibm.com>
29 * gcc-interface/utils.c (maybe_pad_type): Test the size of the new
30 packable type instead of its alignment for addressability's sake.
32 2021-01-25 Eric Botcazou <ebotcazou@adacore.com>
34 * gcc-interface/trans.c (make_covariant_thunk): Set the DECL_CONTEXT
35 of the parameters and do not set TREE_PUBLIC on the thunk.
36 (maybe_make_gnu_thunk): Pass the alias to the covariant thunk.
37 * gcc-interface/utils.c (finish_subprog_decl): Set the DECL_CONTEXT
38 of the parameters here...
39 (begin_subprog_body): ...instead of here.
41 2021-01-19 Eric Botcazou <ebotcazou@adacore.com>
44 * gcc-interface/trans.c (add_decl_expr): Always mark TYPE_ADA_SIZE.
46 2020-12-10 Ed Schonberg <schonberg@adacore.com>
49 * exp_attr.adb (Expand_N_Attribute_Reference, case Mod): Use base
50 type of argument to obtain static bound and required size.
52 2020-12-07 Eric Botcazou <ebotcazou@adacore.com>
54 * gcc-interface/trans.c (maybe_make_gnu_thunk): Return false if the
55 target is local and thunk and target do not have the same context.
57 2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
59 * gcc-interface/trans.c (build_binary_op_trapv): Convert operands
60 to the result type before doing generic overflow checking.
61 * gcc-interface/utils.c (can_materialize_object_renaming_p): Add
62 pair of missing parentheses.
64 2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
66 * gcc-interface/trans.c (can_be_lower_p): Remove.
67 (Regular_Loop_to_gnu): Add ENTRY_COND unconditionally if
68 BOTTOM_COND is non-zero.
70 2020-09-11 Eric Botcazou <ebotcazou@adacore.com>
72 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Only
73 create extra subtypes for discriminants if the RM size of the base
74 type of the index type is lower than that of the index type.
76 2020-09-10 Eric Botcazou <ebotcazou@adacore.com>
78 * gcc-interface/decl.c (build_subst_list): For a definition, make
79 sure to instantiate the SAVE_EXPRs generated by the elaboration of
80 the constraints in front of the elaboration of the type itself.
82 2020-06-23 Eric Botcazou <ebotcazou@adacore.com>
84 * gcc-interface/trans.c (gnat_to_gnu) <N_Allocator>: Minor tweaks.
85 Call Has_Constrained_Partial_View on base type of designated type.
87 2020-05-04 Mikael Pettersson <mikpelinux@gmail.com>
90 * mingw32.h: Prevent windows.h from including emmintrin.h on Cygwin64.
92 2020-03-12 Release Manager
96 2020-03-11 Richard Wai <richard@annexi-strayline.com>
98 * gcc-interface/decl.c (gnat_to_gnu_entity): Also test Is_Public on
99 the Alias of the entitiy, if it is present, in the main assertion.
101 2019-11-29 Eric Botcazou <ebotcazou@adacore.com>
104 Backport from mainline
105 2019-07-01 Ed Schonberg <schonberg@adacore.com>
107 * exp_attr.adb (Expand_Attribute_Reference, case Invalid_Value):
108 Resolve result of call to Get_Simple_Init_Val, which may be a
109 conversion of a literal.
111 2019-11-25 Eric Botcazou <ebotcazou@adacore.com>
114 * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
115 Use a temporary instead of clobbering the result with a freeze node.
117 2019-11-25 Eric Botcazou <ebotcazou@adacore.com>
120 * expect.c (__gnat_expect_poll [VMS, HPUX]): Fix typo.
122 2019-11-08 Jakub Jelinek <jakub@redhat.com>
124 Backported from mainline
125 2019-10-27 Jakub Jelinek <jakub@redhat.com>
127 * locales.c (iso_3166): Add missing comma after "United-States".
129 2019-10-12 Eric Botcazou <ebotcazou@adacore.com>
132 * sem_ch8.adb (Chain_Use_Clause): Remove second argument in calls
134 * sem_elab.adb (Find_Unit_Entity): Likewise. Deal with N_Subunit
135 here in lieu of in Defining_Entity.
136 * sem_spark.adb (Check_Callable_Body): Likewise.
137 (Check_Package_Body): Likewise.
138 * sem_util.ads (Defining_Entity): Remove 2nd and 3th parameters.
139 * sem_util.adb (Defining_Entity): Remove 2nd and 3th parameters,
140 and adjust accordingly. Deal with N_Compilation_Unit.
142 2019-10-11 Eric Botcazou <ebotcazou@adacore.com>
144 * gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Really test the
145 sign of the value when deciding to build a NEGATE_EXPR.
146 <PLUS_EXPR>: Remove redundant line.
147 <BIT_AND_EXPR>: Do the negation here.
149 2019-09-23 Eric Botcazou <ebotcazou@adacore.com>
151 * gcc-interface/trans.c (Attribute_to_gnu): Test Can_Use_Internal_Rep
152 on the underlying type of the node.
153 (Call_to_gnu): Likewise with the type of the prefix.
155 2019-08-12 Release Manager
157 * GCC 9.2.0 released.
159 2019-08-05 Iain Sandoe <iain@sandoe.co.uk>
161 Backport from mainline.
162 2019-07-02 Iain Sandoe <iain@sandoe.co.uk>
164 * libgnat/system-darwin-ppc.ads: Set Stack_Check_Probes True for
167 2019-08-05 Iain Sandoe <iain@sandoe.co.uk>
169 Backport from mainline.
170 2019-06-30 Iain Sandoe <iain@sandoe.co.uk>
172 * gnatlink.adb (Link_Step): Remove duplicate -static-libgcc switches.
173 Push -shared-libgcc explicitly, when it is the target default (unless
174 overidden by the static flag).
175 When the user has put an instance of shared/static-libgcc do not push
178 2019-07-04 James Clarke <jrtc27@debian.org>
180 * libgnarl/s-osinte__kfreebsd-gnu.ads (clockid_t): Make type
182 (CLOCK_REALTIME): Make value public.
184 2019-06-29 Eric Botcazou <ebotcazou@adacore.com>
186 * gcc-interface/decl.c (gnat_to_gnu_entity): Beep up comment on SAVED,
187 and tweak comment on the assertion about the scopes of Itypes. Do not
188 skip the regular processing for Itypes that are E_Record_Subtype with
189 a Cloned_Subtype. Get the Cloned_Subtype for every E_Record_Subtype
190 if the type is dummy and hasn't got its own freeze node.
191 <E_Record_Subtype>: Save again the DECL of the Cloned_Subtype, if any.
192 <E_Access_Subtype>: Save again the DECL of the equivalent type.
193 (Gigi_Equivalent_Type) <E_Access_Subtype>: New case.
195 2019-06-29 Eric Botcazou <ebotcazou@adacore.com>
197 * gcc-interface/trans.c (mark_visited_r): Set TYPE_SIZES_GIMPLIFIED on
198 the main variant of a type, if any.
200 2019-06-29 Eric Botcazou <ebotcazou@adacore.com>
202 * gcc-interface/decl.c (set_nonaliased_component_on_array_type): Add
203 missing guard for the presence of TYPE_CANONICAL.
204 (set_reverse_storage_order_on_array_type): Likewise.
206 2019-06-18 Arnaud Charlet <charlet@adacore.com>
209 * sem_ch5.adb (Analyze_Loop_Statement): Avoid exception propagation
210 during normal processing.
212 2019-06-17 Arnaud Charlet <charlet@adacore.com>
215 * exp_ch9.adb (Expand_N_Delay_Relative_Statement): Swap the two
216 conditions to avoid a unnecessary exception propagation in the default
219 2019-05-28 Eric Botcazou <ebotcazou@adacore.com>
221 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Return 0
223 (Identifier_to_gnu): Use the actual subtype for a reference to a
224 packed array in a return statement.
225 (Attribute_to_gnu) <Attr_Size>: Do not strip VIEW_CONVERT_EXPRs from
226 the prefix in every case.
228 2019-05-28 Eric Botcazou <ebotcazou@adacore.com>
230 * gcc-interface/trans.c (gnat_to_gnu): Remove superfluous tests on
231 Backend_Overflow_Checks_On_Target and rework comments.
233 2019-05-28 Eric Botcazou <ebotcazou@adacore.com>
235 * gcc-interface/trans.c (walk_nesting_tree): New static function.
236 (finalize_nrv): Use it to walk the entire nesting tree.
238 2019-05-28 Eric Botcazou <ebotcazou@adacore.com>
240 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Remove
241 obsolete test on Is_For_Access_Subtype.
243 2019-05-28 Eric Botcazou <ebotcazou@adacore.com>
245 * gcc-interface/decl.c (components_to_record): Set a name on the type
246 created for the REP part, if any.
247 * gcc-interface/utils.c (finish_record_type): Only take the maximum
248 when merging sizes for a variant part at offset 0.
249 (merge_sizes): Rename has_rep parameter into max.
251 2019-05-27 Eric Botcazou <ebotcazou@adacore.com>
253 * gcc-interface/trans.c (Call_to_gnu): Do not initialize the temporary
254 created out of addressability concerns if it's for the _Init parameter
255 of an initialization procedure.
257 2019-05-27 Eric Botcazou <ebotcazou@adacore.com>
259 * gcc-interface/utils.c (maybe_pad_type): Issue the warning for the
260 specific case of component types preferably.
262 2019-05-27 Eric Botcazou <ebotcazou@adacore.com>
264 * gcc-interface/trans.c (Identifier_to_gnu): Minor tweaks.
265 (gnat_to_gnu): Do not convert the result if it is a reference to an
266 unconstrained array used as the prefix of an attribute reference that
269 2019-05-27 Eric Botcazou <ebotcazou@adacore.com>
271 * gcc-interface/trans.c (Gigi_Types_Compatible): New predicate.
272 (Identifier_to_gnu): Use it to assert that the type of the identifier
273 and that of its entity are compatible for gigi. Rename a couple of
274 local variables and separate the processing of the result type.
276 2019-05-27 Eric Botcazou <ebotcazou@adacore.com>
278 * gcc-interface/trans.c (Call_to_gnu): Use the unpadded type when
279 putting back an intermediate conversion the type of the actuals.
281 2019-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
283 * gcc-interface/Makefile.in (install-gcc-specs): Use foreach.
286 2019-05-03 Release Manager
288 * GCC 9.1.0 released.
290 2019-04-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
291 Bernd Edlinger <bernd.edlinger@hotmail.de>
292 Jakub Jelinek <jakub@redhat.com>
295 * raise-gcc.c (TARGET_ATTRIBUTE): Define.
296 (continue_unwind, personality_body, PERSONALITY_FUNCTION): Add
299 2019-04-07 Eric Botcazou <ebotcazou@adacore.com>
301 * libgnat/i-cexten.ads (CFloat_128): New type.
303 2019-03-22 Dmitriy Anisimkov <anisimko@adacore.com>
306 * libgnat/g-socket.adb (Bind_Socket, Connect_Socket,
307 Send_Socket): Fix the computation of structure lengths passed to
309 (Is_IPv6_Address): Fix the number of expected colons.
311 2019-03-11 Martin Liska <mliska@suse.cz>
313 * gcc-interface/misc.c (gnat_post_options): Wrap option name in string
314 format message and fix GNU coding style.
316 2019-02-08 Eric Botcazou <ebotcazou@adacore.com>
318 * gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Minor tweak.
319 * gcc-interface/utils.c (convert): Do not pad when doing an unchecked
320 conversion here. Use TREE_CONSTANT throughout the function.
321 (unchecked_convert): Also pad if the source is a CONSTRUCTOR and the
322 destination is a more aligned array type or a larger aggregate type,
323 but not between original and packable versions of a type.
325 2019-02-08 Eric Botcazou <ebotcazou@adacore.com>
327 * gcc-interface/utils.c (max_size) <tcc_unary>: Be prepared for an
328 operand with VOID_TYPE.
330 2019-02-08 Eric Botcazou <ebotcazou@adacore.com>
332 * gcc-interface/trans.c (elaborate_all_entities): Do not elaborate the
333 entities of a package renaming another one.
335 2019-02-08 Eric Botcazou <ebotcazou@adacore.com>
337 * gcc-interface/trans.c (Regular_Loop_to_gnu): Replace tests on
338 individual flag_unswitch_loops and flag_tree_loop_vectorize switches
339 with test on global optimize switch.
340 (Raise_Error_to_gnu): Likewise.
342 2019-02-07 Eric Botcazou <ebotcazou@adacore.com>
344 * libgnarl/s-linux__sparc.ads (ETIMEDOUT): Set to correct value.
346 2019-02-06 Arnaud Charlet <charlet@adacore.com>
348 * libgnarl/s-linux__x32.ads: Resync list of signals with s-linux.ads
350 2019-01-27 Eric Botcazou <ebotcazou@adacore.com>
352 * repinfo.adb (List_Component_Layout): Remove superfluous space for
354 * gcc-interface/ada-tree.h (TYPE_IS_EXTRA_SUBTYPE_P): New macro.
355 * gcc-interface/gigi.h (create_extra_subtype): Declare.
356 * gcc-interface/decl.c (TYPE_ARRAY_SIZE_LIMIT): Likewise.
357 (update_n_elem): New function.
358 (gnat_to_gnu_entity): Use create_extra_subtype to create extra subtypes
359 instead of doing it manually.
360 <E_Array_Type>: Use update_n_elem to compute the maximum size. Use the
361 index type instead of base type for the bounds. Set TYPE_ARRAY_MAX_SIZE
362 of the array to the maximum size.
363 <E_Array_Subtype>: Create an extra subtype using the index type of the
364 base array type for self-referential bounds. Use update_n_elem to
365 compute the maximum size. Set TYPE_ARRAY_MAX_SIZE of the array to the
367 (gnat_to_gnu_field): Clear DECL_NONADDRESSABLE_P on discriminants.
368 * gcc-interface/misc.c (gnat_get_alias_set): Return the alias set of
369 the base type for an extra subtype.
370 (gnat_type_max_size): Remove obsolete code.
371 * gcc-interface/trans.c (Attribute_to_gnu): Minor tweak.
372 (can_be_lower_p): Deal with pathological types.
373 * gcc-interface/utils.c (create_extra_subtype): New function.
374 (create_field_decl): Minor tweak.
375 (max_size) <tcc_reference>: Compute a better value by using the extra
376 subtypes on the self-referential bounds.
377 <tcc_binary>: Rewrite. Deal with "negative value" in unsigned types.
378 <tcc_expression>: Likewise.
379 * gcc-interface/utils2.c (compare_arrays): Retrieve the original bounds
380 of the arrays upfront. Swap only if the second length is not constant.
381 Use comparisons on the original bounds consistently for the null tests.
382 (build_binary_op): Use TYPE_IS_EXTRA_SUBTYPE_P macro.
383 (build_allocator): Minor tweak.
385 2019-01-27 Eric Botcazou <ebotcazou@adacore.com>
387 * gcc-interface/decl.c (array_type_has_nonaliased_component): Return
388 the same value for every dimension of a multidimensional array type.
390 2019-01-26 Eric Botcazou <ebotcazou@adacore.com>
392 * gcc-interface/trans.c (Regular_Loop_to_gnu): Use the SLOC of the
393 iteration scheme, if present, throughout the translation.
395 2019-01-26 Eric Botcazou <ebotcazou@adacore.com>
397 * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
398 DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT for the size to be assigned
399 by a call to memset if the LHS is a DECL.
401 2019-01-26 Eric Botcazou <ebotcazou@adacore.com>
403 * gcc-interface/trans.c (struct loop_info_d): Remove artificial field.
404 (Loop_Statement_to_gnu): Do not set it.
406 2019-01-26 Eric Botcazou <ebotcazou@adacore.com>
408 * gcc-interface/trans.c (Iterate_Acc_Clause_Arg): Fix formatting.
409 (Acc_gnat_to_gnu): Likewise.
410 (Acc_Data_to_gnu): Likewise.
411 (Acc_Var_to_gnu): Likewise.
412 (Acc_Reduc_to_gnu): Likewise.
413 (Acc_Size_List_to_gnu): Likewise.
414 (Pragma_to_gnu) <Pragma_Acc_Loop>: Likewise.
415 <Pragma_Acc_Data>): Likewise.
416 (find_loop_for): Remove default value for parameters.
417 * gcc-interface/trans.c (gnat_to_gnu) <N_Op_And>: Merge into...
420 2019-01-26 Eric Botcazou <ebotcazou@adacore.com>
422 * gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Use test on
423 the sign bit instead of on the sign of the value.
424 <PLUS_EXPR>: Turn addition of negative constant into subtraction.
425 <MULT_EXPR>: Add test for degenerate case.
426 <BIT_AND_EXPR>: Simplify.
428 2019-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
430 * s-oscons-tmplt.c (AF_INET6): Do not undefine for RTEMS.
432 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
435 * exp_ch11.adb: Change "can not" to "cannot".
436 * sem_ch4.adb: Likewise.
438 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
441 * exp_ch9.adb: Mechanically replace "can not" with "cannot".
442 * libgnat/s-regpat.ads: Likewise.
443 * par-ch4.adb: Likewise.
444 * set_targ.adb: Likewise.
445 * types.ads: Likewise.
447 2019-01-08 Justin Squirek <squirek@adacore.com>
450 2018-07-31 Justin Squirek <squirek@adacore.com>
452 * lib-writ.adb (Write_With_Lines): Modfiy the generation
453 of dependencies within ali files so that source unit
454 bodies are properly listed even if said bodies are
455 missing. Perform legacy behavior in GNATprove mode.
456 * lib-writ.ads: Modify documentation to reflect current
460 2018-09-26 Justin Squirek <squirek@adacore.com>
462 * lib-writ.adb, lib-writ.ads (Write_With_Lines): Add
463 documentation and an extra conditional check for RCI
464 units so that generated ali files will list the spec
465 only instead of a body when a body is not found.
467 2019-01-04 Eric Botcazou <ebotcazou@adacore.com>
469 * gnatvsn.ads: Bump copyright year.
471 2019-01-01 Jakub Jelinek <jakub@redhat.com>
473 Update copyright years.
475 * gnat_ugn.texi: Bump @copying's copyright year.
476 * gnat_rm.texi: Likewise.
478 Copyright (C) 2019 Free Software Foundation, Inc.
480 Copying and distribution of this file, with or without modification,
481 are permitted in any medium without royalty provided the copyright
482 notice and this notice are preserved.