[Ada] Crash on incorrect frontend inlining in GNATprove mode
[gcc.git] / gcc / ada / ChangeLog
1 2018-04-04 Yannick Moy <moy@adacore.com>
2
3 * sem_eval.adb (Static_Length): Take into account case of variable of
4 subtype string literal.
5
6 2018-04-04 Olivier Hainque <hainque@adacore.com>
7
8 * libgnat/s-objrea.ads (Get_Memory_Bounds): Rename as Get_Xcode_Bounds.
9 (Object_Section): Rename Flag_Alloc component as Flag_Xcode.
10 * libgnat/s-objrea.adb (Get_Xcode_Bounds): Adjust to new subprogram and
11 component name.
12 (Get_Section, ELF case): Set Flag_Xcode from SHF_EXECINSTR.
13 * libgnat/s-dwalin.adb (Open): Adjust to the Get_Memory_Bounds name
14 change.
15
16 2018-04-04 Olivier Hainque <hainque@adacore.com>
17
18 * libgnat/s-dwalin.ads (Dwarf_Context): Change type of Load_Address to
19 Address, and type of Low, High to Storage_Offset.
20 (Low): Rename as Low_Address and convey that the return value is a
21 runtime reference accounting for a load address.
22 * libgnat/s-dwalin.adb (Read_Aranges_Entry): Adjust to the
23 address/offset type changes.
24 (Aranges_Lookup): Likewise.
25 (Symbolic_Address): Likewise.
26 (Symbolic_Traceback): Likewise.
27 (Dump_Cache): Likewise.
28 (Is_Inside): Likewise.
29 (Open): Likewise.
30 (Set_Load_Address): Likewise.
31 (Low_Address): Likewise, and account for C.Load_Address.
32 * libgnat/s-trasym__dwarf.adb (Lt): Use Low_Address instead of Low.
33 (Multi_Module_Symbolic_Traceback): Compare address in traceback
34 with module Low_Address instead of Low.
35
36 2018-04-04 Olivier Hainque <hainque@adacore.com>
37
38 * libgnat/s-dwalin.ads (Dwarf_Context): Rename Load_Slide as
39 Load_Address.
40 * libgnat/s-dwalin.adb (Is_Inside): Adjust accordingly.
41 (Set_Load_Address): Likewise.
42 (Symbolic_Traceback): Likewise.
43
44 2018-04-04 Olivier Hainque <hainque@adacore.com>
45
46 * libgnat/s-trasym__dwarf.adb (Add_Module_To_Cache): Expect a
47 Load_Address argument and pass it down to Init_Module.
48 * libgnat/s-tsmona__linux.adb (Build_Cache_For_All_Modules): Pass
49 lm.l_addr as the Load_Address to Add_Module_To_Cache.
50
51 2018-04-04 Piotr Trojanek <trojanek@adacore.com>
52
53 * einfo.adb (Has_Discriminants): Stronger assertion.
54 (Set_Has_Discriminants): Stronger assertion.
55 * sem_ch13.adb (Push_Scope_And_Install_Discriminants): Adapt to respect
56 the stronger assertion on Has_Discriminant.
57 (Uninstall_Discriminants_And_Pop_Scope): Same as above.
58 * sem_util.adb (New_Copy_Tree): Same as above.
59 * sem_ch7.adb (Generate_Parent_References): Prevent calls to
60 Has_Discriminant on non-type entities that might happen when the
61 compiled code has errors.
62 * sem_ch3.adb (Derived_Type_Declaration): Only call
63 Set_Has_Discriminant on type entities.
64
65 2018-04-04 Arnaud Charlet <charlet@adacore.com>
66
67 * exp_unst.adb (Unnest_Subprogram): Unnest all subprograms relevant for
68 code generation.
69
70 2018-04-04 Piotr Trojanek <trojanek@adacore.com>
71
72 * lib.ads: Fix typo in enumeration in comment.
73
74 2018-04-04 Ed Schonberg <schonberg@adacore.com>
75
76 * sem_attr.adb (Analyze_Attribute, case Scalar_Storage_Order): The
77 attribute reference is legal within a generic unit when the prefix is a
78 formal private type.
79
80 2018-04-04 Hristian Kirtchev <kirtchev@adacore.com>
81
82 * exp_ch7.adb (Establish_Transient_Scope): Code cleanup. Do not
83 delegate the secondary stack management when there is no suitable
84 transient context, and the transient scope was intended to manage the
85 secondary stack because this causes premature reclamation. Change the
86 transient scope creation logic by special casing assignment statements
87 of controlled components for type initialization procedures.
88 (Find_Node_To_Be_Wrapped): Renamed to Find_Transient_Context. Update
89 the comment on usage.
90 (Find_Transient_Context): Change the initinte loop into a while loop.
91 Iterations schemes and iterator specifications are not valid transient
92 contexts because they rely on special processing. Assignment statements
93 are now treated as a normal transient context, special cases are
94 handled by the caller. Add special processing for pragma Check.
95 (Is_OK_Construct): Removed. Its functionality has been merged in
96 routine Find_Transient_Context.
97 * sem_ch5.adb (Check_Call): Reimplemented. Add code to properly
98 retrieve the subprogram being invoked. Use a more accurate predicate
99 (Requires_Transient_Scope) to determine that the function will emply
100 the secondary stack.
101
102 2018-04-04 Piotr Trojanek <trojanek@adacore.com>
103
104 * ada_get_targ.adb: Fix subprogram body headers.
105 * adabkend.adb: Likewise.
106 * checks.adb: Likewise.
107 * exp_ch3.adb: Likewise.
108 * exp_ch5.adb: Likewise.
109 * exp_ch9.adb: Likewise.
110 * exp_dist.adb: Likewise.
111 * exp_tss.adb: Likewise.
112 * inline.adb: Likewise.
113 * lib-writ.adb: Likewise.
114 * lib-xref-spark_specific.adb: Likewise.
115 * libgnarl/s-osinte__darwin.adb: Likewise.
116 * libgnarl/s-stusta.adb: Likewise.
117 * libgnarl/s-taprop__solaris.adb: Likewise.
118 * libgnarl/s-tposen.adb: Likewise.
119 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
120 * libgnarl/s-vxwext__kernel.adb: Likewise.
121 * libgnat/a-btgbso.adb: Likewise.
122 * libgnat/a-cfdlli.adb: Likewise.
123 * libgnat/a-cfhama.adb: Likewise.
124 * libgnat/a-cfinve.adb: Likewise.
125 * libgnat/a-cimutr.adb: Likewise.
126 * libgnat/a-coboho.adb: Likewise.
127 * libgnat/a-cofove.adb: Likewise.
128 * libgnat/a-cofuve.adb: Likewise.
129 * libgnat/a-comutr.adb: Likewise.
130 * libgnat/a-exexda.adb: Likewise.
131 * libgnat/a-tags.adb: Likewise.
132 * libgnat/a-tideau.adb: Likewise.
133 * libgnat/a-wtdeau.adb: Likewise.
134 * libgnat/a-ztdeau.adb: Likewise.
135 * libgnat/g-alleve.adb: Likewise.
136 * libgnat/s-excdeb.adb: Likewise.
137 * libgnat/s-parint.adb: Likewise.
138 * libgnat/s-shasto.adb: Likewise.
139 * libgnat/s-traceb__hpux.adb: Likewise.
140 * prepcomp.adb: Likewise.
141 * sem_ch4.adb: Likewise.
142 * sem_ch6.adb: Likewise.
143 * sem_dist.adb: Likewise.
144 * sem_prag.adb: Likewise.
145 * sem_util.adb: Likewise.
146 * sinfo.adb: Likewise.
147 * switch.adb: Likewise.
148
149 2018-05-04 John Marino <gnugcc@marino.st>
150
151 PR ada/85635
152 * link.c (BSD platforms): Add missing backslash.
153
154 2018-04-27 Eric Botcazou <ebotcazou@adacore.com>
155
156 PR ada/85540
157 * init.c (__gnat_handle_vms_condition): Add missing parentheses.
158
159 2018-04-25 Eric Botcazou <ebotcazou@adacore.com>
160
161 PR ada/85007
162 * gnat_ugn.texi: Regenerate.
163
164 2018-03-23 Eric Botcazou <ebotcazou@adacore.com>
165
166 PR ada/85007
167 * gnatlink.adb (Gnatlink): Remove handling of -b switch.
168 * doc/gnat_ugn/building_executable_programs_with_gnat.rst (gnatlink):
169 Remove documentation of -b switch.
170
171 2018-03-23 Eric Botcazou <ebotcazou@adacore.com>
172
173 PR ada/85036
174 * gnatlink.adb (Process_Args): Drop existing link switches if multiple
175 switches are passed for --LINK.
176
177 2018-03-12 Eric Botcazou <ebotcazou@adacore.com>
178
179 PR ada/82813
180 * gcc-interface/misc.c (gnat_post_options): Disable string overflow
181 warnings.
182
183 2018-03-10 Eric Botcazou <ebotcazou@adacore.com>
184
185 * gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>:
186 Consider only entities for objects.
187
188 2018-03-07 Sebastian Huber <sebastian.huber@embedded-brains.de>
189
190 * gcc-interface/Makefile.in (OSCONS_CPP): Remove redundant
191 $(GNATLIBCFLAGS).
192 (OSCONS_EXTRACT): Add $(GNATLIBCFLAGS_FOR_C).
193
194 2018-03-06 Eric Botcazou <ebotcazou@adacore.com>
195
196 * gcc-interface/trans.c (convert_with_check): Fix typo in the condition
197 guarding the overflow check emitted for the upper bound of a floating-
198 point conversion.
199
200 2018-03-06 Eric Botcazou <ebotcazou@adacore.com>
201
202 * gcc-interface/utils.c (def_builtin_1): Bail out on error_mark_node.
203
204 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
205
206 * libgnat/i-cexten.ads (Float_128): New type.
207
208 2018-02-02 Eric Botcazou <ebotcazou@adacore.com>
209
210 * gcc-interface/decl.c (array_type_has_nonaliased_component): Return
211 false if the component type is a pointer.
212
213 2018-01-11 Gary Dismukes <dismukes@adacore.com>
214
215 * exp_ch3.adb (Default_Initialize_Object): Call New_Copy_Tree on the
216 result of Get_Simple_Init_Value and pass the source location of the
217 object declaration's object_definition.
218
219 2018-01-11 Ed Schonberg <schonberg@adacore.com>
220
221 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Handle
222 properly object declarations with initializations that are
223 build-in-place function calls, when there is an address specification,
224 either as an aspect specification or an explicit attribute
225 specification clause, for the initialized object.
226 * freeze.adb (Check_Address_Clause): Do not remove side-effects from
227 initial expressions in the case of a build-in-place call.
228
229 2018-01-11 Piotr Trojanek <trojanek@adacore.com>
230
231 * sem_eval.adb (Is_Null_Range): Retrieve the full view when called on a
232 private (sub)type; refactor to avoid early return statement.
233 (Not_Null_Range): Same as above.
234
235 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
236
237 * freeze.adb (Freeze_Entity): Ensure that a Ghost type is not
238 concurrent, nor effectively volatile.
239 * ghost.adb (Check_Ghost_Type): New routine.
240 * ghost.ads (Check_Ghost_Type): New routine.
241 * sem_util.adb (Is_Declaration): Reimplemented. The routine can now
242 consider specific subsets of declarations.
243 (Is_Declaration_Other_Than_Renaming): Removed. Its functionality is
244 replicated by Is_Declaration.
245 * sem_util.ads (Is_Declaration): New parameter profile. Update the
246 comment on usage.
247 (Is_Declaration_Other_Than_Renaming): Removed.
248
249 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
250
251 * sem_ch5.adb (Analyze_Assignment): Assignments to variables that act
252 as Part_Of consituents of single protected types are illegal when they
253 take place inside a protected function.
254 (Diagnose_Non_Variable_Lhs): Use Within_Function to check for an
255 enclosing function.
256 (Is_Protected_Part_Of_Constituent): New routine.
257 (Within_Function): New routine.
258
259 2018-01-11 Arnaud Charlet <charlet@adacore.com>
260
261 Bump copyright notices to 2018.
262
263 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
264
265 * binde.adb, par-ch6.adb, par-ch9.adb, sem_ch12.adb, sem_ch13.adb:
266 Minor reformatting.
267
268 2018-01-11 Justin Squirek <squirek@adacore.com>
269
270 * par-ch6.adb (Scan_Body_Or_Expression_Function): Add additional check
271 to make sure a given expression function is properly parenthesized.
272
273 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
274
275 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check the
276 categorization of a subprogram body which does not complete a previous
277 declaration.
278
279 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
280
281 * sem_ch10.adb (Check_Private_Child_Unit): Ensure that the enclosing
282 scope of package Ada is Standard.
283
284 2018-01-11 Ed Schonberg <schonberg@adacore.com>
285
286 * sem_ch13.adb (Replace_Type_Ref): Handle properly reference to a
287 subcomponent of the current entity when building the body for a dynamic
288 predicate function for a record with composite subcomponents.
289
290 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
291
292 * exp_aggr.adb (Convert_Aggr_In_Object_Decl): Update the call to
293 Establish_Transient_Scope.
294 (Convert_To_Assignments): Update the call to Establish_Transient_Scope.
295 (Expand_Array_Aggregate): Update the call to Establish_Transient_Scope.
296 * exp_ch6.adb (Expand_Call_Helper): Update the call to
297 Establish_Transient_Scope.
298 (Make_Build_In_Place_Call_In_Object_Declaration): Update the call to
299 Establish_Transient_Scope.
300 * exp_ch7.adb (Establish_Transient_Scope): Restructured. Delegate the
301 management of the secondary stack to an enclosing scope if there is no
302 suitable construct to wrap, and the transient scope was intended to
303 manage the secondary stack.
304 (Find_Node_To_Be_Wrapped): Restructured. A case_statement_alternative
305 is a valid boundary for a transient expression which comes from the
306 statements of the alternative, otherwise alternatives cannot be
307 wrapped. Assignments of controlled objects which have controlled
308 actions suppressed now stop the traversal as there is no point in
309 looking for an enclosing construct. Add several N_xxx_Body choices to
310 the termination conditions for completeness.
311 * exp_ch7.ads (Establish_Transient_Scope): Update the parameter profile
312 and the associated comment on usage.
313 * exp_smem.adb (Add_Shared_Var_Lock_Procs): Update the call to
314 Establish_Transient_Scope.
315 (Add_Write_After): Update the call to Establish_Transient_Scope.
316 * sem_res.adb (Check_Initialization_Call): Removed.
317 (Resolve_Actuals): Account for additional cases where finalization
318 actions are required by utilizing predicate Needs_Finalization rather
319 than Is_Controlled.
320 (Resolve_Call): Type initialization procedures can now utilize
321 transient scopes to manage the secondary stack, thus preventing leaks
322 during initialization. Remove the previous kludgy algorithm which
323 attempts to manage the secondary stack at the object creation site.
324
325 2018-01-11 Jerome Lambourg <lambourg@adacore.com>
326
327 * libgnat/g-soliop__qnx.ads: New.
328 * adaint.c, adaint.h, cstreams.c, s-oscons-tmplt.c, sysdep.c: Update
329 for QNX.
330
331 2018-01-11 Bob Duff <duff@adacore.com>
332
333 * par-ch9.adb (P_Protected_Operation_Declaration_Opt): Give an error if
334 a null procedure occurs in a protected definition.
335
336 2018-01-11 Bob Duff <duff@adacore.com>
337
338 * binderr.ads, namet.ads: Minor reformatting.
339
340 2018-01-11 Bob Duff <duff@adacore.com>
341
342 * doc/gnat_ugn/gnat_utility_programs.rst: Improve documentation of
343 xml2gnat.
344
345 2018-01-11 Bob Duff <duff@adacore.com>
346
347 * binde.adb (Force_Elab_Order): Give an error if there are duplicate
348 unit names.
349
350 2018-01-11 Ed Schonberg <schonberg@adacore.com>
351
352 * sem_ch6.adb (Freeze_Expr_Types): If an access value is the
353 controlling argument of a dispatching call. freeze the corresponding
354 designated type.
355
356 2018-01-11 Ben Brosgol <brosgol@adacore.com>
357
358 * doc/Makefile: Add Sphinx option -W to treat warnings as errors.
359
360 2018-01-11 Ben Brosgol <brosgol@adacore.com>
361
362 * doc/gnat_rm/implementation_defined_aspects.rst: Minor type/wording
363 corrections.
364 * gnat_rm.texi: Regenerate.
365
366 2018-01-11 Ed Schonberg <schonberg@adacore.com>
367
368 * sem_ch12.adb (Check_Fixed_Point_Type): Do not apply check if the
369 formsl type corresponding to the actual fixed point type is private,
370 because in this case there can be no suspicious arithmetic operations
371 in the generic unless they reference a formal subprogram. Clarify
372 warning.
373
374 2018-01-11 Javier Miranda <miranda@adacore.com>
375
376 * exp_util.adb (Remove_Side_Effects): No action done for functions
377 returning class-wide types since it requires generating code using
378 'reference and the CCG target has no secondary stack.
379 * gnat1drv.adb: Disable building static dispatch tables when generating
380 C code.
381
382 2018-01-11 Piotr Trojanek <trojanek@adacore.com>
383
384 * libgnat/a-direio.ads, libgnat/a-sequio.ads, libgnat/a-ststio.ads,
385 libgnat/a-textio.ads, libgnat/a-witeio.ads, libgnat/a-ztexio.ads
386 (File_Type): Add Default_Initial_Condition aspect.
387
388 2018-01-11 Pascal Obry <obry@adacore.com>
389
390 * libgnat/s-os_lib.adb (Normalize_Pathname): New implementation.
391
392 2018-01-11 Bob Duff <duff@adacore.com>
393
394 * doc/gnat_ugn/gnat_utility_programs.rst: Rewrite gnatpp documentation
395 to match what the Libadalang-based version does.
396 * doc/gnat_ugn/about_this_guide.rst: Update reference.
397
398 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
399
400 * sem_res.adb (Uses_SS): A controlled type requires the secondary stack
401 if it contains at least one component declaration employing a function
402 call returning on the secondary stack.
403
404 2018-01-11 Yannick Moy <moy@adacore.com>
405
406 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
407 Update description of restriction SPARK_05 with SPARK 2014.
408 * gnat_rm.texi: Regenerate.
409
410 2018-01-11 Vasiliy Fofanov <fofanov@adacore.com>
411
412 * doc/gnat_ugn/gnat_utility_programs.rst: Fix layout.
413
414 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
415
416 * exp_aggr.adb, exp_ch9.adb, exp_util.adb, sem_aggr.adb, sem_ch3.adb,
417 sem_res.adb, sem_util.adb: Minor reformatting.
418
419 2018-01-11 Ed Schonberg <schonberg@adacore.com>
420
421 * sem_prag.adb (Analyze_Pragma, case Predicate): Indicate that the type
422 has a delayed aspect which must be processed at the point the type is
423 frozen. This mimics what is done when the predicate is provided by a
424 source aspect.
425
426 2018-01-11 Doug Rupp <rupp@adacore.com>
427
428 * init.c (vxworks): Add macro checks for __aarch64__.
429
430 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
431
432 * exp_util.adb (Add_Failure_Expression): New routine.
433 (Make_Predicate_Check): Reimplement the handling of Predicate_Failure.
434 * sem_util.adb (Is_Current_Instance): Code cleanup.
435
436 2018-01-11 Patrick Bernardi <bernardi@adacore.com>
437
438 * libgnat/s-parame*.adb, libgnat/s-parame*.ads: Remove unneeded
439 Default_Sec_Stack_Size.
440 * libgnat/s-secsta.adb (SS_Allocate): Handle the fixed secondary stack
441 limit check so that the integer index does not overflow. Check the
442 dynamic stack allocation does not cause the secondary stack pointer to
443 overflow.
444 (SS_Info): Align colons.
445 (SS_Init): Cover the case when bootstraping with an old compiler that
446 does not set Default_SS_Size.
447
448 2018-01-11 Ed Schonberg <schonberg@adacore.com>
449
450 * sem_ch3.adb (Add_Internal_Interface_Entities): When checking the
451 legality of an inherited operation that may require overriding, ignore
452 primitive_wrappers that correspond to explicit operations that override
453 an interface primitive.
454 * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): If the
455 operation to which the class-wide expression applies is a protected op.
456 with a primitive_wrapper, verify that the updated inherited expression
457 does not contain an internal call to a protected function. This
458 completes the implementation of AI12-0166.
459
460 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
461
462 * ali.adb: Document the remaining letters available for ALI lines.
463 (Scan_ALI): A with clause is internal when it is encoded on a 'Z' line.
464 * ali.ads: Update type With_Record. Field
465 Implicit_With_From_Instantiation is no longer in use. Add field
466 Implicit_With.
467 * csinfo.adb (CSinfo): Remove the setup for attribute
468 Implicit_With_From_Instantiation.
469 * lib-writ.adb (Collect_Withs): Correct the logic which marks a unit as
470 either implicitly or explicitly withed.
471 (Is_Implicit_With_Clause): New routine.
472 (Write_ALI): Rename array Implicit_With to Has_Implicit_With to avoid
473 confusion with the with clause attribute by the same name.
474 (Write_With_Lines): Update the emission of 'W', 'Y', and 'Z' headers.
475 * rtsfind.adb (Maybe_Add_With): Code cleanup.
476 * sem_ch8.adb (Present_System_Aux): Code cleanup.
477 * sem_ch10.adb (Expand_With_Clause): Mark the with clause as generated
478 for a parent unit.
479 (Implicit_With_On_Parent): Mark the with clause as generated for a
480 parent unit.
481 * sem_ch12.adb (Inherit_Context): With clauses inherited by an
482 instantiation are no longer marked as Implicit_With_From_Instantiation
483 because they are already marked as implicit.
484 * sem_elab.adb (Ensure_Prior_Elaboration_Static): Remove the kludge
485 which marks implicit with clauses as related to an instantiation.
486 * sinfo.adb (Implicit_With_From_Instantiation): Removed.
487 (Parent_With): New routine.
488 (Set_Implicit_With_From_Instantiation): Removed.
489 (Set_Parent_With): New routine.
490 * sinfo.ads: Update the documentation of attribute Implicit_With.
491 Remove attribute Implicit_With_From_Instantiation along with
492 occurrences in nodes. Add attribute Parent_With along with occurrences
493 in nodes.
494 (Implicit_With_From_Instantiation): Removed along with pragma Inline.
495 (Parent_With): New routine along with pragma Inline.
496 (Set_Implicit_With_From_Instantiation): Removed along with pragma Inline.
497 (Set_Parent_With): New routine along with pragma Inline.
498
499 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
500
501 * sem_util.adb (Find_Enclosing_Scope): Return the unique defining
502 entity when the enclosing construct is a body.
503
504 2018-01-11 Patrick Bernardi <bernardi@adacore.com>
505
506 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Simplified
507 Secondary_Stack_Size handling as a pragma is now generated for the
508 corresponding aspect instead of an attribute. Pragma expression is
509 relocated instead of evaluated. Discriminant of the corresponding
510 record type is referenced rather than the type discriminant.
511 (Create_Secondary_Stack_For_Task, Make_Task_Create_Call): Update
512 Secondary_Stack_Size rep item checks to only look for the pragma rep.
513 * sem_ch13.adb (Analyze_One_Aspect): Transform
514 Aspect_Secondary_Stack_Size into a pragma instead of an attribute
515 because the attribute does not have visibility on a task type's
516 discriminants when the type's definition is expanded.
517 (Analyze_Attribute_Definition_Clause): Remove handling of
518 Attribute_Secondary_Stack_Size.
519 * snames.adb-tmpl, snames.ads-tmpl: Remove
520 Attribute_Secondary_Stack_Size, no longer used.
521
522 2018-01-11 Justin Squirek <squirek@adacore.com>
523
524 * sem_ch8.adb: Minor comment fix.
525
526 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
527
528 * exp_ch4.adb (Process_Action): Do not abandon the inspection of an
529 individual action because the action may denote a complex expression,
530 such as a case statement, which in turn may contain additional
531 transient objects.
532
533 2018-01-11 Ed Schonberg <schonberg@adacore.com>
534
535 * sem_aggr.adb (Resolve_Iterated_Component_Association): Perform
536 analysis on a copy of the expression with a copy of the index variable,
537 because full expansion will rewrite construct into a loop with the
538 original loop variable.
539 * exp_aggr.adb (Gen_Assign): Defer analysis and resolution if the
540 expression is an iterated component association. Full analysis takes
541 place when construct is rewritten as a loop.
542 (In_Place_Assign_OK, Safe_Component): An iterated_component_association
543 is not safe for in-place assignment.
544 * sem_util.adb (Remove_Entity): Handle properly the case of an isolated
545 entity with no homonym and no other entity in the scope.
546
547 2018-01-11 Justin Squirek <squirek@adacore.com>
548
549 * sem_prag.adb (Analyze_Pragma:Pragma_Loop_Variant): Modify error
550 message to be printed on the pragma argument identifier.
551
552 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
553
554 * exp_util.adb (Build_Invariant_Procedure_Declaration): Set the last
555 entity of the generated invariant procedure in order to construct a
556 proper entity chain.
557
558 2018-01-11 Piotr Trojanek <trojanek@adacore.com>
559
560 * sem_ch13.adb (Build_Predicate_Functions): Fix minor issues in
561 comment.
562
563 2018-01-11 Arnaud Charlet <charlet@adacore.com>
564
565 * einfo.ads, einfo.adb (Activation_Record_Component,
566 Set_Activation_Record_Component, Set_Is_Uplevel_Referenced_Entity):
567 Allow E_Discriminant.
568
569 2018-01-10 Eric Botcazou <ebotcazou@adacore.com>
570
571 * gcc-interface/decl.c (gnat_to_gnu_component_type): Apply the check
572 for atomic access once the component size is taken into account and
573 also do it if the component type is Atomic or Volatile_Full_Access.
574
575 2018-01-04 Eric Botcazou <ebotcazou@adacore.com>
576
577 * gnatvsn.ads: Bump copyright year.
578
579 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
580 Alan Hayward <alan.hayward@arm.com>
581 David Sherwood <david.sherwood@arm.com>
582
583 * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_BITSIZE
584 as polynomial.
585
586 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
587 Alan Hayward <alan.hayward@arm.com>
588 David Sherwood <david.sherwood@arm.com>
589
590 * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_PRECISION
591 as polynomial.
592
593 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
594 Alan Hayward <alan.hayward@arm.com>
595 David Sherwood <david.sherwood@arm.com>
596
597 * gcc-interface/utils.c (gnat_types_compatible_p): Handle
598 polynomial TYPE_VECTOR_SUBPARTS.
599
600 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
601 Alan Hayward <alan.hayward@arm.com>
602 David Sherwood <david.sherwood@arm.com>
603
604 * gcc-interface/misc.c (enumerate_modes): Handle polynomial
605 GET_MODE_NUNITS.
606
607 2018-01-03 Jakub Jelinek <jakub@redhat.com>
608
609 Update copyright years.
610
611 * gnat_ugn.texi: Bump @copying's copyright year.
612 * gnat_rm.texi: Likewise.
613 \f
614 Copyright (C) 2018 Free Software Foundation, Inc.
615
616 Copying and distribution of this file, with or without modification,
617 are permitted in any medium without royalty provided the copyright
618 notice and this notice are preserved.