]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
[multiple changes]
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
d9937d1b
AC
12011-12-15 Javier Miranda <miranda@adacore.com>
2
3 * exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
4 applied to a class-wide type under VM targets generate code which
5 invokes the function Get_Alignment to retrieve the value of the
6 alignment from the TSD.
7 * rtsfind.ads (RE_Get_Alignment): New entity.
8
92011-12-15 Robert Dewar <dewar@adacore.com>
10
11 * g-comlin.adb: Fix header.
12
887d102a
AC
132011-12-15 Tristan Gingold <gingold@adacore.com>
14
15 * gnatls.adb: Fix typo.
16
172011-12-15 Ed Falis <falis@adacore.com>
18
19 * s-tpopsp-vxworks.adb: Update comment.
20
212011-12-15 Ed Schonberg <schonberg@adacore.com>
22
23 * sem_aggr.adb (Resolve_Array_Aggregate, Resolve_Aggr_Expr); If
24 the component type has predicates, generate corresponding check.
25 (Resolve_Record_Aggregate, Resolve_Aggr_Expr): Ditto.
26
ddf2e109
CS
272011-12-13 Cesar Strauss <cestrauss@gmail.com>
28 Eric Botcazou <ebotcazou@adacore.com>
29
30 PR ada/49084
31 * types.h (Byte): Change typedef to 'unsigned char'.
32 * atree.h (struct Flag_Word): Use Byte for 'convention' field.
33
c9556982
AC
342011-12-12 Robert Dewar <dewar@adacore.com>
35
36 * s-taprop-mingw.adb: Minor reformatting.
37
382011-12-12 Nicolas Roche <roche@adacore.com>
39
40 * gcc-interface/Make-lang.in: Update dependencies.
41 Add gnattools4 target when building tools in canadian mode
42
432011-12-12 Javier Miranda <miranda@adacore.com>
44
ddf2e109 45 * exp_disp.adb (Make_VM_TSD): Complete previous patch.
c9556982
AC
46
472011-12-12 Bob Duff <duff@adacore.com>
48
49 * s-tpobop.adb: Use named notation.
50 * g-bytswa.ads, s-taprop.ads: Minor comment fix.
51
522011-12-12 Arnaud Charlet <charlet@adacore.com>
53
54 * make.adb: Minor comment update.
55
cf7bb903
RD
562011-12-12 Robert Dewar <dewar@adacore.com>
57
58 * freeze.adb, s-taprop-mingw.adb, exp_disp.adb, sem_ch13.adb: Minor
59 reformatting.
60
e876c43a
AC
612011-12-12 Robert Dewar <dewar@adacore.com>
62
63 * sem_ch6.adb, gnatls.adb: Minor reformatting.
64
652011-12-12 Ed Schonberg <schonberg@adacore.com>
66
67 * freeze.adb (Freeze_Entity): If a type declared in a generic
68 context has predicates, generate a freeze node for it.
69 * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): If expression
70 has not been analyzed yet, entity has not been frozen, so analyze
71 it now.
72
732011-12-12 Javier Miranda <miranda@adacore.com>
74
ddf2e109
CS
75 * exp_disp.adb (Make_VM_TSD): Generate code to store the value of
76 'alignment in the TSD.
e876c43a
AC
77
782011-12-12 Bob Duff <duff@adacore.com>
79
80 * s-taprop-mingw.adb (Yield): Do not delay 1 millisecond in Annex D
81 mode.
82
ad5a445d
HK
832011-12-12 Hristian Kirtchev <kirtchev@adacore.com>
84
85 * exp_ch4.adb (Expand_N_Allocator): Update the master of an
86 anonymous access-to-controlled type to utilize the heterogeneous
87 master associated with the current unit.
88
b913199e
AC
892011-12-12 Ed Schonberg <schonberg@adacore.com>
90
91 * sem_ch6.adb (Analyze_Expression_Function): If the function
92 is not a completion, pre-analyze the expression now to prevent
93 spurious visibility on later entities. The body is inserted at
94 the end of the current declaration list or package to prevent
95 early freezing, but the visibility is established at the point
96 of definition.
97
982011-12-12 Bob Duff <duff@adacore.com>
99
100 * sem.adb, sem.ads: Add debugging routines.
101
1022011-12-12 Tristan Gingold <gingold@adacore.com>
103
104 * gnatls.adb: (gnatls): Also add the objects dir in search list.
105
033eaf85
AC
1062011-12-12 Robert Dewar <dewar@adacore.com>
107
108 * exp_atag.adb, exp_atag.ads, exp_util.adb, exp_attr.adb,
109 sem_ch13.adb: Minor reformatting.
110
1112011-12-12 Gary Dismukes <dismukes@adacore.com>
112
113 * sem_ch7.adb (Uninstall_Declarations): Don't
114 apply check for incomplete types used as a result type for an
115 access-to-function type when compiling for Ada 2012 or later.
116 * sem_ch6.adb (Analyze_Subprogram_Declaration):
117 Specialize error message for interface subprograms that are
118 not declared abstract nor null (functions can't be declared as
119 null). Also, remove "(Ada 2005)" from message.
120
6bed26b5
AC
1212011-12-12 Robert Dewar <dewar@adacore.com>
122
123 * sem_prag.adb (GNAT_Pragma): Check comes from source.
124
1252011-12-12 Robert Dewar <dewar@adacore.com>
126
127 * gnatls.adb: Minor reformatting.
128
1292011-12-12 Javier Miranda <miranda@adacore.com>
130
131 * a-tags.ads (Alignment): New TSD field.
132 (Max_Predef_Prims): Value lowered to 15 (or 9 in case of
133 configurable runtime) Update documentation of predefined
134 primitives since Alignment has been removed.
135 * exp_disp.ads Update documentation of slots of dispatching
136 primitives.
137 * exp_disp.adb (Default_Prim_Op_Position): Update slot
138 values since alignment is no longer a predefined primitive.
139 (Is_Predefined_Dispatch_Operation): Remove _alignment.
140 (Is_Predefined_Internal_Operation): Remove _alignment.
141 (Make_DT): Update static test on the value stored in a-tags.ads
142 for Max_Predef_Prims; store the value of 'alignment in the TSD.
143 * exp_atag.ads, exp_atag.adb (Build_Get_Alignment): New subprogram
144 that retrieves the alignment from the TSD
145 * exp_util.adb (Build_Allocated_Deallocate_Proc): For deallocation
146 of class-wide types obtain the value of alignment from the TSD.
147 * exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
148 applied to a class-wide type invoke Build_Get_Alignment to
149 generate code which retrieves the value of the alignment from
150 the TSD.
151 * rtsfind.ads (RE_Alignment): New Ada.Tags entity
152 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For tagged
153 types if the value of the alignment is bigger than the Maximum
154 alignment then set the value of the alignment to the Maximum
155 alignment and report a warning.
156 * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate
157 spec of _alignment.
158 (Predefined_Primitive_Bodies): Do not generate body of _alignment.
159
fe58fea7
AC
1602011-12-12 Gary Dismukes <dismukes@adacore.com>
161
162 * freeze.adb (Freeze_Expression): Allow freezing of static
163 scalar subtypes that are prefixes of an attribute, even if not
164 yet marked static. Such attributes will get marked as static
165 later in Eval_Attribute (as called from Resolve_Attribute).
166 * sem_attr.adb (Eval_Attribute): Remove wrong code that does an
167 early return for attribute prefixes that are unfrozen source-level
168 types. This code was incorrectly bypassing folding of unfrozen
169 static subtype attributes in default expressions (the executable
170 example in the now-deleted comment was in fact illegal).
171
1722011-12-12 Robert Dewar <dewar@adacore.com>
173
174 * a-coinve.adb, sem_res.adb, prj-nmsc.adb, a-cobove.adb, a-convec.adb,
175 gnatls.adb, sem_ch13.adb, prj-env.adb, prj-env.ads: Minor reformatting.
176
1772011-12-12 Tristan Gingold <gingold@adacore.com>
178
179 * gsocket.h: Adjust previous patch.
180
ee1a7572
AC
1812011-12-12 Thomas Quinot <quinot@adacore.com>
182
183 * exp_disp.adb: Minor reformatting.
184
1852011-12-12 Tristan Gingold <gingold@adacore.com>
186
187 * gnatls.adb (Search_RTS): New procedure.
188 (Scan_Ls_Arg): Move code that search the RTS.
189 (Gnatls): search the RTS later.
190 * prj-env.ads, prj-env.adb (Get_Runtime_Path): New function.
191
1922011-12-12 Ed Falis <falis@adacore.com>
193
194 * sysdep.c: Fix treatment of VxWorks task options so that run-times
195 built with __SPE__ get option VX_SPE_TASK while others get VX_FP_TASK.
196
1972011-12-12 Bob Duff <duff@adacore.com>
198
199 * sem_type.adb, sem_type.ads, sem_ch4.adb, treepr.adb, treepr.ads:
200 Minor cleanup and fiddling with debug printouts.
201
2022011-12-12 Vincent Celier <celier@adacore.com>
203
204 * prj-nmsc.adb (Get_Directories): For a non extending project,
205 always get a declared object and/or exec directory if it already
206 exists, even when there are no sources, but do not create them.
207
2082011-12-12 Bob Duff <duff@adacore.com>
209
210 * sem_res.adb (Resolve): Deal with the case where an abstract
211 operator is called with operands of type universal_integer.
212
2132011-12-12 Thomas Quinot <quinot@adacore.com>
214
215 * par_sco.adb: Minor fix to dominance marker referencing WHILE
216 decision.
217
e8bd500e
AC
2182011-12-12 Tristan Gingold <gingold@adacore.com>
219
220 * mlib-tgt-specific-xi.adb: (Get_Target_Prefix): Simplify code.
221
2222011-12-12 Thomas Quinot <quinot@adacore.com>
223
224 * par_sco.adb: Adjust dominant marker for branches of CASE
225 statements.
226
2272011-12-12 Thomas Quinot <quinot@adacore.com>
228
229 * gsocket.h, s-oscons-tmplt.c: Ensure we do not include any system
230 header file prior to redefining FD_SETSIZE.
231
2322011-12-12 Ed Schonberg <schonberg@adacore.com>
233
234 * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): In
235 a generic context the aspect expressions may not have been
236 preanalyzed if there was no previous freeze point, so the
237 expressions must be preanalyzed now, and there is no conformance
238 to check for visibility changes.
239
2402011-12-12 Matthew Heaney <heaney@adacore.com>
241
242 * a-convec.adb, a-coinve.adb, a-cobove.adb (Iterator): Use
243 subtype Index_Type'Base for Index component (Finalize): Remove
244 unnecessary access check (First, Last): Cursor return value
245 depends on iterator index value (Iterate): Use start position as
246 iterator index value (Next, Previous): Forward to corresponding
247 cursor-based operation.
248 * a-cborma.adb (Iterate): Properly initialize iterator object (with 0
249 as node index).
250
9c25bb25
AC
2512011-12-12 Robert Dewar <dewar@adacore.com>
252
253 * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting.
254
2552011-12-12 Steve Baird <baird@adacore.com>
256
257 * sem_ch3.adb (Check_Completion): Improve a comment.
258
2592011-12-12 Tristan Gingold <gingold@adacore.com>
260
261 * cstand.adb: Minor comment fix.
262
cce30ea8
EB
2632011-12-11 Eric Botcazou <ebotcazou@adacore.com>
264
265 * gcc-interface/utils2.c (gnat_build_constructor): Test the TREE_STATIC
266 flag of elements to compute that of the constructor.
267
4f96985d
EB
2682011-12-11 Eric Botcazou <ebotcazou@adacore.com>
269
270 * gcc-interface/decl.c (gnat_to_gnu_param): Set the restrict qualifier
271 on references built for parameters which aren't specifically by-ref.
272
50751f49
EB
2732011-12-11 Eric Botcazou <ebotcazou@adacore.com>
274
275 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If there is an
276 alignment set on a renaming, assert that the renamed object is aligned
277 enough as to make it possible to honor it.
278
52e04e56
EB
2792011-12-11 Eric Botcazou <ebotcazou@adacore.com>
280
281 * gcc-interface/trans.c (gigi): Initialize the linemap earlier.
282
5fa3ea21
DK
2832011-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
284
285 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS [windows targets]):
286 Correctly detect cygwin, which no longer has the '32' suffix, and use
287 appropriate implementations of the sockets and memory packages.
288 * sysdep.c (WIN_SETMODE): New define to choose the correct spelling of
289 setmode/_setmode for MinGW and Cygwin, respectively.
290 (__gnat_set_binary_mode [windows targets]): Use the above, and enable
291 the windows version for Cygwin as well as MinGW.
292 (__gnat_set_text_mode [windows targets]): Likewise.
293 (__gnat_ttyname [windows targets]): Provide a Cygwin implementation
294 in addition to the MinGW version.
295 (__gnat_is_windows_xp): Make available to Cygwin as well as MinGW.
296 (__gnat_get_stack_bounds): Likewise.
297
76264f60
AC
2982011-12-05 Bob Duff <duff@adacore.com>
299
300 * sem_ch4.adb: Minor comment fix.
301
3022011-12-05 Robert Dewar <dewar@adacore.com>
303
304 * gnat_ugn.texi: Add documentation for -gnatw.e.
305
3062011-12-05 Bob Duff <duff@adacore.com>
307
308 * treepr.adb (pn): Print something useful for
309 Elmt_Ids. Add Write_Eol to 'when others' case, so the output
310 will be seen immediately in gdb.
311
3122011-12-05 Ed Schonberg <schonberg@adacore.com>
313
314 * lib-writ.adb (Output_Main_Program_Line): A generic subprogram
315 is never a main program.
316
3172011-12-05 Thomas Quinot <quinot@adacore.com>
318
319 * par_sco.adb: Various minor adjustments to dominance markers
320 generation.
321
3222011-12-05 Ed Schonberg <schonberg@adacore.com>
323
324 * sem_ch6.adb (Analyze_Expression_Function): If the function is
325 a completion, generate a body reference for its defining entity,
326 before rewriting the node as a body.
327 * sem_util.adb (Defining_Entity): Add entry for expression
328 function.
329
3128f955
AC
3302011-12-05 Bob Duff <duff@adacore.com>
331
332 * sem_ch3.adb (Derive_Progenitor_Subprograms): Add Ultimate_Alias
333 to the Comes_From_Source check, to deal properly with the case
334 of indirect inheritance of "=".
335
3362011-12-05 Thomas Quinot <quinot@adacore.com>
337
338 PR ada/51307
339 * s-oscons-tmplt.c: On HP-UX, CLOCK_REALTIME is an enum literal,
340 not a macro.
341
3422011-12-05 Thomas Quinot <quinot@adacore.com>
343
344 * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Generate dominance
345 information in SCOs.
346
ce8d58a2
EB
3472011-12-02 Eric Botcazou <ebotcazou@adacore.com>
348 Thomas Quinot <quinot@adacore.com>
349
350 * gcc-interface/Makefile.in (INCLUDES): Remove $(srcdir)/config.
351 (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) except for VxWorks.
352 Add thread.c to LIBGNAT_SRCS so that a symlink is created in ada/rts,
353 which allows the file to be installed in adainclude.
354 * gcc-interface/Make-lang.in: Update dependencies.
355
a46cde68
AC
3562011-12-02 Javier Miranda <miranda@adacore.com>
357
358 * sem_ch3.adb (Constrain_Access): Undo previous
359 patch for this routine. Required since the RM rule 3.7.1(7/3)
360 applies to all access types.
361
3622011-12-02 Bob Duff <duff@adacore.com>
363
364 * sem_ch6.adb: Minor comment fix.
365
d0234c7e
JS
3662011-12-02 Joel Sherrill <joel.sherrill@oarcorp.com>
367
368 * s-tpopsp-rtems.adb: Use ATCB_Key rather than RTEMS_Ada_Self variable
369 for consistency with other ports.
370 * s-osinte-rtems.adb: Add body for dummy implementation of
371 pthread_rwlockattr_setkind_np().
372 * s-osinte-rtems.ads: Add missing clock and rwlock bindings.
373 * terminals.c: Add __rtems__ conditionals to account for differences
374 in termios implementation.
375
d600ef16
RD
3762011-12-02 Robert Dewar <dewar@adacore.com>
377
378 * sem_ch3.adb, sem_attr.adb, a-comutr.adb, a-cbmutr.adb,
379 a-cbmutr.ads: Minor reformatting.
380
0add5a95
AC
3812011-12-02 Hristian Kirtchev <kirtchev@adacore.com>
382
383 * exp_dbug.adb: Comment reformatting.
384 (Get_External_Name): Use Reset_Buffers to reset the contents of
385 Name_Buffer and Homonym_Numbers.
386 (Qualify_All_Entity_Names): Reset the contents of Name_Buffer and
387 Homonym_Numbers before creating a new qualified name for a particular
388 entity.
389 (Reset_Buffers): New routine.
390
3912011-12-02 Matthew Heaney <heaney@adacore.com>
392
393 * a-cbmutr.ads (No_Node): Moved declaration from body to spec
394 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Derives
395 from Root_Iterator.
396 (Child_Iterator): Derives from Root_Iterator.
397 (Finalize): Implemented as an override operation for Root_Iterator.
398 (First): Return value depends on Subtree component.
399 (Last): Component was renamed from Parent to Subtree.
400 (Next): Checks parameter value, and uses simplified loop.
401 (Iterate): Forwards to Iterate_Subtree.
402 (Iterate_Children): Component was renamed from Parent to Subtree.
403 (Iterate_Subtree): Checks parameter value
404
4052011-12-02 Robert Dewar <dewar@adacore.com>
406
407 * usage.adb: Add lines for -gnatw.n and -gnatw.N
408 (atomic sync info msgs).
409
4102011-12-02 Steve Baird <baird@adacore.com>
411
412 * sem_ch3.adb (Check_Completion): An Ada 2012
413 generic formal type doesn't require a completion.
414
4152011-12-02 Eric Botcazou <ebotcazou@adacore.com>
416
417 * sem_util.adb (Set_Debug_Info_Needed): Also set the flag on the
418 packed array type if it is to be set on the array type used to
419 represent it.
420
4212011-12-02 Robert Dewar <dewar@adacore.com>
422
423 * gnat_rm.texi: Eliminate confusing use of type name.
424
81435e80
TQ
4252011-12-02 Thomas Quinot <quinot@adacore.com>
426
427 * sem_ch10.adb (Analyze_Compilation_Unit): For a library subprogram
428 body that acts as spec, do not create a shallow copy of the context
429 clause for the synthetized spec (instead, use the same list as
430 in the body).
431
414b312e
AC
4322011-12-02 Bob Duff <duff@adacore.com>
433
434 * gnat_ugn.texi: Clarify usage of -p binder switch.
435
4362011-12-02 Javier Miranda <miranda@adacore.com>
437
438 * sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
439 (Effectively_Has_Constrained_Partial_View): Moved to sem_aux
440 (In_Generic_Body): Moved to sem_aux.
441 (Unit_Declaration_Node): Moved to sem_aux.
442 * einfo.ads (Effectively_Has_Constrained_Partial_View): Complete
443 documentation.
444 * exp_attr.adb, live.adb, sem_ch10.adb, checks.adb, sem.adb,
445 rtsfind.adb, sem_attr.adb, sem_elab.adb, exp_ch4.adb, sem_ch4.adb,
446 exp_ch13.adb: Add with-clause on Sem_Aux.
447
151c42b0
YM
4482011-12-02 Yannick Moy <moy@adacore.com>
449
450 * sem_util.adb (Unique_Name): Reach through Unique_Entity to
451 get the name of the entity.
452 (Unique_Entity): Correct case for subprogram stubs.
453
4542011-12-02 Yannick Moy <moy@adacore.com>
455
456 * sem_ch3.adb (Check_Initialization): Do not emit warning on
457 initialization of limited type object in Alfa mode.
458
7a6c40a6
RD
4592011-12-02 Robert Dewar <dewar@adacore.com>
460
461 * sinfo.ads: Minor reformatting.
462 * gnat_ugn.texi: Fix confusion in use of term "type name".
463
cc96a1b8
AC
4642011-12-02 Robert Dewar <dewar@adacore.com>
465
466 * sem_ch6.adb: Minor change in error message.
467
4682011-12-02 Robert Dewar <dewar@adacore.com>
469
470 * sem_ch9.adb, prj-part.adb, vms_data.ads, sem_ch8.adb: Minor
471 reformatting.
472
4732011-12-02 Javier Miranda <miranda@adacore.com>
474
475 * sem_ch3.adb (Constrain_Access): Enable on Ada 2005 mode the
476 static check of the rule of general access types whose designated
477 type has discriminants.
478 * sem_util.ads, sem_util.adb
479 (Effectively_Has_Constrained_Partial_View): New subprogram.
480 (In_Generic_Body): New subprogram.
481 * einfo.ads (Has_Constrained_Partial_View): Adding documentation.
482 * sem_prag.adb (Inside_Generic_Body): Removed. Replaced by new
483 subprogram In_Generic_Body.
484 * exp_attr.adb, checks.adb, sem_attr.adb, exp_ch4.adb,
485 sem_ch4.adb: In addition, this patch replaces the occurrences of
486 Has_Constrained_Partial_View by
487 Effectively_Has_Constrained_Partial_View.
488
4892011-12-02 Matthew Heaney <heaney@adacore.com>
490
491 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Rename
492 Position component.
493 (Finalize): Remove unnecessary access check.
494 (First): Forward to First_Child.
495 (Last): Forward to Last_Child.
496 (Iterate): Check preconditions for parent node parameter.
497 (Next): Forward to Next_Sibling.
498 (Previous): Forward to Previous_Sibling.
499
35fae080
RD
5002011-12-02 Robert Dewar <dewar@adacore.com>
501
502 * a-coinve.adb, a-coorma.adb, freeze.adb, a-coorse.adb, a-comutr.adb,
503 a-coormu.adb, a-convec.adb: Minor reformatting.
504
e47e21c1
AC
5052011-12-02 Matthew Heaney <heaney@adacore.com>
506
507 * a-coormu.ads, a-ciormu.ads: Declare iterator factory function.
508 * a-ciormu.adb, a-ciormu.adb (Iterator): Declare concrete
509 Iterator type.
510 (Finalize): Decrement busy counter.
511 (First, Last): Cursor return value depends on iterator node value.
512 (Iterate): Use start position as iterator node value.
513 (Next, Previous): Forward to corresponding cursor-based operation.
514
5152011-12-02 Robert Dewar <dewar@adacore.com>
516
517 * a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb,
518 a-cbhase.adb, a-cdlili.adb, a-cihama.adb, a-ciorse.adb, a-cidlli.adb,
519 a-cimutr.adb, a-cihase.adb, a-cohama.adb, a-cborse.adb,
520 a-ciorma.adb, a-cobove.adb: Minor reformatting.
521
c136d696
JJ
5222011-12-01 Jakub Jelinek <jakub@redhat.com>
523
524 PR bootstrap/51201
525 * gcc-interface/Make-lang.in: Initialize RTS_DIR with = instead of :=.
526
bf75cdbe
RO
5272011-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
528
529 * s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.
530
d0dcb2b1
AC
5312011-11-23 Thomas Quinot <quinot@adacore.com>
532
533 * thread.c, s-oscons-tmplt.c: Generate __gnat_pthread_condattr_setup
534 only on platforms where this is required, as determined by
535 s-oscons.h.
536
5372011-11-23 Ed Schonberg <schonberg@adacore.com>
538
539 * sem_ch9.adb: No check on entry index if error on index.
540
5412011-11-23 Gary Dismukes <dismukes@adacore.com>
542
543 * sem_ch6.adb (Analyze_Return_Statement): Improve error messages for
544 return statements nested inside an extended_return_statement.
545 * gcc-interface/Make-lang.in: Update dependencies.
546 * gcc-interface/Makefile.in (MISCLIB): Add -lutil for BSD targets.
547
ef992452
AC
5482011-11-23 Ed Schonberg <schonberg@adacore.com>
549
550 * freeze.adb (Freeze_All_Ent): An incomplete type is not
551 frozen by a subprogram body that does not come from source.
552
5532011-11-23 Pascal Obry <obry@adacore.com>
554
555 * s-oscons-tmplt.c: Add PTY_Library constant. It contains
556 the library for pseudo terminal support.
557 * g-exptty.ads: Add pseudo-terminal library into a Linker_Options
558 pragma.
559
5602011-11-23 Ed Schonberg <schonberg@adacore.com>
561
562 * sem_ch9.adb: No check on entry family index if generic.
563
5642011-11-23 Thomas Quinot <quinot@adacore.com>
565
566 * sem_ch9.adb, s-taprop.ads, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
567 s-taprop-posix.adb, s-taprop-rtx.adb, s-taprop-solaris.adb,
568 s-taprop-tru64.adb, s-taprop-vxworks.adb: Move dependency on
569 System.OS_Constants from shared spec of
570 System.Tasking.Primitive_Operations to the specific body variants
571 that really require this dependency.
572
5732011-11-23 Ed Schonberg <schonberg@adacore.com>
574
575 * sem_ch8.adb (Analyze_Subprogram_Renaming_Declaration):
576 If the declaration has aspects, analyze them so they can be
577 properly rejected.
578
5792011-11-23 Hristian Kirtchev <kirtchev@adacore.com>
580
581 * a-comutr.adb, a-coorma.adb, a-coorse.adb, a-convec.adb, a-cihase.adb,
582 a-cimutr.adb, a-coinve.adb, a-ciorma.adb, a-ciorse.adb, a-cobove.adb,
583 a-cohama.adb, a-cihama.adb, a-cidlli.adb, a-cdlili.adb, a-cbhama.adb,
584 a-cbhase.adb, a-cbmutr.adb, a-cborma.adb, a-cborse.adb, a-cbdlli.adb:
585 Add with and use clause for Ada.Finalization. Type
586 Iterator and Child_Iterator are now derived from Limited_Controlled.
587 (Finalize): New routine.
588 (Iterate): Add a renaming of counter Busy and
589 increment it. Update the return aggregate.
590 (Iterate_Children): Add a renaming of
591 counter Busy and increment it. Update the return aggregate.
592 (Iterate_Subtree): Add a renaming of counter Busy and increment
593 it. Update the return aggregate.
594 * a-cdlili.ads, a-cidlli.ads: Type List_Access is now a general access
595 type.
596 * a-cihama.ads: Type Map_Access is now a general access type.
597 * a-comutr.ads, a-cimutr.ads: Use type Natural for the two locks
598 associated with the tree.
599 * a-cohama.ads: Type Map_Access is now a general access type.
600 * a-coinve.ads, a-convec.ads: Type Vector_Access is now a general
601 access type.
602 * exp_ch5.adb (Expand_Iterator_Loop): Do not create a block
603 to wrap the loop as this is done at an earlier step, during
604 analysis. The declarations of the iterator and the cursor use
605 the usual Insert_Action mechanism when added into the tree.
606 * sem_ch5.adb (Analyze_Loop_Statement): Remove local constant
607 Loop_Statement and replace all respective uses by N. Add local
608 constant Loc. Preanalyze the loop iterator to discover whether
609 it is a container iterator and if it is, wrap the loop in a
610 block. This ensures that any controlled temporaries produced
611 by the iteration scheme share the same lifetime of the loop.
612 (Is_Container_Iterator): New routine.
613 (Is_Wrapped_In_Block): New routine.
614 (Pre_Analyze_Range): Move spec and body to the library level.
615
6162011-11-23 Sergey Rybin <rybin@adacore.com frybin>
617
618 * gnat_ugn.texi, vms_data.ads: Add documentation for new gnatpp option
619 that controls casing of type and subtype names.
620
6212011-11-23 Yannick Moy <moy@adacore.com>
622
623 * sem_ch3.adb: Minor addition of comments.
624
6252011-11-23 Thomas Quinot <quinot@adacore.com>
626
627 * prj-part.adb (Extension_Withs): New global variable,
628 contains the head of the list of WITH clauses from the EXTENDS
629 ALL projects for which virtual packages are being created.
630 (Look_For_Virtual_Projects_For): When recursing through
631 an EXTENDS ALL, add the WITH clauses of the extending
632 project to Extension_Withs. When adding a project to the
633 Virtual_Hash, record the associated Extension_Withs list.
634 (Create_Virtual_Extending_Project): Add a copy of the appropriate
635 Extension_Withs to the virtual project.
636
6372011-11-23 Thomas Quinot <quinot@adacore.com>
638
639 * mlib-tgt-specific-vxworks.adb: Minor reformatting.
640
6412011-11-23 Thomas Quinot <quinot@adacore.com>
642
643 * Make-generated.in (Sdefault.Target_Name): Set to
644 $(target_noncanonical) instead of $(target) for consistency.
645
595a055f
MH
6462011-11-23 Matthew Heaney <heaney@adacore.com>
647
648 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Iterator): Declared
649 Iterator type as limited (First, Last): Cursor return value
650 depends on iterator node value (Iterate): Use start position as
651 iterator node value (Next, Previous): Forward to corresponding
652 cursor-based operation.
653
b38c20a6
AC
6542011-11-23 Matthew Heaney <heaney@adacore.com>
655
656 * a-coorse.ads, a-ciorse.ads, a-cborse.ads (Set_Iterator_Interfaces):
657 Renamed from Ordered_Set_Iterator_Interfaces.
658 * a-coorse.adb, a-ciorse.adb, a-cborse.adb (Iterator): Declared
659 Iterator type as limited (First, Last): Cursor return value
660 depends on iterator node value (Iterate): Use start position as
661 iterator node value (Next, Previous): Forward to corresponding
662 cursor-based operation.
663 * a-cohase.ads, a-cohase.adb: Implemented forward iterator.
664 * a-cihase.adb, a-cbhase.adb (Iterator): Removed unnecessary
665 node component (First, Next): Forward call to corresponding
666 cursor-based operation (Iterate): Representation of iterator no
667 longer has node component
668
6692011-11-23 Hristian Kirtchev <kirtchev@adacore.com>
670
671 * exp_intr.adb (Expand_Unc_Deallocation): Ensure that the
672 dereference has a proper type before the side effect removal
673 mechanism kicks in.
674 * sem_ch3.adb (Analyze_Subtype_Declaration): Handle a rare case
675 where the base type of the subtype is a private itype created
676 to act as the partial view of a constrained record type. This
677 scenario manifests with equivalent class-wide types for records
678 with unknown discriminants.
679
6802011-11-23 Jerome Guitton <guitton@adacore.com>
681
682 * s-osprim-vxworks.adb (Clock): Use Clock_RT_Ada.
683
6842011-11-23 Thomas Quinot <quinot@adacore.com>
685
686 * s-oscons-tmplt.c: Fix unbalanced preprocessor directives Minor
687 reformatting/reorganization.
688
24fee494
TQ
6892011-11-23 Thomas Quinot <quinot@adacore.com>
690
691 * g-htable.ads: Remove old comments.
692
bc6e33a3
TQ
6932011-11-23 Thomas Quinot <quinot@adacore.com>
694
695 * exp_imgv.adb: Minor reformatting.
696
c269a1f5
AC
6972011-11-23 Robert Dewar <dewar@adacore.com>
698
699 * sem_ch9.adb (Analyze_Entry_Declaration): Check for entry
700 family bounds out of range.
701
7022011-11-23 Matthew Heaney <heaney@adacore.com>
703
704 * a-cohama.adb, a-cihama.adb, a-cbhama.adb (Iterator): Declare
705 type as limited, and remove node component.
706 (First, Next): Forward call to corresponding cursor-based operation.
707 (Iterate): Representation of iterator no longer has node component.
708
7092011-11-23 Yannick Moy <moy@adacore.com>
710
711 * exp_util.adb: Revert previous change to remove side-effects in Alfa
712 mode, which is not the correct thing to do for renamings.
713
7142011-11-23 Thomas Quinot <quinot@adacore.com>
715
716 * s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taprop-tru64.adb,
717 s-osinte-vxworks.ads, s-osinte-aix.ads, s-osinte-lynxos.ads,
718 s-osinte-solaris-posix.ads, s-taprop-solaris.adb, a-exetim-posix.adb,
719 s-osinte-irix.ads, s-osinte-solaris.ads, s-oscons-tmplt.c,
720 s-taprop-irix.adb, s-osinte-hpux-dce.ads, Makefile.rtl,
721 s-osinte-tru64.ads, s-osinte-darwin.ads, s-taprop.ads,
722 s-osinte-freebsd.ads, s-osinte-lynxos-3.ads, s-taprop-hpux-dce.adb,
723 s-taprop-posix.adb: Remove hard-coded clock ids;
724 instead, generate them in System.OS_Constants.
725 (System.OS_Constants.CLOCK_RT_Ada): New constant denoting the
726 id of the clock providing Ada.Real_Time.Monotonic_Clock.
727 * thread.c: New file.
728 (__gnat_pthread_condattr_setup): New function. For platforms where
729 CLOCK_RT_Ada is not CLOCK_REALTIME, set appropriate condition
730 variable attribute.
731
7322011-11-23 Yannick Moy <moy@adacore.com>
733
734 * sem_ch3.adb: Restore the use of Expander_Active instead of
735 Full_Expander_Active, so that the evaluation is forced in Alfa
736 mode too. Otherwise, we end up with an unexpected insertion in a
737 place where it is not supposed to happen, on default parameters
738 of a call.
739
7402011-11-23 Thomas Quinot <quinot@adacore.com>
741
742 * prj-pp.adb, prj-pp.ads: Minor new addition: wrapper procedure "wpr"
743 for Pretty_Print, for use from within gdb.
744
f947ee34
AC
7452011-11-23 Ed Schonberg <schonberg@adacore.com>
746
747 * exp_ch5.adb (Expand_Iterator_Loop): Wrap the expanded loop
748 and the cursor declarations in a block, so that the loop variable
749 is local to the construct.
750
7512011-11-23 Matthew Heaney <heaney@adacore.com>
752
753 * a-coorma.ads, a-ciorma.ads, a-cborma.ads (Iterate): Returns
754 type Reversible_Iterator'Class.
755 * a-coorma.adb, a-ciorma.adb, a-cborma.adb (Iterator):
756 Declare type as limited.
757 (First, Last): Return value depends on iterator's start node value.
758 (Next, Previous): Call corresponding Cursor-based operation.
759 (Iterate): Indicate whether complete or partial iteration
760
fb2bd3a7
RD
7612011-11-23 Robert Dewar <dewar@adacore.com>
762
763 * errout.adb: Minor reformattin (Finalize): Take templates into
764 account for warning suppression.
765 * errout.ads (Set_Specific_Warning_Off): Add Used parameter.
766 * erroutc.adb: Minor reformatting (Finalize): Take generic
767 templates into account for warning suppress.
768 * erroutc.ads (Set_Specific_Warning_Off): Add Used parameter.
769 * sem_prag.adb: Minor reformatting (Analyze_Pragma,
770 case Warnings): Provide Used parameter in call to
771 Set_Specific_Warnings_Off (to deal with generic template case).
772
a1092b48
AC
7732011-11-23 Pascal Obry <obry@adacore.com>
774
775 * sem_prag.adb (Process_Convention): Better error message for
776 stdcall convention on dispatching calls.
777
7782011-11-23 Gary Dismukes <dismukes@adacore.com>
779
780 * sem_ch4.adb, sem_ch13.adb: Minor reformatting.
781
7822011-11-23 Javier Miranda <miranda@adacore.com>
783
784 * exp_ch6.adb (Expand_Simple_Function_Return): Add missing
785 implicit type conversion when the returned object is allocated
786 in the secondary stack and the type of the returned object is
787 an interface. Done to force generation of displacement of the
788 "this" pointer.
789
3d0c15cf
AC
7902011-11-23 Pascal Obry <obry@adacore.com>
791
792 * impunit.adb: Add g-exptty and g-tty units.
793
7942011-11-23 Robert Dewar <dewar@adacore.com>
795
796 * exp_imgv.adb: Minor code reorganization (use Make_Temporary).
797
95160516
AC
7982011-11-23 Robert Dewar <dewar@adacore.com>
799
800 * exp_util.adb, par-ch6.adb, sem_res.adb, par-util.adb: Minor
801 reformatting.
802
8032011-11-23 Yannick Moy <moy@adacore.com>
804
805 * sem_ch13.adb (Analyze_Aspect_Specifications): Place error on
806 line of precondition/ postcondition/invariant.
3d0c15cf 807
95160516
AC
8082011-11-23 Pascal Obry <obry@adacore.com>
809
810 * g-exptty.ads, g-exptty.adb, g-tty.ads, g-tty.adb,
811 terminals.c: New files.
812 Makefile.rtl: Add these new files.
813 * gnat_rm.texi: Add documentation for GNAT.Expect.TTY.
814 * gcc-interface/Makefile.in: Add g-exptty, g-tty, terminals.o
815 * gcc-interface/Make-lang.in: Update dependencies.
816
5328a91d
AC
8172011-11-21 Robert Dewar <dewar@adacore.com>
818
95160516 819 * exp_imgv.adb (Expand_Width_Attribute): Handle case of Discard_Names.
5328a91d
AC
820 * sem_attr.adb (Eval_Attribute, case Width): Ditto.
821
8222011-11-21 Thomas Quinot <quinot@adacore.com>
823
824 * sinfo.ads: Minor reformatting.
825
8262011-11-21 Yannick Moy <moy@adacore.com>
827
828 * exp_util.adb: Minor reformatting. Update comments.
829
8a06151a
RD
8302011-11-21 Robert Dewar <dewar@adacore.com>
831
832 * exp_prag.adb, exp_util.adb, sinfo.ads, sem_res.adb, s-stposu.adb,
833 sem_attr.adb, s-stposu.ads, s-taprop-solaris.adb, s-taprop-irix.adb,
834 sem_ch6.adb: Minor reformatting.
835
ca20a08e
AC
8362011-11-21 Arnaud Charlet <charlet@adacore.com>
837
838 * s-taprop-irix.adb, s-taprop-solaris.adb (Create_Task): Use
839 Unrestricted_Access to deal with fact that we properly detect the
840 error if Access is used.
841 * gcc-interface/Make-lang.in: Update dependencies.
842
8432011-11-21 Yannick Moy <moy@adacore.com>
844
845 * exp_prag.adb (Expand_Pragma_Check): Place error on first character
846 of expression.
847 * sem_res.adb (Resolve_Short_Circuit): Place error on first
848 character of expression.
849
8502011-11-21 Yannick Moy <moy@adacore.com>
851
852 * exp_util.adb (Remove_Side_Effects): Do nothing in Alfa mode.
853
8542011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
855
856 * exp_attr.adb (Expand_N_Attribute_Reference, case
857 Max_Size_In_Storage_Elements): Account for the size of the
858 hidden list header which precedes controlled objects allocated
859 on the heap.
860 * rtsfind.ads: Add RE_Header_Size_With_Padding to the runtime
861 tables.
862 * sinfo.adb (Header_Size_Added): New routine.
863 (Set_Header_Size_Added): New routine.
864 * sinfo.ads: Add flag Controlled_Header_Added along with
865 associated comment.
866 (Header_Size_Added): New inlined routine.
867 (Set_Header_Size_Added): New inlined routine.
868 * s-stposu.adb (Allocate_Any_Controlled): Use
869 Header_Size_With_Padding to calculate the proper
870 size of the header.
871 (Deallocate_Any_Controlled): Use
872 Header_Size_With_Padding to calculate the proper size
873 of the header. (Header_Size_With_Padding): New routine.
874 (Nearest_Multiple_Rounded_Up): Removed along with its uses.
875 * s-stposu.ads (Header_Size_With_Padding): New routine.
876
8772011-11-21 Ed Schonberg <schonberg@adacore.com>
878
879 * aspects.adb: Aspect specifications are allowed on renaming
880 declarations
881 * par-ch6.adb (P_Subprogram): Parse aspect specifications in a
882 subprogram renaming declaration
883
d2d4b355
AC
8842011-11-21 Tristan Gingold <gingold@adacore.com>
885
886 * env.c: Remove unused declaration.
887
8882011-11-21 Pascal Obry <obry@adacore.com>
889
890 * s-os_lib.ads: Minor style fix.
891
8922011-11-21 Pascal Obry <obry@adacore.com>
893
894 * adaint.c (__gnat_dup2): When fd are stdout, stdin or stderr and
895 identical, do nothing on Windows XP.
896
8972011-11-21 Yannick Moy <moy@adacore.com>
898
899 * sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
900 Use Full_Expander_Active instead of Expander_Active to control
901 the forced evaluation of expressions for the sake of generating
902 checks.
903
9042011-11-21 Thomas Quinot <quinot@adacore.com>
905
906 * init.c: On FreeBSD, stack checking failures may raise SIGBUS.
907
9082011-11-21 Tristan Gingold <gingold@adacore.com>
909
910 * sysdep.c (mode_read_text, mode_write_text, mode_append_text,
911 mode_read_binary, mode_write_binary, mode_append_binary,
912 mode_read_text_plus, mode_write_text_plus, mode_append_text_plus,
913 mode_read_binary_plus, mode_write_binary_plus,
914 mode_append_binary_plus): Remove unused declarations.
915
9162011-11-21 Yannick Moy <moy@adacore.com>
917
918 * gnat_rm.texi: Minor rewording.
919
9202011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
921
922 * exp_imgv.adb (Expand_Width_Attribute): Emit
923 an error message rather than a warning when pragma Discard_Names
924 prevents the computation of 'Width. Do not emit an error through
925 the use of RE_Null.
926
9272011-11-21 Javier Miranda <miranda@adacore.com>
928
929 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
930 implicit type conversion when the type of the allocator is an
931 interface. Done to force generation of displacement of the "this"
932 pointer when required.
933
9342011-11-21 Ed Schonberg <schonberg@adacore.com>
935
936 * sinfo.ads, sinfo.adb: Corresponding_Spec applies to expression
937 functions, and is set when the expression is a completion of a
938 previous declaration.
939 * sem_ch6.adb (Analyze_Expression_Function): To determine properly
940 whether an expression function completes a previous declaration,
941 use Find_Corresponding_Spec, as when analyzing a subprogram body.
942
9432011-11-21 Steve Baird <baird@adacore.com>
944
945 * sem_util.adb (Deepest_Type_Access_Level): Improve comment.
946 (Type_Access_Level): Improve comment.
947
08ef33f5
EB
9482011-11-21 Eric Botcazou <ebotcazou@adacore.com>
949
950 * gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by
951 means of -iquote unconditionally.
952
83e5da69
AC
9532011-11-21 Robert Dewar <dewar@adacore.com>
954
955 * sem_ch3.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
956 reformatting.
957
9582011-11-21 Arnaud Charlet <charlet@adacore.com>
959
960 * s-taprop-posix.adb (Create_Task): Use Unrestricted_Access
961 to deal with fact that we properly detect the error if Access
962 is used.
963
f460d8f3
SB
9642011-11-21 Steve Baird <baird@adacore.com>
965
966 * sem_util.ads: Update comment describing function
967 Deepest_Access_Level.
968 * sem_util.adb (Deepest_Type_Access_Level): Return Int'Last for a
969 generic formal type.
970 (Type_Access_Level): Return library level
971 for a generic formal type.
972 * sem_attr.adb (Resolve_Attribute): Replace two Type_Access_Level
973 calls with calls to Deepest_Type_Access_Level.
974 * sem_ch3.adb (Analyze_Component_Declaration): replace a
975 Type_Access_Level call with a call to Deepest_Type_Access_Level.
976 * sem_res.adb (Resolve_Allocator.Check_Allocator_Discrim_Accessibility):
977 Replace three Type_Access_Level calls with calls to
978 Deepest_Type_Access_Level.
979 (Resolve_Allocator): Replace a Type_Access_Level call with a call to
980 Deepest_Type_Access_Level.
981 (Valid_Conversion.Valid_Array_Conversion): Replace a
982 Type_Access_Level call with a call to Deepest_Type_Access_Level.
983
d673c5c5
RD
9842011-11-21 Robert Dewar <dewar@adacore.com>
985
986 * sem_ch3.adb, s-taprop-vms.adb, opt.ads: Minor reformatting.
987
be482a8c
AC
9882011-11-21 Robert Dewar <dewar@adacore.com>
989
990 * sinput.ads: Minor comment fix.
991
9922011-11-21 Robert Dewar <dewar@adacore.com>
993
994 * exp_attr.adb (Expand_N_Attribute_Reference, case First_Bit,
995 Last_Bit, Position): Handle 2005 case.
996
9972011-11-21 Robert Dewar <dewar@adacore.com>
998
999 * s-atocou-builtin.adb (Decrement): Use Unrestricted_Access
1000 to deal with fact that we properly detect the error if Access
1001 is used.
1002 (Increment): Same fix.
1003 * s-taprop-linux.adb (Create_Task): Use Unrestricted_Access
1004 to deal with fact that we properly detect the error if Access
1005 is used.
1006 * sem_util.adb (Is_Volatile_Object): Properly record that A.B is
1007 volatile if the B component is volatile. This affects the check
1008 for passing such a by reference volatile actual to a non-volatile
1009 formal (which should be illegal)
1010
10112011-11-21 Robert Dewar <dewar@adacore.com>
1012
1013 * freeze.adb (Freeze_Enumeration_Type): Make sure to set both
1014 size and alignment for foreign convention enumeration types.
1015 * layout.adb (Set_Elem_Alignment): Redo setting of alignment
1016 when size is set.
1017
10182011-11-21 Yannick Moy <moy@adacore.com>
1019
1020 * checks.adb (Apply_Access_Check, Apply_Arithmetic_Overflow_Check,
1021 Apply_Discriminant_Check, Apply_Divide_Check,
1022 Apply_Selected_Length_Checks, Apply_Selected_Range_Checks,
1023 Build_Discriminant_Checks, Insert_Range_Checks, Selected_Length_Checks,
1024 Selected_Range_Checks): Replace reference to Expander_Active
1025 with reference to Full_Expander_Active, so that expansion of
1026 checks is not performed in Alfa mode
1027
10282011-11-21 Tristan Gingold <gingold@adacore.com>
1029
1030 * s-taprop-vms.adb (Create_Task): Use Unrestricted_Access to deal with
1031 fact that we properly detect the error if Access is used.
1032
10332011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
1034
1035 * par-ch4.adb (P_Quantified_Expression): Add an Ada 2012 check.
1036
10372011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
1038
1039 * exp_imgv.adb: Add with and use clause for Errout.
1040 (Expand_Width_Attribute): Emit a warning when in
1041 configurable run-time mode to provide a better diagnostic message.
1042
10432011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
1044
1045 * s-finmas.adb (Finalize): Add comment concerning double finalization.
1046
10472011-11-21 Ed Schonberg <schonberg@adacore.com>
1048
1049 * sem_ch3.adb (Access_Definition): If the access definition
1050 is itself the return type of an access to function definition
1051 which is ultimately the return type of an access to subprogram
1052 declaration, its scope is the enclosing scope of the ultimate
1053 access to subprogram.
1054
10552011-11-21 Steve Baird <baird@adacore.com>
1056
1057 * sem_res.adb (Valid_Conversion): If a conversion was legal
1058 in the body of a generic, then the corresponding conversion is
1059 legal in the expanded body of an instance of the generic.
1060
8e0aa19b
RD
10612011-11-21 Robert Dewar <dewar@adacore.com>
1062
1063 * sem_ch3.adb: Minor reformatting.
1064
10652011-11-21 Robert Dewar <dewar@adacore.com>
1066
1067 * s-utf_32.adb (Is_UTF_32_Line_Terminator): Recognize NEL as
1068 line terminator.
1069 * sinput.ads: Add section on Handling of Source Line Terminators.
1070 * types.ads (Line_Terminator): Adjust comments.
1071
51fb9b73
RD
10722011-11-21 Robert Dewar <dewar@adacore.com>
1073
1074 * frontend.adb (Frontend): Capture restrictions from config files
1075 * lib-load.adb (Load_Unit): Save/set/restore restriction pragma
1076 information
1077 * lib-xref.adb (Generate_Reference): Fix handling of obsolescent
1078 references. This was noticed during debugging, but it is not
1079 known if it causes real bugs.
1080 * restrict.ads, restrict.adb: New routines to save/set/restore
1081 non-partition-wide restrictions.
1082 * s-rident.ads: Comment changes for new handling of
1083 No_Elaboration_Code
1084 * sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions
1085 * sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete
1086 attempt to save/restore non-partition-wide restrictions (now
1087 this work is all done in Sem).
1088 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
1089 Special handling for restriction No_Elaboration_Code.
1090
10912011-11-21 Robert Dewar <dewar@adacore.com>
1092
1093 * gnat_ugn.texi: Document new handling of restrictions pragmas.
1094
56272abe
AC
10952011-11-21 Pascal Obry <obry@adacore.com>
1096
1097 * s-taprop-linux.adb (Initialize_Lock): Do not allocate a cond
1098 attribute as not needed.
1099
11002011-11-21 Robert Dewar <dewar@adacore.com>
1101
1102 * sem_prag.adb: Minor reformatting.
1103
11042011-11-21 Pascal Obry <obry@adacore.com>
1105
1106 * gnat_rm.texi: Document restriction for stdcall convention on
1107 dispatching calls.
1108
a5dd23a7
PO
11092011-11-21 Pascal Obry <obry@adacore.com>
1110
1111 * sem_prag.adb (Process_Convention): A dispatching call cannot
1112 have a stdcall calling convention.
1113
11142011-11-21 Pascal Obry <obry@adacore.com>
1115
1116 * s-taprop-linux.adb (Initialize_Lock): Do not allocate a
1117 mutex attribute as not needed.
1118 (Initialize_TCB): Likewise.
1119 (Initialize): Likewise.
1120
a4901c08
AC
11212011-11-21 Robert Dewar <dewar@adacore.com>
1122
1123 * sem_ch6.adb (Is_Public_Subprogram_For): New procedure
1124 (Process_PPCs): Invariants only apply to public subprograms.
1125
11262011-11-21 Robert Dewar <dewar@adacore.com>
1127
1128 * sem_util.adb, sem_util.ads, sem_attr.adb, restrict.adb,
1129 restrict.ads: Fix for No_Implicit_Aliasing in the renames case.
1130
11312011-11-21 Robert Dewar <dewar@adacore.com>
1132
1133 * a-finali.ads: Use pragma Pure_12 for this unit
1134 * aspects.adb: Add aspect Pure_12
1135 * aspects.ads: Add aspect Pure_12
1136 * opt.ads: Add note on Pure_12
1137 * par-prag.adb: Add dummy entry for Pure_12
1138 * sem_prag.adb: Implement Pure_12 pragma
1139 * snames.ads-tmpl: Add Entry for Pure_12
1140
11412011-11-21 Sergey Rybin <rybin@adacore.com frybin>
1142
1143 * vms_data.ads: Add qualifiers for new gnatpp options
1144 '--call_threshold' and '--par_threshold".
1145 * gnat_ugn.texi: Add description for new gnatpp options
1146 '--call_threshold' and '--par_threshold".
1147
11482011-11-21 Robert Dewar <dewar@adacore.com>
1149
1150 * lib.ads: Minor reformatting.
1151
11522011-11-21 Robert Dewar <dewar@adacore.com>
1153
1154 * lib-load.ads: Add comment.
1155
4bf201ed
AC
11562011-11-21 Gary Dismukes <dismukes@adacore.com>
1157
1158 * sem_elab.adb: Minor reformatting
1159
11602011-11-21 Robert Dewar <dewar@adacore.com>
1161
1162 * exp_ch6.adb: Minor reformatting.
1163
11642011-11-21 Ed Schonberg <schonberg@adacore.com>
1165
1166 * sem_ch12.adb (Check_Formal_Package_Instance): If a formal
1167 subprogram of the formal package is covered by an others
1168 association with a box initialization, no check is needed
1169 against the actual in the instantiation of the formal package.
1170
11712011-11-21 Robert Dewar <dewar@adacore.com>
1172
1173 * sem_elab.adb (Check_Internal_Call_Continue): Suppress junk
1174 elab warning from within precondition/postcondition etc.
1175
bdf69d33
AC
11762011-11-21 Ed Schonberg <schonberg@adacore.com>
1177
1178 * exp_ch6.adb (Expand_Actuals): In Ada 2012, a function call
1179 with out parameters may generate assignments to force constraint
1180 checks. These checks must be properly placed in the code after the
1181 declaration or statement that contains the call.
1182
11832011-11-21 Fedor Rybin <frybin@adacore.com>
1184
1185 * gnat_ugn.texi: Adding info on current gnattest limitations an
1186 support of -X option.
1187
11882011-11-21 Robert Dewar <dewar@adacore.com>
1189
1190 * a-cfdlli.adb, a-cbdlli.adb: Minor reformatting.
1191
03e1048e
AC
11922011-11-20 Robert Dewar <dewar@adacore.com>
1193
1194 * exp_ch6.adb, exp_util.adb: Minor reformatting
1195
11962011-11-20 Eric Botcazou <ebotcazou@adacore.com>
1197
1198 * sinfo.ads (Reference): Document that it is OK to set
1199 Is_Known_Non_Null on a temporary initialized to a N_Reference
1200 node.
1201
12022011-11-20 Matthew Heaney <heaney@adacore.com>
1203
1204 * a-cbdlli.adb, a-cfdlli.adb (Move): Set Last component to 0
1205 for Source list.
1206
74cab21a
EB
12072011-11-20 Eric Botcazou <ebotcazou@adacore.com>
1208
1209 * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment):
1210 Declare NEW_EXPR local variable and attach the
1211 temporary to it. Set Is_Known_Non_Null on the temporary.
1212 (Make_Build_In_Place_Call_In_Object_Declaration): Likewise.
1213 * exp_util.adb (Remove_Side_Effects): Set Is_Known_Non_Null on
1214 the temporary created to hold the 'Reference of the expression,
1215 if any.
1216 * checks.adb (Install_Null_Excluding_Check): Bail out for the
1217 Get_Current_Excep.all.all idiom generated by the expander.
1218
088b91c7
EB
12192011-11-20 Eric Botcazou <ebotcazou@adacore.com>
1220
1221 * gcc-interface/trans.c (struct language_function): Add GNAT_RET.
1222 (f_gnat_ret): New macro.
1223 (struct nrv_data): Add GNAT_RET.
1224 (finalize_nrv_unc_r): New helper function.
1225 (finalize_nrv): Add GNAT_RET parameter. Copy it into DATA. If the
1226 function returns unconstrained, use finalize_nrv_unc_r as callback.
1227 (return_value_ok_for_nrv_p): Test the alignment of RET_OBJ only if
1228 RET_OBJ is non-null.
1229 (Subprogram_Body_to_gnu): Pass GNAT_RET to finalize_nrv.
1230 (gnat_to_gnu) <N_Return_Statement>: In the return-unconstrained case,
1231 if optimization is enabled, record candidates for the Named Return
1232 Value optimization.
1233
12342011-11-20 Eric Botcazou <ebotcazou@adacore.com>
0d24bf76
EB
1235
1236 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Add comment.
1237 (gnat_to_gnu) <N_Return_Statement>: Add 'else' to avoid doing a useless
1238 test. Tweak default case.
1239 <N_Goto_Statement>: Use better formatting.
1240 * gcc-interface/utils2.c (maybe_wrap_malloc): Use INIT_EXPR instead of
1241 MODIFY_EXPR to initialize the storage.
1242 (build_allocator): Likewise.
1243
b1a785fb
EB
12442011-11-20 Eric Botcazou <ebotcazou@adacore.com>
1245
1246 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
1247 call to components_to_record.
1248 (components_to_record): Add FIRST_FREE_POS parameter. For the variant
1249 part, reuse enclosing union even if there is a representation clause
1250 on the Unchecked_Union. If there is a variant part, compute the new
1251 first free position, if any. Adjust call to self. Use a single field
1252 directly only if it hasn't got a representation clause or is placed at
1253 offset zero. Create the variant part at offset 0 if all the fields
1254 down to this level have a rep clause. Do not chain the variant part
1255 immediately and adjust downstream.
1256 Do not test ALL_REP before moving the fields without rep clause to the
1257 previous level. Call create_rep_part to create the REP part and force
1258 a minimum size on it if necessary. Do not chain it immediately.
1259 Create a fake REP part if there are fields without rep clause that need
1260 to be laid out starting from FIRST_FREE_POS.
1261 At the end, chain the REP part and then the variant part.
1262 (create_rep_part): New function.
1263 (get_rep_part): Minor tweak.
1264 * gcc-interface/utils.c (tree_code_for_record_type): Minor tweak.
1265
590175d2
IS
12662011-11-18 Iain Sandoe <iains@gcc.gnu.org>
1267
1268 PR target/50678
a6b7e723
EB
1269 * init.c (__gnat_error_handler) [Darwin]: Move workaround to the
1270 bug filed as radar #10302855 from __gnat_error_handler to...
1271 (__gnat_adjust_context_for_raise) [Darwin]: ...here. New function.
590175d2 1272 (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE) [Darwin]: Define.
590175d2 1273
1e1ae0af
TG
12742011-11-18 Tristan Gingold <gingold@adacore.com>
1275 Iain Sandoe <iains@gcc.gnu.org>
1276
1277 PR target/49992
1278 * mlib-tgt-specific-darwin.adb (Archive_Indexer_Options): Remove.
a6b7e723 1279 * gcc-interface/Makefile.in (darwin): Remove ranlib special-casing.
1e1ae0af 1280
5f41422f
IS
12812011-11-12 Iain Sandoe <iains@gcc.gnu.org>
1282
1283 * gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link
1284 s-oscons.ads.
1285 (OSCONS_CPP, OSCONS_EXTRACT): New.
a6b7e723
EB
1286 (./bldtools/oscons/xoscons): New target.
1287 ($(RTSDIR)/s-oscons.ads): Likewise.
1288 (gnatlib): Depend on $(RTSDIR)/s-oscons.ads.
5f41422f
IS
1289 * gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency.
1290 * Make-generated.in: Remove machinery to generate xoscons and
1291 ada/s-oscons.ads.
1292
033ba5bf
EB
12932011-11-10 Eric Botcazou <ebotcazou@adacore.com>
1294
1295 * fe.h (Serious_Errors_Detected): New macro.
1296 * gcc-interface/gigi.h (build_atomic_load): Declare.
1297 (build_atomic_store): Likewise.
1298 * gcc-interface/trans.c (atomic_sync_required_p): New predicate.
1299 (call_to_gnu): Add ATOMIC_SYNC parameter. Use local variable.
1300 Build an atomic load for an In or In Out parameter if needed.
1301 Build an atomic store for the assignment of an Out parameter if needed.
1302 Build an atomic store to the target if ATOMIC_SYNC is true.
1303 (present_in_lhs_or_actual_p): New predicate.
1304 (gnat_to_gnu) <N_Identifier>: Build an atomic load if needed.
1305 <N_Explicit_Dereference>: Likewise.
1306 <N_Indexed_Component>: Likewise.
1307 <N_Selected_Component>: Likewise.
1308 <N_Assignment_Statement>: Adjust call to call_to_gnu.
1309 Build an atomic store to the LHS if needed.
1310 <N_Function_Call>: Adjust call to call_to_gnu.
1311 * gcc-interface/utils2.c: Include toplev.h.
1312 (resolve_atomic_size): New static function.
1313 (build_atomic_load): New function.
1314 (build_atomic_store): Likewise.
1315 * gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h.
1316
b5bf3335
AC
13172011-11-07 Olivier Hainque <hainque@adacore.com>
1318
1319 * sigtramp-ppcvxw.c: Add general comments.
1320 (CFI_COMMON_REGS): Remove rule for r1, as in other unwinders. Add
1321 rules for r2 to r13, plus CTR and XER.
1322 (CFA_REG): New, register number used to hold the local CFA.
1323 (CFI_DEF_CFA, SIGTRAMP_BODY): Use it.
1324 Make that 15, not 14, with documentation.
1325 (TCR): Undef before definition, preventing conflict with reg number in
1326 VxWorks headers.
1327
13282011-11-07 Robert Dewar <dewar@adacore.com>
1329
1330 * exp_util.ads, exp_alfa.adb, a-cohama.adb, a-cohama.ads, sem_ch4.adb,
1331 aspects.ads, exp_ch8.adb, exp_ch8.ads, atree.ads: Minor reformatting.
1332 * gcc-interface/Make-lang.in: Update dependencies.
1333
13342011-11-07 Ed Schonberg <schonberg@adacore.com>
1335
1336 * exp_ch6.adb: A tagged type is a legal actual for an aliased
1337 formal.
1338
13392011-11-07 Pascal Obry <obry@adacore.com>
1340
1341 * g-socket.adb, g-socket.ads: Minor reformatting.
1342
13432011-11-07 Robert Dewar <dewar@adacore.com>
1344
1345 * sem_res.adb (Resolve_Actuals): Minor error message improvement.
1346
13472011-11-07 Robert Dewar <dewar@adacore.com>
1348
1349 * gnat_ugn.texi: Add discussion of default mode handling of
1350 source representation with no -gnatW option given, in particular
1351 noting that NEL (next line) is not recognized in this context.
1352
9ee76313
AC
13532011-11-07 Yannick Moy <moy@adacore.com>
1354
1355 * sem_util.adb (Note_Possible_Modification): In Alfa mode,
1356 generate a reference for a modification even when the modification
1357 does not come from source.
1358
13592011-11-07 Ed Schonberg <schonberg@adacore.com>
1360
1361 * exp_ch5.adb (Expand_Iterator_Loop): For the "of" iterator form,
1362 use the indexing attributes rather than the Element function,
1363 to obtain variable references.
1364 * sem_ch4.adb (Try_Container_Indexing): Code cleanup. Use
1365 Find_Aspect rather than iterating over representation
1366 items. Improve error message.
1367 * a-cohama.adb, a-cohama.ads Update to latest RM, with two versions
1368 of Reference functions.
1369
7b7a0c2b
AC
13702011-11-07 Yannick Moy <moy@adacore.com>
1371
1372 * sem_util.adb (Unique_Entity): For a parameter on a subprogram
1373 body that has a corresponding parameter on the subprogram
1374 declaration, define the unique entity as being the declaration
1375 one.
1376
13772011-11-07 Ed Schonberg <schonberg@adacore.com>
1378
1379 * sem_ch6.adb (Analyze_Return_Type): In Ada 2012 mode, if the
1380 return type of a function is the class-wide type of an incomplete
1381 type T, T can be a Taft-amendment type and does not have to be
1382 completed in the current private part.
1383
13842011-11-07 Ed Schonberg <schonberg@adacore.com>
1385
1386 * aspects.ads (Inherited_Aspect): Map that indicates type aspects
1387 that are inherited by default, and apply to the class-wide type
1388 as well.
1389 * aspects.adb (Find_Aspect): If the entity is class-wide and the
1390 aspect is inherited, use the aspect of the specific type.
1391
cc570be6
AC
13922011-11-07 Hristian Kirtchev <kirtchev@adacore.com>
1393
1394 * exp_alfa.adb: Remove with and use clause for
1395 Exp_Ch8. Add with and use clause for Exp_Util.
1396 Remove local constant Disable_Processing_Of_Renamings.
1397 (Expand_Alfa_N_Object_Renaming_Declaration): The expansion of
1398 object renamings has been reenabled.
1399 (Expand_Possible_Renaming):
1400 The expansion of identifier and expanded names has been
1401 reenabled. Perform the substitutions only for entities that
1402 denote an object.
1403 * exp_ch8.ads, exp_ch8.adb (Evaluate_Name): Moved to Exp_Util.
1404 * exp_util.adb (Evaluate_Name): Moved from Exp_Ch8.
1405 (Remove_Side_Effects): Alphabetize local variables. Add a guard
1406 to avoid the infinite expansion of an expression in Alfa mode. Add
1407 processing for function calls in Alfa mode.
1408 * exp_util.ads (Evaliate_Name): Moved from Exp_Ch8.
1409
14102011-11-07 Ed Schonberg <schonberg@adacore.com>
1411
1412 * freeze.adb (Freeze_Entity): If the entity is an access to
1413 subprogram whose designated type is itself a subprogram type,
1414 its own return type must be decorated with size information.
1415
b6d185a5
AC
14162011-11-04 Arnaud Charlet <charlet@adacore.com>
1417
1418 * gcc-interface/Make-lang.in: Update dependencies.
1419
1adaea16
AC
14202011-11-04 Robert Dewar <dewar@adacore.com>
1421
1422 * sprint.adb (Sprint_Node_Actual, case Qualified_Expression):
1423 Avoid junk semicolon after argument of machine code Asm operand.
1424
14252011-11-04 Robert Dewar <dewar@adacore.com>
1426
1427 * exp_ch11.adb (Generate_Push_Pop): Inhibit push/pop nodes in
1428 CodePeer mode or if restriction No_Exception_Handlers is present.
1429 * exp_ch6.adb (Expand_N_Subprogram_Body): (Inhibit push/pop
1430 nodes in CodePeer mode or if restriction No_Exception_Handlers
1431 is present.
1432
14332011-11-04 Robert Dewar <dewar@adacore.com>
1434
1435 * s-tassta.adb, atree.ads, errout.adb, sinput.adb: Minor reformatting.
1436
14372011-11-04 Ed Schonberg <schonberg@adacore.com>
1438
1439 * sem_ch6.adb (Analyze_Subprogram_Specification): The
1440 specification is legal if it is a function that returns an
1441 abstract type, if it comes from an attribute renaming of a stream
1442 attribute of an abstract type.
1443
14442011-11-04 Gary Dismukes <dismukes@adacore.com>
1445
1446 * exp_util.adb (Is_Possibly_Unaligned_Object): In case of indexed
1447 components, check whether recursively check whether the prefix
1448 denotes an unaligned object.
1449
14502011-11-04 Ed Schonberg <schonberg@adacore.com>
1451
1452 * sem_prag.adb (Analyze_Pragma, case Debug): The argument of
1453 the pragma is legal if it is an expanded name that denotes a
1454 procedure that be can called without parameters.
1455
14562011-11-04 Eric Botcazou <ebotcazou@adacore.com>
1457
1458 * gnat_ugn.texi (Performance Considerations) <Vectorization
1459 of loops>: New sub-section. <Other Optimization Switches>:
1460 Minor tweak.
1461
4c9fe6c7
AC
14622011-11-04 Robert Dewar <dewar@adacore.com>
1463
1464 * gnat_rm.texi: Minor reformatting.
1465
14662011-11-04 Matthew Heaney <heaney@adacore.com>
1467
1468 * a-convec.adb, a-coinve.adb, a-cobove.adb (Merge): Raise PE
1469 when Target and Source denote same non-empty object
1470 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Merge): Ditto
1471
14722011-11-04 Robert Dewar <dewar@adacore.com>
1473
1474 * exp_attr.adb: Minor reformatting.
1475
14762011-11-04 Ed Schonberg <schonberg@adacore.com>
1477
1478 * exp_ch5.adb (Expand_Assign_Record): Do not generate a
1479 discriminant assignment within an initialization proc if the
1480 record is an unchecked union, as it can only come from the
1481 initialization of an unchecked union component.
1482
14832011-11-04 Robert Dewar <dewar@adacore.com>
1484
1485 * gnat_ugn.texi: Minor reformatting.
1486
14872011-11-04 Robert Dewar <dewar@adacore.com>
1488
1489 * par-labl.adb (Rewrite_As_Loop): Generate info msg rather than
1490 warning message.
1491
14922011-11-04 Robert Dewar <dewar@adacore.com>
1493
1494 * exp_ch4.adb: Minor code reorganization (remove junk obsolete
1495 var Save_Space).
1496
6ec084f3
HK
14972011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
1498
1499 * exp_alfa.adb: Add local constant
1500 Disable_Processing_Of_Renamings;
1501 (Expand_Alfa_N_Object_Renaming_Declaration): Disable
1502 the name evaluation of object renamings for now.
1503 (Expand_Potential_Renaming): Do not perform the substitution
1504 for now.
1505 * exp_util.adb (Remove_Side_Effects): Remove processing for
1506 functions with side effects in Alfa mode.
1507
73fe1679
AC
15082011-11-04 Gary Dismukes <dismukes@adacore.com>
1509
1510 * bindgen.adb (Gen_Elab_Calls): In the case
1511 of the AAMP target, set elaboration entities to 1 rather than
1512 incrementing.
1513
15142011-11-04 Ed Schonberg <schonberg@adacore.com>
1515
1516 * sem_ch10.adb (Install_Limited_With_Unit): To establish the
1517 proper entities on the ancestors of a child unit that appear
1518 in a limited_with clause, follow the unit links because the
1519 units are not analyzed and scope information is incomplete.
1520
15212011-11-04 Eric Botcazou <ebotcazou@adacore.com>
1522
1523 * exp_ch4.adb (Expand_N_Selected_Component): Refine code
1524 setting the Atomic_Sync_Required flag to detect one more case.
1525 * exp_util.adb (Activate_Atomic_Synchronization): Refine code
1526 setting the Atomic_Sync_Required flag to exclude more cases,
1527 depending on the parent of the node to be examined.
1528
15292011-11-04 Bob Duff <duff@adacore.com>
1530
1531 * g-excact.adb: Minor: use named notation.
1532
15332011-11-04 Ed Schonberg <schonberg@adacore.com>
1534
1535 * sem_ch5.adb: Improve error messages for illegal iterators.
1536
b2ab8c33
AC
15372011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
1538
1539 * exp_alfa.adb: Add with and use clauses for Exp_Ch8 and
1540 Sem_Util.
1541 (Expand_Alfa): Alphabetize cases on first choice. Add
1542 processing for object renaming declarations, identifiers and
1543 expanded names.
1544 (Expand_Alfa_N_In): Remove useless return.
1545 (Expand_Alfa_N_Object_Renaming_Declaration): New routine.
1546 (Expand_Potential_Renaming): New routine.
1547 * exp_ch8.adb (Evaluate_Name): Moved to the top level.
1548 (Expand_N_Object_Declaration): Alphabetize local variables. Move
1549 Evaluate_Name out to the top level.
1550 * exp_ch8.ads (Evaluate_Name): Moved from body to package spec.
1551 * exp_util.adb (Remove_Side_Effects): Add processing for
1552 functions with side effects in Alfa mode.
1553
15542011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
1555
1556 * gnat_rm.texi: Add entries for
1557 restrictions No_Relative_Delay, No_Requeue_Statements and
1558 No_Stream_Optimizations.
1559
15602011-11-04 Ed Schonberg <schonberg@adacore.com>
1561
1562 * sem_ch4.adb: Set type of entity in prefixed call, for
1563 completeness in a generic context.
1564
4c318253
AC
15652011-11-04 Yannick Moy <moy@adacore.com>
1566
1567 * sem_prag.adb: Minor refactoring (renaming of a parameter).
1568
15692011-11-04 Robert Dewar <dewar@adacore.com>
1570
1571 * atree.ads: Minor reformatting.
1572
15732011-11-04 Robert Dewar <dewar@adacore.com>
1574
1575 * checks.adb (Atomic_Synchronization_Disabled): Check -gnatd.d
1576 and -gnatd.e here
1577 * exp_ch2.adb (Expand_Entity_Reference): Use
1578 Activate_Atomic_Synchronization
1579 * exp_ch4.adb (Expand_N_Explicit_Dereference): Use
1580 Activate_Atomic_Synchronization (Expand_N_Indexed_Compoonent):
1581 Activate_Atomic_Synchronization (Expand_N_Selected_Component):
1582 Use Activate_Atomic_Synchronization
1583 * exp_util.ads, exp_util.adb (Activate_Atomic_Synchronization): New
1584 procedure.
1585 * sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now apply to
1586 N_Selected_Component node
1587
37765e95
RD
15882011-11-04 Robert Dewar <dewar@adacore.com>
1589
1590 * sem_prag.adb, atree.ads, prj-env.adb, prj-env.ads: Minor reformatting.
1591
8c18a165
AC
15922011-11-04 Yannick Moy <moy@adacore.com>
1593
1594 * atree.adb, atree.ads (Set_Original_Node): New set procedure.
1595 * sem_ch13.adb (Analyze_Aspect_Specifications/Pre_Post_Aspects):
1596 In ASIS mode, no splitting of aspects between conjuncts.
1597 (Analyze_Aspect_Specifications/Aspect_Test_Case): Make pragma
1598 expressions refer to the original aspect expressions through
1599 the Original_Node link. This is used in semantic analysis for
1600 ASIS mode, so that the original expression also gets analyzed.
1601 * sem_prag.adb (Preanalyze_TC_Args,
1602 Check_Precondition_Postcondition,
1603 Analyze_Pragma/Pragma_Test_Case): In ASIS mode, for a pragma
1604 generated from a source aspect, also analyze the original aspect
1605 expression.
1606 (Check_Expr_Is_Static_Expression): New procedure
1607 similar to existing procedure Check_Arg_Is_Static_Expression,
1608 except called on expression inside pragma.
1609
16102011-11-04 Tristan Gingold <gingold@adacore.com>
1611
1612 * prj-env.adb, prj-env.ads (Find_Name_In_Path): New function, from
1613 Find_Project.Try_Path_Name.
1614 (Find_Project): Use Find_Name_In_Path to implement Try_Path_Name.
1615
16162011-11-04 Eric Botcazou <ebotcazou@adacore.com>
1617
1618 * s-atocou.ads (Atomic_Counter): Remove redundant pragma Volatile.
1619
16202011-11-04 Pascal Obry <obry@adacore.com>
1621
1622 * projects.texi: Add short description for qualifiers aggregate
1623 and aggregate library.
1624
16252011-11-04 Matthew Heaney <heaney@adacore.com>
1626
1627 * Makefile.rtl, impunit.adb: Added a-cogeso.ad[sb]
1628 * a-cgaaso.adb: Replaced implementation with instantiation
1629 of Generic_Sort.
1630 * a-cogeso.ad[sb] This is the new Ada 2012 unit
1631 Ada.Containers.Generic_Sort
1632
5972791c
AC
16332011-11-04 Robert Dewar <dewar@adacore.com>
1634
1635 * exp_ch2.adb (Expand_Entity_Reference): Do not set
1636 Atomic_Sync_Required for the case of a prefix of an attribute.
1637 * exp_ch4.adb (Expand_N_Explicit_Dereference): May require
1638 atomic synchronization
1639 (Expand_N_Indexed_Component): Ditto.
1640 (Expand_B_Selected_Component): Ditto.
1641 * sem_prag.adb (Process_Suppress_Unsuppress):
1642 Disable/Enable_Atomic_Synchronization can now occur for array
1643 types with pragma Atomic_Components.
1644 * sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now occur on
1645 N_Explicit_Dereference nodes and on N_Indexed_Component nodes.
1646
16472011-11-04 Gary Dismukes <dismukes@adacore.com>
1648
1649 * gnat_ugn.texi: Editorial corrections for gnattest section.
1650
8751a35c
RD
16512011-11-04 Robert Dewar <dewar@adacore.com>
1652
1653 * sem_prag.adb: Minor reformatting.
1654 * gnat_rm.texi: Update documentation for pragma Warnings (Off,
1655 "***") usage.
1656 * exp_ch2.adb (Expand_Entity_Reference): Only set
1657 Atomic_Sync_Required on entities that are variables. Doesn't
1658 make any sense on anything else.
1659
fb5d63c6
RD
16602011-11-04 Robert Dewar <dewar@adacore.com>
1661
1662 * exp_ch2.adb (Expand_Entity_Reference): Extend handling of
1663 atomic sync to type case.
1664 * sem_prag.adb (Process_Suppress_Unsuppress): Atomic Sync can
1665 apply to types.
1666
a51cd0ec 16672011-11-04 Robert Dewar <dewar@adacore.com>
25ec1790 1668
a51cd0ec
AC
1669 * sem_warn.adb (Warn_On_Useless_Assignment): More accurate test
1670 for call vs assign.
1671 * gcc-interface/Make-lang.in: Update dependencies.
1672
16732011-11-04 Robert Dewar <dewar@adacore.com>
1674
1675 * sem_prag.adb: Detect more cases of Long_Float inconsistencies at
1676 compile time.
1677
16782011-11-04 Matthew Heaney <heaney@adacore.com>
1679
1680 * Makefile.rtl, impunit.adb: Added a-sfecin.ads,
1681 * a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb], a-sbhcin.ad[sb],
1682 a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb], a-sulcin.ad[sb]
1683 * a-sfecin.ads, a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb],
1684 a-sbhcin.ad[sb], a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb],
1685 a-sulcin.ad[sb]: New files.
1686
16872011-11-04 Geert Bosch <bosch@adacore.com>
1688
1689 * i-forbla-unimplemented.ads, s-gecola.adb, s-gecola.ads,
1690 s-gerebl.adb, s-gerebl.ads, i-forbla.adb, i-forbla.ads,
1691 i-forlap.ads, i-forbla-darwin.adb, s-gecobl.adb, s-gecobl.ads,
1692 s-gerela.adb, s-gerela.ads: Remove partial interface to BLAS/LAPACK.
1693 * gcc-interface/Makefile.in: Remove libgnala and related objects.
25ec1790 1694
a31945d7
AC
16952011-11-04 Matthew Heaney <heaney@adacore.com>
1696
1697 * a-cdlili.ad[sb], a-cidlli.ad[sb], a-coorse.ad[sb], a-ciorse.ad[sb],
1698 a-coorma.ad[sb], a-ciorma.ad[sb], a-coormu.ad[sb], a-ciormu.ad[sb],
1699 a-cohama.ad[sb], a-cihama.ad[sb], a-cohase.ad[sb], a-cihase.ad[sb],
1700 a-convec.ad[sb], a-coinve.ad[sb] (Assign, Copy): New operations
1701 added to package.
1702
a51cd0ec
AC
17032011-11-04 Eric Botcazou <ebotcazou@adacore.com>
1704
1705 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not assert
1706 that the type of the parameters isn't dummy in type_annotate_only mode.
1707
a31945d7
AC
17082011-11-04 Robert Dewar <dewar@adacore.com>
1709
1710 * sem_ch12.adb: Minor reformatting
1711
17122011-11-04 Gary Dismukes <dismukes@adacore.com>
1713
1714 * bindgen.adb (Gen_Elab_Calls): In the case of the AAMP target,
1715 initialize elaboration entities to zero when specs are processed.
1716
a53f3523
IS
17172011-10-28 Iain Sandoe <iains@gcc.gnu.org>
1718 Eric Botcazou <ebotcazou@adacore.com>
1719
1720 PR target/50678
be7552fc
EB
1721 * init.c (__gnat_error_handler) [Darwin]: Apply a work-around to the
1722 bug filed as radar #10302855 (inconsistent unwind data for sigtramp).
a53f3523 1723
0de82be5
EB
17242011-10-28 Eric Botcazou <ebotcazou@adacore.com>
1725
1726 PR ada/50842
1727 * gcc-interface/Makefile.in (SYMDEPS): Delete.
1728 (LIBICONV): New variable.
1729 (LIBICONV_DEP): Likewise.
1730 (LIBS): Add $(LIBICONV).
1731 (LIBDEPS): Add $(LIBICONV_DEP).
1732 (EXTRA_GNATTOOLS_OBJS): Merge into...
1733 (TOOLS_LIBS): ...this. Add $(LIBICONV).
e1e5852c 1734
1586f8a3
EB
17352011-10-26 Eric Botcazou <ebotcazou@adacore.com>
1736
1737 * gcc-interface/decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local
1738 variable. Always create the elaboration variable, if any, as constant.
1739
e1e5852c
EB
17402011-10-26 Eric Botcazou <ebotcazou@adacore.com>
1741
1742 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Try to
1743 make a packable type for fields of union types as well.
1744 <is_type>: Use RECORD_OR_UNION_TYPE_P predicate.
1745 (gnat_to_gnu_component_type): Try to make a packable type for fields
1746 of union types as well.
1747 (make_packable_type): Use RECORD_OR_UNION_TYPE_P predicate.
1748 (maybe_pad_type): Try to make a packable type for fields of union types
1749 as well.
1750 (gnat_to_gnu_field): Likewise.
1751 (is_variable_size): Use RECORD_OR_UNION_TYPE_P predicate.
1752 (set_rm_size): Likewise.
1753 (rm_size): Likewise.
1754 * gcc-interface/misc.c (gnat_type_max_size): Likewise.
1755 * gcc-interface/trans.c (add_decl_expr): Likewise.
1756 * gcc-interface/utils.c (finish_record_type): Likewise.
1757 * gcc-interface/utils2.c (build_simple_component_ref): Likewise.
1758
0025cb63
EB
17592011-10-26 Eric Botcazou <ebotcazou@adacore.com>
1760
1761 * gcc-interface/decl.c (gnat_to_gnu_field): Always check components
1762 declared as atomic. Move around conditionally executed code.
1763
b3c33641
AC
17642011-10-24 Robert Dewar <dewar@adacore.com>
1765
be7552fc 1766 * sem.adb (Initialize): Fix bug that blew up if called a second time.
b3c33641
AC
1767
17682011-10-24 Robert Dewar <dewar@adacore.com>
1769
1770 * tb-alvxw.c, tracebak.c, expect.c, initflt.c, tb-alvms.c,
1771 tb-ivms.c, tb-gcc.c: Update headers to GPL 3.
1772
17732011-10-24 Robert Dewar <dewar@adacore.com>
1774
1775 * sem_prag.adb (Analyze_Pragma, case Debug): Give proper pragma
1776 name in error msg.
1777
17782011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
1779
be7552fc 1780 * gnat_rm.texi: Add an entry for restriction No_Finalization.
b3c33641
AC
1781
17822011-10-24 Ed Schonberg <schonberg@adacore.com>
1783
1784 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): If the
1785 current instance is within the one that contains the generic,
1786 the freeze node for the current one must appear in the current
1787 declarative part. Ditto if the current instance is within another
1788 package instance. In both of these cases the freeze node of the
1789 previous instance is not relevant.
1790
17912011-10-24 Gary Dismukes <dismukes@adacore.com>
1792
1793 * switch-m.adb (Normalize_Compiler_Switches): Add recognition
1794 of AAMP-specific switches -univ and -aamp_target.
1795
17962011-10-24 Robert Dewar <dewar@adacore.com>
1797
1798 * a-tienau.adb (Put): Deal properly with limited line length.
1799
18002011-10-24 Robert Dewar <dewar@adacore.com>
1801
1802 * sem_warn.adb, sem_ch12.adb: Minor reformatting.
1803
30e1709c 18042011-10-24 Tristan Gingold <gingold@adacore.com>
8263e17a
TG
1805
1806 * gcc-interface/Makefile.in: Use GNU ld switches to generate map files
1807 on AIX.
1808
12b4d338
AC
18092011-10-24 Ed Schonberg <schonberg@adacore.com>
1810
1811 * sem_ch12.adb (Earlier): make available globally. If both
1812 nodes have the same sloc, the freeze node that does not come
1813 from source is the later one.
1814 (True_Parent): Make available globally.
1815 (Previous_Instance): Subsidiary of
1816 Insert_Freeze_Node_For_Instance, to check whether the generic
1817 parent of the current instance is declared within a previous
1818 instance in the same unit or declarative part, in which case the
1819 freeze nodes of both instances must appear in order to prevent
1820 elaboration problems in gigi.
1821 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): A stub is a
1822 freeze point, and the freeze node of a preceding instantiation
1823 must be inserted before it.
1824
18252011-10-24 Robert Dewar <dewar@adacore.com>
1826
1827 * checks.ads, checks.adb: Add handling of Synchronization_Check
1828 * debug.adb: Add doc for -gnatd.d and -gnatd.e (disable/enable
1829 atomic sync).
1830 * exp_ch2.adb (Expand_Entity_Reference): Set Atomic_Sync_Required
1831 flag Minor code reorganization.
1832 * opt.ads (Warn_On_Atomic_Synchronization): New switch.
1833 * par-prag.adb: Add dummy entries for pragma
1834 Disable/Enable_Atomic_Synchronization.
1835 * sem_prag.adb (Process_Suppress_Unsuppress): Handle
1836 case of Atomic_Synchronization specially (not suppressed
1837 by All_Checks, cannot be set from Source).
1838 (Pragma Disable/Enable_Atomic_Synchronization): Add processing.
1839 * sinfo.ads, sinfo.adb: Add Atomic_Sync_Required flag
1840 * snames.ads-tmpl: Add entry for Atomic_Synchronization Add
1841 entry for pragma Disable/Enable_Atomic_Synchronization
1842 * switch-c.adb: The -gnatp switch does not disable
1843 Atomic_Synchronization Add -gnatep switch to disable
1844 Atomic_Synchronization.
1845 * types.ads: Add entry for Synchronization_Check
1846 * usage.adb: Add line for -gnated switch
1847 * warnsw.adb: Settings for Warn_On_Atomic_Synchronization
1848
08ce7bb8
AC
18492011-10-24 Geert Bosch <bosch@adacore.com>
1850
be7552fc
EB
1851 * s-gearop.adb (Back_Substitute): Avoid overflow if matrix bounds start
1852 at Integer'First.
08ce7bb8
AC
1853
18542011-10-24 Robert Dewar <dewar@adacore.com>
1855
be7552fc 1856 * sem_ch12.adb, s-gearop.adb: Minor reformatting.
08ce7bb8
AC
1857
18582011-10-24 Robert Dewar <dewar@adacore.com>
1859
be7552fc
EB
1860 * warnsw.adb: Add some missing warnings to Set_GNAT_Mode_Warnings.
1861 * warnsw.ads: Add comments to Set_GNAT_Mode_Warnings.
08ce7bb8 1862
292689c2
AC
18632011-10-24 Emmanuel Briot <briot@adacore.com>
1864
1865 * prj-proc.adb (Process_Expression_Variable_Decl): No special
1866 handling for Project_Path unless it is an attribute.
1867
18682011-10-24 Javier Miranda <miranda@adacore.com>
1869
1870 * sem_ch12.adb (Check_Hidden_Primitives): New subprogram.
1871 (Install_Hidden_Primitives): New subprogram.
1872 (Restore_Hidden_Primitives): New subprogram.
1873 (Analyze_Formal_Package_Declaration,
1874 Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
1875 Invoke Check_Hidden_Primitives after every call to
1876 Analyze_Associations, and invoke Restore_Hidden_Primitives to
1877 restore their visibility after processing the instantiation.
1878 (Instantiate_Package_Body): Install visible primitives before
1879 analyzing the instantiation and uninstall them to restore their
1880 visibility when the instantiation has been analyzed.
1881 * sem_util.ads, sem_util.adb (Add_Suffix): New subprogram
1882 (Remove_Suffix): New subprogram
1883 * sem_ch3.adb (Derive_Subprogram): When handling
1884 a derived subprogram for the instantiation of a formal derived
1885 tagged type, inherit the dispatching attributes from the actual
1886 subprogram (not from the parent type).
1887
db4b3c49
AC
18882011-10-24 Vasiliy Fofanov <fofanov@adacore.com>
1889
1890 * gnat_ugn.texi: Document explicit use of XDECGNAT library.
1891
18922011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
1893
1894 * exp_ch3.adb (Build_Assignment): Add local constant N_Loc and
1895 update its uses.
1896 (Build_Discriminant_Assignments): Add local variable D_Loc and update
1897 its uses.
1898 (Build_Init_Statements): Add local variables Comp_Loc, Decl_Loc and
1899 Var_Loc and update their uses.
1900 (Build_Record_Init_Proc): Code reformatting.
1901 (Increment_Counter): Add formal parameter Loc.
1902 (Make_Counter): Add formal parameter Loc.
1903
19042011-10-24 Eric Botcazou <ebotcazou@adacore.com>
1905
1906 * sem_disp.adb (Covers_Some_Interface): Fix typo.
1907
19082011-10-24 Matthew Heaney <heaney@adacore.com>
1909
be7552fc
EB
1910 * a-cuprqu.adb, a-cbprqu.adb (Dequeue_Only_High_Priority): Fix sense
1911 of predicate.
db4b3c49
AC
1912
19132011-10-24 Yannick Moy <moy@adacore.com>
1914
1915 * sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Test_Case):
1916 Translate arguments in positional notation into pragma argument
1917 association arguments for the generated pragma.
1918
19192011-10-24 Arnaud Charlet <charlet@adacore.com>
1920
1921 * exp_ch5.adb: Fix minor typo.
1922
19232011-10-24 Ed Schonberg <schonberg@adacore.com>
1924
1925 * sem_ch3.adb (Is_Visible_Component): Refine predicate for
1926 the case of a component reference in an instance body, when the
1927 enclosing type is private.
1928
86f0e17a
AC
19292011-10-24 Sergey Rybin <rybin@adacore.com frybin>
1930
1931 * gnat_ugn.texi: For gnatelim, move the note about using the GNAT
1932 driver for getting the project support into gnatelim section.
1933
19342011-10-24 Robert Dewar <dewar@adacore.com>
1935
be7552fc 1936 * gnat_rm.texi: Minor correction to documentation on address clause.
86f0e17a
AC
1937
19382011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
1939
1940 * s-finmas.adb (Attach): Synchronize and call the unprotected version.
1941 (Attach_Unprotected): New routine.
1942 (Delete_Finalize_Address): Removed.
1943 (Delete_Finalize_Address_Unprotected): New routine.
1944 (Detach): Synchronize and call the unprotected version.
1945 (Detach_Unprotected): Remove locking.
1946 (Finalize): Add various comment on synchronization. Lock the critical
1947 region and call the unprotected versions of routines.
1948 (Finalize_Address): Removed.
1949 (Finalize_Address_Unprotected): New routine.
1950 (Set_Finalize_Address): Synchronize and call
1951 the unprotected version.
1952 (Set_Finalize_Address_Unprotected): New routine.
1953 (Set_Heterogeneous_Finalize_Address): Removed.
1954 (Set_Heterogeneous_Finalize_Address_Unprotected): New routine.
1955 (Set_Is_Heterogeneous): Add comment on synchronization and
1956 locking.
1957 * s-finmas.ads: Flag Finalization_Started is no longer atomic
1958 because synchronization uses task locking / unlocking.
1959 (Attach): Add comment on usage.
1960 (Attach_Unprotected): New routine.
1961 (Delete_Finalize_Address): Renamed to
1962 Delete_Finalize_Address_Unprotected.
1963 (Detach): Add comment on usage.
1964 (Detach_Unprotected): New routine.
1965 (Finalize_Address): Renamed to Finalize_Address_Unprotected.
1966 (Set_Finalize_Address): Add comment on usage.
1967 (Set_Finalize_Address_Unprotected): New routine.
1968 (Set_Heterogeneous_Finalize_Address): Renamed to
1969 Set_Heterogeneous_Finalize_Address_Unprotected.
1970 * s-stposu.adb (Allocate_Any_Controlled): Add local variable
1971 Allocation_Locked. Add various comments on synchronization. Lock
1972 the critical region and call the unprotected version of
1973 routines.
1974 (Deallocate_Any_Controlled): Add various comments on
1975 synchronization. Lock the critical region and call the unprotected
1976 version of routines.
1977
19782011-10-24 Ed Schonberg <schonberg@adacore.com>
1979
1980 * sem_ch3.adb (Set_Fixed_Range): The bounds of a fixed point type
1981 are universal and must carry the corresponding type.
1982 * sem_eval.adb (Check_Non_Static_Context): If the type of the
1983 expression is universal real, as may be the case for a fixed point
1984 expression with constant operands in the context of a conversion,
1985 there is nothing to check.
1986 * s-finmas.adb: Minor reformatting
1987
be98aaf0
EB
19882011-10-23 Eric Botcazou <ebotcazou@adacore.com>
1989
1990 * gcc-interface/decl.c (create_concat_name): Add explicit cast.
1991
e45c0886
EB
19922011-10-20 Eric Botcazou <ebotcazou@adacore.com>
1993
1994 * gcc-interface/Make-lang.in (GNATLIBFLAGS, GNATLIBCFLAGS, THREAD_KIND,
1995 TRACE): Reintroduce.
1996 (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o,
1997 ada/initialize.o, ada/raise.o): Reintroduce explicit compilation rules.
1998
27ab5bd8
EB
19992011-10-20 Eric Botcazou <ebotcazou@adacore.com>
2000
2001 * gcc-interface/trans.c (lhs_or_actual_p): New predicate.
2002 (unchecked_conversion_nop): Use it.
2003 (gnat_to_gnu): Likewise.
2004
b7562769
EB
20052011-10-20 Eric Botcazou <ebotcazou@adacore.com>
2006
2007 * back_end.adb (Call_Back_End): Pass the maximum logical line number
2008 instead of the maximum physical line number to gigi.
2009 * gcc-interface/trans.c (Sloc_to_locus): Cope with line zero.
2010
53e7c794 20112011-10-16 Tom Tromey <tromey@redhat.com>
46427374
TT
2012 Dodji Seketeli <dodji@redhat.com>
2013
be7552fc
EB
2014 * gcc-interface/trans.c (gigi, Sloc_to_locus): Adjust to use the new
2015 public ordinary map interface.
46427374 2016
ea10ca9c
AC
20172011-10-16 Tristan Gingold <gingold@adacore.com>
2018
53e7c794 2019 * link.c (_AIX): Add support for GNU ld.
ea10ca9c
AC
2020
20212011-10-16 Fedor Rybin <frybin@adacore.com>
2022
2023 * gnat_ugn.texi: Fixing gnattest example names in the doc.
2024 Adding explanation to additional tests usage.
2025
20262011-10-16 Robert Dewar <dewar@adacore.com>
2027
2028 * exp_ch6.adb, sem_ch6.adb: Minor reformatting.
2029
20302011-10-16 Eric Botcazou <ebotcazou@adacore.com>
2031
2032 * a-convec.adb: Fix minor inconsistencies.
2033
20342011-10-16 Matthew Heaney <heaney@adacore.com>
2035
2036 * a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (package
2037 Implementation): Specify pragma Implementation_Defined.
2038
c225ba50
NR
20392011-10-15 Nicolas Roche <roche@adacore.com>
2040
2041 * gcc-interface/lang-specs.h: Ensure -mrtp switch is passed when using
2042 either rtp-smp or ravenscar-cert-rtp runtimes.
2043
3e452820
AC
20442011-10-15 Bob Duff <duff@adacore.com>
2045
2046 * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
2047 Do not create a pool formal on unless RE_Root_Storage_Pool_Ptr
2048 is available.
2049 (Expand_N_Extended_Return_Statement): Do not create a renaming of the
2050 build-in-place pool parameter unless RE_Root_Storage_Pool_Ptr is
2051 available.
2052 (Make_Build_In_Place_Call_In_Allocator): Add the user-defined
2053 pool only if RE_Root_Storage_Pool_Ptr is available.
2054 (Make_Build_In_Place_Call_In_Object_Declaration): Do not add a
2055 pool actual unless RE_Root_Storage_Pool_Ptr is available.
2056 * sem_ch6.adb (Create_Extra_Formals): Add build-in-place pool
2057 formal only if RE_Root_Storage_Pool_Ptr is available.
2058
20592011-10-15 Matthew Heaney <heaney@adacore.com>
2060
2061 * a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (Queue
2062 type): Specify Priority aspect for protected type.
2063
b7539c3b
AC
20642011-10-14 Ed Schonberg <schonberg@adacore.com>
2065
2066 * exp_disp.adb (Check_Premature_Freezing): If an untagged type
2067 is a generic actual, it is a subtype of a type that was frozen
2068 by the instantiation, and even if not marked frozen it does not
2069 affect the construction of the dispatch table.
2070
20712011-10-14 Robert Dewar <dewar@adacore.com>
2072
2073 * make.adb, mlib-utl.adb, sem_util.adb, sem_ch4.adb: Minor code
2074 reformatting.
2075 * s-rident.ads: Add missing Compiler_Unit pragma.
2076
af89615f
AC
20772011-10-14 Gary Dismukes <dismukes@adacore.com>
2078
2079 * sem_res.adb: Minor reformatting.
2080
20812011-10-14 Hristian Kirtchev <kirtchev@adacore.com>
2082
2083 * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
2084 Code and comment reformatting. Use BIP_Task_Master
2085 when creating a _master.
2086 (BIP_Formal_Suffix): Code reformatting. Correct the case for
2087 BIP_Task_Master.
2088 (Make_Build_In_Place_Call_In_Object_Declaration): Use
2089 BIP_Task_Master when creating a reference to the enclosing
2090 function's _master formal.
2091 (Move_Activation_Chain): Use BIP_Task_Master when creating a reference
2092 to the _master.
2093 * exp_ch6.ads: Change BIP_Master to BIP_Task_Master.
2094 (Needs_BIP_Finalization_Master): Alphabetized.
2095 * sem_ch6.adb (Create_Extra_Formals): Update the usage of
2096 BIP_Task_Master.
2097
20982011-10-14 Ed Schonberg <schonberg@adacore.com>
2099
2100 * par-ch6.adb (P_Return_Object_Declaration): In Ada 2012 mode,
2101 reject an aliased keyword on the object declaration of an extended
2102 return statement. In older versions of the language indicate
2103 that this is illegal in the standard.
2104
21052011-10-14 Pascal Obry <obry@adacore.com>
2106
2107 * sem_util.adb, sem_ch4.adb: Minor reformatting.
2108
21092011-10-14 Ed Schonberg <schonberg@adacore.com>
2110
2111 * sem_ch13.adb: Recognize properly procedure calls that are
2112 transformed into code statements.
2113
21142011-10-14 Vincent Celier <celier@adacore.com>
2115
2116 * projects.texi: Minor fix in project example.
2117
f2d10a02
AC
21182011-10-14 Ed Schonberg <schonberg@adacore.com>
2119
2120 * sem_util.adb: Return objects are aliased if their type is
2121 immutably limited as per AI05-0053.
2122
21232011-10-14 Gary Dismukes <dismukes@adacore.com>
2124
2125 * exp_ch4.adb (Expand_N_Op_And): Remove Short_Circuit_And_Or
2126 expansion code (moved to sem_res) (Expand_N_Op_Or): Remove
2127 Short_Circuit_And_Or expansion code (moved to sem_res).
2128 * sem_res.adb (Resolve_Logical_Op): Add code to rewrite Boolean
2129 "and" and "or" operators as short-circuit "and then" and "or
2130 else", when pragma Short_Circuit_And_Or is active.
2131
2fcc44fa
AC
21322011-10-13 Robert Dewar <dewar@adacore.com>
2133
2134 * sem_ch9.adb, sem_util.adb, sem_util.ads, exp_ch6.adb, sem_ch4.adb,
2135 sem_ch6.adb, exp_ch3.adb: Minor reformatting.
2136
21372011-10-13 Arnaud Charlet <charlet@adacore.com>
2138
2139 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-ngcoar.o.
2140
21412011-10-13 Jerome Guitton <guitton@adacore.com>
2142
2143 * sysdep.c (__gnat_get_task_options): Re-enable VX_SPE_TASK on vThreads
2144
21452011-10-13 Eric Botcazou <ebotcazou@adacore.com>
2146
2147 * a-convec.ads (Cursor): Minor reformatting.
2148 * a-convec.adb (Next): Fix minor inconsistencies.
2149 (Previous): Likewise.
2150
9b62eb32
AC
21512011-10-13 Ed Schonberg <schonberg@adacore.com>
2152
2153 * sem_util.ads, sem_util.adb (Available_Full_View_Of_Component):
2154 New predicate to determine whether some operations on an array
2155 type are available when the full view of its component may differ
2156 from the view of the point of the array declaration.
2157 * sem_ch4.adb (Find_Equality_Types): Use
2158 Available_Full_View_Of_Component.
2159 * sem_type.adb (Valid_Boolean_Arg, Valid_Comparison_Arg): Ditto
2160
21612011-10-13 Ed Schonberg <schonberg@adacore.com>
2162
2163 * sem_ch9.adb: Analyze aspects while discriminants of protected
2164 type are visible.
2165
21662011-10-13 Geert Bosch <bosch@adacore.com>
2167
2168 * Makefile.rtl (GNATRTL_TASKING_OBJECTS): Add
2169 a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o, as these no
2170 longer depend on an external library.
2171 * gcc-interface/Makefile.in (GNATRTL_LINEARALGEBRA_OBJS): Remove
2172 a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o.
2173 Update dependencies.
2174 * gcc-interface/Make-lang.in: Update dependencies.
2175
1a36a0cd
AC
21762011-10-13 Cyrille Comar <comar@adacore.com>
2177
2178 * gnat_ugn.texi: Minor editing.
2179
21802011-10-13 Vincent Celier <celier@adacore.com>
2181
2182 * projects.texi: Add documentation on packages and attributes
2183 that are inherited from a project being extended into the
2184 extended project.
2185
21862011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
2187
2188 * exp_ch3.adb (Build_Master): Rewritten.
2189 (Expand_N_Full_Type_Declaration): Reformat the declarative
2190 region. Update the call to Build_Master_Renaming.
2191 (Expand_Previous_Access_Type): Rewritten.
2192 * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
2193 Add local constant Result_Subt and update related usage.
2194 (Expand_N_Extended_Return_Statement): Add local constant
2195 Result_Subt and update related usage.
2196 * exp_ch9.adb (Build_Activation_Chain): Rewritten to use the
2197 new context detection mechanism.
2198 (Build_Class_Wide_Master):
2199 Use Insert_Action to add the renaming into the tree.
2200 (Build_Master_Entity): Rewritten to use the new context detection
2201 mechanism.
2202 (Build_Master_Renaming): Add formal parameter Ins_Nod
2203 and related usage. Use Insert_Action to add the renaming into the
2204 tree.
2205 (Find_Enclosing_Context): New subsidiary routine. Rather
2206 than relying on enclosing scopes, this routine looks at the
2207 tree structure to figure out the proper context for a _master
2208 or a _chain. This approach eliminates the issues with transient
2209 scopes which have not been converted into blocks.
2210 * exp_ch9.ads (Build_Master_Entity): Change parameter profile
2211 to better reflect the new usage. Update the related comment.
2212 (Build_Master_Renaming): Add formal parameter Ins_Nod. Update
2213 the comment on usage.
2214 * sem_ch3.adb (Access_Definition): Update the calls to
2215 Build_Master_Entity and Build_Master_Renaming.
2216 * sem_ch6.adb (Create_Extra_Formals): Add local variable
2217 Full_Subt. Code reformatting.
2218 * sem_util.adb (Is_Iterator): Alphabetized.
2219 (Is_LHS): Alphabetized.
2220 (Is_Limited_Class_Wide_Type): New routine.
2221 * sem_util.ads (Is_Limited_Class_Wide_Type): New routine.
2222
a5917ffb
GB
22232011-10-13 Geert Bosch <bosch@adacore.com>
2224
2225 * a-ngrear.adb (Solve): Make generic and move to
2226 System.Generic_Array_Operations.
2227 * s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution):
2228 New generic solvers to compute a vector resp. matrix Y such
2229 that A * Y = X, approximately.
2230 * s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution):
2231 Implement using Forward_Eliminate and Back_Substitute
2232 * a-ngcoar.adb: Reimplement in pure Ada to remove dependencies
2233 on BLAS and LAPACK.
2234 * a-ngcoar.ads ("abs"): Fix return type to be real.
2235
574ec945
EB
22362011-10-13 Eric Botcazou <ebotcazou@adacore.com>
2237
2238 PR ada/50589
2239 * s-linux-alpha.ads: Do not "with" Interfaces.C.
2240 * s-linux-sparc.ads: Likewise.
2241
8668ea36
GB
22422011-10-13 Geert Bosch <bosch@adacore.com>
2243
2244 * s-gearop.ads (Forward_Eliminate): Add "abs" formal function
2245 returning a Real.
2246 * s-gearop.adb (Forward_Eliminate): Remove local "abs" function
2247 and use formal.
2248 * a-ngrear.adb (Forward_Eliminate): Adjust instantiation for
2249 new profile.
2250
edcf5983
GB
22512011-10-13 Geert Bosch <bosch@adacore.com>
2252
2253 * a-ngrear.adb, s-gearop.adb, s-gearop.ads (Sqrt): Make generic and
2254 move to System.Generic_Array_Operations.
2255
a4935dea
GB
22562011-10-13 Geert Bosch <bosch@adacore.com>
2257
2258 * a-ngrear.adb ("abs"): Adjust for modified L2_Norm generic
2259 * s-gearop.ads (L2_Norm): Change profile to be suitable for
2260 Complex_Vector
2261 * s-gearop.adb (L2_Norm): Reimplement using direct definition,
2262 not inner product
2263
3e7302c3
AC
22642011-10-13 Robert Dewar <dewar@adacore.com>
2265
2266 * exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_type.adb,
2267 prj-proc.adb, exp_ch9.adb, s-regpat.adb, sem_ch10.adb, sem_prag.adb,
2268 sem_ch12.adb, freeze.adb, sem_attr.adb, sem_attr.ads, gnatlink.adb,
2269 par-ch6.adb, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb,
2270 par-util.adb, sem_ch13.adb, lib-xref.adb, g-trasym.adb, g-trasym.ads,
2271 exp_aggr.adb, s-taprop-posix.adb: Minor reformatting.
2272
22732011-10-13 Geert Bosch <bosch@adacore.com>
2274
2275 * s-gearop.adb: Minor comment additions.
2276
8417f4b2
AC
22772011-10-13 Fedor Rybin <frybin@adacore.com>
2278
2279 * gnat_ugn.texi: Add gnattest section.
2280
22812011-10-13 Ed Schonberg <schonberg@adacore.com>
2282
2283 * freeze.adb: Do not create body of renaming if declaration has
2284 errors.
2285
22862011-10-13 Olivier Hainque <hainque@adacore.com>
2287
2288 * init.c (__gnat_error_handler - vxworks case): Restrict sigtramp calls
2289 further, to the ppc+kernel case only.
2290
22912011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
2292
2293 * exp_ch4.adb (Expand_N_Allocator): Comment reformatting.
2294 * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
2295 Do not create a pool formal on .NET/JVM.
2296 (Expand_N_Extended_Return_Statement): Alphabetize local
2297 variables. Do not create a renaming of the build-in-place pool
2298 parameter on .NET/JVM. (Make_Build_In_Place_Call_In_Allocator):
2299 Add the user-defined pool only on non-VM targets.
2300 (Make_Build_In_Place_Call_In_Object_Declaration): Alphabetize
2301 local variables. Do not add a pool actual on .NET/JVM.
2302 * sem_ch6.adb: Add with and use clause for Targparm.
2303 (Create_Extra_Formals): Add build-in-place pool formal only on
2304 non-VM targets.
2305 * rtsfind.ads: Alphabetize entries.
2306
4674dd21
AC
23072011-10-13 Sergey Rybin <rybin@adacore.com>
2308
2309 * gnat_ugn.texi: Minor correction.
2310
23112011-10-13 Ed Schonberg <schonberg@adacore.com>
2312
2313 * sem_ch8.adb: Minor error message improvement.
2314
23152011-10-13 Robert Dewar <dewar@adacore.com>
2316
2317 * a-cbprqu.adb, a-ciorma.adb, exp_ch3.adb: Minor reformatting.
2318
95aeda79
GD
23192011-10-13 Gary Dismukes <dismukes@adacore.com>
2320
2321 * exp_ch5.adb (Expand_N_Loop_Statement): For the transformation
2322 of a for loop for an enumeration type with an enumeration rep
2323 clause, which involves moving the original loop parameter into
2324 a nested block, the loop parameter's entity must be removed from
2325 the entity list of the loop scope.
2326
200b7162
BD
23272011-10-13 Bob Duff <duff@adacore.com>
2328
2329 * exp_ch6.ads (BIP_Storage_Pool): New "extra implicit parameter"
2330 that gets passed in the same cases where BIP_Alloc_Form is passed
2331 (caller-unknown-size results). BIP_Storage_Pool is used when
2332 BIP_Alloc_Form = User_Storage_Pool. In that case, a pointer
2333 to the user-defined storage pool is passed at the call site,
2334 and this pool is used in callee to allocate the result.
2335 * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): New
2336 version of Add_Alloc_Form_Actual_To_Build_In_Place_Call. Passes
2337 the additional BIP_Storage_Pool actual.
2338 (Expand_N_Extended_Return_Statement): Allocate the function
2339 result using the user-defined storage pool, if BIP_Alloc_Form =
2340 User_Storage_Pool.
2341 * sem_ch6.adb: Add the "extra formal" for BIP_Storage_Pool.
2342 * exp_ch4.adb: Don't overwrite storage pool set by
2343 Expand_N_Extended_Return_Statement.
2344 * s-stopoo.ads, rtsfind.ads (Root_Storage_Pool_Ptr): New type,
2345 for use in build-in-place function calls within allocators
2346 where the access type has a user-defined storage pool.
2347
9f8d1e5c
AC
23482011-10-13 Sergey Rybin <rybin@adacore.com>
2349
2350 * gnat_ugn.texi, vms_data.ads: Add an option to control enumeration
2351 literal casing.
2352
23532011-10-13 Nicolas Roche <roche@adacore.com>
2354
be7552fc
EB
2355 * gnatlink.adb: Ensure that -mrtp is passed when runtime name ends
2356 with 'rtp'.
9f8d1e5c
AC
2357
23582011-10-13 Ed Schonberg <schonberg@adacore.com>
2359
be7552fc
EB
2360 * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Take into
2361 account that an unchecked union type can be limited.
9f8d1e5c
AC
2362
23632011-10-13 Olivier Hainque <hainque@adacore.com>
2364
2365 * init.c (__gnat_error_handler) <VxWorks version>: Add comments on
2366 the use of the signal trampoline for PPC in the sjlj case as well.
2367 Add legitimate casts, preventing compile time warnings on the
2368 (sighandler *) profile.
2369
23702011-10-13 Yannick Moy <moy@adacore.com>
2371
be7552fc
EB
2372 * sem_aggr.adb (Resolve_Aggr_Expr): Always perform semantic analysis
2373 in Alfa mode.
9f8d1e5c
AC
2374
23752011-10-13 Ed Schonberg <schonberg@adacore.com>
2376
2377 * sem_ch3.adb (OK_For_Limited_Init_In_05): Conditional and case
2378 expressions are legal limited return values if each one of their
2379 dependent expressions are legal.
2380
23812011-10-13 Ed Schonberg <schonberg@adacore.com>
2382
2383 * sem_ch6.adb (Analyze_Procedure_Call_Statement): In Ada 2012 mode,
2384 if the prefix of the call is a qualified expression, rewrite as
2385 a code statement.
2386 * sem_ch13.adb (Analyze_Code_Statement): In Ada 2012 mode, the
2387 code statement is legal if it is a rewriting of a procedure call.
2388
23892011-10-13 Ed Schonberg <schonberg@adacore.com>
2390
2391 * exp_aggr.adb (Flatten): If a component association has a box,
2392 assume that aggregate is not static.
2393 (Safe_Aggregate): If a component association in a non-limited
2394 aggregate has a box, assume that it cannot be expanded in place.
2395
23962011-10-13 Vincent Celier <celier@adacore.com>
2397
2398 * prj-conf.adb (Get_Or_Create_Configuration_File): Call
2399 Process_Project_Tree_Phase_1 with Packages_To_Check.
2400 (Process_Project_And_Apply_Config): Ditto
2401 * prj-part.ads, prj-part.adb, prj-pars.ads, prj-pars.adb (Parse):
2402 Remove default for argument Packages_To_Check.
2403 * prj-proc.adb (Recursive_Process): New argument
2404 Packages_To_Check.
2405 (Process): Ditto.
2406 (Process_Project_Tree_Phase_1): Ditto.
2407 (Recursive_Project.Process_Aggregated_Projects): Call
2408 Prj.Part.Parse and Process_Project_Tree_Phase_1 with
2409 Packages_To_Check.
2410 * prj-proc.ads (Process): New argument Packages_To_Check
2411 (Process_Project_Tree_Phase_1): Ditto
2412
46f8e1ac
AC
24132011-10-13 Arnaud Charlet <charlet@adacore.com>
2414
2415 * gcc-interface/Makefile.in: Fix typo.
2416
8097203f
AC
24172011-10-13 Ed Schonberg <schonberg@adacore.com>
2418
2419 * sem_ch12.adb (Analyze_Formal_{Floating_Type,
2420 Signed_Integer_Type, Decimal_Fixed_Point_Type, Discrete_Type}):
2421 Use sloc of defining identifier of farmal type declaration,
2422 as sloc of generated internal entity, to prevent misplaced
2423 references in ali.
2424
24252011-10-13 Ed Schonberg <schonberg@adacore.com>
2426
2427 * sem_intr.adb (Check_Intrinsic_Operator): Check that type
2428 is fully defined before checking that it is a numeric type.
2429
24302011-10-13 Ed Schonberg <schonberg@adacore.com>
2431
2432 * sem_aggr.adb (Resolve_Record_Aggregate): If a component
2433 association for component X has a box, then X is covered in the
2434 aggregate even if there is not default value for X in the type
2435 declaration, and X has to be default-initialized.
2436
24372011-10-13 Ed Schonberg <schonberg@adacore.com>
2438
be7552fc
EB
2439 * sem_attr.adb (Check_Enum_Image, Analyze_Attribute case 'Value): Mark
2440 literals as referenced only if reference is in current source unit.
8097203f
AC
2441
24422011-10-13 Matthew Heaney <heaney@adacore.com>
2443
2444 * a-csquin.ads (Enque, Dequeue): Mark interface operations as entries.
2445
24462011-10-13 Olivier Hainque <hainque@adacore.com>
2447
2448 * sigtramp.h: New file. Prototype and spec of the signal
2449 trampoline to be called by an established handler to provide
2450 dwarf call frame info before the real signal processing code.
2451 * sigtramp-ppcvxw.c: New file. Implementation of the signal
2452 trampoline for ppc-vxworks.
2453 * init.c (vxworks section): Use it for ppc.
2454
e192a2cd
AC
24552011-10-13 Thomas Quinot <quinot@adacore.com>
2456
2457 * par-ch2.adb, par.adb, par-util.adb, par-ch3.adb
2458 (Check_Future_Identifier): New subprogram,
2459 factors duplicated code from Par.Ch2.P_Identifier and
2460 Par.Ch3.P_Defining_Identifier.
2461
24622011-10-13 Thomas Quinot <quinot@adacore.com>
2463
2464 * s-taprop-posix.adb (Initialize): Always raise Storage_Error
2465 if we fail to initialize CV attributes or CV.
2466
24672011-10-13 Thomas Quinot <quinot@adacore.com>
2468
2469 * s-tasren.adb (Timed_Selective_Wait, case
2470 Accept_Alternative_Selected): Use Defer_Abort_Nestable, since
2471 we know abortion is already deferred.
2472
24732011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
2474
2475 * exp_ch3.adb (Build_Class_Wide_Master): Moved to exp_ch9.
2476 (Build_Master_Renaming (function)): Removed.
2477 (Build_Master_Renaming (procedure)): Moved to exp_ch9.
2478 (Expand_Full_Type_Declaration): Alphabetize
2479 variables. Reformatting of code and comments. Rewrite the
2480 section on processing of anonymous access-to-task types in
2481 record components.
2482 * exp_ch3.ads (Build_Class_Wide_Master): Moved to exp_ch9.
2483 (Build_Master_Renaming): Moved to exp_ch9.
2484 * exp_ch9.adb (Build_Class_Wide_Master): Moved from exp_ch3.
2485 (Build_Master_Entity): Add formal parameter
2486 Use_Current. Reformatting of code and comments.
2487 (Build_Master_Renaming): Moved from exp_ch3.
2488 * exp_ch9.ads (Build_Class_Wide_Master): Moved from
2489 exp_ch3. Update comment on usage.
2490 (Build_Master_Entity):
2491 Add formal parameter Use_Current. Update comment on usage.
2492 (Build_Master_Renaming): Moved from exp_ch3.
2493 * sem_ch3.adb (Access_Definition): Remove redundant code to
2494 create a _master and a renaming.
2495
24962011-10-13 Ed Schonberg <schonberg@adacore.com>
2497
2498 * lib-xref.adb: Do no emit reference to overridden operation,
2499 if it is internally generated.
2500
25012011-10-13 Vincent Celier <celier@adacore.com>
2502
2503 * bindgen.adb: Remove any processing related to g-trasym
2504 * Makefile.rtl: Add g-trasym.o to GNATRTL_NONTASKING_OBJS
2505 * mlib-prj.adb: Remove any processing related to g-trasym.
2506
0cfaf83f
EB
25072011-10-12 Eric Botcazou <ebotcazou@adacore.com>
2508
2509 * sem_util.adb (Denotes_Same_Prefix): Fix fatal warning.
2510 * gcc-interface/Make-lang.in (WARN_ADAFLAGS): New.
2511 (ALL_ADAFLAGS): Include WARN_ADAFLAGS.
2512 (ADA_FLAGS_TO_PASS): Likewise.
2513 (COMMON_FLAGS_TO_PASS): New.
2514 (ADA_TOOLS_FLAGS_TO_PASS): Use COMMON_FLAGS_TO_PASS. In the regular
2515 native case, also use FLAGS_TO_PASS and ADA_FLAGS_TO_PASS.
2516 (gnatlib): Use COMMON_FLAGS_TO_PASS.
2517 (ada.install-common): Likewise.
2518 (install-gnatlib): Likewise.
2519 (install-gnatlib-obj): Likewise.
2520 (gnattools): Use ADA_TOOLS_FLAGS_TO_PASS for gnattools1 as well.
2521 (gnat-cross): Delete.
2522 (gnatboot): Likewise.
2523 (gnatboot2): Likewise.
2524 (gnatboot3): Likewise.
2525 (gnatstage1): Likewise.
2526 (gnatstage2): Likewise.
2527 * gcc-interface/Makefile.in (SOME_ADAFLAGS): Likewise.
2528 (MOST_ADAFLAGS): Likewise.
2529 (LOOSE_CFLAGS): Likewise.
2530 (gnat-cross): Likewise.
2531 (GNATLIBFLAGS): Add -W -Wall.
2532 (GNATLIBCFLAGS_FOR_C): Likewise.
2533 * gcc-interface/lang.opt: Remove C-specific warnings. Add doc lines.
2534 * gcc-interface/misc.c (gnat_handle_option): Remove obsolete cases.
2535
722356ce
EB
25362011-10-12 Eric Botcazou <ebotcazou@adacore.com>
2537
2538 * gcc-interface/trans.c (Attribute_to_gnu): Use remove_conversions.
2539 (push_range_check_info): Likewise.
2540 (gnat_to_gnu) <N_Code_Statement>: Likewise.
2541 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
2542 (gnat_invariant_expr): Likewise.
2543 * gcc-interface/utils.c (compute_related_constant): Likewise.
2544 (max_size): Fix handling of SAVE_EXPR.
2545 (remove_conversions): Fix formatting.
2546
15bf7d19
EB
25472011-10-12 Eric Botcazou <ebotcazou@adacore.com>
2548
2549 * gcc-interface/ada-tree.h (DECL_LOOP_PARM_P): New flag.
2550 (DECL_INDUCTION_VAR): New macro.
2551 (SET_DECL_INDUCTION_VAR): Likewise.
2552 * gcc-interface/gigi.h (convert_to_index_type): Declare.
2553 (gnat_invariant_expr): Likewise.
2554 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If this is a loop
2555 parameter, set DECL_LOOP_PARM_P on it.
2556 * gcc-interface/misc.c (gnat_print_decl) <VAR_DECL>: If DECL_LOOP_PARM_P
2557 is set, print DECL_INDUCTION_VAR instead of DECL_RENAMED_OBJECT.
2558 * gcc-interface/trans.c (gnu_loop_label_stack): Delete.
2559 (struct range_check_info_d): New type.
2560 (struct loop_info_d): Likewise.
2561 (gnu_loop_stack): New stack.
2562 (Identifier_to_gnu): Set TREE_READONLY flag on the first dereference
2563 built for a by-double-ref read-only parameter. If DECL_LOOP_PARM_P
2564 is set, do not test DECL_RENAMED_OBJECT.
2565 (push_range_check_info): New function.
2566 (Loop_Statement_to_gnu): Push a new struct loop_info_d instead of just
2567 the label. Reference the label and the iteration variable from it.
2568 Build the special induction variable in the unsigned version of the
2569 size type, if it is larger than the base type. And attach it to the
2570 iteration variable if the latter isn't by-ref. In the iteration scheme
2571 case, initialize the invariant conditions in front of the loop if
2572 deemed profitable. Use gnu_loop_stack.
2573 (gnat_to_gnu) <N_Exit_Statement>: Use gnu_loop_stack.
2574 <N_Raise_Constraint_Error>: Always process the reason. In the range
2575 check and related cases, and if loop unswitching is enabled, compute
2576 invariant conditions and push this information onto the stack.
2577 Do not translate again the condition if it has been already translated.
2578 * gcc-interface/utils.c (record_global_renaming_pointer): Assert that
2579 DECL_LOOP_PARM_P isn't set.
2580 (convert_to_index_type): New function.
2581 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Use it in order
2582 to convert the index from the base index type to sizetype.
2583 (gnat_invariant_expr): New function.
2584
e79983f4
MM
25852011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2586
2587 * gcc-interface/utils.c (def_builtin_1): Delete old interface with
2588 two parallel arrays to hold standard builtin declarations, and
2589 replace it with a function based interface that can support
15bf7d19 2590 creating builtins on the fly in the future.
e79983f4
MM
2591 * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Ditto.
2592 (gnat_to_gnu): Ditto.
2593
228ee426
EB
25942011-10-07 Eric Botcazou <ebotcazou@adacore.com>
2595
2596 PR lto/50492
2597 * gcc-interface/gigi.h (gnat_pushdecl): Adjust comment.
2598 * gcc-interface/utils.c (global_context): New variable.
2599 (gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs
2600 that are either public external or at top level. Use "No" macro.
2601 (end_subprog_body): Call decl_function_context.
2602 (rest_of_subprog_body_compilation): Likewise.
2603
71196d4e
EB
26042011-10-07 Eric Botcazou <ebotcazou@adacore.com>
2605
2606 * gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
2607 (rest_of_subprog_body_compilation): Likewise.
2608 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming,
2609 test for useless conversions by means of gnat_useless_type_conversion.
2610 * gcc-interface/trans.c: Include bitmap.h and cgraph.h.
2611 (language_function): Add named_ret_val and other_ret_val.
2612 (f_named_ret_val): New macro.
2613 (f_other_ret_val): Likewise.
2614 (gigi): Call rest_of_subprog_body_compilation.
2615 (struct nrv_data): New structure.
2616 (is_nrv_p): New predicate.
2617 (prune_nrv_r): New helper function.
2618 (prune_nrv_in_block): New function.
2619 (finalize_nrv_r): New helper function.
2620 (finalize_nrv): New function.
2621 (return_value_ok_for_nrv_p): New predicate.
2622 (build_return_expr): If optimization is enabled, record candidates for
2623 the Named Return Value optimization.
2624 (build_function_stub): Call rest_of_subprog_body_compilation.
2625 (Subprogram_Body_to_gnu): If optimization is enabled and there are
2626 candidates, finalize the Named Return Value optimization.
2627 Call rest_of_subprog_body_compilation.
2628 (call_to_gnu): At the end, if a return value is needed, simplify the
2629 result before wrapping it up in a COMPOUND_EXPR.
2630 * gcc-interface/utils.c (end_subprog_body): Split into...
2631 (rest_of_subprog_body_compilation): ...this. New function.
2632 (gnat_useless_type_conversion): Likewise.
2633
885c4871
AC
26342011-10-06 Thomas Quinot <quinot@adacore.com>
2635
2636 * einfo.ads, exp_attr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb,
2637 exp_ch9.adb, exp_ch9.ads, exp_strm.adb, exp_util.adb, freeze.adb,
2638 g-debpoo.ads, opt.ads, par-ch12.adb, par-ch2.adb, par-ch3.adb,
2639 par-ch5.adb, par-ch6.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
2640 sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
2641 sem_ch6.adb, sem_intr.adb, sem_res.ads, sem_type.adb, sem_util.adb,
2642 s-regpat.adb, s-tpopde-vms.ads: Minor reformatting.
2643 * s-osinte-freebsd.ads: Fix for tasking failures on FreeBSD.
2644
26452011-10-06 Ed Schonberg <schonberg@adacore.com>
2646
2647 * a-cihase.adb, a-ciorma.adb: Avoid accessibility checks in container
2648 references.
2649
26502011-10-06 Matthew Heaney <heaney@adacore.com>
2651
2652 * a-cuprqu.ads, a-cuprqu.adb, a-cbprqu.ads, a-cbprqu.adb
2653 (Dequeue_Only_High_Priority): Protected procedure now implemented.
2654
26552011-10-06 Vincent Celier <celier@adacore.com>
2656
2657 * g-trasym.adb: Replace old implementation with the default
2658 implementation that returns list of addresses as "0x...".
2659 * g-trasym.ads: Update the list of platforms with the full
2660 capability. Indicate that there is a default implementation
2661 for other platforms.
2662 * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: Remove.
2663 * gcc-interface/Makefile.in: Remove g-trasym-unimplemented, as there
2664 is now a default implementation for all platforms without the full
2665 capability.
2666
ce72a9a3
AC
26672011-10-06 Robert Dewar <dewar@adacore.com>
2668
2669 * a-ciorse.adb, a-cihase.adb, a-cihase.ads, a-coorse.adb,
2670 a-cborse.adb, a-comutr.adb, a-ciorma.adb, a-cbmutr.adb,
2671 a-cbmutr.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting and code
2672 reorganization (use conditional expressions).
2673
26742011-10-06 Robert Dewar <dewar@adacore.com>
2675
2676 * sem_res.adb (Resolve_Arithmetic_Op): Fix bad warning for
2677 floating divide by zero.
2678
26792011-10-06 Ed Schonberg <schonberg@adacore.com>
2680
2681 * sem_ch6.adb: Limited interfaces that are not immutably limited
2682 are OK in return statements.
2683
a912d7d9
IS
26842011-09-30 Iain Sandoe <iains@gcc.gnu.org>
2685
2686 * gcc-interface/Makefile.in (Darwin): Partial reversion of previous
2687 change to powerpc section.
2688
39ffb1f9
IS
26892011-09-29 Iain Sandoe <iains@gcc.gnu.org>
2690
2691 * gcc-interface/Makefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS
2692 across the port.
2693
ffb35bbf
ES
26942011-09-27 Ed Schonberg <schonberg@adacore.com>
2695
2696 * a-cbhase.adb, a-cbhase.ads, a-cborse.adb, a-cborse.ads,
2697 a-cihase.adb, a-cihase.ads, a-ciorse.adb, a-ciorse.ads,
2698 a-coorse.adb, a-coorse.ads: Add iterator machinery to bounded sets and
2699 indefinite sets.
2700 * a-coorma.ads: Minor reformmating.
2701 * einfo.ads: Improve the comment describing the
2702 Directly_Designated_Type function.
2703 * a-ciorma.adb, a-ciorma.ads: Add iterator machinery to indefinite
2704 ordered maps.
2705 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
2706 dependencies.
2707
da124b6a
AC
27082011-09-27 Robert Dewar <dewar@adacore.com>
2709
2710 * a-comutr.ads: Minor reformatting.
2711
27122011-09-27 Ed Schonberg <schonberg@adacore.com>
2713
2714 * a-cimutr.adb, a-cimutr.ads, a-cbmutr.adb, a-cbmutr.ads: Add children
2715 iterators to multiway trees.
2716
27172011-09-27 Yannick Moy <moy@adacore.com>
2718
2719 * debug.adb (d.D): New option for strict Alfa mode.
2720 * opt.ads (Strict_Alfa_Mode): New flag to interpret compiler
2721 permissions as strictly as possible.
2722 * sem_ch3.adb (Signed_Integer_Type_Declaration): In non-strict
2723 Alfa mode, now, interpret ranges of base types like GNAT does; in
2724 strict mode, simply change the range of the implicit base Itype.
2725 * gnat1drv.adb: Update comments. Set Strict_Alfa_Mode.
2726
706a4067
AC
27272011-09-27 Robert Dewar <dewar@adacore.com>
2728
2729 * exp_ch9.adb: Minor comment fixes.
2730
27312011-09-27 Ed Schonberg <schonberg@adacore.com>
2732
2733 * a-comutr.adb, a-comutr.ads: Add children iterators on multiway
2734 trees.
2735
05c1e7d2
AC
27362011-09-27 Eric Botcazou <ebotcazou@adacore.com>
2737
2738 * checks.adb (Apply_Scalar_Range_Check): Use Designated_Type
2739 instead of Directly_Designated_Type in the indirect array case.
2740
27412011-09-27 Robert Dewar <dewar@adacore.com>
2742
2743 * exp_util.adb, exp_aggr.adb: Minor reformatting.
2744
65e78a74
AC
27452011-09-27 Ed Schonberg <schonberg@adacore.com>
2746
2747 * sinfo.ads, par-ch3.adb: Minor comment update: aspect specification
2748 on subtype declarations.
2749 * exp_aggr.adb: Minor comment update.
2750
27512011-09-27 Eric Botcazou <ebotcazou@adacore.com>
2752
2753 * exp_util.adb (Safe_Prefixed_Reference): Remove always-false
2754 test in the N_Explicit_Dereference case. Fold double logical
2755 negation in the special loop case and conditionalize it on
2756 Variable_Ref being true.
2757
27582011-09-27 Ed Schonberg <schonberg@adacore.com>
2759
2760 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is a
2761 single protected object and the selector is a discriminant or an
2762 entry family, this is a non-overloaded candidate interpretation,
2763 and possible primitive operations of the type must not be
2764 examined.
2765
27662011-09-27 Arnaud Charlet <charlet@adacore.com>
2767
2768 * s-taspri-posix-noaltstack.ads (Lock): Mark fields aliased.
2769
6f5add73
AC
27702011-09-27 Pascal Obry <obry@adacore.com>
2771
2772 * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
2773 s-osinte-irix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads:
2774 Add dummy definitions for pthread_rwlock_t
2775 and pthread_rwlockattr_t on all POSIX platforms.
2776 * s-taprop-irix.adb, s-taprop-posix.adb (Initialize_Lock): Fix lock
2777 reference.
2778 (Finalize_Lock): Likewise.
2779 (Write_Lock): Likewise.
2780 (Unlock): Likewise.
2781
27822011-09-27 Tristan Gingold <gingold@adacore.com>
2783
2784 * s-tassta.adb (Task_Wrapper): Increase Guard_Page_Size value for
2785 windows 64.
2786
64a63cd5
PO
27872011-09-27 Pascal Obry <obry@adacore.com>
2788
2789 * s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taspri-vxworks.ads,
2790 s-taprop-tru64.adb, s-osinte-aix.ads, s-taspri-posix-noaltstack.ads,
2791 s-taspri-mingw.ads, s-taprop-vms.adb, s-tpoben.adb, s-tpoben.ads,
2792 s-taprop-mingw.adb, s-taprob.adb, s-taprob.ads,
2793 s-osinte-solaris-posix.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
2794 s-osinte-irix.ads, s-taprop-irix.adb, s-osinte-darwin.ads,
2795 s-taspri-dummy.ads, s-taspri-posix.ads, s-taprop.ads,
2796 s-taspri-vms.ads, s-osinte-freebsd.ads, s-taprop-hpux-dce.adb,
2797 s-taspri-hpux-dce.ads, s-taspri-tru64.ads, s-taprop-dummy.adb,
2798 s-taprop-posix.adb: Revert previous changes.
2799 (Lock): Now a record containing the two possible lock
2800 (mutex and read/write) defined in OS_Interface.
2801 * s-taprop-linux.adb (Finalize_Protection): Use r/w lock for
2802 'R' locking policy.
2803 (Initialize_Protection): Likewise.
2804 (Lock): Likewise.
2805 (Lock_Read_Only): Likewise.
2806 (Unlock): Likewise.
2807
f672a756
AC
28082011-09-27 Pascal Obry <obry@adacore.com>
2809
2810 * s-taspri-posix-noaltstack.ads (RW_Lock): This type is now defined as
2811 OS_Interface.pthread_rwlock_t.
2812
28132011-09-27 Robert Dewar <dewar@adacore.com>
2814
2815 * exp_ch9.adb, a-cimutr.adb, a-cimutr.ads, gnat1drv.adb, a-comutr.adb,
2816 a-comutr.ads, exp_dist.adb, a-cbmutr.adb, a-cbmutr.ads,
2817 sem_ch5.adb, sem_util.adb: Minor reformatting.
2818
7a44cb69
PO
28192011-09-27 Pascal Obry <obry@adacore.com>
2820
2821 * s-taprop.ads (Initialize_Lock)[RW_Lock]: New spec for r/w lock.
2822 (Finalize_Lock)[RW_Lock]: Likewise.
2823 (Write_Lock)[RW_Lock]: Likewise.
2824 (Unlock)[RW_Lock]: Likewise.
2825 (Read_Lock): Define L as RW_Lock (instead of Lock).
2826 * s-taprop-linux.adb (Initialize_Lock)[RW_Lock]: New
2827 routine for r/w lock.
2828 (Finalize_Lock)[RW_Lock]: Likewise.
2829 (Write_Lock)[RW_Lock]: Likewise.
2830 (Unlock)[RW_Lock]: Likewise.
2831 (Read_Lock): Define L as RW_Lock (instead of Lock).
2832
2833 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
2834 s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-irix.adb,
2835 s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
2836 (Initialize_Lock)[RW_Lock]: Same implementation as corresponding
2837 routine for standard lock.
2838 (Finalize_Lock)[RW_Lock]: Likewise.
2839 (Write_Lock)[RW_Lock]: Likewise.
2840 (Unlock)[RW_Lock]: Likewise.
2841 (Read_Lock): Define L as RW_Lock (instead of Lock).
2842 * s-taprob.ads, s-tpoben.ads (Protection): Add RWL (RW_Lock)
2843 in the record definition.
2844 * s-taprob.adb, s-taproben.adb (Finalize_Protection): Use r/w
2845 lock for 'R' locking policy.
2846 (Initialize_Protection): Likewise.
2847 (Lock): Likewise.
2848 (Lock_Read_Only): Likewise.
2849 (Unlock): Likewise.
2850 * s-taspri-posix.ads (RW_Lock): New type defined as
2851 OS_Interface.pthread_rwlock_t.
2852
2853 * s-taspri-vxworks.ads, s-taspri-posix-noaltstack.ads,
2854 s-taspri-mingw.ads, s-taspri-solaris.ads, s-taspri-dummy.ads,
2855 s-taspri-posix.ads, s-taspri-vms.ads, s-taspri-hpux-dce.ads,
2856 s-taspri-tru64.ads (RW_Lock): New type defined as alias to Lock.
2857
4c173b50
PO
28582011-09-27 Pascal Obry <obry@adacore.com>
2859
2860 * exp_ch9.adb, s-taspri-posix.ads: Minor reformatting.
2861
28622011-09-27 Pascal Obry <obry@adacore.com>
2863
2864 * s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
2865 s-osinte-hpux.ads, s-osinte-irix.ads,
2866 s-osinte-solaris-posix.ads (pthread_rwlock_t): New definition alias of
2867 pthread_mutex_t.
2868 (pthread_rwlockattr_t): New definition alias of pthread_mutexattr_t.
2869 * s-osinte-linux.ads (pthread_rwlock_t, pthread_rwlockattr_t,
2870 pthread_rwlockattr_init, pthread_rwlockattr_destroy,
2871 pthread_rwlockattr_setkind_np, pthread_rwlock_init,
2872 pthread_rwlock_destroy, pthread_rwlock_rdlock,
2873 pthread_rwlock_wrlock, pthread_rwlock_unlock): New.
2874
343250a6
PO
28752011-09-27 Pascal Obry <obry@adacore.com>
2876
2877 * rtsfind.ads: Add RE_Lock_Read_Only into rtsfind circuitry.
2878 (RE_Id): Add RE_Lock_Read_Only.
2879 (RE_Unit_Table): Likewise.
2880 * sem_prag.adb (Process_Convention): Change Pragma_Locking_Policy
2881 to lift restriction on first character. Handle now the
2882 Name_Concurrent_Readers_Locking where policy character is set to
2883 'R'.
2884 * snames.ads-tmpl (Name_Concurrent_Readers_Locking): New
2885 constant.
2886 * exp_ch9.adb (Build_Protected_Subprogram_Body): Generate a
2887 read only lock for function in protected object.
2888 * s-taprob.ads (Lock_Read_Only): Remove obsolete comment as
2889 this routine is now used.
2890
2d0dd51a
EB
28912011-09-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2892
2893 * s-atocou-x86.adb (Decrement): Use %;.
2894 (Increment): Likewise.
2895
bdbebf66
EB
28962011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2897
2898 * gcc-interface/utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the
2899 dereference of the pointer to the storage area. Remove useless type
2900 conversions and factor out common code.
2901
1aa291f7
EB
29022011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2903
2904 * gcc-interface/utils.c (maybe_unconstrained_array): Declare TYPE local
2905 variable and use it throughout.
2906 <UNCONSTRAINED_ARRAY_TYPE>: Add 'break' at the end.
2907 <RECORD_TYPE>: Do not unconditionally convert to the unpadded type as a
2908 first step. Also convert to the unpadded type as a last step.
2909
7d76717d
EB
29102011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2911
2912 * gcc-interface/gigi.h (create_subprog_decl): Replace TREE_CHAIN with
2913 DECL_CHAIN in comment.
2914 * gcc-interface/trans.c (gigi): Likewise.
2915 (Attribute_to_gnu): Likewise.
2916 (build_function_stub): Likewise.
2917 (gnat_to_gnu): Likewise.
2918 * gcc-interface/utils.c (create_subprog_decl): Likewise.
2919 (convert_vms_descriptor64): Likewise.
2920 (convert_vms_descriptor32): Likewise.
2921
42acad07
EB
29222011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2923
2924 * gcc-interface/trans.c (assoc_to_constructor): Minor tweaks.
2925 * gcc-interface/utils2.c (build_simple_component_ref): Fix formatting
2926 issues. Use COMPLETE_TYPE_P in assertion. Also set TREE_READONLY if
2927 the type of the record is TYPE_READONLY.
2928
a1d72281
EB
29292011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2930 Robert Dewar <dewar@adacore.com>
2931
2932 * sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN
2933 OUT formal parameter which is of an null-exclusion access subtype.
2934
a1c7d797
EB
29352011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2936
2937 * gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
2938 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Set the flag.
2939 (gnat_to_gnu_param): Likewise.
2940 * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Invoke
2941 maybe_unconstrained_array instead of doing the work manually.
2942 (maybe_unconstrained_array): Propagate the TREE_THIS_NOTRAP flag.
2943 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: If operand
2944 is a DECL with the flag, set TREE_THIS_NOTRAP on the reference.
2945 (gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.
2946 (gnat_stabilize_reference): Likewise.
2947
50179d58
EB
29482011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2949
2950 * gcc-interface/ada-tree.h (TYPE_NULL_BOUNDS): New macro.
2951 (SET_TYPE_NULL_BOUNDS): Likewise.
2952 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set again
2953 TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
2954 * gcc-interface/trans.c (Identifier_to_gnu): Return initializers of fat
2955 pointer types.
2956 * gcc-interface/utils.c (create_var_decl_1): If the object is external,
2957 check that the initializer is a valid constant expression for use in
2958 initializing a static variable. Add missing guard.
2959 (update_pointer_to): Adjust TYPE_NULL_BOUNDS if set.
2960 (convert_to_fat_pointer): In the null fat pointer case, build a valid
2961 pointer for the bounds.
2962 * gcc-interface/utils2.c (compare_fat_pointers): New function.
2963 (build_binary_op) <EQ_EXPR>: Call it to compare fat pointers.
2964
ad1d36ba
EB
29652011-09-25 Eric Botcazou <ebotcazou@adacore.com>
2966
2967 * gcc-interface/ada-tree.h (TREE_THIS_NOTRAP): Redefine.
2968 * gcc-interface/trans.c (Identifier_to_gnu): Factor out common code in
2969 the by-ref case. Do not set TREE_READONLY on a renamed object. Set
2970 TREE_THIS_NOTRAP on UNCONSTRAINED_ARRAY_REF nodes.
2971 (Attribute_to_gnu) <Attr_Length>: Expand the use of the parameter cache
2972 to the indirect case.
2973 * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Preserve
2974 the TREE_THIS_NOTRAP flag.
2975
6162cec0
EB
29762011-09-25 Eric Botcazou <ebotcazou@adacore.com>
2977
2978 * gcc-interface/trans.c (Loop_Statement_to_gnu): In the case of an
2979 iteration scheme, always generate the do-while form if optimization
2980 is enabled. Use more straightforward test at the end.
2981
dee12fcd
EB
29822011-09-25 Eric Botcazou <ebotcazou@adacore.com>
2983
2984 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Subtype>: Use
2985 XNEW instead of xmalloc. Do not build useless pointer type.
2986 <E_Anonymous_Access_Subprogram_Type>: Use XNEW instead of xmalloc.
2987 * gcc-interface/trans.c (gnat_to_gnu) <N_Raise_Constraint_Error>: Tidy.
2988 * gcc-interface/utils2.c (build_unary_op): Remove local variable.
2989
dea976c4
EB
29902011-09-25 Eric Botcazou <ebotcazou@adacore.com>
2991
2992 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not promote
2993 the alignment if this doesn't prevent BLKmode access to the object.
2994
655ae828
IS
29952011-09-24 Iain Sandoe <iains@gcc.gnu.org>
2996
2997 * gcc-interface/Makefile.in (darwin): Do not issue the
2998 '-flat_namespace' linker flag during Ada build.
2999 * mlib-tgt-specific-darwin.adb: Remove '-flat_namespace' flag from the
3000 default shared library options.
3001
0e871c15
AO
30022011-09-19 Alexandre Oliva <aoliva@redhat.com>
3003
3004 * gcc-interface/decl.c (annotate_value): Look up expression for
3005 insertion in the cache at the end.
3006
1e6a52b4
AC
30072011-09-19 Arnaud Charlet <charlet@adacore.com>
3008
3009 * gcc-interface/Make-lang.in: Update dependencies.
3010
a3068ca6
AC
30112011-09-19 Steve Baird <baird@adacore.com>
3012
3013 * snames.ads-tmpl: Move declaration of Name_Annotate into range of
3014 configuration pragma names so that Is_Configuration_Pragma_Name
3015 will return True for Name_Annotate. Make corresponding change in
3016 Pragma_Id enumeration type. This is needed to allow an Annotate
3017 pragma to occur in a configuration pragma file (typically,
3018 a gnat.adc file).
3019 * gnat_ugn.texi: Add Annotate to the list of configuration pragmas.
3020 * gnat_rm.texi: Note that pragma Annotate may be used as a
3021 configuration pragma.
3022
30232011-09-19 Ed Schonberg <schonberg@adacore.com>
3024
3025 * a-cbmutr.adb, a-cbmutr.ads, a-cimutr.adb, a-cimutr.ads,
3026 a-comutr.adb, a-comutr.ads: Add iterator machinery for multiway trees.
3027
30282011-09-19 Yannick Moy <moy@adacore.com>
3029
3030 * exp_alfa.adb, exp_alfa.ads (Expand_Alfa_N_In): New function
3031 for expansion of set membership.
3032 (Expand_Alfa): Call expansion for N_In and N_Not_In nodes.
3033 * exp_ch4.adb, exp_ch4.ads (Expand_Set_Membership): Make procedure
3034 visible for use in Alfa expansion.
3035 * sem_ch5.adb (Analyze_Iterator_Specification): Introduce loop
3036 variable in Alfa mode.
3037
30382011-09-19 Thomas Quinot <quinot@adacore.com>
3039
3040 * s-osinte-darwin.ads: Change SIGADAABRT on Darwin to SIGABRT.
3041
30422011-09-19 Thomas Quinot <quinot@adacore.com>
3043
3044 * exp_ch9.adb: Minor reformatting.
3045
30462011-09-19 Hristian Kirtchev <kirtchev@adacore.com>
3047
3048 * freeze.adb (Build_Renamed_Body): Generic subprograms
3049 instantiations cannot be poperly inlined by the compiler, do
3050 not set the Body_To_Inline attribute in such cases.
3051 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Inherit all
3052 inlining-related flags from the generic subprogram declaration.
3053
30542011-09-19 Thomas Quinot <quinot@adacore.com>
3055
3056 * exp_dist.adb, rtsfind.ads, sem_util.adb, sem_util.ads
3057 (Build_Stub_Type): Remove, instead copy components from
3058 System.Partition_Interface.RACW_Stub_Type.
3059 (RPC_Receiver_Decl): Remainder of code from old Build_Stub_Type routine.
3060 (Copy_Component_List): New subprogram.
3061
30622011-09-19 Yannick Moy <moy@adacore.com>
3063
3064 * lib-xref.adb (Generate_Reference): Ignore references to
3065 constants in Standard.
3066
e7fceebc
AC
30672011-09-19 Robert Dewar <dewar@adacore.com>
3068
3069 * err_vars.ads, errout.ads: Minor reformatting.
3070
30712011-09-19 Robert Dewar <dewar@adacore.com>
3072
3073 * aspects.ads (Impl_Defined_Aspects): New array
3074 * lib-writ.adb (No_Dependences): New name for No_Dependence
3075 * restrict.adb (No_Dependences): New name for No_Dependence
3076 (Check_Restriction_No_Specification_Of_Aspect): New
3077 procedure.
3078 (Set_Restriction_No_Specification_Of_Aspect): New procedure
3079 (Restricted_Profile_Result): New variable
3080 (No_Specification_Of_Aspects): New variable
3081 (No_Specification_Of_Aspect_Warning): New variable
3082 * restrict.ads (No_Dependences): New name for No_Dependence
3083 (Check_Restriction_No_Specification_Of_Aspect): New procedure
3084 (Set_Restriction_No_Specification_Of_Aspect): New procedure
3085 * s-rident.ads: Add restriction
3086 No_Implementation_Aspect_Specifications, this is also added to
3087 the No_Implementation_Extensions profile.
3088 * sem_ch13.adb (Analyze_Aspect_Specifications): Check
3089 No_Implementation_Defined_Aspects
3090 (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
3091 * sem_prag.adb (Analyze_Aspect_Specifications): Check
3092 No_Implementation_Aspects
3093 (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
3094 * snames.ads-tmpl (Name_No_Specification_Of_Aspect): New name
3095
30962011-09-19 Yannick Moy <moy@adacore.com>
3097
3098 * lib-xref.adb (Generate_Reference): Take into account multiple
3099 renamings for Alfa refs.
3100
31012011-09-19 Thomas Quinot <quinot@adacore.com>
3102
3103 * g-socthi-mingw.adb: Minor reformatting.
3104
31052011-09-19 Yannick Moy <moy@adacore.com>
3106
3107 * gnat1drv.adb (Adjust_Global_Switches): Set tagged type
3108 expansion to False in mode Alfa
3109
31102011-09-19 Pascal Obry <obry@adacore.com>
3111
3112 * mingw32.h: Remove obsolete code needed for old versions
3113 of MingW.
3114
e5a163fc
RD
31152011-09-19 Robert Dewar <dewar@adacore.com>
3116
3117 * errout.ads: Minor reformatting.
3118
6d7e5c54
AC
31192011-09-19 Ed Schonberg <schonberg@adacore.com>
3120
3121 * sem_ch6.adb (Analyze_Expression_Function): When the expression
3122 function is transformed into a declaration and a body, insert
3123 body at the end of the declarative part, to prevent premature
3124 freeze actions, and preserve original specification in the
3125 subprogram declaration.
3126
31272011-09-19 Vincent Celier <celier@adacore.com>
3128
3129 * projects.texi: Minor editing.
3130
99ba07a3
AC
31312011-09-19 Robert Dewar <dewar@adacore.com>
3132
3133 * sem_aggr.adb, lib-writ.ads, s-restri.ads, sem_ch6.adb,
3134 exp_aggr.adb: Minor reformatting.
3135
31362011-09-19 Yannick Moy <moy@adacore.com>
3137
3138 * lib-xref.adb (Generate_Reference): Change entity referenced
3139 to underlying object if any, or else reference to the HEAP.
3140
41781043
AC
31412011-09-15 Arnaud Charlet <charlet@adacore.com>
3142
3143 * gcc-interface/Make-lang.in: Update dependencies.
3144
804ff4c3
AC
31452011-09-15 Robert Dewar <dewar@adacore.com>
3146
3147 * tree_io.ads: Minor reformatting.
3148 * a-intnam.ads: Fix bad header.
3149
31502011-09-15 Thomas Quinot <quinot@adacore.com>
3151
3152 * a-exexpr-gcc.adb: Minor reformatting.
3153
31542011-09-15 Yannick Moy <moy@adacore.com>
3155
3156 * sem_ch6.adb: Propagate information that an expression function comes
3157 from source (otherwise references to this entity are not stored).
3158
0b5b2bbc
AC
31592011-09-15 Robert Dewar <dewar@adacore.com>
3160
3161 * a-cdlili.adb, a-coinve.adb, a-stzunb-shared.ads, a-suezst.adb,
3162 a-suenco.adb, a-stwiun-shared.ads, a-cobove.adb, a-convec.adb,
3163 a-btgbso.adb, a-cbdlli.adb, a-suewst.adb: Minor reformatting.
3164
31652011-09-15 Ed Schonberg <schonberg@adacore.com>
3166
3167 * sem_ch6.adb (Analyze_Expression_Function): Code cleanup:
3168 if the expression function is not a completion, create a
3169 new specification for the generated declaration, and keep the
3170 original specification in the generated body. Shorter code also
3171 ensures that proper warnings are generated for unused formals
3172 in all cases.
3173
31742011-09-15 Sergey Rybin <rybin@adacore.com>
3175
3176 * tree_io.ads: Update ASIS_Version_Number because of the changes
3177 in the tree structures for expression functions.
3178
31792011-09-15 Arnaud Charlet <charlet@adacore.com>
3180
3181 * s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
3182 s-osinte-hpux.ads, s-osinte-lynxos.ads, s-osinte-solaris-posix.ads,
3183 s-taprop-posix.adb (CLOCK_MONOTONIC): New constant.
3184 (CLOCK_REALTIME): Fix wrong value on some OSes.
3185 * s-taprop-posix.adb (Monotonic_Clock): Use CLOCK_MONOTONIC.
3186
7e169899
EB
31872011-09-11 Eric Botcazou <ebotcazou@adacore.com>
3188
3189 * gcc-interface/utils.c (maybe_unconstrained_array): In the reference
3190 to unconstrained array case, deal with each branch of a COND_EXPR.
3191 * gcc-interface/utils2.c (build_allocator): Deal with each branch of
3192 a COND_EXPR in the initializer, if present.
3193
819a653e
EB
31942011-09-11 Eric Botcazou <ebotcazou@adacore.com>
3195
3196 * gcc-interface/decl.c (maybe_pad_type): Do not try to change the form
3197 of an addressable type.
3198 * gcc-interface/trans.c (gnat_gimplify_expr) <VIEW_CONVERT_EXPR>: New.
3199 Deal with those cases for which creating a temporary is mandatory.
3200
c946adde
EB
32012011-09-11 Eric Botcazou <ebotcazou@adacore.com>
3202
3203 * gcc-interface/trans.c (call_to_gnu): Use local variable. Make sure
3204 this is a real formal parameter before testing whether it is by ref.
3205
dddf8120
EB
32062011-09-11 Eric Botcazou <ebotcazou@adacore.com>
3207
3208 * gcc-interface/gigi.h (build_call_0_expr): Delete.
3209 (build_call_1_expr): Likewise.
3210 (build_call_2_expr): Likewise.
3211 (build_call_n_expr): New prototype.
3212 * gcc-interface/decl.c (gnat_to_gnu_entity): Use build_call_n_expr.
3213 * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Ditto.
3214 (Handled_Sequence_Of_Statements_to_gnu): Likewise.
3215 (Exception_Handler_to_gnu_zcx): Likewise.
3216 (gnat_to_gnu): Likewise.
3217 (build_binary_op_trapv): Likewise.
3218 * gcc-interface/utils2.c (build_call_0_expr): Delete.
3219 (build_call_1_expr): Likewise.
3220 (build_call_2_expr): Likewise.
3221 (build_call_n_expr): New function.
3222 (build_call_raise): Use build_call_n_expr.
3223 (build_call_raise_range): Likewise.
3224 (build_call_raise_column): Likewise.
3225 (build_call_alloc_dealloc_proc): Likewise.
3226 (maybe_wrap_malloc): Likewise.
3227 (maybe_wrap_free): Likewise.
3228
d8e38554
EB
32292011-09-11 Eric Botcazou <ebotcazou@adacore.com>
3230
3231 * gcc-interface/trans.c (build_return_expr): Use void_type_node for
3232 MODIFY_EXPR.
3233 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Assert that
3234 the result type is null if ENABLE_CHECKING. Set operation_type at the
3235 end unconditionally if not set in the previous cases.
3236 Use build2 and void_type_node for MODIFY_EXPR.
3237 (build_allocator): Use NULL_TREE for MODIFY_EXPR.
3238
416de7d5
EB
32392011-09-08 Eric Botcazou <ebotcazou@adacore.com>
3240
3241 * gcc-interface/utils.c (unchecked_convert): Use a field of the right
3242 precision when converting to or from an integral type whose precision
3243 is not equal to its size.
3244
88b76013
IS
32452011-09-08 Iain Sandoe <iains@gcc.gnu.org>
3246
416de7d5 3247 * traceback.c (Darwin) USE_GCC_UNWINDER for Darwin versions >= 8.
88b76013 3248
1aeee5ad
IS
32492011-09-07 Iain Sandoe <iains@gcc.gnu.org>
3250
416de7d5 3251 * gcc-interface/Makefile.in (darwin): Provide powerpc64 system
1aeee5ad
IS
3252 implementation.
3253 * system-darwin-ppc64.ads: New file.
3254
f61fc398
IS
32552011-09-06 Iain Sandoe <iains@gcc.gnu.org>
3256
3257 * gcc-interface/Makefile.in (gnatlib-shared-darwin): Remove
3258 reference to "-lm".
3259
84ef27d3
IS
32602011-09-06 Iain Sandoe <iains@gcc.gnu.org>
3261
3262 * gcc-interface/Makefile.in (darwin, SO_OPTS): Provide architecture
3263 size switches to the link phase for shared libs.
3264
a1bf1ec7
IS
32652011-09-06 Iain Sandoe <iains@gcc.gnu.org>
3266
416de7d5 3267 * gcc-interface/Makefile.in (x86_64 darwin arch): Adjust
a1bf1ec7
IS
3268 LIBGNAT_TARGET_PAIRS for x86 and x86_64 variants.
3269
e972fd52
AC
32702011-09-06 Arnaud Charlet <charlet@adacore.com>
3271
3272 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in
3273 (gnattools, regnattools, cross-gnattools, canadian-gnattools,
3274 gnatlib, gnatlib-sjlj, gnatlib-zcx, gnatlib-shared, gnatlib_and_tools):
3275 New targets.
3276 (TOOLS_FLAGS_TO_PASS): New.
3277 (../stamp-tools): Reintroduce, to avoid merge conflicts.
3278
ef417be1
RD
32792011-09-06 Robert Dewar <dewar@adacore.com>
3280
3281 * sem_ch10.adb, impunit.ads, impunit.adb (Not_Impl_Defined_Unit): New
3282 name for Is_RM_Defined_Unit. Also several fixes to this unit.
3283
0a034606
RD
32842011-09-06 Robert Dewar <dewar@adacore.com>
3285
3286 * impunit.ads, impunit.adb (Is_RM_Defined_Unit): New function.
3287 * s-rident.ads: New restriction No_Implementation_Units
3288 (this restriction is also part of the profile
3289 No_Implementation_Extensions)
3290 * sem_ch10.adb (Analyze_With_Clause): Add check for
3291 No_Implementation_Units restriction.
3292
ebb6faaa
AC
32932011-09-06 Jerome Guitton <guitton@adacore.com>
3294
3295 * sysdep.c (__gnat_get_task_options): Disable VX_SPE_TASK
3296 on vThreads.
3297
32982011-09-06 Thomas Quinot <quinot@adacore.com>
3299
3300 * s-solita.adb: Minor reformatting.
3301
33022011-09-06 Ed Schonberg <schonberg@adacore.com>
3303
3304 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): The body that
3305 is a rewriting of an expression function does not freeze previous
3306 entities.
3307
33082011-09-06 Robert Dewar <dewar@adacore.com>
3309
3310 * impunit.adb (Is_Known_Unit): Fix bad handling of Ada 2012 case
3311
60435286
TG
33122011-09-06 Tristan Gingold <gingold@adacore.com>
3313
3314 * gcc-interface/Makefile.in: Handle e500v2-wrs-vxworksae like
3315 powerpc-wrs-vxworksae.
3316
08f8a983
AC
33172011-09-06 Thomas Quinot <quinot@adacore.com>
3318
3319 * s-os_lib.ads (Spawn): Minor documentation clarification,
3320 Success is True for a zero exit status.
3321
33222011-09-06 Ed Schonberg <schonberg@adacore.com>
3323
3324 * sem_ch5.adb: Add message for common iterator error.
3325
33262011-09-06 Ed Schonberg <schonberg@adacore.com>
3327
3328 * exp_ch3.adb (Build_Initialization_Call): If the target is a
3329 selected component discriminated by a current instance, replace
3330 the constraint with a reference to the target object, regardless
3331 of whether the context is an init_proc.
3332
33332011-09-06 Robert Dewar <dewar@adacore.com>
3334
3335 * exp_attr.adb: Descriptor_Size is never static.
3336
33372011-09-06 Robert Dewar <dewar@adacore.com>
3338
3339 * gnat_ugn.texi: Add documentation for LSLOC metric in gnatmetric
3340
33412011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
3342
3343 * gnat_rm.texi: Clarify that attribute Descriptor_Size is
3344 non-static.
3345
33462011-09-06 Ed Schonberg <schonberg@adacore.com>
3347
3348 * sem_res.adb (Resolve): An expression that is the body of an
3349 expression function does not freeze.
3350
33512011-09-06 Matthew Heaney <heaney@adacore.com>
3352
3353 * a-csquin.ads, a-cusyqu.adb, a-cbprqu.adb, a-cbsyqu.adb,
3354 a-cuprqu.adb: Changed copyright notice to indicate current
3355 year only.
3356
33572011-09-06 Vincent Celier <celier@adacore.com>
3358
3359 * prj.adb: Minor spelling error fix in comment
3360 * sem_res.adb: Minor reformatting
3361
33622011-09-06 Pascal Obry <obry@adacore.com>
3363
3364 * sysdep.c (winflush_nt): Removed as not needed anymore.
3365 (winflush_95): Likewise.
3366 (winflush_init): Likewise.
3367 (winflush_function): Likewise.
3368 (getc_immediate_common): Remove call to winflush_function.
3369
cb3d8731
HK
33702011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
3371
3372 * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite the
3373 processing for Descriptor_Size.
3374 * gnat_rm.texi: Rephrase the wording for attribute Descriptor_Size
3375 to account for its broader usage.
3376 * sem_attr.adb (Analyze_Attribute): Change the error detection
3377 circuitry for Descriptor_Size as the attribute is now applicable
3378 to all types.
3379
f7e6fc47
RD
33802011-09-06 Robert Dewar <dewar@adacore.com>
3381
3382 * sem_attr.adb, prj-nmsc.adb, exp_aggr.adb: Minor reformatting.
3383
f8e9fc30
AC
33842011-09-06 Ed Schonberg <schonberg@adacore.com>
3385
3386 * lib-xref.adb (OK_To_Set_Referenced): A reference to a formal
3387 in a parameter association must not set the Referenced flag on
3388 the formal.
3389 * prj-nmsc.adb (Check_File_Naming_Schemes): Remove useless formal
3390
33912011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
3392
3393 * gnat_rm.texi: Add a section on attribute Descriptor_Size
3394
e8e38f35
AC
33952011-09-06 Arnaud Charlet <charlet@adacore.com>
3396
3397 * gcc-interface/Makefile.in (common-tools, gnatmake-re,
3398 gnatlink-re): Speed up by using -j0.
3399
ba759acd
AC
34002011-09-06 Yannick Moy <moy@adacore.com>
3401
3402 * sem_ch13.adb (Analyze_Aspect_Specifications): Call
3403 Set_Corresponding_Aspect when creating pragma from aspect.
3404 (Add_Predicates): Use new field Corresponding_Aspect.
3405 * sem_prag.adb (Analyze_Pragma): Make Pname hold source aspect
3406 name when present, for the purpose of issuing error messages;
3407 remove local procedure Error_Pragma_Arg_Alternate_Name.
3408 * sinfo.adb, sinfo.ads (Corresponding_Aspect): New field in
3409 N_Pragma node.
3410 (From_Dynamic_Predicate, From_Static_Predicate): Remove fields from
3411 N_Pragma node.
3412
34132011-09-06 Robert Dewar <dewar@adacore.com>
3414
3415 * checks.adb, s-except.ads, g-socket.adb: Minor reformatting.
3416
34172011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
3418
3419 * exp_ch6.adb (Build_Heap_Allocator): Add new
3420 local variable Desig_Typ. Code and comment reformatting. Add
3421 machinery to ensure that the allocation uses a fat pointer when
3422 the type of the return object is a constrained array and the
3423 function return type is an unconstrained array.
3424
34252011-09-06 Vincent Celier <celier@adacore.com>
3426
3427 * make.adb, prj-part.adb, prj-nmsc.adb: Remove unused formal
3428 parameters in subprograms.
3429
34302011-09-06 Arnaud Charlet <charlet@adacore.com>
3431
3432 * s-taprop-mingw.adb (Finalize_TCB): Fix typo.
3433
34342011-09-06 Thomas Quinot <quinot@adacore.com>
3435
3436 * s-taprop-vxworks.adb, s-tpoaal.adb, s-tpopsp-vxworks.adb
3437 (System.Tasking.Primitive_Operations.Specific.Delete): Remove
3438 subprogram.
3439 (System.Tasking.Primitive_Operations.Specific.Set): If argument
3440 is null, destroy task specific data, to make API consistent with
3441 other platforms, and thus compatible with the shared version
3442 of s-tpoaal.adb.
3443 (System.Tasking.Primitive_Operations.ATCB_Allocation.Free_ATCB):
3444 Document the above assumption.
3445
f4f92d9d
AC
34462011-09-06 Ed Schonberg <schonberg@adacore.com>
3447
3448 * exp_ch6.adb (Expand_Inlined_Call): Fix use of uninitialized
3449 variable for type of return value when return type is
3450 unconstrained and context is an assignment.
3451
34522011-09-06 Ed Schonberg <schonberg@adacore.com>
3453
3454 * sem_ch8.adb (Check_Class_Wide_Actual): Do not generate body of
3455 class-wide operation if expansion is not enabled.
3456
34572011-09-06 Eric Botcazou <ebotcazou@adacore.com>
3458
3459 * checks.adb (Apply_Scalar_Range_Check): Deal with access
3460 type prefix.
3461
34622011-09-06 Yannick Moy <moy@adacore.com>
3463
3464 * sem_ch13.adb (Analyze_Aspect_Specifications, case
3465 Aspect_Invariant): Do not issue error at this point on illegal
3466 pragma placement, as this is checked later on when analyzing
3467 the corresponding pragma.
3468 * sem_prag.adb (Error_Pragma_Arg_Alternate_Name): New procedure
3469 similar to Error_Pragma_Arg, except the source name of the
3470 aspect/pragma to use in warnings may be equal to parameter
3471 Alt_Name (Analyze_Pragma, case Pragma_Invariant): refine error
3472 message to distinguish source name of pragma/aspect, and whether
3473 the illegality resides in the type being public, or being private
3474 without a public declaration
3475
34762011-09-06 Thomas Quinot <quinot@adacore.com>
3477
3478 * g-socket.adb (Check_For_Fd_Set): On Windows, no need for bitmap
3479 size check (fd_set is implemented differently on that platform).
3480
34812011-09-06 Thomas Quinot <quinot@adacore.com>
3482
3483 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
3484 s-tpoaal.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
3485 s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop.ads,
3486 s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
3487 (ATCB_Allocation): New subpackage of
3488 System.Tasking.Primitive_Operations, shared across all targets
3489 with full tasking runtime.
3490 (ATCB_Allocation.New_ATCB): Moved there (from target specific
3491 s-taprop bodies).
3492 (ATCB_Allocation.Free_ATCB): New subprogram. Deallocate an ATCB,
3493 taking care of establishing a local temporary ATCB if the one
3494 being deallocated is Self, to avoid a reference to the freed
3495 ATCB in Abort_Undefer.
3496
34972011-09-06 Thomas Quinot <quinot@adacore.com>
3498
3499 * s-tassta.adb, s-taskin.ads (Free_Task): If the task is not
3500 terminated, mark it for deallocation upon termination.
3501 (Terminate_Task): Call Free_Task again if the task is marked
3502 for automatic deallocation upon termination.
3503
df177175
RD
35042011-09-06 Robert Dewar <dewar@adacore.com>
3505
3506 * a-cbprqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cusyqu.ads,
3507 a-intnam-aix.ads, a-intnam-darwin.ads, a-intnam-dummy.ads,
3508 a-intnam-freebsd.ads, a-intnam-hpux.ads, a-intnam-irix.ads,
3509 a-intnam-linux.ads, a-intnam-lynxos.ads, a-intnam-mingw.ads,
3510 a-intnam-solaris.ads, a-intnam-tru64.ads,
3511 a-intnam-vms.ads, a-intnam-vxworks.ads, a-intnam.ads, interfac.ads,
3512 cstand.adb, s-maccod.ads: Mark all entities as Implementation_Defined
3513 * einfo.ads, einfo.adb (Is_Implementation_Defined): New flag
3514 * par-prag.adb: Add dummy entry for pragma Implementation_Defined
3515 * s-rident.ads: Add new restriction No_Implementation_Identifiers
3516 Add new profile No_Implementation_Extensions
3517 * sem_prag.adb: Implement pragma Implementation_Defined Implement
3518 profile No_Implementation_Extensions
3519 * sem_util.adb: Minor reformatting (Set_Entity_With_Style_Check):
3520 Check violation of restriction No_Implementation_Identifiers
3521 * snames.ads-tmpl: Add entries for pragma Implementation_Defined
3522 Add entry for Name_No_Implementation_Extensions
3523
35242011-09-06 Robert Dewar <dewar@adacore.com>
3525
3526 * impunit.ads: Minor reformatting.
3527
b991dd43
AC
35282011-09-06 Robert Dewar <dewar@adacore.com>
3529
3530 * ali.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
3531
35322011-09-06 Pascal Obry <obry@adacore.com>
3533
3534 * s-osinte-linux.ads, s-oscons-tmplt.c: Use oscons to define sigset_t
3535 types.
3536
516785cc
AC
35372011-09-06 Robert Dewar <dewar@adacore.com>
3538
3539 * g-socket.adb: Minor reformatting
3540
35412011-09-06 Javier Miranda <miranda@adacore.com>
3542
3543 * ali.adb (Scan_ALI): Add missing support to load references of
3544 entities imported from other languages.
3545 * ali.ads (Xref_Record): Adding new fields to store the language and
3546 name of an imported entity.
3547 * lib-xref.adb (Output_Import_Export_Info): Fix typo
3548 in comment.
3549
35502011-09-06 Ed Schonberg <schonberg@adacore.com>
3551
3552 * sem_prag.adb (Analyze_Pragma, case Type_Invariant): A type invariant
3553 is allowed on a full type declaration if it is the completion of
3554 a private declarations.
3555 * sem_ch13.adb (Analyze_Aspect_Specifications): An invariant
3556 aspect is allowed on a full type declaration in the private part
3557 of a package.
3558
96691943
AC
35592011-09-06 Robert Dewar <dewar@adacore.com>
3560
3561 * sem_ch8.ads: Minor reformatting
3562
35632011-09-06 Thomas Quinot <quinot@adacore.com>
3564
3565 * s-oscons-tmplt.c, g-socket.adb (GNAT.Sockets.Clear,Set,Is_Set):
3566 Guard against socket values that are not in [0;FD_SETSIZE[
3567
54bf19e4
AC
35682011-09-06 Robert Dewar <dewar@adacore.com>
3569
3570 * s-osinte-linux.ads, a-iteint.ads, exp_ch6.adb, s-solita.adb: Minor
3571 reformatting.
3572
35732011-09-06 Arnaud Charlet <charlet@adacore.com>
3574
3575 * s-linux-alpha.ads: Minor reformatting
3576 * s-oscons-tmplt.c: Fix generated comments in s-oscons template.
3577 Use sizeof instead of corresponding C defines in s-oscons template.
3578
5d42cba1
VG
35792011-09-06 Vadim Godunko <godunko@adacore.com>
3580
3581 * a-convec.ads, a-iteint.ads: Minor reformatting.
3582
77aa62e7
AC
35832011-09-06 Vincent Celier <celier@adacore.com>
3584
3585 * projects.texi: Add menus and @node lines.
3586
35872011-09-06 Ed Schonberg <schonberg@adacore.com>
3588
3589 * exp_ch6.adb (Expand_Inlined_Call): Handle properly the case
3590 where the return type is an unconstrained array and the context
3591 is an assignment. Optimize the case when the target of the
3592 assignment is a selected component.
3593
35942011-09-06 Arnaud Charlet <charlet@adacore.com>
3595
3596 * s-solita.adb: Update comments.
3597
35982011-09-06 Pascal Obry <obry@adacore.com>
3599
3600 * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, s-linux-mipsel.ads,
3601 s-linux-sparc.ads: Remove hard coded and now wrong definitions.
3602 * s-oscons-tmplt.c: Add support for generating pthread related
3603 types size on GNU/Linux as done for Darwin.
3604 * s-osinte-linux.ads: Use s-oscons to define the pthread types.
3605
886b5a18
AC
36062011-09-06 Robert Dewar <dewar@adacore.com>
3607
3608 * exp_ch6.adb: Fix minor typo.
3609
36102011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
3611
3612 * exp_ch7.adb: Remove with and use clauses for Get_Targ.
3613 (Alignment_Of): Moved to the body of Nearest_Multiple_Rounded_Up.
3614 (Double_Size_Of): Alphabetized. Update the comment on usage.
3615 (Make_Finalize_Address_Stmts): Update comments and reformat code.
3616 (Nearest_Multiple_Rounded_Up): New routine.
3617 (Size_Of): Update comment on usage. The generated expression now
3618 accounts for alignment gaps by rounding the size of the type to the
3619 nearest multiple rounded up of the type's alignment.
3620
57a3fca9
AC
36212011-09-06 Robert Dewar <dewar@adacore.com>
3622
3623 * exp_ch7.adb, g-comlin.adb: Minor reformatting.
3624
36252011-09-06 Steve Baird <baird@adacore.com>
3626
3627 * exp_ch4.adb (Expand_Allocator_Expression): Look through
3628 derived subprograms in checking for presence of an
3629 Extra_Accessibility_Of_Result formal parameter.
3630 * exp_ch6.adb (Expand_Call): Look through derived subprograms in
3631 checking for presence of an Extra_Accessibility_Of_Result formal
3632 parameter.
3633 (Expand_Call.Add_Actual_Parameter): Fix a bug in the
3634 case where the Parameter_Associatiations attribute is already set,
3635 but set to an empty list.
3636 (Needs_Result_Accessibility_Level):
3637 Unconditionally return False. This is a temporary
3638 change, disabling the Extra_Accessibility_Of_Result
3639 mechanism.
3640 (Expand_Simple_Function_Return): Check for
3641 Extra_Accessibility_Of_Result parameter's presence instead of
3642 testing Ada_Version when generating a runtime accessibility
3643 check which makes use of the parameter.
3644
eaed0c37
AC
36452011-09-06 Ed Schonberg <schonberg@adacore.com>
3646
3647 * exp_ch4.adb (Expand_N_Case_Expression): Actions created for the
3648 expression in a given case alternative must be attached to the
3649 statement list of the ccrresponding case statement alternative
3650 They cannot be propagated ahead of the case statement, because
3651 the validity of the expression that generated the action may
3652 hold only for that alternative.
3653
36542011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
3655
3656 * exp_ch7.adb: Remove with and use clauses for Get_Targ.
3657 (Alignment_Of): Remove the code for strict alignment targets.
3658 (Double_Alignment_Of): Removed.
3659 (Double_Size_Of): New routine.
3660 (Make_Finalize_Address_Stmts): Change the
3661 calculation of the dope's size. Update relevant comments.
3662 (Size_Of): New routine.
3663
b8a93198
AC
36642011-09-06 Steve Baird <baird@adacore.com>
3665
3666 * einfo.ads (Extra_Accessibility): Update associated comment to use
3667 the term "present" correctly ("present" just means that it is not
3668 an error to query the value of the attribute - it does not imply
3669 that the value must be non-null).
3670 (Extra_Constrained): Ditto.
3671 (Is_Visible_Formal): Ditto.
3672 (Extra_Accessibility_Of_Result) Ditto; also add Inline pragma.
3673 (Set_Extra_Accessibility_Of_Result): Add Inline pragma.
3674 * exp_ch4.adb (Expand_Allocator_Expression): Improve a comment.
3675 * exp_ch6.adb (Expand_Call): The callee may require an
3676 Extra_Accessibility_Of_Result actual parameter even if Ada_Version
3677 < Ada_2012. This can occur if the callee is exported from a Gnat
3678 runtimes unit. Also improve a comment.
3679
36802011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
3681
3682 * exp_ch7.adb: Add with and use clauses for Get_Targ.
3683 (Alignment_Of): Rename formal parameter Some_Typ
3684 to Typ, update related comment. Use the allocator alignment on
3685 strict alignment targets such as SPARC.
3686 (Double_Alignment_Of): Rename formal parameter Some_Typ to Typ, update
3687 related comment.
3688
36892011-09-06 Gary Dismukes <dismukes@adacore.com>
3690
3691 * sem_ch9.adb (Check_Interfaces): Test
3692 Is_Limited_Type rather than Is_Limited_Record when checking that
3693 the partial view of a synchronized full view must be limited.
3694
36952011-09-06 Emmanuel Briot <briot@adacore.com>
3696
3697 * g-comlin.adb (Free): Fix memory leak.
3698
ebf494ec
RD
36992011-09-06 Robert Dewar <dewar@adacore.com>
3700
3701 * sem_util.adb, exp_ch6.adb: Minor reformatting and code reorganization.
3702
63585f75
SB
37032011-09-06 Steve Baird <baird@adacore.com>
3704
3705 * einfo.ads (Extra_Accessibility_Of_Result): New function; in the
3706 (Ada2012) cases described in AI05-0234 where the accessibility
3707 level of a function result is "determined by the point of
3708 call", an implicit parameter representing that accessibility
3709 level is passed in. Extra_Accessibilty_Of_Result yields this
3710 additional formal parameter. Extra_Accessibility_Of_Result
3711 is analogous to the existing Extra_Accessibility
3712 function used in the implementation of access parameters.
3713 (Set_Extra_Accessibility_Of_Result): New procedure; sets
3714 Extra_Accessibility_Of_Result attribute.
3715 * einfo.adb (Extra_Accessibility_Of_Result): New function.
3716 (Set_Extra_Accessibility_Of_Result): New procedure.
3717 (Write_Field19_Name): Display Extra_Accessibilty_Of_Result attribute.
3718 * sem_util.adb (Dynamic_Accessibility_Level): Set Etype of
3719 an accessibility level literal to Natural; introduce a nested
3720 function, Make_Level_Literal, to do this.
3721 * exp_ch6.ads (Needs_Result_Accessibility_Level): New function;
3722 determines whether a given function (or access-to-function
3723 type) needs to have an implicitly-declared accessibility-level
3724 parameter added to its profile.
3725 (Add_Extra_Actual_To_Call): Export an existing procedure which was
3726 previously declared in the body of Exp_Ch6.
3727 * exp_ch6.adb (Add_Extra_Actual_To_Call): Export declaration by moving
3728 it to exp_ch6.ads.
3729 (Has_Unconstrained_Access_Discriminants): New Function; a
3730 predicate on subtype entities which returns True if the given
3731 subtype is unconstrained and has one or more access discriminants.
3732 (Expand_Call): When expanding a call to a function which takes an
3733 Extra_Accessibility_Of_Result parameter, pass in the appropriate
3734 actual parameter value. In the case of a function call which is
3735 used to initialize an allocator, this may not be possible because
3736 the Etype of the allocator may not have been set yet. In this
3737 case, we defer passing in the parameter and handle it later in
3738 Expand_Allocator_Expression.
3739 (Expand_Simple_Function_Return): When returning from a function which
3740 returns an unconstrained subtype having at least one access
3741 discriminant, generate the accessibility check needed to ensure that
3742 the function result will not outlive any objects designated by its
3743 discriminants.
3744 (Needs_Result_Accessibility_Level): New function; see exp_ch6.ads
3745 description.
3746 * exp_ch4.adb (Expand_Allocator_Expression): When a function call
3747 is used to initialize an allocator, we may need to pass in "the
3748 accessibility level determined by the point of call" (AI05-0234)
3749 to the function. Expand_Call, where such actual parameters are
3750 usually generated, is too early in this case because the Etype of
3751 the allocator (which is used in determining the level to be passed
3752 in) may not have been set yet when Expand_Call executes. Instead,
3753 we generate code to pass in the appropriate actual parameter
3754 in Expand_Allocator_Expression.
3755 * sem_ch6.adb (Create_Extra_Formals): Create
3756 the new Extra_Accessibility_Of_Result formal if
3757 Needs_Result_Accessibility_Level returns True. This includes the
3758 introduction of a nested procedure, Check_Against_Result_Level.
3759
1a982c6e
AC
37602011-09-06 Arnaud Charlet <charlet@adacore.com>
3761
3762 * gcc-interface/Makefile.in (X86_TARGET_PAIRS): Remove duplicate
3763 declaration.
3764
e42bcfa3
AC
37652011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
3766
3767 * s-finmas.adb (Set_Finalize_Address): Explain the reason
3768 for the synchronization. Move the test for null from
3769 s-stposu.Allocate_Any_Controlled to this routine since the check
3770 needs to be protected too.
3771 (Set_Heterogeneous_Finalize_Address): Explain the reason for the
3772 synchronization code.
3773 * s-finmas.ads (Set_Heterogeneous_Finalize_Address): Add comment
3774 explaining the context in which this routine is used.
3775 * s-stposu.adb (Allocate_Any_Controlled): Move the test for null
3776 to s-finmas.Set_Finalize_Address.
3777
37782011-09-05 Ed Schonberg <schonberg@adacore.com>
3779
3780 * einfo.ads: Document that itypes have no parent field.
3781
37822011-09-05 Robert Dewar <dewar@adacore.com>
3783
3784 * rtsfind.adb (Check_CRT): Check for overloaded entity
3785 * rtsfind.ads: Document that entities to be found by rtsfind
3786 cannot be overloaded
3787 * s-taenca.adb, s-tasren.adb, s-tpobop.adb, s-tpoben.ads, s-tpoben.adb
3788 (Lock_Entries_With_Status): New name for Lock_Entries with two
3789 arguments (changed to meet rtsfind no overloading rule).
3790
544e7c17
AC
37912011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
3792
3793 * s-finmas.adb (Set_Finalize_Address (Address,
3794 Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
3795 (Set_Finalize_Address (in out Finalization_Master,
3796 Finalize_Address_Ptr): Add synchronization code.
3797 * s-finmas.ads (Set_Finalize_Address (Address,
3798 Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
3799 * s-stposu.adb (Allocate_Any_Controlled): Update the call to
3800 Set_Finalize_Address for the heterogeneous case.
3801
38022011-09-05 Ed Schonberg <schonberg@adacore.com>
3803
3804 * sem_ch3.adb: Undo previous change, not suitable after all.
3805
38062011-09-05 Robert Dewar <dewar@adacore.com>
3807
3808 * einfo.ads: Minor comment clarification.
3809
0613fb33
AC
38102011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
3811
3812 * exp_ch6.adb (Move_Activation_Chain): Rewritten. The routine
3813 no longer needs to search through the entities of the return
3814 statement scope to find the _chain.
3815 * sem_ch5.adb: Add with and use clauses for Exp_Ch6 and Sem_Ch6.
3816 (Analyze_Block_Statement): Add local variable
3817 Is_BIP_Return_Statement. Add machinery to install all entities
3818 produced by the expansion of the return object declaration.
3819 (Install_Return_Entities): New routine.
3820 * sem_ch6.ads, sem_ch6.adb (Install_Entity): Moved from body to spec.
3821
38222011-09-05 Ed Schonberg <schonberg@adacore.com>
3823
3824 * sem_ch10.adb (Analyze_Context): Apply simple fixup if context
3825 of subunit is incomplete.
3826 (Analyze_Proper_Body): If parent spec is not available, do not
3827 attempt analysis.
3828
5dcab3ca
AC
38292011-09-05 Ed Schonberg <schonberg@adacore.com>
3830
3831 * sem_disp.adb (Find_Controlling_Arg): Add checks for
3832 interface type conversions, that are expanded into dereferences.
3833
38342011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
3835
3836 * sem_ch6.adb (Analyze_Subprogram_Body_Helper):
3837 Examine the parameter and return profile of a subprogram and swap
3838 any incomplete types coming from a limited context with their
3839 corresponding non-limited views.
3840 (Exchange_Limited_Views): New routine.
3841
38422011-09-05 Ed Schonberg <schonberg@adacore.com>
3843
3844 * sem_ch3.adb (Prepare_Private_Subtype_Completion): Set parent
3845 of internal entity to the subtype declaration, so that when
3846 entities are subsequently exchanged in a package body, the tree
3847 remains properly formatted for ASIS.
3848
8da1a312
AC
38492011-09-05 Johannes Kanig <kanig@adacore.com>
3850
3851 * g-comlin.adb (Set_Usage): Additional optional argument to set help
3852 message.
3853 (Display_Help): display the user given help message, if available.
3854
38552011-09-05 Ed Schonberg <schonberg@adacore.com>
3856
3857 * sem_ch3.adb (OK_For_Limited_Init_In_05): The expression
3858 is legal if the original node is an identifier that is a
3859 parameterless function call.
3860
69b73847
PO
38612011-09-05 Pascal Obry <obry@adacore.com>
3862
3863 * prj-nmsc.adb: Minor reformatting.
3864 Add support for standalone aggregate library.
3865 (Check_Stand_Alone_Library): Handle standalone aggregate library.
3866 * projects.texi: Fix documentation for aggregate library projects.
3867
81bf2382
AC
38682011-09-05 Robert Dewar <dewar@adacore.com>
3869
3870 * sem_ch6.adb: Minor reformatting.
3871
38722011-09-05 Matthew Gingell <gingell@adacore.com>
3873
3874 * s-tassta.adb (Task_Wrapper): Ensure that we don't try to write the
3875 stack guard page on PPC Linux. This patch ensures the 64K guard page at
3876 the bottom of the stack is not overwritten.
3877
13a0b1e8
AC
38782011-09-05 Thomas Quinot <quinot@adacore.com>
3879
3880 * exp_intr.adb, s-tasini.adb: Minor reformatting.
3881
38822011-09-05 Ed Schonberg <schonberg@adacore.com>
3883
3884 * sem_ch3.adb (Access_Definition): If an access type declaration
3885 appears in a child unit, the scope of whatever anonymous type
3886 may be generated is the child unit itself.
3887
38882011-09-05 Ed Schonberg <schonberg@adacore.com>
3889
3890 * sem_ch6.adb (Analyze_Expression_Function): Do not set
3891 Comes_From_Source on rewritten body.
3892 (Analyze_Subprogram_Body_Helper): Check that the original node for
3893 the body comes from source, when determining whether expansion
3894 of a protected operation is needed.
3895
20428725
AC
38962011-09-05 Ed Schonberg <schonberg@adacore.com>
3897
3898 * exp_aggr.adb (Replace_Type): If the target of the assignment is
3899 a selected component and the right-hand side is a self-referential
3900 access, the proper prefix of the rewritten attribute is a copy
3901 of the left-hand side, not of its prefix.
3902
39032011-09-05 Robert Dewar <dewar@adacore.com>
3904
3905 * sem_ch5.adb: Minor reformatting.
3906 * sem_ch3.adb: Minor code clean up.
3907
39082011-09-05 Jose Ruiz <ruiz@adacore.com>
3909
3910 * exp_ch9.adb (Make_Initialize_Protection): The fact that
3911 restriction No_Dynamic_Attachment is in effect or not should
3912 not influence the default priority associated to a protected
3913 object. With this change, when the restriction is in effect (as
3914 is the case for the Ravenscar profile) the default priority of
3915 a protected object with an interrupt handler is in the range of
3916 interrupt priorities (Default_Interrupt_Priority) as required
3917 by D.3(10).
3918
39192011-09-05 Arnaud Charlet <charlet@adacore.com>
3920
3921 * a-iteint.ads: Fix header.
3922
39232011-09-05 Vincent Celier <celier@adacore.com>
3924
3925 * prj-conf.adb (Do_Autoconf): Make sure Obj_Dir always ends
3926 with a directory separator to avoid output such as:
3927 "/path/to/objauto.cgpr" has been deleted.
3928
4a1bfefb
AC
39292011-09-05 Robert Dewar <dewar@adacore.com>
3930
3931 * sem_ch3.adb: Minor reformatting.
3932
39332011-09-05 Ed Schonberg <schonberg@adacore.com>
3934
3935 * sem_ch5.adb: Better error message.
3936
39372011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
3938
3939 * exp_aggr.adb: Add with and use clause for Exp_Ch6.
3940 (Expand_Array_Aggregate): Detect a special case of an aggregate
3941 which contains tasks in the context of an unexpanded return
3942 statement of a build-in-place function.
3943 * exp_ch6.adb: Add with and use clause for Exp_Aggr.
3944 (Expand_N_Extended_Return_Statement): Detect a delayed aggregate
3945 which contains tasks and expand it now that the original simple
3946 return statement has been rewritten.
3947 * exp_ch9.adb (Build_Activation_Chain_Entity): Code
3948 reformatting. Do not create a chain for an extended return
3949 statement if one is already available.
3950 (Has_Activation_Chain): New routine.
3951
9ec080cb
AC
39522011-09-05 Marc Sango <sango@adacore.com>
3953
3954 * sem_ch3.adb (Analyze_Object_Declaration): Remove
3955 the wrong test and add the correct test to detect the violation
3956 of illegal use of unconstrained string type in SPARK mode.
3957
39582011-09-05 Ed Schonberg <schonberg@adacore.com>
3959
3960 * sem_ch5.adb (Analyze_Iteration_Specification): Improve error
3961 message on an iterator over an array.
3962
39632011-09-05 Robert Dewar <dewar@adacore.com>
3964
3965 * lib-xref-alfa.adb: Minor reformatting.
3966
aeae67ed
RD
39672011-09-05 Robert Dewar <dewar@adacore.com>
3968
3969 * sem_ch3.adb, sem_res.adb, par.adb, par-ch6.adb, g-comlin.adb,
3970 exp_ch6.adb, lib-xref-alfa.adb: Minor reformatting.
3971
d72e7628
AC
39722011-09-05 Gary Dismukes <dismukes@adacore.com>
3973
3974 * exp_ch7.adb, exp_ch6.adb: Minor reformatting.
3975
39762011-09-05 Johannes Kanig <kanig@adacore.com>
3977
3978 * lib-xref-alfa.adb: Update comments.
3979
39802011-09-05 Thomas Quinot <quinot@adacore.com>
3981
3982 * sem_res.adb: Minor reformatting
3983
0d566e01
ES
39842011-09-05 Ed Schonberg <schonberg@adacore.com>
3985
3986 * exp_ch6.adb (Build_In_Place_Formal): If extra formals are not
3987 present, create them now. Needed in case the return type was
3988 a limited view in the function declaration.
3989 (Make_Build_In_Place_Call_In_Allocator): If return type contains
3990 tasks, build the activation chain for it. Pass a reference to
3991 the Master_Id in call to Add_Task_Actuals_To_Build_In_Place call.
3992 * exp_ch7.adb (Make_Set_Finalize_Address_Call): Clean up interface
3993 with build_in_place calls.
3994 * sem_ch9.adb (Analyze_Task_Type_Declaration): If partial view was
3995 incomplete, inatialize its Corresponding_Record_Type component.
3996 * sem_ch10.adb (Build_Chain): Initialize Private_Dependents field
3997 of limited views.
3998
ec09f261
AC
39992011-09-05 Johannes Kanig <kanig@adacore.com>
4000
4001 * lib-xref-alfa.adb (Is_Alfa_Reference): Filter constants from effect
4002 information.
4003
40042011-09-05 Ed Schonberg <schonberg@adacore.com>
4005
4006 * par-ch6.adb (P_Subprogram): In Ada2012 mode, if the subprogram
4007 appears within a package specification and the token after "IS"
4008 is not a parenthesis, assume that this is an unparenthesized
4009 expression function, even if the token appears in a line by
4010 itself.
4011 * par.adb: Clarify use of Labl field of scope stack in error
4012 recovery.
4013
7109f4f5
AC
40142011-09-05 Bob Duff <duff@adacore.com>
4015
4016 * sem_res.adb (Resolve_Intrinsic_Operator): Use unchecked
4017 conversions instead of normal type conversions in all cases where a
4018 type conversion would be illegal. In particular, use unchecked
4019 conversions when the operand types are private.
4020
40212011-09-05 Johannes Kanig <kanig@adacore.com>
4022
4023 * lib-xref-alfa.adb (Is_Alfa_Reference): Never declare effects on
4024 objects of task type or protected type.
4025
66dc8075
AC
40262011-09-05 Ed Schonberg <schonberg@adacore.com>
4027
4028 * sem_ch6.adb (Analyze_Expression_Function): If the expression
4029 function comes from source, indicate that so does its rewriting,
4030 so it is compatible with any subsequent expansion of the
4031 subprogram body (e.g. when it is a protected operation).
4032 * sem_ch4.adb: minor reformatting
4033
40342011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
4035
4036 * lib.adb (Check_Same_Extended_Unit): Comment rewriting. Use
4037 Get_Source_Unit rather than Get_Code_Unit as instantiation unfolding
4038 may lead to wrong ancestor package in the case of instantiated subunit
4039 bodies. If a subunit is instantiated, follow the chain of instantiations
4040 rather than the stub structure.
4041
bd38b431
AC
40422011-09-02 Robert Dewar <dewar@adacore.com>
4043
4044 * sem_ch4.adb, sem_ch6.adb: Minor reformatting.
4045 * gcc-interface/Make-lang.in: Update dependencies.
4046
40472011-09-02 Marc Sango <sango@adacore.com>
4048
4049 * sem_ch3.adb (Analyze_Object_Declaration): Change
4050 comment and add additional check to differentiate constant of
4051 type string from others unconstrained type.
4052
99d520ad
ES
40532011-09-02 Ed Schonberg <schonberg@adacore.com>
4054
4055 * sinfo.ads, sinfo.adb: New semantic attribute Premature_Use,
4056 present in incomplete type declarations to refine the error
4057 message the full declaration is in the same unit.
4058 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of
4059 an incomplete type, set the Premature_Use for additional message.
4060 * sem_ch3.adb (Find_Type_Name): If partial view is incomplete
4061 and Premature_Use is set, place additional information at the
4062 point of premature use.
4063
5b5588dd
AC
40642011-09-02 Bob Duff <duff@adacore.com>
4065
4066 * sem_ch6.adb: (Check_Post_State): Suppress warning
4067 "postcondition refers only to pre-state" when the expression has not
4068 yet been analyzed, because it causes false alarms. This can happen when
4069 the postcondition contains a quantified expression, because those are
4070 analyzed later. This is a temporary/partial fix.
4071 (Process_Post_Conditions): Minor: change wording of warning.
4072
40732011-09-02 Marc Sango <sango@adacore.com>
4074
4075 * sem_ch3.adb (Analyze_Object_Declaration): Detect the violation of
4076 illegal use of unconstrained string type in SPARK mode.
4077 * sem_res.adb (Analyze_Operator_Symbol): Set the
4078 right place where the string operand of concatenation should be
4079 violate in SPARK mode.
4080
bd603506
RD
40812011-09-02 Robert Dewar <dewar@adacore.com>
4082
4083 * sem_prag.adb, sem_util.adb, sem_ch6.adb, prj-nmsc.adb,
4084 exp_ch3.adb: Minor reformatting.
4085
24a120ac
AC
40862011-09-02 Vincent Celier <celier@adacore.com>
4087
4088 * prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Declare "gcc"
4089 as the compiler driver so Is_Compilable returns True for sources.
4090 * prj-nmsc.adb (Override_Kind): When Kind is Sep, set the source
4091 for the body.
4092
40932011-09-02 Ed Schonberg <schonberg@adacore.com>
4094
4095 * sem_prag.adb (Analyze_PPC_In_Decl_Part): for a class-wide
4096 condition, a reference to a controlling formal must be interpreted
4097 as having the class-wide type (or an access to such) so that the
4098 inherited condition can be properly applied to any overriding
4099 operation (see ARM12 6.6.1 (7)).
4100
41012011-09-02 Tristan Gingold <gingold@adacore.com>
4102
4103 * init.c (__gnat_is_vms_v7): Fix case and add prototype
4104 for LIB$GETSYI.
4105
41062011-09-02 Javier Miranda <miranda@adacore.com>
4107
4108 * exp_ch3.adb (Expand_N_Object_Declaration): Do not copy the
4109 initializing expression of a class-wide interface object declaration
4110 if its type is limited.
4111
41122011-09-02 Johannes Kanig <kanig@adacore.com>
4113
4114 * sem_util.adb (Unique_Name): To obtain a unique name for enumeration
4115 literals, take into account the type name; the type is *not*
4116 the scope for an enumeration literal.
4117
41182011-09-02 Ed Schonberg <schonberg@adacore.com>
4119
4120 * sem_ch6.adb (Check_Overriding_Indicator): add special check
4121 to reject an overriding indicator on a user-defined Adjust
4122 subprogram for a limited controlled type.
4123
41242011-09-02 Ed Schonberg <schonberg@adacore.com>
4125
4126 * sem_res.adb (Resolve_Actuals): add missing call to Resolve
4127 for an actual that is a function call returning an unconstrained
4128 limited controlled type.
4129
41302011-09-02 Tristan Gingold <gingold@adacore.com>
4131
4132 * g-socthi-vms.adb (c_sendmsg, c_recvmsg): Use unpacked msg if on vms 7
4133
41342011-09-02 Johannes Kanig <kanig@adacore.com>
4135
4136 * alfa.ads (Name_Of_Heap_Variable): Change value of the HEAP variable
4137 from "HEAP" to __HEAP Change comment that refers to that variable
4138 * put_alfa.adb: Change comment that refers to that variable
4139
c5f5123f
AC
41402011-09-02 Robert Dewar <dewar@adacore.com>
4141
4142 * exp_ch4.adb, exp_ch6.adb, prj-nmsc.adb: Minor reformatting.
4143
41442011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
4145
4146 * exp_util.adb (Extract_Renamed_Object): Renamed to
4147 Find_Renamed_Object. This routine has been reimplemented and now uses
4148 tree traversal to locate a renamed object.
4149 (Is_Aliased): Replace call to Extract_Renamed_Object with
4150 Find_Renamed_Object.
4151
41522011-09-02 Tristan Gingold <gingold@adacore.com>
4153
4154 * init.c: (__gnat_is_vms_v7): New function.
4155
41562011-09-02 Olivier Hainque <hainque@adacore.com>
4157
4158 * tracebak.c (STOP_FRAME, ppc elf/vxworks case): Stop on frames
4159 that have a misaligned backchain, necessarily bogus.
4160
2bfa5484
HK
41612011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
4162
4163 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not create
4164 TSS routine Finalize_Address when compiling in Alfa mode.
4165 (Expand_Freeze_Record_Type): Do not create TSS routine
4166 Finalize_Address when compiling in Alfa mode.
4167 * exp_ch4.adb (Expand_Allocator_Expression): Do not produce a
4168 call to Set_Finalize_Address in Alfa mode because Finalize_Address is
4169 not built.
4170 (Expand_N_Allocator): Do not produce a call to
4171 Set_Finalize_Address in Alfa mode because Finalize_Address is not built.
4172 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not
4173 produce a call to primitive Set_Finalize_Address in Alfa mode because
4174 Finalize_Address is not built.
4175 * exp_ch7.adb (Build_Finalization_Master): Do not create
4176 finalization masters in Afa mode since they are not needed.
4177 (Build_Finalizer): Do not create scope and library-level
4178 finalizers in Alfa mode since they are not needed.
4179 * exp_util.adb (Build_Allocate_Deallocate_Proc): Do not expand
4180 "new" and "free" when applied to controlled objects in Alfa mode since
4181 this is not needed.
4182
7a0ddd20
AC
41832011-09-02 Vincent Celier <celier@adacore.com>
4184
4185 * prj-nmsc.db: (Check_Stand_Alone_Library): For SALs, allow
4186 only library names with the syntax of Ada identifiers, to avoid errors
4187 when compiling the binder generated files.
4188 * projects.texi: Document restriction on SAL library names
4189
41902011-09-02 Thomas Quinot <quinot@adacore.com>
4191
4192 * a-chtgbo.adb: Minor comment fix.
4193
439b6dfa
AC
41942011-09-02 Robert Dewar <dewar@adacore.com>
4195
4196 * lib-xref.adb: Minor reformatting
4197
41982011-09-02 Vincent Celier <celier@adacore.com>
4199
4200 * bindusg.adb, clean.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
4201 gnatls.adb, gnatname.adb, gnatxref.adb, gprep.adb, makeusg.adb: Add
4202 --version and --help in usage.
4203 * switch.ads, switch.adb (Display_Usage_Version_And_Help): New procedure
4204
f2404867
AC
42052011-09-02 Bob Duff <duff@adacore.com>
4206
4207 * lib-xref.adb: (Hash): Avoid use of 'Mod attribute, because old
4208 compilers don't understand it.
4209
42102011-09-02 Gary Dismukes <dismukes@adacore.com>
4211
4212 * exp_attr.adb (Expand_N_Attribute_Reference): Pass the
4213 underlying subtype rather than its base type on the call to
4214 Build_Record_Or_Elementary_Input_Function, so that any
4215 constraints on a discriminated subtype will be available for
4216 doing the check required by AI05-0192.
4217 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
4218 If the prefix subtype of the 'Input attribute is a constrained
4219 discriminated subtype, then check each constrained discriminant value
4220 against the corresponding value read from the stream.
4221
029b67ba
YM
42222011-09-02 Yannick Moy <moy@adacore.com>
4223
4224 * usage.adb, warnsw.adb, sem_ch6.adb, opt.ads: Disable by default
4225 warnings on suspicious contracts, and enable them with -gnatwa.
4226
dc36a7e3
RD
42272011-09-02 Robert Dewar <dewar@adacore.com>
4228
4229 * exp_util.adb, exp_ch9.adb, sem_attr.adb, sem_ch6.adb: Minor
4230 reformatting.
4231
d5aa443c
AC
42322011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
4233
4234 * exp_ch9.adb (Install_Private_Data_Declarations): Add guards
4235 which ensure that restriction No_Dynamic_Attachment has not been
4236 violated.
4237 (Make_Initialize_Protection): Protected types with attach or
4238 interrupt handlers must not violate restriction No_Dynamic_Attachment.
4239 * exp_util.adb (Corresponding_Runtime_Package): Add a guard
4240 which ensures that restriction No_Dynamic_Attachment has not been
4241 violated.
4242 * sem_attr.adb: (Eval_Attribute): Transform
4243 VAX_Float_Type'First and 'Last into references to
4244 the temporaries which store the corresponding bounds. The
4245 transformation is needed since the back end cannot evaluate
4246 'First and 'Last on VAX.
4247 (Is_VAX_Float): New routine.
4248
42492011-09-02 Ed Schonberg <schonberg@adacore.com>
4250
4251 * sem_ch12.adb (Analyze_Subprogram_Instantiation): If the
4252 generic unit is not intrinsic and has an explicit convention,
4253 the instance inherits it.
4254
67c86178
AC
42552011-09-02 Robert Dewar <dewar@adacore.com>
4256
4257 * prj-dect.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, prj-tree.adb,
4258 prj.adb, prj.ads, sem_ch5.adb: Minor reformatting.
4259
42602011-09-02 Thomas Quinot <quinot@adacore.com>
4261
4262 * sem_attr.adb (Analyze_Attribute, case Unrestriced_Access):
4263 Guard against a prefix that is an N_Has_Entity but has no
4264 associated entity.
4265
42662011-09-02 Yannick Moy <moy@adacore.com>
4267
4268 * lib-xref-alfa.adb (Is_Alfa_Reference): Ignore IN parameters in Alfa
4269 references.
4270
42712011-09-02 Yannick Moy <moy@adacore.com>
4272
4273 * opt.ads (Warn_On_Suspicious_Contract): New warning flag.
4274 * sem_ch3.adb (Analyze_Declarations): Call checker for suspicious
4275 contracts.
4276 * sem_ch6.adb, sem_ch6.ads (Check_Subprogram_Contract): New
4277 procedure looking for suspicious postconditions.
4278 * usage.adb (Usage): New options -gnatw.t and -gnatw.T.
4279 * warnsw.adb (Set_Dot_Warning_Switch): Take into account new
4280 options -gnatw.t and -gnatw.T.
4281
735ca1b9
PO
42822011-09-02 Pascal Obry <obry@adacore.com>
4283
4284 * prj.adb: Minor code refactoring. Move check for null project in
4285 Project_Changed.
4286 * projects.texi: Fix minor typos.
4287
86828d40
AC
42882011-09-02 Ed Schonberg <schonberg@adacore.com>
4289
4290 * sem_ch5.adb (Analyze_Iterator_Specification): If the domain
4291 of iteration is an expression, its value must be captured in a
4292 renaming declaration, so that modification of the elements is
4293 propagated to the original container.
4294
42952011-09-02 Pascal Obry <obry@adacore.com>
4296
4297 * prj-proc.adb, prj.adb, makeutl.adb, makeutl.ads, prj-dect.adb,
4298 prj-nmsc.adb, prj-util.adb, prj-conf.adb, prj-env.adb,
4299 prj-tree.adb: Minor reformatting and style fixes.
4300
83de674b
AC
43012011-09-02 Robert Dewar <dewar@adacore.com>
4302
4303 * s-rident.ads: Add new restriction No_Implicit_Aliasing
4304 * sem_attr.adb: (Analyze_Access_Attribute): Deal with
4305 No_Implicit_Aliasing
4306 (Analyze_Attribute, case Address): ditto
4307 (Analyze_Attribute, case Unrestricted_Access): ditto
4308 * sem_util.ads, sem_util.adb: (Is_Aliased_View): Handle
4309 No_Implicit_Aliasing restriction.
4310 * gnat_rm.texi: Add documentation for No_Implicit_Aliasing
4311
43122011-09-02 Ed Schonberg <schonberg@adacore.com>
4313
4314 * exp_util.adb: (Possible_Bit_Aligned_Object): If the object
4315 is an unchecked conversion, apply test to its expression.
4316
43172011-09-02 Javier Miranda <miranda@adacore.com>
4318
4319 * sem_ch3.adb (Check_Abstract_Overriding): When
4320 traversing the chain of aliased subprograms avoid reporting a
4321 redundant error on the current entity.
4322
43232011-09-02 Sergey Rybin <rybin@adacore.com>
4324
4325 * gnat_ugn.texi: Minor clean up.
4326
43272011-09-02 Bob Duff <duff@adacore.com>
4328
4329 * s-htable.adb (Set_If_Not_Present): Use renaming
4330 instead of ":=", because the type Key is limited in the generic (even
4331 if not in the instances).
4332
2c17ca0a
AC
43332011-09-02 Robert Dewar <dewar@adacore.com>
4334
4335 * exp_util.adb, sem_ch10.adb, sem_attr.adb, s-htable.adb,
4336 g-comlin.adb, g-comlin.ads, lib-xref-alfa.adb, lib-xref.adb: Minor
4337 reformatting.
4338
43392011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
4340
4341 * sem_ch3.adb: (Set_Anonymous_Type): Associate the itype of an
4342 inherited component with the enclosing derived type. Code reformatting.
4343
43442011-09-02 Gary Dismukes <dismukes@adacore.com>
4345
4346 * checks.adb: (Determine_Range): Add test of OK1 to prevent the early
4347 return done when overflow checks are enabled, since comparisons against
4348 Lor and Hir should not be done when OK1 is False.
4349
43502011-09-02 Gary Dismukes <dismukes@adacore.com>
4351
4352 * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
4353 Add new formal Master_Exp. When present, add that expression to the
4354 call as an extra actual.
4355 (Make_Build_In_Place_Call_In_Object_Declaration): Add variable
4356 Fmaster_Actual and in the case of a BIP call initializing a return
4357 object of an enclosing BIP function set it to a
4358 new reference to the implicit finalization master
4359 formal of the enclosing function. Fmaster_Actual is
4360 then passed to the new formal Master_Exp on the call to
4361 Add_Finalization_Master_Actual_To_Build_ In_Place_Call. Move
4362 initializations of Enclosing_Func to its declaration.
4363
43642011-09-02 Thomas Quinot <quinot@adacore.com>
4365
4366 * csets.ads: Minor reformatting
4367
43682011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
4369
4370 * exp_aggr.adb: (Get_Constraint_Association): Add code to retrieve
4371 the full view of a private type coming from an instantiation.
4372 * exp_ch4.adb: (Current_Anonymous_Master): Reimplement the search
4373 loop to iterate over the declarations rather than use the
4374 First_Entity / Next_Entity scheme.
4375
ed32b82e
ES
43762011-09-02 Ed Schonberg <schonberg@adacore.com>
4377
4378 * sem_attr.adb: (Analyze_Attribute, case 'Range): when expanding
4379 X'range (N) into X'First (N) .. X'Last (N), do not share the
4380 dimension indicator N, if present. Even though it is a static
4381 constant, its source location may be modified when printing
4382 expanded code under -gnatDL, and node sharing will lead to chaos
4383 in Sprint on large files, by generating a sloc value that does
4384 not correspond to any source file.
4385
f7bb41af
AC
43862011-09-02 Bob Duff <duff@adacore.com>
4387
4388 * einfo.adb: (Has_Xref_Entry): Do not call
4389 Implementation_Base_Type. Lib.Xref has been
4390 rewritten to avoid the need for it, and it was costly.
4391 * s-htable.ads,s-htable.adb: (Present,Set_If_Not_Present): New
4392 functions in support of efficient xref.
4393 * lib-xref-alfa.adb: Misc changes related to Key component of
4394 type Xref_Entry.
4395 * lib-xref.adb: (Add_Entry,etc): Speed improvement.
4396 (New_Entry): Call Implementation_Base_Type, because Has_Xref_Entry
4397 no longer does. This is the one place where it is needed.
4398
43992011-09-02 Johannes Kanig <kanig@adacore.com>
4400
4401 * g-comlin.adb (Getopt): New optional argument Concatenate to have
4402 similar interface as the other Getopt function.
4403
44042011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
4405
4406 * exp_ch4.adb: (Expand_Allocator_Expression): Do not generate
4407 a call to Set_Finalize_Address if there is no allocator available.
4408 * exp_util.adb: (Build_Allocate_Deallocate_Proc): Account for
4409 a case of allocator expansion where the allocator is not expanded but
4410 needs a custom allocate routine. Code reformatting.
4411 (Is_Finalizable_Transient): Remove local variables Has_Rens and
4412 Ren_Obj. Code reformatting.
4413 (Is_Renamed): Renamed to Is_Aliased. Add code to detect aliasing
4414 through the use of 'reference.
4415 * sem_ch4.adb: (Analyze_Allocator): Detect allocators generated
4416 as part of build-in-place expansion. They are intentionally marked as
4417 coming from source, but their parents are not.
4418
bd0bc43e
AC
44192011-09-02 Ed Schonberg <schonberg@adacore.com>
4420
4421 * sem_ch10.adb (Analyze_With_Clause): If the library unit
4422 is the generated subprogram declaration for a child unit body
4423 that acts as spec, use the original body in the with_clause,
4424 to prevent binding errors.
4425
44262011-09-02 Vincent Celier <celier@adacore.com>
4427
4428 * gnat_ugn.texi: Adapt documentation of -gnateInnn to new VMS
4429 qualifier /MULTI_UNIT_INDEX=
4430
44312011-09-02 Johannes Kanig <kanig@adacore.com>
4432
4433 * g-comlin.adb (Getopt): Return when switch is dealt with automatically,
4434 instead of calling the callback function
4435
9fdb5d21
RD
44362011-09-02 Robert Dewar <dewar@adacore.com>
4437
4438 * prj-proc.adb, prj.ads, sem_util.adb, s-taprop-linux.adb,
4439 prj-nmsc.adb, prj-util.ads, prj-env.adb: Minor reformatting.
4440
c6d5d1ac
AC
44412011-09-02 Vincent Celier <celier@adacore.com>
4442
4443 * prj-nmsc.adb: (Find_Sources): When the list of sources is
4444 explicitly declared in an extending project, do not warn if a source
4445 for an inherited naming exception is not found.
4446
44472011-09-02 Gary Dismukes <dismukes@adacore.com>
4448
4449 * exp_ch6.adb: (Is_Build_In_Place_Function_Call): Return False if
4450 expansion is inactive.
4451
44522011-09-02 Ed Schonberg <schonberg@adacore.com>
4453
4454 * sem_util.adb (Note_Possible_Modification): If the entity
4455 being modified is the renaming generated for an Ada2012 iterator
4456 element, the enclosing container or array is modified as well.
4457
2ba1a7c7
AC
44582011-09-02 Jose Ruiz <ruiz@adacore.com>
4459
4460 * s-taprop-linux.adb (Initialize_Lock, Initialize_TCB,
4461 Initialize): Define and initialize the
4462 mutex attributes and condition variable attributes locally.
4463
44642011-09-02 Vincent Celier <celier@adacore.com>
4465
4466 * prj-nmsc.adb (Check_File): Mark as Locally_Removed a naming
4467 exception replaced in an extending project.
4468 (Check_Object): No error when the other source is locally removed.
4469
44702011-09-02 Yannick Moy <moy@adacore.com>
4471
4472 * exp_ch6.adb (Is_Build_In_Place_Function_Call): in Alfa mode, allow
4473 unresolved calls.
4474
d51813db
AC
44752011-08-31 Arnaud Charlet <charlet@adacore.com>
4476
4477 * gcc-interface/Makefile.in: Clean up handling of x86 and x86-64
4478 run-time files.
4479 * gcc-interface/Make-lang.in: Update dependencies.
4480
9f55bc62
AC
44812011-09-01 Robert Dewar <dewar@adacore.com>
4482
4483 * sem_ch3.adb, s-taprop-linux.adb, gnatls.adb: Minor reformatting.
4484
44852011-09-01 Jose Ruiz <ruiz@adacore.com>
4486
4487 * adaint.h (__gnat_cpu_free): Fix the name of this profile.
4488 * adaint.c (__gnat_cpu_alloc, __gnat_cpu_alloc_size, __gnat_cpu_free,
4489 __gnat_cpu_zero, __gnat_cpu_set): Create version of these subprograms
4490 specific for systems where their glibc version does not define the
4491 routines to handle dynamically allocated CPU sets.
4492
44932011-09-01 Vincent Celier <celier@adacore.com>
4494
4495 * prj-proc.adb, prj.ads, prj-nmsc.adb, prj-util.adb, prj-util.ads,
4496 prj-env.adb: Implement inheritance of naming exceptions in extending
4497 projects.
4498
d7386a7a
AC
44992011-09-01 Romain Berrendonner <berrendo@adacore.com>
4500
4501 * gnatls.adb: Display simple message instead of content of
4502 gnatlic.adl.
4503
45042011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
4505
4506 * sem_ch3.adb: (Build_Derived_Record_Type) Remove the kludgy update of
4507 access discriminant and anonymous access component scopes.
4508 (Inherit_Component): Reuse the itype of an access discriminant
4509 or anonymous access component by copying it in order to set the proper
4510 scope. This is done only when the parent and the derived type
4511 are in different scopes.
4512 (Set_Anonymous_Etype): New routine.
4513
45142011-09-01 Robert Dewar <dewar@adacore.com>
4515
4516 * a-convec.adb: Minor reformatting throughout.
4517
9d1e0e72
JR
45182011-09-01 Jose Ruiz <ruiz@adacore.com>
4519
4520 * adaint.c, adaint.h (__gnat_cpu_alloc, __gnat_cpu_alloc_size,
4521 __gnat_cpu_set_free): Create these wrappers around the CPU_ALLOC,
4522 CPU_ALLOC_SIZE and CPU_FREE linux macros.
4523 (__gnat_cpu_zero, __gnat_cpu_set): Use the CPU_ZERO_S and
4524 CPU_SET_S respectively because we are now using dynamically allocated
4525 CPU sets which are more portable across different glibc versions.
4526 * s-osinte-linux.ads (cpu_set_t_ptr, CPU_ALLOC, CPU_ALLOC_SIZE,
4527 CPU_FREE): Add this type and subprograms to be able to create cpu_set_t
4528 masks dynamically according to the number of processors in the target
4529 platform.
4530 (CPU_ZERO, CPU_SET): They are now mapped to the CPU_ZERO_S and CPU_SET_S
4531 respectively, so we need to pass the size of the masks as
4532 parameters.
4533 * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use dynamically
4534 created cpu_set_t masks
4535 with the number of processors available in the target platform,
4536 instead of static bit arrays. It enhances portability because
4537 it uses the information from the target platform.
4538 * sem_ch8.adb: (Attribute_Renaming): When checking whether we
4539 are using a restricted run-time library, use the flag
4540 Configurable_Run_Time_Mode instead of Restricted_Profile.
4541
a95be2d4
AC
45422011-09-01 Vincent Celier <celier@adacore.com>
4543
4544 * ug_words: Add /MULTI_UNIT_INDEX= -> -gnateI
4545 * vms_data.ads: Add new VMS qualifier equivalent for -gnateInnn
4546
45472011-09-01 Nicolas Roche <roche@adacore.com>
4548
4549 * adaint.c (__gnat_tmp_name): Don't use tmpnam function from the system
4550 on VxWorks in kernel mode.
4551
6b81741c
AC
45522011-09-01 Jose Ruiz <ruiz@adacore.com>
4553
4554 * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use the linux
4555 macros for handling CPU sets (CPU_ZERO, CPU_SET) instead of modifying
4556 directly the bit array.
4557 * s-osinte-linux.ads (CPU_ZERO, CPU_SET): Import these wrappers around
4558 the linux macros with the same name.
4559 * adaint.h, adaint.c (__gnat_cpu_zero, __gnat_cpu_set): Create these
4560 wrappers around the CPU_ZERO and CPU_SET linux macros.
4561
45622011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
4563
4564 * exp_ch7.adb (Find_Insertion_List): Removed.
4565 (Process_Transient_Objects): Insert the declarations of the hook
4566 access type and the hook object before the associated transient object.
4567
45682011-09-01 Jose Ruiz <ruiz@adacore.com>
4569
4570 * sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading
4571 package System.Aux_Dec when using restricted run-time libraries which
4572 do not have this package.
4573
45742011-09-01 Tristan Gingold <gingold@adacore.com>
4575
4576 * s-vaflop-vms-alpha.adb: Remove pragma optimize, useless.
4577
45782011-09-01 Bob Duff <duff@adacore.com>
4579
4580 * sem_attr.adb (Analyze_Access_Attribute): Do not call
4581 Kill_Current_Values for P'Unrestricted_Access, where P is library level
4582
45832011-09-01 Thomas Quinot <quinot@adacore.com>
4584
4585 * exp_ch5.adb: Minor reformatting
4586 * gnat_ugn.texi: Fix minor typos.
4587 * gcc-interface/Make-lang.in: Update dependencies.
4588
8256c1bf
AC
45892011-09-01 Robert Dewar <dewar@adacore.com>
4590
4591 * inline.adb, sem_aggr.adb: Minor reformatting.
4592
45932011-09-01 Ed Schonberg <schonberg@adacore.com>
4594
4595 * a-convec.adb: Proper handling of cursors for Ada2012 iterators.
4596
d1c5f424
AC
45972011-09-01 Robert Dewar <dewar@adacore.com>
4598
4599 * prj-proc.adb, exp_ch6.adb, prj-env.adb: Minor reformatting.
4600
46012011-09-01 Bob Duff <duff@adacore.com>
4602
4603 * sem_aggr.adb (Resolve_Aggregate): Need to treat "in instance
4604 body" the same as "in inlined body", because visibility shouldn't
4605 apply there.
4606
46072011-09-01 Eric Botcazou <ebotcazou@adacore.com>
4608
4609 * inline.adb (Add_Inlined_Body): Refine previous change.
4610
1bb6e262
AC
46112011-09-01 Gary Dismukes <dismukes@adacore.com>
4612
4613 * exp_ch6.ads (Needs_BIP_Alloc_Form): New utility function.
4614 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
4615 Test for case where call
4616 initializes an object of a return statement before testing for
4617 a constrained call, to ensure that all such cases get handled
4618 by simply passing on the caller's parameters. Also, in that
4619 case call Needs_BIP_Alloc_Form to determine whether to pass on
4620 the BIP_Alloc_Form parameter of the enclosing function rather
4621 than testing Is_Constrained. Add similar tests for the return
4622 of a BIP call to later processing to ensure consistent handling.
4623 (Needs_BIP_Alloc_Form): New utility function.
4624 * sem_ch6.adb: (Create_Extra_Formals): Replace test for adding
4625 a BIP_Alloc_Form formal with call to new utility function
4626 Needs_BIP_Alloc_Form.
4627
46282011-09-01 Pascal Obry <obry@adacore.com>
4629
4630 * prj-part.adb: Minor reformatting.
4631
46322011-09-01 Vincent Celier <celier@adacore.com>
4633
4634 * prj-env.adb (Create_Mapping_File.Process): Encode the upper
4635 half character in the unit name.
4636
db15225a
AC
46372011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
4638
4639 * exp_ch4.adb: Minor code and comment reformatting.
4640
46412011-09-01 Thomas Quinot <quinot@adacore.com>
4642
4643 * exp_ch6.adb (Expand_Inlined_Call): Remove redundant tests
4644 for Is_Limited_Type and Is_Tagged_Type in condition checking
4645 for by-reference type.
4646 * inline.adb (Add_Inlined_Body): Only exclude init_procs. Other
4647 subprograms may have a completion because of a previous
4648 Inline_Always clause, but the enclosing package must be marked
4649 inlined for the subprogram body to become visible to the backend.
4650
9d641fc0
TQ
46512011-09-01 Thomas Quinot <quinot@adacore.com>
4652
4653 * sem_aux.adb, exp_ch4.adb: Minor reformatting
4654
dbe36d67
AC
46552011-09-01 Pascal Obry <obry@adacore.com>
4656
4657 * prj-proc.adb, prj.ads, sinput-p.adb: Minor reformatting.
4658
46592011-09-01 Ed Schonberg <schonberg@adacore.com>
4660
4661 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate references to
4662 the formals of a subprogram stub that acts as a spec.
4663
46642011-09-01 Ed Schonberg <schonberg@adacore.com>
4665
4666 * exp_ch6.adb (Expand_Inlined_Call): If an actual is a by_reference
4667 type, declare a renaming for it, not an object declaration.
4668
f5037886
AC
46692011-09-01 Yannick Moy <moy@adacore.com>
4670
4671 * ali-util.adb, ali-util.ads (Read_Withed_ALIs): Add parameter
4672 Ignore_Errors to ignore failures to read ALI files when True.
4673
46742011-09-01 Javier Miranda <miranda@adacore.com>
4675
4676 * exp_ch3.adb (Expand_N_Object_Declaration): Handle non-default
4677 constructor calls associated with non-tagged record types.
4678
46792011-09-01 Robert Dewar <dewar@adacore.com>
4680
4681 * g-socthi-vms.adb: Minor reformatting.
4682
46832011-09-01 Nicolas Roche <roche@adacore.com>
4684
4685 * sysdep.c: Don't use macro functions for stdio functions on VxWorks
4686 in order to avoid impact of imcompatible changes.
4687 * cstreams.c: Likewise
4688 * cio.c: Likewise
4689 * aux-io.c: Likewise
4690
46912011-09-01 Yannick Moy <moy@adacore.com>
4692
4693 * lib-writ.adb (Write_With_Lines): Always output complete information
4694 on "with" line in Alfa mode, as this is required by formal verification
4695 back-end.
4696
549e4558
AC
46972011-09-01 Tristan Gingold <gingold@adacore.com>
4698
4699 * g-socthi-vms.adb: Add comments.
4700
47012011-09-01 Pascal Obry <obry@adacore.com>
4702
4703 * prj.ads: Minor reformatting.
4704
70c0422d
AC
47052011-09-01 Vincent Celier <celier@adacore.com>
4706
4707 * prj-env.adb (Create_Config_Pragmas_File.Check): Put all naming
4708 exceptions in the config pragmas file.
4709
47102011-09-01 Tristan Gingold <gingold@adacore.com>
4711
4712 * gnat_ugn.texi: Document GNAT_STACK_SIZE on IVMS.
4713
8c5b03a0
AC
47142011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
4715
4716 * exp_ch7.adb (Find_Insertion_List): New routine.
4717 (Process_Transient_Objects): Add code to handle the abnormal
4718 finalization of a controlled transient associated with a subprogram
4719 call. Since transients are cleaned up right after the associated
4720 context, an exception raised during a subprogram call may bypass the
4721 finalization code.
4722
47232011-09-01 Robert Dewar <dewar@adacore.com>
4724
4725 * exp_ch6.adb (Expand_Call): Check actual for aliased parameter is
4726 aliased.
4727
3040dbd4
RD
47282011-09-01 Robert Dewar <dewar@adacore.com>
4729
4730 * exp_ch4.adb, a-exexda.adb: Minor reformatting.
4731
fecbd779
AC
47322011-09-01 Robert Dewar <dewar@adacore.com>
4733
4734 * s-taskin.ads, s-tassta.adb, sem_ch13.adb: Minor reformatting.
4735
47362011-09-01 Thomas Quinot <quinot@adacore.com>
4737
4738 * Makefile.rtl: Move s-oscons.o from GNATRTL_TASKING_OBJS to
4739 GNATRTL_NONTASKING_OBJS.
4740
47412011-09-01 Robert Dewar <dewar@adacore.com>
4742
4743 * einfo.ads (Is_Aliased): Fix existing documentation and add note on
4744 possibility of this flag being set for formals in Ada 2012 mode.
4745 * par-ch6.adb (P_Formal_Part): Handle aliased for parameters for Ada
4746 2012.
4747 * sem_ch6.adb (Process_Formals): Handle aliased parameters in Ada 2012
4748 mode.
4749 * sinfo.adb (Aliased_Present): Allowed in N_Parameter_Specification for
4750 Ada 2012.
4751 * sinfo.ads (Aliased_Present): Allowed in N_Parameter_Specification for
4752 Ada 2012.
4753
47542011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
4755
4756 * exp_ch4.adb (Find_Insertion_Node): New routine. Determines the proper
4757 insertion node in a tree of nested Expression_With_Actions nodes.
4758 (Process_Transient_Object): In the case where a complex if statement
4759 has been converted into nested Expression_With_Actions nodes, the
4760 "hook" object and the associated access type must be inserted before
4761 the top most Expression_With_Actions.
4762
516f608f
AC
47632011-09-01 Robert Dewar <dewar@adacore.com>
4764
4765 * a-cbprqu.adb, a-cbprqu.ads, a-cuprqu.adb, a-cuprqu.ads,
4766 a-cbsyqu.adb, a-cbsyqu.ads: Minor reformatting.
4767
47682011-09-01 Ed Schonberg <schonberg@adacore.com>
4769
4770 * sem_attr.adb: Conditionalize aliasing predicates to Ada2012.
4771
47722011-09-01 Jose Ruiz <ruiz@adacore.com>
4773
4774 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the CPU
4775 aspect.
4776 * aspects.adb (Canonical_Aspect): Add entry for the CPU aspect.
4777 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the CPU aspect
4778 in a similar way as we do for the Priority or Dispatching_Domain aspect.
4779 * s-mudido-affinity.adb (Dispatching_Domain_Tasks,
4780 Dispatching_Domains_Frozen): Move this local data to package
4781 System.Tasking because with the CPU aspect we need to have access
4782 to this data when creating the task in System.Tasking.Stages.Create_Task
4783 * s-taskin.ads (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen):
4784 Move these variables from the body of
4785 System.Multiprocessors.Dispatching_Domains because with the CPU aspect
4786 we need to have access to this data when creating the task in
4787 System.Tasking.Stages.Create_Task.
4788 * s-taskin.adb (Initialize): Signal the allocation of the environment
4789 task to a CPU, if any, so that we know whether the CPU can be
4790 transferred to a different dispatching domain.
4791 * s-tassta.adb (Create_Task): Check whether the CPU to which this task
4792 is being allocated belongs to the dispatching domain where the task
4793 lives. Signal the allocation of the task to a CPU, if any, so that we
4794 know whether the CPU can be transferred to a different dispatching
4795 domain.
4796
2d42e881
ES
47972011-09-01 Ed Schonberg <schonberg@adacore.com>
4798
4799 * exp_attr.adb, sem_attr.adb, snames.ads-tmpl: Implementation of
4800 attributes Same_Storage and Overlaps_Storage.
4801
579fda56
AC
48022011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
4803
4804 * exp_strm.adb: Remove with and use clause for Opt.
4805 (Build_Array_Input_Function): Remove the version-dependent generation
4806 of the return statement. The Ada 2005 tree is now the default.
4807
48082011-09-01 Yannick Moy <moy@adacore.com>
4809
4810 * put_alfa.adb: Unconditionnally write files in Alfa section, so that
4811 it is never empty when compiling in Alfa mode.
4812
48132011-09-01 Robert Dewar <dewar@adacore.com>
4814
4815 * sem_aggr.adb, sem_ch3.adb, a-direct.adb, s-taprop-vxworks.adb,
4816 comperr.adb, exp_ch9.adb, exp_pakd.adb, sem_ch12.adb, freeze.adb,
4817 s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
4818 gnat1drv.adb, a-rbtgbo.adb, exp_dist.adb: Minor reformatting
4819
48202011-09-01 Matthew Heaney <heaney@adacore.com>
4821
4822 * Makefile.rtl, impunit.adb: Add a-csquin.ads, a-cusyqu.ad[sb],
4823 a-cuprqu.ad[sb], a-cbsyqu.ad[sb], a-cbprqu.ad[sb]
4824 * a-csquin.ads: New Ada 2012 unit that specifies the queue interface
4825 * a-cusyqu.ads, a-cusyqu.adb: New Ada 2012 unit that specifies the
4826 unbounded queue container.
4827 * a-cbsyqu.ads, a-cbsyqu.adb: New Ada 2012 unit that specifies the
4828 bounded queue container.
4829 * a-cuprqu.ads, a-cuprqu.adb: New Ada 2012 unit that specifies the
4830 unbounded priority queue container.
4831 * a-cbprqu.ads, a-cbprqu.adb: New Ada 2012 unit that specifies the
4832 bounded priority queue container.
4833
24c34107
AC
48342011-08-31 Pascal Obry <obry@adacore.com>
4835
4836 * a-direct.adb: Do not try to create an UNC path on Windows.
4837 (Create_Path): Skip leading computer name in UNC path if any.
4838
48392011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
4840
4841 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Remove the
4842 version-dependent generation of the return statement. The Ada 2005 tree
4843 is now the default.
4844
48452011-08-31 Thomas Quinot <quinot@adacore.com>
4846
4847 * rtsfind.ads, exp_dist.adb (Find_Numeric_Representation): Predefined
4848 types Stream_Element_Offset and Storage_Offset have a different native
4849 type depending on whether the platform is 32 or 64 bits. When
4850 exchanging them, always convert to 64 bits.
4851
48522011-08-31 Yannick Moy <moy@adacore.com>
4853
4854 * debug.adb: Reserve debug option -gnatd.E for passing gnatprove option
4855 --force-alfa to gnat2why.
4856
48572011-08-31 Ed Schonberg <schonberg@adacore.com>
4858
4859 * sem_ch12.adb (Save_References): If the node has aspects, save
4860 references within the corresponding expressions in a separate step,
4861 because the aspects are not directly in the tree for the declaration
4862 to which they belong.
4863
48642011-08-31 Arnaud Charlet <charlet@adacore.com>
4865
4866 * freeze.adb (Freeze_Record_Type): Omit test on variable size component
4867 in CodePeer mode, since representation clauses are partially ignored.
4868 * gcc-interface/Make-lang.in: Update dependencies.
4869
702d2020
AC
48702011-08-31 Jose Ruiz <ruiz@adacore.com>
4871
4872 * s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
4873 s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned
4874 to any dispatching domain.
4875
48762011-08-31 Thomas Quinot <quinot@adacore.com>
4877
4878 * exp_ch4.adb: Minor reformatting.
4879
48802011-08-31 Bob Duff <duff@adacore.com>
4881
4882 * sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication
4883 on nodes for which it is not defined.
4884 (Is_Non_Overriding_Operation): Exit the loop when we find a generic
4885 parent type.
4886
48872011-08-31 Bob Duff <duff@adacore.com>
4888
4889 * sem_ch3.adb (Process_Full_View): Disable legality check if
4890 In_Instance, to avoid spurious errors.
4891 * sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check
4892 if In_Instance, to avoid spurious errors.
4893
48942011-08-31 Pascal Obry <obry@adacore.com>
4895
4896 * a-direct.adb: Use Dir_Seps everywhere to properly handle all
4897 directory speparators.
4898 (Compose): Use Dir_Seps to handle both forms.
4899 (Create_Path): Use Dir_Seps instead of explicit check, no semantic
4900 changes.
4901 (Extension): Use Dir_Seps to handle both forms.
4902
49032011-08-31 Pascal Obry <obry@adacore.com>
4904
4905 * prj-conf.adb: Minor reformatting.
4906
67645bde
AC
49072011-08-31 Jose Ruiz <ruiz@adacore.com>
4908
4909 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the
4910 dispatching domain aspect.
4911 * aspects.adb (Canonical_Aspect): Add entry for the dispatching domain
4912 aspect.
4913 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the
4914 Dispatching_Domain aspect in a similar way as we do for the Priority
4915 aspect.
4916 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the
4917 Dispatching_Domain component if a Dispatching_Domain pragma or aspect
4918 is present.
4919 (Make_Task_Create_Call): Add the Dispatching_Domain when creating a task
4920 * par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma.
4921 * sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma
4922 Dispatching_Domain and add it to the task definition.
4923 (Sig_Flags): Add Pragma_Dispatching_Domain.
4924 * rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the
4925 support to find the types Dispatching_Domain and
4926 Dispatching_Domain_Access.
4927 * sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain,
4928 Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and
4929 query the availability of a pragma Dispatching_Domain.
4930 * snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by
4931 the expander to pass the Dispatching_Domain when creating a task.
4932 (Name_Dispatching_Domain): Add this new name for a pragma.
4933 (Pragma_Id): Add the new Pragma_Dispatching_Domain.
4934 * s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the
4935 task has been allocated at creation time.
4936 * s-tarest.adb (Create_Restricted_Task): The dispatching domain using
4937 Ravenscar is always null.
4938 * s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which
4939 the task has been allocated at creation time.
4940 * s-tporft.adb (Register_Foreign_Thread): A foreign task will not have
4941 a specific dispatching domain.
4942 * s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb,
4943 s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain
4944 and CPU are specified for the task, and the CPU value is not contained
4945 within the range of processors for the domain.
4946
49472011-08-31 Vincent Celier <celier@adacore.com>
4948
4949 * make.adb (Original_Gcc) : New constant String_Access.
4950 (Gnatmake): For VM targets, do not use VM version of the compiler if
4951 --GCC= has been specified.
4952
49532011-08-31 Thomas Quinot <quinot@adacore.com>
4954
4955 * sem_ch5.adb: Minor reformatting.
4956
49572011-08-31 Ed Schonberg <schonberg@adacore.com>
4958
4959 * exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do
4960 not reanalyze it.
4961
49622011-08-31 Bob Duff <duff@adacore.com>
4963
4964 * exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case
4965 the access type is private; we don't care about privacy in expansion.
4966
49672011-08-31 Ed Schonberg <schonberg@adacore.com>
4968
4969 * sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate
4970 subcomponents tnat may be limited, because they originate in view
4971 conflicts. If the original aggregate is legal and the actuals are
4972 legal, the aggregate itself is legal.
4973
b8789727
AC
49742011-08-31 Matthew Heaney <heaney@adacore.com>
4975
4976 * a-rbtgbo.adb (Clear_Tree): Assert representation invariant for lock
4977 status.
4978
49792011-08-31 Ed Schonberg <schonberg@adacore.com>
4980
4981 * sem_ch5.adb: Set kind of loop parameter properly, to preserve all
4982 errors in B tests.
4983
49842011-08-31 Jose Ruiz <ruiz@adacore.com>
4985
4986 * sem_ch13.adb (Analyze_Aspect_Specifications): For the Priority and
4987 Interrupt_Priority aspects, force the analysis of the aspect expression
4988 (when building the equivalent pragma). Otherwise, its analysis is done
4989 too late, after the task or protected object has been created.
4990 * sem_ch9.adb (Analyze_Single_Protected_Declaration,
4991 Analyze_Single_Task_Declaration): Remove the code to move the aspects
4992 to the object declaration because they are needed in the type
4993 declaration.
4994
e0c32166
AC
49952011-08-31 Robert Dewar <dewar@adacore.com>
4996
4997 * exp_ch5.adb, exp_ch7.ads, sem_ch5.adb, put_scos.adb, s-rannum.adb,
4998 a-rbtgbo.adb, exp_intr.adb, a-cbdlli.adb, a-cbdlli.ads: Minor
4999 reformatting.
5000
50012011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
5002
5003 * exp_util.adb (Find_Protection_Type): Do not look for fields _object
5004 if the corresponding type is malformed due to restriction violations.
5005
50062011-08-31 Robert Dewar <dewar@adacore.com>
5007
5008 * s-ransee.ads, s-ransee.adb: Minor reformatting.
5009
50102011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
5011
5012 * exp_ch4.adb (Expand_N_Allocator): Correct faulty condition which
5013 would cause the generation of Set_Finalize_Address if the target is a
5014 VM and the designated type is not derived from [Limited_]Controlled.
5015
50162011-08-31 Arnaud Charlet <charlet@adacore.com>
5017
5018 * comperr.adb, comperr.ads, gnat1drv.adb (Delete_SCIL_Files): New
5019 subprogram.
5020 (Compiler_Abort, Gnat1drv): Call Delete_SCIL_Files in codepeer mode in
5021 case of a compilation error.
5022
50232011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
5024
5025 * init.c (__gnat_error_handler): Standardize the stack overflow or
5026 erroneous memory access message.
5027 * seh_init.c (__gnat_SEH_error_handler): Standardize the stack overflow
5028 or erroneous memory access message.
5029
11bc76df
AC
50302011-08-31 Robert Dewar <dewar@adacore.com>
5031
5032 * sem_ch4.adb: Minor reformatting.
5033 * sem_ch6.adb: Minor code reorganization (use Ekind_In).
5034
50352011-08-31 Thomas Quinot <quinot@adacore.com>
5036
5037 * scos.ads: Minor documentation clarification.
5038 * put_scos.adb: Do not generate SCO unit header line for a unit that
5039 has no SCO lines.
5040
876d4394
RD
50412011-08-31 Robert Dewar <dewar@adacore.com>
5042
5043 * a-rbtgbo.adb, alfa_test.adb: Minor reformatting.
5044
36b8f95f
AC
50452011-08-31 Tristan Gingold <gingold@adacore.com>
5046
5047 * exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to
5048 hold variables between these following subprograms.
5049 (Build_Exception_Handler, Build_Object_Declarations,
5050 Build_Raise_Statement): Use the above type as parameter.
5051 Make the above adjustments.
5052 * exp_intr.adb (Expand_Unc_Deallocation): Adjust.
5053
50542011-08-31 Pascal Obry <obry@adacore.com>
5055
5056 * projects.texi: Minor reformatting.
5057
50582011-08-31 Tristan Gingold <gingold@adacore.com>
5059
5060 * s-ransee.ads, s-ransee.adb: Add system.random_seed unit.
5061 * s-rannum.adb (Reset): Use Get_Seed from s-ransee.
5062
50632011-08-31 Ed Schonberg <schonberg@adacore.com>
5064
5065 * exp_ch5.adb: Minor code cleanup.
5066 * sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to
5067 prevent cascaded errors.
5068 (Analyze_Loop_Statement): In semantics-only mode, introduce loop
5069 variable of an iterator specification in current scope.
5070 * sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip
5071 postconditions on the stack, as they contain no return statements.
5072
50732011-08-31 Yannick Moy <moy@adacore.com>
5074
5075 * exp_alfa.adb (Expand_Alfa_N_Package_Declaration,
5076 Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply
5077 call Qualify_Entity_Names.
5078 (Expand_Alfa): call Qualify_Entity_Names in more cases
5079 * lib-xref-alfa.adb: Take into account system package.
5080 * sem_prag.adb Take into account restrictions in Alfa mode, contrary to
5081 CodePeer mode in which we are interested in finding bugs even if
5082 compiler cannot compile source.
5083 * sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of
5084 deferred constant.
5085
50862011-08-31 Gary Dismukes <dismukes@adacore.com>
5087
5088 * sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype
5089 denoted by the subtype mark to ensure getting the concurrent type in
5090 the case where the subtype mark denotes a private subtype of a
5091 concurrent type (needed when using -gnatc).
5092 (Process_Subtype): For the processing specific to type kinds, case on
5093 the Base_Type kind of the Subtype_Mark_Id, to handle cases where the
5094 subtype denotes a private subtype whose base type is nonprivate (needed
5095 for subtypes of private fulfilled by task types when compiling with
5096 -gnatc).
5097
50982011-08-31 Gary Dismukes <dismukes@adacore.com>
5099
5100 * sem_disp.adb (Check_Dispatching_Operation): Bypass registration of
5101 late primitives that override interface operations when the full
5102 expander is not active, to avoid blowups in Register_Primitive when
5103 types don't have associated secondary dispatch tables.
5104
51052011-08-31 Yannick Moy <moy@adacore.com>
5106
5107 * alfa_test.adb: Code clean up.
5108
51092011-08-31 Marc Sango <sango@adacore.com>
5110
5111 * restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N)
5112 by Comes_From_Source (Original_Node (N)) in order to treat also the
5113 nodes which have been rewritten.
5114 * sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the
5115 explicit dereference and slice violation in spark mode on the nodes
5116 coming only from the source code.
5117
8cf23b91
AC
51182011-08-31 Robert Dewar <dewar@adacore.com>
5119
5120 * exp_ch5.adb, exp_alfa.ads, prj.ads, sem_attr.adb,
5121 lib-xref-alfa.adb: Minor reformatting.
5122
51232011-08-31 Matthew Heaney <heaney@adacore.com>
5124
5125 * a-crbltr.ads (Tree_Type): Default-initialize the Nodes component.
5126
51272011-08-31 Javier Miranda <miranda@adacore.com>
5128
5129 * sem_ch4.adb (Try_Object_Operation): Addition of one formal to search
5130 only for class-wide subprograms conflicting with entities of concurrent
5131 tagged types.
5132
51332011-08-31 Matthew Heaney <heaney@adacore.com>
5134
5135 * a-rbtgbo.adb (Generic_Allocate): Initialize pointer components of
5136 node to null value.
5137
51382011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
5139
5140 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Provide a more
5141 general description of the routine.
5142
51432011-08-31 Ed Schonberg <schonberg@adacore.com>
5144
5145 * a-cbdlli.adb, a-cbdlli.ads: Add iterator machinery to bounded
5146 doubly-linked lists.
5147
0bb3bfb8
GD
51482011-08-31 Gary Dismukes <dismukes@adacore.com>
5149
5150 * exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant
5151 check is needed for a left-hand side that is a dereference, and the
5152 base type is private without discriminants (whereas the full type does
5153 have discriminants), an extra retrieval of the underlying type may be
5154 needed in the case where the subtype is a record subtype whose base
5155 type is private. Update comments.
5156
11fa950b
AC
51572011-08-31 Javier Miranda <miranda@adacore.com>
5158
5159 * sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is
5160 found check if there is a class-wide subprogram covering the primitive.
5161
51622011-08-31 Yannick Moy <moy@adacore.com>
5163
5164 * sem_res.adb: Further cases where full expansion test is needed,
5165 rather than expansion test.
5166
51672011-08-31 Pascal Obry <obry@adacore.com>
5168
5169 * prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list)
5170
51712011-08-31 Ed Schonberg <schonberg@adacore.com>
5172
5173 * exp_ch5.adb: Handle iterators over derived container types.
5174
51752011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
5176
5177 * einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master.
5178 (Has_Anonymous_Master): New routine.
5179 (Set_Has_Anonymous_Master): New routine.
5180 (Write_Entity_Flags): Add an entry for Has_Anonymous_Master.
5181 * exp_ch4.adb: Add with and use clause for Sem_Ch8.
5182 (Current_Anonymous_Master): New routine.
5183 (Current_Unit_First_Declaration): Removed.
5184 (Current_Unit_Scope): Removed.
5185 (Expand_N_Allocator): Anonymous access-to-controlled types now chain
5186 their objects on a per-unit heterogeneous finalization master.
5187
51882011-08-31 Matthew Heaney <heaney@adacore.com>
5189
5190 * a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets
5191 array.
5192
51932011-08-31 Jose Ruiz <ruiz@adacore.com>
5194
5195 * s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask
5196 when not needed.
5197
51982011-08-31 Gary Dismukes <dismukes@adacore.com>
5199
5200 * sem_disp.adb (Propagate_Tag): Return without propagating in the case
5201 where the actual is an unexpanded call to 'Input.
5202
d2b4b3da
AC
52032011-08-31 Yannick Moy <moy@adacore.com>
5204
5205 * sem_ch4.adb: Code clean up.
5206
52072011-08-31 Yannick Moy <moy@adacore.com>
5208
5209 * exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice.
5210
52112011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
5212
5213 * exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize
5214 and TSS primitive Finalize_Address if finalization is suppressed.
5215 (Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS
5216 primitive Finalize_Address if finalization is suppressed.
5217
52182011-08-31 Jose Ruiz <ruiz@adacore.com>
5219
5220 * s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb,
5221 s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make
5222 sure that the underlying task has already been created before trying
5223 to change its affinity.
5224 (Set_CPU): Use the term processor instead of CPU, as we do in
5225 Assign_Task.
5226
52272011-08-31 Vincent Celier <celier@adacore.com>
5228
5229 * prj-attr.adb: New Compiler attribute Source_File_Switches.
5230 * prj-nmsc.adb (Process_Compiler): Process attribute
5231 Source_File_Switches.
5232 * prj.ads (Language_Config): New name list component
5233 Name_Source_File_Switches.
5234 * snames.ads-tmpl (Name_Source_File_Switches): New standard name.
5235
52362011-08-31 Ed Schonberg <schonberg@adacore.com>
5237
5238 * sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a
5239 discriminated component of an actual, expand at once to prevent
5240 ouf-of-order references with generated subtypes.
5241
52422011-08-31 Yannick Moy <moy@adacore.com>
5243
5244 * lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read
5245 reference to operator in Alfa xrefs.
5246
52472011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
5248
5249 * sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case
5250 where the parent instance was frozen before the current instance due to
5251 the presence of a source body. Update calls to Insert_After_Last_Decl.
5252 (Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance.
5253 Update the comment which illustrates the purpose of the routine.
5254 Package instances are now frozen by source bodies which appear after
5255 the instance. This ensures that entities coming from within the
5256 instance are available for use in the said bodies.
5257 (Install_Body): Add code to handle the case where the parent instance
5258 was frozen before the current instance due to the presence of a source
5259 body. Update calls to Insert_After_Last_Decl.
5260
56812278
AC
52612011-08-31 Jose Ruiz <ruiz@adacore.com>
5262
5263 * s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
5264 access types.
5265 * affinity.c (__gnat_set_affinity_mask): Declare index variable.
5266
52672011-08-31 Yannick Moy <moy@adacore.com>
5268
5269 * sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
5270 full-expander test.
16c3301a
AC
5271 * alfa.adb, alfa.ads, alfa_test.adb, ali.adb, debug.adb, errout.adb,
5272 errout.ads, erroutc.adb, expander.adb, exp_ch4.adb, exp_ch7.adb,
5273 freeze.adb, get_alfa.adb, get_alfa.ads, gnat1drv.adb, lib-writ.adb,
5274 lib-writ.ads, lib-xref.adb, lib-xref.ads, lib-xref-alfa.adb, opt.adb,
5275 opt.ads, put_alfa.adb, put_alfa.ads, restrict.adb, sem_ch12.adb,
5276 sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
5277 sem_prag.adb, sem_res.adb, sem_util.adb: Minor reformatting, renaming
5278 ALFA in Alfa (we dropped acronym).
56812278
AC
5279 * einfo.adb (Primitive_Operations): Correctly return list of primitive
5280 operations in a case where it returned previously No_Elist.
5281
7cda9727
RD
52822011-08-31 Robert Dewar <dewar@adacore.com>
5283
5284 * s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb,
5285 s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads,
5286 sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
5287 s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb,
5288 s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads,
5289 s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor
5290 reformatting.
5291
0a190dfd
AC
52922011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
5293
5294 * sem_ch12 (Check_Private_View): Revert previous change.
5295 * sem_res.adb (Conversion_Check): Do not emit the error message if the
5296 conversion is in a generic instance.
5297
52982011-08-31 Matthew Heaney <heaney@adacore.com>
5299
5300 * a-cbhase.adb (Symmetric_Difference): Dereference correct node array.
5301 * a-chtgbo.adb (Free): Allow 0 as index value.
5302
53032011-08-31 Matthew Heaney <heaney@adacore.com>
5304
5305 * a-cborma.adb (Insert): Add comment to explain why no element
5306 assignment.
5307
53082011-08-31 Gary Dismukes <dismukes@adacore.com>
5309
5310 * sem_util.adb (Find_Body_Discriminal): Test whether the scope of the
5311 spec discriminant is already a concurrent type, in which case just use
5312 it, otherwise fetch the Corresponding_Concurrent_Type as before.
5313
7d266442
EB
53142011-08-30 Eric Botcazou <ebotcazou@adacore.com>
5315
5316 * system-irix-n64.ads, system-linux-armeb.ads, system-linux-armel.ads,
5317 system-linux-mips.ads, system-linux-mipsel.ads,
5318 system-linux-mips64el.ads, system-linux-ppc64.ads,
5319 system-linux-sparcv9.ads, system-rtems.ads: Remove GCC_ZCX_Support.
5320
4f1a975c
EB
53212011-08-30 Eric Botcazou <ebotcazou@adacore.com>
5322
5323 * gcc-interface/ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.
5324 * gcc-interface/utils2.c (build_binary_op): Tighten condition.
5325 (build_unary_op): Likewise.
5326
f2991b48
EB
53272011-08-30 Eric Botcazou <ebotcazou@adacore.com>
5328
5329 * raise-gcc.c: Do not include coretypes.h and tm.h.
5330 (setup_to_install): Remove test for compiler macro.
5331 * targext.c: Document use for the library.
5332 * gcc-interface/Makefile.in: Fix comment on the use of IN_GCC.
5333
10a22f43
EB
53342011-08-30 Eric Botcazou <ebotcazou@adacore.com>
5335
5336 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not convert
5337 the expression to the nominal type if the latter is a record type with
5338 a variant part and the type of the former is a record type without one.
5339
bfa2e39d
AC
53402011-08-30 Yannick Moy <moy@adacore.com>
5341
5342 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
5343 expansion in Alfa mode.
5344 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public
5345 * exp_alfa.adb, exp_alfa.ads: New package defining light expansion for
5346 Alfa mode.
5347 * gnat1drv.adb (Adjust_Global_Switches): Update Comment.
5348 * sem_res.adb: Ditto.
bd34109a 5349 * gcc-interface/Make-lang.in: Update dependencies.
bfa2e39d
AC
5350
53512011-08-30 Thomas Quinot <quinot@adacore.com>
5352
5353 * g-socket.ads: Minor documentation adjustment.
5354
a0347839
AC
53552011-08-30 Robert Dewar <dewar@adacore.com>
5356
5357 * exp_ch9.adb, s-tassta.adb, s-secsta.adb: Minor reformatting.
5358
53592011-08-30 Yannick Moy <moy@adacore.com>
5360
5361 * exp_ch6_light.adb, exp_ch6_light.ads, exp_attr_light.adb,
5362 exp_attr_light.ads, exp_ch7_light.adb, exp_ch7_light.ads,
5363 exp_light.adb, exp_light.ads, exp_prag.adb, expander.adb,
5364 gnat1drv.adb, exp_ch11.adb, exp_ch6.adb, exp_ch6.ads, exp_aggr.adb:
5365 Revert change which introduced files for "light"
5366 expansion, to be replaced by a single file for Alfa expansion.
5367
3597c0e9
RD
53682011-08-30 Robert Dewar <dewar@adacore.com>
5369
5370 * opt.ads, s-soflin.adb, exp_ch9.adb, sem_res.adb: Update comment.
5371 Minor code reorg/reformatting.
5372
da94696d
AC
53732011-08-30 Yannick Moy <moy@adacore.com>
5374
5375 * opt.adb, opt.ads (Full_Expander_Active): New function defines a
5376 common shorthand for (Expander_Active and not ALFA_Mode) that can be
5377 used for testing full expansion, that is active expansion not in the
5378 reduced mode for Alfa
5379 * exp_ch4.adb, exp_ch9.adb, exp_disp.adb, sem_ch10.adb, sem_ch12.adb,
5380 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Use newly defined "flag" instead
5381 of the verbose (Expander_Active and not ALFA_Mode)
5382
53832011-08-30 Tristan Gingold <gingold@adacore.com>
5384
5385 * s-parame-vms-alpha.ads, s-parame-hpux.ads, s-tassta.adb,
5386 s-tarest.adb, s-parame-vms-ia64.ads, s-soflin.adb, s-secsta.adb,
5b8ca141
TG
5387 s-secsta.ads, s-parame.ads, s-parame-vxworks.ads, s-parame-ae653.ads:
5388 Renames Ratio to Percentage, and Sec_Stack_Ratio to Sec_Stack_Percentage
da94696d 5389
c199ccf7
AC
53902011-08-30 Gary Dismukes <dismukes@adacore.com>
5391
5392 * sem_res.adb (Valid_Conversion): Revise test for implicit anonymous
5393 access conversions to check that the conversion is a rewritten node,
5394 rather than just having Comes_From_Source set to False, which wasn't
5395 sufficient.
5396
53972011-08-30 Robert Dewar <dewar@adacore.com>
5398
5399 * exp_ch9.adb, sem_ch9.adb, sem_ch6.adb, exp_disp.adb,
5400 g-socket.ads: Minor reformatting.
5401
54022011-08-30 Thomas Quinot <quinot@adacore.com>
5403
5404 * sem_util.adb: Minor reformatting.
5405
54062011-08-30 Tristan Gingold <gingold@adacore.com>
5407
5408 * raise-gcc.c: Never catch exception if _UA_FORCE_UNWIND flag is set,
5409 to be compliant with the ABI.
5410
dff99e1a
AC
54112011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
5412
5413 * sem_ch12.adb (Check_Private_View): Exchange the private and full view
5414 of a designated type when the related access type is an actual in an
5415 instance. This ensures that the full view of designated type is
5416 available when inside the body of the instance.
5417
54182011-08-30 Ed Schonberg <schonberg@adacore.com>
5419
5420 * sem_util.adb (May_Be_Lvalue): To determine whether a reference may be
5421 in a position to be modified, a slice is treated like an indexed
5422 component.
5423
63be2a5a
AC
54242011-08-30 Thomas Quinot <quinot@adacore.com>
5425
5426 * s-oscons-tmplt.c, g-socket.ads: Adjust maximum allowed value for
5427 field tv_sec in struct timeval.
5428
54292011-08-30 Yannick Moy <moy@adacore.com>
5430
5431 * exp_ch9.adb, exp_disp.adb, sem_ch9.adb, sem_res.adb: Protect several
5432 blocks of code doing full expansion, previously only guarded by
5433 Expander_Active, by anding the test that ALFA_Mode is not set
5434
54352011-08-30 Ed Schonberg <schonberg@adacore.com>
5436
5437 * sem_ch6.adb (Analyze_Return_Type): If the return type is incomplete,
5438 add the function to the list of private dependents, for subsequent
5439 legality check on Taft amendment types.
5440 * sem_ch12.adb (Analyze_Formal_Incomplete_Type): Initialize
5441 Private_Dependents, as for other incomplete types.
5442 * sem_util.adb (Wrong_Type): Avoid cascaded errors when a
5443 Taft-amendment type is used as the return type of a function.
5444
dd54644b
JM
54452011-08-30 Javier Miranda <miranda@adacore.com>
5446
5447 * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup: replace code
5448 which emits an error by a call to a new routine which report the error.
5449 * exp_ch9.adb (Build_Wrapper_Spec): Build the wrapper even if the
5450 entity does not cover an existing interface.
5451 * errout.ads, errout.adb (Error_Msg_PT): New routine. Used to factorize
5452 code.
5453 * sem_ch6.adb (Check_Conformance): Add specific error for wrappers of
5454 protected procedures or entries whose mode is not conformant.
5455 (Check_Synchronized_Overriding): Code cleanup: replace code which emits
5456 an error by a call to a new routine which report the error.
5457
d3ba478e
AC
54582011-08-30 Robert Dewar <dewar@adacore.com>
5459
5460 * gnat_rm.texi: Minor change.
5461 * exp_attr_light.adb: Minor reformatting.
5462
54632011-08-30 Ed Schonberg <schonberg@adacore.com>
5464
5465 * sem_ch3.adb: Patch inheritance of aspects in
5466 Complete_Private_Subtype, to avoid infinite loop.
5467
c01817d2
AC
54682011-08-30 Javier Miranda <miranda@adacore.com>
5469
5470 * sem_ch3.adb (Add_Internal_Interface_Entities): If serious errors have
5471 been reported and a subprogram covering an interface primitive is not
5472 found then skip generating the internal entity. Done to avoid crashing
5473 the frontend.
5474 (Check_Abstract_Overriding): Change text of error of wrong formal of
5475 protected subprogram or entry. Done for consistency to emit exactly the
5476 same error reported by Check_Synchronized_Overriding. In addition, the
5477 error is restricted to protected types (bug found working on AI05-0090)
5478
54792011-08-30 Yannick Moy <moy@adacore.com>
5480
5481 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
5482 expansion in Alfa mode.
5483 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public.
5484 * exp_light.adb, exp_light.ads: New package defining light expansion.
5485 * expander.adb (Expand): Call light expansion in Alfa mode
5486 * exp_ch6_light.adb, exp_ch6_light.ads: Light expansion of chapter 6
5487 constructs.
5488 * exp_ch7_light.adb, exp_ch7_light.ads: Light expansion of chapter 7
5489 constructs.
5490 * exp_attr_light.adb, exp_attr_light.ads: Light expansion of attributes
5491 * gnat1drv.adb (Adjust_Global_Switches): Comment
5492
54932011-08-30 Yannick Moy <moy@adacore.com>
5494
5495 * lib-xref-alfa.adb: Minor refactoring.
5496
54972011-08-30 Yannick Moy <moy@adacore.com>
5498
5499 * exp_ch9.adb (Expand_Entry_Barrier): Do not perform expansion in Alfa
5500 mode.
5501 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
5502 expansion in Alfa mode.
5503 * sem_ch9.adb (Analyze_Entry_Body): Do not perform expansion in Alfa
5504 mode.
5505
55062011-08-30 Robert Dewar <dewar@adacore.com>
5507
5508 * debug_a.adb: Update comment.
5509
996c8821
RD
55102011-08-30 Robert Dewar <dewar@adacore.com>
5511
5512 * exp_ch5.adb, sem_ch3.adb, sem_ch5.adb, einfo.adb, checks.adb,
5513 sem_util.adb, sem_util.ads, sem_res.adb, s-stposu.adb, sem_attr.adb,
5514 exp_ch4.adb, exp_ch6.adb, lib-xref-alfa.adb,
5515 sem_ch8.adb, sem_disp.adb, exp_ch3.adb: Minor reformatting
5516
55172011-08-30 Robert Dewar <dewar@adacore.com>
5518
5519 * gnat_rm.texi: Add section on C.6(16) implementation advice for pragma
5520 volatile.
5521
3647ca26
HK
55222011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
5523
5524 * exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to
5525 Build_Finalization_Master by supplying an insertion node and enclosing
5526 scope. In its old version, the call did not generate a finalization
5527 master.
5528 (Expand_Freeze_Record_Type): Add local variable Has_AACC. Add code to
5529 recognize anonymous access-to-controlled components. Rewrite the
5530 machinery which creates finalization masters to service anonymous
5531 access-to-controlled components of a record type. In its current state,
5532 only one heterogeneous master is necessary to handle multiple anonymous
5533 components.
5534 (Freeze_Type): Comment reformatting.
5535 * rtsfind.ads: Add RE_Set_Is_Heterogeneous to tables RE_Id and
5536 RE_Unit_Table.
5537 * s-stposu.adb (Allocate_Any_Controlled): Rewrite the machinery which
5538 associates TSS primitive Finalize_Address with either the master itself
5539 or with the internal hash table depending on the mode of operation of
5540 the master.
5541
6d4e4fbc
JM
55422011-08-30 Javier Miranda <miranda@adacore.com>
5543
5544 * exp_ch3.adb (Make_Eq_If): If the etype of the _parent component is an
5545 interface type then do not generate code to compare this component.
5546 Required since they have no components and their equality operator is
5547 abstract.
5548
d15f9422
AC
55492011-08-30 Steve Baird <baird@adacore.com>
5550
5551 * sem_util.ads (Deepest_Type_Access_Level): New function; for the type
5552 of a saooaaat (i.e, a stand-alone object of an anonymous access type),
5553 returns the (static) accessibility level of the object. Otherwise, the
5554 same as Type_Access_Level.
5555 (Dynamic_Accessibility_Level): New function; given an expression which
5556 could occur as the rhs of an assignment to a saooaaat (i.e., an
5557 expression of an access-to-object type), return the new value for the
5558 saooaaat's associated Extra_Accessibility object.
5559 (Effective_Extra_Accessibility): New function; same as
5560 Einfo.Extra_Accessibility except that object renames are looked through.
5561 * sem_util.adb
5562 (Deepest_Type_Access_Level): New function; see sem_util.ads description.
5563 (Dynamic_Accessibility_Level): New function; see sem_util.ads
5564 description.
5565 (Effective_Extra_Accessibility): New function; see sem_util.ads
5566 description.
5567 * einfo.ads (Is_Local_Anonymous_Access): Update comments.
5568 (Extra_Accessibility): Update comments.
5569 (Init_Object_Size_Align): New procedure; same as Init_Size_Align
5570 except RM_Size field (which is only for types) is unaffected.
5571 * einfo.adb
5572 (Extra_Accessibility): Expand domain to allow objects, not just formals.
5573 (Set_Extra_Accessibility): Expand domain to allow objects, not just
5574 formals.
5575 (Init_Size): Add assertion that we are not trashing the
5576 Extra_Accessibility attribute of an object.
5577 (Init_Size_Align): Add assertion that we are not trashing the
5578 Extra_Accessibility attribute of an object.
5579 (Init_Object_Size_Align): New procedure; see einfo.ads description.
5580 * sem_ch3.adb (Find_Type_Of_Object): Set Is_Local_Anonymous_Access
5581 differently for the type of a (non-library-level) saooaaat depending
5582 whether Ada_Version < Ada_2012. This is the only point where Ada_Version
5583 is queried in this set of changes - everything else (in particular,
5584 setting of the Extra_Accessibility attribute in exp_ch3.adb) is
5585 driven off of the setting of the Is_Local_Anonymous_Access attribute.
5586 The special treatment of library-level saooaaats is an optimization,
5587 not required for correctnesss. This is based on the observation that the
5588 Ada2012 rules (static and dynamic) for saooaaats turn out to be
5589 equivalent to the Ada2005 rules in the case of a library-level saooaaat.
5590 * exp_ch3.adb
5591 (Expand_N_Object_Declaration): If Is_Local_Anonymous_Access is
5592 false for the type of a saooaaat, declare and initialize its
5593 accessibility level object and set the Extra_Accessibility attribute
5594 of the saooaaat to refer to this object.
5595 * checks.adb (Apply_Accessibility_Check): Add Ada 2012 saooaaat support.
5596 * exp_ch4.adb (Expand_N_In): Replace some Extra_Accessibility calls with
5597 calls to Effective_Extra_Accessibility in order to support
5598 renames of saooaaats.
5599 (Expand_N_Type_Conversion): Add new local function,
5600 Has_Extra_Accessibility, and call it when determining whether an
5601 accessibility check is needed.
5602 It returns True iff Present (Effective_Extra_Accessibility (Id)) would
5603 evaluate to True (without raising an exception).
5604 * exp_ch5.adb
5605 (Expand_N_Assignment_Statement): When assigning to an Ada2012
5606 saooaaat, update its associated Extra_Accessibility object (if
5607 it has one). This includes an accessibility check.
5608 * exp_ch6.adb (Add_Call_By_Copy_Code): When parameter copy-back updates
5609 a saooaaat, update its Extra_Accessibility object too (if it
5610 has one).
5611 (Expand_Call): Replace a couple of calls to Type_Access_Level
5612 with calls to Dynamic_Access_Level to handle cases where
5613 passing a literal (any literal) is incorrect.
5614 * sem_attr.adb (Resolve_Attribute): Handle the static accessibility
5615 checks associated with "Saooaat := Some_Object'Access;"; this must
5616 be rejected if Some_Object is declared in a more nested scope
5617 than Saooaat.
5618 * sem_ch5.adb (Analyze_Assignment): Force accessibility checking for an
5619 assignment to a saooaaat even if Is_Local_Anonymous_Access
5620 returns False for its type (indicating a 2012-style saooaaat).
5621 * sem_ch8.adb
5622 (Analyze_Object_Renaming): Replace a call to Init_Size_Align
5623 (which is only appropriate for objects, not types) with a call
5624 of Init_Object_Size_Align in order to avoid trashing the
5625 Extra_Accessibility attribute of a rename (the two attributes
5626 share storage).
5627 * sem_res.adb
5628 (Valid_Conversion) Replace six calls to Type_Access_Level with
5629 calls to Deepest_Type_Access_Level. This is a bit tricky. For an
5630 Ada2012 non-library-level saooaaat, the former returns library level
5631 while the latter returns the (static) accessibility level of the
5632 saooaaat. A type conversion to the anonymous type of a saooaaat
5633 can only occur as part of an assignment to the saooaaat, so we
5634 know that such a conversion must be in a lhs context, so Deepest
5635 yields the result that we need. If such a conversion could occur,
5636 say, as the operand of an equality operator, then this might not
5637 be right. Also add a test so that static accessibilty checks are
5638 performed for converting to a saooaaat's type even if
5639 Is_Local_Anonymous_Access yields False for the type.
5640
56412011-08-30 Javier Miranda <miranda@adacore.com>
5642
5643 * sem_disp.adb (Check_Dispatching_Operation): Complete condition that
5644 controls generation of a warning associated with late declaration of
5645 dispatching functions. Required to avoid generating spurious
5646 warnings.
5647
6cce2156
GD
56482011-08-30 Gary Dismukes <dismukes@adacore.com>
5649
5650 * sem_ch6.adb (Check_Return_Subtype_Indication): Issue error if the
5651 return object has an anonymous access type and the function's type is
5652 a named access type.
5653 * sem_ch8.adb (Analyze_Object_Renaming): Suppress error about renaming
5654 conversions on implicit conversions, since such conversions can occur
5655 for anonymous access cases due to expansion. Issue error for attempt
5656 to rename an anonymous expression as an object of a named access type.
5657 * sem_res.ads (Valid_Conversion): Add defaulted parameter Report_Errs,
5658 to indicate whether this function should report errors on invalid
5659 conversions.
5660 * sem_res.adb (Resolve): For Ada 2012, in the case where the type of
5661 the expression is of an anonymous access type and the expected type is
5662 a named general access type, rewrite the expression as a type
5663 conversion, unless this is an expression of a membership test.
5664 (Valid_Conversion.Error_Msg_N): New procedure that conditions the
5665 calling of Error_Msg_N on new formal Report_Errs.
5666 (Valid_Conversion.Error_Msg_NE): New procedure that conditions the
5667 calling of Error_Msg_NE on new formal Report_Errs.
5668 (Valid_Conversion): Move declaration of this function to the package
5669 spec, to allow calls from membership test processing. For Ada 2012,
5670 enforce legality restrictions on implicit conversions of anonymous
5671 access values to general access types, disallowing such conversions in
5672 cases where the expression has a dynamic accessibility level (access
5673 parameters, stand-alone anonymous access objects, or a component of a
5674 dereference of one of the first two cases).
5675 * sem_type.adb (Covers): For Ada 2012, allow an anonymous access type
5676 in the context of a named general access expected type.
5677 * exp_ch4.adb Add with and use of Exp_Ch2.
5678 (Expand_N_In): Add processing for membership tests applied to
5679 expressions of an anonymous access type. First, Valid_Conversion is
5680 called to check whether the test is statically False, and then the
5681 conversion is expanded to test that the expression's accessibility
5682 level is no deeper than that of the tested type. In the case of
5683 anonymous access-to-tagged types, a tagged membership test is applied
5684 as well.
5685 (Tagged_Membership): Extend to handle access type cases, applying the
5686 test to the designated types.
5687 * exp_ch6.adb (Expand_Call): When creating an extra actual for an
5688 accessibility level, and the actual is a 'Access applied to a current
5689 instance, pass the accessibility level of the type of the current
5690 instance rather than applying Object_Access_Level to the prefix. Add a
5691 ??? comment, since this level isn't quite right either (will eventually
5692 need to pass an implicit level parameter to init procs).
5693
747de90b
AC
56942011-08-30 Bob Duff <duff@adacore.com>
5695
5696 * s-taskin.ads: Minor comment fix.
5697
56982011-08-30 Ed Schonberg <schonberg@adacore.com>
5699
5700 * sem_res.adb (Check_Parameterless_Call): If the node is a selected
5701 component and the selector is a dispatching operation, check if it is
5702 a prefixed call before rewriting as a parameterless function call.
5703
cdc4cc65
JJ
57042011-08-29 Jakub Jelinek <jakub@redhat.com>
5705
5706 * gcc-interface/Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy
5707 tsystem.h into $(RTSDIR) instead of rts.
5708
226a7fa4
AC
57092011-08-29 Robert Dewar <dewar@adacore.com>
5710
5711 * sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor
5712 reformatting.
5713 * gcc-interface/Make-lang.in: Update dependencies.
5714
57152011-08-29 Yannick Moy <moy@adacore.com>
5716
5717 * alfa.ads (Name_Of_Heap_Variable): New constant name.
5718 * lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global
5719 table to hold dereferences.
5720 (Add_ALFA_Xrefs): Take into account dereferences as special
5721 reads/writes to the variable "HEAP".
5722 (Enclosing_Subprogram_Or_Package): Move subprogram here.
5723 (Generate_Dereference): New procedure to store a read/write dereferencew
5724 in the table Drefs.
5725 * put_alfa.adb (Put_ALFA): Use different default than (0,0) used for
5726 the special "HEAP" var.
5727 * sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference
5728 in ALFA mode.
5729 * sem_util.adb (Note_Possible_Modification): Store write dereference
5730 in ALFA mode.
5731
dfbcb149
HK
57322011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
5733
5734 * exp_ch3.adb (Freeze_Type): Generate an accessibility check which
5735 ensures that the level of the subpool access type is not deeper than
5736 that of the pool object.
5737 * sem_util.adb (Object_Access_Level): Expand to handle defining
5738 identifiers.
5739 * sem_res.adb (Resolve_Allocator): Add a guard to avoid examining the
5740 subpool handle name of a rewritten allocator.
5741
1df4f514
AC
57422011-08-29 Robert Dewar <dewar@adacore.com>
5743
5744 * impunit.adb, exp_ch4.adb, s-finmas.adb: Minor reformatting.
5745
57462011-08-29 Thomas Quinot <quinot@adacore.com>
5747
5748 * exp_dist.adb (TC_Rec_Add_Process_Element): For a choice with multiple
5749 values, we generate multiple triples of parameters in the TypeCode.
5750 Bump Choice_Index for each such triple so that a subsequent default
5751 choice is associated with the correct index in the typecode.
5752
57532011-08-29 Ed Schonberg <schonberg@adacore.com>
5754
5755 * a-cdlili.adb (Iterate): Initialize properly an iterator over a null
5756 container.
5757 (First, Last): Handle properly an iterator over a null container.
5758
57592011-08-29 Bob Duff <duff@adacore.com>
5760
5761 * sem_ch10.adb (Analyze_With_Clause,Install_Withed_Unit): Abandon
5762 processing if we run across a node with no Scope. This can happen if
5763 we're with-ing an library-level instance, and that instance got errors
5764 that caused "instantiation abandoned".
5765 * sem_util.adb (Unit_Declaration_Node): Make it more robust, by raising
5766 an exception instead of using Assert, so it won't go into an infinite
5767 loop, even when assertions are turned off.
5768
57692011-08-29 Ed Schonberg <schonberg@adacore.com>
5770
5771 * a-coorse.adb: Proper handling of empty ordered sets.
5772
14f0f659
AC
57732011-08-29 Johannes Kanig <kanig@adacore.com>
5774
5775 * debug.adb: Add comments.
5776
8027b455
AC
57772011-08-29 Thomas Quinot <quinot@adacore.com>
5778
5779 * a-except.adb, a-except-2005.adb: Minor comment rewording and
5780 reformatting.
5781
57822011-08-29 Yannick Moy <moy@adacore.com>
5783
5784 * sem_ch3.adb (Array_Type_Declaration): Remove insertion of
5785 declaration for Itypes in Alfa mode.
5786
d85fd922
AC
57872011-08-29 Robert Dewar <dewar@adacore.com>
5788
5789 * a-cdlili.ads, a-coinve.ads, a-coorma.adb, a-coorma.ads, s-tassta.adb,
5790 a-cborma.adb, a-cborma.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
5791 a-cborse.ads, a-cobove.adb, a-cobove.ads, a-cbhase.ads: Minor
5792 reformatting.
5793
57942011-08-29 Tristan Gingold <gingold@adacore.com>
5795
5796 * exp_ch7.adb, exp_ch7.ads (Build_Exception_Handler): Move its spec to
5797 package spec.
5798 * exp_intr.adb (Expand_Unc_Deallocation): Use Build_Exception_Handler.
5799 * a-except.adb, a-except-2005.adb (Rcheck_22): Do not defer aborts
5800 while raising PE.
5801
fd3d2680
AC
58022011-08-29 Robert Dewar <dewar@adacore.com>
5803
5804 * a-cbhama.adb, a-cbhama.ads: Minor reformatting.
5805
58062011-08-29 Javier Miranda <miranda@adacore.com>
5807
5808 * sem_ch8.adb (Analyze_Subprogram_Renaming): Complete support for
5809 renamings of formal subprograms when the actual for a formal type is
5810 class-wide.
5811
dfbf013f
MH
58122011-08-29 Matthew Heaney <heaney@adacore.com>
5813
5814 * a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment
5815 to Target.
5816
58172011-08-29 Matthew Heaney <heaney@adacore.com>
5818
5819 * a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all
5820 components of record type.
5821 * a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw
5822 to Target.
5823
a6dd3a54
ES
58242011-08-29 Ed Schonberg <schonberg@adacore.com>
5825
5826 * a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb,
5827 a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to
5828 container packages.
5829
c54796e0
AC
58302011-08-29 Robert Dewar <dewar@adacore.com>
5831
5832 * sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
5833 reformatting.
5834
58352011-08-29 Matthew Heaney <heaney@adacore.com>
5836
5837 * a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
5838 components of record type.
5839
58402011-08-29 Bob Duff <duff@adacore.com>
5841
5842 * s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
5843 by the termination handler.
5844
9fd9d2be
AC
58452011-08-29 Yannick Moy <moy@adacore.com>
5846
5847 * sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
5848 created in Alfa mode, instead of inserting artificial declarations of
5849 non-Itypes in the tree.
5850 * sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to
5851 know if an Itype has a corresponding declaration, as defined in
5852 itypes.ads.
5853
58542011-08-29 Yannick Moy <moy@adacore.com>
5855
5856 * gnat1drv.adb: Minor rewrite.
5857
58582011-08-29 Bob Duff <duff@adacore.com>
5859
5860 * s-tasuti.adb (Make_Passive): Work around race condition in
5861 Make_Independent, which can cause Wait_Count to be zero. So instead of
5862 asserting that Wait_Count > 0, and then decrementing it, decrement it
5863 only if Wait_Count > 0.
5864 * s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these
5865 should be nonnegative, so declare them Natural instead of Integer.
5866
833eaa8a
AC
58672011-08-29 Robert Dewar <dewar@adacore.com>
5868
5869 * exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb,
5870 sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb,
5871 a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb,
5872 a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb,
5873 exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting.
5874
58752011-08-29 Tristan Gingold <gingold@adacore.com>
5876
5877 * s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels.
5878
58792011-08-29 Vadim Godunko <godunko@adacore.com>
5880
5881 * s-parint.ads: Minor comment clarification.
5882
58832011-08-29 Vincent Celier <celier@adacore.com>
5884
5885 * prj.adb (Initialize): Make sure that new reserved words after Ada 95
5886 may be used as identifiers.
5887
58882011-08-29 Ed Schonberg <schonberg@adacore.com>
5889
5890 * a-coinho.ads: Minor reformating.
5891
3a613a36
AC
58922011-08-29 Ed Schonberg <schonberg@adacore.com>
5893
5894 * exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a
5895 container of a derived type.
5896
3a613a36
AC
58972011-08-29 Ed Schonberg <schonberg@adacore.com>
5898
5899 * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
5900 a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers.
5901
14848f57
AC
59022011-08-29 Pascal Obry <obry@adacore.com>
5903
5904 * exp_disp.adb: Minor comment fix.
5905 (Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters
5906 to avoid warnings when compiling with -Wall.
5907 (Make_Disp_Conditional_Select_Body): Likewise.
5908 (Make_Disp_Timed_Select_Body): Likewise.
5909
59102011-08-29 Ed Schonberg <schonberg@adacore.com>
5911
5912 * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is
5913 an entity name, generate reference for it.
5914
59152011-08-29 Ed Schonberg <schonberg@adacore.com>
5916
5917 * exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S"
5918 iterator form.
5919 * sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for
5920 the class-wide type.
5921 * sem_ch5.adb: Move some rewriting to the expander, where it belongs.
5922
59232011-08-29 Ed Schonberg <schonberg@adacore.com>
5924
5925 * sem_ch8.adb (Check_Constrained_Object): Do not create an actual
5926 subtype for an object whose type is an unconstrained union.
5927
59282011-08-29 Ed Schonberg <schonberg@adacore.com>
5929
5930 * par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased"
5931 is allowed in a component definition, by AI95-406.
5932
59332011-08-29 Matthew Heaney <heaney@adacore.com>
5934
5935 * a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next.
5936
59372011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
5938
5939 * a-except-2005.adb: Alphabetize all routines.
5940 (Triggered_By_Abort): New routine.
5941 * a-except-2005.ads (Triggered_By_Abort): New routine.
5942 * a-except.adb Alphabetize all routines.
5943 (Triggered_By_Abort): New routine.
5944 * a-except.ads (Triggered_By_Abort): New routine.
5945 * exp_ch7.adb: Update all comments involving the detection of aborts in
5946 finalization code.
5947 (Build_Object_Declarations): Do not generate code to detect the
5948 presence of an abort at the start of finalization code, use a runtime
5949 routine istead.
5950 * rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and
5951 RE_Unit_Table.
5952 * sem_res.adb (Resolve_Allocator): Emit a warning when attempting to
5953 allocate a task on a subpool.
5954 * s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use.
5955 The flag disables all actions related to the maintenance of
5956 Finalize_Address_Table when subpools are not in use.
5957 (Allocate_Any_Controlled): Signal the machinery that subpools are in
5958 use.
5959 (Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which
5960 performs costly task locking when subpools are not in use.
5961
57a8057a
AC
59622011-08-29 Yannick Moy <moy@adacore.com>
5963
5964 * gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged
5965 types and dispatching calls in Alfa mode.
5966 * lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of
5967 correspondance between body and spec scopes, to reuse utility functions
5968 (Traverse_Declarations_Or_Statements): Protect access to body for stub
5969 by testing the presence of the library unit for the body
5970 * sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa
5971 mode the expansion of accept statements is skipped
5972 * sem_util.adb, sem_util.ads (Unique_Entity): New function returning
5973 the unique entity corresponding to the one returned by
5974 Unique_Defining_Entity applied to the enclosing declaration of the
5975 argument.
5976
59772011-08-29 Bob Duff <duff@adacore.com>
5978
5979 * treepr.ads: Improve debugging facilities. pn(x) no longer crashes in
5980 gdb when x is not a node (it can be a node list, name_id, etc). pp is
5981 an alias for pn. ppp is an alias for pt.
5982
59832011-08-29 Javier Miranda <miranda@adacore.com>
5984
5985 * exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing
5986 aggregate to take a consistent decision on the need to convert into
5987 assignments aggregates that initialize constant objects.
5988
59892011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
5990
5991 * exp_ch4.adb (Expand_Allocator_Expression): Add a call to
5992 Build_Allocate_Deallocate_Proc in order to handle allocation of
5993 non-controlled objects on subpools.
5994 * impunit.adb: Remove s-finmas and s-spsufi since they were never meant
5995 to be end-user visible.
5996 * s-finmas.adb: Add with and use clause for System.HTable.
5997 Add an instantiation of Simple_HTable which provides a mapping between
5998 the address of a controlled object and the corresponding
5999 Finalize_Address used to clean up the object. The table is used when a
6000 master is operating in heterogeneous mode.
6001 (Attach): Explain why the input node is not verified on being already
6002 attached.
6003 (Delete_Finalize_Address): New routine.
6004 (Detach): Add pragma Assert which ensures that a node is already
6005 attached.
6006 (Finalize): Add local variable Cleanup. Rewrite the iteration scheme
6007 since nodes are no longer removed on traversal. Explain why node
6008 detachment is undesirable in this case.
6009 (Get_Finalize_Address): New routine.
6010 (Hash): New routine.
6011 (Is_Empty_List): Removed.
6012 (pm): Renamed to Print_Master. Add output for discriminant
6013 Is_Homogeneous.
6014 Comment reformatting.
6015 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
6016 * s-finmas.ads: Various comments additions / improvements.
6017 Type Finalization_Master has a discriminant which determines the mode of
6018 operation.
6019 (Delete_Finalize_Address): New routine.
6020 (Get_Finalize_Address): New routine.
6021 (pm): Renamed to Print_Master.
6022 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
6023 * s-stposu.adb: Add with clause for System.Address_Image; Add with and
6024 use clause for System.IO.
6025 (Allocate_Any_Controlled): Add machinery to set TSS primitive
6026 Finalize_Address depending on the mode of allocation and the mode of
6027 the master.
6028 (Deallocate_Any_Controlled): Remove the relation pair object -
6029 Finalize_Address regardless of the master mode. Add comment explaining
6030 the reason.
6031 (Detach): Ensure that fields Prev and Next are null after detachment.
6032 (Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration
6033 scheme to check whether the list of subpools is empty. There is no
6034 longer need to store the next subpool or advance the current pointer.
6035 (Is_Empty_List): New routine.
6036 (Print_Pool): New routine.
6037 (Print_Subpool): New routine.
6038 * s-stposu.ads: Various comments additions / improvements.
6039 Field Master of type Root_Subpool is now a heterogeneous collection.
6040 (Print_Pool): New routine.
6041 (Print_Subpool): New routine.
6042
60432011-08-29 Ed Schonberg <schonberg@adacore.com>
6044
6045 * exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator
6046 forms, using aspects of container types.
6047 * sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and
6048 Has_Implicit_Dereference flags, that may be set on the partial view.
6049 * sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a
6050 container type with an indexing aspect.
6051 (Analyze_Quantified_Expression): Analyze construct with expansion
6052 disabled, because it will be rewritten as a loop during expansion.
6053 (Try_Container_Indexing): The prefix itself may be a container type
6054 with an indexing aspect, as with a vector of vectors.
6055 * sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze
6056 the original doamin of iteration, for name capture.
6057 (Analyze_Iterator_Specification): If the domain is an expression that
6058 needs finalization, create a separate declaration for it.
6059 For an iterator with "of" retrieve default iterator info from aspect of
6060 container type. For "in" iterator, retrieve type of Iterate function.
6061 * sem_ch13.adb (Check_Iterator_Function): Fix typo.
6062 (Check_Aspect_At_End_Of_Declaration): Make type unfrozen before
6063 analysis, to prevent spurious errors about late attributes.
6064 * sprint.adb: Handle quantified expression with either loop or iterator
6065 specification.
6066 * a-convec.ads, a-convec.adb: Iterate function returns a reversible
6067 iterator.
6068
ddf67a1d
AC
60692011-08-29 Vincent Celier <celier@adacore.com>
6070
6071 * make.adb (Scan_Make_Arg): Take any option as is in packages Compiler,
6072 Binder or Linker of the main project file.
6073
60742011-08-29 Ed Schonberg <schonberg@adacore.com>
6075
6076 * inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic
6077 unit.
6078
60792011-08-29 Yannick Moy <moy@adacore.com>
6080
6081 * exp_ch9.adb: Partial revert of previous change for Alfa mode
6082
60832011-08-29 Yannick Moy <moy@adacore.com>
6084
6085 * exp_ch11.adb: Minor expansion of comment.
6086
60872011-08-29 Yannick Moy <moy@adacore.com>
6088
6089 * lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities.
6090
60912011-08-29 Ed Schonberg <schonberg@adacore.com>
6092
6093 * sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal
6094 interpretation, set the type before resolving the operands, because
6095 legality checks on an exponention operand need to know the type of the
6096 context.
6097
60982011-08-29 Ed Schonberg <schonberg@adacore.com>
6099
6100 * sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed
6101 cleanups on a master if the instance is within a generic unit.
6102 Complement to the corresponding fix to inline.adb for K520-030.
6103
61042011-08-29 Tristan Gingold <gingold@adacore.com>
6105
6106 * exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current
6107 occurrence.
6108 * exp_intr.adb: Minor comment fix.
6109
61102011-08-29 Bob Duff <duff@adacore.com>
6111
6112 * sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where
6113 Delay_Required was used as an uninitialized variable.
6114
690943fc
RD
61152011-08-29 Robert Dewar <dewar@adacore.com>
6116
6117 * a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads,
6118 sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb,
6119 a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting.
6120
9f0ee988
TQ
61212011-08-29 Thomas Quinot <quinot@adacore.com>
6122
6123 * system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True.
6124 Remove unused variables.
6125
3e24afaa
AC
61262011-08-29 Ed Schonberg <schonberg@adacore.com>
6127
6128 * sem_res.adb: Remove Build_Explicit_Dereference.
6129 * sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here
6130 from sem_res.adb, used in analysis of additional constructs.
6131 (Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012
6132 expansion of iterators.
6133 (Is_Object_Reference): Recognize variables rewritten as explicit
6134 dereferences in Ada2012.
6135 * snames.ads-tmpl: Add Has_Element, Forward_Iterator,
6136 Reversible_Iterator names, for expansion of Ada2012 iterators.
6137 * aspects.ads, aspects.adb (Find_Aspect): Utility.
6138 * a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly
6139 linked list container.
6140 * a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers.
6141 * a-coorse.ads, a-coorse.adb: Ditto for ordered sets.
6142
61432011-08-29 Ed Schonberg <schonberg@adacore.com>
6144
6145 * a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map
6146 containers.
6147
61482011-08-29 Vincent Celier <celier@adacore.com>
6149
6150 * make.adb (Gnatmake): Get the maximum number of simultaneous
6151 compilation processes after the Builder switches has been scanned, as
6152 there may include -jnn.
6153
61542011-08-29 Matthew Heaney <heaney@adacore.com>
6155
6156 * a-chtgbo.adb (Generic_Equal): Use correct overloading of Next.
6157
61582011-08-29 Tristan Gingold <gingold@adacore.com>
6159
6160 * gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of
6161 GNAT_DRIVER_COMMAND_LINE to 255.
6162
61632011-08-29 Pascal Obry <obry@adacore.com>
6164
6165 * freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor
6166 reformatting and style fix (class attribute casing).
6167
61682011-08-29 Yannick Moy <moy@adacore.com>
6169
6170 * exp_ch11.adb: Yet another case where expansion should be common
6171 between CodePeer and Alfa.
6172
61732011-08-29 Yannick Moy <moy@adacore.com>
6174
6175 * exp_ch9.adb: Partial revert of previous change for Alfa mode.
6176
61772011-08-29 Ed Schonberg <schonberg@adacore.com>
6178
6179 * sem_ch6.adb (Matches_Limited_With_View): The limited views of an
6180 incomplete type and its completion match.
6181
3ddd922e
AC
61822011-08-29 Yannick Moy <moy@adacore.com>
6183
6184 * exp_ch13.adb: Adjust previous change.
6185
61862011-08-29 Robert Dewar <dewar@adacore.com>
6187
6188 * sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
6189 exp_ch4.adb, sem_ch8.adb: Minor code reorganization
6190 Minor reformatting.
6191
444acbdd
AC
61922011-08-29 Emmanuel Briot <briot@adacore.com>
6193
6194 * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also
6195 initialize aggregated projects.
6196
61972011-08-29 Ed Schonberg <schonberg@adacore.com>
6198
6199 * sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope
6200 depth of candidates to resolve a potentially spurious ambiguity between
6201 two visible subprograms.
6202
e0296583
AC
62032011-08-29 Yannick Moy <moy@adacore.com>
6204
6205 * sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without
6206 Requires/Ensures.
6207 * sem_util.adb (Get_Ensures_From_Test_Case_Pragma,
6208 Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without
6209 Requires/Ensures.
6210
62112011-08-29 Arnaud Charlet <charlet@adacore.com>
6212
6213 * gnat1drv.adb (Adjust_Global_Switches): Improve previous change.
6214 Add comment.
6215
62162011-08-29 Thomas Quinot <quinot@adacore.com>
6217
6218 * sem_res.adb: Minor reformatting.
6219
69794413
JK
62202011-08-29 Johannes Kanig <kanig@adacore.com>
6221
6222 * exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
6223 mode.
6224 * gnat1drv.adb (Adjust_Global_Switches): Set
6225 Use_Expressions_With_Actions to False in ALFA mode.
6226 * sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
6227 ALFA mode.
6228
59e6b23c
AC
62292011-08-29 Yannick Moy <moy@adacore.com>
6230
6231 * exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
6232 * exp_ch9.adb: Do not expand tasking constructs in Alfa mode.
6233 * gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of
6234 tagged types and dispatching calls in Alfa mode.
6235
62362011-08-29 Javier Miranda <miranda@adacore.com>
6237
6238 * sem_ch3.adb (Process_Discriminants): Add missing check to ensure that
6239 we do not report an error on an Empty node.
6240
62412011-08-29 Geert Bosch <bosch@adacore.com>
6242
6243 * Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o,
6244 a-nlrear.o and a-nurear.o.
6245
62462011-08-29 Robert Dewar <dewar@adacore.com>
6247
6248 * freeze.adb: Minor code reorganization.
6249 Minor reformatting.
6250 * sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb,
6251 sem_ch6.adb: Minor reformatting
6252
62532011-08-29 Tristan Gingold <gingold@adacore.com>
6254
6255 * s-except.ads, s-except.adb: Provide dummy body.
6256
62572011-08-29 Yannick Moy <moy@adacore.com>
6258
6259 * sem_warn.adb (Within_Postcondition): Take into account the case of
6260 an Ensures component in a Test_Case.
6261
4d792549
AC
62622011-08-29 Tristan Gingold <gingold@adacore.com>
6263
6264 * s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
6265 * rtsfind.ads (RTU_Id): Replaces System_Exceptions by
6266 System_Exceptions_Debug
6267 (RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
6268 * a-except.adb: With and use System.Exceptions_Debug instead of
6269 System.Exceptions.
6270 * a-except-2005.adb: Likewise.
6271 * s-assert.adb: Likewise.
6272 * s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
6273 * Makefile.rtl: Add s-excdeb. Adjust compilation rule.
6274 * gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
6275 s-excdeb. Update dependencies.
6276 (GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
6277 as these no longer need external libraries.
6278
62792011-08-29 Ed Schonberg <schonberg@adacore.com>
6280
6281 * sem_res.adb (Resolve_Op_Expon): Additional check to reject an
6282 exponentiation operator on universal values in a context that requires
6283 a fixed-point type.
6284
62852011-08-29 Tristan Gingold <gingold@adacore.com>
6286
6287 * raise-gcc.c (personnality_routine): Fix thinko. Set Ada occurrence
6288 before calling notify_handled_exception.
6289 * a-exextr.adb: Fix comment.
6290
b254da66
AC
62912011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
6292
6293 * exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
6294 Finalize_Address of the access type's finalization master.
6295 (Expand_N_Allocator): Add code to set attribute Finalize_Address of the
6296 access type's finalization master. Add a guard to prevent
6297 Associated_Storage_Pool from being set on .NET/JVM.
6298 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
6299 attribute Finalize_Address of the access type's finalization master.
6300 * exp_ch7.adb (Make_Finalize_Address_Call): New routine.
6301 * exp_ch7.ads (Make_Finalize_Address_Call): New routine.
6302 * rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
6303 RE_Unit_Table.
6304 * s-finmas.adb: Add with clause for System.Address_Image. Add with and
6305 use clause for System.IO
6306 (Detach): Relax the assertion, to be reinstated later.
6307 (Finalize): Rewrite the iteration loop to avoid pointer comparison.
6308 Relax the assertion on Finalize_Address, to be reinstated later.
6309 (Is_Empty_List): New routine.
6310 (pm): New debug routine.
6311 (Set_Finalize_Address): New routine.
6312 * s-finmas.ads (pm): New debug routine.
6313 (Set_Finalize_Address): New routine.
6314 * s-stposu.adb (Allocate_Any_Controlled): Code reformatting.
6315
63162011-08-29 Tristan Gingold <gingold@adacore.com>
6317
6318 * a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
6319 Remove convention C.
6320
63212011-08-29 Tristan Gingold <gingold@adacore.com>
6322
6323 * s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
6324 (Initialize_TCB): Remove Exc_Stack_Ptr initialization.
6325 (Finalize_TCB): Remove its finalization.
6326 (Initialize): Remove assignment of GET_Exc_Stack_Addr
6327 * s-soflin.adb (NT_Exc_Stack): Remove
6328 (Get_Exc_Stack_Addr_NT): Likewise.
6329 (Get_Exc_Stack_Addr_Soft): Likewise.
6330 * s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
6331 (Get_Exc_Stack_Addr): Likewise.
6332 (Get_Exc_Stack_Addr_Soft): Likewise
6333 * s-taspri-vms.ads (Exc_Stack_T): Remove.
6334 (Exc_Stack_Ptr_T): Likewise.
6335 (Private_Data): Remove Exc_Stack_Ptr component.
6336
63372011-08-29 Tristan Gingold <gingold@adacore.com>
6338
6339 * raise-gcc.c (get_ip_from_context): New function. Factorize code.
6340
63412011-08-29 Tristan Gingold <gingold@adacore.com>
6342
6343 * gnat_ugn.texi: Fix aix and x86-solaris info for run-time.
6344
63452011-08-29 Geert Bosch <bosch@adacore.com>
6346
6347 * s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
6348 L2_Norm, Swap_Column): New generic subprograms
6349 * s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
6350 L2_Norm, Swap_Column): Implement new subprograms in order to
6351 eliminate dependency on BLAS and LAPACK libraries in
6352 Ada.Numerics.Generic_Real_Arrays and eventually also the complex
6353 version. Forward_Eliminate/Back_Substitute can be used to put a
6354 matrix in row echelon or reduced row echelon form using partial
6355 pivoting.
6356 * a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
6357 Swap_Column): Instantiate from System.Generic_Array_Operations.
6358 ("*", "abs"): Implement by instantiation from Generic_Array_Operations.
6359 (Sqrt): Local function for simple computation of square root without
6360 adding dependencies on Generic_Elementary_Functions.
6361 (Swap): New subprogram to exchange floating point numbers.
6362 (Inverse): Reimplement using Jordan-Gauss elimination.
6363 (Jacobi): New procedure implementing Jacobi's method for computation
6364 of eigensystems, based on Rutishauser's implementation.
6365 (L2_Norm): Implement directly using the inner product.
6366 (Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
6367 decreasing eigenvalue as required by the Ada RM.
6368 (Swap_Column): New helper procedure for Sort_Eigensystem.
6369 Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
6370 Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
6371 Sort_Eigensystems.
6372
63732011-08-29 Thomas Quinot <quinot@adacore.com>
6374
6375 * put_scos.adb (Put_SCOs): Do not emit a newline for an empty
6376 statements line.
6377
60370fb1
AC
63782011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
6379
6380 * s-finmas.adb (Finalize): Check Finalize_Address of the master rather
6381 than the current node.
6382 * s-finmas.ads: Move field Finalize_Address from type FM_Node to
6383 Finalization_Master. The list headers have two fields instead of three.
6384 This should fix alignment issue but subpool allocations are now
6385 unusable. Alphabetize subprograms.
6386 * s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
6387 the size of the header when converting the beginning of the object to
6388 a FM_Node. Set the master's Finalize_Address attribute if not already
6389 set.
6390 (Deallocate_Any_Controlled): Use the offset rather than the size of the
6391 header when converting the beginning of the object to a FM_Node.
6392
63932011-08-29 Gary Dismukes <dismukes@adacore.com>
6394
6395 * exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
6396 reraise when compiling for CodePeer.
6397
63982011-08-29 Arnaud Charlet <charlet@adacore.com>
6399
6400 * a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
6401 now needed by a-convec.adb. Fix warning.
6402
64032011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
6404
6405 * exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
6406 processing of TSS routine Finalize_Address when compiling in
6407 CodePeer_Mode.
6408
64092011-08-29 Thomas Quinot <quinot@adacore.com>
6410
6411 * a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
6412 sem_warn.adb: Minor reformatting.
6413
64142011-08-29 Emmanuel Briot <briot@adacore.com>
6415
6416 * prj-conf.adb (Get_Config_Switches): Also collect the list of
6417 languages from aggregated projects.
6418
64192011-08-29 Yannick Moy <moy@adacore.com>
6420
6421 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
6422 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
6423 Traverse_Package_Declaration, Traverse_Subprogram_Body,
6424 Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
6425 for stubs are traversed too when parameter is set
6426 (Traverse_All_Compilation_Units): Traverse without going inside stubs
6427 (Traverse_Declarations_Or_Statements): Do the special traversing for
6428 stubs when required.
6429 * sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
6430 return subprogram or package body from stub.
6431 (Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
6432 stubs without prior subprogram decl.
6433
64342011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
6435
6436 * gnat_ugn.texi: Fix typo.
6437
e9c9d122
HK
64382011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
6439
6440 * s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism
6441 which accounts for size vs alignment issues and calculates the size of
6442 the list header.
6443 (Deallocate_Any_Controlled): Ditto.
6444 (Nearest_Multiple_Rounded_Up): New routine.
6445
25ebc085
AC
64462011-08-29 Tristan Gingold <gingold@adacore.com>
6447
6448 * a-exstat.adb (String_To_EO): Do no set Cleanup_Flag.
6449 * a-exexda.adb (Set_Exception_C_Msg): Ditto.
6450 (Set_Exception_Msg): Ditto.
6451 * a-exexpr-gcc.adb (Setup_Current_Excep): Ditto. Do not set
6452 Private_Data.
6453 * a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove.
6454 Use Save_Occurrence instead of Save_Occurrence_No_Private.
6455 (Raise_With_Msg): Remove Cleanup_Flag.
6456 * a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove
6457 Clean_Flag and Private_Data components.
6458
64592011-08-29 Yannick Moy <moy@adacore.com>
6460
6461 * freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like
6462 in CodePeer mode.
6463 * sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation
6464 of an explicitly declared type, so that the base types of the original
6465 type and this generated type are the same, and a "type" (not a subtype
6466 like previously).
6467 * errout.adb (Special_Msg_Delete): Do not issue messages "Size too
6468 small" in Alfa mode, like in CodePeer mode.
6469 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep
6470 clauses in Alfa mode.
6471
64722011-08-29 Javier Miranda <miranda@adacore.com>
6473
6474 * exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this
6475 function to the package spec.
6476 * sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For
6477 internally generated bodies of null procedures locate the internally
6478 generated spec enforcing mode conformance.
6479 (Is_Interface_Conformant): Ensure that the controlling formal of the
6480 primitives match.
6481
64822011-08-29 Ed Schonberg <schonberg@adacore.com>
6483
6484 * sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not
6485 reject the pragma if it appears to apply to a formal subprogram.
6486
64872011-08-29 Ed Schonberg <schonberg@adacore.com>
6488
6489 * exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for
6490 inner expression, to prevent double evaluation.
6491
590549fb
AC
64922011-08-29 Tristan Gingold <gingold@adacore.com>
6493
6494 * a-exexpr.adb (Propagate_Exception): Remove all the parameters as
6495 they were unused.
6496 * a-exexpr-gcc.adb (Propagate_Exception): Ditto.
6497 * a-except-2005.adb (Propagate_Exception): Adjust spec.
6498 (Raise_Current_Excep): Adjust call.
6499 (Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.
6500
65012011-08-29 Thomas Quinot <quinot@adacore.com>
6502
6503 * exp_disp.adb: Minor reformatting.
6504
62380e66
TG
65052011-08-29 Tristan Gingold <gingold@adacore.com>
6506
6507 * a-exexpr.adb (Setup_Exception): Removed.
6508 * a-exexpr-gcc.adb (Setup_Exception): Removed.
6509 * a-except.adb (Exception_Propagation): Removed.
6510 * a-except-2005.adb (Setup_Exception): Removed.
6511 (Reraise): Remove call to Setup_Exception.
6512 (Reraise_Occurrence): Ditto.
6513 (Reraise_Occurrence_Always): Ditto.
6514 (Reraise_Occurrence_No_Defer): Ditto.
6515 (Transfer_Occurrence): Ditto.
6516 * a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
6517 (Set_Exception_Msg): Ditto.
6518
c95aa61c
AC
65192011-08-29 Robert Dewar <dewar@adacore.com>
6520
6521 * a-convec.adb, exp_disp.adb: Minor reformatting.
6522
65232011-08-29 Tristan Gingold <gingold@adacore.com>
6524
6525 * a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C.
6526
624e1688
AC
65272011-08-29 Gary Dismukes <dismukes@adacore.com>
6528
6529 * exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set
6530 Exception_Handlers to No_List instead of Empty_List in the case where
6531 there are no handlers.
6532
65332011-08-29 Tristan Gingold <gingold@adacore.com>
6534
6535 * gcc-interface/gigi.h (enum standard_datatypes): Add
6536 ADT_reraise_zcx_decl
6537 (reraise_zcx_decl): New macro.
6538 * gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable.
6539 (gigi): Set reraise_zcx_decl.
6540 (Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr.
6541 (gnat_to_gnu): Handle N_Raise_Statement.
6542
7134062a
AC
65432011-08-29 Robert Dewar <dewar@adacore.com>
6544
6545 * sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads,
6546 a-undesu.adb: Minor reformatting.
6547
65482011-08-29 Ed Schonberg <schonberg@adacore.com>
6549
6550 * exp_disp.adb (Check_Premature_Freezing): When building a dispatch
6551 table, accept an unfrozen untagged component if it is an actual for a
6552 formal incomplete type.
6553 * a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to
6554 provide new iterator forms over vectors.
6555 Introduce type Iterator in package body to implement operations of
6556 Reversible_Iterator interface.
6557 * a-iteint.ads: Make package pure so it is usable with new container
6558 packages, that are categorized Remote_Types.
6559
ca5af305
AC
65602011-08-29 Robert Dewar <dewar@adacore.com>
6561
6562 * a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting.
6563
65642011-08-29 Bob Duff <duff@adacore.com>
6565
6566 * sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case
6567 of <>, because this is the routine that checks for dimensionality
6568 errors (for example, for a two-dimensional array, (others => <>) should
6569 be (others => (others => <>)).
6570
65712011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
6572
6573 * impunit.adb: Add new run-time units.
6574 * freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb,
6575 s-stposu.ads, s-stposu.adb: Code clean up.
6576 Handle protected class-wide or task class-wide types
6577 Handle C/C++/CIL/Java types.
6578 * s-spsufi.adb, s-spsufi.ads: New files.
6579
5accd7b6
AC
65802011-08-29 Yannick Moy <moy@adacore.com>
6581
6582 * sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on
6583 library-level subprogram.
6584 * sem_prag.adb (Check_Test_Case): Stricter rules for test-case
6585 placement.
6586 (Analyze_Pragma): Change name "Normal" for "Nominal" in test-case
6587 component.
6588 * snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case
6589 component.
6590 * gnat_rm.texi: Update doc for Test_Case pragma.
6591
65922011-08-29 Tristan Gingold <gingold@adacore.com>
6593
6594 * a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it
6595 convention C.
6596 (GCC_Exception_Access): New type.
6597 (Unwind_DeleteException): New imported procedure
6598 (Foreign_Exception): Import it.
6599 (GNAT_GCC_Exception): Simply have the occurrence inside.
6600 (To_GCC_Exception): New function.
6601 (To_GNAT_GCC_Exception): New function.
6602 (GNAT_GCC_Exception_Cleanup): New procedure..
6603 (Propagate_GCC_Exception): New procedure.
6604 (Reraise_GCC_Exception): New procedure.
6605 (Setup_Current_Excep): New procedure.
6606 (CleanupUnwind_Handler): Change type of UW_Exception parameter.
6607 (Unwind_RaiseException): Ditto.
6608 (Unwind_ForcedUnwind): Ditto.
6609 (Remove): Removed.
6610 (Begin_Handler): Change type of parameter.
6611 (End_Handler): Ditto. Now delete the exception if still present.
6612 (Setup_Key): Removed.
6613 (Is_Setup_And_Not_Propagated): Removed.
6614 (Set_Setup_And_Not_Propagated): Ditto.
6615 (Clear_Setup_And_Not_Propagated): Ditto.
6616 (Save_Occurrence_And_Private): Ditto.
6617 (EID_For): Add 'not null' constraint on parameter.
6618 (Setup_Exception): Does nothing.
6619 (Propagate_Exception): Simplified.
6620 * exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model,
6621 re-raise is not expanded anymore.
6622 * s-except.ads (Foreign_Exception): New exception - placeholder for
6623 non Ada exceptions.
6624 * raise-gcc.c (__gnat_setup_current_excep): Declare
6625 (CXX_EXCEPTION_CLASS): Define (not yet used)
6626 (GNAT_EXCEPTION_CLASS): Define.
6627 (is_handled_by): Handle foreign exceptions.
6628 (PERSONALITY_FUNCTION): Call __gnat_setup_current_excep.
6629
66302011-08-29 Jose Ruiz <ruiz@adacore.com>
6631
6632 * a-synbar.adb (Synchronous_Barrier): Some additional clarification.
6633
2ef48385
AC
66342011-08-29 Thomas Quinot <quinot@adacore.com>
6635
6636 * a-synbar-posix.adb: Minor reformatting.
6637
66382011-08-29 Jose Ruiz <ruiz@adacore.com>
6639
6640 * a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads,
6641 a-exetim-default.ads (Interrupt_Clocks_Supported,
6642 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
6643 definitions to be compliant with AI-0171. The target systems do not
6644 support separate account for the execution time of interrupt handlers.
6645
66462011-08-29 Jose Ruiz <ruiz@adacore.com>
6647
6648 * a-synbar.adb (Wait): Change the order of evaluation of the conditions
6649 in the barrier to put first the easiest to evaluate (and the one which
6650 will be True more often). More efficient.
6651
66522011-08-29 Eric Botcazou <ebotcazou@adacore.com>
6653
6654 * s-atocou-x86.adb: Fix constraint in machine code insertion.
6655
66562011-08-29 Bob Duff <duff@adacore.com>
6657
6658 * aspects.ads, aspects.adb: Add new aspects for various pragmas and
6659 attributes that are now aspects, as specified by AI05-0229-1.
6660 * sem_ch13.adb (Analyze_Aspect_Specifications,
6661 Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into
6662 pragmas or attribute references, as appropriate.
6663
0db16b1e
AC
66642011-08-29 Robert Dewar <dewar@adacore.com>
6665
6666 * a-synbar.ads, a-synbar.adb, a-synbar-posix.adb,
6667 a-synbar-posix.ads: Minor reformatting.
6668
66692011-08-29 Yannick Moy <moy@adacore.com>
6670
6671 * snames.ads-tmpl: Add name Force.
6672
978ffe02
AC
66732011-08-29 Pascal Obry <obry@adacore.com>
6674
6675 * prj-nmsc.adb: Minor reformatting.
6676
66772011-08-29 Jose Ruiz <ruiz@adacore.com>
6678
6679 * a-exetim.ads (Interrupt_Clocks_Supported,
6680 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
6681 definitions to be compliant with AI-0171.
6682
66832011-08-29 Robert Dewar <dewar@adacore.com>
6684
6685 * a-ngelfu.adb: Add comments.
6686
718f39dc
AC
66872011-08-29 Geert Bosch <bosch@adacore.com>
6688
6689 * a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is
6690 the closest machine number to Pi / 2.0.
6691
66922011-08-29 Jose Ruiz <ruiz@adacore.com>
6693
6694 * impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012
6695 package Ada.Synchronous_Barriers.
6696 * a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb:
6697 Add new specs and bodies for Ada.Synchronous_Barriers. There is a
6698 default implementation using protected objects and another one
6699 a-synbar-posix using POSIX barriers as the underlying support.
6700 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86,
6701 x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of
6702 Ada.Synchronous_Barriers which uses POSIX barriers (more efficient).
6703 Clean up dependencies.
6704 * Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o
6705
ee2e3f6b
AC
67062011-08-29 Robert Dewar <dewar@adacore.com>
6707
6708 * sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb,
6709 exp_dist.adb: Minor code reorganization.
6710 Minor reformatting.
6711
67122011-08-29 Thomas Quinot <quinot@adacore.com>
6713
6714 * sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW
6715 primitive operation must support external streaming if it is not a
6716 controlling access result.
6717
646e2823
AC
67182011-08-29 Thomas Quinot <quinot@adacore.com>
6719
6720 * sinfo.ads, sem_ch7.adb: Minor reformatting.
6721
67222011-08-29 Bob Duff <duff@adacore.com>
6723
6724 * sem_ch4.adb (Analyze_Allocator): Check No_Nested_Finalization
6725 restriction on allocators, as required by AI05-0013-1.
6726 * restrict.ads: Minor comment fix.
6727
5d59eef2
AC
67282011-08-29 Tristan Gingold <gingold@adacore.com>
6729
6730 * a-exexpr.adb, a-except-2005.ads (Jmpbuf_Address): Move to a-exexpr.adb
6731 (To_Jmpbuf_Address): Ditto
6732 (builtin_longjmp): Ditto
6733
67342011-08-29 Thomas Quinot <quinot@adacore.com>
6735
6736 * sem_res.adb: Minor reformatting.
6737
67382011-08-29 Vincent Celier <celier@adacore.com>
6739
6740 * make.adb (Gnatmake): Move special processing for VM targets after the
6741 call to Get_Target_Parameters.
6742
67432011-08-29 Thomas Quinot <quinot@adacore.com>
6744
6745 * sem_ch12.adb, par-ch12.adb: Minor reformatting.
6746
949a18cc
AC
67472011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
6748
6749 * sem_res.adb (Resolve_Allocator): Implement Ada2012-B052. Detect cases
6750 where an anonymous access discriminant of a limited designated type
6751 appears in a non-immutably limited discriminated type and issue an
6752 error message. Add local variable Desig_T and replace all occurrences
6753 of Designated_Type.
6754
67552011-08-29 Jose Ruiz <ruiz@adacore.com>
6756
6757 * a-rttiev.adb (Set_Handler): Update comment to indicate that our
6758 implementation is compliant to RM D.15(15/2) after the modification
6759 imposed by AI05-0094-1 (binding interpretation).
6760
cb25faf8
AC
67612011-08-29 Robert Dewar <dewar@adacore.com>
6762
6763 * exp_ch9.adb, s-tasren.adb, exp_sel.adb, exp_sel.ads, exp_ch11.adb,
6764 s-interr-hwint.adb, s-tpobop.adb, sem_ch13.adb: Minor reformatting.
6765
67662011-08-29 Thomas Quinot <quinot@adacore.com>
6767
6768 * par-endh.adb (Check_End): For an END where it is mandatory to repeat
6769 the scope name, do not report a missing label as a style violation (it
6770 will be diagnosed as an illegality).
6771 * exp_dist.adb (Add_Params_For_Variant_Components): Fix handling of
6772 variant records: Get_Enum_Lit_From_Pos already returns a usage
6773 occurrence of the literal, no need to use New_Occurrence_Of. Set Etype
6774 on Expr in Integer_Literal case so that it can be used by
6775 Build_To_Any_Call.
6776
1d10f669
AC
67772011-08-29 Tristan Gingold <gingold@adacore.com>
6778
6779 * exp_sel.ads (Build_Abort_BLock_Handler): New function spec.
6780 Adjust comment.
6781 * exp_sel.adb (Build_Abort_Block): Use Build_Abort_Block_Handler.
6782 (Build_Abort_Block_Handler): New function to build an Abort_Signal
6783 exception handler.
6784 * exp_ch9.adb (Expand_N_Asynchronous_Select): Call
6785 Build_Abort_Block_Handler to build the exception handler. Do not
6786 undefer aborts for the Abort_Signal exception handler if back-end
6787 exception mechanism.
6788 * exp_ch11.adb (Expand_Exception_Handlers): Do not undefer aborts if
6789 back_end exceptions for all others and abort_signal.
6790 * s-except.ads (ZCX_By_Default): New constant.
6791 * a-except-2005.adb (Raise_Exception): Do not defer abort if ZCX.
6792 (Raise_Exception_Always): Ditto.
6793 (Raise_From_Signal_Handler): Ditto.
6794 (Raise_With_Location_And_Msg): Ditto.
6795 (Raise_With_Msg): Ditto.
6796 (Reraise): Ditto.
6797 (Reraise_Occurence): Ditto.
6798 (Reraise_Occurrence_Always): Ditto.
6799 * s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
6800 * s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
1d10f669
AC
6801
68022011-08-29 Thomas Quinot <quinot@adacore.com>
6803
6804 * sem_util.ads (Get_Enum_Lit_From_Pos): Clarify documentation.
6805
d986066d
AC
68062011-08-29 Robert Dewar <dewar@adacore.com>
6807
6808 * snames.adb-tmpl, sem_ch13.adb: Minor reformatting
6809 Minor code reorganization.
6810
68112011-08-29 Bob Duff <duff@adacore.com>
6812
6813 * usage.adb (-gnatwy): Fix documentation: this switch applies to Ada
6814 2012, not just Ada 2005.
6815
68162011-08-29 Vincent Celier <celier@adacore.com>
6817
6818 * gnat_ugn.texi: Indicate that when the compiler is called by gnatmake
6819 with a project file or with gprbuid, if -gnatep= is specified, the
6820 builder may need to be invoked with -x.
6821
68222011-08-29 Tristan Gingold <gingold@adacore.com>
6823
6824 * a-exexpr-gcc.adb: Minor comment fix.
6825
ff4f0ed0
AC
68262011-08-29 Robert Dewar <dewar@adacore.com>
6827
6828 * sem_ch8.adb: Minor reformatting.
6829
68302011-08-29 Bob Duff <duff@adacore.com>
6831
6832 * par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
6833 * par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
6834 treating "some" as unreserved in earlier Ada versions. This is now
6835 handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
6836 rather than Name_Some, since Tok_Some is now recognized as reserved.
6837 * scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
6838 reserved word.
6839 * scans.ads: Minor comment fixes.
6840 * snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
6841 for other language versions.
6842 * scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
6843 treating "some" as unreserved in earlier Ada versions. This is now
6844 handled in Snames.Is_Keyword_Name.
6845 * par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
6846 Ada 2012.
6847 (P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
6848 unreserved in earlier Ada versions. This is now handled in
6849 Snames.Is_Keyword_Name.
6850 * snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
6851 words as for other language versions.
6852 * gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
6853 Ada 2012, not just Ada 2005.
6854
d941cee6
AC
68552011-08-29 Ed Schonberg <schonberg@adacore.com>
6856
6857 * sem_ch13.adb: Additional semantic checks for aspects involved in
6858 iterators.
6859
68602011-08-29 Matthew Heaney <heaney@adacore.com>
6861
6862 * a-comutr.ads, a-comutr.adb, a-cimutr.ads, a-cimutr.adb,
6863 a-cbmutr.ads, a-cbmutr.adb (Find_In_Subtree): Remove superfluous
6864 Container parameter.
6865 (Ancestor_Find): ditto.
6866
b970af39
TQ
68672011-08-29 Thomas Quinot <quinot@adacore.com>
6868
6869 * par-endh.adb: Minor reformatting.
d941cee6 6870
92db5dee
AC
68712011-08-29 Tristan Gingold <gingold@adacore.com>
6872
6873 * a-exexpr-gcc.adb (Unwind_Action) Rewrite as an integer with constants.
6874 (GNAT_GCC_Exception): Remove N_Cleanups_To_Trigger component.
6875 (Adjust_N_CLeanups_For): Remove.
6876 (CleanupUnwind_Handler): Call Unhandled_Exception_Terminate when end of
6877 stack is reached.
6878 (Propgate_Exception): Adjust.
6879 * raise-gcc.c: Add a few static/const.
6880 (Adjust_N_Cleanups_For): Remove declaration.
6881 (PERSONALITY_FUNCTION): Remove code dealing with N_Cleanups_To_Trigger.
6882
68832011-08-29 Ed Schonberg <schonberg@adacore.com>
6884
6885 * sem_ch8.adb: Use type of function return when rewriting as object
6886 declaration.
6887
1378bf10
AC
68882011-08-29 Gary Dismukes <dismukes@adacore.com>
6889
6890 * sem_type.adb: Minor reformatting.
6891
68922011-08-29 Robert Dewar <dewar@adacore.com>
6893
6894 * makeutl.adb: Minor reformatting.
6895
68962011-08-29 Ed Schonberg <schonberg@adacore.com>
6897
6898 * sem_ch8.adb (Analyze_Object_Renaming): If the renamed object is a
6899 function call of a limited type, the expansion of the renaming is
6900 complicated by the presence of various temporaries and subtypes that
6901 capture constraints of the renamed object.
6902 Rewrite node as an object declaration, whose expansion is simpler.
6903 Given that the object is limited there is no copy involved and no
6904 performance hit.
6905
164e06c6
AC
69062011-08-29 Robert Dewar <dewar@adacore.com>
6907
6908 * exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
6909 freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.
6910
69112011-08-29 Tristan Gingold <gingold@adacore.com>
6912
6913 * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
6914 system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
6915 system-linux-hppa.ads, system-linux-s390.ads,
6916 system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
6917 system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
6918 system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads,
6919 system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads,
6920 system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads,
6921 system-solaris-sparc.ads, system-lynxos-x86.ads,
6922 system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
6923 system-solaris-x86_64.ads, system-mingw-x86_64.ads,
6924 system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
6925 system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
7d266442 6926 system-vxworks-x86.ads: Remove GCC_ZCX_Support.
164e06c6
AC
6927 * s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
6928 s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
6929 * opt.ads: Adjust comment.
6930 * targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
6931 * gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
6932 * system.ads: Move GCC_ZCX_Support to obsolete entries.
6933
69342011-08-29 Emmanuel Briot <briot@adacore.com>
6935
6936 * makeutl.adb (Do_Complete): Resolve symbolic links when a relative
6937 file name is specified on the gnatmake or gprbuild command line, and
6938 before we search for that file in the project.
6939
69402011-08-29 Ed Schonberg <schonberg@adacore.com>
6941
6942 * sem_type.adb (Within_Instance): New predicate in Collect_Interps,
6943 used to determine whether a possible interpretation for an overloadable
6944 entity is declared within the current instantiation and should be
6945 included in the candidate set.
6946
69472011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
6948
6949 * gnat_rm.texi, gnat_ugn.texi: Clean ups.
6950
97216ca8
ES
69512011-08-29 Ed Schonberg <schonberg@adacore.com>
6952
6953 * sem_res.adb (Resolve_Actuals): Use base type to determine whether an
6954 access subtype is access_to_subprogram, when applying checks for
6955 RM 3.10.2 (27).
6956
d3cb4cc0
AC
69572011-08-29 Matthew Heaney <heaney@adacore.com>
6958
6959 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Splice_Subtree): Only check
6960 for sibling when common parent.
6961
69622011-08-29 Thomas Quinot <quinot@adacore.com>
6963
6964 * get_scos.adb: Literals of Pragma_Id are pragma names prefixed with
6965 "pragma_".
6966
69672011-08-29 Ed Schonberg <schonberg@adacore.com>
6968
6969 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Enable freeze actions
6970 for the return type when in ASIS mode.
6971
69722011-08-29 Vincent Celier <celier@adacore.com>
6973
6974 * make.adb (Gnatmake): Get the default search dirs, then the target
6975 parameters after getting the Builder switches, as the Builder switches
6976 may include --RTS= and that could change the default search dirs.
6977
69782011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
6979
6980 * exp_ch7.adb (Make_Adjust_Call): Rewrite to mimic the structure of
6981 Make_Final_Call. Move the processing for class-wide types before the
6982 processing for derivations from [Limited_]Controlled.
6983 (Make_Final_Call): Move the processing for class-wide types before the
6984 processing for derivations from [Limited_]Controlled.
6985 * s-stposu.adb (Allocate_Any_Controlled): Correct the membership check.
6986 Add code to account for alignments larger than the list header. Add a
6987 comment illustrating the structure of the allocated object + padding +
6988 header.
6989 (Deallocate_Any_Controlled): Add code to account for alignments larger
6990 than the list header.
6991
69922011-08-29 Ed Schonberg <schonberg@adacore.com>
6993
6994 * sinfo.ads, sinfo.adb: New node kind
6995 N_Formal_Incomplete_Type_Definition, related flags.
6996 par-ch12.adb (P_Formal_Type_Declaration, G_Formal_Type_Definition):
6997 Parse formal incomplete types.
6998 * sem.adb (Analyze): Formal_Incomplete_Type_Definitions are handled in
6999 sem_ch12.
7000 * sem_ch7.adb (Analyze_Package_Specification, Unit_Requires_Body):
7001 Formal incomplete types do not need completion.
7002 * sem_ch12.adb (Analyze_Formal_Incomplete_Type,
7003 Validate_Incomplete_Type_Instance): New procedures to handle formal
7004 incomplete types.
7005 * freeze.adb (Freeze_Entity): Do not freeze the subtype of an actual
7006 that corresponds to a formal incomplete type.
7007 * sprint.adb: Handle formal incomplete type declarations.
7008 * exp_util.adb (Insert_Actions): An incomplete_type_definition is not
7009 an insertion point.
7010
d3f70b35
AC
70112011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
7012
7013 * a-fihema.ads, a-fihema.adb: Unit removed.
7014 * a-undesu.ads, a-undesu.adb: New unit implementing
7015 Ada.Unchecked_Deallocate_Subpool.
7016 * einfo.adb: Remove Associated_Collection from the node usage.
7017 Add Finalization_Master to the node usage.
7018 (Associated_Collection): Removed.
7019 (Finalization_Master): New routine.
7020 (Set_Associated_Collection): Removed.
7021 (Set_Finalization_Master): New routine.
7022 (Write_Field23_Name): Remove Associated_Collection from the output. Add
7023 Finalization_Master to the output.
7024 * einfo.ads: Remove attribute Associated_Collection and its uses in
7025 entities.
7026 Add new attribute Finalization_Master along with its uses in entitites.
7027 (Associated_Collection): Removed along with its pragma import.
7028 (Finalization_Master): New routine along with a pragma import.
7029 (Set_Associated_Collection): Removed along with its pragma import.
7030 (Set_Finalization_Master): New routine along with a pragma import.
7031 * exp_ch3.adb (Expand_Freeze_Array_Type): Replace call to
7032 Build_Finalization_Collection with Build_Finalization_Master.
7033 (Expand_Freeze_Record_Type): Move the generation of Finalize_Address
7034 before the bodies of the predefined routines. Add comment explaining
7035 this. Replace call to Build_Finalization_Collection with
7036 Build_Finalization_Master.
7037 (Freeze_Type): Replace call to Build_Finalization_Collection with
7038 Build_Finalization_Master.
7039 (Make_Finalize_Address_Body): Comment reformatting.
7040 (Make_Predefined_Primitive_Specs): Code reformatting.
7041 (Stream_Operation_OK): Update comment mentioning finalization
7042 collections. Replace RE_Finalization_Collection with
7043 RE_Finalization_Master.
7044 * exp_ch4.adb (Complete_Controlled_Allocation): Replace call to
7045 Associated_Collection with Finalization_Master. Replace call to
7046 Build_Finalization_Collection with Build_Finalization_Master.
7047 (Expand_Allocator_Expression): Replace call to Associated_Collection
7048 with Finalization_Master. Replace call to Set_Associated_Collection with
7049 Set_Finalization_Master. Remove the generation of
7050 Set_Finalize_Address_Ptr.
7051 (Expand_N_Allocator): Replace call to Associated_Collection with
7052 Finalization_Master. Remove the generation of Set_Finalize_Address_Ptr.
7053 * exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Renamed to
7054 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Update the
7055 comment on usage. Replace call to Needs_BIP_Collection with
7056 Needs_BIP_Finalization_Master Remplace BIP_Collection with
7057 BIP_Finalization_Master. Update all comments which mention finalization
7058 collections. Replace Associated_Collection with
7059 Finalization_Master. Replace Build_Finalization_Collection with
7060 Build_Finalization_Master.
7061 (BIP_Formal_Suffix): Update BIP_Collection's case.
7062 (Build_Heap_Allocator): Update the related comment. Rename local
7063 variable Collect to Fin_Mas_Id and update its occurrences. Update
7064 comments which mention finalization collections. Replace
7065 Set_Associated_Collection with Set_Finalization_Master.
7066 (Expand_Call): Update the code which detects a special piece of library
7067 code for .NET/JVM.
7068 (Make_Build_In_Place_Call_In_Allocator): Replace the call to
7069 Add_Collection_Actual_To_Build_In_Place_Call with
7070 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Remove the code
7071 which generates a call to Make_Set_Finalize_Address_Ptr_Call.
7072 (Make_Build_In_Place_Call_In_Anonymous_Context): Replace call to
7073 Add_Collection_Actual_To_Build_In_Place_Call with
7074 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
7075 (Make_Build_In_Place_Call_In_Assignment): Replace call to
7076 Add_Collection_Actual_To_Build_In_Place_Call with
7077 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
7078 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
7079 * exp_ch6.ads: Rename BIP_Collection to BIP_Finalization_Master.
7080 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
7081 * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Update comment on usage.
7082 Rename local variable Collect to Fin_Mas_Id and update its occurrences.
7083 Replace call to Set_Associated_Collection with Set_Finalization_Master.
7084 (Build_Finalization_Collection): Renamed to Build_Finalization_Master.
7085 Replace the call to Associated_Collection with Finalization_Master.
7086 Rename local variable Coll_Id to Fin_Mas_Id and update its occurrences.
7087 Update the way finalization master names are generated. Update the
7088 retrieval of the correct access type which will carry the pool and
7089 master attributes.
7090 (Make_Final_Call): Reimplement the way [Deep_]Finalize is retrieved.
7091 (Make_Finalize_Address_Body): Abstract types do not need
7092 Finalize_Address. Code reformatting.
7093 (Make_Finalize_Address_Stmts): Update comment on usage.
7094 (Make_Set_Finalize_Address_Ptr_Call): Removed.
7095 (Process_Declarations): Update comments.
7096 * exp_ch7.ads (Build_Finalization_Collection): Renamed to
7097 Build_Finalization_Master. Update associated comment.
7098 (Make_Set_Finalize_Address_Ptr_Call): Removed.
7099 * exp_ch13.adb: Update comments which mention finalization collections.
7100 (Expand_N_Free_Statement): Replace the call to Associated_Collection
7101 with Finalization_Master.
7102 * exp_util.adb (Build_Allocate_Deallocate_Proc): Reimplemented to
7103 create calls to routines Allocate_Any_Controlled and
7104 Deallocate_Any_Controlled.
7105 (Find_Finalize_Address): New routine.
7106 (Is_Allocate_Deallocate_Proc): Update the RTE entities used in the
7107 comparison.
7108 (Requires_Cleanup_Actions): Update the comment on freeze node
7109 inspection.
7110 * exp_util.ads: Remove comment on generated code for
7111 Build_Allocate_Deallocate_Proc. The code is now quite complex and it
7112 is better to simply look in the body.
7113 * freeze.adb (Freeze_All): Update the comment of finalization
7114 collections. Replace the call to Associated_Collection with
7115 Finalization_Master. Replace the call to Build_Finalization_Collection
7116 with Build_Finalization_Master.
7117 * impunit.adb: Add a-undesu and s-stposu to the list of units.
7118 * Makefile.rtl: Add files a-undesu, s-finmas and s-stposu. Remove file
7119 a-fihema.
7120 * rtsfind.adb (Get_Unit_Name): Remove the processing for children of
7121 Ada.Finalization. Add processing for children of System.Storage_Pools.
7122 * rtsfind.ads: Remove the naming of second level children of
7123 Ada.Finalization.
7124 Remove Ada_Finalization_Heap_Management from the list of units.
7125 Remove subtype Ada_Finalization_Child.
7126 Remove the following subprogram entities:
7127
7128 RE_Allocate
7129 RE_Deallocate
7130 RE_Finalization_Collection
7131 RE_Finalization_Collection_Ptr
7132 RE_Set_Finalize_Address_Ptr
7133
7134 Add the naming of second level children of System.Storage_Pools.
7135 Add System_Finalization_Masters and System_Storage_Pools_Subpools to
7136 the list of units.
7137 Add subtype System_Storage_Pools_Child.
7138 Add the following subprogram entities to System.Finalization_Masters:
7139
7140 RE_Finalization_Master
7141 RE_Finalization_Master_Ptr
7142
7143 Add the following subprogram entities to System.Storage_Pools.Subpools:
7144
7145 RE_Allocate_Any_Controlled
7146 RE_Deallocate_Any_Controlled
7147 RE_Root_Storage_Pool_With_Subpools
7148 RE_Root_Subpool
7149 RE_Subpool_Handle
7150
7151 Move the following subprogram entities from
7152 Ada.Finalization.Heap_Management to System.Finalization_Masters:
7153
7154 RE_Add_Offset_To_Address
7155 RE_Attach
7156 RE_Base_Pool
7157 RE_Detach
7158
7159 * sem_ch3.adb (Access_Type_Declaration): Replace the call to
7160 Set_Associated_Collection with Set_Finalization_Master.
7161 * sem_ch6.adb (Create_Extra_Formals): Update the way extra formal
7162 BIP_Finalization_Master is created.
7163 * s-finmas.adb: New unit System.Finalization_Masters.
7164 * s-finmas.ads: New unit System.Finalization_Masters.
7165 * s-stopoo.ads, s-stopoo.adb: Minor code reformatting.
7166 * s-stposu.ads, s-stposu.adb: New unit implementing
7167 System.Storage_Pools.Subpools.
7168
71692011-08-29 Bob Duff <duff@adacore.com>
7170
7171 * tbuild.adb: Add assertion.
7172
8c889ae4
AC
71732011-08-29 Thomas Quinot <quinot@adacore.com>
7174
7175 * s-pooglo.adb: Minor reformatting.
7176
71772011-08-29 Ed Schonberg <schonberg@adacore.com>
7178
7179 * exp_ch5.adb (Expand_N_Assignment_Statement): if the left-hand side is
7180 an indexed component of a packed array whose element type is a record
7181 with a representation clause different from that of the right-hand
7182 side, generate a temporary to minimuze the number of bit-field
7183 operations generated.
7184
71852011-08-29 Ed Schonberg <schonberg@adacore.com>
7186
7187 * exp_util.adb (Insert_Actions): Use clauses can be part of lists of
7188 declarations, and thus are likely insertion points for actions.
7189
71902011-08-29 Bob Duff <duff@adacore.com>
7191
7192 * einfo.ads: Minor comment fix.
7193
1a07a71a
AC
71942011-08-29 Robert Dewar <dewar@adacore.com>
7195
7196 * frontend.adb, gnat1drv.adb: Minor reformatting.
7197
71982011-08-29 Tristan Gingold <gingold@adacore.com>
7199
7200 * s-pooglo.adb (Allocate, Deallocate): Take into account the alignment.
7201 * a-fihema.adb (Allocate, Deallocate): Ditto. Possibly add padding
7202 space in front of the header.
7203
4bcd6411
JK
72042011-08-29 Johannes Kanig <kanig@adacore.com>
7205
7206 * frontend.adb (Frontend): Exit after creating Standard package when
7207 -gnatd.H is present.
7208 * gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
7209 present.
7210
f0f88eb6
RD
72112011-08-29 Robert Dewar <dewar@adacore.com>
7212
7213 * exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb,
7214 makeutl.adb, makeutl.ads, atree.ads, snames.adb-tmpl,
7215 snames.ads-tmpl: Minor reformatting.
7216
3e37be71
PG
72172011-08-29 Philippe Gil <gil@adacore.com>
7218
7219 * prj.adb (Reset_Units_In_Table): New procedure.
7220 Reset units to avoid access to freed memory.
7221
94fb7608
AC
72222011-08-29 Thomas Quinot <quinot@adacore.com>
7223
7224 * get_scos.adb: When reading a P statement SCO without a pragma name
7225 (from an older ALI file), ensure that the Pragma_Name component is set
7226 to Unknown_Pragma (not left uninitialized).
7227
72282011-08-29 Vincent Celier <celier@adacore.com>
7229
7230 * makeutl.adb (Get_Directories): New procedure moved from Buildgpr and
7231 modified to compute correctly the object path of a SAL project that is
7232 extending another library project.
7233 (Write_Path_File): New procedure.
7234 * makeutl.ads (Directories): New table moved from Buildgpr
7235 (Get_Directories): New procedure moved from Buildgpr
7236 (Write_Path_File): New procedure
7237 * mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the
7238 paths before binding SALs, instead of Set_Ada_Paths.
7239 * prj-env.adb (Set_Path_File_Var): Procedure has been moved to package
7240 Prj.
7241 * prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env
7242 (Current_Source_Path_File_Of): New function
7243 (Set_Current_Object_Path_File_Of): New procedure
7244 (Current_Source_Object_File_Of): New function
7245 (Set_Current_Object_Path_File_Of): New procedure
7246 * prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env
7247 (Current_Source_Path_File_Of): New function
7248 (Set_Current_Object_Path_File_Of): New procedure
7249 (Current_Source_Object_File_Of): New function
7250 (Set_Current_Object_Path_File_Of): New procedure
7251
72522011-08-29 Ed Schonberg <schonberg@adacore.com>
7253
7254 * exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a
7255 packed entity, use a bit-field assignment only if there is no change of
7256 representation.
7257
c5ecd6b7
AC
72582011-08-29 Thomas Quinot <quinot@adacore.com>
7259
7260 * rtsfind.ads, exp_ch3.adb (In_Runtime): Minor code improvement, use
7261 Is_RTU instead of using Chars comparisons.
7262
72632011-08-29 Thomas Quinot <quinot@adacore.com>
7264
7265 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do not create a
7266 temporary object if the actual is constrained, and the discriminants
7267 read from the stream don't match.
7268
72692011-08-29 Tristan Gingold <gingold@adacore.com>
7270
7271 * sem_attr.adb, exp_attr.adb: Add handling of
7272 Attribute_System_Allocator_Alignment
7273 * snames.ads-tmpl: Add Name_System_Allocator_Alignment and
7274 Attribute_System_Allocator_Alignment.
7275 * ttypes.ads, get_targ.ads: Add Get_System_Allocator_Alignment.
7276 * gcc-interface/targtyps.c, gcc-interface/utils2.c,
7277 gcc-interface/gigi.h: Renames get_target_default_allocator_alignment to
7278 get_target_system_allocator_alignment.
7279
72802011-08-29 Arnaud Charlet <charlet@adacore.com>
7281
7282 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
7283 dependencies.
7284
8abdac29
AC
72852011-08-29 Arnaud Charlet <charlet@adacore.com>
7286
7287 * exp_ch3.adb (In_Runtime): Fix typo.
7288
df170605
AC
72892011-08-29 Bob Duff <duff@adacore.com>
7290
7291 * sem_ch4.adb (Analyze_Allocator): Analyze the subpool specification.
7292
72932011-08-29 Ed Schonberg <schonberg@adacore.com>
7294
7295 * exp_ch3.adb (Expand_N_Object_Declaration): If the entity is tagged
7296 and a separate tag assignment is generated, ensure that the tag
7297 assignment is analyzed.
7298
864a4236
ES
72992011-08-29 Ed Schonberg <schonberg@adacore.com>
7300
7301 * atree.ads, atree.adb (Copy_Separate_List): New function that applies
7302 Copy_Separate_Tree to a list of nodes. Used to create disjoint copies
7303 of statement lists that may contain local declarations.
df170605
AC
7304 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Use Copy_Separate_List to
7305 duplicate the triggering statements needed for the expansion of this
7306 construct, when the trigger is a dispatching call to a synchronized
7307 primitive.
864a4236 7308
7f394c1d
AC
73092011-08-29 Arnaud Charlet <charlet@adacore.com>
7310
7311 * gnat_rm.texi: Add doc for 'Elab_Subp_Body.
7312 * bindgen.adb: Add comments.
7313 * snames.adb-tmpl (Is_Attribute_Name): Only recognize 'Elab_Subp_Body
7314 in CodePeer mode.
7315
2c1a2cf3
RD
73162011-08-29 Robert Dewar <dewar@adacore.com>
7317
7318 * exp_attr.adb: Minor reformatting.
7319 Minor code reorganization and commenting.
7320 * par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
7321 reformatting.
7322
0bfc9a64
AC
73232011-08-29 Thomas Quinot <quinot@adacore.com>
7324
7325 * get_scos.adb: Ignore chaining indicators not currently supported
7326 by Ada.
7327
73282011-08-29 Arnaud Charlet <charlet@adacore.com>
7329
7330 * system.ads: Minor editing.
7331
73322011-08-29 Arnaud Charlet <charlet@adacore.com>
7333
7334 * bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in
7335 CodePeer mode.
7336 * sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of
7337 Attribute_Elab_Subp_Body.
7338 * snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New.
7339 * sem_util.adb: Update comments.
7340
828d4cf0
TQ
73412011-08-29 Thomas Quinot <quinot@adacore.com>
7342
7343 * par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record
7344 pragma name for each SCO statement corresponding to a pragma.
7345
5cd7bb15
AC
73462011-08-29 Arnaud Charlet <charlet@adacore.com>
7347
7348 * opt.ads: Minor editing.
7349
73502011-08-29 Yannick Moy <moy@adacore.com>
7351
7352 * gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
7353 that only made sense for CodePeer mode.
7354
73552011-08-29 Jose Ruiz <ruiz@adacore.com>
7356
7357 * targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
7358 which is no longer used.
7359 * targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
7360 handling of the 64-bit division check.
7361 * exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
7362 division available.
7363 * system*.ads (Support_64_Bit_Divides): Remove this flag which is no
7364 longer used.
7365
73662011-08-29 Thomas Quinot <quinot@adacore.com>
7367
7368 * get_scos.adb: Minor reformatting.
7369
25b589cb
AC
73702011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
7371
7372 * exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
7373 statement list is wrapped in a block, the block is explicitly analyzed
7374 in order to properly redecorate the entities and create a servicing
7375 finalizer.
7376
73772011-08-29 Tristan Gingold <gingold@adacore.com>
7378
7379 * sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
7380 (Set_Zero_Cost_Handling): Remove.
7381
73822011-08-29 Thomas Quinot <quinot@adacore.com>
7383
7384 * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting
7385
1197ddb1
AC
73862011-08-29 Geert Bosch <bosch@adacore.com>
7387
7388 * s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
7389 instruction, as the latter may produce -0.0, which is not a valid VAX
7390 F float number.
7391 (Neg_G): Likewise for VAX F float.
7392
73932011-08-29 Robert Dewar <dewar@adacore.com>
7394
7395 * exp_util.adb: Minor reformatting.
7396
73972011-08-29 Yannick Moy <moy@adacore.com>
7398
7399 * sem_ch3.adb: Minor comment update.
7400
74012011-08-29 Thomas Quinot <quinot@adacore.com>
7402
7403 * checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
7404 the operand type.
7405
74062011-08-29 Thomas Quinot <quinot@adacore.com>
7407
7408 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
7409 current statement sequence on a generic instantiation or a subprogram
7410 declaration.
7411
8f66cda7
AC
74122011-08-29 Robert Dewar <dewar@adacore.com>
7413
7414 * sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
7415 Minor reformatting.
7416
74172011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
7418
7419 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
7420 Correct the check which involves the freeze node of a controlled or
7421 access-to-controlled type.
7422
74232011-08-29 Geert Bosch <bosch@adacore.com>
7424
7425 * sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
7426 statements.
7427 * s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
7428 Asm statements.
7429
cf161d66
AC
74302011-08-29 Yannick Moy <moy@adacore.com>
7431
7432 * sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
7433 for every index type and component type that is not a subtype_mark.
7434 (Process_Subtype): Set Etype of subtype.
7435
74362011-08-29 Robert Dewar <dewar@adacore.com>
7437
7438 * a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
7439 reorganization. Minor reformatting.
7440
7cc83cd8
AC
74412011-08-29 Steve Baird <baird@adacore.com>
7442
7443 * exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
7444 for CodePeer and ALFA modes.
7445
74462011-08-29 Ed Schonberg <schonberg@adacore.com>
7447
7448 * sem_type.adb (Collect_Interps): Within an instance, collect a homonym
7449 that comes from an enclosing scope if it is not the renaming of an
7450 actual, to handle properly a spurious ambiguity in an instance.
7451
76af4137
AC
74522011-08-29 Eric Botcazou <ebotcazou@adacore.com>
7453
7454 * sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
7455 (Alignment_Check_For_Size_Change): ...this. Add SIZE parameter and
7456 use it instead of the Esize of the first parameter.
7457 (Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
7458 above change.
7459 <Size>: Likewise. Call it for composite types on the RM size.
7460
74612011-08-29 Yannick Moy <moy@adacore.com>
7462
7463 * exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
7464 * sem_util.adb (Unique_Name): Correct behaviour for names of
7465 compilation units.
7466
9b20e59b
AC
74672011-08-29 Yannick Moy <moy@adacore.com>
7468
7469 * sem_prag.adb (Check_Precondition_Postcondition): In formal
7470 verification mode, analyze pragma expression for correctness, for
7471 pre/post on library-level subprogram, as it is not expanded later.
7472
74732011-08-29 Yannick Moy <moy@adacore.com>
7474
7475 * exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
7476 in formal verification.
7477
74782011-08-29 Thomas Quinot <quinot@adacore.com>
7479
7480 * sem_util.adb: Minor reformatting.
7481 * freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
7482 there's no pragma.
7483 * par_sco.ads, par_sco.adb: Update comments.
7484
74852011-08-29 Yannick Moy <moy@adacore.com>
7486
7487 * einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
7488 associated getter/setter.
7489 * sem_ch6.adb: Remove reference to Is_Postcondition_Proc.
7490
74912011-08-29 Vincent Celier <celier@adacore.com>
7492
7493 * prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
7494 * prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
7495 with declarations for Language_Kind and Dependency_Kind for Ada.
7496 * prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
7497 (Process_Compiler): Take into account the new attributes Dependency_Kind
7498 and Language_Kind.
7499 (Check_Configuration): Check if language kind is unit based, not if the
7500 language name is Ada.
7501 (Process_Exceptions_Unit_Based): Ditto
7502 (Add_Language): Remove default additions of language and dependency kind
7503 * prj.ads: Minor comment change
7504 * snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind
7505
75062011-08-29 Johannes Kanig <kanig@adacore.com>
7507
7508 * debug.adb: Update comments.
7509
c5bc3df6
JM
75102011-08-24 Joseph Myers <joseph@codesourcery.com>
7511
7512 * gcc-interface/Make-lang.in (CFLAGS-ada/tracebak.o)
7513 (CFLAGS-ada/targext.o, CFLAGS-ada/cio.o, CFLAGS-ada/init.o)
7514 (CFLAGS-ada/initialize.o, CFLAGS-ada/raise.o): New.
7515 (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o)
7516 (ada/initialize.o, ada/raise.o): Remove explicit compilation rules.
7517
e3aa9eba
RO
75182011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7519
7520 * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): New.
7521 (GNATLIBCFLAGS_FOR_C): Replace
7522 TARGET_LIBGCC2_CFLAGS by PICFLAG_FOR_TARGET.
7523 (gnatlib-shared-default, gnatlib-shared-dual-win32)
7524 (gnatlib-shared-win32, gnatlib-shared-darwin, gnatlib-shared)
7525 (gnatlib-sjlj, gnatlib-zcx): Likewise.
7526
f446d60e
EB
75272011-08-07 Eric Botcazou <ebotcazou@adacore.com>
7528
7529 * gcc-interface/Makefile.in (raise-gcc.o): Fix previous change.
7530
588c8f48
EB
7531 * gcc-interface/gigi.h (enumerate_modes): Fix formatting.
7532
7533 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Revert latest change.
7534
28d711bf
NR
75352011-08-05 Nicolas Roche <roche@adacore.com>
7536
7537 * gcc-interface/Makefile.in: Don't use directly ../xgcc to build shared
7538 libgnat. Use rather the value of GCC_FOR_TARGET. Fix issue with
7539 canadian cross.
7540 * gcc-interface/Make-lang.in: Add support for canadian cross setting.
7541
993f8920
AC
75422011-08-05 Matthew Heaney <heaney@adacore.com>
7543
7544 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Child_Count, Child_Depth):
7545 subprogram bodies declared out-of-order.
7546
75472011-08-05 Yannick Moy <moy@adacore.com>
7548
7549 * sem_util.adb (Unique_Name): only prefix with "standard" the names of
7550 entities directly in package Standard, otherwise skip the standard
7551 prefix.
7552
9b3956dd
RD
75532011-08-05 Robert Dewar <dewar@adacore.com>
7554
7555 * a-cbmutr.adb: Minor reformatting
7556 (Allocate_Node): refactor node allocation algorithm
7557
75582011-08-05 Robert Dewar <dewar@adacore.com>
7559
7560 * opt.ads, opt.adb (Debug_Pragmas_Disabled): New switch.
7561 * sem_prag.adb (Analyze_Pragma, case Debug_Policy): Implement Disable
7562 mode.
7563 (Analyze_Pragma, case Check_Policy): Ditto.
7564 * sem_prag.ads (Check_Disabled): New function
7565 * snames.ads-tmpl: Add Name_Disable.
7566
75672011-08-05 Robert Dewar <dewar@adacore.com>
7568
7569 * gnat_rm.texi: Document implementation-defined policy DISABLE for
7570 pragmas Assertion_Policy, Check_Policy, Debug_Policy.
7571
79e705d6
AC
75722011-08-05 Ed Schonberg <schonberg@adacore.com>
7573
7574 * sem_prag.adb (Analyze_Pragma, case Inline): reject an Inline pragma
7575 that appears in a generic formal part and applies to a formal
7576 subprogram.
7577
75782011-08-05 Robert Dewar <dewar@adacore.com>
7579
7580 * a-cbmutr.ads: Minor reformatting.
7581
23b6deca
AC
75822011-08-05 Matthew Heaney <heaney@adacore.com>
7583
7584 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Read): do not use T'Valid
7585 to check count, check sign of value instead.
7586 * a-comutr.adb, a-cimutr.adb (Write): return immediately if tree empty
7587 (Copy_Subtree): allocate copy of source element
7588 (Equal_Subtree): compare elements, not access objects
7589
75902011-08-05 Vincent Celier <celier@adacore.com>
7591
7592 * gnat_ugn.texi: Fix VMS alternative.
7593
a2773bd3
AC
75942011-08-05 Thomas Quinot <quinot@adacore.com>
7595
7596 * sem_ch11.adb: Add comment.
7597
75982011-08-05 Robert Dewar <dewar@adacore.com>
7599
7600 * exp_util.adb: Minor comment fix.
7601
76022011-08-05 Robert Dewar <dewar@adacore.com>
7603
7604 * scng.adb (Error_Unterminated_String): Improve flag position when
7605 comma present.
7606
76072011-08-05 Matthew Heaney <heaney@adacore.com>
7608
7609 * Makefile.rtl, impunit.adb: Added a-cbmutr.ad[sb] (bounded multiway
7610 tree containers).
7611 * a-cbmutr.ads, a-cbmutr.adb: This is the new Ada 2012 unit for bounded
7612 multiway tree containers.
7613
76142011-08-05 Robert Dewar <dewar@adacore.com>
7615
7616 * styleg.adb (Check_Comment): Implement comment spacing of 1 or 2
7617 * stylesw.adb: Implement -gnatyC to control comment spacing
7618 * stylesw.ads (Style_Check_Comments_Spacing): New switch (set by
7619 -gnatyc/C).
7620 * usage.adb: Add line for -gnatyC.
7621
76222011-08-05 Robert Dewar <dewar@adacore.com>
7623
f446d60e 7624 * gnat_ugn.texi: Document -gnatyC.
a2773bd3
AC
7625 * vms_data.ads: Implement COMMENTS1/COMMENTS2 (retaining COMMENTS as a
7626 synonym for COMMENTS2).
7627
dedac3eb
RD
76282011-08-05 Robert Dewar <dewar@adacore.com>
7629
7630 * par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb,
7631 a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb,
7632 sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb,
7633 a-comutr.ads, lib-xref.adb: Minor reformatting.
7634
76352011-08-05 Robert Dewar <dewar@adacore.com>
7636
7637 * sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal
7638 warning if there is an exception handler present.
7639
7c62a85a
AC
76402011-08-05 Pascal Obry <obry@adacore.com>
7641
7642 * a-iteint.ads: Fix copyright year.
7643
76442011-08-05 Thomas Quinot <quinot@adacore.com>
7645
7646 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not generate a
7647 statement SCO for a USE clause or a representation clause.
7648
76492011-08-05 Yannick Moy <moy@adacore.com>
7650
7651 * lib-xref-alfa.adb (Collect_ALFA): generate the proper relation
7652 between body and spec for stub.
7653 (Detect_And_Add_ALFA_Scope): take into account subprogram stub
7654 * lib-xref.adb (Enclosing_Subprogram_Or_Package): in the case of a
7655 pragma precondition or postcondition, for which the enclosing
7656 subprogram or package in the AST is not the desired one, return empty.
7657
e49208a9
AC
76582011-08-05 Thomas Quinot <quinot@adacore.com>
7659
7660 * g-expect.adb: Minor reformatting.
7661
76622011-08-05 Bob Duff <duff@adacore.com>
7663
7664 * a-fihema.adb: Comment out OS_Lib.
7665
76662011-08-05 Matthew Heaney <heaney@adacore.com>
7667
7668 * Makefile.rtl, impunit.adb: Added a-c[oi]mutr.ad[sb]
7669 (unbounded multiway tree containers) and a-iteint.ads.
7670 * a-comutr.ads, a-comutr.adb:
7671 This is the new Ada 2012 unit for unbounded multiway tree containers
7672 * a-cimutr.ads, a-cimutr.adb
7673 This is the new Ada 2012 unit for indefinite multiway tree containers
7674 * a-iteint.ads: New file.
7675
201cdb74
RO
76762011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7677
f446d60e 7678 * gcc-interface/Makefile.in (raise-gcc.o): Search $(srcdir)/../libgcc.
201cdb74 7679
d50f4827
AC
76802011-08-05 Bob Duff <duff@adacore.com>
7681
7682 * sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
7683 subpools.
7684 * par-ch4.adb (P_Allocator): Parse new subpool specification syntax.
7685
76862011-08-05 Ed Schonberg <schonberg@adacore.com>
7687
7688 * sem_ch4.adb (Try_Container_Indexing): New procedure to implement the
7689 general indexing aspects of Ada2012. Called when analyzing indexed
7690 components when other interpretations fail.
7691 * sem_ch8.adb (Find_Direct_Name): check for implicit dereference only
7692 in an expression context where overloading is meaningful. This excludes
7693 the occurrence in an aspect specification (efficiency only).
7694 * sem_attr.adb (Analyze_Attribute): indicate that the attributes
7695 related to iterators can be set by an attribute specification, but
7696 cannot be queried.
7697 * sem_ch13.adb (Analyze_Aspect_Specifications): handle
7698 Constant_Indexing and Variable_Indexing.
7699 (Check_Indexing_Functions): New procedure to perform legality checks.
7700 Additional semantic checks at end of declarations.
7701
efe05dfc
AC
77022011-08-05 Sergey Rybin <rybin@adacore.com>
7703
7704 * tree_io.ads: Update ASIS_Version_Number because of the change of the
7705 order of calling Tree_Write/Tree_Read routines made for aspects.
7706
77072011-08-05 Bob Duff <duff@adacore.com>
7708
7709 * a-fihema.adb (Finalize): Fix race condition.
7710
5f9cdefe
AC
77112011-08-05 Yannick Moy <moy@adacore.com>
7712
7713 * sem_ch12.adb (Analyze_Package_Instantiation,
7714 Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
7715 mode.
7716
77172011-08-05 Ed Schonberg <schonberg@adacore.com>
7718
7719 * sem_type.adb (Specific_Type): in an instance, the type-specific
7720 operand of an equality check that involves null may have a private
7721 type. Use full view to determine legality of construct.
7722
822868aa
AC
77232011-08-05 Vincent Celier <celier@adacore.com>
7724
7725 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
7726 delete or close the file when the call to gnatmake was successful.
7727
77282011-08-05 Yannick Moy <moy@adacore.com>
7729
7730 * gnat1drv.adb (Adjust_Global_Switches): in ALFA mode, set
7731 Global_Discard_Names.
7732
77332011-08-05 Ed Schonberg <schonberg@adacore.com>
7734
7735 * sinfo.ads: comments on use of entity field for aspect specifications.
7736
77372011-08-05 Ed Schonberg <schonberg@adacore.com>
7738
7739 * sem_ch12.adb (Reset_Entity): If the entity field of the associated
7740 node is not itself an entity but a selected component, it is a
7741 rewritten parameterless call to an en enclosing synchronized operation,
7742 and this expansion will be performed again in the instance, so there is
7743 no global information to preserve.
7744
44a10091
AC
77452011-08-05 Javier Miranda <miranda@adacore.com>
7746
7747 * exp_disp.adb (Set_All_DT_Position): Cleanup code and improve support
7748 for renamings of predefined primitives.
7749 (In_Predef_Prims_DT): New subprogram.
7750
77512011-08-05 Ed Schonberg <schonberg@adacore.com>
7752
7753 * sem_util.adb, sem_util.ads (Check_Implicit_Dereference): If a
7754 possible interpretation of name is a reference type, add an
7755 interpretation that is the designated type of the reference
7756 discriminant of that type.
7757 * sem_res.adb (resolve): If the interpretation imposed by context is an
7758 implicit dereference, rewrite the node as the deference of the
7759 reference discriminant.
7760 * sem_ch3.adb (Analyze_Subtype_Declaration, Build_Derived_Record_Type,
7761 Build_Discriminated_Subtype): Inherit Has_Implicit_Dereference from
7762 parent type or base type.
7763 * sem_ch4.adb (Process_Indexed_Component,
7764 Process_Overloaded_Indexed_Component, Indicate_Name_And_Type,
7765 Analyze_Overloaded_Selected_Component, Analyze_Selected_Component):
7766 Check for implicit dereference.
7767 (List_Operand_Interps): Indicate when an implicit dereference is
7768 ambiguous.
7769 * sem_ch8.adb (Find_Direct_Name): Check for implicit dereference.
7770
77712011-08-05 Thomas Quinot <quinot@adacore.com>
7772
7773 * scos.ads: Update documentation of SCO table. Pragma statements can now
7774 be marked as disabled (using 'p' instead of 'P' as the statement kind).
7775 * par_sco.ads, par_sco.adb: Implement the above change.
7776 (Process_Decisions_Defer): Generate a P decision for the first parameter
7777 of a dyadic pragma Debug.
7778 * sem_prag.adb (Analyze_Pragma, case Debug): Mark pragma as enabled if
7779 necessary.
7780 * put_scos.adb: Code simplification based on above change.
7781
bb3c784c
AC
77822011-08-05 Robert Dewar <dewar@adacore.com>
7783
7784 * sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb,
7785 bindgen.adb, einfo.adb, sem_ch12.adb, sem_attr.adb, a-fihema.adb,
7786 a-fihema.ads, sem_elab.adb, sem_elab.ads, aspects.adb, opt.ads,
7787 prj-conf.adb, sem_ch13.adb, s-ficobl.ads: Minor reformatting
7788
77892011-08-05 Bob Duff <duff@adacore.com>
7790
7791 * a-stunau.ads, g-spipat.adb: Update comments.
7792
36f686f9
BD
77932011-08-05 Bob Duff <duff@adacore.com>
7794
7795 * a-fihema.ads: Minor comment fix.
7796 * a-fihema.adb (Allocate, Deallocate): Assert that the alignment is
7797 correct.
7798 (Attach, Detach): Remove some unnecessary code.
7799 (Finalize): Remove Node_Ptr_To_Address, replace with a constant.
7800
7882673f
BD
78012011-08-05 Bob Duff <duff@adacore.com>
7802
7803 * a-fihema.ads, a-fihema.adb (Finalization_Collection): Avoid heap
7804 allocation for Objects component. This simplifies the code somewhat. It
7805 is also a little more efficient in the not-so-unusual case where there
7806 are no controlled objects allocated.
7807 Make Finalization_Started flag atomic.
7808 (Finalize): Avoid unnecessary detachment of items from the list.
7809 (pcol): Minor cleanup.
7810
d34cd274
AC
78112011-08-05 Ed Schonberg <schonberg@adacore.com>
7812
7813 * sem_ch12.adb (Analyze_Formal_Package_Declaration): reject a formal
7814 package whose name is the same as that of the generic unit, or its
7815 ultimate prefix.
7816
78172011-08-05 Bob Duff <duff@adacore.com>
7818
7819 * a-fihema.adb, a-fihema.ads: Minor comment improvements.
7820 * sem_ch3.adb, exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb:
7821 Minor comment fixes.
7822
00332244
AC
78232011-08-05 Arnaud Charlet <charlet@adacore.com>
7824
7825 * make.adb (Linking_Phase): No longer need to set source search path
7826 before calling gnatlink in CodePeer mode.
7827 * gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
7828 gcc in CodePeer mode, since the binder generated file no longer has a
7829 'with Main'.
7830 * switch.ads, switch.adb (Is_Language_Switch): Removed.
7831 * switch-c.adb: Update comment.
7832
78332011-08-05 Thomas Quinot <quinot@adacore.com>
7834
7835 * exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.
7836
78372011-08-05 Nicolas Roche <roche@adacore.com>
7838
7839 * gnat_ugn.texi: Fix minor syntax error issue.
7840
78412011-08-05 Vincent Celier <celier@adacore.com>
7842
7843 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
7844 delete or close the file when the call to gnatmake returns a non
7845 successful return code.
7846
78472011-08-05 Ed Schonberg <schonberg@adacore.com>
7848
7849 * exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
7850 check, indicate that the copy of the original node does not come from
7851 source, to prevent an infinite recursion of the expansion.
7852
78532011-08-05 Johannes Kanig <kanig@adacore.com>
7854
7855 * debug.adb: document switch -gnatd.G for gnat2why, which deactivates
7856 VC generation for subprogram bodies.
7857
78582011-08-05 Yannick Moy <moy@adacore.com>
7859
7860 * einfo.ads: Typo.
7861 * sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
7862 the base type with the smallest allowed base type.
7863
78642011-08-05 Sergey Rybin <rybin@adacore.com>
7865
7866 * tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
7867 aspects.
7868
78692011-08-05 Ed Schonberg <schonberg@adacore.com>
7870
7871 * sem_ch12.ads: minor comment updates.
7872
78732011-08-05 Ed Schonberg <schonberg@adacore.com>
7874
7875 * sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
7876 instantiation and a formal package the compiler generates a package
7877 renaming declaration so that the generic name within the declaration
7878 is interpreted as a renaming of the instance. At the end of a formal
7879 package declaration, this renaming must become invisible.
7880
0da80d7d
AC
78812011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
7882
7883 * exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character
7884 comparison and rely on concrete entities instead.
7885
78862011-08-05 Ed Schonberg <schonberg@adacore.com>
7887
7888 * einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types
7889 and discriminants, to indicate that the type has an access discriminant
7890 that supports implicit dereference.
7891 * snames.ads-tmpl: Add names of aspects and attributes related to
7892 Ada2012 iterators: constant_indexing, default_iterator,
7893 iterator_element, implicit_dereference, variable_indexing.
7894 * aspects.ads, aspects.adb: entries for iterator-related aspects.
7895 * sem_ch13.adb (Analyze_aspect_specifications): dummy entries for
7896 iterator-related aspects.
7897 * sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects.
7898
78992011-08-05 Sergey Rybin <rybin@adacore.com>
7900
7901 * gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling
7902 metrics in gnatmetric to cover new kinds of coupling mentrics.
7903
79042011-08-05 Steve Baird <baird@adacore.com>
7905
7906 * bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead
2c7f9cc0 7907 of calling the user-defined main subprogram.
0da80d7d
AC
7908 (Gen_Main): Declare Ada_Main_Program and (if CodePeer_Mode
7909 is set) Call_Main_Subprogram ahead of, as opposed to
7910 inside of, Main.
7911 (Gen_Output_File_Ada): Remove CodePeer_Mode-conditional
7912 generation of a "with" of the user-defined main subprogram.
7913 Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper
7914 (which is now called from Gen_Main instead).
7915
73242473
AC
79162011-08-05 Emmanuel Briot <briot@adacore.com>
7917
7918 * projects.texi: Added reference to the Makefile package.
7919
79202011-08-05 Thomas Quinot <quinot@adacore.com>
7921
7922 * exp_ch7.adb: Minor comment rewording.
7923
79242011-08-05 Ed Falis <falis@adacore.com>
7925
7926 * env.c: Fix comment.
7927
79282011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
7929
7930 * sem_elab.adb (Is_Finalization_Procedure): Reimplemented to avoid
7931 character comparison and rely on concrete entities instead.
7932
97ed5872
AC
79332011-08-05 Ed Schonberg <schonberg@adacore.com>
7934
7935 * sem_ch3.adb: (Check_Private_Overriding): better error message,
7936 suggested by AI95-0068.
7937
79382011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
7939
7940 * exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
7941 the two potential initialization calls. This accounts for any
7942 access-before-elaboration checks which may precede the initialization
7943 calls.
7944 (Next_Suitable_Statement): New routine. Returns the next real statement
7945 after the input node while skipping generated checks.
7946 * sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
7947 with comment on usage.
7948 Do not generate Elaborate_All when the trigger is a finalization call
7949 coming from a type init proc.
7950 (Check_Elab_Call): Propagate the initialization procedure context to
7951 subsequent calls to Check_A_Call.
7952 (Check_Internal_Call_Continue): Propagate the initialization procedure
7953 context to subsequent calls to Check_Elab_Call.
7954 (Is_Finalization_Procedure): New routine. Returns True if the input
7955 entity denotes a [Deep_]Finalize routine.
7956 * sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
7957 along with comment on usage.
7958
79592011-08-05 Vadim Godunko <godunko@adacore.com>
7960
7961 * s-atocou.ads: Add list of supported platforms.
7962
79632011-08-05 Yannick Moy <moy@adacore.com>
7964
7965 * sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables
7966
7967 * opt.ads (Disable_ALI_File): new Boolean flag
7968 * lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing
7969
79702011-08-05 Ed Falis <falis@adacore.com>
7971
7972 * env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
7973 environ is properly defined.
7974
79752011-08-05 Vincent Celier <celier@adacore.com>
7976
7977 * make.adb (Compilation_Phase): Exit immediately when all objects have
7978 been found up to date, to avoid multiple exit messages.
7979 * prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
7980 same project for languages with no compiler.
7981 * gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
7982 -eI.
9aff36e9
RD
79832011-08-05 Robert Dewar <dewar@adacore.com>
7984
7985 * exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb,
7986 sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb,
7987 prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb,
7988 s-atocou-builtin.adb: Minor reformatting.
7989
406935b6
AC
79902011-08-05 Yannick Moy <moy@adacore.com>
7991
7992 * exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
7993 if the node to wrap is a pragma check, this node and enclosed
7994 expression are not expanded, so do not apply any transformations here.
7995 * exp_prag.adb (Expand_Pragma_Check): document the need to avoid
7996 introducing transient scopes.
7997
79982011-08-05 Jose Ruiz <ruiz@adacore.com>
7999
8000 * adaint.c (__gnat_set_writable, __gnat_set_readable,
8001 __gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
8002 __gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
8003 routine is available, so we use the default implementation of these
8004 functions.
8005 * s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
8006 support for copying attributes on VxWorks 6.
8007
80082011-08-05 Yannick Moy <moy@adacore.com>
8009
8010 * debug.adb: Remove use of -gnatd.D.
8011 * gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
8012 * opt.ads: Simplify variables for ALFA mode, to keep one only
8013 * restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
8014 to ALFA mode.
8015
80162011-08-05 Vincent Celier <celier@adacore.com>
8017
8018 * prj-conf.adb (Do_Autoconf): Look also for --RTS in
8019 Builder'Default_Switches.
8020
80212011-08-05 Vincent Celier <celier@adacore.com>
8022
8023 * makeusg.adb: Add lines for --create-map-file switches.
8024
80252011-08-05 Ed Schonberg <schonberg@adacore.com>
8026
8027 * freeze.adb (Freeze_Entity): For a subprogram, if a type in the
8028 profile is incomplete and the full view is available, replace it with
8029 the full view.
8030 * sem_ch6.adb (Possible_Freeze): if a type in the profile is
8031 incomplete, freezing the subprogram is delayed until the full view is
8032 frozen.
8033 * sem_type.adb (Disambiguate): an ambiguity between a user-defined
8034 fixed-point multiplication operator and the predefined operator is
8035 resolved in favor of the user-defined one.
8036
96c891b3
RO
80372011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8038
8039 * init.c [__alpha__ && __osf__] (__gnat_error_handler): Use
8040 CONST_CAST.
8041
276e7ed0
AC
80422011-08-04 Ed Schonberg <schonberg@adacore.com>
8043
8044 * sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
8045 whether a type lacks user-defined Read or Write operations, or has a
8046 component that lacks them.
8047 * sem_attr.adb (Check_Stream_Attribute): if restriction
8048 No_Default_Stream_Attributes is active, verify that all subcomponent
8049 types of the target have user-defined stream operations, and report
8050 error otherwise.
8051 * exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
8052 * exp_strm.adb: Build_Elementary_Input_Call,
8053 Build_Elementary_Write_Call): remove checks for restriction
8054 No_Default_Stream_Attributes, now checked in semantics.
8055
80562011-08-04 Vincent Celier <celier@adacore.com>
8057
8058 * prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
8059 switches on the command line, look for all valid --RTS switches in the
8060 Builder switches and for each language use the first runtime name found
8061 to invoke gprconfig.
8062 (Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
8063 command line and there is no auto-configuration.
8064 (Runtime_Name_Set_For): New function.
8065
80662011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8067
8068 * exp_ch7.adb (Build_Object_Declarations): Do not generate the
8069 elaborate initialization expression for variable Abort when processing
8070 a package body or a declaration.
8071 (Create_Finalizer): Propagate the package context when creating the
8072 exception-related variables.
8073 * exp_ch7.ads (Build_Object_Declarations): New formal parameter
8074 For_Package along with usage comment.
8075
19172ae9
AC
80762011-08-04 Arnaud Charlet <charlet@adacore.com>
8077
8078 * gcc-interface/Makefile.in: Clean up targets.
8079 Enable new package for atomic counters and copy-on-write implementation
8080 of unbounded strings on x86 platforms.
8081 * gcc-interface/Make-lang.in: Update dependencies.
8082
0319cacc
AC
80832011-08-04 Robert Dewar <dewar@adacore.com>
8084
8085 * exp_ch7.adb: Minor reformatting.
8086
80872011-08-04 Robert Dewar <dewar@adacore.com>
8088
8089 * exp_strm.adb: Minor reformatting.
8090
80912011-08-04 Vadim Godunko <godunko@adacore.com>
8092
8093 * s-atocou.adb: Replace by dummy version and use on targets where atomic
8094 operations are not supported.
8095 * s-atocou-builtin.adb: Renamed from s-atocou.adb.
8096 * s-atocou-x86.adb: New file.
8097 * Makefile.rtl: Add s-atocou.o file
8098
80992011-08-04 Arnaud Charlet <charlet@adacore.com>
8100
8101 * make.adb (Compile): Move setting of CodePeer_Mode to ...
8102 (Compilation_Phase): ... here.
8103 (Scan_Make_Arg): Now bind and link by default in CodePeer mode.
8104
81052011-08-04 Thomas Quinot <quinot@adacore.com>
8106
8107 * Make-generated.in: Fix minor typo in comment.
8108
26e7e1a0
AC
81092011-08-04 Thomas Quinot <quinot@adacore.com>
8110
8111 * gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
8112 the project path.
8113
81142011-08-04 Robert Dewar <dewar@adacore.com>
8115
8116 * a-coinho.adb: Minor reformatting.
8117
81182011-08-04 Robert Dewar <dewar@adacore.com>
8119
8120 * a-coinho.ads: Minor reformatting.
8121
81222011-08-04 Vadim Godunko <godunko@adacore.com>
8123
8124 * s-atocou.ads, s-atocou.adb: New files.
8125 * a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
8126 a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
8127 direct use of GCC's atomic builtins and replace them by use of new
8128 atomic counter package.
8129
81302011-08-04 Ed Schonberg <schonberg@adacore.com>
8131
8132 * exp_strm.adb: better error message for No_Default_Stream_Attributes.
8133
81342011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8135
8136 * a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
8137 with a call to Get_External_Tag.
8138 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
8139 subprogram usage. Remove the guard against package declarations and
8140 bodies since Build_Cleanup_Statements is no longer invoked in that
8141 context.
8142 (Build_Components): Initialize Tagged_Type_Stmts when the context
8143 contains at least one library-level tagged type.
8144 (Build_Finalizer): New local variables Has_Tagged_Types and
8145 Tagged_Type_Stmts along with associated comments on usage. Update the
8146 logic to include tagged type processing.
8147 (Create_Finalizer): Insert all library-level tagged type unregistration
8148 code before the jump block circuitry.
8149 (Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
8150 (Expand_N_Package_Declaration): Remove the call to
8151 Build_Cleanup_Statements.
8152 (Process_Tagged_Type_Declaration): New routine. Generate a call to
8153 unregister the external tag of a tagged type.
8154 (Processing_Actions): Reimplemented to handle tagged types.
8155 (Process_Declarations): Detect the declaration of a library-level
8156 tagged type and carry out the appropriate actions.
8157 (Unregister_Tagged_Types): Removed. The machinery has been directly
8158 merged with Build_Finalizer.
8159
7483c888
AC
81602011-08-04 Robert Dewar <dewar@adacore.com>
8161
8162 * bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
8163 gnatls.adb, exp_ch3.adb: Minor reformatting.
8164
81652011-08-04 Marc Sango <sango@adacore.com>
8166
8167 * sem_attr.adb (Analyze_Attribute): Replace the message
8168 "invisible attribute of}" of the spark restriction violation in
8169 attribute reference by the simple message "invisible attribute of type".
8170 Indeed, the node value Error_Msg_Node_1 used is in conflit with the
8171 two insertion characters: '&' and '}'.
8172
81732011-08-04 Vadim Godunko <godunko@adacore.com>
8174
8175 * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
8176 * a-coinho.ads, a-coinho.adb: New file.
8177 * Makefile.rtl: Add Ada.Containers.Indefinite_Holders.
8178
5207696c
AC
81792011-08-04 Nicolas Roche <roche@adacore.com>
8180
8181 * alfa_test.adb: Not all ali files are containing alfa information even
8182 if compiled with -gnatd.F. So suppress warning about missing ALFA
8183 information.
8184
81852011-08-04 Yannick Moy <moy@adacore.com>
8186
8187 * lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
8188 scope.
8189 * put_alfa.adb: Check that scope name is not empty.
8190
81912011-08-04 Ed Schonberg <schonberg@adacore.com>
8192
8193 * exp_ch3.adb (Stream_Operation_Ok): new predicate
8194 Needs_Elementary_Stream_Operation, to determine whether user-defined
8195 Read and Write attributes are available for the elementary components
8196 of the given type. If only the predefined attributes are available,
8197 then when restriction No_Default_Stream_Attributes is active the
8198 predefined stream attributes for the composite type cannot be created.
8199
82002011-08-04 Robert Dewar <dewar@adacore.com>
8201
8202 * bindgen.adb: Fix obsolete comments and names from Ada/C days.
8203 Put routines in alpha order
8204
2bd2d858
JR
82052011-08-04 Jose Ruiz <ruiz@adacore.com>
8206
8207 * gcc-interface/Makefile.in: Remove xenomai specific versions of system.
8208 * gcc-interface/Make-lang.in: Update dependencies.
8209
8fae6016
AC
82102011-08-04 Arnaud Charlet <charlet@adacore.com>
8211
8212 * gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
8213 * gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls
8214 gnat1why).
8215
a54d0eb4
AC
82162011-08-04 Robert Dewar <dewar@adacore.com>
8217
8218 * sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
8219 lib-xref-alfa.adb: Minor reformatting.
8220
82212011-08-04 Marc Sango <sango@adacore.com>
8222
8223 * sem_ch12.adb (Analyze_Generic_Package_Declaration,
8224 Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
8225 Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
8226 mode.
8227
82282011-08-04 Tristan Gingold <gingold@adacore.com>
8229
8230 * bindgen.adb (Gen_Adainit_C): Remove.
8231 (Gen_Adafinal_C): Ditto.
8232 (Gen_Elab_Externals_C): Ditto.
8233 (Gen_Elab_Calls_C): Ditto.
8234 (Gen_Elab_Order_C): Ditto.
8235 (Gen_Elab_Defs_C): Ditto.
8236 (Gen_Finalize_Library_C): Ditto.
8237 (Gen_Finalize_Library_Defs_C): Ditto.
8238 (Gen_Main_C): Ditto.
8239 (Gen_Output_File_C): Ditto.
8240 (Gen_Restrictions_C): Ditto.
8241 (Gen_Versions_C): Ditto.
8242 (Write_Info_Ada_C): Ditto.
8243 (Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
8244 (Gen_Output_File): Do not force Ada_Bind_File anymore.
8245 Always call Gen_Output_File_Ada.
8246 * gnatlink.adb (Begin_Info): Now a constant.
8247 (End_Info): Ditto.
8248 (Ada_Bind_File): Remove
8249 (Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases.
8250 * switch-b.adb (Scan_Binder_Switches): Do not handle -C.
8251 * gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
8252 * opt.ads (Ada_Bind_File): Remove.
8253
82542011-08-04 Thomas Quinot <quinot@adacore.com>
8255
8256 * projects.texi: Document target-specific directory in default project
8257 path for gnatmake.
8258
82592011-08-04 Thomas Quinot <quinot@adacore.com>
8260
8261 * gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
8262 path in all cases .
8263
24558db8
AC
82642011-08-04 Yannick Moy <moy@adacore.com>
8265
8266 * sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
8267 opt.ads, lib-xref.ads: Code clean up.
8268
82692011-08-04 Yannick Moy <moy@adacore.com>
8270
8271 * gnat_rm.texi: Update description of Test_Case
8272 * gnat_ugn.texi: Typo.
8273
82742011-08-04 Ed Falis <falis@adacore.com>
8275
8276 * adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
8277
82782011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8279
8280 * exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
8281 it is of type Root_Controlled. This action eliminates fields Prev and
8282 Next from type equality.
8283
82842011-08-04 Yannick Moy <moy@adacore.com>
8285
8286 * lib-xref-alfa.adb: Correct typo.
8287
82882011-08-04 Matthew Heaney <heaney@adacore.com>
8289
8290 * a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
8291 component.
8292
1f9939b5
AC
82932011-08-04 Yannick Moy <moy@adacore.com>
8294
8295 * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
8296 (Analyze_Pragma): allow static string expression for name of Test_Case,
8297 instead of simply string literals.
8298 * sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
8299 expressions.
8300
83012011-08-04 Vincent Celier <celier@adacore.com>
8302
8303 * makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
8304 case suffixes to find truncated main sources.
8305
83062011-08-04 Tristan Gingold <gingold@adacore.com>
8307
8308 * impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
8309 s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
8310 (Compute_Current_Task): Ditto.
8311
83122011-08-04 Tristan Gingold <gingold@adacore.com>
8313
8314 * gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
8315
83162011-08-04 Yannick Moy <moy@adacore.com>
8317
8318 * lib-xref-alfa.adb (Is_Global_Constant): new function that detects
8319 library-level constant.
8320 (Add_ALFA_Xrefs): ignore global constants in ALFA xref.
8321 * sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
8322 used as selector of parameter association, in ALFA mode.
8323
15d8a51d
AC
83242011-08-04 Robert Dewar <dewar@adacore.com>
8325
8326 * exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
8327 s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
8328 reformatting.
8329
83302011-08-04 Arnaud Charlet <charlet@adacore.com>
8331
8332 * make.adb (Linking_Phase): Set source search path before calling
8333 gnatlink in CodePeer mode.
8334
f46faa08
AC
83352011-08-04 Javier Miranda <miranda@adacore.com>
8336
8337 * exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
8338 Remove code which takes care of building TSDs.
8339 * rtsfind.ads (RE_Check_Interface_Conversion): New entity.
8340 * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
8341 the accessibility check in VM targets.
8342 * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
8343 (Building_Static_DT): Now returns false for VM targets.
8344 (Build_VM_TSDs): Removed.
8345 (Expand_Interface_Conversion): Generate missing runtime check for
8346 conversions to interface types whose target type is unknown at compile
8347 time.
8348 (Make_VM_TSD): Add missing code to disable the generation of calls to
8349 Check_TSD if the tagged type is not defined at library level, or not
8350 has a representation clause specifying its external tag, or -gnatdQ is
8351 active.
8352 * exp_disp.ads (Build_VM_TSDs): Removed.
8353 (Make_VM_TSDs): Spec relocated from exp_disp.adb
8354 * sem_disp.adb (Check_Dispatching_Operation): No code required to
8355 register primitives in the dispatch tables in VM targets.
8356 * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
8357 initialization of class-wide interface objects in VM targets.
8358 (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
8359 of Make_DT).
8360
83612011-08-04 Jerome Lambourg <lambourg@adacore.com>
8362
8363 * gnatlink.adb (Gnatlink): Correct missleading error message displayed
8364 when dotnet-ld cannot be found.
8365
83662011-08-04 Arnaud Charlet <charlet@adacore.com>
8367
8368 * bindgen.adb: Simplify significantly generation of binder body file in
8369 CodePeer mode.
8370 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
8371 when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
8372 not expanded).
8373
2ba7e31e
AC
83742011-08-04 Yannick Moy <moy@adacore.com>
8375
8376 * sem_prag.adb, sem.ads: Code cleanup.
8377
83782011-08-04 Tristan Gingold <gingold@adacore.com>
8379
8380 * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
8381 * s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
8382 results if possible.
8383 * s-stusta.adb (Print): Adjust after changes in s-stausa.
8384 * gnat_ugn.texi: Update dynamic stack usage section.
8385
83862011-08-04 Steve Baird <baird@adacore.com>
8387
8388 * bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
8389 Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
8390 contains only a call to the user-defined main subprogram.
8391 (Gen_Main_Ada) - If CodePeer_Mode is set, then
8392 call the "wrapper" subprogram instead of directly
8393 calling the user-defined main subprogram.
8394
83952011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8396
8397 * exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
8398 alternatives of a case statement for controlled objects. Rename local
8399 variable A to Dead_Alt.
8400 (Expand_N_If_Statement): Check the then and else statements of an if
8401 statement for controlled objects. Check the then statements of all
8402 elsif parts of an if statement for controlled objects.
8403 (Expand_N_Loop_Statement): Check the statements of a loop for controlled
8404 objects.
8405 * exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
8406 detects a loop associated with the expansion of an array object.
8407 Augment the processing of the loop statements to account for a possible
8408 wrap done by Process_Statements_For_Controlled_Objects.
8409 * exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
8410 statements and abortable part of an asynchronous select for controlled
8411 objects.
8412 (Expand_N_Conditional_Entry_Call): Check the else statements of a
8413 conditional entry call for controlled objects.
8414 (Expand_N_Selective_Accept): Check the alternatives of a selective
8415 accept for controlled objects.
8416 (Expand_N_Timed_Entry_Call): Check the entry call and delay
8417 alternatives of a timed entry call for controlled objects.
8418 * exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
8419 exception handler for controlled objects.
8420 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
8421 Add formal parameter Nested_Constructs along with its associated
8422 comment.
8423 (Requires_Cleanup_Actions (Node_Id)): Update all calls to
8424 Requires_Cleanup_Actions.
8425 (Process_Statements_For_Controlled_Objects): New routine.
8426 * exp_util.ads (Process_Statements_For_Controlled_Objects): New
8427 routine. Inspect a node which contains a non-handled sequence of
8428 statements for controlled objects. If such an object is found, the
8429 statements are wrapped in a block.
8430
1bf773bb
AC
84312011-08-04 Bob Duff <duff@adacore.com>
8432
8433 * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
8434 need to compare with Class_Wide_Type (T2), in order to get at the
8435 original class-wide type node.
8436 * sem_type.ads (Covers): Improve the comment.
8437 * einfo.ads (Class_Wide_Type): Improve the comment.
8438 * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
8439 the type of the Deref.
8440
84412011-08-04 Yannick Moy <moy@adacore.com>
8442
8443 * gnat_rm.texi: Document that Test_Case pragma can only appear on
8444 separate declarations.
8445 * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
8446 check identifier of pragma argument.
8447 (Chain_TC): check that no other test case associated to the same entity
8448 share the same name.
8449 (Check_Test_Case): disallow test case inside subprogram body
8450 (Analyze_Pragma): correct call to check identifier and not argument
8451 * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
8452 function gets name from test case pragma.
8453
dac3bede
YM
84542011-08-04 Yannick Moy <moy@adacore.com>
8455
8456 * gnat_rm.texi: Document new pragma and aspect.
8457 * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
8458 (No_Duplicates_Allowed): new constant array defining whether duplicates
8459 aspects of each kind can appear on the same declaration.
8460 * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
8461 field, which points to a node holding the previous Spec_PPC_List.
8462 * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
8463 through the indirection with Contract.
8464 * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
8465 * par-prag.adb (Prag): do nothing on Test_Case pragma
8466 * sem.adb (Analyze): abort on N_Contract, on which Analyze should not
8467 be called directly.
8468 * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
8469 component Ensures of Test_Case.
8470 * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
8471 (Analyze_Generic_Subprogram_Declaration,
8472 Analyze_Subprogram_Instantiation,
8473 Analyze_Abstract_Subprogram_Declaration,
8474 Analyze_Subprogram_Body_Helper,
8475 Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
8476 insert contract in subprogram node at point of definition
8477 * sem_ch13.adb
8478 (Aspect_Loop): do not raise error on duplicate Test_Case aspect
8479 (Analyze_Aspect_Specifications): analyze Test_Case aspect and create
8480 corresponding pragma
8481 (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
8482 * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
8483 similar to the analysis of pre/post
8484 (Derive_Subprogram): insert contract in subprogram node at point of
8485 derivation.
8486 * sem_prag.adb, sem_prag.ads
8487 (Check_Arg_Is_String_Literal, Check_Identifier):
8488 new checking procedures to be called in treatment of pragmas
8489 (Check_Test_Case): new procedure to check that a Test_Case aspect or
8490 pragma is well-formed. This does not check currently that 'Result is
8491 used only in the Ensures component of a Test_Case.
8492 (Analyze_Pragma): add case for Test_Case
8493 (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
8494 components of a Test_Case.
8495 (Preanalyze_TC_Args): new procedure to preanalyze the boolean
8496 expressions in the 3rd (and 4th if present) arguments of a Test_Case
8497 pragma, treated as spec expressions.
8498 (Sig_Flags): add value -1 for Test_Case.
8499 * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
8500 Get_Requires_From_Test_Case_Pragma): getters for both expression
8501 components of a Test_Case.
8502 * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
8503 indirection between an entry or [generic] subprogram entity and its
8504 pre/post + test-cases.
8505 (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
8506 get/set for fields of an N_Contract node.
8507 * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
8508 Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
8509 names and pragma for Test_Case.
8510 * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
8511
6a2e5d0f
AC
85122011-08-04 Vincent Celier <celier@adacore.com>
8513
8514 * gnat_ugn.texi: Improve documentation of gnatmake switch
8515 --source-info-file=.
8516
85172011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8518
8519 * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
8520 type). Initialize Atyp to the appropriate type which is later checked
8521 for completion. Rewrite the assertion associated with private type
8522 completion.
8523
85242011-08-04 Ed Falis <falis@adacore.com>
8525
8526 * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
8527 initialize the number of CPUs.
8528
85292011-08-04 Ed Schonberg <schonberg@adacore.com>
8530
8531 * sem_type.adb (Disambiguate): New subsidiary routine
8532 In_Same_Declaration_List, to implement AI05-0020: a user-defined
8533 equality on an anonymous access type whose designated type is private
8534 does not lead to an ambiguity with the universal access equality
8535 operator in the body or child units of the defining package. The same
8536 is true for a multiplication operator on a private type completed with
8537 a fixed-point-type.
8538
85392011-08-04 Javier Miranda <miranda@adacore.com>
8540
8541 * opt.ads (Init_Or_Norm_Scalars_Config): Removed.
8542 (Normalize_Scalars_Config): Removed.
8543 * opt.adb
8544 (Register_Opt_Config_Switches): Remove registering config values of
8545 Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
8546 (Restore_Opt_Config_Switches): Remove code which restores the values of
8547 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
8548 Init_Or_Norm_Scalars.
8549 (Save_Opt_Config_Switches): Remove code which saves values of
8550 Init_Or_Norm_Scalars and Normalize_Scalars.
8551 (Set_Opt_Config_Switches): Remove code which restores config values of
8552 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
8553 Init_Or_Norm_Scalars.
8554
85552011-08-04 Yannick Moy <moy@adacore.com>
8556
8557 * frontend.adb (Frontend): remove previous patch to avoid full
8558 qualification in ALFA mode.
8559 * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
8560 * sem_util.adb, sem_util.ads (Unique_Name): new function to define a
8561 unique name for an entity, which could be used to identify the entity
8562 across compilation units.
8563
85642011-08-04 Thomas Quinot <quinot@adacore.com>
8565
8566 * prj-env.adb
8567 (Initialize_Default_Project_Path): Add target specific directory
8568 ($prefix/$target/lib/gnat) in front of project path in all cases
8569 (making gnatmake's behaviour consistent with gprbuild).
8570 * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
8571 Pass target name from Sdefault to project subsystem.
8572 * gnatls.adb: Show new target specific default project directory.
8573
85742011-08-04 Johannes Kanig <kanig@adacore.com>
8575
8576 * cstand.adb: Add Information to Identifier in Standard
8577 (Identifer_For): Set Entity to the corresponding entity
8578
483361a6
AC
85792011-08-04 Sergey Rybin <rybin@adacore.com>
8580
8581 * gnat_ugn.texi: Update doc on gnatcheck.
8582
85832011-08-04 Yannick Moy <moy@adacore.com>
8584
8585 * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
8586 xrefs in a scope.
8587
85882011-08-04 Yannick Moy <moy@adacore.com>
8589
8590 * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
8591 performing expansion.
8592 * sem_ch6.adb (Analyze_Subprogram_Body_Helper,
8593 Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
8594 it is not called in ALFA mode.
8595
ef5569c6
AC
85962011-08-04 Emmanuel Briot <briot@adacore.com>
8597
8598 * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
8599 after all, so removed.
8600
86012011-08-04 Sergey Rybin <rybin@adacore.com>
8602
8603 * vms_data.ads: Add missing VMS qualifiers.
8604
1ab4a286
EB
86052011-08-04 Emmanuel Briot <briot@adacore.com>
8606
8607 * make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
8608 the list of files on the command line after processing it through
8609 Complete_Mains.
8610
7ae0d98c
AC
86112011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8612
8613 * exp_ch7.adb (Build_Raise_Statement): Remove the specialized
8614 processing for .NET/JVM. These targets can now benefit from
8615 Raise_From_Controlled_Operation and they share the same processing with
8616 standard targets.
8617 (Establish_Transient_Scope): Remove the restriction for .NET/JVM.
8618 These targets need transient scopes in order to properly finalize short
8619 lived controlled objects.
8620 (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
8621 NET/JVM. These targets can now benefit from
8622 Raise_From_Controlled_Operation and they share the same processing with
8623 standard targets.
8624
86252011-08-04 Geert Bosch <bosch@adacore.com>
8626
8627 * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
8628
86292011-08-04 Ed Schonberg <schonberg@adacore.com>
8630
8631 * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
8632 Expand_Record_Aggregate, to determine whether aggregate must be
8633 expanded into assignments. This is the case if the ancestor part is
8634 private, regarless of the setting of the flag Has_Private_Ancestor.
8635
86362011-08-04 Ed Falis <falis@adacore.com>
8637
8638 * vxaddr2line.adb: Add support for e500v2 and for Linux hosts
8639
86402011-08-04 Bob Duff <duff@adacore.com>
8641
8642 * sinfo.ads: Fix comment.
8643
86442011-08-04 Steve Baird <baird@adacore.com>
8645
8646 * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
8647 choose a package name in much the same way as is
8648 done for JGNAT when VM_Target /= No_VM, except that
8649 a slightly more distinctive prefix string is used.
8650
86512011-08-04 Emmanuel Briot <briot@adacore.com>
8652
8653 * makeutl.adb (Complete_Mains): no longer accept unit names on the
8654 gnatmake command line.
8655 This behavior was never documented (and was supported only because of
8656 an early bug in the code). This case might lead to ambiguous cases
8657 (between unit names and truncated base names without suffixes).
8658
87729e5a
AC
86592011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8660
8661 * a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
8662 Remove the external tag of a tagged type from the internal hash table.
8663 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
8664 expanded usage of the routine. Strenghten the check for Is_Master. Add
8665 processing for tagged types.
8666 (Build_Finalizer): Create all the necessary lists used in finalizer
8667 creation when the processed context is a package that may contain
8668 tagged types.
8669 (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
8670 Requires_Cleanup_Actions.
8671 (Expand_N_Package_Body): Package bodies may need clean up code
8672 depending on whether they contain tagged types.
8673 (Expand_N_Package_Declaration): Package declarations may need clean up
8674 code depending on whether they contain tagged types.
8675 (Unregister_Tagged_Types): New routine. Search through a list of
8676 declarations or statements, looking for non-abstract Ada tagged types.
8677 For each such type, generate code to unregister the external tag.
8678 * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
8679 Requires_Cleanup_Actions.
8680 (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
8681 through a list of declarations or statements looking for non-abstract
8682 Ada tagged types or controlled objects.
8683 * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
8684 Requires_Cleanup_Actions.
8685 (Has_Controlled_Objects (List_Id, Boolean)): Removed.
8686 * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
8687 RE_Unit_Table.
8688
86892011-08-04 Vincent Celier <celier@adacore.com>
8690
8691 * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
8692 has Ada sources, not project Project, because if the root project
8693 Project has no sources of its own, all projects will be deemed without
8694 sources.
8695
86962011-08-04 Gary Dismukes <dismukes@adacore.com>
8697
8698 * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
8699 of the No_Param_Proc acc-to-subp type used for initialization of
8700 __gnat_finalize_library_objects so that it's declared at library level
8701 rather than nested inside of the adainit routine.
8702
87032011-08-04 Javier Miranda <miranda@adacore.com>
8704
8705 * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
8706 if the tagged type has a representation clause which specifies its
8707 external tag.
8708
87092011-08-04 Ed Schonberg <schonberg@adacore.com>
8710
8711 * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
8712 Remove previous procedure with that name.
8713 * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
8714 when appropriate.
8715 * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
8716 subtype mark, the ancestor cannot have unknown discriminants.
8717 (Resolve_Record_Aggregate): if the type has invisible components
8718 because of a private ancestor, the aggregate is illegal.
8719
87202011-08-04 Vincent Celier <celier@adacore.com>
8721
8722 * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
8723 account switches -gnat2005, -gnat12 and -gnat2012.
8724
87252011-08-04 Bob Duff <duff@adacore.com>
8726
8727 * s-tasdeb.ads: Minor comment fix.
8728
87292011-08-04 Arnaud Charlet <charlet@adacore.com>
8730
8731 * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
8732 CodePeer mode.
8733 * switch.ads, switch.adb (Is_Language_Switch): New function.
8734
87352011-08-04 Vincent Celier <celier@adacore.com>
8736
8737 * switch-c.adb: Minor comment addition.
8738
87392011-08-04 Vincent Celier <celier@adacore.com>
8740
8741 * vms_conv.adb (Process_Argument): Fail graciously when qualifier
8742 ending with '=' is followed by a space (missing file name).
8743
87442011-08-04 Pascal Obry <obry@adacore.com>
8745
8746 * g-regist.ads: Fix size of HKEY on x86_64-windows.
8747
87482011-08-04 Ed Schonberg <schonberg@adacore.com>
8749
8750 * sem_ch12.adb (Analyze_Associations): New routine
8751 Check_Overloaded_Formal_Subprogram to reject a formal package when
8752 there is a named association or a box initialisation for an overloaded
8753 formal subprogram of the corresponding generic.
8754
87552011-08-04 Yannick Moy <moy@adacore.com>
8756
8757 * alfa.ads (ALFA_Xref_Record): add component for type of entity
8758 * get_alfa.adb, put_alfa.adb: Read and write new component of
8759 cross-reference.
8760 * lib-xref-alfa.adb (Collect_ALFA): generate new component.
8761
88f47280
AC
87622011-08-04 Pascal Obry <obry@adacore.com>
8763
8764 * urealp.adb: Minor reformatting.
8765
87662011-08-04 Tristan Gingold <gingold@adacore.com>
8767
8768 * exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
8769 Handle the case when Cleanup_Protected_Object returns Empty.
8770
87712011-08-04 Yannick Moy <moy@adacore.com>
8772
8773 * frontend.adb (Frontend): only qualify names in non-ALFA mode
8774
87752011-08-04 Ed Schonberg <schonberg@adacore.com>
8776
8777 * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
8778 call, ignore functions.
8779
05c53a69
GB
87802011-08-04 Geert Bosch <bosch@adacore.com>
8781
8782 * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
8783 point.
8784
23cc1ace
EB
87852011-08-04 Emmanuel Briot <briot@adacore.com>
8786
8787 * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
8788 as an index for Builder'Switches. This conforms to the documentation.
8789 * make.adb (Insert_Project_Sources): avoid duplicate code
8790
cef14201
AC
87912011-08-04 Emmanuel Briot <briot@adacore.com>
8792
8793 * makeutl.adb (Complete_Mains): if the user has passed a relative file
8794 name on the command line (for instance "../dummy"), never assume it can
8795 be a unit name.
8796
87972011-08-04 Tristan Gingold <gingold@adacore.com>
8798
8799 * bindgen.adb: Remove code the reference or create the
8800 Break_Start/__gnat_break_start procedure.
8801 * s-stalib.adb (Break_Start): Removed.
8802
e2fee30d
EB
88032011-08-04 Emmanuel Briot <briot@adacore.com>
8804
8805 * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
8806 shared with gprbuild.
8807
2d395256
AC
88082011-08-04 Yannick Moy <moy@adacore.com>
8809
8810 * par-ch4.adb (P_Primary): preferentially issue an error message about
8811 a missing parenthesis arount a conditional or case expression in Ada
8812 2012 mode, if we detect that the alignment is not correct for a
8813 statement.
8814
88152011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8816
8817 * exp_ch7.adb (Process_Declarations): Do not consider the result of a
8818 tag-to-class-wide conversion as needing finalization actions.
8819 * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
8820 a tag-to-class-wide conversion as needing finalization actions.
8821 (Is_Finalizable_Transient): The result of a tag-to-class-wide
8822 conversion does not need finalization actions.
8823 (Is_Tag_To_CW_Conversion): New routine.
8824 * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
8825 whether an object is the result of a tag-to-class-wide conversion.
8826
88272011-08-04 Yannick Moy <moy@adacore.com>
8828
8829 * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
8830 the left-hand-side and right-hand-side of a conjunct are inserted when
8831 translating a pre- or postcondition
8832 * sem_ch6.adb: Correct typo in comment
8833
88342011-08-04 Ed Schonberg <schonberg@adacore.com>
8835
8836 * gnat_rm.texi: Ravenscar does not prohibit dependence on
8837 Unchecked_Conversion and Unchecked_Deallocation.
8838
88392011-08-04 Thomas Quinot <quinot@adacore.com>
8840
8841 * make.adb: Minor reformatting.
8842
767ab2fd
EB
88432011-08-04 Emmanuel Briot <briot@adacore.com>
8844
8845 * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
8846 sources in the project and its imported projects, but not in the whole
8847 tree.
8848
8fb3f5df
AC
88492011-08-04 Emmanuel Briot <briot@adacore.com>
8850
8851 * make.adb: Remove debug trace.
8852
88532011-08-04 Vincent Celier <celier@adacore.com>
8854
8855 * makeutl.adb (Do_Complete): Get the absolute path name of a relative
8856 path in canonical form, to be able to compare path names on platforms
8857 such as Windows or Darwin.
8858
88592011-08-04 Thomas Quinot <quinot@adacore.com>
8860
8861 * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
8862 For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
8863 * scos.ads: Update documentation accordingly.
8864 * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
8865 pragmas.
8866
9515740f
AC
88672011-08-04 Ed Schonberg <schonberg@adacore.com>
8868
8869 * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
8870 attribute only if prefix type is scalar.
8871
88722011-08-04 Emmanuel Briot <briot@adacore.com>
8873
8874 * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
8875 in gnatmake for specifying mains on the command line that do not belong
8876 to the main project. These mains must currently all belong to the same
8877 project, though.
8878 (Ultimate_Extension_Of): removed, since duplicated
8879 Ultimate_Extending_Project.
8880
92966893
AC
88812011-08-04 Arnaud Charlet <charlet@adacore.com>
8882
8883 * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
8884 instead.
8885 (CodePeer_Mode_String): New.
8886 (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
8887 CodePeer mode.
8888 (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
8889 * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
8890 mode, since no useful elaboration subprogram is needed by CodePeer.
8891 * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
8892 In this mode, compile binder file with -gnatC and do stop after this
8893 step.
8894
88952011-08-04 Vincent Celier <celier@adacore.com>
8896
8897 * exp_ch7.adb: Minor comment fix.
8898
5969611f
RD
88992011-08-04 Robert Dewar <dewar@adacore.com>
8900
8901 * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
8902 exp_ch4.adb, makeutl.adb: Minor reformatting.
8903
6367dd30
AC
89042011-08-04 Emmanuel Briot <briot@adacore.com>
8905
8906 * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
8907 Create several new subprograms to move code out of Make. This makes the
8908 code more readable, removes code duplication, and is a preparation work
8909 for adding support for aggregate projects.
8910
89112011-08-04 Tristan Gingold <gingold@adacore.com>
8912
8913 * s-po32gl.ads, s-po32gl.adb: New files.
8914 * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
8915 * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
8916 (Build_Finalization_Collection): Use it.
8917 * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
8918 * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
8919 literals.
8920 * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
8921 * gcc-interface/Make-lang.in: Update dependencies.
8922
cd8bfe35
EB
89232011-08-04 Emmanuel Briot <briot@adacore.com>
8924
8925 * makeutl.adb (Complete_Mains): add support for specs with no suffix on
8926 the command line.
8927
7db29ea7
EB
89282011-08-04 Emmanuel Briot <briot@adacore.com>
8929
8930 * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
8931 command line is not a file name, also check whether it could be a unit
8932 name.
8933
d9b056ea
AC
89342011-08-04 Eric Botcazou <ebotcazou@adacore.com>
8935
8936 * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
8937 the header of the finalization routine.
8938 If the unit has no finalizer but is a body whose spec has one, then
8939 generate the decrement of the elaboration entity only.
8940 If the unit has a finalizer and is a spec, then do not generate the
8941 decrement of the elaboration entity.
8942 (Gen_Finalize_Library_C): Likewise.
8943
89442011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8945
8946 * exp_ch7.adb (Alignment_Of): New subsidiary routine.
8947 (Bounds_Size_Expression): Removed.
8948 (Double_Alignment_Of): New subsidiary routine.
8949 (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
8950 for a hole in the dope vector of unconstrained arrays due to different
8951 index and element alignments.
8952
89532011-08-04 Ed Schonberg <schonberg@adacore.com>
8954
8955 * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
8956 raise program_error because body has not been seen yet.
8957
89582011-08-04 Ed Schonberg <schonberg@adacore.com>
8959
8960 * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
8961 an unresolved name.
8962
89632011-08-04 Vincent Celier <celier@adacore.com>
8964
8965 * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
8966
89672011-08-04 Yannick Moy <moy@adacore.com>
8968
8969 * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
8970 * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
8971
89722011-08-04 Thomas Quinot <quinot@adacore.com>
8973
8974 * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
8975 instantiation in RCI.
8976
89772011-08-04 Emmanuel Briot <briot@adacore.com>
8978
8979 * make.adb: Share more code with gprbuild
8980
f5fc5b9d
AC
89812011-08-04 Emmanuel Briot <briot@adacore.com>
8982
8983 * projects.texi: Added documentation for the IDE'Gnat project file
8984 attribute.
8985
89862011-08-04 Nicolas Roche <roche@adacore.com>
8987
8988 * gnat_rm.texi: Minor editing.
8989
89902011-08-04 Javier Miranda <miranda@adacore.com>
8991
8992 * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
8993 and the library case for VM targets.
8994 (Gen_Adainit_Ada): Likewise.
8995
89962011-08-04 Robert Dewar <dewar@adacore.com>
8997
8998 * g-altive.ads: Minor comment updates.
8999 * prj-nmsc.adb: Minor reformatting.
9000
90012011-08-04 Javier Miranda <miranda@adacore.com>
9002
9003 * opt.ads
9004 (Normalize_Scalars_Config): Value of the configuration switch set by
9005 pragma Normalize_Scalars when it appears in the gnat.adc file.
9006 (Normalize_Scalars): New field for record Config_Switches_Type. Used
9007 to save and restore settings of this pragma.
9008 * opt.adb
9009 (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
9010 Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
9011
90122011-08-04 Vincent Celier <celier@adacore.com>
9013
9014 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
9015
0c4683cf
AC
90162011-08-04 Arnaud Charlet <charlet@adacore.com>
9017
9018 * makeutl.adb: Minor reformatting.
9019
90202011-08-04 Olivier Hainque <hainque@adacore.com>
9021
9022 * g-altive.ads: Update comments to reflect that only the soft
9023 binding is available today.
9024
2598ee6d
RD
90252011-08-04 Robert Dewar <dewar@adacore.com>
9026
9027 * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
9028 makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
9029 * gcc-interface/Make-lang.in: Update dependencies.
9030
c2db4b32
AC
90312011-08-04 Arnaud Charlet <charlet@adacore.com>
9032
9033 * prj-env.adb: Remove local debug traces.
9034
90352011-08-04 Yannick Moy <moy@adacore.com>
9036
9037 * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
9038 was used instead of Hi_OK, which could cause a read of an uninitialized
9039 value later on. Detected while working on the new warning.
9040 * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
9041 to local variable.
9042 * sem_ch5.adb (Analyze_Assignment): set the last assignment component
9043 in more cases, in order to detect more unreferenced values.
9044 * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
9045 object for expression, if any.
9046
90472011-08-04 Eric Botcazou <ebotcazou@adacore.com>
9048
9049 * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
9050 the operand types instead of the Esize.
9051
90522011-08-04 Steve Baird <baird@adacore.com>
9053
9054 * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
9055 enable CodePeer_Mode.
9056 * bindusg.adb (Display): Add help message describing -P binder switch.
9057 * gnat_ugn.texi: Document -P binder switch.
9058 * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
9059 user-defined main program directly.
9060 (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
9061 user-defined main program in the context clause of the package body.
9062
ad05f2e9
AC
90632011-08-04 Yannick Moy <moy@adacore.com>
9064
9065 * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
9066 duplicate of Defining_Entity
9067 (Get_Unique_Entity_For_Decl): rename function into
9068 Unique_Defining_Entity
9069 * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
9070 (Formal_Proof_On): remove synthesized flag
9071 * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
9072 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
9073 sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
9074 * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
9075 Annotate (Formal_Proof)
9076
90772011-08-04 Emmanuel Briot <briot@adacore.com>
9078
9079 * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
9080 source files with non-standard naming schemes, in imported projects
9081
756ef2a0
AC
90822011-08-04 Emmanuel Briot <briot@adacore.com>
9083
9084 * makeutl.adb (Complete_Mains): when a multi-unit source file is
9085 specified on the gprbuild command line, we need to compile all units
9086 within that file, not just the first one we find
9087 Fix error message for mains that are not found.
9088
90892011-08-04 Thomas Quinot <quinot@adacore.com>
9090
9091 * sem_ch6.adb: Update comment.
9092 * sem_ch12.adb: Minor reformatting.
9093
90942011-08-04 Bob Duff <duff@adacore.com>
9095
9096 * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
9097 Acceptor.Terminate_Alternative without locking Acceptor, which causes a
9098 race condition whose symptom is to fail to lock Parent. That, in turn,
9099 causes Parent.Awake_Count to be accessed without locking Parent, which
9100 causes another race condition whose symptom is that Parent.Awake_Count
9101 can be off by 1 (either too high or too low). The solution is to lock
9102 Parent unconditionally, and then lock Acceptor, before reading
9103 Acceptor.Terminate_Alternative.
9104
4fdebd93
AC
91052011-08-04 Arnaud Charlet <charlet@adacore.com>
9106
9107 * debug.adb: Update comment.
9108
91092011-08-04 Robert Dewar <dewar@adacore.com>
9110
9111 * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
9112 sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
9113 exp_ch6.adb: Minor reformatting.
9114
91152011-08-04 Gary Dismukes <dismukes@adacore.com>
9116
9117 * gnat_ugn.texi: Add sentence about the case of compile-time-detected
9118 checks for -gnateE.
9119
91202011-08-04 Ed Schonberg <schonberg@adacore.com>
9121
9122 * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
9123
91242011-08-04 Thomas Quinot <quinot@adacore.com>
9125
9126 * sinfo.ads: Minor reformatting.
9127
91282011-08-04 Emmanuel Briot <briot@adacore.com>
9129
9130 * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
9131 even if there is no location.
9132
6aaa0587
ES
91332011-08-04 Ed Schonberg <schonberg@adacore.com>
9134
9135 * sem_res.adb, sem_ch4.adb: move check for restriction
9136 No_Task_Hierarchy to resolve_allocator.
9137
35a1c212
AC
91382011-08-04 Thomas Quinot <quinot@adacore.com>
9139
9140 * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
9141 This flag of N_Pragma nodes is not used, remove it as well as all of
9142 the associated circuitry.
9143
91442011-08-04 Javier Miranda <miranda@adacore.com>
9145
9146 * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
9147 runtime check on duplicated externa tags
9148 * debug.adb Document switch -gnatdQ.
9149
91502011-08-04 Gary Dismukes <dismukes@adacore.com>
9151
9152 * a-fihema.ads: Minor typo fix.
9153
91542011-08-04 Yannick Moy <moy@adacore.com>
9155
9156 * sem_ch10.adb: Minor comment update.
9157
91582011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
9159
9160 * einfo.adb: Update the node field usage to reflect the renaming of
9161 Return_Flag to Return_ Flag_Or_Transient_Decl.
9162 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
9163 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
9164 (Write_Field15_Name): Change Return_Flag to
9165 Return_Flag_Or_Transient_Decl.
9166 * einfo.ads: Rename node field Return_Flag to
9167 Return_Flag_Or_Transient_Decl. Update the associated comment and all
9168 occurrences in entities.
9169 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
9170 associated Inline pragma.
9171 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
9172 associated Inline pragma.
9173 * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
9174 routine.
9175 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
9176 Return_Flag and Set_Return_Flag.
9177 * exp_ch7.adb (Process_Declarations): Add code to recognize hook
9178 objects generated for controlled transients declared inside an
9179 Exception_With_Actions. Update the calls to Return_Flag.
9180 (Process_Object_Declaration): Add code to add a null guard for hook
9181 objects generated for controlled transients declared inside an
9182 Exception_With_Actions. Update related comment.
9183 * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
9184 objects generated for controlled transients declared inside an
9185 Exception_With_Actions. Update the calls to Return_Flag.
9186 * expander.adb (Expand): Add new case for N_Expression_With_Actions.
9187
91882011-08-04 Ed Schonberg <schonberg@adacore.com>
9189
9190 * sem_util.adb:(Wrong_Type): Improve error message on a one-element
9191 positional aggregate.
9192
91932011-08-04 Vincent Celier <celier@adacore.com>
9194
9195 * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
9196 SLOC only for pragmas.
9197
91982011-08-04 Emmanuel Briot <briot@adacore.com>
9199
9200 * projects.texi: Minor typo fix.
9201
92022011-08-04 Emmanuel Briot <briot@adacore.com>
9203
9204 * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
9205 on case-sensitive file systems.
9206
c2873f74
TQ
92072011-08-04 Thomas Quinot <quinot@adacore.com>
9208
9209 * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
9210 nested in a disabled pragma.
9211 * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
9212 enclosing pragma, if any, for X decisions.
9213
92142011-08-04 Thomas Quinot <quinot@adacore.com>
9215
9216 * sem_prag.adb: Minor reformatting.
9217
46414266
VC
92182011-08-04 Vincent Celier <celier@adacore.com>
9219
9220 * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
9221 allowed in no run time mode.
9222
92232011-08-04 Vincent Celier <celier@adacore.com>
9224
9225 * make.adb (Check): When -gnatc is used, check for the source file
9226 inside the ALI file with a canonical case file name.
9227
afab164f
EB
92282011-08-04 Emmanuel Briot <briot@adacore.com>
9229
9230 * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
9231 overriding the separator.
9232
fe0ec02f
AC
92332011-08-04 Robert Dewar <dewar@adacore.com>
9234
9235 * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
9236 prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
9237
92382011-08-04 Robert Dewar <dewar@adacore.com>
9239
9240 * gnat_rm.texi: Minor documentation fix for pragma Annotate.
9241
92422011-08-04 Yannick Moy <moy@adacore.com>
9243
9244 * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
9245 'Result only appears in postcondition of function.
9246
92472011-08-04 Thomas Quinot <quinot@adacore.com>
9248
9249 * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
9250 external tag, include the value of the external tag in the exception
9251 message.
9252
0180fd26
AC
92532011-08-04 Yannick Moy <moy@adacore.com>
9254
9255 * sem_attr.adb (Result): modify error message for misplaced 'Result
9256
92572011-08-04 Sergey Rybin <rybin@adacore.com>
9258
9259 * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
9260 clear that the second argument must be an identifier.
9261
92622011-08-04 Thomas Quinot <quinot@adacore.com>
9263
9264 * exp_ch9.adb (Build_Barrier_Function): When compiling with
9265 -fpreserve-control-flow, insert an IF statement on the barrier
9266 condition to ensure that a conditional branch instruction is generated.
9267
92682011-08-04 Emmanuel Briot <briot@adacore.com>
9269
9270 * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
9271 (Processing_Flags.Ignore_Missing_With): new flag.
9272
92732011-08-04 Emmanuel Briot <briot@adacore.com>
9274
9275 * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
9276 Source_List_File on case-insensitive systems where the file is actually
9277 on a case-sensitive file system (NFS,...).
9278
92792011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
9280
9281 * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
9282 function return contains a controlled [extension] aggregate and the
9283 return statement is not part of a handled sequence of statements, wrap
9284 the return in a block. This ensures that all controlled temporaries
9285 generated during aggregate resolution will be picked up by the
9286 finalization machinery.
9287
92882011-08-04 Ed Schonberg <schonberg@adacore.com>
9289
9290 * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
9291 components, freeze type before resolution, to ensure that default
9292 initializations are present for all components.
9293 * sem_res.adb (Resolve_Actuals): the designated object of an
9294 accces-to-constant type is a legal actual in a call to an
9295 initialization procedure.
9296
92972011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
9298
9299 * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
9300 N_Unchecked_Type_Conversion to the possible containers of a renamed
9301 transient variable.
9302
78efd712
AC
93032011-08-04 Yannick Moy <moy@adacore.com>
9304
9305 * par-ch13.adb (Aspect_Specifications_Present): recognize
9306 "with Identifier'Class =>" as an aspect, so that a meaningful warning
9307 is issued in Strict mode.
9308 * par.adb: Fix typos in comments.
9309
93102011-08-04 Yannick Moy <moy@adacore.com>
9311
9312 * sem_attr.adb (Result): modify error message to take into account Post
9313 aspect when compiling Ada 2012 (or newer) code.
9314
93152011-08-04 Nicolas Roche <roche@adacore.com>
9316
9317 * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
2c7f9cc0 9318 remove need for GCC exceptions.
78efd712
AC
9319
93202011-08-04 Vincent Celier <celier@adacore.com>
9321
9322 * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
9323 project, not the source file name.
9324 * prj.adb (Find_Sources.Look_For_Sources): If the source has been
9325 excluded, continue looking. This excluded source will only be returned
9326 if there is no other source with the same base name that is not locally
9327 removed.
9328
93292011-08-04 Ed Schonberg <schonberg@adacore.com>
9330
9331 * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
9332 private and one of the operands is a real literal, use a qualified
9333 expression rather than a conversion which is not meaningful to the
9334 back-end.
9335
0170a691
AC
93362011-08-04 Yannick Moy <moy@adacore.com>
9337
9338 * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
9339 corresponding aspect X'Class are allowed, proceed with analysis of the
9340 aspect instead of skipping it.
9341
93422011-08-04 Tristan Gingold <gingold@adacore.com>
9343
9344 * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
9345 This will allow to have an Ada implementation for the subprogram.
9346
deb4f5ba
ES
93472011-08-04 Ed Schonberg <schonberg@adacore.com>
9348
9349 * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
9350 completion and aspects are present, apply them to the entity for the
9351 type which is currently the partial view, but which is the one that
9352 will be frozen.
9353 * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
9354 applies to a partial view, indicate that the full view has predicates
9355 and delayed aspects.
9356 (Replace_Type_Reference): Handle properly predicates that apply to the
9357 full view of a private completion.
9358
fc893455
AC
93592011-08-04 Eric Botcazou <ebotcazou@adacore.com>
9360
9361 * layout.adb (Layout_Type): For composite types, do not set Esize.
9362 * freeze.adb (Set_Small_Size): Remove test on alignment and do not
9363 set Esize.
9364 (Size_Known): Look at the RM size of components instead of the Esize.
9365 (Freeze_Record_Type): Look at the RM size instead of the Esize to
9366 issue warning and activate Implicit_Packing.
9367 (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
9368 if the Esize is not known.
9369 * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
9370 for elementary types only.
9371 (Analyze_Record_Representation_Clause): Look at the RM size instead
9372 of the Esize to issue errors.
9373 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
9374 is not known.
9375 <E_Record_Type>: Look at the RM size instead of the Esize. Remove
2c7f9cc0 9376 obsolete block.
fc893455
AC
9377 Look at the RM size instead of the Esize for types if the latter is
9378 not known.
9379 (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
9380
93812011-08-04 Ed Schonberg <schonberg@adacore.com>
9382
9383 * sem_type.adb: proper handling of equality not involving anonymous
9384 access types.
9385
b37d5bc6
AC
93862011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
9387
9388 * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
9389 Vis_Decls. When creating a library-level finalizer for a package spec,
9390 both the declaration and body of the finalizer are inserted either in
9391 the visible or private declarations of the package spec.
9392
93932011-08-04 Javier Miranda <miranda@adacore.com>
9394
9395 * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
9396 use of the full-view of a type when invoking Is_Ancestor.
9397 * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
9398 the full-view of private parents is requested, then use also the
9399 full-view of the parent of the first derivation.
9400
7ab4d95a
AC
94012011-08-04 Tristan Gingold <gingold@adacore.com>
9402
9403 * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
9404 instead of the locally imported procedure.
9405 * s-taprop-mingw.adb (Enter_Task): Ditto.
9406 * s-valrea.adb (Scan_Real): Ditto.
9407 * s-imgrea.adb (Set_Image_Real): Ditto.
9408 * s-flocon.ads: Make the package pure.
9409
94102011-08-04 Thomas Quinot <quinot@adacore.com>
9411
9412 * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
9413 * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
9414 * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
9415 New subprogram, moved here from...
9416 * par.adb, par-ch5.adb (P_Statement_Name): ... here.
9417 * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
9418 rewriting of the last argument into a procedure call statement here...
9419 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
9420 instead.
9421
94222011-08-04 Thomas Quinot <quinot@adacore.com>
9423
9424 * par_sco.adb: Minor reformatting.
9425
51c400f5
AC
94262011-08-04 Robert Dewar <dewar@adacore.com>
9427
9428 * erroutc.adb: Minor reformatting.
9429
94302011-08-04 Thomas Quinot <quinot@adacore.com>
9431
9432 * par_sco.adb: Comment update.
9433
94342011-08-04 Tristan Gingold <gingold@adacore.com>
9435
9436 * s-flocon.ads: New file.
9437 * g-flocon.ads: Now a renaming of s-flocon.
9438 * Makefile.rtl: Add s-flocon.o
9439
6a49f110
AC
94402011-08-04 Javier Miranda <miranda@adacore.com>
9441
9442 * exp_strm.adb (Build_Array_Input_Function): if the array type is
9443 constrained, do not attempt to build a subtype of it.
9444
94452011-08-04 Yannick Moy <moy@adacore.com>
9446
9447 * errout.ads Change comments: remove 'R'M as an example where quotes
9448 are needed; add ALFA as another case where quotes are not needed
9449 * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
9450 case where quotes are not needed.
9451 * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
9452 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
9453 Remove all occurrences of 'A'L'F'A
9454
94552011-08-04 Ed Schonberg <schonberg@adacore.com>
9456
9457 * sem_ch13.adb: check legality of invariant pragma.
9458
a4640a39
AC
94592011-08-04 Eric Botcazou <ebotcazou@adacore.com>
9460
9461 * bindgen.adb: Add comments.
9462
94632011-08-04 Yannick Moy <moy@adacore.com>
9464
9465 * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
9466 synthesized flag.
9467 * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
9468 (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
9469
94702011-08-04 Robert Dewar <dewar@adacore.com>
9471
9472 * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
9473 osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
9474 sem_ch13.adb, s-pooloc.adb: Minor reformatting.
9475
39ade2f9
AC
94762011-08-04 Thomas Quinot <quinot@adacore.com>
9477
9478 * s-pooloc.ads, s-pooglo.ads: Minor reformatting
9479
94802011-08-04 Thomas Quinot <quinot@adacore.com>
9481
9482 PR ada/47880
9483 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
9484 allocated object.
9485
94862011-08-04 Robert Dewar <dewar@adacore.com>
9487
9488 * einfo.ads, exp_ch4.adb: Minor reformatting.
9489
94902011-08-04 Jerome Lambourg <lambourg@adacore.com>
9491
9492 * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
9493
7efc3f2d
AC
94942011-08-04 Ed Schonberg <schonberg@adacore.com>
9495
9496 * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
9497 type in all cases to compute list of primitive operations, because full
9498 view may be an itype that is not attached to the list of declarations.
9499
95002011-08-04 Eric Botcazou <ebotcazou@adacore.com>
9501
9502 * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
9503 library has already been finalized.
9504 (Gen_Adafinal_C): Likewise.
9505 (Gen_Adainit_Ada): Generate an early return if the library has
9506 already been elaborated.
9507 (Gen_Adainit_C): Likewise.
9508 (Gen_Output_File_Ada): Generate an elaboration flag.
9509 (Gen_Output_File_C): Likewise.
9510
f65df609
HK
95112011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
9512
9513 * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
9514 Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
9515 built in the first place.
9516 (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
9517 for CodePeer because Finalize_Address was not built to begin with.
9518 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
9519
a0fb8fe8
AC
95202011-08-04 Pascal Obry <obry@adacore.com>
9521
9522 * adaint.c (__gnat_tmp_name): Use current process id to create temp
9523 filenames, this ensures unicity of filenames across processes.
9524
95252011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
9526
9527 * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
9528 Raise_Controlled to Raise_From_Controlled_Operation. Update the
9529 signature of Raise_From_Controlled_Operation by adding flag From_Abort.
9530 Add False as the actual to From_Abort in the generated call to
9531 Raise_From_Controlled_Operation.
9532
95332011-08-04 Jerome Lambourg <lambourg@adacore.com>
9534
9535 * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
9536 so that the ali file name can be retrieved from outside of this package.
9537 * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
9538 doing nothing in the general case, but used to update the object file
9539 timestamp if directly generated by the backend.
9540 * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
9541 to a later time than the ali file one.
9542
9534ab17
AC
95432011-08-04 Yannick Moy <moy@adacore.com>
9544
9545 * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
9546 entities whose body contains an Annotate pragma which forces formal
9547 proof on this body.
9548 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
9549 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
9550 Mark_Non_ALFA_Subprogram to pass in a message and node.
9551 * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
9552 (Forma_Proof, On) which sets the flag Formal_Proof_On in the
9553 surrounding subprogram.
9554 * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
9555 Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
9556 as not in ALFA is annotated with Formal_Proof being On, then an error
9557 is issued based on the additional parameters for message and node.
9558 * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
9559 * gcc-interface/Make-lang.in: Update dependencies.
9560
95612011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
9562
9563 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
9564 Finalize_Address when CodePeer is enabled.
9565
95662011-08-04 Pascal Obry <obry@adacore.com>
9567
9568 * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
9569 the latter returns a pointer to a static buffer which is deallocated
9570 at the end of the routine.
9571
5c0e97dd
AC
95722011-08-04 Yannick Moy <moy@adacore.com>
9573
9574 * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
9575 after index creation; mark unconstrained base array type generated as
9576 being in/not in ALFA as well
9577 (Make_Index): mark subtype created as in/not in ALFA
9578 * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
9579 over a loop as in/not in ALFA, depending on its type and form of loop
9580 iteration.
9581
95822011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
9583
9584 * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
9585 directly to False on .NET and JVM.
9586
7a93c64b
YM
95872011-08-04 Yannick Moy <moy@adacore.com>
9588
9589 * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
9590 constraint that subtype must come from source code to be in ALFA, so
9591 that anonymous subtypes can be in ALFA too.
9592
e9a1ed9b
YM
95932011-08-04 Yannick Moy <moy@adacore.com>
9594
9595 * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
9596 reference for ALFA mode.
9597 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
9598 procedure public so as to use it from formal verification back-end.
9599
8e293fbd
AC
96002011-08-04 Jerome Lambourg <lambourg@adacore.com>
9601
9602 * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
9603 invalid checks of the Parameter, making Remove_Switch not working
9604 correctly.
9605
96062011-08-04 Arnaud Charlet <charlet@adacore.com>
9607
9608 * targparm.ads: Update header: no run-time exception is needed on this
9609 file.
9610
96112011-08-04 Vincent Celier <celier@adacore.com>
9612
9613 * a-fihema.adb: Use System.IO instead of GNAT.IO
9614
96152011-08-04 Thomas Quinot <quinot@adacore.com>
9616
9617 * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
9618 are forbidden in Compiler_Unit mode.
9619
cfae2bed
AC
96202011-08-04 Robert Dewar <dewar@adacore.com>
9621
9622 * sem_util.adb: Minor reformatting.
9623
96242011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
9625
9626 * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
9627 library-level finalizers.
9628 (Gen_Finalize_Library_C): Update the import string for library-level
9629 finalizers.
9630 (Gen_Finalize_Library_Defs_C): Update the definition name of a
9631 library-level finalizer.
9632 * exp_ch7.adb: Remove with and use clauses for Stringt.
9633 (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
9634 Spec_Decl. Add local variable Body_Id. The names of library-level
9635 finalizers are now manually fully qualified and are no longer external.
9636 A single name is now capable of servicing .NET, JVM and non-VM targets.
9637 Pragma Export is no longer required to provide visibility for the name.
9638 (Create_Finalizer_String): Removed.
9639 (New_Finalizer_Name): New routine which mimics New_..._Name.
9640
01f0729a
AC
96412011-08-04 Eric Botcazou <ebotcazou@adacore.com>
9642
9643 * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
9644 elaboration counter to Standard_Short_Integer.
9645 * sem_util.adb (Build_Elaboration_Entity): Likewise.
9646 * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
9647 (Gen_Elab_Externals_C): Likewise.
9648
96492011-08-04 Ed Falis <falis@adacore.com>
9650
9651 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
9652 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
9653 system-vxworks-mips.ads, system-vxworks-x86.ads
9654 (Always_Compatible_Rep): set to False for all VxWorks targets.
9655
2c1b72d7
AC
96562011-08-04 Robert Dewar <dewar@adacore.com>
9657
9658 * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
9659 makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
9660 exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
9661 exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
9662 exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
9663 sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
9664 sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
9665 Minor reformatting and code reorganization.
9666
96672011-08-04 Emmanuel Briot <briot@adacore.com>
9668
9669 * projects.texi: Added doc for aggregate projects.
9670
824e9320
AC
96712011-08-04 Emmanuel Briot <briot@adacore.com>
9672
9673 * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
9674 Add support for overriding the Project_Path in aggregate projects.
9675
96762011-08-04 Robert Dewar <dewar@adacore.com>
9677
9678 * a-cofove.ads: Minor reformatting.
9679
96802011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
9681
9682 * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
9683 on the generated code.
9684 (Build_Finalize_Statements): Update the comment on the generated code.
9685 (Build_Initialize_Statements): Update the comment on the generated code.
9686 (Build_Object_Declarations): Add local variable Result. The object
9687 declarations are now built in sequence.
9688 * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
9689 RE_Unit_Table.
9690
96912011-08-04 Robert Dewar <dewar@adacore.com>
9692
9693 * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
9694
96952011-08-04 Eric Botcazou <ebotcazou@adacore.com>
9696
9697 * einfo.ads (Elaboration_Entity): Document new definition and use.
9698 (Elaboration_Entity_Required): Adjust to above change.
9699 * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
9700 * exp_ch12.adb: And with and use for Snames.
9701 (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
9702 * exp_util.adb (Set_Elaboration_Flag): Likewise.
9703 * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
9704 <Check_Unit_Name>: Deal with N_Expanded_Name.
9705 <Attribute_Elaborated>: Extend to all unit names.
9706 * sem_elab.adb: And with and use for Uintp.
9707 (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
9708 * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
9709 * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
9710 * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
9711 from Gen_Adainit_Ada.
9712 (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
9713 (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
9714 case, do not call System.Standard_Library.Adafinal; instead call
9715 finalize_library if needed.
9716 (Gen_Adafinal_C): Likewise.
9717 (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
9718 non-main program case.
9719 (Gen_Adainit_C): Generate a couple of external declarations here.
9720 In the main program case, set SSL.Finalize_Library_Objects.
9721 (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
9722 (Gen_Elab_Calls_C): Likewise.
9723 (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
9724 (Gen_Finalize_Library_C): Likewise. Generate a full function.
9725 (Gen_Main_C): Put back call to Ada_Final and don't finalize library
9726 objects here.
9727 (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
9728 if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
9729 Gen_Adafinal_Ada.
9730 (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
9731 if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
2c7f9cc0 9732 of external declarations. Call Gen_Finalize_Library_C.
824e9320 9733
316d9d4f
EB
97342011-08-04 Emmanuel Briot <briot@adacore.com>
9735
9736 * prj.adb, prj.ads, makeutl.adb, makeutl.ads (Complete_Mains,
9737 Compute_Compilation_Phases): new subprogram.
9738 (Builder_Data, Builder_Project_Tree_Data): new subprogram and type
9739 The number of mains as well as the various compilation phases that
9740 need to be run are now project tree specific, since various
9741 aggregated trees might have different requirements. In particular,
9742 they do not all require bind or link phases.
9743
9434c32e
EB
97442011-08-04 Emmanuel Briot <briot@adacore.com>
9745
9746 * prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-env.adb
9747 (Project_Tree_Appdata): New type.
9748 It is now possible to associate application-specific data to a project
9749 tree. In particular, this is used in the gprbuild builder to avoid a
9750 number of global tables and htables, especially now that there can be
9751 several project trees loaded at once because of aggregate projects.
9752 (Debug_Name): new procedure.
9753 * projects.texi: Clarify syntax of "**" for Source_Dirs
9754
41ba34db
EB
97552011-08-03 Emmanuel Briot <briot@adacore.com>
9756
9757 * prj.ads, makeutl.adb, makeutl.ads (Queue.Insert): now also inserts
9758 the "roots" for a main.
9759 (Fill_From_Project): add support for aggregate projects. Main units
9760 in aggregated projects are now automatically added in the list of
9761 files to build (although this fails later on in gprbuild, because
9762 these files are not using the root proejct tree, so this needs
9763 further cleanup)
9764 * gcc-interface/Make-lang.in: Update dependencies.
9765
fccd42a9
AC
97662011-08-03 Yannick Moy <moy@adacore.com>
9767
9768 * sem_ch4.adb (Analyze_Conditional_Expression): only allow boolean
9769 conditional expression in ALFA.
9770 * sem_res.adb (Resolve_Conditional_Expression): mark non-boolean
9771 expressions as not in ALFA.
9772
97732011-08-03 Robert Dewar <dewar@adacore.com>
9774
9775 * a-cofove.adb: Minor reformatting.
9776
97772011-08-03 Emmanuel Briot <briot@adacore.com>
9778
9779 * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads
9780 (Insert_Project_Sources, Insert_withed_Sources_For): moved from the
9781 gprbuild sources.
9782 These packages are more logically placed in the Queue package, since
9783 they manipulate the queue. It is also likely that they can be adapted
9784 for gnatmake, thus sharing more code.
9785 (Finish_Program, Fail_Program): moved from the gprbuild sources, so
9786 that we could move the above.
9787
97882011-08-03 Emmanuel Briot <briot@adacore.com>
9789
9790 * errutil.adb (Finalize): clean up the list of error messages on exit.
9791 Calling this subprogram multiple times will no longer show duplicate
9792 error messages on stderr.
9793
97942011-08-03 Emmanuel Briot <briot@adacore.com>
9795
9796 * g-comlin.adb, g-comlin.ads (Set_Command_Line): ignore the parameter
9797 Getopt_Switches when we have already define a command line
9798 configuration.
9799
5e8c8e44
YM
98002011-08-03 Yannick Moy <moy@adacore.com>
9801
9802 * sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not
9803 in ALFA. Instead, they are considered as assertions to prove.
9804 * sem_ch4.adb (Analyze_Conditional_Expression): do not always mark such
9805 nodes as not in ALFA. Instead, include conditional expressions in ALFA
9806 if they have no ELSE part, or if they occur in pre- and postconditions,
9807 where the Condition cannot have side-effects in ALFA
9808 (Analyze_Membership_Op): do not mark such nodes as not in ALFA
9809 (Analyze_Type_Conversion): do not always mark such nodes as not in ALFA.
9810 Instead, include type conversion between scalar types in ALFA.
9811 * sem_ch6.adb (Process_Formals): correctly mark a parameter in ALFA
9812 if-and-only-if its type is in ALFA.
9813
5ffe0bab
AC
98142011-08-03 Thomas Quinot <quinot@adacore.com>
9815
9816 * scos.adb, get_scos.adb, put_scos.adb
9817 New code letter for decisions: G (entry guard)
9818 * par_sco.adb
9819 (Traverse_Subprogram_Body): Rename to...
9820 (Traverse_Subprogram_Or_Task_Body): New subrpogram.
9821 (Traverse_Protected_Body): New subprogram
9822 (Traverse_Declarations_Or_Statements): Add traversal of task bodies,
9823 protected bodies and entry bodies.
9824
98252011-08-03 Yannick Moy <moy@adacore.com>
9826
9827 * einfo.adb, einfo.ads (Is_Postcondition_Proc): new flag for procedure
9828 entities with get/set subprograms, which is set on procedure entities
9829 generated by the compiler for a postcondition.
9830 * sem_ch6.adb (Process_PPCs): set new flag on postcondition procedures
9831 * alfa.adb, alfa.ads (Get_Entity_For_Decl): new function returning the
9832 entity for a declaration
9833 (Get_Unique_Entity_For_Decl): new function returning an entity which
9834 represents a declaration, so that matching spec and body have the same
9835 entity.
9836
98372011-08-03 Robert Dewar <dewar@adacore.com>
9838
9839 * a-except-2005.adb, a-cfhama.adb, a-cfhase.adb, a-cfhase.ads,
9840 a-cforma.adb, a-cforse.ads, a-cforse.adb: Minor reformatting
9841
98422011-08-03 Yannick Moy <moy@adacore.com>
9843
9844 * lib-xref-alfa.adb (Detect_And_Add_ALFA_Scope): make the subprogram
9845 library-level because retriction No_Implicit_Dynamic_Code in the
9846 front-end prevents its definition as a local subprogram
9847 (Traverse_Compilation_Unit): extract new procedure from Add_ALFA_File,
9848 for reuse in other contexts
9849 (Traverse_Declarations_Or_Statements,
9850 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
9851 Traverse_Package_Declaration, Traverse_Subprogram_Body): make all these
9852 procedures take a callback parameter to be called on all declarations
9853 * lib-xref.ads
9854 (Traverse_All_Compilation_Units): new generic function to traverse a
9855 compilation unit and call a callback parameter on all declarations
9856
f9ad6b62
AC
98572011-08-03 Javier Miranda <miranda@adacore.com>
9858
9859 * sem_prag.adb (Process_Interface_Name): Allow duplicated export names
9860 in Java since they are always enclosed in a namespace that
9861 differentiates them, and overloaded entities are supported by the VM.
9862
98632011-08-03 Ed Schonberg <schonberg@adacore.com>
9864
9865 * checks.adb (Determine_Range): If a computed bound of an operation is
9866 outside the range of the base type of the expression, and overflow
9867 checks are enabled, the result is unknown and cannot be used for any
9868 subsequent constant folding.
9869 * sem_eval.adb (Compile_Time_Compare): if the bounds of one operand are
9870 unknown, so is the result of the comparison.
9871
98722011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
9873
9874 * a-except-2005.adb (Raise_From_Controlled_Operation): Add new formal
9875 From_Abort. When finalization was triggered by an abort, propagate
9876 Standard'Abort_Signal rather than Program_Error.
9877 * a-except-2005.ads (Raise_From_Controlled_Operation): Add new formal
9878 From_Abort.
9879 * a-except.adb (Raise_From_Controlled_Operation): Add new formal
9880 From_Abort. When finalization was triggered by an abort, propagate
9881 Standard'Abort_Signal rather than Program_Error.
9882 * a-except.ads:(Raise_From_Controlled_Operation): Add new formal
9883 From_Abort.
9884 * exp_ch7.adb:(Build_Adjust_Or_Finalize_Statements): New local variable
9885 Abort_Id. Update the calls to Build_Object_Declarations and
9886 Build_Raise_Statement to include Abort_Id.
9887 (Build_Adjust_Statements): New local variable Abort_Id. Update the
9888 calls to Build_Object_Declarations and Build_Raise_Statement to include
9889 Abort_Id.
9890 (Build_Finalize_Statements): New local variable Abort_Id. Update the
9891 calls to Build_Object_Declarations and Build_Raise_Statement to include
9892 Abort_Id.
9893 (Build_Components): Create an entity for Abort_Id when exceptions are
9894 allowed on the target.
9895 (Build_Finalizer): New local variable Abort_Id.
9896 (Build_Initialize_Statements): New local variable Abort_Id. Update the
9897 calls to Build_Object_Declarations and Build_Raise_Statement to include
9898 Abort_Id.
9899 (Build_Object_Declarations): Add new formal Abort_Id. Create the
9900 declaration of flag Abort_Id to preserve the original abort status
9901 before finalization code is executed.
9902 (Build_Raise_Statement): Add new formal Abort_Id. Pass Abort_Id to
9903 runtime routine Raise_From_Controlled_Operation.
9904 (Create_Finalizer): Update the call to Build_Raise_Statement to include
9905 Abort_Id. Update the call to Build_Object_Declarations to include
9906 Abort_Id. Update the layout of the finalizer body.
9907 (Make_Handler_For_Ctrl_Operation): Add an actual for From_Abort.
9908 (Process_Transient_Objects): New local variable Abort_Id. Remove the
9909 clunky code to create all flags and objects related to
9910 exception propagation and replace it with a call to
9911 Build_Object_Declarations. Update the call to Build_Raise_Statement to
9912 include Abort_Id.
9913 * exp_ch7.ads (Build_Object_Declarations): Moved from body to spec.
9914 Add new formal Abort_Id and associated comment on its use.
9915 (Build_Raise_Statement): Add new formal Abort_Id and associated comment
9916 on its use.
9917 * exp_intr.adb (Expand_Unc_Deallocation): New local variable Abort_Id.
9918 Remove the clunky code to create all flags and objects related to
9919 exception propagation and replace it with a call to
9920 Build_Object_Declarations. Update the call to Build_Raise_Statement.
9921
99222011-08-03 Eric Botcazou <ebotcazou@adacore.com>
9923
9924 * s-tassta.adb: Fix minor typos.
9925
99262011-08-03 Robert Dewar <dewar@adacore.com>
9927
9928 * rtsfind.ads, makeutl.ads, prj.ads, prj.adb, make.adb,
9929 lib-writ.adb, makeutl.adb, s-soflin.ads, clean.adb: Minor reformatting.
9930
1cdfa9be
AC
99312011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
9932
9933 * exp_ch7.adb (Create_Finalizer): Treat freeze nodes in similar fashion
9934 to packages. This ensures that the finalizer body will not end up
9935 inside the freeze node.
9936 (Process_Declarations): Add code to detect whether a freeze node has a
9937 nested finalization collection.
9938
99392011-08-03 Pascal Obry <obry@adacore.com>
9940
9941 * g-awk.adb, g-awk.ads: Make GNAT.AWK API compatible with Ada 2005.
9942 (Current_Session): Return a not null access to Session_Type.
9943 (Default_Session): Likewise.
9944
243cae0a
AC
99452011-08-03 Robert Dewar <dewar@adacore.com>
9946
9947 * a-cfdlli.adb, bindgen.adb, exp_ch4.adb, exp_ch13.adb, sem_warn.adb,
9948 exp_ch3.adb, exp_ch3.ads: Minor reformatting.
9949
99502011-08-03 Pascal Obry <obry@adacore.com>
9951
9952 * g-awk.ads: Minor comment fix.
9953
99542011-08-03 Sergey Rybin <rybin@adacore.com>
9955
9956 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
9957 the tree structure related to discriminant constraints.
9958 Original_Discriminant cannot be used any more for computing the
9959 defining name for the reference to a discriminant.
9960
99612011-08-03 Ed Schonberg <schonberg@adacore.com>
9962
9963 * sem_disp.adb (Is_Tag_Indeterminate): If the return type of the
9964 function is not visibly tagged, this is not a dispatching call and
9965 therfore is not Tag_Indeterminate, even if the function is marked as
9966 dispatching on result.
9967
f553e7bc
AC
99682011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
9969
9970 * exp_ch13.adb: Add with and use clauses for Restrict and Rident.
9971 (Expand_N_Free_Statement): Add a guard to protect against run-times
9972 which do not support controlled types.
9973 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Add a guard to protect
9974 against run-times which do not support controlled types.
9975 * exp_ch4.adb (Complete_Controlled_Allocation): Add a guard to protect
9976 against run-times which do not support controlled types.
9977 * exp_ch7.adb (Build_Finalization_Collection): Add a guard to protect
9978 against run-times which do not support controlled types.
9979 * exp_util.adb (Needs_Finalization): Code reformatting. Add a guard to
9980 protect against run-times which do not support controlled types.
9981
99822011-08-03 Eric Botcazou <ebotcazou@adacore.com>
9983
9984 * exp_intr.adb: Put back with and use clauses for Exp_Ch11.
9985 (Expand_Unc_Deallocation): Expand the AT_END handler at the very end.
9986
e4982b64
AC
99872011-08-03 Ed Schonberg <schonberg@adacore.com>
9988
9989 * exp_ch5.adb (Expand_Iterator_Loop): indicate that the cursor is
9990 modified in the source, to prevent spurious warnings when compiling
9991 with -gnatg.
9992
99932011-08-03 Thomas Quinot <quinot@adacore.com>
9994
9995 * a-except-2005.adb: Minor reformatting.
9996
99972011-08-03 Ed Schonberg <schonberg@adacore.com>
9998
9999 * sem_warn.adb (Check_One_Unit): if the only mention of a withed unit
10000 is a renaming declaration in the private part of a package, do not emit
10001 a warning that the with_clause could be moved because the renaming may
10002 be used in the body or in a child unit.
10003
100042011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
10005
10006 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
10007 Propagate the Comes_From_Source attribute from the original return
10008 object to the renaming.
10009
100102011-08-03 Jose Ruiz <ruiz@adacore.com>
10011
10012 * exp_ch7.adb (Build_Raise_Statement): Do not call
10013 Raise_From_Controlled_Operation when this routine is not present in
10014 the run-time library.
10015 (Cleanup_Protected_Object, Cleanup_Task): For restricted run-time
10016 libraries (Ravenscar), tasks are non-terminating, and protected objects
10017 and tasks can only appear at library level, so we do not want
10018 finalization of protected objects nor tasks.
10019 * exp_intr.adb: Minor clarification in comment.
10020 bindgen.adb (Gen_Adainit_Ada, Gen_Main_C, Gen_Output_File_Ada,
10021 Gen_Output_File_C): Remove references to finalization of library-level
10022 objects when using restricted run-time libraries.
10023
100242011-08-03 Ed Schonberg <schonberg@adacore.com>
10025
10026 * sem_ch3.adb (Build_Discriminant_Constraints): Set
10027 Original_Discriminant only if the parent type is a generic formal.
10028
deb8dacc
HK
100292011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
10030
10031 * exp_ch13.adb: Add with and use clause for Targparm;
10032 (Expand_N_Free_Statement): Prevent the generation of a custom
10033 Deallocate on .NET/JVM targets since this requires pools and address
10034 arithmetic.
10035 * exp_ch4.adb (Expand_Allocator_Expression): When compiling for
10036 .NET/JVM targets, attach the newly allocated object to the access
10037 type's finalization collection. Do not generate a call to
10038 Set_Finalize_Address_Ptr on .NET/JVM because this routine does not
10039 exist in the runtime.
10040 (Expand_N_Allocator): When compiling for .NET/JVM targets, do not
10041 create a custom Allocate for object that do not require initialization.
10042 Attach a newly allocated object to the access type's finalization
10043 collection on .NET/JVM.
10044 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add special processing for
10045 assignment of controlled types on .NET/JVM. The two hidden pointers
10046 Prev and Next and stored and later restored after the assignment takes
10047 place.
10048 * exp_ch6.adb (Expand_Call): Add local constant Curr_S. Add specialized
10049 kludge for .NET/JVM to recognize a particular piece of code coming from
10050 Heap_Management and change the call to Finalize into Deep_Finalize.
10051 * exp_ch7.adb (Build_Finalization_Collection): Allow the creation of
10052 finalization collections on .NET/JVM only for types derived from
10053 Controlled. Separate the association of storage pools with a collection
10054 and only allow it on non-.NET/JVM targets.
10055 (Make_Attach_Call): New routine.
10056 (Make_Detach_Call): New routine.
10057 (Process_Object_Declarations): Suppress the generation of
10058 build-in-place return object clean up code on .NET/JVM since it uses
10059 pools.
10060 * exp_ch7.ads (Make_Attach_Call): New routine.
10061 (Make_Detach_Call): New routine.
10062 * exp_intr.adb Add with and use clause for Targparm.
10063 (Expand_Unc_Deallocation): Detach a controlled object from a collection
10064 on .NET/JVM targets.
10065 * rtsfind.ads: Add entries RE_Attach, RE_Detach and
10066 RE_Root_Controlled_Ptr to tables RE_Id and RE_Unit_Table.
10067 * snames.ads-tmpl: Add name Name_Prev. Move Name_Prev to the special
10068 names used in finalization.
10069
100702011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
10071
10072 * a-fihema.adb: Add with and use clauses for System.Soft_Links.
10073 (Attach, Detach): Lock the current task when chaining an object onto a
10074 collection.
10075
df3e68b1
HK
100762011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
10077
10078 * a-except.adb, a-except-2005.adb (Raise_From_Controlled_Operation):
10079 Rewritten to create the message strings when the exception is not
10080 raised by an abort during finalization.
10081 * a-except.ads, a-except-2005.ads: Add pragma Export for procedure
10082 Raise_From_Controlled_Operation and update its associated comment.
10083 * a-fihema.ads, a-fihema.adb: New GNAT unit.
10084 Ada.Finalization.Heap_Management provides key functionality
10085 associated with controlled objects on the heap, their creation,
10086 finalization and reclamation. Type Finalization_Collection is
10087 effectively a wrapper which sits ontop of a storage pool and performs
10088 all necessary bookkeeping for all the objects it contains. Each
10089 access-to-controlled or access-to-class-wide type receives a collection
10090 as part of its expansion. The compiler generates buffer code and
10091 invokes Allocate / Deallocate to create and destroy allocated
10092 controlled objects.
10093 * a-finali.adb ("="): Removed.
10094 * a-finali.ads ("="): Removed. Controlled types no longer carry hidden
10095 fields Prev and Next.
10096 * ali.adb (Scan_ALI): Add parsing code to process PF / Has_Finalizer.
10097 A library unit with at least one controlled object on the library level
10098 has a special finalizer which is invoked by the binder. To signal this,
10099 ali files carry field PF.
10100 * ali.ads: New field in type Unit_Record called Has_Finalizer. Add
10101 associated comment on field usage.
10102 * a-tags.adb (Get_RC_Offset): Removed.
10103 (Needs_Finalization): New routine.
10104 * a-tags.ads: Update the structure of the GNAT dispatch tables.
10105 Dispatch tables now carry field Needs_Finalization which provides
10106 runtime indication whether a type is controlled or has controlled
10107 components or both. Remove field RC_Offset.
10108 (Get_RC_Offset): Removed along with its associated pragma Export.
10109 Since tagged types with controlled components no longer carry hidden
10110 field _controller, the special mechanism to retrieve its location is no
10111 longer needed.
10112 (Needs_Finalization): New routine.
10113 * atree.ads, atree.adb (Elist24): New routine.
10114 (Set_Elist24): New routine.
10115 * atree.h: Add a define clause for Elist24.
10116 * bindgen.adb New library-level variable Lib_Final_Built.
10117 (Gen_Adafinal_Ada): Reimplemented. Depending on the restrictions or the
10118 presence of a VM target, the routine generates calls to the proper
10119 library finalization routine.
10120 (Gen_Adainit_Ada): Import Finalize_Library_Objects only on non-VM
10121 targets. Set the correct library finalization routine depending on
10122 whether the library has controlled objects or this is a VM compilation.
10123 (Gen_Finalize_Library_Ada): New routine. This procedure generates calls
10124 to library-level finalizers of compiled units in reverse order of
10125 elaboration. It also produces exception management code and reraises a
10126 potential exception after all units have been finalized.
10127 (Gen_Finalize_Library_C): New routine. This procedure generates calls to
10128 library-level finalizers of compiled units in reverse order of
10129 elaboration.
10130 (Gen_Finalize_Library_Defs_C): New routine. This procedure generates the
10131 definitions of all library-level finalizers available to the compilation
10132 (Gen_Main_Ada): Directly call Adafinal which now contails all target
10133 dependent code.
10134 (Gen_Main_C): Add new local constant Needs_Library_Finalization. Call
10135 System.Standard_Library.Adafinal directly. If the library needs
10136 finalization actions, create the sequence of finalization calls.
10137 (Gen_Output_File_Ada): Alphabetize local variables and constants.
10138 Generate a with clause for System.Soft_Links when compiling for a VM.
10139 Remove the code which imports System.Standard_Library.Adafinal as
10140 Do_Finalize. Generate the library finalization routine.
10141 (Gen_Output_File_C): Add new local constant Needs_Library_Finalization.
10142 If the library needs finalization actions, create all the definitions
10143 of library- level finalizers.
10144 (Has_Finalizer): New routine. Determines whether at least one compiled
10145 unit has a library-level finalizer.
10146 Add type Qualification_Mode.
10147 (Set_Unit_Name): Add a formal which controls the replacement of a dot.
10148 * einfo.adb: New usage of field 15 as Return_Flag.
10149 Remove Finalization_Chain_Entity from the usages of field 19.
10150 Remove Associated_Final_Chain from the usages of field 23.
10151 New usage of field 23 as Associated_Collection.
10152 New usage of field 24 as Finalizer.
10153 New usage of flag 252 as Is_Processed_Transient.
10154 (Associated_Final_Chain): Removed.
10155 (Associated_Collection): New routine.
10156 (Finalization_Chain_Entity): Removed.
10157 (Finalizer): New routine.
10158 (Is_Finalizer): New routine.
10159 (Is_Processed_Transient): New routine.
10160 (Return_Flag): New routine.
10161 (Set_Associated_Final_Chain): Removed.
10162 (Set_Associated_Collection): New routine.
10163 (Set_Finalization_Chain_Entity): Removed.
10164 (Set_Finalizer): New routine.
10165 (Set_Is_Processed_Transient): New routine.
10166 (Set_Return_Flag): New routine.
10167 (Write_Entity_Flags): Include Is_Processed_Transient to the list of
10168 displayed flags.
10169 (Write_Field8_Name): Alphabetize the output.
10170 (Write_Field11_Name): Alphabetize the output.
10171 (Write_Field12_Name): Alphabetize the output.
10172 (Write_Field13_Name): Alphabetize the output.
10173 (Write_Field14_Name): Alphabetize the output.
10174 (Write_Field15_Name): Alphabetize the output.
10175 (Write_Field16_Name): Alphabetize the output.
10176 (Write_Field17_Name): Alphabetize the output.
10177 (Write_Field18_Name): Alphabetize the output.
10178 (Write_Field19_Name): Alphabetize the output. Remove the output of
10179 Finalization_Chain_Entity.
10180 (Write_Field20_Name): Alphabetize the output.
10181 (Write_Field21_Name): Alphabetize the output.
10182 (Write_Field22_Name): Alphabetize the output.
10183 (Write_Field23_Name): Alphabetize the output. Remove the output of
10184 Associated_Final_Chain. Add output for Associated_Collection.
10185 (Write_Field24_Name): Alphabetize the output.
10186 (Write_Field25_Name): Add output for Finalizer.
10187 (Write_Field26_Name): Alphabetize the output.
10188 (Write_Field27_Name): Alphabetize the output.
10189 (Write_Field28_Name): Alphabetize the output.
10190 * einfo.ads: Add new field description for Associated_Collection and
10191 its uses in nodes.
10192 Remove Associated_Final_Chain and its uses in nodes.
10193 Remove Finalization_Chain_Entity and its uses in nodes.
10194 Add new field description for Finalizer and its uses in nodes.
10195 Add new synthesized attribute Is_Finalizer.
10196 Add new flag description for Is_Processed_Transient and its uses in
10197 nodes.
10198 Add new field description for Return_Flag and its uses in nodes.
10199 (Associated_Final_Chain): Removed along with its pragma Inline.
10200 (Associated_Collection): New routine and pragma Inline.
10201 (Finalization_Chain_Entity): Removed along with its pragma Inline.
10202 (Finalizer): New routine and pragma Inline.
10203 (Is_Finalizer): New routine and pragma Inline.
10204 (Is_Processed_Transient): New routine and pragma Inline.
10205 (Return_Flag): New routine and pragma Inline.
10206 (Set_Associated_Final_Chain): Removed along with its pragma Inline.
10207 (Set_Associated_Collection): New routine and pragma Inline.
10208 (Set_Finalization_Chain_Entity): Removed along with its pragma Inline.
10209 (Set_Finalizer): New routine and pragma Inline.
10210 (Set_Is_Processed_Transient): New routine and pragma Inline.
10211 (Set_Return_Flag): New routine and pragma Inline.
10212 * exp_aggr.adb: Alphabetize subprograms.
10213 (Build_Array_Aggr_Code): Remove formal Flist and its associated comment.
10214 (Build_Record_Aggr_Code): Remove formals Flist and Obj along with their
10215 associated comments. Remove local variables External_Final_List and
10216 Attach.
10217 Rename Ctrl_Stuff_Done to Finalization_Done. Rename local variable A to
10218 Ancestor. Remove the retrieval of finalization lists. Update the call to
10219 Make_Adjust_Call.
10220 (Convert_Aggr_In_Allocator): Remove the retrieval of finalization
10221 lists. Update the call to Late_Expansion.
10222 (Convert_Aggr_In_Assignment): Update the call to Late_Expansion.
10223 (Convert_Aggr_In_Object_Decl): Update the call to Late_Expansion.
10224 (Gen_Assign): Remove the retrieval of the finalization list used to
10225 build the assignment. Update the calls to Make_Init_Call and
10226 Make_Adjust_Call.
10227 (Gen_Ctrl_Actions_For_Aggr): Renamed to Generate_Finalization_Actions.
10228 Remove the mechanism to determine attachment levels and finalization
10229 list retrieval. Remove the processing for coextensions.
10230 (Init_Controller): Removed. Controllers no longer exist.
10231 (Late_Expansion): Remove formals Flist and Obj along with their
10232 associated comments. Update the calls to Build_Record_Aggr_Code and
10233 Build_Array_Aggr_Code.
10234 * exp_ch13.adb (Expand_N_Free_Statement): New routine.
10235 (Expand_N_Freeze_Entity): Add special processing for finalizers which
10236 appear in entry bodies, protected subprograms and task bodies.
10237 * exp_ch13.ads (Expand_N_Free_Statement): New routine.
10238 * exp_ch3.adb (Add_Final_Chain): Removed.
10239 (Build_Array_Init_Proc): Alphabetize local variables.
10240 (Build_Assignment): Alphabetize local variables. Update the call to
10241 Maked_Adjust_Call.
10242 (Build_Class_Wide_Master): Rename local variables to better reflect
10243 their role.
10244 (Build_Discriminant_Assignments): Code reformatting.
10245 (Build_Init_Call_Thru): Code reformatting.
10246 (Build_Init_Procedure): Code reformatting. Generate a special version
10247 of Deep_Finalize which is capable of finalizing all initialized
10248 components and ignore the rest.
10249 (Build_Init_Statements): Rename local variables to better reflect their
10250 role.
10251 Reimplement the mechanism to include the creation and update of an index
10252 variable called a "counter". It is used as a bookmark for tracing
10253 initialized and non-initialized components.
10254 (Build_Initialization_Call): Remove local variable Controller_Typ.
10255 Alphabetize all local variables. Remove the initialization of the
10256 record controller and update the call to Make_Init_Call.
10257 (Build_Record_Init_Proc): Rename formal Pe to Rec_Ent.
10258 New local variable Counter.
10259 (Constrain_Array): Alphabetize.
10260 (Expand_Freeze_Array_Type): Create a collection instead of a
10261 finalization list.
10262 (Expand_Freeze_Class_Wide_Type): New routine. Creates TSS primitive
10263 Finalize_Address which is used in conjunction with allocated controlled
10264 objects.
10265 (Expand_N_Object_Declaration): Remove the creation of a finalization
10266 list for anonymous access types. Update the calls to Make_Init_Call and
10267 Make_Adjust_Call.
10268 (Expand_Freeze_Record_Type): Remove local variable Flist. Remove the
10269 retrieval of finalization lists. Remove the expansion of the record
10270 controller. Create TSS primitive Finalize_Address used in conjunction
10271 with controlled objects on the heap. Create finalization collections
10272 for access-to-controlled record components.
10273 (Expand_Record_Controller): Removed.
10274 (Freeze_Type): Remove the freezing of record controllers. Freezing of
10275 class-wide types now requires additional processing. Create
10276 finalization collections for access-to-controlled types.
10277 (Increment_Counter): New routine.
10278 (Make_Counter): New routine.
10279 (Make_Eq_If): Remove the mention of Name_uController.
10280 (Make_Predefined_Primitive_Specs): There is no longer need to skip
10281 types coming from System.Finalization_Root.
10282 (Predef_Deep_Spec): Reimplemented to reflect the new parameter profiles.
10283 (Predefined_Primitive_Bodies): There is no longer need to skip types
10284 coming from System.Finalization_Root.
10285 (Stream_Operation_OK): Do not generate stream routines for
10286 type Ada.Finalization.Heap_Management.Finalization_Collection.
10287 * exp_ch3.ads: Alphabetize subprograms.
10288 * exp_ch4.adb: Remove with and use clause for Sem_Ch8.
10289 Add with and use clause for Lib.
10290 (Complete_Coextension_Finalization): Removed.
10291 (Complete_Controlled_Allocation): New routine. Create a finalization
10292 collection for anonymous access-to-controlled types. Create a custom
10293 Allocate which interfaces with the back end and the machinery in
10294 Heap_Management.
10295 (Expand_Allocator_Expression): Add necessary calls to
10296 Complete_Controlled_Allocation. Remove the retrieval of finalization
10297 lists. Update the calls to Make_Adjust_Call. Generate a call to
10298 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
10299 the associated collection.
10300 (Expand_N_Allocator): Remove the processing for dynamic coextensions.
10301 Code clean up. Remove the retrieval of finalization lists and
10302 attachment levels.
10303 Update the call to Make_Init_Call. Generate a call to
10304 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
10305 the associated collection.
10306 (Get_Allocator_Final_List): Removed. Finalization lists are not
10307 available.
10308 (Suitable_Element): Remove the mention of Name_uController.
10309 * exp_ch5.adb: Remove with and use clauses for Ttypes and Uintp.
10310 (Make_Tag_Ctrl_Assignment): Rewritten to simply do a finalization of
10311 the left hand side, carry out the assignment and adjust the left hand
10312 side.
10313 * exp_ch6.adb (Add_Final_List_Actual_To_Build_In_Place_Call): Removed.
10314 (Add_Collection_Actual_To_Build_In_Place_Call): New routine.
10315 (BIP_Formal_Suffix): Rename BIP_Final_List and BIPfinallist to
10316 BIP_Collection and BIPcollection.
10317 (Build_Heap_Allocator): New routine used to allocate the return object
10318 of a build-in-place function onto a collection.
10319 (Expand_Ctrl_Function_Call): Moved from Exp_Ch7.
10320 (Expand_Call): Do not replace direct calls to Deep routines with their
10321 aliases.
10322 (Expand_N_Extended_Return_Statement): Give all variables shorter names
10323 and update their occurrences. Add a special return flag to monitor the
10324 [ab]normal execution of the function. The flag is set right before the
10325 return statement.
10326 Rewrite the mechanism used to allocate a build-in-place return object
10327 on the heap or on a storage pool.
10328 (Is_Direct_Deep_Call): New routine.
10329 (Make_Build_In_Place_Call_In_Allocator): Add a collection to a
10330 build-in-place function call instead of a final list. Build a call to
10331 Set_Finalize_Address_Ptr to decorate the associated collection.
10332 (Make_Build_In_Place_Call_In_Anonymous_Context): Create a temporary in
10333 order to name the build-in-place function call's result for later
10334 finalization. Add a collection to a build-in-place function call
10335 instead of a final list.
10336 (Make_Build_In_Place_Call_In_Assignment): Add a collection to a
10337 build-in-place function call instead of a final list. Remove the code
10338 which moves one final list and transforms it into the actual in a
10339 nested build-in-place call.
10340 (Make_Build_In_Place_Call_In_Object_Declaration): Add a collection to a
10341 build-in-place function call instead of a final list.
10342 (Move_Final_List): Removed.
10343 (Needs_BIP_Collection): New routine.
10344 (Needs_BIP_Final_List): Removed.
10345 * exp_ch6.ads: Replace BIP_Final_List with BIP_Collection in
10346 enumeration type BIP_Formal_Kind.
10347 Update the related comment.
10348 (Needs_BIP_Collection): New routine.
10349 (Needs_BIP_Final_List): Removed.
10350 * exp_ch7.adb: Add with and use clauses for Elists, Exp_Ch6, Stringt
10351 and Ttypes. Remove with and use clauses for Sem_Type. Alphabetize the
10352 majority of subprograms in this unit. Add Name_Finalize_Address to
10353 array Name_Of and TSS_Finalize_Address to array Deep_Name_Of.
10354 (Build_Adjust_Or_Finalize_Statements): Create the adjust or finalization
10355 statements for an array type.
10356 (Build_Adjust_Statements): Create the adjust statements for a record
10357 type.
10358 (Build_Cleanup_Statements): New routine. A procedure which given any
10359 construct containing asynchronous calls, references to _master, or is a
10360 task body, a task allocation or a protected body produces the necessary
10361 runtime calls to clean up these constructs.
10362 (Build_Exception_Handler): New routine.
10363 (Build_Final_List): Removed.
10364 (Build_Finalization_Collection): New routine. A core procedure which
10365 creates a collection to service heap allocated controlled objects
10366 associated with an access-to-controlled type.
10367 (Build_Finalize_Statements): Create the finalization statements for a
10368 record types.
10369 (Build_Finalizer): New routine. A core procedure which given any
10370 construct with declarations and/or statements detects all objects which
10371 need any type of clean up (controlled objects, protected objects) and
10372 generates all necessary code to clean up the said objects in the proper
10373 order.
10374 (Build_Finalizer_Call): New routine.
10375 (Build_Initialize_Statements): Create the initialization statements for
10376 an array type. The generated routine contains code to finalize partially
10377 initialized arrays.
10378 (Build_Object_Declarations): New routine.
10379 (Build_Raise_Statement): New routine.
10380 (Clean_Simple_Protected_Objects): Removed.
10381 (Controller_Component): Removed.
10382 (Enclosing_Function): New routine.
10383 (Expand_Cleanup_Actions): Create a finalizer for a construct which has
10384 either declarations or statements or both.
10385 (Expand_N_Package_Body): Create a finalizer for a non-generic package.
10386 (Expand_N_Package_Declaration): Create a finalizer for a non-generic
10387 package.
10388 (Find_Final_List): Removed.
10389 (Global_Flist_Ref): Removed.
10390 (In_Finalization_Root): Removed.
10391 (Insert_Actions_In_Scope_Around): Determine the range of the transient
10392 scope in terms of tree nodes. Process all transient variables within
10393 that range.
10394 (Make_Adjust_Call): Rewritten. There is no longer an attach call
10395 generated after the adjust.
10396 (Make_Attach_Call): Removed.
10397 (Make_Call): New routine.
10398 (Make_Clean): Removed.
10399 (Make_Deep_Array_Body): Rewritten to simply invoke the appropriate
10400 build routines.
10401 (Make_Deep_Proc): Rewritten to generate the new profile signature used
10402 in Deep routines.
10403 (Make_Deep_Record_Body): Rewritten to simply invoke the appropriate
10404 build routines.
10405 (Make_Final_Call): Modified to simply create a call to either
10406 Deep_Finalize or Finalize.
10407 (Make_Finalize_Address_Body): New routine.
10408 (Make_Finalize_Address_Stmts): New routine. A function which produces
10409 TSS primitive Finalize_Address used in conjunction with heap allocated
10410 controlled objects.
10411 (Make_Handler_For_Ctrl_Operation): Add specialized code for .NET/JVM.
10412 (Make_Init_Call): Rewritten. There is no longer an attach call
10413 generated after initialization.
10414 (Make_Local_Deep_Finalize): New routine.
10415 (Make_Set_Finalize_Address_Ptr_Call): New routine.
10416 (Make_Transient_Block): Remove the finalization list retrieval and
10417 manipulation.
10418 (Needs_Finalization): Moved to Exp_Util.
10419 (Parent_Field_Type): New routine.
10420 (Preprocess_Components): New routine.
10421 (Process_Transient_Objects): New routine.
10422 (Wrap_HSS_In_Block): New routine.
10423 (Wrap_Transient_Declaration): Remove finalization list management and
10424 controller insertion.
10425 (Wrap_Transient_Expression): Code reformatting.
10426 (Wrap_Transient_Statement): Code reformatting.
10427 * exp_ch7.ads (Build_Final_List): Removed.
10428 (Build_Finalization_Collection): New routine.
10429 (Build_Raise_Statement): New routine.
10430 (Controller_Component): Removed.
10431 (Expand_Ctrl_Function_Call): Moved to Exp_Ch6.
10432 (Find_Final_List): Removed.
10433 (In_Finalization_Root): Removed.
10434 (Is_Simple_Protected_Type): Update related comment.
10435 (Make_Adjust_Call): New parameter profile and associated comments.
10436 (Make_Attach_Call): Removed.
10437 (Make_Final_Call): New parameter profile and associated comments.
10438 (Make_Finalize_Address_Body): New routine.
10439 (Make_Init_Call): New parameter profile and associated comments.
10440 (Make_Local_Deep_Finalize): New routine.
10441 (Make_Set_Finalize_Address_Ptr_Call): New routine.
10442 (Needs_Finalization): Moved to Exp_Util.
10443 * exp_ch9.adb (Add_Object_Pointer): Code reformatting.
10444 (Expand_N_Protected_Body): Remove the handling of finalization lists.
10445 (Find_Protection_Type): Moved to Exp_Util.
10446 * exp_disp.adb: Remove with and use clauses for Exp_Ch7.
10447 (Make_DT): Update sequence of dispatch table initialization. Remove the
10448 initialization of field RC_Offset. Add initialization of field Needs_
10449 Finalization.
10450 * exp_intr.adb (Expand_Unc_Deallocation): Code reformatting.
10451 Reimplement how an object is first finalized, then deallocated.
10452 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
10453 Code reformatting.
10454 * exp_tss.ads: Add special suffix for TSS primitive Finalize_Address.
10455 Register TSS_Finalize_Address with type TSS_Names.
10456 * exp_util.adb (Build_Allocate_Deallocate_Proc): New routine. This core
10457 procedure provides the interface between an allocation / deallocation
10458 and the support machinery in Ada.Finalization.Heap_Management.
10459 (Find_Init_Call): Code reformatting.
10460 (Find_Init_Call_In_List): Code reformatting.
10461 (Find_Protection_Type): Moved from Exp_Ch9.
10462 (Find_Prim_Op): Reimplement to add preference of recovered primitive.
10463 (Has_Controlled_Coextensions): Removed.
10464 (Has_Controlled_Objects): New routine.
10465 (In_Library_Level_Package_Body): New routine.
10466 (Insert_Action_After): New routine.
10467 (Is_Finalizable_Transient): New routine. This predicate determines
10468 whether an object declaration is one of the many variants of controlled
10469 transients.
10470 (Is_Null_Access_BIP_Func_Call): New routine.
10471 (Is_Non_BIP_Func_Call): New routine.
10472 (Is_Related_To_Func_Return): New routine.
10473 (Needs_Finalization): Moved from Exp_Ch7.
10474 * exp_util.ads (Build_Allocate_Deallocate_Proc): New routine.
10475 (Find_Protection_Type): Moved from Exp_Ch9.
10476 (Has_Controlled_Coextensions): Removed.
10477 (Has_Controlled_Objects): New routine.
10478 (In_Library_Level_Package_Body): New routine.
10479 (Insert_Action_After): New routine.
10480 (Is_Finalizable_Transient): New routine.
10481 (Is_Null_Access_BIP_Func_Call): New routine.
10482 (Is_Non_BIP_Func_Call): New routine.
10483 (Is_Related_To_Func_Return): New routine.
10484 (Needs_Finalization): Moved from Exp_ch7.
10485 * expander.adb (Expand): Add a case for N_Free_Statement.
10486 * freeze.adb (Freeze_All): Replace the generation of a finalization
10487 list with a collection for access-to-controlled types.
10488 (Freeze_Entity): Code reformatting.
10489 (Freeze_Record_Type): Remove the freezing of a record controller
10490 component.
10491 (Freeze_Subprogram): Code reformatting.
10492 * inline.adb (Cleanup_Scopes): Remove the reset of the scope
10493 finalization list.
10494 * lib-writ.adb (Write_Unit_Information): Output "PF" when a package
10495 has a library-level finalizer.
10496 * lib-writ.ads: Add "PF" to the sequence of unit attributes.
10497 * a-filico.ads, a-filico.adb, s-finimp.ads, s-finimp.adb: Removed.
10498 * Makefile.rtl: Remove a-filico and s-finimp from the list of object
10499 files. Add a-fihema to the list of object files.
10500 * par-ch4.adb:
10501 Alphabetize the associations in type Is_Parameterless_Attribute.
10502 * rtsfind.ads: Ada.Finalization_List.Controller and
10503 System.Finalization_Implementation are no longer a GNAT unit.
10504 Update the range of type Ada_Finalization_Child. Remove the following
10505 recoverable entities:
2c7f9cc0 10506
df3e68b1
HK
10507 RE_Attach_To_Final_List
10508 RE_Deep_Tag_Attach
10509 RE_Finalize_List
10510 RE_Finalize_One
10511 RE_Finalizable_Ptr_Ptr
10512 RE_Global_Final_List
10513 RE_Limited_Record_Controller
10514 RE_List_Controller
10515 RE_Move_Final_List
10516 RE_Record_Controller
10517 RE_Simple_List_Controller
2c7f9cc0 10518
df3e68b1 10519 Add the following recoverable entities:
2c7f9cc0 10520
df3e68b1
HK
10521 RE_Add_Offset_To_Address
10522 RE_Allocate
10523 RE_Base_Pool
10524 RE_Deallocate
10525 RE_Exception_Identity
10526 RE_Finalization_Collection
10527 RE_Finalization_Collection_Ptr
10528 RE_Needs_Finalization
10529 RE_Save_Library_Occurrence
10530 RE_Set_Finalize_Address_Ptr
10531 RE_Set_Storage_Pool_Ptr
10532 RE_Storage_Count
10533 * sem_aggr.adb (Resolve_Record_Aggregate): Remove mention of
10534 Name_uController.
10535 * sem_aux.adb (First_Discriminant): Remove mention of Name_uController.
10536 (First_Stored_Discriminant): Remove the mention of Name_uController.
10537 * sem_aux.ads: Comment reformatting.
10538 * sem_ch10.adb (Build_Chain): Signal the class-wide creation machinery
10539 to redecorate an already existing class-wide type.
10540 (Decorate_Tagged_Type): New parameter profile and associated comment.
10541 Create a "shadow class-wide type" for a shadow entity.
10542 * sem_ch11.adb (Analyze_Exception_Handlers): Remove the dubious setting
10543 of the final chain along with the associated comment.
10544 * sem_ch3.adb (Access_Type_Declaration): Add new local variable
10545 Full_Desig and set it to the full view of the designated type.
10546 Initialize the finalization collection to empty.
10547 (Build_Derived_Record_Type): Alphabetize local variables. Code
10548 reformatting.
10549 (Collect_Fixed_Components): Remove the mention of Name_uController.
10550 (Create_Constrained_Components): Remove the mention of Name_uController.
10551 (Make_Class_Wide_Type): Add specialized code to redecorate an existing
10552 class-wide type of a shadow entity.
10553 (Process_Full_View): Update the machinery which marks type
10554 Limited_Controlled's entity as limited.
10555 * sem_ch4.adb (Analyze_One_Call): Code reformatting.
10556 * sem_ch6.adb (Create_Extra_Formals): Do not generate a finalization
10557 list, instead make a collection build-in-place formal.
10558 * sem_ch8.adb (Analyze_Object_Renaming): Look at the available view of
10559 a designated type in order to establish a match between the renaming
10560 and the renamed entity.
10561 (Find_Selected_Component): Add guard to prevent spurious exceptions
10562 from being raised on .NET/JVM.
10563 * sem_disp.adb (Check_Dispatching_Operation): Include Finalize_Address
10564 to the list of primitive that need special processing. Update arrays
10565 C_Names and D_Names.
10566 (Replace_Types): Handle class-wide types.
10567 * sem_elab.adb (Check_A_Call): Since Deep_Initialize now has a
10568 different parameter profile, look at the first formal.
10569 * sem_prag.adb: Remove with and use clauses for Exp_Ch7. Add with and
10570 use clauses for Exp_Util.
10571 * sem_res.adb: Remove with and use clauses for Elists.
10572 (Propagate_Coextensions): Removed.
10573 (Resolve_Allocator): Do not propagate the list of coextensions from one
10574 allocator to another.
10575 * sem_util.adb (Build_Actual_Subtype_Of_Component): Rename variable
10576 Deaccessed_T to Desig_Typ.
10577 (Enter_Name): Remove the mention of Name_uController.
10578 (Gather_Components): Remove the mention of Name_uController.
10579 (Incomplete_Or_Private_View): New routine.
10580 (Is_Coextension_Root): Removed.
10581 (Is_Fully_Initialized_Type): Remove the mention of Name_uController.
10582 * sem_util.ads (Incomplete_Or_Private_View): New routine.
10583 (Is_Coextension_Root): Removed.
10584 * s-finroo.ads: Remove with clause for Ada.Unchecked_Conversion.
10585 Controlled types are now derived from a null tagged record. Remove
10586 types Finalizable_Ptr, Finalizable and Empty_Root_Controlled.
10587 * sinfo.adb (Coextensions): Removed.
10588 (Set_Coextensions): Removed.
10589 * sinfo.ads: Remove Coextensions from the explanation of node fields
10590 and its uses in nodes.
10591 Update the field usage of N_Allocator.
10592 (Coextensions): Removed along with its pragma Inline.
10593 (Set_Coextensions): Removed along with its pragma Inline.
10594 * snames.ads-tmpl: Remove names
2c7f9cc0 10595
df3e68b1
HK
10596 Name_uClean
10597 Name_uController
10598 Name_uFinal_List
10599 Name_uLocal_Final_List
10600 Name_Finalization_Root
10601 Name_Next
10602 Name_Prev
2c7f9cc0 10603
df3e68b1 10604 Add names
2c7f9cc0 10605
df3e68b1
HK
10606 Name_uFinalizer
10607 Name_Finalize_Address
10608 * s-pooglo.adb (Allocate): Add overriding indicator.
10609 (Deallocate): Add overriding indicator.
10610 (Storage_Size): Add overriding indicator.
10611 * s-soflin.adb (Adafinal_NT): Invoke Finalize_Library_Objects rather
10612 than Finalize_Global_List.
10613 (Null_Finalize_Global_List): Removed.
10614 (Save_Library_Occurrence): New routine.
10615 * s-soflin.ads: Remove variable Finalize_Global_List along with its
10616 initialization. Add variable Finalize_Library_Objects along with its
10617 pragma Export. Add variables Library_Exception and
10618 Library_Exception_Set along with their pragma Export.
10619 (Null_Finalize_Global_List): Removed.
10620 (Save_Library_Occurrence): New routine.
10621 * s-tassta.adb (Finalize_Global_Tasks): Call Finalize_Library_Objects
10622 rather than Finalize_Global_List.
10623 * tbuild.adb (Unchecked_Convert_To): Capture and set the parent field
10624 of the constructed node.
10625
2ee06322
RO
106262011-08-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10627
10628 * link.c: Include "auto-host.h" before system headers.
10629
f77b022b
VC
106302011-08-03 Vincent Celier <celier@adacore.com>
10631
10632 * make.adb (Gnatmake): Add to table Library_Projs only library projects
10633 that are not extended. Do not check if a library project that is
10634 extended should be regenerated. Do not add to table Library_Paths the
10635 libraries that are in extended projects. Link only with libraries that
10636 are in libray projects that are not extended.
10637 * prj-nmsc.adb (Check_Library_Attributes): Do not reset flag Library
10638 for a library project that is extended.
10639
0187b60e
AC
106402011-08-03 Gary Dismukes <dismukes@adacore.com>
10641
10642 * sem_ch6.adb (Find_Corresponding_Spec): When in an instance, skip
10643 conforming subprogram renamings that appear to be completions if they
10644 are not fully conformant.
10645 Such renamings are homographs but not completions.
10646 * sem_type.adb (Disambiguate): Handle disambiguation of overloaded
10647 names in a subprogram renaming that appears in an instance.
10648
106492011-08-03 Ed Schonberg <schonberg@adacore.com>
10650
10651 * exp_util.adb (Expand_Subtype_From_Expr): if the type is limited but
10652 not immutably limited, build actual subtype from expression to provide
10653 proper bounds to caller.
10654
106552011-08-03 Gary Dismukes <dismukes@adacore.com>
10656
10657 * sem_ch8.adb: Minor comment correction.
10658
106592011-08-03 Thomas Quinot <quinot@adacore.com>
10660
10661 * exp_strm.adb (Build_Array_Input_Function): In Ada 2005 mode, when
10662 returning a limited array, use an extended return statement.
10663
106642011-08-03 Vincent Celier <celier@adacore.com>
10665
10666 * make.adb (Initialize): If --subdirs= is used, but no project file is
10667 specified, attempt to create the specify subdir if it does not already
10668 exist and use it as the object directory as if -D had been specified.
10669
106702011-08-03 Arnaud Charlet <charlet@adacore.com>
10671
10672 * s-tpopsp-vms.adb: New file.
10673 * s-taprop-vms.adb: Put back ATCB_Key, since needed by this file on VMS.
10674 * gcc-interfaces/Makefile.in: Use s-taprop-vms.adb on VMS.
10675
e280f981
AC
106762011-08-03 Emmanuel Briot <briot@adacore.com>
10677
10678 * make.adb, makeutl.adb, makeutl.ads, clean.adb (Makeutl.Queue): new
10679 package.
10680
106812011-08-03 Yannick Moy <moy@adacore.com>
10682
10683 * cstand.adb (Create_Standard): select Universal_Integer as an ALFA type
10684 * sem_ch3.adb (Array_Type_Declaration): detect array types in ALFA
10685 * sem_util.adb, sem_util.ads (Has_Static_Array_Bounds): new function to
10686 detect that an array has static bounds.
10687
98c99a5a
AC
106882011-08-03 Thomas Quinot <quinot@adacore.com>
10689
10690 * exp_dist.adb: Minor reformatting.
10691
106922011-08-03 Arnaud Charlet <charlet@adacore.com>
10693
10694 * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-vms.adb
10695 (ATCB_Key): Removed, not always used.
10696
106972011-08-03 Emmanuel Briot <briot@adacore.com>
10698
10699 * gnatcmd.adb, make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads,
10700 clean.adb, prj-conf.adb, prj-env.adb, prj-env.ads (Makeutl): remove
10701 most remaining global variables.
10702
686d0984
AC
107032011-08-03 Robert Dewar <dewar@adacore.com>
10704
10705 * gnatcmd.adb, prj-proc.adb, mlib-prj.adb, prj.adb, makeutl.ads,
10706 prj-util.adb, prj-util.ads, prj-conf.adb, prj-env.adb: Minor
10707 reformatting.
10708
107092011-08-03 Javier Miranda <miranda@adacore.com>
10710
10711 * exp_util.adb (Is_VM_By_Copy_Actual): Include N_Slide nodes as actuals
10712 that must be passed by copy in VM targets.
10713
107142011-08-03 Emmanuel Briot <briot@adacore.com>
10715
10716 * prj.ads, prj-nmsc.adb (Files_Htable): removed this htable, which
10717 duplicates a similar htable now in the project tree.
10718
107192011-08-03 Claire Dross <dross@adacore.com>
10720
10721 * a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
10722 a-cofove.adb ("=", Length, Is_Empty, Clear, Assign, Copy, Element,
10723 Replace_Element, Query_Element, Update_Element, Move, Insert, Prepend,
10724 Append, Delete, Delete_First, Delete_Last, Reverse_Element, Swap,
10725 Splice, First, First_Element, Last, Last_Element, Next, Previous, Find,
10726 Reverse_Find, Contains, Has_Element, Iterate, Reverse_Iterate, Capacity,
10727 Reserve_Length, Length, Strict_Equal, Left, Right): Data-structure
10728 update.
10729
107302011-08-03 Arnaud Charlet <charlet@adacore.com>
10731
10732 * s-taprop-posix.adb, s-taprop-linux.adb, s-taprop-tru64.adb
10733 (ATCB_Key): Removed, not always used.
10734 * s-tpopsp-posix.adb, s-tpopsp-posix-foreign.adb (ATCB_Key): Moved from
10735 s-taprop-posix.adb.
10736 * s-tpopsp-tls.adb: New file.
10737 * gcc-interface/Makefile.in: Use TLS implementation of s-tpopsp.adb on
10738 x86/x64/ia64/powerpc/sparc Linux.
10739
107402011-08-03 Arnaud Charlet <charlet@adacore.com>
10741
10742 * system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True.
10743 * gcc-interface/Makefile.in: Switch to ZCX by default on AIX ports.
10744
107452011-08-03 Thomas Quinot <quinot@adacore.com>
10746
10747 * rtsfind.ads, exp_dist.adb, exp_dist.ads
10748 (Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
10749 Fix type selection for mapping integer types to PolyORB types.
10750
107512011-08-03 Bob Duff <duff@adacore.com>
10752
10753 * sem_ch7.adb: Minor comment clarification.
10754
107552011-08-03 Bob Duff <duff@adacore.com>
10756
10757 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): If we get
10758 an error analyzing a choice, skip further processing. Further
10759 processing could cause a crash or cascade errors.
10760
40ecf2f5
EB
107612011-08-03 Emmanuel Briot <briot@adacore.com>
10762
10763 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, mlib-prj.adb,
10764 prj.adb, prj.ads, makeutl.adb, makeutl.ads, clean.adb, prj-nmsc.adb,
10765 prj-util.adb, prj-util.ads, prj-conf.adb, prj-conf.ads, prj-env.adb,
10766 prj-env.ads (Shared_Project_Tree_Data): new type
10767 An aggregate project and its aggregated trees need to share the common
10768 data structures used for lists of strings, packages,... This makes the
10769 code simpler since otherwise we have to pass the root tree (also used
10770 for the configuration file data) in addition to the current project
10771 tree. This also avoids ambiguities as to which tree should be used.
10772 And finally this saves a bit of memory.
10773 (For_Every_Project_Imported): new parameter Tree.
10774 Since aggregated projects are using a different tree, we need to let
10775 the caller know which tree to use to manipulate the returned project.
10776
9fde638d
RD
107772011-08-03 Robert Dewar <dewar@adacore.com>
10778
10779 * prj-proc.adb, exp_util.ads, exp_ch9.adb, make.adb, prj-ext.adb,
10780 prj-ext.ads, alfa.ads, sem_ch4.adb, makeutl.adb, makeutl.ads,
10781 lib-xref-alfa.adb, sem_cat.adb, exp_dist.adb, get_alfa.adb,
10782 prj-env.adb, prj-env.ads, prj-tree.adb, alfa.ads: Minor reformatting.
10783
95eb8b69
AC
107842011-08-03 Javier Miranda <miranda@adacore.com>
10785
10786 * exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
10787 Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.
10788
107892011-08-03 Bob Duff <duff@adacore.com>
10790
10791 * sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
10792 the Base_Type.
10793
107942011-08-03 Joel Brobecker <brobecker@adacore.com brobecker>
10795
10796 * g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
10797 g-sehash.ads: Fix typo. Update header.
10798
107992011-08-03 Thomas Quinot <quinot@adacore.com>
10800
10801 * exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
10802 expansion.
10803
108042011-08-03 Gary Dismukes <dismukes@adacore.com>
10805
10806 * sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
10807 prefixes of private types along with records, since the selector may be
10808 a discriminant.
10809 * sem_res.adb (Resolve_Selected_Component): Consider prefixes of
10810 private types along with records, since the selector may be a
10811 discriminant.
10812
92e77027
AC
108132011-08-03 Emmanuel Briot <briot@adacore.com>
10814
b2f7ebc1 10815 * prj-pp.adb (Pretty_Print): Remove trailing blank line.
92e77027
AC
10816
108172011-08-03 Javier Miranda <miranda@adacore.com>
10818
10819 * sem_aux.adb (Is_VM_By_Copy_Actual): Fix wrong use of
10820 Tagged_Type_Expansion.
10821
108222011-08-03 Yannick Moy <moy@adacore.com>
10823
b2f7ebc1
GP
10824 * sem_res.adb (Resolve_Op_Concat_Arg): Do not issue a SPARK
10825 violation when the argument of concatenation is the name of a
10826 constant.
92e77027 10827
ab29a348
EB
108282011-08-03 Emmanuel Briot <briot@adacore.com>
10829
10830 * prj-proc.adb, prj-ext.adb, prj-ext.ads, prj-env.adb, prj-env.ads,
10831 prj-tree.adb, prj-tree.ads (Initialize_And_Copy, Copy): new subprograms
10832 (Process_Declarative_Items): new parameter Child_Env.
10833
9466892f
AC
108342011-08-03 Yannick Moy <moy@adacore.com>
10835
589ef536
GP
10836 * alfa.ads: Update format of ALFA section in ALI file in order to
10837 add a mapping from bodies to specs when both are present.
10838 (ALFA_Scope_Record): Add components for spec file/scope.
10839 * get_alfa.adb (Get_ALFA): Read the new file/scope for spec when
10840 present.
10841 * lib-xref-alfa.adb (Collect_ALFA): After all scopes have been
10842 collected, fill in the spec information when relevant.
10843 * put_alfa.adb (Put_ALFA): Write the new file/scope for spec when
9466892f
AC
10844 present.
10845
108462011-08-03 Eric Botcazou <ebotcazou@adacore.com>
10847
10848 * inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing
10849 code unit to decide whether to add internally generated subprograms.
2c7f9cc0 10850
9466892f
AC
108512011-08-03 Javier Miranda <miranda@adacore.com>
10852
10853 * sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram.
589ef536
GP
10854 * exp_ch9.adb (Build_Simple_Entry_Call): Handle actuals that must
10855 be handled by copy in VM targets.
9466892f
AC
10856
108572011-08-03 Emmanuel Briot <briot@adacore.com>
10858
589ef536 10859 * make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): Share
9466892f
AC
10860 code with Makeutl.Get_Switches.
10861 * prj-tree.adb: Update comment.
10862
b5ea9143
AC
108632011-08-03 Thomas Quinot <quinot@adacore.com>
10864
10865 * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Reject a remote
10866 subprogram with a limited formal that does not support external
10867 streaming.
10868
108692011-08-03 Yannick Moy <moy@adacore.com>
10870
10871 * get_alfa.adb (Get_ALFA): add missing Skip_Spaces at start of
10872 continuation line
10873 * lib-xref-alfa.adb (Add_ALFA_File): split removal of scopes that are
10874 not from current unit in two phases, because it is not possible to
10875 change the table while iterating over its content.
10876 * put_alfa.adb (Put_ALFA): reset current file/scope at each new entity
10877
108782011-08-03 Sergey Rybin <rybin@adacore.com>
10879
10880 * vms_data.ads: Add qualifier for gnatmetric --no-static-loop option
10881 * gnat_ugn.texi: Update description of complexity metrics (gnatmetric)
10882
668a19bc
ES
108832011-08-03 Ed Schonberg <schonberg@adacore.com>
10884
10885 * sem_res.adb (Resolve_Op_Concat_Arg): if the argument is an aggregate
10886 and the component type is composite, this is ambiguous for predefined
10887 concatenation, but if the node is not overloaded and the entity is a use
10888 -defined function its profile can be used to resolve that aggregate.
10889
170b2989
AC
108902011-08-03 Robert Dewar <dewar@adacore.com>
10891
10892 * exp_ch4.adb: Minor code cleanup.
10893
108942011-08-03 Thomas Quinot <quinot@adacore.com>
10895
10896 * exp_dist.adb: Do not generate distribution stubs if serious errors
10897 have been diagnosed.
10898
108992011-08-03 Ed Schonberg <schonberg@adacore.com>
10900
10901 * sem_ch4.adb (Try_Primitive_Operation): when checking the validity of
10902 the first formal of a primitive operation, go to the base type to
10903 handle properly an access to a derived type with constrained
10904 discriminants.
10905 * sem_type.adb (Disambiguate): an immediately visible operator hides a
10906 user-defined function that is only use-visible.
170b2989 10907
e917aec2
RD
109082011-08-03 Robert Dewar <dewar@adacore.com>
10909
10910 * sem_aggr.adb, sem_ch3.adb, lib.ads, gnatcmd.adb, prj-proc.adb,
10911 make.adb, lib-writ.adb, prj-part.adb, prj-part.ads, prj-ext.adb,
10912 fname-uf.adb, prj-ext.ads, prj.adb, prj.ads, sem_attr.adb, alfa.adb,
10913 prj-makr.adb, errout.adb, makeutl.adb, makeutl.ads, restrict.ads,
10914 sem_ch6.adb, g-pehage.adb, clean.adb, put_alfa.adb, lib-xref-alfa.adb,
10915 prj-nmsc.adb, prj-nmsc.ads, sem_ch8.adb, prj-pars.ads, exp_aggr.adb,
10916 prj-attr.ads, sem_ch13.adb, get_alfa.adb, prj-env.adb, prj-env.ads,
10917 alfa_test.adb, prj-tree.adb, prj-tree.ads, einfo.ads: Minor reformatting
10918
109192011-08-03 Robert Dewar <dewar@adacore.com>
10920
10921 * repinfo.adb (List_Mechanism): Add handling of
10922 Convention_Ada_Pass_By_XXX.
10923 * sem_mech.adb (Set_Mechanism): Ditto.
10924 * sem_prag.adb (Process_Convention): Add entries for
10925 Convention_Ada_Pass_By_XXX.
10926 * snames.adb-tmpl, snames.ads-tmpl: Ditto.
10927
49bfcf43
AC
109282011-08-03 Pascal Obry <obry@adacore.com>
10929
10930 * makeutl.adb: Minor reformatting.
10931
109322011-08-03 Vincent Celier <celier@adacore.com>
10933
10934 * fname-uf.adb
10935 (Get_File_Name) If the file cannot be found when there are no config
10936 pragmas file and May_Fail is True, return No_File instead of the file
10937 name, to be consistent.
10938
109392011-08-03 Pascal Obry <obry@adacore.com>
10940
10941 * adaint.c (__gnat_is_executable_file_attr): Avoid access
10942 to null pointer.
10943
109442011-08-03 Javier Miranda <miranda@adacore.com>
10945
10946 * sem_ch13.adb
10947 (Same_Representation): In VM targets the representation of arrays with
10948 aliased components differs from arrays with non-aliased components.
10949
34798441
EB
109502011-08-03 Emmanuel Briot <briot@adacore.com>
10951
10952 * prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do
10953 not systematically lower case attribute indexes that contain no "."
10954 Fix definition of several Naming attributes, which take
10955 a unit name as index and therefore should be case insensitive.
10956 Minor refactoring (reduce length of variable names).
10957
109582011-08-03 Emmanuel Briot <briot@adacore.com>
10959
10960 * makeutl.adb, makeutl.ads (Get_Switches): new subprogram.
10961
4437a530
EB
109622011-08-03 Emmanuel Briot <briot@adacore.com>
10963
10964 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
10965 prj-part.ads, switch-m.adb, switch-m.ads, prj-makr.adb, clean.adb,
10966 prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
10967 prj-tree.ads (Prj.Tree.Environment): new type.
10968
804fe3c4
EB
109692011-08-03 Emmanuel Briot <briot@adacore.com>
10970
10971 * prj-proc.adb, prj.ads, makeutl.adb, makeutl.ads, prj-conf.adb,
10972 prj-tree.adb, prj-tree.ads (Environment): new type.
10973
c565bc66
AC
109742011-08-03 Emmanuel Briot <briot@adacore.com>
10975
10976 * prj-tree.ads: Remove unused variable.
10977
109782011-08-03 Yannick Moy <moy@adacore.com>
10979
10980 * restrict.adb (Restriction_Msg): set "SPARK" all in upper case for
10981 issuing messages related to SPARK restriction violation.
10982
4ee646da
AC
109832011-08-03 Ed Schonberg <schonberg@adacore.com>
10984
10985 * sem_ch6.adb: guard against error nodes in return statements.
10986
109872011-08-03 Arnaud Charlet <charlet@adacore.com>
10988
10989 * errout.adb (Error_Msg_Internal): the main unit has not been read yet,
10990 a warning can only appear on a configuration file, so emit warning
10991 without further checks.
10992
109932011-08-03 Arnaud Charlet <charlet@adacore.com>
10994
10995 * s-interr.ads: add overriding keyword.
10996
109972011-08-03 Geert Bosch <bosch@adacore.com>
10998
10999 * exp_attr.adb: Fix minor typo.
11000
110012011-08-03 Ed Schonberg <schonberg@adacore.com>
11002
11003 * par-ch4.adb: improve error recovery.
11004
c0e538ad
AC
110052011-08-03 Emmanuel Briot <briot@adacore.com>
11006
11007 * prj-part.adb, prj-part.ads, prj-makr.adb, prj-pars.adb, prj-conf.adb,
11008 prj-env.adb (Prj.Part.Parse): change parameter Always_Errout_Finalize
11009 to Errout_Handling.
11010
110112011-08-03 Emmanuel Briot <briot@adacore.com>
11012
11013 * prj-dect.adb (Parse_Attribute_Declaration): make sure we can use
11014 "external" as an attribute name in aggregate projects.
11015
110162011-08-03 Jose Ruiz <ruiz@adacore.com>
11017
11018 * s-taprop-vxworks.adb: (Create_Task, Initialize): Ada 2012 pragma CPU
11019 uses CPU numbers starting 1, while VxWorks uses CPU numbers starting
11020 from 0, so we need to adjust.
11021
110222011-08-03 Emmanuel Briot <briot@adacore.com>
11023
11024 * prj-proc.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, prj-tree.adb,
11025 prj-tree.ads, gnatcmd.adb, clean.adb (External_References): new type.
11026
c4d67e2d
AC
110272011-08-03 Yannick Moy <moy@adacore.com>
11028
11029 * sem_ch6.adb (New_Overloaded_Entity): only issue error for SPARK
11030 restriction on overloaded entity if the entity is not an operator.
11031
110322011-08-03 Yannick Moy <moy@adacore.com>
11033
11034 * sem_ch7.adb, sem_res.adb, sem_attr.adb, restrict.adb,
11035 restrict.ads: Rename remaining Check_Formal_Restriction* into
11036 Check_SPARK_Restriction*.
11037
110382011-08-03 Emmanuel Briot <briot@adacore.com>
11039
11040 * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
11041 prj-nmsc.ads, prj-err.adb (Project_Data): now discriminated on its
11042 qualifier.
11043 (Project_Empty): removed
11044 (Empty_Project): new parameter Qualifier
11045 This is used to have fields specific to aggregate projects, cleaner
11046 New field to store the list of aggregated projects.
11047 (Check_Aggregate_Project): removed
11048 (Process_Aggregated_Projects, Free): new subprograms.
11049
3f5a8fee
AC
110502011-08-03 Olivier Hainque <hainque@adacore.com>
11051
11052 * tracebak.c (STOP_FRAME ppc AIX): Stop at null return address as well.
11053
110542011-08-03 Ed Schonberg <schonberg@adacore.com>
11055
11056 * sem_ch8.adb (Analyze_Object_Renaming): if the renamed object is an
11057 explicit dereference of an unconstrained type, create a constrained
11058 subtype for it, as is done for function calls that return an
11059 unconstrained type.
11060
110612011-08-03 Thomas Quinot <quinot@adacore.com>
11062
11063 * g-pehage.adb (Finalize): Avoid possible double-free.
11064
110652011-08-03 Steve Baird <baird@adacore.com>
11066
11067 * exp_attr.adb (Expand_N_Attribute_Reference): Don't expand
11068 Elab_Spec/Body attrs in CodePeer_Mode.
11069
110702011-08-03 Javier Miranda <miranda@adacore.com>
11071
11072 * exp_aggr.adb (Flatten): Convert to positional form aggregates whose
11073 low bound is not known at compile time but they have no others choice.
11074 Done because in this case the bounds can be obtained directly from the
11075 aggregate.
11076
110772011-08-03 Ed Falis <falis@adacore.com>
11078
11079 * s-tasinf-vxworks.ads: Update comment to reflect 0 indexing of CPUs
11080 on VxWorks SMP. Remove unusable constant ANY_CPU.
11081
a96ca600
EB
110822011-08-03 Emmanuel Briot <briot@adacore.com>
11083
11084 * gnatcmd.adb, make.adb, prj-part.adb, prj-part.ads, prj-makr.adb,
11085 clean.adb, prj-nmsc.adb, prj-pars.adb, prj-conf.adb, prj-env.adb,
11086 prj-env.ads (Prj.Env.Initialize_Default_Project_Path,
11087 Prj.Env.Initialize_Empty): new subprograms
11088 (Get_Env, Find_Project): remove parameter Target_Name.
11089
3e582869
AC
110902011-08-03 Gary Dismukes <dismukes@adacore.com>
11091
11092 * sem_ch3.adb (Build_Derived_Record_Type): Test the Derive_Subps formal
11093 as a condition for the delayed call to Derived_Subprograms done for the
11094 case of the rewriting of a derived type that constrains the
11095 discriminants of its parent type.
11096 Avoids redundant subprogram derivations for private subtype derivations.
11097
110982011-08-03 Javier Miranda <miranda@adacore.com>
11099
11100 * exp_aggr.adb (Init_Hidden_Discriminants): New subprogram of
11101 Build_Record_Aggr_Code.
11102 (Build_Record_Aggr_Code): Add missing support to initialize hidden
11103 discriminants in extension aggregates.
11104
111052011-08-03 Emmanuel Briot <briot@adacore.com>
11106
11107 * prj-pp.adb (Print): also output project qualifiers, since in
11108 particular "aggregate" is mandatory in an aggregate project.
11109
111102011-08-03 Emmanuel Briot <briot@adacore.com>
11111
11112 * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb:
11113 (Debug_Output): new function.
11114
56e94186
AC
111152011-08-03 Eric Botcazou <ebotcazou@adacore.com>
11116
11117 * gnat_ugn.texi: Document -Wstack-usage.
11118 * gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes.
11119
111202011-08-03 Thomas Quinot <quinot@adacore.com>
11121
11122 * sem_prag.adb Issue an error (not a warning) when a C++ type does not
11123 have keyword LIMITED.
11124
111252011-08-03 Yannick Moy <moy@adacore.com>
11126
11127 * alfa.adb, alfa.ads, alfa_test.adb: New files.
11128 * ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA)
11129 (Scan_ALI): do not issue a fatal error if parsing known lines after Xref
11130 section (does not happen in compiler, only if code directly calls
11131 Scan_ALI).
11132 * get_alfa.adb, get_alfa.ads: New files.
11133 * lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if
11134 needed.
11135 * lib-xref-alfa.adb: New file.
11136 * lib-xref.adb, lib-xref.ads
11137 (Xref_Entry): redefine information needed in cross-references for ALFA.
11138 Push ALFA treatments in separated local package.
11139 (Enclosing_Subpragram_Or_Package): treat specially subprogram
11140 identifiers. Return entity of package body instead of spec. Return
11141 Empty for a scope with no location.
11142 (Generate_Reference): adapt to new components for ALFA information.
11143 Remove the need for D references on definitions.
11144 (Is_Local_Reference): moved to ALFA local package
11145 (Output_References): extract subfunction as Extract_Source_Name
11146 (Output_Local_References): remove procedure, replaced by filtering of
11147 cross-references in package ALFA and printing in Put_ALFA.
11148 (Write_Entity_Name): remove procedure
11149 * lib.adb, lib.ads (Extract_Source_Name): extract here function to
11150 print exact name of entity as it appears in source file
11151 (Unit_Ref_Table): make type public for use in Lib.Xref.ALFA
11152 * put_alfa.adb, put_alfa.ads: New files.
11153 * xref_lib.adb (Search_Xref): protect read of cross-references against
11154 reading other sections of the ALI file, in gnatxref
11155 (Search): protect read of cross-references against reading other
11156 sections of the ALI file, in gnatfind.
11157 * gcc-interface/Make-lang.in: Update dependencies.
11158
111592011-08-03 Thomas Quinot <quinot@adacore.com>
11160
11161 * sem_ch3.adb: Minor reformatting.
11162
111632011-08-03 Jose Ruiz <ruiz@adacore.com>
11164
11165 * s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of
11166 raising an exception.
11167
111682011-08-03 Ed Schonberg <schonberg@adacore.com>
11169
11170 * sem_res.adb (Set_String_Literal_Subtype): if index type is an integer
11171 type, always use 1 as the lower bound or string, even if lower bound of
11172 context is not static, to handle properly null strings in a non-static
11173 context.
11174
111752011-08-03 Bob Duff <duff@adacore.com>
11176
11177 * sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is
11178 always legal on the right-hand side of an assignment statement; there
11179 is always an applicable index constraint in this case. Therefore, the
11180 check for Pkind = N_Assignment_Statement is now unconditional -- it
11181 doesn't depend on whether Is_Constrained (Typ).
11182
4317e442
AC
111832011-08-03 Robert Dewar <dewar@adacore.com>
11184
11185 * exp_ch5.adb, sem_prag.adb, exp_ch4.adb: Minor reformatting.
11186
111872011-08-03 Ed Schonberg <schonberg@adacore.com>
11188
11189 * sem_ch3.adb (Build_Itype_Reference): do not create an itype reference
11190 for an itype created within a generic unit.
11191
111922011-08-03 Eric Botcazou <ebotcazou@adacore.com>
11193
11194 * gnat_ugn.texi (Switches for gcc): Make it clearer that -fno-inline
11195 suppresses all inlining.
11196
53f29d4f
AC
111972011-08-03 Robert Dewar <dewar@adacore.com>
11198
11199 * sem_ch3.adb, sem_res.adb, exp_ch13.adb, exp_disp.adb,
11200 exp_aggr.adb: Minor reformatting.
11201
112022011-08-03 Thomas Quinot <quinot@adacore.com>
11203
11204 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not force inlining of
11205 tagged assignment when discriminant checks are suppressed. This is
11206 useless and extremely costly in terms of static stack usage.
11207
112082011-08-03 Bob Duff <duff@adacore.com>
11209
11210 * sem_prag.adb (Get_Base_Subprogram): Do not follow Alias for instances
11211 of generics, because this leads to the wrong entity in the wrong scope,
11212 causing (e.g.) pragma Export_Procedure to get an error if the entity is
11213 an instance.
11214 (Process_Interface_Name): Follow Alias for instances of generics, to
11215 correct for the above change.
11216
112172011-08-03 Ed Schonberg <schonberg@adacore.com>
11218
11219 * exp_ch4.adb (Expand_N_Selected_Component): If the discriminant value
11220 is an integer literal it is always safe to replace the reference. In
11221 addition, if the reference appears in the generated code for an object
11222 declaration it is necessary to copy because otherwise the reference
11223 might be to the uninitilized value of the discriminant of the object
11224 itself.
11225
112262011-08-03 Pascal Obry <obry@adacore.com>
11227
11228 * adaint.c (__gnat_is_executable_file_attr): Fix Win32 circuitry when no
11229 ACL used, in this case we want to check for ending .exe, not .exe
11230 anywhere in the path.
11231
112322011-08-03 Sergey Rybin <rybin@adacore.com>
11233
11234 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
11235 the tree structure (semantic decoration of references to record
11236 discriminants).
11237
c0b11850
AC
112382011-08-03 Gary Dismukes <dismukes@adacore.com>
11239
11240 * sem_aggr.adb (Analyze_Array_Aggregate): When checking the discrete
11241 choices of a named array aggregate, bail out when any choices are
11242 marked as Errors_Posted.
11243
112442011-08-03 Ed Schonberg <schonberg@adacore.com>
11245
11246 * exp_ch13.adb (Expand_N_Freeze_Entity): cleanup determination of scope
11247 in which entity is frozen, to handle properly loop variables in
11248 iterators.
11249
112502011-08-03 Ed Schonberg <schonberg@adacore.com>
11251
11252 * sem_res.adb (Set_String_Literal_Subtype): if the lower bound of the
11253 subtype is not static, compute the upper bound using attributes, to
11254 handle properly index types that are not integer types.
11255
112562011-08-03 Bob Duff <duff@adacore.com>
11257
11258 * gnat_rm.texi, gnat_ugn.texi: Fix some dangling URLs.
11259 Update copyright notice.
11260
112612011-08-03 Ed Schonberg <schonberg@adacore.com>
11262
11263 * sem_ch3.adb (Build_Discriminant_Constraints): Only use
11264 Original_Discriminant if within an instance.
11265 * sem_ch4.adb (Analyze_Selected_Component): Ditto.
11266
112672011-08-03 Thomas Quinot <quinot@adacore.com>
11268
11269 * einfo.ads: Minor reformatting.
11270
112712011-08-03 Ed Schonberg <schonberg@adacore.com>
11272
11273 * exp_disp.adb (Check_Premature_Freezing): diagnose the presence of a
11274 composite type with an unfrozen subcomponent, in the profile of a
11275 primitive operation.
11276
5c34e9cd
AC
112772011-08-03 Robert Dewar <dewar@adacore.com>
11278
11279 * sem_util.ads, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
11280
112812011-08-03 Ed Schonberg <schonberg@adacore.com>
11282
11283 * sem_ch3.adb (Analyze_Object_Declaration): if a constant object of an
11284 unconstrained type with discriminants is initialized with an aggregate,
11285 use the constrained subtype of the aggregate as the type of the object,
11286 because it is immutable, and this allows the back-end to generate no
11287 code for the object declaration.
11288
abcd9db2
AC
112892011-08-03 Robert Dewar <dewar@adacore.com>
11290
11291 * exp_ch4.adb (Optimize_Length_Check): Fix bad handling of case where
11292 comparison operand is variable, and turns out to be zero or negative.
11293
112942011-08-03 Javier Miranda <miranda@adacore.com>
11295
11296 * exp_intr.adb
11297 (Expand_Dispatching_Constructor_Call): Disable expansion of
11298 code required for native targets. Done to avoid generating
11299 references to unavailable runtime entities in VM targets.
11300 * exp_ch3.adb
11301 (Expand_N_Object_Declaration): Add missing support to handle
11302 the explicit initialization of class-wide interface objects.
11303 Fix documentation.
11304
113052011-08-03 Matthew Heaney <heaney@adacore.com>
11306
7089ef0f
GP
11307 * a-cobove.adb (Merge): Move source onto target, instead of using
11308 Assign.
abcd9db2
AC
11309
113102011-08-03 Matthew Heaney <heaney@adacore.com>
11311
7089ef0f 11312 * a-cbdlli.adb (Splice): Move source items from first to last.
abcd9db2
AC
11313
113142011-08-03 Yannick Moy <moy@adacore.com>
11315
7089ef0f 11316 * sem_util.ads: Add comment.
abcd9db2
AC
11317
113182011-08-03 Javier Miranda <miranda@adacore.com>
11319
11320 * exp_aggr.adb
11321 (Expand_Record_Aggregate): In VM targets disable the expansion into
11322 assignments of aggregates whose type is not known at compile time.
11323
b474d6c3
ES
113242011-08-03 Ed Schonberg <schonberg@adacore.com>
11325
11326 * exp_ch9.adb (Build_Renamed_Formal_Declaration): common procedure for
11327 protected entries and task entries, to build the proper renaming
11328 declaration for entry formals, used in debugging.
11329 * exp_ch2.adb (Expand_Entry_Parameter): handle task and entry
11330 parameters in the same way.
11331
0580d807
AC
113322011-08-02 Robert Dewar <dewar@adacore.com>
11333
11334 * a-direct.adb, sinfo.ads, exp_ch9.adb, scng.adb, sem_util.adb,
11335 sem_util.ads, restrict.ads, par-prag.adb: Minor reformatting and/or
11336 code reorganization.
11337
113382011-08-02 Robert Dewar <dewar@adacore.com>
11339
11340 * debug.adb: Debug flag d.P to suppress length comparison optimization
11341 * exp_ch4.adb (Optimize_Length_Comparison): New routine to optimize
11342 comparison of Length by comparing First/Last instead.
11343
113442011-08-02 Matthew Heaney <heaney@adacore.com>
11345
11346 * a-cobove.ads: Code clean up.
11347
b191a125
AC
113482011-08-02 Vincent Celier <celier@adacore.com>
11349
11350 * adaint.c (file_names_case_sensitive_cache): New static int.
11351 (__gnat_get_file_names_case_sensitive): Cache the return value in
11352 file_names_case_sensitive_cache at the first invocation, to avoid
11353 multiple calls to getenv.
11354
113552011-08-02 Bob Duff <duff@adacore.com>
11356
11357 * sem_ch12.adb (Validate_Derived_Type_Instance): Implement AI05-0218-1.
11358
316a0661
AC
113592011-08-02 Yannick Moy <moy@adacore.com>
11360
11361 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads,
11362 sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb,
11363 sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to
11364 indicate that we are in a precondition or postcondition. This is used in
11365 Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to
11366 decide whether to flag the spec or body of the current subprogram as
11367 not in ALFA.
11368
113692011-08-02 Fabien Chouteau <chouteau@adacore.com>
11370
11371 * impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package
11372 list.
11373 * a-extiin.ads: New file.
11374
113752011-08-02 Bob Duff <duff@adacore.com>
11376
11377 * a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename
11378 now raises Name_Error instead of Use_Error in certain cases. The other
11379 parts of this AI were already implemented properly.
11380
f9adb9d4
AC
113812011-08-02 Vincent Celier <celier@adacore.com>
11382
11383 * link.c: Only import "auto-host.h" when building the gnattools.
11384
113852011-08-02 Yannick Moy <moy@adacore.com>
11386
11387 * sem_util.adb: Inter-unit inlining does not work for a subprogram
11388 which calls a local subprogram, so extract subprogram
11389 from Mark_Non_ALFA_Subprogram_Body.
11390
113912011-08-02 Javier Miranda <miranda@adacore.com>
11392
11393 * exp_ch9.adb
11394 (Extract_Dispatching_Call): If the type of the dispatching object is an
11395 access type then return an explicit dereference in the Object out-mode
11396 parameter.
11397
113982011-08-02 Gary Dismukes <dismukes@adacore.com>
11399
11400 * sem_ch3.adb (Analyze_Subtype_Declaration): Generate range
11401 compatibility checks for all indexes of an array subtype, not just the
11402 first. Reset Has_Dynamic_Range_Check on the subtype before each
11403 potential check to ensure that Insert_Range_Checks will not elide any
11404 of the dynamic checks.
11405
114062011-08-02 Yannick Moy <moy@adacore.com>
11407
11408 * par-prag.ad (Process_Restrictions_Or_Restriction_Warnings): recognize
11409 SPARK restriction at parsing time.
11410 * scng.adb (Scan): Generate a token Tok_SPARK_Hide for a SPARK HIDE
11411 directive only if the SPARK restriction is set for this unit.
11412
83f33150
YM
114132011-08-02 Yannick Moy <moy@adacore.com>
11414
11415 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads,
11416 sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb,
11417 sem_ch11.adb: Protect call to Current_Subprogram which might be costly
11418 when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into
11419 Mark_Non_ALFA_Subprogram_Body.
11420 Split body of Mark_Non_ALFA_Subprogram_Body to get body small and
11421 inlined.
11422
7b98672f
YM
114232011-08-02 Yannick Moy <moy@adacore.com>
11424
11425 * sem_res.adb: Protect calls to Matching_Static_Array_Bounds which
11426 might be costly.
11427
052e0603
AC
114282011-08-02 Robert Dewar <dewar@adacore.com>
11429
11430 * exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
11431 exp_ch3.adb: Minor reformatting.
11432
114332011-08-02 Emmanuel Briot <briot@adacore.com>
11434
11435 * adaint.c (__gnat_locate_exec_on_path): only returns executable
11436 files, not any regular file.
11437 (__gnat_locate_file_with_predicate): new subprogram.
11438
114392011-08-02 Yannick Moy <moy@adacore.com>
11440
11441 * sinfo.adb, sinfo.ads: Restrict the use of flags
11442 Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
11443 nodes, plus N_Subtype_Declaration for the 2nd one.
11444
4fbad0ba
AC
114452011-08-02 Sergey Rybin <rybin@adacore.com>
11446
11447 * gnat_rm.texi: Ramification of pragma Eliminate documentation
11448 - fix bugs in the description of Source_Trace;
11449 - get rid of UNIT_NAME;
11450
052e0603
AC
114512011-08-02 Javier Miranda <miranda@adacore.com>
11452
11453 * exp_ch9.adb
11454 (Build_Dispatching_Requeue): Adding support for VM targets
11455 since we cannot directly reference the Tag entity.
11456 * exp_sel.adb (Build_K): Adding support for VM targets.
11457 (Build_S_Assignment): Adding support for VM targets.
11458 * exp_disp.adb
11459 (Default_Prim_Op_Position): In VM targets do not restrict availability
11460 of predefined interface primitives to compiling in Ada 2005 mode.
11461 (Is_Predefined_Interface_Primitive): In VM targets this service is not
11462 restricted to compiling in Ada 2005 mode.
11463 (Make_VM_TSD): Generate code that declares and initializes the OSD
11464 record. Needed to support dispatching calls through synchronized
11465 interfaces.
11466 * exp_ch3.adb
11467 (Make_Predefined_Primitive_Specs): Enable generation of predefined
11468 primitives associated with synchronized interfaces.
11469 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
11470 primitives associated with synchronized interfaces.
11471
114722011-08-02 Yannick Moy <moy@adacore.com>
11473
11474 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
11475 statements hidden in SPARK if preceded by the HIDE directive
11476 (Parse_Exception_Handlers): mark each exception handler in a sequence of
11477 exception handlers as hidden in SPARK if preceded by the HIDE directive
11478 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
11479 if starting with the HIDE directive
11480 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
11481 starting with the HIDE directive; mark the declarations in a private
11482 part as hidden in SPARK if the private part starts with the HIDE
11483 directive
11484 * restrict.adb, restrict.ads
11485 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
11486 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
11487 argument node belongs to a part which is hidden in SPARK
11488 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
11489 parts in SPARK; protect the possibly costly call to
11490 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
11491 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
11492 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
11493 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
11494 Tok_SPARK_Hide.
11495 (Scan): recognize special comment starting with '#' and followed by
11496 SPARK keyword "hide" as a HIDE directive.
11497
114982011-08-02 Yannick Moy <moy@adacore.com>
11499
11500 * types.ads, erroutc.ads: Minor reformatting.
11501
115022011-08-02 Vincent Celier <celier@adacore.com>
11503
11504 * link.c: Add response file support for cross platforms.
11505
115062011-08-02 Ed Schonberg <schonberg@adacore.com>
11507
11508 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
11509 in an association, set parent field of copy before partial analysis.
11510 * sem_res.adb (Resolve_Slice): create reference to itype only when
11511 expansion is enabled.
11512
115132011-08-02 Yannick Moy <moy@adacore.com>
11514
11515 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
11516 for new flag denoting which subprogram bodies are in ALFA
11517 * restrict.adb, sem_ch7.adb: Update comment
11518 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
11519 sem_ch9.adb, sem_res.adb: Add calls to
11520 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
11521 * sem_ch6.adb (Analyze_Function_Return): add calls to
11522 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
11523 middle of the body, and extended return.
11524 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
11525 False when missing return.
11526 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
11527 to True for subprograms whose spec is in ALFA. Remove later on the flag
11528 on the entity used for a subprogram body when there exists a separate
11529 declaration.
11530 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
11531 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
11532 False, otherwise do nothing.
11533
115342011-08-02 Robert Dewar <dewar@adacore.com>
11535
11536 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
11537
115382011-08-02 Yannick Moy <moy@adacore.com>
11539
11540 * sem_ch4.ads: minor formatting.
11541
115422011-08-02 Yannick Moy <moy@adacore.com>
11543
11544 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
11545 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
11546 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
11547 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
11548 opt.ads: cleanup of SPARK mode
11549
115502011-08-02 Yannick Moy <moy@adacore.com>
11551
11552 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
11553 types.
11554 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
11555 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
11556 * sem_ch3.adb
11557 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
11558 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
11559 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
11560 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
11561 types.
11562 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
11563 non-static range.
11564 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
11565 functions whose return type is not in ALFA.
11566 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
11567 specifications.
11568 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
11569 parameter's type is not in ALFA.
11570 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
11571 types are in ALFA.
11572
115732011-08-02 Ed Schonberg <schonberg@adacore.com>
11574
11575 * sem_ch6 (Analyze_Expression_Function): treat the function as
11576 Inline_Always, and introduce a subprogram declaration for it when it is
11577 not a completion.
11578 * inline.adb (Add_Inlined_Body): recognize bodies that come from
11579 expression functions, so that the back-end can determine whether they
11580 can in fact be inlined.
11581 * sem_util.adb (Is_Expression_Function): predicate to determine whether
11582 a function body comes from an expression function.
11583
115842011-08-02 Gary Dismukes <dismukes@adacore.com>
11585
11586 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
11587 null exclusions to test Can_Never_Be_Null on the anonymous access types
11588 of the formals rather than testing the formals themselves. Exclude this
11589 check in cases where the Old_Formal is marked as a controlling formal,
11590 to avoid issuing spurious errors for bodies completing dispatching
11591 operations (due to the flag not getting set on controlling access
11592 formals in body specs).
11593 (Find_Corresponding_Spec): When checking full and subtype conformance of
11594 subprogram bodies in instances, pass Designated and E in that order, for
11595 consistency with the expected order of the formals (New_Id followed by
11596 Old_Id).
11597
115982011-08-02 Robert Dewar <dewar@adacore.com>
11599
11600 * sem_ch8.adb: Minor reformatting.
11601
116022011-08-02 Ed Schonberg <schonberg@adacore.com>
11603
11604 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
11605 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
11606 primitive operations of class-wide actuals.
11607
116082011-08-02 Javier Miranda <miranda@adacore.com>
11609
11610 * exp_atag.ads, exp_atag.adb
11611 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
11612 since its value is implicitly passed in argument Typ.
11613 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
11614 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
11615 Build_Common_Dispatching_Select_Statements.
11616
116172011-08-02 Robert Dewar <dewar@adacore.com>
11618
11619 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
11620 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
11621 Minor reformatting.
11622
116232011-08-02 Robert Dewar <dewar@adacore.com>
11624
11625 * sem_res.adb: Minor reformatting.
11626 * sem_prag.adb: Minor reformatting.
11627
116282011-08-02 Javier Miranda <miranda@adacore.com>
11629
11630 * exp_atag.adb, exp_atags.ads
11631 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
11632 by the tagged type Entity. Required to use this routine in the VM
11633 targets since we do not have available the Tag entity in the VM
11634 platforms.
11635 * exp_ch6.adb
11636 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
11637 Ada.Tags has not been previously loaded.
11638 * exp_ch7.adb
11639 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
11640 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
11641 * sem_aux.adb
11642 (Enclosing_Dynamic_Scope): Add missing support to handle the full
11643 view of enclosing scopes. Required to handle enclosing scopes that
11644 are synchronized types whose full view is a task type.
11645 * exp_disp.adb
11646 (Build_VM_TSDs): Minor code improvement to avoid generating and
11647 analyzing lists with empty nodes.
11648 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
11649 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
11650 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
11651 (Make_Disp_Timed_Select_Body): Add support for VM targets.
11652 (Make_Select_Specific_Data_Table): Add support for VM targets.
11653 (Make_VM_TSD): Generate code to initialize the SSD structure of
11654 the TSD.
11655
116562011-08-02 Yannick Moy <moy@adacore.com>
11657
11658 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
11659 cross-references section in ALI.
11660 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
11661 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
11662 Sub).
11663 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
11664 subprogram or package entity of a node
11665 (Is_Local_Reference_Type): new function returns True for references
11666 selected in local cross-references.
11667 (Lt): function extracted from Lt in Output_References
11668 (Write_Entity_Name): function extracted from Output_References
11669 (Generate_Definition): generate reference with type 'D' for definition
11670 of objects (object declaration and parameter specification), with
11671 appropriate locations and units, for use in local cross-references.
11672 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
11673 references of type 'I' for initialization in object definition.
11674 (Output_References): move part of function Lt and procedure
11675 Write_Entity_Name outside of the body. Ignore references of types 'D'
11676 and 'I' introduced for local cross-references.
11677 (Output_Local_References): new procedure to output the local
11678 cross-references sections.
11679 (Lref_Entity_Status): new array defining whether an entity is a local
11680 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
11681 with 'I' type when initialization expression is present.
11682 * get_scos.adb, get_scos.ads: Correct comments and typos
11683
116842011-08-02 Javier Miranda <miranda@adacore.com>
11685
11686 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
11687 the JVM target.
11688 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
11689 the JVM target.
11690 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
11691 TSD support.
11692
116932011-08-02 Vincent Celier <celier@adacore.com>
11694
11695 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
11696 (No_Space_Img): New function
11697 (Find_Excluded_Sources): When reading from a file, record the file name
11698 and the line number for each excluded source.
11699 (Mark_Excluded_Sources): When reporting an error, if the excluded
11700 sources were read from a file, include file name and line number in
11701 the error message.
11702
117032011-08-02 Ed Schonberg <schonberg@adacore.com>
11704
11705 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
11706
117072011-08-02 Robert Dewar <dewar@adacore.com>
11708
11709 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
11710
117112011-08-02 Javier Miranda <miranda@adacore.com>
11712
11713 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
11714 generation of TSDs to the DOTNET compiler.
11715 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
11716 generation of TSDs to the DOTNET compiler.
11717
117182011-08-02 Javier Miranda <miranda@adacore.com>
11719
11720 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
11721 record of all the tagged types declared inside library level package
11722 declarations, library level package bodies or library level subprograms.
11723 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
11724 associated with a given tagged type.
11725 (Build_VM_TSDs): New subprogram.
11726 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
11727 compilation units that are subprograms.
11728 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
11729 compilation units that are package bodies.
11730 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
11731 units that are a package declaration or a package instantiation.
11732 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
11733 reorganization to improve the error generated by the frontend when the
11734 function Ada.Tags.Secondary_Tag is not available.
11735 * rtsfind.ads (RE_Register_TSD): New runtime entity.
11736 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
11737
117382011-08-02 Javier Miranda <miranda@adacore.com>
11739
11740 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
11741
117422011-08-02 Robert Dewar <dewar@adacore.com>
11743
11744 * s-imenne.ads: Minor reformatting.
11745
117462011-08-02 Robert Dewar <dewar@adacore.com>
11747
11748 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
11749 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
11750 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
11751
117522011-08-02 Robert Dewar <dewar@adacore.com>
11753
11754 * einfo.ads (Materialize_Entity): Document this is only for renamings
11755 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
11756 required debug information in the case where we transform the object
11757 declaration into a renaming declaration.
11758 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
11759 object
11760 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
11761 Materialize_Entity.
11762
117632011-08-02 Robert Dewar <dewar@adacore.com>
11764
11765 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
11766 Suppress_Init_Procs.
11767 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
11768 Suppress_Initialization/Initialization_Suppressed.
11769 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
11770 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
11771 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
11772 * sem_prag.adb: New processing for pragma Suppress_Initialization.
11773
117742011-08-02 Robert Dewar <dewar@adacore.com>
11775
11776 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
11777 Minor reformatting.
11778
117792011-08-02 Ed Schonberg <schonberg@adacore.com>
11780
11781 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
11782 only have inheritable classwide pre/postconditions.
11783
117842011-08-02 Javier Miranda <miranda@adacore.com>
11785
11786 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
11787 * rtsfind.ads (RE_Check_TSD): New runtime entity.
11788 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
11789 checks if the external tag of a type is the same as the external tag
11790 of some other declaration.
11791
117922011-08-02 Thomas Quinot <quinot@adacore.com>
11793
11794 * s-taskin.ads: Minor reformatting.
11795
117962011-08-02 Emmanuel Briot <briot@adacore.com>
11797
11798 * g-comlin.adb (Display_Help): swap the order in which it prints the
11799 short help and the general usage.
11800
118012011-08-02 Ed Schonberg <schonberg@adacore.com>
11802
11803 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
11804 the aspect declarations and attach them to the generic copy for
11805 subsequent analysis.
11806 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
11807 declarations of the generic tree to the new subprogram declarations.
11808 * sem_attr.adb (Check_Precondition_Postcondition): recognize
11809 conditions that apply to a subprogram instance.
11810
118112011-08-02 Robert Dewar <dewar@adacore.com>
11812
11813 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
11814
118152011-08-02 Ed Schonberg <schonberg@adacore.com>
11816
11817 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
11818 private type with a tagged full view is not derived in the immediate
11819 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
11820
118212011-08-02 Robert Dewar <dewar@adacore.com>
11822
11823 * exp_ch4.adb: Minor reformatting.
11824
118252011-08-02 Ed Schonberg <schonberg@adacore.com>
11826
11827 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
11828 Ada2012 iterator, the loop will be rewritten during expansion into a
11829 while loop with a cursor and an element declaration. Do not analyze the
11830 body in this case, because if the container is for indefinite types the
11831 actual subtype of the elements will only be determined when the cursor
11832 declaration is analyzed.
11833
118342011-08-02 Arnaud Charlet <charlet@adacore.com>
11835
11836 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
11837 size/alignment related attributes in CodePeer_Mode.
11838
118392011-08-02 Gary Dismukes <dismukes@adacore.com>
11840
11841 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
11842 Prepend_Element, since this can result in the operation getting the
11843 wrong slot in the full type's dispatch table if the full type has
11844 inherited operations. The incomplete type's operation will get added
11845 to the proper position in the full type's primitives
11846 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
11847 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
11848 dispatching operations, since there are cases where nonprimitive
11849 subprograms can get added to the list of incomplete dependents (such
11850 as subprograms in nested packages).
11851 * sem_ch6.adb (Process_Formals): First, remove test for being in a
11852 private part when determining whether to add a primitive with a
11853 parameter of a tagged incomplete type to the Private_Dependents list.
11854 Such primitives can also occur in the visible part, and should not have
11855 been excluded from being private dependents.
11856 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
11857 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
11858 list of a Taft-amendment incomplete type is a primitive before issuing
11859 an error that the full type must appear in the same unit. There are
11860 cases where nonprimitives can be in the list (such as subprograms in
11861 nested packages).
11862 * sem_disp.adb (Derives_From): Use correct condition for checking that
11863 a formal's type is derived from the type of the corresponding formal in
11864 the parent subprogram (the condition was completely wrong). Add
11865 checking that was missing for controlling result types being derived
11866 from the result type of the parent operation.
11867
118682011-08-02 Yannick Moy <moy@adacore.com>
11869
11870 * errout.adb (First_Node): minor renaming
11871 * restrict.adb (Check_Formal_Restriction): put restriction warning on
11872 first node.
11873
118742011-08-02 Yannick Moy <moy@adacore.com>
11875
11876 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
11877 before accessing operands.
11878 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
11879 decide whether an initialization expression respects SPARK rules, as
11880 the plain node is the expanded one. This allows for more valid warnings
11881 to be issued.
11882 * gnat_rm.texi: Minor update.
11883
118842011-08-02 Arnaud Charlet <charlet@adacore.com>
11885
11886 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
11887 previous change.
11888
118892011-08-02 Robert Dewar <dewar@adacore.com>
11890
11891 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
11892
118932011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
11894
11895 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
11896 loop statements and the element renaming declaration with a block when
11897 the element type is controlled.
11898
118992011-08-02 Yannick Moy <moy@adacore.com>
11900
11901 * sinfo.ads: Minor formatting.
11902
119032011-08-02 Ed Schonberg <schonberg@adacore.com>
11904
11905 * sem_aggr.adb (Add_Association): if the association has a box and no
11906 expression, use the Sloc of the aggregate itself for the new
11907 association.
11908 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
11909 the Original_Node.
11910
119112011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
11912
11913 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
11914 When a container is provided via a function call, generate a renaming
11915 of the function result. This avoids the creation of a transient scope
11916 and the premature finalization of the container.
11917 * exp_ch7.adb (Is_Container_Cursor): Removed.
11918 (Wrap_Transient_Declaration): Remove the supression of the finalization
11919 of the list controller when the declaration denotes a container cursor,
11920 it is not needed.
11921
119222011-08-02 Yannick Moy <moy@adacore.com>
11923
11924 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
11925 node is from source, instead of the original node being from source.
11926 * sem_aggr.adb
11927 (Resolve_Array_Aggregate): refine the check for a static expression, to
11928 recognize also static ranges
11929 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
11930 Array_Type_Declaration): postpone the test for the type being a subtype
11931 mark after the type has been resolved, so that component-selection and
11932 expanded-name are discriminated.
11933 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
11934 to distinguish the case of an iteration scheme, so that an error is
11935 issed on a non-static range in SPARK except in an iteration scheme.
11936 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
11937 In_Iter_Schm = True.
11938 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
11939 user-defined operators so that they are allowed in renaming
11940 * sem_ch8.adb
11941 (Find_Selected_Component): refine the check for prefixing of operators
11942 so that they are allowed in renaming. Move the checks for restrictions
11943 on selector name after analysis discriminated between
11944 component-selection and expanded-name.
11945 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
11946 concatenation argument of string type if it is static.
11947 * sem_util.adb, sem_util.ads
11948 (Check_Later_Vs_Basic_Declarations): add a new function
11949 Is_Later_Declarative_Item to decice which declarations are allowed as
11950 later items, in the two different modes Ada 83 and SPARK. In the SPARK
11951 mode, add that renamings are considered as later items.
11952 (Enclosing_Package): new function to return the enclosing package
11953 (Enter_Name): correct the rule for homonyms in SPARK
11954 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
11955 from source (result of expansion) to avoid issuing wrong warnings.
11956
119572011-08-02 Ed Schonberg <schonberg@adacore.com>
11958
11959 * errout.adb: On anything but an expression First_Node returns its
11960 argument.
11961
119622011-08-02 Pascal Obry <obry@adacore.com>
11963
11964 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
11965
119662011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
11967
11968 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
11969 Set the associated loop as the related expression of internally
11970 generated cursors.
11971 * exp_ch7.adb (Is_Container_Cursor): New routine.
11972 (Wrap_Transient_Declaration): Supress the finalization of the list
11973 controller when the declaration denotes a container cursor.
11974
119752011-08-02 Yannick Moy <moy@adacore.com>
11976
11977 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
11978 command line now.
11979 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
11980 expression is a simple expression. This check cannot be performed in
11981 the semantics, so just drop it.
11982 (P_Index_Or_Discriminant_Constraint): move check that the index or
11983 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
11984 semantics. Other cases were previously checked in the semantics.
11985 * par-ch4.adb (P_Name): move checks that a selector name is not
11986 character literal or an operator symbol to Find_Selected_Component in
11987 the semantics
11988 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
11989 declarations are not placed after later declarations in a separate
11990 procedure in Sem_Util (possibly not the best choice?), to be used both
11991 during parsing, for Ada 83 mode, and during semantic analysis, for
11992 SPARK mode.
11993 * par-endh.adb (Check_End): move check that end label is not missing
11994 to Process_End_Label in the semantics
11995 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
11996 the special case for SPARK restriction
11997 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
11998 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
11999 parameter Force to issue the error message even on internal node (used
12000 for generated end label). Call Check_Restriction to check when an error
12001 must be issued. In SPARK mode, issue an error message even if the
12002 restriction is not set.
12003 (Check_Restriction): new procedure with an additional out parameter to
12004 inform the caller that a message has been issued
12005 * sem_aggr.adb: Minor modification of message
12006 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
12007 instead of issuing an error message directly
12008 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
12009 declarations are not placed after later declarations, by calling
12010 Check_Later_Vs_Basic_Declarations
12011 (Analyze_Subtype_Declaration): move here the check that an index or
12012 discriminant constraint must be a subtype mark. Change the check that
12013 a subtype of String must start at one so that it works on subtype marks.
12014 * sem_ch4.adb (Analyze_Call): move here the check that a named
12015 association cannot follow a positional one in a call
12016 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
12017 instead of issuing an error message directly
12018 * sem_ch8.adb (Find_Selected_Component): move here the check that a
12019 selector name is not a character literal or an operator symbol. Move
12020 here the check that the prefix of an expanded name cannot be a
12021 subprogram or a loop statement.
12022 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
12023 procedure called from parsing and semantics to check that basic
12024 declarations are not placed after later declarations
12025 (Process_End_Label): move here the check that end label is not missing
12026
120272011-08-02 Arnaud Charlet <charlet@adacore.com>
12028
12029 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
12030 representation clause in codepeer mode, since it confuses CodePeer and
12031 does not bring useful info.
12032
120332011-08-02 Ed Falis <falis@adacore.com>
12034
12035 * init.c: initialize fp hw on MILS.
12036
120372011-08-02 Ed Schonberg <schonberg@adacore.com>
12038
12039 * errout.adb (First_Node): for bodies, return the node itself (small
12040 optimization). For other nodes, do not check source_unit if the node
12041 comes from Standard.
12042
120432011-08-02 Robert Dewar <dewar@adacore.com>
12044
12045 * exp_ch3.adb: Minor comment additions.
12046 * sem_ch13.adb: Minor reformatting.
12047
120482011-08-02 Pascal Obry <obry@adacore.com>
12049
12050 * make.adb, makeutl.adb: Removes some superfluous directory separator.
12051
120522011-08-02 Robert Dewar <dewar@adacore.com>
12053
12054 * sem_attr.adb: Minor reformatting.
12055
120562011-08-02 Robert Dewar <dewar@adacore.com>
12057
12058 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
12059 (Has_Default_Component_Value): Removed
12060 * einfo.ads Comment updates
12061 (Has_Default_Aspect): Replaces Has_Default_Value
12062 (Has_Default_Component_Value): Removed
12063 * exp_ch13.adb
12064 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
12065 * exp_ch3.adb
12066 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
12067 (Get_Simple_Init_Val): Handle Default_Value aspect
12068 (Needs_Simple_Initialization): Handle Default_Value aspect
12069 * exp_ch3.ads: Needs_Simple_Initialization
12070 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
12071 * par-prag.adb (Pragma_Default[_Component]Value) Removed
12072 * sem_ch13.adb
12073 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
12074 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
12075 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
12076
120772011-08-02 Ed Schonberg <schonberg@adacore.com>
12078
12079 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
12080 package containing iteration primitives.
12081 exp_ch5.adb (Expand_Iterator_Loop): ditto.
12082
120832011-08-02 Ed Schonberg <schonberg@adacore.com>
12084
12085 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
12086 "of", pre-analyze expression in case it is a function call with
12087 finalization actions that must be placed ahead of the loop.
12088 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
12089 on an Ada2012 iterator, insert them ahead of the rewritten loop.
12090
120912011-08-02 Geert Bosch <bosch@adacore.com>
12092
12093 * cstand.adb (Create_Float_Types): Only consider C's long double for
12094 Long_Long_Float, in addition to double.
12095
120962011-08-02 Robert Dewar <dewar@adacore.com>
12097
12098 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
12099 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
12100 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
12101 Minor reformatting.
12102
121032011-08-02 Ed Schonberg <schonberg@adacore.com>
12104
12105 * sem_attr.adb: handle properly 'Result when it is a prefix of an
12106 indexed component.
12107
121082011-08-02 Javier Miranda <miranda@adacore.com>
12109
12110 * einfo.ads, einfo.adb
12111 (Original_Access_Type): Move this attribute to Node26 since there was
12112 an undocumented use of Node21 in E_Access_Subprogram_Type entities
12113 which causes conflicts and breaks the generation of the .NET compiler.
12114 (Interface_Name): Add missing documentation on JGNAT only uses of
12115 this attribute.
12116
121172011-08-02 Geert Bosch <bosch@adacore.com>
12118
12119 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
12120 (Find_Back_End_Float_Type): Likewise
12121 (Create_Back_End_Float_Types): Likewise
12122 (Create_Float_Types): Likewise
12123 (Register_Float_Type): Likewise
12124 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
12125 Nlist and split out type selection in new local Find_Base_Type function.
12126 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
12127 Nlist
12128 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
12129
121302011-08-02 Robert Dewar <dewar@adacore.com>
12131
12132 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
12133 alpha order).
12134 * opt.ads: Minor comment change.
12135 * sem_ch12.adb: Minor code reorganization.
12136
121372011-08-02 Gary Dismukes <dismukes@adacore.com>
12138
12139 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
12140 subtype's list of rep items to the list on the full subtype in the case
12141 where the lists are the same.
12142
121432011-08-02 Geert Bosch <bosch@adacore.com>
12144
12145 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
12146 using the one from System.Strings, which also deallocates all strings.
12147
121482011-08-02 Geert Bosch <bosch@adacore.com>
12149
12150 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
12151 function.
12152 * gcc-interface/Make-lang.in: Update dependencies.
12153
121542011-08-02 Olivier Hainque <hainque@adacore.com>
12155
12156 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
12157 end_locus.
12158
121592011-08-02 Javier Miranda <miranda@adacore.com>
12160
12161 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
12162 associated with anonymous access to subprograms.
12163
121642011-08-02 Geert Bosch <bosch@adacore.com>
12165
12166 * opt.ads
12167 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
12168 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
12169 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
12170 (Add_Symbol_Definition): Move to switch-c.adb
12171 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
12172 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
12173 (Add_Symbol_Definition): Move to switch-c.adb.
12174 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
12175 * sem_warn.adb
12176 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
12177 Move to warnsw.adb.
12178 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
12179 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
12180 Move to warnsw.adb.
12181 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
12182 (Add_Symbol_Definition): Moved from Prepcomp.
12183 * switch-c.ads: Update copyright notice. Use String_List instead of
12184 Argument_List, removing dependency on System.OS_Lib.
12185
121862011-08-02 Yannick Moy <moy@adacore.com>
12187
12188 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
12189 mode on initialization expression which does not respect SPARK
12190 restrictions.
12191 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
12192 if the tree referenced by its argument represents an initialization
12193 expression in SPARK, suitable for initializing an object in an object
12194 declaration.
12195
121962011-08-02 Javier Miranda <miranda@adacore.com>
12197
12198 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
12199 internally generated access to subprogram with its associated protected
12200 subprogram type.
12201 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
12202
122032011-08-02 Geert Bosch <bosch@adacore.com>
12204
12205 * cstand.adb (Register_Float_Type): Print information about type to
12206 register, if the Debug_Flag_Dot_B is set.
12207 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
12208 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
12209 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
12210 with a requested precision of more than Max_Digits digits and no more
12211 than Max_Base_Digits digits, if a range specification is present and the
12212 Predefined_Float_Types list has a suitable type to derive from.
12213 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
12214 case of type completion with pragma Import
12215 * sem_prag.adb
12216 (Process_Import_Predefined_Type): Processing to complete a type
12217 with pragma Import. Currently supports floating point types only.
12218 (Set_Convention_From_Pragma): Do nothing without underlying type.
12219 (Process_Convention): Guard against absence of underlying type,
12220 which may happen when importing incomplete types.
12221 (Process_Import_Or_Interface): Handle case of importing predefined
12222 types. Tweak error message.
12223
122242011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12225
12226 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
12227 functions to previous change. Reorganize code slightly.
12228
122292011-08-02 Geert Bosch <bosch@adacore.com>
12230
12231 * back_end.ads (Register_Type_Proc): New call back procedure type for
12232 allowing the back end to provide information about available types.
12233 (Register_Back_End_Types): New procedure to register back end types.
12234 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
12235 available types.
12236 * cstand.adb (Back_End_Float_Types): New list for floating point types
12237 supported by the back end.
12238 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
12239 (Copy_Float_Type): New procedure to make new copies of predefined types.
12240 (Register_Float_Type): New call back procedure to populate the BEFT list
12241 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
12242 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
12243 (Create_Float_Types): New procedure to create entities for floating
12244 point types predefined in Standard, and put these and any remaining
12245 BEFTs on the Predefined_Float_Types list.
12246 * stand.ads (Predefined_Float_Types): New list for predefined floating
12247 point types that do not have declarations in package Standard.
12248
122492011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12250
12251 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
12252 entity node for the unit containing the parameter.
12253 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
12254 (Add_Inlined_Subprogram): Likewise.
12255 * gcc-interface/Make-lang.in: Update dependencies.
12256
122572011-08-02 Thomas Quinot <quinot@adacore.com>
12258
12259 * s-stusta.adb (Print): Make sure Pos is always initialized to a
12260 suitable value.
12261
122622011-08-02 Geert Bosch <bosch@adacore.com>
12263
12264 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
12265
122662011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12267
12268 * sem_type.adb (Covers): Move trivial case to the top and reuse the
12269 computed value of Base_Type.
12270
122712011-08-02 Yannick Moy <moy@adacore.com>
12272
12273 * restrict.adb (Check_Restriction): issue an error for any use of
12274 class-wide, even if the No_Dispatch restriction is not set.
12275 * sem_aggr.adb: Correct typos in comments and messages in formal mode
12276 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
12277 when completing a private extension, the type named in the private part
12278 is not the same as that named in the visible part.
12279 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
12280 of an inherited primitive operations of a tagged type or type extension
12281 that returns the tagged type.
12282 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
12283 function which returns True for an implicit operation inherited by the
12284 derived type declaration for the argument type.
12285 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
12286 order.
12287
122882011-08-02 Ed Schonberg <schonberg@adacore.com>
12289
12290 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
12291 Process_Bounds, to perform analysis with expansion of a range or an
12292 expression that is the iteration scheme for a loop.
12293 (Analyze_Iterator_Specification): If domain of iteration is given by a
12294 function call with a controlled result, as is the case if call returns
12295 a predefined container, ensure that finalization actions are properly
12296 generated.
12297 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
12298
122992011-08-02 Javier Miranda <miranda@adacore.com>
12300
12301 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
12302 * gcc-interface/Make-lang.in: Update dependencies.
12303
123042011-08-02 Javier Miranda <miranda@adacore.com>
12305
12306 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
12307 determine if the analysis is performed using N or Original_Node (N).
12308 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
12309 functionality of routine Is_Variable avoids code duplication.
12310 * checks.adb (Determine_Range): Handle temporaries generated by
12311 Remove_Side_Effects.
12312
123132011-08-02 Javier Miranda <miranda@adacore.com>
12314
12315 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
12316 expansion of the condition. Required since the previous analysis was
12317 done with expansion disabled (see Resolve_Quantified_Expression) and
12318 hence checks were not inserted and record comparisons have not been
12319 expanded.
12320
123212011-08-02 Ed Falis <falis@adacore.com>
12322
12323 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
12324 Update header.
12325
123262011-08-02 Bob Duff <duff@adacore.com>
12327
12328 * opt.ads: Minor comment fix.
12329
123302011-08-02 Bob Duff <duff@adacore.com>
12331
12332 * sem_ch12.adb (Analyze_Package_Instantiation,
12333 Analyze_Subprogram_Instantiation): Turn off style checking while
12334 analyzing an instance. Whatever style checks that apply to the generic
12335 unit should apply, so it makes no sense to apply them in an instance.
12336 This was causing trouble when compiling an instance of a runtime
12337 unit that violates the -gnatyO switch.
12338 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
12339 one of the two case statements, causing spurious errors.
12340
123412011-08-02 Robert Dewar <dewar@adacore.com>
12342
12343 * uname.adb: Minor reformatting.
12344 * gnatcmd.adb: Minor reformatting.
12345 * exp_attr.adb: Minor reformatting.
12346
123472011-08-02 Ed Schonberg <schonberg@adacore.com>
12348
12349 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
12350 No_Dispatching_Calls, do not look for the Assign primitive, because
12351 predefined primitives are not created in this case.
12352
123532011-08-02 Bob Duff <duff@adacore.com>
12354
12355 * stylesw.ads: Minor comment fixes.
12356
123572011-08-02 Robert Dewar <dewar@adacore.com>
12358
12359 * freeze.adb (Add_To_Result): New procedure.
12360
123612011-08-02 Jose Ruiz <ruiz@adacore.com>
12362
12363 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
12364 time, if the specific run-time routines for handling streams of strings
12365 are not available, use the default mechanism.
12366
123672011-08-02 Arnaud Charlet <charlet@adacore.com>
12368
12369 * s-regpat.ads: Fix typo.
12370
123712011-08-02 Vincent Celier <celier@adacore.com>
12372
12373 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
12374 not null, call it to create the in memory config project file without
12375 parsing an existing default config project file.
12376
123772011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12378
12379 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
12380
123812011-08-02 Ed Schonberg <schonberg@adacore.com>
12382
12383 * sem_elim.adb: an abstract subprogram does not need an eliminate
12384 pragma for its descendant to be eliminable.
12385
123862011-08-02 Ed Falis <falis@adacore.com>
12387
12388 * init.c: revert to handling before previous checkin for VxWorks
12389 * s-intman-vxworks.adb: delete unnecessary declarations related to
12390 using Ada interrupt facilities for handling signals.
12391 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
12392 * s-intman-vxworks.ads: Import __gnat_install_handler as
12393 Initialize_Interrupts.
12394 * s-taprop-vxworks.adb: Delete Signal_Mask.
12395 (Abort_Handler): change construction of mask to unblock exception
12396 signals.
12397
123982011-08-02 Jerome Guitton <guitton@adacore.com>
12399
12400 * a-except-2005.adb (Raise_From_Signal_Handler): Call
12401 Debug_Raise_Exception before propagation starts.
12402
124032011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12404
12405 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
12406 to Restriction_Check_Required.
12407 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
12408 * sem_res.adb (Resolve_Call): Likewise.
12409 * sem_attr.adb (Check_Stream_Attribute): Likewise.
12410
124112011-08-02 Bob Duff <duff@adacore.com>
12412
12413 * stylesw.ads: Update comment.
12414 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
12415 * errout.ads: Remove obsolete comment.
12416
124172011-08-02 Javier Miranda <miranda@adacore.com>
12418
12419 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
12420 (Set_Is_Safe_To_Reevaluate): new procedure.
12421 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
12422 assignment is allowed on safe-to-reevaluate variables.
12423 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
12424 temporary created to remove side effects in expressions that use
12425 the secondary stack as safe-to-reevaluate.
12426 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
12427 variables that are not true constants.
12428
124292011-08-02 Robert Dewar <dewar@adacore.com>
12430
12431 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
12432 sem_res.adb, sem_ch6.adb: Minor reformatting.
12433
124342011-08-02 Jerome Guitton <guitton@adacore.com>
12435
12436 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
12437
124382011-08-02 Ed Schonberg <schonberg@adacore.com>
12439
12440 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
12441 not set Overridden_Operation if subprogram is an initialization
12442 procedure.
12443
124442011-08-02 Yannick Moy <moy@adacore.com>
12445
12446 * par-ch6.adb: Correct obsolete name in comments
12447 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
12448 which takes two message arguments (existing function takes one), with
12449 second message used for continuation.
12450 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
12451 block statements that originate from a source block statement, not
12452 generated block statements
12453 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
12454 symmetry with procedure case
12455 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
12456 function to issue an error in formal mode if a package specification
12457 contains more than one tagged type or type extension.
12458 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
12459 parameters matching formals of tagged types are objects (or ancestor
12460 type conversions of objects), not general expressions. Issue an error
12461 on view conversions that are not involving ancestor conversion of an
12462 extended type.
12463 (Resolve_Type_Conversion): in formal mode, issue an error on the
12464 operand of an ancestor type conversion which is not an object
12465 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
12466 procedure so that it works also for actuals of function calls
12467 (Is_Actual_Tagged_Parameter): new function which determines if its
12468 argument is an actual parameter of a formal of tagged type in a
12469 subprogram call
12470 (Is_SPARK_Object_Reference): new function which determines if the tree
12471 referenced by its argument represents an object in SPARK
12472
124732011-08-02 Robert Dewar <dewar@adacore.com>
12474
12475 * sem_ch3.adb: Minor reformatting
12476 Minor comment addition
12477 Minor error msg text change
12478
124792011-08-02 Javier Miranda <miranda@adacore.com>
12480
12481 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
12482 function. Used to be more precise when we generate a variable plus one
12483 assignment to remove side effects in the evaluation of the Bound
12484 expressions.
12485 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
12486 of the bound expression to force its re-analysis and thus expand the
12487 associated transient scope (if required). Code cleanup replacing the
12488 previous code that declared the constant entity by an invocation to
12489 routine Force_Evaluation which centralizes this work in the frontend.
12490
124912011-08-02 Robert Dewar <dewar@adacore.com>
12492
12493 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
12494 (Base_Type): Now uses improved Is_Base_Type function
12495 * einfo.ads (Base_Type): Inline this function
12496
124972011-08-02 Robert Dewar <dewar@adacore.com>
12498
12499 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
12500 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
12501
125022011-08-02 Arnaud Charlet <charlet@adacore.com>
12503
12504 * gcc-interface/Make-lang.in: Update dependencies.
12505 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
12506 targets.
12507
125082011-08-02 Yannick Moy <moy@adacore.com>
12509
12510 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
12511 non-simple expression used in delta constraint
12512 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
12513 index constraint which is not a subtype mark
12514 * par.adb: With and use Restrict
12515 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
12516 mode on component type which is not a subtype mark and default
12517 expression on component
12518 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
12519 of string which does not have a lower index bound equal to 1
12520 (Array_Type_Declaration): issue an error in formal mode on index or
12521 component type which is not a subtype mark, and on aliased keyword on
12522 component
12523 (Derived_Type_Declaration): issue an error in formal mode on interface,
12524 limited or abstract type
12525 (Record_Type_Declaration): issue an error in formal mode on interface
12526 (Record_Type_Definition): issue an error in formal mode on tagged types
12527 and type extensions not declared in the specification of a library unit
12528 package; on null non-tagged record; on variant part
12529
125302011-08-02 Vincent Celier <celier@adacore.com>
12531
12532 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
12533 not declared for qualified library project when Library_Name is not
12534 declared, but Library_Dir is.
12535
125362011-08-02 Robert Dewar <dewar@adacore.com>
12537
12538 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
12539 pragmas (affects aspects [Component_]Default_Value
12540 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
12541 component type for the resolution
12542
125432011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12544
12545 * einfo.adb (Base_Type): Tune implementation for speed.
12546
125472011-08-02 Robert Dewar <dewar@adacore.com>
12548
12549 * freeze.adb: Minor reformatting.
12550
125512011-08-02 Thomas Quinot <quinot@adacore.com>
12552
12553 * scos.ads: Update comments.
12554
125552011-08-02 Ed Schonberg <schonberg@adacore.com>
12556
12557 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
12558 base type, because the parent may be a subtype of a private type whose
12559 convention is established in a private part.
12560
125612011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
12562
12563 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
12564 statement in a block when the expansion of the return expression has
12565 created a finalization chain.
12566 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
12567 with the parent node.
12568 Add N_Extended_Return_Statement to handle the case where a transient
12569 object declaration appears in the Return_Object_Declarations list of
12570 an extended return statement.
12571
125722011-08-02 Matthew Gingell <gingell@adacore.com>
12573
12574 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
12575 unused parameter 'name'.
12576
125772011-08-02 Ed Schonberg <schonberg@adacore.com>
12578
12579 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
12580 inherited operation, check whether its alias, which is the source
12581 operastion that it renames, has been marked eliminated.
12582
125832011-08-02 Javier Miranda <miranda@adacore.com>
12584
12585 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
12586 in-mode parameter whose type is an access type since it can be used to
12587 modify its designated object. Enforce code that handles as safe an
12588 access type that is not access-to-constant but it is the result of a
12589 previous removal of side-effects.
12590 (Remove_Side_Effects): Minor code reorganization of cases which require
12591 no action. Done to incorporate documentation on new cases uncovered
12592 working in this ticket: no action needed if this routine was invoked
12593 too early and the nodes are not yet decorated.
12594 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
12595 to routine Remove_Side_Effects by calls to Force_Evaluation since they
12596 were issued with actuals that are implicitly provided by
12597 Force_Evaluation.
12598
125992011-08-02 Robert Dewar <dewar@adacore.com>
12600
12601 * sem_ch3.adb, sem_res.adb: Minor reformatting.
12602
126032011-08-02 Yannick Moy <moy@adacore.com>
12604
12605 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
12606 to issue an error in formal mode on attribute not supported in this mode
12607 (Analyze_Attribute): issue errors on standard attributes not supported
12608 in formal mode.
12609 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
12610 comment, and issue error in formal mode on modulus which is not a power
12611 of 2.
12612 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
12613 range.
12614 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
12615 subtype mark.
12616 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
12617 operator on modular type (except 'not').
12618
126192011-08-02 Robert Dewar <dewar@adacore.com>
12620
12621 * gnat_rm.texi: Minor reformatting.
12622
126232011-08-02 Arnaud Charlet <charlet@adacore.com>
12624
12625 * s-osinte-linux.ads: Minor comment update and reformatting.
12626 * i-cexten.ads: Make this unit pure, as for its parent.
12627 Will allow its usage in more contexts if needed.
12628
126292011-08-02 Robert Dewar <dewar@adacore.com>
12630
12631 * s-utf_32.ads: Minor comment fix.
12632
126332011-08-02 Ed Schonberg <schonberg@adacore.com>
12634
12635 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
12636 operation of a tagged synchronized type, handle the case where the
12637 controlling argument is overloaded.
12638
126392011-08-02 Yannick Moy <moy@adacore.com>
12640
12641 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
12642 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
12643 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
12644 SPARK mode and formal verification mode on processing SPARK restriction
12645 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
12646 requiring consistency checking.
12647
126482011-08-02 Robert Dewar <dewar@adacore.com>
12649
12650 * sem_res.adb: Minor reformatting.
12651
126522011-08-02 Robert Dewar <dewar@adacore.com>
12653
12654 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
12655 a-cforse.ads: Remove unneeded with of Ada.Containers
12656 Remove commented out pragma Inline's
12657 Move specifications of new subprograms to the actual specs
12658
126592011-08-02 Yannick Moy <moy@adacore.com>
12660
12661 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
12662 a-cforse.ads: Update comments.
12663
126642011-08-02 Ed Schonberg <schonberg@adacore.com>
12665
12666 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
12667
126682011-08-02 Robert Dewar <dewar@adacore.com>
12669
12670 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
12671 a-cforse.ads, a-cofove.ads: Minor reformatting.
12672
126732011-08-02 Claire Dross <dross@adacore.com>
12674
12675 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
12676 a-cofove.ads: Add comments.
12677
126782011-08-02 Yannick Moy <moy@adacore.com>
12679
12680 * gnat_rm.texi: Document formal containers.
12681
126822011-08-02 Emmanuel Briot <briot@adacore.com>
12683
12684 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
12685 are empty sections.
12686
126872011-08-02 Robert Dewar <dewar@adacore.com>
12688
12689 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
12690 reformatting.
12691
126922011-08-02 Robert Dewar <dewar@adacore.com>
12693
12694 * aspects.adb: New aspects Default_Value and Default_Component_Value
12695 New format of Aspect_Names table checks for omitted entries
12696 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
12697 handling of boolean aspects for derived types.
12698 New aspects Default_Value and Default_Component_Value
12699 New format of Aspect_Names table checks for omitted entries
12700 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
12701 (Has_Default_Value): New flag
12702 (Has_Default_Component_Value): New flag
12703 (Has_Default_Value): New flag
12704 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
12705 table.
12706 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
12707 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
12708 Default_Value and Default_Component_Value
12709 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
12710 New aspects Default_Value and Default_Component_Value
12711 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
12712 * sprint.adb: Print N_Aspect_Specification node when called from gdb
12713
127142011-08-02 Vincent Celier <celier@adacore.com>
12715
12716 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
12717 inherit library kind.
12718
127192011-08-02 Ed Schonberg <schonberg@adacore.com>
12720
12721 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
12722 Minor reformatting.
12723
127242011-08-02 Robert Dewar <dewar@adacore.com>
12725
12726 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
12727
127282011-08-02 Yannick Moy <moy@adacore.com>
12729
12730 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
12731
127322011-08-02 Robert Dewar <dewar@adacore.com>
12733
12734 * impunit.adb: Add comment.
12735
127362011-08-02 Yannick Moy <moy@adacore.com>
12737
12738 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
12739 qualification of aggregates in formal mode
12740 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
12741 another aggregate
12742 (Resolve_Aggregate): complete the test that an aggregate is adequately
12743 qualified in formal mode
12744
127452011-08-02 Pascal Obry <obry@adacore.com>
12746
12747 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
12748 * mlib-prj.adb: Supress warning when compiling binder generated file.
12749 (Build_Library): Supress all warnings when compiling the binder
12750 generated file.
12751
127522011-08-02 Yannick Moy <moy@adacore.com>
12753
12754 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
12755 from here...
12756 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
12757 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
12758 Add with/use clauses to make Check_Formal_Restriction visible
12759
127602011-08-02 Ed Schonberg <schonberg@adacore.com>
12761
12762 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
12763 in-parameters when type of the generic formal is private in the generic
12764 spec and non-private in the body.
12765
127662011-08-02 Claire Dross <dross@adacore.com>
12767
12768 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
12769 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
12770 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
12771 * impunit.adb, Makefile.rtl: Take new files into account.
12772
127732011-08-02 Robert Dewar <dewar@adacore.com>
12774
12775 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
12776 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
12777
127782011-08-02 Yannick Moy <moy@adacore.com>
12779
12780 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
12781 formal mode
12782 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
12783 matching static array bounds, taking into account the special case of
12784 string literals
12785 * sem_ch3.adb: Typo in comment.
12786
127872011-08-02 Yannick Moy <moy@adacore.com>
12788
12789 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
12790 which issues an error in formal mode if its argument node is originally
12791 from source
12792 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
12793 has a discriminant specification so that it does not include the case
12794 of derived types
12795 (Derived_Type_Declaration): move here the test that a derived type has a
12796 discriminant specification
12797 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
12798 first element of a component association before accessing its choices
12799 (presence of component association is not enough)
12800 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
12801 declaration is a library item before accessing the next element in a
12802 list, as library items are not member of lists
12803 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
12804 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
12805 Check_Formal_Restriction whenever possible.
12806
128072011-08-02 Ed Schonberg <schonberg@adacore.com>
12808
12809 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
12810 reference when needed.
12811
128122011-08-02 Bob Duff <duff@adacore.com>
12813
12814 * gnat_ugn.texi: Fix typo.
12815
128162011-08-02 Vincent Celier <celier@adacore.com>
12817
12818 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
12819 archive file name. Do not use the full path name of archives for Open
12820 VMS.
12821
128222011-08-02 Robert Dewar <dewar@adacore.com>
12823
12824 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
12825 Analyze_Aspect_Specifications
12826 * sem_ch13.adb
12827 (Analyze_Aspect_Specifications): New handling for boolean aspects
12828 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
12829 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
12830 sequence for Analyze_Aspect_Specifications
12831 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
12832 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
12833
128342011-08-02 Robert Dewar <dewar@adacore.com>
12835
12836 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
12837 aspects, since these no longer exist.
12838
128392011-08-02 Robert Dewar <dewar@adacore.com>
12840
12841 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
12842 semicolon, do not try to see if there are aspects following it.
12843 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
12844 aspect spec.
12845
128462011-08-02 Robert Dewar <dewar@adacore.com>
12847
12848 * sem_ch8.adb, aspects.ads: Minor reformatting.
12849
128502011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12851
12852 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
12853 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
12854 extracted from...
12855 (Analyze_Aspect_Specifications): ...here. Call above procedure.
12856
128572011-08-02 Yannick Moy <moy@adacore.com>
12858
12859 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
12860 mode on subprogram declaration outside of package specification, unless
12861 it is followed by a pragma Import
12862 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
12863 Access_Type_Declaration): issue error in formal mode on access type
12864 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
12865 incomplete type
12866 (Analyze_Object_Declaration): issue error in formal mode on object
12867 declaration which does not respect SPARK restrictions
12868 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
12869 declaration which does not respect SPARK restrictions
12870 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
12871 error in formal mode on digits or delta constraint
12872 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
12873 decimal fixed point type
12874 (Derived_Type_Declaration): issue error in formal mode on derived type
12875 other than type extensions of tagged record types
12876 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
12877 with check on access definition
12878 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
12879 mode on protected definition.
12880 (Analyze_Task_Definition): issue error in formal mode on task definition
12881
128822011-08-02 Robert Dewar <dewar@adacore.com>
12883
12884 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
12885
128862011-08-02 Javier Miranda <miranda@adacore.com>
12887
12888 * sem_ch6.adb (Can_Override_Operator): New function.
12889 (Verify_Overriding_Indicator): Add missing code to check overriding
12890 indicator in operators. Fixes regression.
12891 (Check_Overriding_Indicator): Minor reformating after replacing the
12892 code that evaluates if the subprogram can override an operator by
12893 invocations to the above new function.
12894 * einfo.adb
12895 (Write_Field26_Name): Add missing code to ensure that, following
12896 the documentation in einfo.ads, this field is not shown as attribute
12897 "Static_Initialization" on non-dispatching functions.
12898
128992011-08-02 Jose Ruiz <ruiz@adacore.com>
12900
12901 * sem_res.adb (Resolve_Call): A call to
12902 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
12903 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
12904 i.e., when the second parameter is of type Time_Span.
12905
129062011-08-02 Vincent Celier <celier@adacore.com>
12907
12908 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
12909 with an archive instead of -L<library dir> -l<library name>.
12910
129112011-08-02 Ed Schonberg <schonberg@adacore.com>
12912
12913 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
12914 mark the base types In_Use in addition to making the operations
12915 use_visible.
12916
129172011-08-02 Ed Falis <falis@adacore.com>
12918
12919 * init.c: add and setup __gnat_signal_mask for the exception signals
12920 * s-inmaop-vxworks.adb: new file.
12921 * s-intman-vxworks.adb: remove unnecessary initializations and
12922 simplify remaining
12923 * s-intman-vxworks.ads: remove unnecessary variable
12924 * s-taprop-vxworks.adb: simplify signal initialization
12925
129262011-08-02 Robert Dewar <dewar@adacore.com>
12927
12928 * sem_ch8.adb: Minor code reorganization, comment updates.
12929
129302011-08-02 Robert Dewar <dewar@adacore.com>
12931
12932 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
12933 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
12934 here from Sem_Res.
12935 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
12936 (Matching_Static_Array_Bounds): Moved here from Sem_Res
12937
129382011-08-02 Ed Schonberg <schonberg@adacore.com>
12939
12940 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
12941 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
12942 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
12943 use_type_clauses, to handle more efficiently use_type and use_all_type
12944 constructs.
12945 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
12946 Ada2012 Use_All_Type clause.
12947 (Use_Class_Wide_Operations): new procedure.
12948
129492011-08-02 Robert Dewar <dewar@adacore.com>
12950
12951 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
12952 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
12953 expression to expression function.
12954
129552011-08-02 Ed Schonberg <schonberg@adacore.com>
12956
12957 * sem_ch4.adb: transform simple Ada2012 membership into equality only
12958 if types are compatible.
12959
129602011-08-02 Yannick Moy <moy@adacore.com>
12961
12962 * sem_res.adb (Matching_Static_Array_Bounds): new function which
12963 returns True if its argument array types have same dimension and same
12964 static bounds at each index.
12965 (Resolve_Actuals): issue an error in formal mode on actuals passed as
12966 OUT or IN OUT paramaters which are not view conversions in SPARK.
12967 (Resolve_Arithmetic_Op): issue an error in formal mode on
12968 multiplication or division with operands of fixed point types which are
12969 not qualified or explicitly converted.
12970 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
12971 Boolean or array type (except String) operands.
12972 (Resolve_Equality_Op): issue an error in formal mode on equality
12973 operators for array types other than String with non-matching static
12974 bounds.
12975 (Resolve_Logical_Op): issue an error in formal mode on logical operators
12976 for array types with non-matching static bounds. Factorize the code in
12977 Matching_Static_Array_Bounds.
12978 (Resolve_Qualified_Expression): issue an error in formal mode on
12979 qualified expressions for array types with non-matching static bounds.
12980 (Resolve_Type_Conversion): issue an error in formal mode on type
12981 conversion for array types with non-matching static bounds
12982
129832011-08-02 Robert Dewar <dewar@adacore.com>
12984
12985 * par-ch10.adb: Minor code reorganization (use Nkind_In).
12986
129872011-08-02 Ed Schonberg <schonberg@adacore.com>
12988
12989 * par-ch9.adb: save location of entry for proper error message.
12990
129912011-08-02 Javier Miranda <miranda@adacore.com>
12992
12993 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
12994 (Use_Full_View) which permits this routine to climb through the
12995 ancestors using the full-view of private parents.
12996 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
12997 Use_Full_View to true in calls to Is_Ancestor.
12998 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
12999 true in call to Is_Ancestor.
13000 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
13001 Use_Full_View to true in call to Is_Ancestor.
13002 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
13003 call to Is_Ancestor.
13004 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
13005 Use_Full_View to true in calls to Is_Ancestor.
13006 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
13007 Make_Select_Specific_Data_Table, Register_Primitive,
13008 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
13009 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
13010 to true in call to Is_Ancestor.
13011 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
13012 Use_Full_View to true in calls to Is_Ancestor.
13013 * exp_cg.adb
13014 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
13015 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
13016
130172011-08-02 Robert Dewar <dewar@adacore.com>
13018
13019 * gnat_rm.texi: Minor reformatting.
13020 * sem_prag.adb: Minor reformatting.
13021
130222011-08-02 Tristan Gingold <gingold@adacore.com>
13023
13024 * vms_data.ads: Add VMS qualifier for -gnateP.
13025
130262011-08-02 Robert Dewar <dewar@adacore.com>
13027
13028 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
13029 * par-ch7.adb (P_Package): Proper placement of aspects for package
13030 decl/instantiation.
13031 * par-endh.adb (Check_End): Ad Is_Sloc parameter
13032 (End_Statements): Add Is_Sloc parameterr
13033 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
13034 (Check_End): Ad Is_Sloc parameter
13035 (End_Statements): Add Is_Sloc parameterr
13036
130372011-08-02 Vincent Celier <celier@adacore.com>
13038
13039 * ug_words: Add VMS qualifier equivalent to -gnateP:
13040 /SYMBOL_PREPROCESSING.
13041
130422011-08-02 Jose Ruiz <ruiz@adacore.com>
13043
13044 * gnat-style.texi: For hexadecimal numeric literals the typical
13045 grouping of digits is 4 to represent 2 bytes.
13046 A procedure spec which is split into several lines is indented two
13047 characters.
13048
130492011-08-02 Yannick Moy <moy@adacore.com>
13050
13051 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
13052 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
13053 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
13054 properly qualified
13055 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
13056 choice in array aggregate
13057 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
13058 mark as ancestor
13059 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
13060 positional and named aggregate for record, or others in record
13061 aggregate, or multiple choice in record aggregate
13062 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
13063 array operands to logical operations AND, OR and XOR do not have the
13064 same static lower and higher bounds
13065 * sem_ch5.adb, sinfo.ads: Correct typos in comments
13066
130672011-08-01 Robert Dewar <dewar@adacore.com>
13068
13069 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
13070 Replaces Last_Source_Node_In_Sequence.
13071 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
13072 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
13073 parens and blank in string (this was inconsistently implemented).
13074 * errout.ads
13075 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
13076 blank in string (this was inconsistently implemented).
13077 * gnat1drv.adb
13078 (Set_Global_Switches): Set formal mode switches appropriately
13079 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
13080 * par-prag.adb
13081 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
13082 call Set_Error_Msg_Lang to set "spark" as language name.
13083 * par.adb: Remove unnecessary call to set formal language for errout
13084 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
13085 appropriately and call Set_Error_Msg_Lang to set "spark" as language
13086 name.
13087 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
13088 calls to it, moved after resolution so that types are known
13089 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
13090 result of concatenation is not of type String
13091 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
13092 concatenation is not properly restricted
13093 * gnat_rm.texi: Add doc on pragma Spark_95.
13094 * gcc-interface/Makefile.in: Remove obsolete target pairs for
13095 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
13096 * gcc-interface/Make-lang.in: Update dependencies.
13097
130982011-08-01 Javier Miranda <miranda@adacore.com>
13099
13100 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
13101 condition that detects if the overridden operation must replace an
13102 existing entity.
13103
131042011-08-01 Javier Miranda <miranda@adacore.com>
13105
13106 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
13107 code declarations inserted by Insert_Actions in each alternative of the
13108 N_Case_Expression node.
13109
131102011-08-01 Robert Dewar <dewar@adacore.com>
13111
13112 * sem_ch6.adb: Minor code reorganization.
13113 * sem_util.adb: Minor reformatting.
13114
131152011-08-01 Pascal Obry <obry@adacore.com>
13116
13117 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
13118 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
13119
131202011-08-01 Yannick Moy <moy@adacore.com>
13121
13122 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
13123 literal or operator symbol which is prefixed
13124 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
13125 mode on access attributes.
13126 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
13127 that concatenation operands are properly restricted in formal mode
13128 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
13129 Analyze_Concatenation_Operand. Issue an error in formal mode if the
13130 result of the concatenation has a type different from String.
13131 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
13132 Analyze_Quantified_Expression, Analyze_Slice,
13133 Analyze_Null): issue an error in formal mode on unsupported constructs
13134 * sem_ch5.adb
13135 (Analyze_Block_Statement): only issue error on source block statement
13136 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
13137 function which returns the last node in a list of nodes for which
13138 Comes_From_Source returns True, if any
13139 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
13140 Last_Source_Node_In_Sequence
13141 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
13142 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
13143 mode on unsupported constructs
13144 * sem_ch9.adb Do not return after issuing error in formal mode, as the
13145 rest of the actions may be needed later on since the error is marked as
13146 not serious.
13147 * sinfo.ads: Typos in comments.
13148
131492011-08-01 Pascal Obry <obry@adacore.com>
13150
13151 * projects.texi: Minor editing.
13152
131532011-08-01 Yannick Moy <moy@adacore.com>
13154
13155 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
13156 insertion character ~~
13157 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
13158 (Set_Error_Msg_Lang): new procedure which fixes the language for use
13159 with insertion character ~~
13160 (Set_Msg_Text): treat insertion character ~~
13161 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
13162 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
13163 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
13164 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
13165 errors related to the formal language restriction not serious
13166 (insertion character |).
13167 * par.adb (Par): set formal language for error messages if needed
13168 * sem_ch6.adb (Check_Missing_Return): take into account possible
13169 generated statements at the end of the function
13170 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
13171 enumeration value to define a new pragma SPARK_95
13172 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
13173 SPARK_Version): new type and variables to store the SPARK version
13174 (none by default).
13175 (SPARK_Mode): return True when SPARK_Version is set
13176 * par-prag.adb: Correct indentation
13177 (Prag): take Pragma_SPARK_95 into account
13178 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
13179 into account.
13180
131812011-08-01 Robert Dewar <dewar@adacore.com>
13182
13183 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
13184 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
13185 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
13186
131872011-08-01 Pascal Obry <obry@adacore.com>
13188
13189 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
13190 Target_Name to Get_Path call.
13191 (Parse_Single_Project): Likewise.
13192 (Post_Parse_Context_Clause): Likewise.
13193 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
13194 Call Initialise_Project_Path with the proper Target_Name.
13195 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
13196 search path.
13197 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
13198 with the proper Target_Name.
13199 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
13200 Part.Parse routine.
13201 (Parse_Project_And_Apply_Config): Likewise.
13202 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
13203 This is fine as this part of the code is supporting only native
13204 compilation.
13205 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
13206 is fine as this part of the code is supporting only native compilation.
13207
132082011-08-01 Yannick Moy <moy@adacore.com>
13209
13210 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
13211 of homonym, unless the homonym is one of the cases allowed in SPARK
13212 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
13213 package declaration occurring after a body.
13214
132152011-08-01 Robert Dewar <dewar@adacore.com>
13216
13217 * checks.adb, exp_ch4.adb: Minor reformatting.
13218
132192011-08-01 Javier Miranda <miranda@adacore.com>
13220
13221 * einfo.ads (Access_Disp_Table): Fix documentation.
13222 (Dispatch_Table_Wrappers): Fix documentation.
13223
132242011-08-01 Pascal Obry <obry@adacore.com>
13225
13226 * prj-env.adb, prj-env.ads: Minor reformatting.
13227
132282011-08-01 Yannick Moy <moy@adacore.com>
13229
13230 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
13231 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
13232 procedures out of these packages.
2c7f9cc0 13233 * errout.ads, errout.adb
052e0603
AC
13234 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
13235 procedures in of this package
13236 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
13237 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
13238 on misplaced later vs initial declarations, like in Ada 83
13239 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
13240 formal mode on attribute of private type whose full type declaration
13241 is not visible
13242 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
13243 package declaration inside a package specification
13244 (Analyze_Full_Type_Declaration): issue error in formal mode on
13245 controlled type or discriminant type
13246 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
13247 user-defined operator means that it should come from the source
13248 (New_Overloaded_Entity): issue error in formal mode on overloaded
13249 entity.
13250 * sem_ch6.ads, sem_ch13.ads: typos in comments.
13251
132522011-08-01 Thomas Quinot <quinot@adacore.com>
13253
13254 * atree.adb: Minor reformatting.
13255 * checks.adb: Minor reformatting.
13256
132572011-08-01 Vincent Celier <celier@adacore.com>
13258
13259 * s-parame-vms-ia64.ads: Fix typo in comment
13260 Minor reformatting
13261 * s-parame-vms-restrict.ads: Removed, unused.
13262
132632011-08-01 Javier Miranda <miranda@adacore.com>
13264
13265 * exp_ch3.adb
13266 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
13267 * sem_ch3.adb
13268 (Constrain_Index): Remove side effects in the evaluation of the bounds.
13269 * sem_ch3.ads, sem_ch3.adb
13270 (Is_Constant_Bound): New extended version of the subprogram that was
13271 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
13272 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
13273 * sem_aux.ads (Constant_Value): Fix typo in comment.
13274 * checks.adb (Generate_Index_Checks): New implementation which, for
13275 array objects with constant bounds, generates the runtime check
13276 referencing the bounds of the array type. For other cases this routine
13277 provides its previous behavior obtaining such values from the array
13278 object.
13279 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
13280 parent type.
13281 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
13282 we cannot have semantic interpretations of the new node.
13283
132842011-08-01 Ed Schonberg <schonberg@adacore.com>
13285
13286 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
13287 expressions.
13288
132892011-08-01 Arnaud Charlet <charlet@adacore.com>
13290
13291 * sem_ch8.adb: Minor code editing.
13292 * s-vxwext.adb: Remove trailing space.
13293 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
13294 consistency with other files.
13295
132962011-08-01 Thomas Quinot <quinot@adacore.com>
13297
13298 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
13299
133002011-08-01 Ed Schonberg <schonberg@adacore.com>
13301
13302 * par-ch10.adb: reject parameterized expressions as compilation unit.
13303 * sem_ch4.adb: handle properly conditional expression with overloaded
13304 then_clause and no else_clause.
13305
133062011-08-01 Tristan Gingold <gingold@adacore.com>
13307
13308 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
13309 like done by System.Aux_DEC.
13310 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
13311
133122011-08-01 Yannick Moy <moy@adacore.com>
13313
13314 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
13315 missing label at end of declaration (subprogram or package)
13316 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
13317 of positional and named parameter association
13318 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
13319 Error_Msg_SP which adds a prefix to the error message giving the name
13320 of the formal language analyzed
13321 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
13322 access result type in subprogram, unconstrained array as result type,.
13323 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
13324 procedure
13325 * sem_ch8.adb: Code clean up.
13326
133272011-08-01 Javier Miranda <miranda@adacore.com>
13328
13329 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
13330 * einfo.ads (Access_Disp_Table): Fix documentation.
13331 (Dispatch_Table_Wrappers): Fix documentation.
13332 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
13333 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
13334 to enforce the documentation of this attribute.
13335 (Set_Is_Interface): Cleanup the assertion.
13336 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
13337 the Underlying_Type entity before reading attribute Access_Disp_Table.
13338 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
13339 Locate the Underlying_Type before reading attribute Access_Disp_Table.
13340 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
13341 the Underlying_Type entity before reading attribute Access_Disp_Table.
13342 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
13343 Locate the Underlying_Type entity before reading attribute
13344 Access_Disp_Table.
13345
133462011-08-01 Ed Schonberg <schonberg@adacore.com>
13347
13348 * s-poosiz.ads: Additional overriding indicators.
13349
133502011-08-01 Yannick Moy <moy@adacore.com>
13351
13352 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
13353 formal mode.
13354 (Analyze_Iteration_Scheme): issue error in formal mode when loop
13355 parameter specification does not include a subtype mark.
13356 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
13357 formal mode on abstract subprogram.
13358 (Analyze_Subprogram_Specification): issue error in formal mode on
13359 user-defined operator.
13360 (Process_Formals): issue error in formal mode on access parameter and
13361 default expression.
13362 * sem_ch9.adb (Analyze_Abort_Statement,
13363 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
13364 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
13365 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
13366 Analyze_Requeue, Analyze_Selective_Accept,
13367 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
13368 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
13369 issue error in formal mode on user-defined raise statement.
13370
133712011-08-01 Thomas Quinot <quinot@adacore.com>
13372
13373 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
13374 declaration being hidden when overriding an implicit inherited
13375 subprogram.
13376 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
13377 (-gnats), do not complain about a source file that contains only a
13378 pragma No_Body.
13379
133802011-08-01 Ed Schonberg <schonberg@adacore.com>
13381
13382 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
13383 variable if already set.
13384
133852011-08-01 Arnaud Charlet <charlet@adacore.com>
13386
13387 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
13388 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
13389 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
13390 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
13391 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
13392 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
13393 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
13394 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
13395 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
13396 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
13397 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
13398 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
13399 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
13400 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
13401 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
13402 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
13403 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
13404 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
13405 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
13406 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
13407 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
13408 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
13409 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
13410 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
13411 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
13412 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
13413 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
13414 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
13415 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
13416 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
13417 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
13418 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
13419 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
13420 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
13421 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
13422 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
13423 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
13424 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
13425 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
13426 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
13427 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
13428 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
13429 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
13430 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
13431 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
13432 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
13433 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
13434 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
13435 s-osinte-mingw.ads: Update to GPLv3 run-time license.
13436 Use GNAT instead of GNARL.
13437
134382011-08-01 Bob Duff <duff@adacore.com>
13439
13440 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
13441 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
13442 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
13443 reformatting.
13444
134452011-08-01 Yannick Moy <moy@adacore.com>
13446
13447 * debug.adb (d.D) reverve flag for the SPARK mode
13448 (d.E) reverve flag for SPARK generation mode
13449 (d.F) reverve flag for Why generation mode
2c7f9cc0 13450 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
052e0603
AC
13451 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
13452 functions which return True when the corresponding modes are set
13453 (Formal_Language): return "spark" or "alfa" when in formal verification
13454 mode.
13455 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
13456 Error_Msg to prefix the error message with a tag giving the formal
13457 language
13458 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
13459 message with a tag giving the formal language
13460 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
13461 block statement
13462 (Analyze_Case_Statement): issue error in formal mode on case statement
13463 with a single "others" case alternative
13464 (Analyze_Exit_Statement): issue errors in formal mode on exit
13465 statements which do not respect SPARK restrictions
13466 (Analyze_Goto_Statement): issue error in formal mode on goto statement
13467 (Check_Unreachable_Code): always issue an error (not a warning) in
13468 formal mode on unreachable code (concerns both code after an infinite
13469 loop and after an unconditional jump, both not allowed in SPARK)
13470 * sem_ch6.adb (Analyze_Return_Statement): add call to
13471 Set_Return_Present for a procedure containing a return statement
13472 (already done for functions in Analyze_Function_Return)
13473 (Analyze_Function_Return): issue error in formal mode on extended
13474 return or if return is not last statement in function
13475 (Check_Missing_Return): issue error in formal mode if function does
13476 not end with return or if procedure contains a return
13477 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
13478 function to detect if there is an inner scope of its parameter S which
13479 is a loop.
13480
134812011-08-01 Thomas Quinot <quinot@adacore.com>
13482
13483 * sem_ch6.ads: Minor reformatting.
13484
134852011-08-01 Javier Miranda <miranda@adacore.com>
13486
13487 * sem_util.adb (Abstract_Interface_List): Complete condition when
13488 processing private type declarations to avoid reading unavailable
13489 attribute.
13490 (Is_Synchronized_Tagged_Type): Complete condition when processing
13491 private extension declaration nodes to avoid reading unavailable
13492 attribute.
13493
134942011-08-01 Thomas Quinot <quinot@adacore.com>
13495
13496 * sem_ch3.adb: Minor reformatting.
13497
134982011-08-01 Thomas Quinot <quinot@adacore.com>
13499
13500 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
13501 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
13502 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
13503 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
13504 for VMS, instead parametrize the common implementation with
13505 System.Parameters declarations.
13506
135072011-08-01 Eric Botcazou <ebotcazou@adacore.com>
13508
13509 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
13510
135112011-08-01 Tristan Gingold <gingold@adacore.com>
13512
13513 * seh_init.c: Fix SEH handler installation on win64.
13514
135152011-08-01 Ed Schonberg <schonberg@adacore.com>
13516
13517 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
13518 double analysis of an anonymous access to subprogram, because it can
13519 lead to improper sharing of profiles and a back-end crash.
13520
135212011-08-01 Robert Dewar <dewar@adacore.com>
13522
13523 * make.adb, sem_ch4.adb: Minor reformatting.
13524 * gcc-interface/Make-lang.in: Update dependencies.
13525 * sem_util.adb, exp_ch5.adb: Minor reformatting.
13526
135272011-08-01 Arnaud Charlet <charlet@adacore.com>
13528
13529 * gnat_rm.texi: Fix definition of Long_Integer.
13530
135312011-08-01 Ed Schonberg <schonberg@adacore.com>
13532
13533 * exp_aggr.adb: check limit size of static aggregate unconditionally,
13534 to prevent storage exhaustion.
13535 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
13536 finalized is a function body, insert the cleanup code before the final
13537 return statement, to prevent spurious warnings.
13538 * s-pooglo.ads: add overriding indicator.
13539
135402011-08-01 Ed Schonberg <schonberg@adacore.com>
13541
13542 * sem_ch4.adb (Operator_Check): improve error message when both a
13543 with_clause and a use_clause are needed to make operator usage legal.
13544 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
13545 determine whether a compilation unit is visible within an other,
13546 either through a with_clause in the current unit, or a with_clause in
13547 its library unit or one one of its parents.
13548
135492011-08-01 Ed Schonberg <schonberg@adacore.com>
13550
13551 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
13552 over an arbitrary expression of an array or container type.
13553 * lib-xref.adb: clarify comment.
13554
135552011-08-01 Bob Duff <duff@adacore.com>
13556
13557 * einfo.ads: Minor reformatting.
13558 * debug.adb: Minor comment improvement.
13559
135602011-08-01 Javier Miranda <miranda@adacore.com>
13561
13562 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
13563 consider hidden subprograms as valid candidates.
13564
135652011-08-01 Arnaud Charlet <charlet@adacore.com>
13566
13567 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
13568
135692011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
13570
13571 * gnat_ugn.texi: Fix typo.
13572
135732011-08-01 Robert Dewar <dewar@adacore.com>
13574
13575 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
13576 lib-xref.adb: Minor reformatting
13577
135782011-08-01 Gary Dismukes <dismukes@adacore.com>
13579
13580 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
13581 when to generate a call to Move_Final_List.
13582 (Has_Controlled_Parts): Remove this function.
13583
135842011-08-01 Geert Bosch <bosch@adacore.com>
13585
13586 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
13587 "," in choice list.
13588
135892011-08-01 Thomas Quinot <quinot@adacore.com>
13590
13591 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
13592 explicit raise of a predefined exception as Comes_From_Source if the
13593 original N_Raise_Statement comes from source.
13594
135952011-08-01 Robert Dewar <dewar@adacore.com>
13596
13597 * sinfo.ads: Add comment.
13598 * sem_ch6.adb: Minor reformatting.
13599
136002011-08-01 Robert Dewar <dewar@adacore.com>
13601
13602 * freeze.adb (Freeze_Entity): Refine check for bad component size
13603 clause to avoid rejecting confirming clause when atomic/aliased present.
13604
136052011-08-01 Ed Schonberg <schonberg@adacore.com>
13606
13607 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
13608 better determine whether an entity reference is a write.
13609 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
13610 subcomponent.
13611 * lib-xref.adb (Output_References): Do no suppress a read reference at
13612 the same location as an immediately preceeding modify-reference, to
13613 handle properly in-out actuals.
13614
136152011-08-01 Tristan Gingold <gingold@adacore.com>
13616
13617 * env.c (__gnat_setenv) [VMS]: Refine previous change.
13618
136192011-08-01 Quentin Ochem <ochem@adacore.com>
13620
13621 * i-cstrin.adb (New_String): Changed implementation, now uses only the
13622 heap to compute the result.
13623
136242011-08-01 Robert Dewar <dewar@adacore.com>
13625
13626 * atree.ads: Minor reformatting.
13627
136282011-08-01 Emmanuel Briot <briot@adacore.com>
13629
13630 * g-expect.adb (Get_Command_Output): Fix memory leak.
13631
136322011-08-01 Geert Bosch <bosch@adacore.com>
13633
13634 * cstand.adb (P_Float_Type): New procedure to print the definition of
13635 predefined fpt types.
13636 (P_Mixed_Name): New procedure to print a name using mixed case
13637 (Print_Standard): Use P_Float_Type for printing floating point types
13638 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
13639 precision IEEE float.
13640
136412011-08-01 Thomas Quinot <quinot@adacore.com>
13642
13643 * sem_ch3.adb: Minor reformatting.
13644
136452011-08-01 Ed Schonberg <schonberg@adacore.com>
13646
13647 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
13648 the completion of a generic function, insert the new body rather than
13649 rewriting the original.
13650
136512011-08-01 Yannick Moy <moy@adacore.com>
13652
13653 * sinfo.ads, errout.ads: Typos in comments.
13654
136552011-08-01 Robert Dewar <dewar@adacore.com>
13656
13657 * par-endh.adb: Minor reformatting.
13658
136592011-08-01 Robert Dewar <dewar@adacore.com>
13660
13661 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
13662 (Pre_Post_Aspects): New subtype.
13663 * par-ch12.adb (P_Generic): New syntax for aspects in packages
13664 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
13665 * par-ch7.adb (P_Package): Remove Decl parameter
13666 (P_Package): Handle new syntax for aspects (before IS)
13667 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
13668 new aspect syntax
13669 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
13670 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
13671 (P_Package): Remove Decl parameter
13672 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
13673 aspects
13674 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
13675 specs
13676 * sem_util.ads, sem_util.adb (Static_Boolean): New function
13677 * sinfo.ads: Document new syntax for aspects in packages etc.
13678 * sprint.adb: Handle new syntax of aspects before IS in package
13679
136802011-08-01 Thomas Quinot <quinot@adacore.com>
13681
13682 * atree.ads: Minor reformatting.
13683 * sem_prag.adb: Minor reformatting.
13684
136852011-08-01 Robert Dewar <dewar@adacore.com>
13686
13687 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
13688 case expr alternative.
13689
136902011-08-01 Ed Schonberg <schonberg@adacore.com>
13691
13692 * sem_ch12.adb: Fix typo.
13693
136942011-08-01 Geert Bosch <bosch@adacore.com>
13695
13696 * sem_prag.adb (Check_No_Link_Name): New procedure.
13697 (Process_Import_Or_Interface): Use Check_No_Link_Name.
13698 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
13699 instead of Standard_Long_Long_Float_Size global. Preparation for
13700 eventual removal of per type constants.
13701 * exp_util.ads (Get_Stream_Size): New function returning the stream
13702 size value of subtype E.
13703 * exp_util.adb (Get_Stream_Size): Implement new function.
13704 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
13705 function.
13706 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
13707 * einfo.adb:
13708 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
13709
137102011-08-01 Geert Bosch <bosch@adacore.com>
13711
13712 * cstand.adb: Fix comments.
13713 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
13714 count of arguments.
13715
137162011-08-01 Robert Dewar <dewar@adacore.com>
13717
13718 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
13719
137202011-08-01 Geert Bosch <bosch@adacore.com>
13721
13722 * atree.ads: Fix comment.
13723
137242011-08-01 Robert Dewar <dewar@adacore.com>
13725
13726 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
13727 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
13728 * par.adb: Add with for Namet.Sp.
13729 * par-tchk.adb: Minor reformatting.
13730
137312011-08-01 Vincent Celier <celier@adacore.com>
13732
13733 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
13734 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
13735 of the init procedure of a SAL.
13736 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
13737 New procedure.
13738
137392011-08-01 Thomas Quinot <quinot@adacore.com>
13740
13741 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
13742 reformatting.
13743
137442011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13745
13746 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
13747
137482011-08-01 Thomas Quinot <quinot@adacore.com>
13749
13750 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
13751 conformant with its spec (return True only for types that have
13752 an overriding Initialize primitive operation that prevents them from
13753 having preelaborable initialization).
13754 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
13755 initialization for controlled types in Ada 2005 or later mode.
13756
137572011-08-01 Robert Dewar <dewar@adacore.com>
13758
13759 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
13760 Postcondition.
13761 (Same_Aspect): New function.
13762 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
13763 Type_Invariant, Precondition, Postcondition.
13764 * snames.ads-tmpl: Add Name_Type_Invariant.
13765
137662011-08-01 Robert Dewar <dewar@adacore.com>
13767
13768 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
13769 here.
13770 (Freeze_All_Ent): Fix error in handling inherited aspects.
13771 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
13772 already analyzed, but don't skip entire processing of a declaration,
13773 that's wrong in some cases of declarations being rewritten.
13774 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
13775 Don't delay for integer, string literals
13776 Treat predicates in usual manner for delay, remove special case code,
13777 not needed.
13778 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
13779 (Build_Predicate_Function): Update saved expression in aspect
13780 (Build_Invariant_Procedure): Update saved expression in aspect
13781 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
13782 of replacement of discriminant references if the reference is simple.
13783
137842011-08-01 Robert Dewar <dewar@adacore.com>
13785
13786 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
13787 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
13788 Static_Predicate and Dynamic_Predicate.
13789 (Build_Predicate_Function): Add processing for Static_Predicate
13790 and Dynamic_Predicate.
13791 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
13792 (From_Static_Predicate): New flag
13793 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
13794
137952011-08-01 Robert Dewar <dewar@adacore.com>
13796
13797 * usage.adb: Documentation cleanup for Ada version modes in usage.
13798 * expander.adb: Minor reformatting.
13799
138002011-08-01 Robert Dewar <dewar@adacore.com>
13801
13802 * atree.ads: Minor comment fix.
13803 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
13804 a-witeio.ads, sem_prag.adb: Minor reformatting.
13805
138062011-08-01 Doug Rupp <rupp@adacore.com>
13807
13808 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
13809 pointers. Use descrip.h header file for convenience. Add some
13810 comments.
13811
138122011-08-01 Robert Dewar <dewar@adacore.com>
13813
13814 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
13815 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
13816 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
13817 New procedure.
13818 (Check_Aspect_At_End_Of_Declarations): New procedure
13819 (Analye_Aspect_Specification): Minor changes for above procedures
13820 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
13821 specification node as well.
13822
138232011-08-01 Pascal Obry <obry@adacore.com>
13824
13825 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
13826 Windows files. Use GetFilesAttributes() in this case to check for file
13827 existence instead of returning with an error code.
13828
138292011-08-01 Vincent Celier <celier@adacore.com>
13830
13831 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
13832 High is above Source length.
13833
138342011-08-01 Robert Dewar <dewar@adacore.com>
13835
13836 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
13837
138382011-08-01 Robert Dewar <dewar@adacore.com>
13839
13840 * aspects.ads (Boolean_Aspects): New subtype.
13841 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
13842 for derived types in cases where the parent type and derived type have
13843 aspects.
13844 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
13845 with aspects when parent type also has aspects.
13846 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
13847 boolean expression at this point).
13848 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
13849 accordance with final decision on the Ada 2012 feature.
13850 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
13851
138522011-08-01 Matthew Heaney <heaney@adacore.com>
13853
13854 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
13855
138562011-08-01 Pascal Obry <obry@adacore.com>
13857
13858 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
13859 Fix Replace_Slice when High is above current string size.
13860 (Replace_Slice): Fix DL computation when High is above current
13861 string length.
13862
138632011-08-01 Gary Dismukes <dismukes@adacore.com>
13864
13865 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
13866
138672011-08-01 Matthew Heaney <heaney@adacore.com>
13868
13869 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
13870 of node.
13871
138722011-08-01 Pascal Obry <obry@adacore.com>
13873
13874 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
13875 reformatting.
13876
138772011-08-01 Ed Schonberg <schonberg@adacore.com>
13878
13879 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
13880 access to protected subprograms in generic bodies.
13881 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
13882 protected type, indicate that the convention of the subprogram is
13883 Convention_Protected, because it may be used in subsequent declarations
13884 within the protected declaration.
13885
138862011-08-01 Vincent Celier <celier@adacore.com>
13887
13888 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
13889 and "final" procedures when the name of the library is "ada", to avoid
13890 duplicate symbols "adainit" and "adafinal" in executables.
13891
138922011-08-01 Ed Schonberg <schonberg@adacore.com>
13893
13894 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
13895 quantified expression that appears within a postcondition and uses the
13896 Ada2012 'Result attribute.
13897
138982011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13899
13900 * init.c (__gnat_error_handler): Cast reason to int.
13901 (__gnat_install_handler): Explain sa_sigaction use.
13902
139032011-07-24 Eric Botcazou <ebotcazou@adacore.com>
13904
13905 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
13906 subprogram has copy-in copy-out parameters, try to promote the mode of
13907 the return type if it is passed in registers.
13908
139092011-07-24 Eric Botcazou <ebotcazou@adacore.com>
13910
13911 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
13912 left operand as addressable.
13913
139142011-07-24 Eric Botcazou <ebotcazou@adacore.com>
13915
13916 * gcc-interface/gigi.h (build_function_stub): Remove.
13917 (build_return_expr): Likewise.
13918 (convert_vms_descriptor): Declare.
13919 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
13920 (build_function_stub): Move to...
13921 * gcc-interface/utils2.c (build_return_expr): Move to...
13922 * gcc-interface/trans.c (build_function_stub): ...here.
13923 (build_return_expr): ...here.
13924 (Subprogram_Body_to_gnu): Add local variable for language_function.
13925 Disconnect the parameter attributes cache, if any, once done with it.
13926 Call end_subprog_body only after setting the end_locus.
13927 Build the stub associated with the function, if any, at the very end.
13928 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
13929 variables and streamline control flow.
13930
139312011-07-23 Arnaud Charlet <charlet@adacore.com>
13932
13933 PR ada/49819
13934 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
13935 g-trasym-dwarf.adb.
13936
139372011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13938
13939 PR bootstrap/49794
13940 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
13941 Assign to act.sa_sigaction.
13942 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
13943 current->return_address to char * before arithmetic.
13944
139452011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13946
13947 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
13948 Correct argument types.
13949 Extract code from reason.
13950 (__gnat_install_handler): Assign to act.sa_sigaction.
13951
139522011-07-21 Eric Botcazou <ebotcazou@adacore.com>
13953
13954 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
13955 (GNAT1_OBJS): ...here.
13956
139572011-07-15 Eric Botcazou <ebotcazou@adacore.com>
13958
13959 PR ada/48711
13960 * g-socthi-mingw.adb (Fill): Fix formatting.
13961
13962 * gcc-interface/gigi.h: Move around comment.
13963
139642011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13965
13966 PR ada/46350
13967 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
13968
139692011-07-14 Florian Weimer <fw@deneb.enyo.de>
13970
13971 PR ada/48711
13972 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
13973
139742011-07-13 Eric Botcazou <ebotcazou@adacore.com>
13975
13976 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
13977 range comparison if Pmode is SImode.
13978
139792011-07-12 Laurent GUERBY <laurent@guerby.net>
13980 Eric Botcazou <ebotcazou@adacore.com>
13981
13982 * adadecode.c: Wrap up in extern "C" block.
13983 * adadecode.h: Likewise.
13984 * adaint.c: Likewise. Remove 'const' keyword.
13985 * adaint.h: Likewise.
13986 * argv.c: Likewise.
13987 * atree.h: Likewise.
13988 * cio.c: Likewise.
13989 * cstreams.c: Likewise.
13990 * env.c: Likewise.
13991 * exit.c: Likewise.
13992 * fe.h: Likewise.
13993 * final.c: Likewise.
13994 * init.c: Likewise.
13995 * initialize.c: Likewise.
13996 * link.c: Likewise.
13997 * namet.h: Likewise.
13998 * nlists.h: Likewise.
13999 * raise.c: Likewise.
14000 * raise.h: Likewise.
14001 * repinfo.h: Likewise.
14002 * seh_init.c: Likewise.
14003 * targext.c: Likewise.
14004 * tracebak.c: Likewise.
14005 * uintp.h: Likewise.
14006 * urealp.h: Likewise.
14007 * xeinfo.adb: Wrap up generated C code in extern "C" block.
14008 * xsinfo.adb: Likewise.
14009 * xsnamest.adb: Likewise.
14010 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
14011 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
14012 * gcc-interface/misc.c: Likewise.
14013 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
14014 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
14015 ada/targext.o here...
14016 (GNAT_ADA_OBJS): ...and not here.
14017 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
14018 (GNATBIND_OBJS): Reorder.
14019
140202011-07-07 Richard Henderson <rth@redhat.com>
14021
14022 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
14023 dwarf2out_frame_init.
14024
140252011-07-07 Eric Botcazou <ebotcazou@adacore.com>
14026
14027 * gcc-interface/misc.c (gnat_init): Tweak previous change.
14028
140292011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14030
14031 PR target/39150
14032 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
14033
140342011-07-06 Richard Guenther <rguenther@suse.de>
14035
14036 * gcc-interface/misc.c (gnat_init): Merge calls to
14037 build_common_tree_nodes and build_common_tree_nodes_2.
14038 Re-initialize boolean_false_node.
14039
140402011-07-02 Eric Botcazou <ebotcazou@adacore.com>
14041 Olivier Hainque <hainque@adacore.com>
14042 Nicolas Setton <setton@adacore.com>
14043
14044 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
14045 the type according to the ARTIFICIAL_P parameter.
14046 (create_type_decl): Likewise.
14047 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
14048
140492011-07-01 Eric Botcazou <ebotcazou@adacore.com>
14050
14051 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
14052 (gnatbind): Likewise.
14053
140542011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14055
14056 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
14057
140582011-06-18 Eric Botcazou <ebotcazou@adacore.com>
14059
14060 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
14061 local variable throughout. Remove useless call to Base_Type.
14062 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
14063 Take it also into account for the volatileness of the field. Set the
14064 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
14065
140662011-06-18 Eric Botcazou <ebotcazou@adacore.com>
14067
14068 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
14069 on a dereference built for a by-ref object if it has an address clause.
14070
140712011-06-18 Eric Botcazou <ebotcazou@adacore.com>
14072
14073 * einfo.ads (Address_Taken): Document use for the second argument of
14074 Asm_Input and Asm_Output attributes.
14075 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
14076 argument is an entity name, then set Address_Taken on it.
14077 <Attribute_Asm_Output>: Likewise.
14078 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
14079 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
14080 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
14081 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
14082
140832011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
14084
14085 PR middle-end/46500
14086 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
14087
140882011-06-14 Joseph Myers <joseph@codesourcery.com>
14089
14090 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
14091 (ada/utils.o): Update dependencies.
14092 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
14093 ../../../libcpp/libcpp.a.
14094 * gcc-interface/utils.c: Include common/common-target.h.
14095 (process_attributes): Use targetm_common.have_named_sections.
14096
140972011-06-07 Richard Guenther <rguenther@suse.de>
14098
14099 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
14100 set_sizetype.
14101
141022011-06-06 Eric Botcazou <ebotcazou@adacore.com>
14103
14104 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
14105 TREE_THIS_NOTRAP flag.
14106
141072011-06-06 Eric Botcazou <ebotcazou@adacore.com>
14108
14109 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
14110 Fix thinko.
14111
141122011-06-06 Eric Botcazou <ebotcazou@adacore.com>
14113
14114 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
14115 constants whose full view has discriminants specially.
14116
141172011-06-06 Eric Botcazou <ebotcazou@adacore.com>
14118
14119 * gcc-interface/utils.c: Include diagnostic.h.
14120 (gnat_write_global_declarations): Output debug information for all
14121 global type declarations before finalizing the compilation unit.
14122 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
14123
141242011-05-25 Jakub Jelinek <jakub@redhat.com>
14125
14126 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
14127
141282011-05-25 Kai Tietz <ktietz@redhat.com>
14129
14130 * adaint.c (__gnat_to_canonical_file_list_next): Use array
14131 initialization instead of const/none-const pointer assignment.
14132
141332011-05-24 Joseph Myers <joseph@codesourcery.com>
14134
14135 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
14136 $(EXTRA_GNAT1_OBJS).
14137 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
14138 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
14139 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
14140 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
14141 libcommon-target.a instead of prefix.o.
14142
141432011-05-21 Joseph Myers <joseph@codesourcery.com>
14144
14145 PR ada/49097
14146 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
14147
141482011-05-20 Joseph Myers <joseph@codesourcery.com>
14149
14150 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
14151 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
14152 instead of version.o.
14153
2d0dd51a 141542011-05-18 Kai Tietz <ktietz@redhat.com>
052e0603
AC
14155
14156 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
14157 boolean_false_node instead of integer_zero_node.
14158 (convert_with_check): Likewise.
14159 * gcc-interface/decl.c (choices_to_gnu): Likewise.
14160
141612011-05-12 Eric Botcazou <ebotcazou@adacore.com>
14162
14163 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
14164 type of the parameter is an unconstrained array, convert the actual to
14165 the type of the formal in the In Out and Out cases as well.
14166
141672011-05-11 Nathan Froyd <froydnj@codesourcery.com>
14168
14169 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
14170 call build_function_type_array or build_varargs_function_type_array
14171 instead.
14172 (create_subprog_type): Don't call build_function_type; call
14173 build_function_type_vec instead.
14174
141752011-05-11 Nathan Froyd <froydnj@codesourcery.com>
14176
14177 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
14178 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
14179 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
14180
141812011-05-07 Eric Botcazou <ebotcazou@adacore.com>
14182
14183 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
14184
14185 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
14186 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
14187
141882011-05-05 Nathan Froyd <froydnj@codesourcery.com>
14189
14190 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
14191
141922011-05-05 Nathan Froyd <froydnj@codesourcery.com>
14193
14194 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
14195 instead of accessing TYPE_ARG_TYPES directly.
14196 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
14197
141982011-05-05 Eric Botcazou <ebotcazou@adacore.com>
14199
14200 PR ada/48844
14201 * gcc-interface/gigi.h (get_variant_part): Declare.
14202 * gcc-interface/decl.c (get_variant_part): Make global.
14203 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
14204 types have the same constant size, are record types and T1 has a
14205 variant part while T2 doesn't.
14206
142072011-05-05 Eric Botcazou <ebotcazou@adacore.com>
14208
14209 * gcc-interface/utils.c (begin_subprog_body): Do not call
14210 get_pending_sizes.
14211 (end_subprog_body): Likewise.
14212
142132011-05-04 Richard Guenther <rguenther@suse.de>
14214
14215 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
14216 int_const_binop.
14217 (pos_to_constructor): Likewise.
14218
142192011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 14220 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
14221
14222 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
14223 of build_function_type. Adjust calls to...
14224 (build_raise_check): ...this. Do not take a void_tree parameter.
14225 Call build_function_type_list instead of build_function_type.
14226 Fix head comment and swap couple of conditional blocks.
14227
142282011-04-30 Eric Botcazou <ebotcazou@adacore.com>
14229
14230 * gnatvsn.ads (Library_Version): Bump to 4.7.
14231 (Current_Year): Bump to 2011.
14232
142332011-04-29 Michael Matz <matz@suse.de>
14234
14235 * gcc-interface/misc.c (gnat_handle_option): Set
14236 warn_maybe_uninitialized.
14237
142382011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
14239
14240 * gnat_ugn.texi (Complexity Metrics Control): Update link to
14241 the Watson/McCabe paper.
14242
142432011-04-23 Jim Meyering <meyering@redhat.com>
14244
14245 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
14246
142472011-04-22 Eric Botcazou <ebotcazou@adacore.com>
14248
14249 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
14250 onto the new type.
14251
142522011-04-22 Eric Botcazou <ebotcazou@adacore.com>
14253
14254 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
14255 parameter.
14256 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
14257 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
14258 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
14259 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
14260 <all>: Do not set flags on the reused DECL node coming from an alias.
14261 Set DECL_IGNORED_P on the DECL node built for subprograms if they
14262 don't need debug info here...
14263 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
14264 (gigi): Adjust calls to create_subprog_decl.
14265 (build_raise_check): Likewise.
14266 (establish_gnat_vms_condition_handler): Likewise.
14267 (Compilation_Unit_to_gnu): Likewise.
14268 (gnat_to_gnu): Likewise.
14269
142702011-04-21 Eric Botcazou <ebotcazou@adacore.com>
14271
14272 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
14273 (NO_REORDER_ADAFLAGS): New variable.
14274 (EXTRA_GNATTOOLS): Always define.
14275 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
14276 Clean up and adjust list of files compiled with special options.
14277 * gcc-interface/Make-lang.in: Likewise.
14278 (ada/decl.o): Cosmetical change.
14279 (ada/misc.o): Remove dependency on $(PLUGIN_H).
14280
142812011-04-20 Jim Meyering <meyering@redhat.com>
14282
14283 * initialize.c (__gnat_initialize): Remove useless if-before-free.
14284
142852011-04-17 Eric Botcazou <ebotcazou@adacore.com>
14286
14287 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
14288 $(CFLAGS) on the link line.
14289
142902011-04-17 Eric Botcazou <ebotcazou@adacore.com>
14291
14292 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
14293 padded type built for the return type if it is unconstrained.
14294
142952011-04-14 Nathan Froyd <froydnj@codesourcery.com>
14296
14297 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
14298
142992011-04-12 Nathan Froyd <froydnj@codesourcery.com>
14300
14301 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
14302 before calling TREE_CHAIN.
14303 * gcc-interface/misc.c (gnat_init_ts): New function.
14304 (LANG_HOOKS_INIT_TS): Define.
14305
143062011-04-12 Martin Jambor <mjambor@suse.cz>
14307
14308 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
14309 instead of cgraph_node.
14310
143112011-04-08 Eric Botcazou <ebotcazou@adacore.com>
14312
14313 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
14314 alignment on fields of the RETURN type built for the Copy-In Copy-Out
14315 mechanism.
14316
143172011-04-08 Eric Botcazou <ebotcazou@adacore.com>
14318
14319 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
14320 of aggregate types that contain a placeholder.
14321
143222011-04-08 Nathan Froyd <froydnj@codesourcery.com>
14323
14324 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
14325 TYPE_ARG_TYPES.
14326 (handle_type_generic_attribute): Likewise.
14327
143282011-04-04 Eric Botcazou <ebotcazou@adacore.com>
14329
14330 PR ada/47163
14331 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
14332
143332011-04-04 Kai Tietz <ktietz@redhat.com>
14334
14335 PR ada/47163
14336 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
14337 to flag value.
14338
143392011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14340
14341 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
14342 type case, do not strip a padding type around the array type.
14343
143442011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14345
14346 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
14347 types.
14348
143492011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14350
14351 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
14352 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
14353 code for -feliminate-unused-debug-types.
14354 (gnat_post_options): Likewise.
14355
143562011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14357
14358 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
14359 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
14360 distinct copy.
14361
143622011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14363
14364 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
14365 DECL_ARTIFICIAL flag on enumeration types.
14366
143672011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14368
14369 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
14370 fat pointer types artificial unconditionally.
14371 <E_Array_Subtype>: Attach the base array type as a parallel type if it
14372 isn't artificial.
14373
143742011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14375
14376 * gcc-interface/gigi.h (get_dummy_type): Declare.
14377 (build_dummy_unc_pointer_types): Likewise.
14378 (finish_fat_pointer_type): Likewise.
14379 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
14380 fat pointer type has been built, complete it in place.
14381 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
14382 and thin pointers. Remove useless variable.
14383 (finish_fat_pointer_type): Make global and move to...
14384 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
14385 (get_dummy_type): New function.
14386 (build_dummy_unc_pointer_types): Likewise.
14387 (gnat_pushdecl): Propage the name to the anonymous variants only.
14388 (update_pointer_to): Only adjust the pointer types in the unconstrained
14389 array case.
14390
143912011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14392
14393 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
14394 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
14395 if this is a Taft amendment type and the full declaration is available.
14396 * gcc-interface/trans.c (process_type): Likewise.
14397 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
14398 (process_freeze_entity): Likewise.
14399 * gcc-interface/utils.c (dummy_global): New static variable.
14400 (gnat_write_global_declarations): If there are types declared as used
14401 at the global level, insert them in the global hash table.
14402
144032011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14404
14405 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
14406 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
14407 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
14408 copy.
14409 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
14410 flag of the type accordingly.
14411 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
14412
144132011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14414
14415 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
14416 finalizing types when updating the pointers to the designated type.
14417 <all>: Finalize the deferred types even if we didn't defer processing
14418 of incomplete types in this invocation.
14419
144202011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
14421 Nicolas Setton <setton@adacore.com>
14422 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
14423
14424 * gcc-interface/misc.c (gnat_descriptive_type): New function.
14425 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
14426
144272011-03-28 Kai Tietz <ktietz@redhat.com>
14428
14429 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
14430 Windows targets.
14431 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
14432 * system-mingw.ads (System): Change ZCX_By_Default default to True.
14433
14434 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
14435
144362011-03-28 Tristan Gingold <gingold@adacore.com>
14437
14438 PR ada/44431
14439 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
14440 Use ada output of gnatbind.
14441 (ada/b_gnatb.adb): Ditto.
14442 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
14443 (ada.mostlyclean, ada.stage1)
14444 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
14445 (ada.stagefeedback): Adjust.
14446 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
14447 Use ada output of gnatbind.
14448 (b_gnatm.adb): Ditto.
14449 (b_gnatl.o, b_gnatm.o): New rules.
14450
144512011-03-26 Eric Botcazou <ebotcazou@adacore.com>
14452
14453 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
14454 for the padded type built to support a specified size or alignment.
14455
144562011-03-26 Eric Botcazou <ebotcazou@adacore.com>
14457
14458 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
14459 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
14460 unconditionally to the end of the unit when the designated type is
14461 limited_with'ed.
14462 <all>: Rename local variable. Attempt to un-defer types only and do it
14463 for limited_with'ed types as well.
14464 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
14465 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
14466 consistently and remove redundant call to finalize_from_with_types.
14467
144682011-03-26 Eric Botcazou <ebotcazou@adacore.com>
14469
14470 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
14471 subprograms without a previous spec declared in the same unit.
14472 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
14473 subprograms at the end of the unit instead of at the beginning.
14474 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
14475 isn't public for the special handling of non-inline functions nested
14476 inside inline external functions.
14477
144782011-03-25 Jeff Law <law@redhat.com>
14479
14480 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
14481
144822011-03-24 Eric Botcazou <ebotcazou@adacore.com>
14483
14484 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
14485 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
14486 to compute Set_Size_Depends_On_Discriminant.
14487 (Layout_Type): Call it on array types in back-end layout mode.
14488 * sem_util.adb (Requires_Transient_Scope): Return true for array
14489 types only if the size depends on the value of discriminants.
14490 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
14491 type if the RHS is a call to a function that returns an unconstrained
14492 type with default discriminant.
14493
144942011-03-24 Eric Botcazou <ebotcazou@adacore.com>
14495
14496 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
14497 non-conversion to the nominal result type at the end.
14498
144992011-03-23 Eric Botcazou <ebotcazou@adacore.com>
14500
14501 * gcc-interface/trans.c (create_temporary): New function taken from...
14502 (create_init_temporary): ...here. Call it.
14503 (call_to_gnu): Create the temporary for the return value early, if any.
14504 Create it for a function with copy-in/copy-out parameters if there is
14505 no target; in other cases of copy-in/copy-out, use another temporary.
14506 Push the new binding level lazily. Add and rename local variables.
14507
145082011-03-23 Eric Botcazou <ebotcazou@adacore.com>
14509
14510 * gcc-interface/decl.c (validate_size): Improve comments and tweak
14511 error message.
14512 (set_rm_size): Likewise.
14513
145142011-03-23 Eric Botcazou <ebotcazou@adacore.com>
14515
14516 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
14517 for the padded type built in order to support a specified alignment.
14518 Fix incorrect formatting.
14519
145202011-03-21 Eric Botcazou <ebotcazou@adacore.com>
14521
14522 PR bootstrap/48216
14523 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
14524
145252011-03-21 Eric Botcazou <ebotcazou@adacore.com>
14526
14527 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
14528 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
14529 to the end of the list. Adjust recursive call. Rename local variable.
14530 If REORDER is true, reorder components of the record type.
14531 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
14532 components_to_record and adjust the parameter list.
14533
145342011-03-21 Eric Botcazou <ebotcazou@adacore.com>
14535
14536 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
14537 disabled, use the variable for bounds of loop iteration scheme.
14538
145392011-03-21 Kai Tietz <ktietz@redhat.com>
14540
14541 PR target/12171
14542 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
14543
145442011-03-17 Eric Botcazou <ebotcazou@adacore.com>
14545
14546 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
14547 out whether the expression is read-only. Short-circuit placeholder
14548 case and rename a couple of local variables.
14549
145502011-03-17 Eric Botcazou <ebotcazou@adacore.com>
14551
14552 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
14553 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
14554 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
14555 (convert): Deal with conversions from a smaller form type specially.
14556
145572011-02-14 Eric Botcazou <ebotcazou@adacore.com>
14558
14559 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
14560 its argument, except for the special -I- switch.
14561
145622011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
14563
14564 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
14565 "Ada Issues".
14566
145672011-02-08 Eric Botcazou <ebotcazou@adacore.com>
14568
14569 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
14570
145712011-02-03 Eric Botcazou <ebotcazou@adacore.com>
14572
14573 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
14574 GNAT_FORMAL.
14575 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
14576 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
14577 instead of GNAT_FORMAL. Protect the expression against multiple uses.
14578 Do not generate the check directly, instead instantiate the template
14579 check present in the descriptor.
14580 (make_descriptor_field): Move around.
14581 (build_vms_descriptor32): Build a template check in the POINTER field.
14582 (build_vms_descriptor): Remove useless suffixes.
14583 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
14584
145852011-01-26 Eric Botcazou <ebotcazou@adacore.com>
14586
14587 PR bootstrap/47467
14588 * targext.c: Include target files if IN_RTS is defined.
14589
145902011-01-26 Richard Guenther <rguenther@suse.de>
14591
14592 PR bootstrap/47467
14593 * targext.c: Include config.h.
14594 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
14595 dependency.
14596
145972011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 14598 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
14599
14600 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
14601
146022011-01-04 Eric Botcazou <ebotcazou@adacore.com>
14603
14604 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
14605 end-of-case on the end label and its associated gotos, if any.
14606
146072011-01-04 Eric Botcazou <ebotcazou@adacore.com>
14608
14609 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
14610 expressions of the parameter cache within the statement group of
14611 the CICO mechanism.
14612
146132011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 14614 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
14615
14616 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
14617 (set_end_locus_from_node): New function.
14618 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
14619 make and the function end_locus.
14620 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
14621 for the elaboration subprogram.
14622 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
14623 set the end_locus of the expression as well.
14624
146252011-01-04 Eric Botcazou <ebotcazou@adacore.com>
14626
14627 PR ada/47131
14628 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
14629 variables that are referenced in exception handlers volatile.
14630
14631
14632\f
14633Copyright (C) 2011 Free Software Foundation, Inc.
14634
14635Copying and distribution of this file, with or without modification,
14636are permitted in any medium without royalty provided the copyright
14637notice and this notice are preserved.
14638
14639 * gnat_rm.texi: Ramification of pragma Eliminate documentation
14640 - fix bugs in the description of Source_Trace;
14641 - get rid of UNIT_NAME;
14642
4fbad0ba
AC
146432011-08-02 Javier Miranda <miranda@adacore.com>
14644
14645 * exp_ch9.adb
14646 (Build_Dispatching_Requeue): Adding support for VM targets
14647 since we cannot directly reference the Tag entity.
14648 * exp_sel.adb (Build_K): Adding support for VM targets.
14649 (Build_S_Assignment): Adding support for VM targets.
14650 * exp_disp.adb
14651 (Default_Prim_Op_Position): In VM targets do not restrict availability
14652 of predefined interface primitives to compiling in Ada 2005 mode.
14653 (Is_Predefined_Interface_Primitive): In VM targets this service is not
14654 restricted to compiling in Ada 2005 mode.
14655 (Make_VM_TSD): Generate code that declares and initializes the OSD
14656 record. Needed to support dispatching calls through synchronized
14657 interfaces.
14658 * exp_ch3.adb
14659 (Make_Predefined_Primitive_Specs): Enable generation of predefined
14660 primitives associated with synchronized interfaces.
14661 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
14662 primitives associated with synchronized interfaces.
14663
146642011-08-02 Yannick Moy <moy@adacore.com>
14665
14666 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
14667 statements hidden in SPARK if preceded by the HIDE directive
14668 (Parse_Exception_Handlers): mark each exception handler in a sequence of
14669 exception handlers as hidden in SPARK if preceded by the HIDE directive
14670 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
14671 if starting with the HIDE directive
14672 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
14673 starting with the HIDE directive; mark the declarations in a private
14674 part as hidden in SPARK if the private part starts with the HIDE
14675 directive
14676 * restrict.adb, restrict.ads
14677 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
14678 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
14679 argument node belongs to a part which is hidden in SPARK
14680 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
14681 parts in SPARK; protect the possibly costly call to
14682 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
14683 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
14684 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
14685 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
14686 Tok_SPARK_Hide.
14687 (Scan): recognize special comment starting with '#' and followed by
14688 SPARK keyword "hide" as a HIDE directive.
14689
146902011-08-02 Yannick Moy <moy@adacore.com>
14691
14692 * types.ads, erroutc.ads: Minor reformatting.
14693
146942011-08-02 Vincent Celier <celier@adacore.com>
14695
14696 * link.c: Add response file support for cross platforms.
14697
6ff6152d
ES
146982011-08-02 Ed Schonberg <schonberg@adacore.com>
14699
14700 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
14701 in an association, set parent field of copy before partial analysis.
14702 * sem_res.adb (Resolve_Slice): create reference to itype only when
14703 expansion is enabled.
14704
975c6896
YM
147052011-08-02 Yannick Moy <moy@adacore.com>
14706
14707 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
14708 for new flag denoting which subprogram bodies are in ALFA
14709 * restrict.adb, sem_ch7.adb: Update comment
14710 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
14711 sem_ch9.adb, sem_res.adb: Add calls to
14712 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
14713 * sem_ch6.adb (Analyze_Function_Return): add calls to
14714 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
14715 middle of the body, and extended return.
14716 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
14717 False when missing return.
14718 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
14719 to True for subprograms whose spec is in ALFA. Remove later on the flag
14720 on the entity used for a subprogram body when there exists a separate
14721 declaration.
14722 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
14723 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
14724 False, otherwise do nothing.
14725
afc8324d
AC
147262011-08-02 Robert Dewar <dewar@adacore.com>
14727
14728 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
14729
147302011-08-02 Yannick Moy <moy@adacore.com>
14731
14732 * sem_ch4.ads: minor formatting.
14733
2ba431e5
YM
147342011-08-02 Yannick Moy <moy@adacore.com>
14735
14736 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
14737 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
14738 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
14739 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
14740 opt.ads: cleanup of SPARK mode
14741
0f853035
YM
147422011-08-02 Yannick Moy <moy@adacore.com>
14743
14744 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
14745 types.
14746 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
14747 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
14748 * sem_ch3.adb
14749 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
14750 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
14751 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
14752 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
14753 types.
14754 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
14755 non-static range.
14756 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
14757 functions whose return type is not in ALFA.
14758 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
14759 specifications.
14760 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
14761 parameter's type is not in ALFA.
14762 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
14763 types are in ALFA.
14764
d2b10647
ES
147652011-08-02 Ed Schonberg <schonberg@adacore.com>
14766
14767 * sem_ch6 (Analyze_Expression_Function): treat the function as
14768 Inline_Always, and introduce a subprogram declaration for it when it is
14769 not a completion.
14770 * inline.adb (Add_Inlined_Body): recognize bodies that come from
14771 expression functions, so that the back-end can determine whether they
14772 can in fact be inlined.
14773 * sem_util.adb (Is_Expression_Function): predicate to determine whether
14774 a function body comes from an expression function.
14775
c7b9d548
AC
147762011-08-02 Gary Dismukes <dismukes@adacore.com>
14777
14778 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
14779 null exclusions to test Can_Never_Be_Null on the anonymous access types
14780 of the formals rather than testing the formals themselves. Exclude this
14781 check in cases where the Old_Formal is marked as a controlling formal,
14782 to avoid issuing spurious errors for bodies completing dispatching
14783 operations (due to the flag not getting set on controlling access
14784 formals in body specs).
14785 (Find_Corresponding_Spec): When checking full and subtype conformance of
14786 subprogram bodies in instances, pass Designated and E in that order, for
14787 consistency with the expected order of the formals (New_Id followed by
14788 Old_Id).
14789
147902011-08-02 Robert Dewar <dewar@adacore.com>
14791
14792 * sem_ch8.adb: Minor reformatting.
14793
1138cf59
AC
147942011-08-02 Ed Schonberg <schonberg@adacore.com>
14795
14796 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
14797 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
14798 primitive operations of class-wide actuals.
14799
148002011-08-02 Javier Miranda <miranda@adacore.com>
14801
14802 * exp_atag.ads, exp_atag.adb
14803 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
14804 since its value is implicitly passed in argument Typ.
14805 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
14806 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
14807 Build_Common_Dispatching_Select_Statements.
14808
7b9db926
RD
148092011-08-02 Robert Dewar <dewar@adacore.com>
14810
14811 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
14812 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
14813 Minor reformatting.
14814
e8374e7a
AC
148152011-08-02 Robert Dewar <dewar@adacore.com>
14816
14817 * sem_res.adb: Minor reformatting.
14818 * sem_prag.adb: Minor reformatting.
14819
148202011-08-02 Javier Miranda <miranda@adacore.com>
14821
14822 * exp_atag.adb, exp_atags.ads
14823 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
14824 by the tagged type Entity. Required to use this routine in the VM
14825 targets since we do not have available the Tag entity in the VM
14826 platforms.
14827 * exp_ch6.adb
14828 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
14829 Ada.Tags has not been previously loaded.
14830 * exp_ch7.adb
14831 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
14832 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
14833 * sem_aux.adb
14834 (Enclosing_Dynamic_Scope): Add missing support to handle the full
14835 view of enclosing scopes. Required to handle enclosing scopes that
14836 are synchronized types whose full view is a task type.
14837 * exp_disp.adb
14838 (Build_VM_TSDs): Minor code improvement to avoid generating and
14839 analyzing lists with empty nodes.
14840 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
14841 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
14842 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
14843 (Make_Disp_Timed_Select_Body): Add support for VM targets.
14844 (Make_Select_Specific_Data_Table): Add support for VM targets.
14845 (Make_VM_TSD): Generate code to initialize the SSD structure of
14846 the TSD.
14847
148482011-08-02 Yannick Moy <moy@adacore.com>
14849
14850 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
14851 cross-references section in ALI.
14852 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
14853 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
14854 Sub).
14855 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
14856 subprogram or package entity of a node
14857 (Is_Local_Reference_Type): new function returns True for references
14858 selected in local cross-references.
14859 (Lt): function extracted from Lt in Output_References
14860 (Write_Entity_Name): function extracted from Output_References
14861 (Generate_Definition): generate reference with type 'D' for definition
14862 of objects (object declaration and parameter specification), with
14863 appropriate locations and units, for use in local cross-references.
14864 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
14865 references of type 'I' for initialization in object definition.
14866 (Output_References): move part of function Lt and procedure
14867 Write_Entity_Name outside of the body. Ignore references of types 'D'
14868 and 'I' introduced for local cross-references.
14869 (Output_Local_References): new procedure to output the local
14870 cross-references sections.
14871 (Lref_Entity_Status): new array defining whether an entity is a local
14872 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
14873 with 'I' type when initialization expression is present.
14874 * get_scos.adb, get_scos.ads: Correct comments and typos
14875
1f6439e3
AC
148762011-08-02 Javier Miranda <miranda@adacore.com>
14877
14878 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
14879 the JVM target.
14880 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
14881 the JVM target.
14882 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
14883 TSD support.
14884
148852011-08-02 Vincent Celier <celier@adacore.com>
14886
14887 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
14888 (No_Space_Img): New function
14889 (Find_Excluded_Sources): When reading from a file, record the file name
14890 and the line number for each excluded source.
14891 (Mark_Excluded_Sources): When reporting an error, if the excluded
14892 sources were read from a file, include file name and line number in
14893 the error message.
14894
148952011-08-02 Ed Schonberg <schonberg@adacore.com>
14896
14897 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
14898
ab027d28
RD
148992011-08-02 Robert Dewar <dewar@adacore.com>
14900
14901 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
14902
b3b28b0c
JM
149032011-08-02 Javier Miranda <miranda@adacore.com>
14904
14905 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
14906 generation of TSDs to the DOTNET compiler.
14907 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
14908 generation of TSDs to the DOTNET compiler.
14909
9732e886
JM
149102011-08-02 Javier Miranda <miranda@adacore.com>
14911
14912 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
14913 record of all the tagged types declared inside library level package
14914 declarations, library level package bodies or library level subprograms.
14915 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
14916 associated with a given tagged type.
14917 (Build_VM_TSDs): New subprogram.
14918 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
14919 compilation units that are subprograms.
14920 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
14921 compilation units that are package bodies.
14922 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
14923 units that are a package declaration or a package instantiation.
14924 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
14925 reorganization to improve the error generated by the frontend when the
14926 function Ada.Tags.Secondary_Tag is not available.
14927 * rtsfind.ads (RE_Register_TSD): New runtime entity.
14928 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
14929
e526d0c7
AC
149302011-08-02 Javier Miranda <miranda@adacore.com>
14931
14932 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
14933
149342011-08-02 Robert Dewar <dewar@adacore.com>
14935
14936 * s-imenne.ads: Minor reformatting.
14937
149382011-08-02 Robert Dewar <dewar@adacore.com>
14939
14940 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
14941 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
14942 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
14943
149442011-08-02 Robert Dewar <dewar@adacore.com>
14945
14946 * einfo.ads (Materialize_Entity): Document this is only for renamings
14947 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
14948 required debug information in the case where we transform the object
14949 declaration into a renaming declaration.
14950 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
14951 object
14952 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
14953 Materialize_Entity.
14954
5b1e6aca
RD
149552011-08-02 Robert Dewar <dewar@adacore.com>
14956
14957 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
14958 Suppress_Init_Procs.
14959 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
14960 Suppress_Initialization/Initialization_Suppressed.
14961 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
14962 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
14963 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
14964 * sem_prag.adb: New processing for pragma Suppress_Initialization.
14965
5ad4969d
RD
149662011-08-02 Robert Dewar <dewar@adacore.com>
14967
14968 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
14969 Minor reformatting.
14970
8c4ee6f5
AC
149712011-08-02 Ed Schonberg <schonberg@adacore.com>
14972
14973 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
14974 only have inheritable classwide pre/postconditions.
14975
149762011-08-02 Javier Miranda <miranda@adacore.com>
14977
14978 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
14979 * rtsfind.ads (RE_Check_TSD): New runtime entity.
14980 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
14981 checks if the external tag of a type is the same as the external tag
14982 of some other declaration.
14983
0b3d16c0
AC
149842011-08-02 Thomas Quinot <quinot@adacore.com>
14985
14986 * s-taskin.ads: Minor reformatting.
14987
149882011-08-02 Emmanuel Briot <briot@adacore.com>
14989
14990 * g-comlin.adb (Display_Help): swap the order in which it prints the
14991 short help and the general usage.
14992
149932011-08-02 Ed Schonberg <schonberg@adacore.com>
14994
14995 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
14996 the aspect declarations and attach them to the generic copy for
14997 subsequent analysis.
14998 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
14999 declarations of the generic tree to the new subprogram declarations.
15000 * sem_attr.adb (Check_Precondition_Postcondition): recognize
15001 conditions that apply to a subprogram instance.
15002
150032011-08-02 Robert Dewar <dewar@adacore.com>
15004
15005 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
15006
150072011-08-02 Ed Schonberg <schonberg@adacore.com>
15008
15009 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
15010 private type with a tagged full view is not derived in the immediate
15011 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
15012
4637729f
AC
150132011-08-02 Robert Dewar <dewar@adacore.com>
15014
15015 * exp_ch4.adb: Minor reformatting.
15016
150172011-08-02 Ed Schonberg <schonberg@adacore.com>
15018
15019 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
15020 Ada2012 iterator, the loop will be rewritten during expansion into a
15021 while loop with a cursor and an element declaration. Do not analyze the
15022 body in this case, because if the container is for indefinite types the
15023 actual subtype of the elements will only be determined when the cursor
15024 declaration is analyzed.
15025
150262011-08-02 Arnaud Charlet <charlet@adacore.com>
15027
15028 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
15029 size/alignment related attributes in CodePeer_Mode.
15030
150312011-08-02 Gary Dismukes <dismukes@adacore.com>
15032
15033 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
15034 Prepend_Element, since this can result in the operation getting the
15035 wrong slot in the full type's dispatch table if the full type has
15036 inherited operations. The incomplete type's operation will get added
15037 to the proper position in the full type's primitives
15038 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
15039 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
15040 dispatching operations, since there are cases where nonprimitive
15041 subprograms can get added to the list of incomplete dependents (such
15042 as subprograms in nested packages).
15043 * sem_ch6.adb (Process_Formals): First, remove test for being in a
15044 private part when determining whether to add a primitive with a
15045 parameter of a tagged incomplete type to the Private_Dependents list.
15046 Such primitives can also occur in the visible part, and should not have
15047 been excluded from being private dependents.
15048 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
15049 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
15050 list of a Taft-amendment incomplete type is a primitive before issuing
15051 an error that the full type must appear in the same unit. There are
15052 cases where nonprimitives can be in the list (such as subprograms in
15053 nested packages).
15054 * sem_disp.adb (Derives_From): Use correct condition for checking that
15055 a formal's type is derived from the type of the corresponding formal in
15056 the parent subprogram (the condition was completely wrong). Add
15057 checking that was missing for controlling result types being derived
15058 from the result type of the parent operation.
15059
4c60de0c
YM
150602011-08-02 Yannick Moy <moy@adacore.com>
15061
15062 * errout.adb (First_Node): minor renaming
15063 * restrict.adb (Check_Formal_Restriction): put restriction warning on
15064 first node.
15065
f5afb270
AC
150662011-08-02 Yannick Moy <moy@adacore.com>
15067
15068 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
15069 before accessing operands.
15070 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
15071 decide whether an initialization expression respects SPARK rules, as
15072 the plain node is the expanded one. This allows for more valid warnings
15073 to be issued.
15074 * gnat_rm.texi: Minor update.
15075
150762011-08-02 Arnaud Charlet <charlet@adacore.com>
15077
15078 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
15079 previous change.
15080
150812011-08-02 Robert Dewar <dewar@adacore.com>
15082
15083 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
15084
150852011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
15086
15087 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
15088 loop statements and the element renaming declaration with a block when
15089 the element type is controlled.
15090
150912011-08-02 Yannick Moy <moy@adacore.com>
15092
15093 * sinfo.ads: Minor formatting.
15094
150952011-08-02 Ed Schonberg <schonberg@adacore.com>
15096
15097 * sem_aggr.adb (Add_Association): if the association has a box and no
15098 expression, use the Sloc of the aggregate itself for the new
15099 association.
15100 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
15101 the Original_Node.
15102
db72f10a
AC
151032011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
15104
15105 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
15106 When a container is provided via a function call, generate a renaming
15107 of the function result. This avoids the creation of a transient scope
15108 and the premature finalization of the container.
15109 * exp_ch7.adb (Is_Container_Cursor): Removed.
15110 (Wrap_Transient_Declaration): Remove the supression of the finalization
15111 of the list controller when the declaration denotes a container cursor,
15112 it is not needed.
15113
151142011-08-02 Yannick Moy <moy@adacore.com>
15115
15116 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
15117 node is from source, instead of the original node being from source.
15118 * sem_aggr.adb
15119 (Resolve_Array_Aggregate): refine the check for a static expression, to
15120 recognize also static ranges
15121 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
15122 Array_Type_Declaration): postpone the test for the type being a subtype
15123 mark after the type has been resolved, so that component-selection and
15124 expanded-name are discriminated.
15125 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
15126 to distinguish the case of an iteration scheme, so that an error is
15127 issed on a non-static range in SPARK except in an iteration scheme.
15128 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
15129 In_Iter_Schm = True.
15130 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
15131 user-defined operators so that they are allowed in renaming
15132 * sem_ch8.adb
15133 (Find_Selected_Component): refine the check for prefixing of operators
15134 so that they are allowed in renaming. Move the checks for restrictions
15135 on selector name after analysis discriminated between
15136 component-selection and expanded-name.
15137 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
15138 concatenation argument of string type if it is static.
15139 * sem_util.adb, sem_util.ads
15140 (Check_Later_Vs_Basic_Declarations): add a new function
15141 Is_Later_Declarative_Item to decice which declarations are allowed as
15142 later items, in the two different modes Ada 83 and SPARK. In the SPARK
15143 mode, add that renamings are considered as later items.
15144 (Enclosing_Package): new function to return the enclosing package
15145 (Enter_Name): correct the rule for homonyms in SPARK
15146 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
15147 from source (result of expansion) to avoid issuing wrong warnings.
15148
151492011-08-02 Ed Schonberg <schonberg@adacore.com>
15150
15151 * errout.adb: On anything but an expression First_Node returns its
15152 argument.
15153
23685ae6
AC
151542011-08-02 Pascal Obry <obry@adacore.com>
15155
15156 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
15157
151582011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
15159
15160 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
15161 Set the associated loop as the related expression of internally
15162 generated cursors.
15163 * exp_ch7.adb (Is_Container_Cursor): New routine.
15164 (Wrap_Transient_Declaration): Supress the finalization of the list
15165 controller when the declaration denotes a container cursor.
15166
151672011-08-02 Yannick Moy <moy@adacore.com>
15168
15169 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
15170 command line now.
15171 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
15172 expression is a simple expression. This check cannot be performed in
15173 the semantics, so just drop it.
15174 (P_Index_Or_Discriminant_Constraint): move check that the index or
15175 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
15176 semantics. Other cases were previously checked in the semantics.
15177 * par-ch4.adb (P_Name): move checks that a selector name is not
15178 character literal or an operator symbol to Find_Selected_Component in
15179 the semantics
15180 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
15181 declarations are not placed after later declarations in a separate
15182 procedure in Sem_Util (possibly not the best choice?), to be used both
15183 during parsing, for Ada 83 mode, and during semantic analysis, for
15184 SPARK mode.
15185 * par-endh.adb (Check_End): move check that end label is not missing
15186 to Process_End_Label in the semantics
15187 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
15188 the special case for SPARK restriction
15189 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
15190 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
15191 parameter Force to issue the error message even on internal node (used
15192 for generated end label). Call Check_Restriction to check when an error
15193 must be issued. In SPARK mode, issue an error message even if the
15194 restriction is not set.
15195 (Check_Restriction): new procedure with an additional out parameter to
15196 inform the caller that a message has been issued
15197 * sem_aggr.adb: Minor modification of message
15198 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
15199 instead of issuing an error message directly
15200 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
15201 declarations are not placed after later declarations, by calling
15202 Check_Later_Vs_Basic_Declarations
15203 (Analyze_Subtype_Declaration): move here the check that an index or
15204 discriminant constraint must be a subtype mark. Change the check that
15205 a subtype of String must start at one so that it works on subtype marks.
15206 * sem_ch4.adb (Analyze_Call): move here the check that a named
15207 association cannot follow a positional one in a call
15208 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
15209 instead of issuing an error message directly
15210 * sem_ch8.adb (Find_Selected_Component): move here the check that a
15211 selector name is not a character literal or an operator symbol. Move
15212 here the check that the prefix of an expanded name cannot be a
15213 subprogram or a loop statement.
15214 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
15215 procedure called from parsing and semantics to check that basic
15216 declarations are not placed after later declarations
15217 (Process_End_Label): move here the check that end label is not missing
15218
152192011-08-02 Arnaud Charlet <charlet@adacore.com>
15220
15221 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
15222 representation clause in codepeer mode, since it confuses CodePeer and
15223 does not bring useful info.
15224
152252011-08-02 Ed Falis <falis@adacore.com>
15226
15227 * init.c: initialize fp hw on MILS.
15228
152292011-08-02 Ed Schonberg <schonberg@adacore.com>
15230
15231 * errout.adb (First_Node): for bodies, return the node itself (small
15232 optimization). For other nodes, do not check source_unit if the node
15233 comes from Standard.
15234
d2d9cc22
AC
152352011-08-02 Robert Dewar <dewar@adacore.com>
15236
15237 * exp_ch3.adb: Minor comment additions.
15238 * sem_ch13.adb: Minor reformatting.
15239
152402011-08-02 Pascal Obry <obry@adacore.com>
15241
15242 * make.adb, makeutl.adb: Removes some superfluous directory separator.
15243
a01b9df6
AC
152442011-08-02 Robert Dewar <dewar@adacore.com>
15245
15246 * sem_attr.adb: Minor reformatting.
15247
152482011-08-02 Robert Dewar <dewar@adacore.com>
15249
15250 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
15251 (Has_Default_Component_Value): Removed
15252 * einfo.ads Comment updates
15253 (Has_Default_Aspect): Replaces Has_Default_Value
15254 (Has_Default_Component_Value): Removed
15255 * exp_ch13.adb
15256 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
15257 * exp_ch3.adb
15258 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
15259 (Get_Simple_Init_Val): Handle Default_Value aspect
15260 (Needs_Simple_Initialization): Handle Default_Value aspect
15261 * exp_ch3.ads: Needs_Simple_Initialization
15262 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
15263 * par-prag.adb (Pragma_Default[_Component]Value) Removed
15264 * sem_ch13.adb
15265 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
15266 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
15267 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
15268
152692011-08-02 Ed Schonberg <schonberg@adacore.com>
15270
15271 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
15272 package containing iteration primitives.
15273 exp_ch5.adb (Expand_Iterator_Loop): ditto.
15274
75c90775
AC
152752011-08-02 Ed Schonberg <schonberg@adacore.com>
15276
15277 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
15278 "of", pre-analyze expression in case it is a function call with
15279 finalization actions that must be placed ahead of the loop.
15280 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
15281 on an Ada2012 iterator, insert them ahead of the rewritten loop.
15282
152832011-08-02 Geert Bosch <bosch@adacore.com>
15284
15285 * cstand.adb (Create_Float_Types): Only consider C's long double for
15286 Long_Long_Float, in addition to double.
15287
ded8909b
AC
152882011-08-02 Robert Dewar <dewar@adacore.com>
15289
15290 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
15291 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
15292 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
15293 Minor reformatting.
15294
152952011-08-02 Ed Schonberg <schonberg@adacore.com>
15296
15297 * sem_attr.adb: handle properly 'Result when it is a prefix of an
15298 indexed component.
15299
153002011-08-02 Javier Miranda <miranda@adacore.com>
15301
15302 * einfo.ads, einfo.adb
15303 (Original_Access_Type): Move this attribute to Node26 since there was
15304 an undocumented use of Node21 in E_Access_Subprogram_Type entities
15305 which causes conflicts and breaks the generation of the .NET compiler.
15306 (Interface_Name): Add missing documentation on JGNAT only uses of
15307 this attribute.
15308
70c34e1c
AC
153092011-08-02 Geert Bosch <bosch@adacore.com>
15310
15311 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
15312 (Find_Back_End_Float_Type): Likewise
15313 (Create_Back_End_Float_Types): Likewise
15314 (Create_Float_Types): Likewise
15315 (Register_Float_Type): Likewise
15316 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
15317 Nlist and split out type selection in new local Find_Base_Type function.
15318 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
15319 Nlist
15320 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
15321
153222011-08-02 Robert Dewar <dewar@adacore.com>
15323
15324 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
15325 alpha order).
15326 * opt.ads: Minor comment change.
15327 * sem_ch12.adb: Minor code reorganization.
15328
b715bc59
AC
153292011-08-02 Gary Dismukes <dismukes@adacore.com>
15330
15331 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
15332 subtype's list of rep items to the list on the full subtype in the case
15333 where the lists are the same.
15334
153352011-08-02 Geert Bosch <bosch@adacore.com>
15336
15337 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
15338 using the one from System.Strings, which also deallocates all strings.
15339
002bdd68
AC
153402011-08-02 Geert Bosch <bosch@adacore.com>
15341
15342 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
15343 function.
15344 * gcc-interface/Make-lang.in: Update dependencies.
15345
153462011-08-02 Olivier Hainque <hainque@adacore.com>
15347
15348 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
15349 end_locus.
15350
499769ec
AC
153512011-08-02 Javier Miranda <miranda@adacore.com>
15352
15353 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
15354 associated with anonymous access to subprograms.
15355
153562011-08-02 Geert Bosch <bosch@adacore.com>
15357
15358 * opt.ads
15359 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
15360 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
15361 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
15362 (Add_Symbol_Definition): Move to switch-c.adb
15363 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
15364 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
15365 (Add_Symbol_Definition): Move to switch-c.adb.
15366 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
15367 * sem_warn.adb
15368 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
15369 Move to warnsw.adb.
15370 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
15371 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
15372 Move to warnsw.adb.
15373 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
15374 (Add_Symbol_Definition): Moved from Prepcomp.
15375 * switch-c.ads: Update copyright notice. Use String_List instead of
15376 Argument_List, removing dependency on System.OS_Lib.
15377
aa1e353a
AC
153782011-08-02 Yannick Moy <moy@adacore.com>
15379
15380 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
15381 mode on initialization expression which does not respect SPARK
15382 restrictions.
15383 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
15384 if the tree referenced by its argument represents an initialization
15385 expression in SPARK, suitable for initializing an object in an object
15386 declaration.
15387
153882011-08-02 Javier Miranda <miranda@adacore.com>
15389
15390 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
15391 internally generated access to subprogram with its associated protected
15392 subprogram type.
15393 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
15394
15b682ca
GB
153952011-08-02 Geert Bosch <bosch@adacore.com>
15396
15397 * cstand.adb (Register_Float_Type): Print information about type to
15398 register, if the Debug_Flag_Dot_B is set.
15399 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
15400 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
15401 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
15402 with a requested precision of more than Max_Digits digits and no more
15403 than Max_Base_Digits digits, if a range specification is present and the
15404 Predefined_Float_Types list has a suitable type to derive from.
15405 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
15406 case of type completion with pragma Import
15407 * sem_prag.adb
15408 (Process_Import_Predefined_Type): Processing to complete a type
15409 with pragma Import. Currently supports floating point types only.
15410 (Set_Convention_From_Pragma): Do nothing without underlying type.
15411 (Process_Convention): Guard against absence of underlying type,
15412 which may happen when importing incomplete types.
15413 (Process_Import_Or_Interface): Handle case of importing predefined
15414 types. Tweak error message.
15415
f8726f2b
AC
154162011-08-02 Eric Botcazou <ebotcazou@adacore.com>
15417
15418 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
15419 functions to previous change. Reorganize code slightly.
15420
154212011-08-02 Geert Bosch <bosch@adacore.com>
15422
15423 * back_end.ads (Register_Type_Proc): New call back procedure type for
15424 allowing the back end to provide information about available types.
15425 (Register_Back_End_Types): New procedure to register back end types.
15426 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
15427 available types.
15428 * cstand.adb (Back_End_Float_Types): New list for floating point types
15429 supported by the back end.
15430 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
15431 (Copy_Float_Type): New procedure to make new copies of predefined types.
15432 (Register_Float_Type): New call back procedure to populate the BEFT list
15433 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
15434 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
15435 (Create_Float_Types): New procedure to create entities for floating
15436 point types predefined in Standard, and put these and any remaining
15437 BEFTs on the Predefined_Float_Types list.
15438 * stand.ads (Predefined_Float_Types): New list for predefined floating
15439 point types that do not have declarations in package Standard.
15440
feecad68
AC
154412011-08-02 Eric Botcazou <ebotcazou@adacore.com>
15442
15443 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
15444 entity node for the unit containing the parameter.
15445 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
15446 (Add_Inlined_Subprogram): Likewise.
15447 * gcc-interface/Make-lang.in: Update dependencies.
15448
154492011-08-02 Thomas Quinot <quinot@adacore.com>
15450
15451 * s-stusta.adb (Print): Make sure Pos is always initialized to a
15452 suitable value.
15453
12f0c50c
AC
154542011-08-02 Geert Bosch <bosch@adacore.com>
15455
15456 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
15457
154582011-08-02 Eric Botcazou <ebotcazou@adacore.com>
15459
15460 * sem_type.adb (Covers): Move trivial case to the top and reuse the
15461 computed value of Base_Type.
15462
154632011-08-02 Yannick Moy <moy@adacore.com>
15464
15465 * restrict.adb (Check_Restriction): issue an error for any use of
15466 class-wide, even if the No_Dispatch restriction is not set.
15467 * sem_aggr.adb: Correct typos in comments and messages in formal mode
15468 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
15469 when completing a private extension, the type named in the private part
15470 is not the same as that named in the visible part.
15471 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
15472 of an inherited primitive operations of a tagged type or type extension
15473 that returns the tagged type.
15474 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
15475 function which returns True for an implicit operation inherited by the
15476 derived type declaration for the argument type.
15477 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
15478 order.
15479
fb86fe11
ES
154802011-08-02 Ed Schonberg <schonberg@adacore.com>
15481
15482 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
15483 Process_Bounds, to perform analysis with expansion of a range or an
15484 expression that is the iteration scheme for a loop.
15485 (Analyze_Iterator_Specification): If domain of iteration is given by a
15486 function call with a controlled result, as is the case if call returns
15487 a predefined container, ensure that finalization actions are properly
15488 generated.
15489 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
15490
62be5d0a
JM
154912011-08-02 Javier Miranda <miranda@adacore.com>
15492
15493 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
15494 * gcc-interface/Make-lang.in: Update dependencies.
15495
154962011-08-02 Javier Miranda <miranda@adacore.com>
15497
15498 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
15499 determine if the analysis is performed using N or Original_Node (N).
15500 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
15501 functionality of routine Is_Variable avoids code duplication.
15502 * checks.adb (Determine_Range): Handle temporaries generated by
15503 Remove_Side_Effects.
15504
155052011-08-02 Javier Miranda <miranda@adacore.com>
15506
15507 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
15508 expansion of the condition. Required since the previous analysis was
15509 done with expansion disabled (see Resolve_Quantified_Expression) and
15510 hence checks were not inserted and record comparisons have not been
15511 expanded.
15512
a20f4389
AC
155132011-08-02 Ed Falis <falis@adacore.com>
15514
15515 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
15516 Update header.
15517
155182011-08-02 Bob Duff <duff@adacore.com>
15519
15520 * opt.ads: Minor comment fix.
15521
155222011-08-02 Bob Duff <duff@adacore.com>
15523
15524 * sem_ch12.adb (Analyze_Package_Instantiation,
15525 Analyze_Subprogram_Instantiation): Turn off style checking while
15526 analyzing an instance. Whatever style checks that apply to the generic
15527 unit should apply, so it makes no sense to apply them in an instance.
15528 This was causing trouble when compiling an instance of a runtime
15529 unit that violates the -gnatyO switch.
15530 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
15531 one of the two case statements, causing spurious errors.
15532
155332011-08-02 Robert Dewar <dewar@adacore.com>
15534
15535 * uname.adb: Minor reformatting.
15536 * gnatcmd.adb: Minor reformatting.
15537 * exp_attr.adb: Minor reformatting.
15538
90878b12
AC
155392011-08-02 Ed Schonberg <schonberg@adacore.com>
15540
15541 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
15542 No_Dispatching_Calls, do not look for the Assign primitive, because
15543 predefined primitives are not created in this case.
15544
155452011-08-02 Bob Duff <duff@adacore.com>
15546
15547 * stylesw.ads: Minor comment fixes.
15548
155492011-08-02 Robert Dewar <dewar@adacore.com>
15550
15551 * freeze.adb (Add_To_Result): New procedure.
15552
155532011-08-02 Jose Ruiz <ruiz@adacore.com>
15554
15555 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
15556 time, if the specific run-time routines for handling streams of strings
15557 are not available, use the default mechanism.
15558
155592011-08-02 Arnaud Charlet <charlet@adacore.com>
15560
15561 * s-regpat.ads: Fix typo.
15562
155632011-08-02 Vincent Celier <celier@adacore.com>
15564
15565 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
15566 not null, call it to create the in memory config project file without
15567 parsing an existing default config project file.
15568
155692011-08-02 Eric Botcazou <ebotcazou@adacore.com>
15570
15571 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
15572
155732011-08-02 Ed Schonberg <schonberg@adacore.com>
15574
15575 * sem_elim.adb: an abstract subprogram does not need an eliminate
15576 pragma for its descendant to be eliminable.
15577
155782011-08-02 Ed Falis <falis@adacore.com>
15579
15580 * init.c: revert to handling before previous checkin for VxWorks
15581 * s-intman-vxworks.adb: delete unnecessary declarations related to
15582 using Ada interrupt facilities for handling signals.
15583 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
15584 * s-intman-vxworks.ads: Import __gnat_install_handler as
15585 Initialize_Interrupts.
15586 * s-taprop-vxworks.adb: Delete Signal_Mask.
15587 (Abort_Handler): change construction of mask to unblock exception
15588 signals.
15589
273adcdf
AC
155902011-08-02 Jerome Guitton <guitton@adacore.com>
15591
15592 * a-except-2005.adb (Raise_From_Signal_Handler): Call
15593 Debug_Raise_Exception before propagation starts.
15594
155952011-08-02 Eric Botcazou <ebotcazou@adacore.com>
15596
15597 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
15598 to Restriction_Check_Required.
15599 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
15600 * sem_res.adb (Resolve_Call): Likewise.
15601 * sem_attr.adb (Check_Stream_Attribute): Likewise.
15602
156032011-08-02 Bob Duff <duff@adacore.com>
15604
15605 * stylesw.ads: Update comment.
15606 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
15607 * errout.ads: Remove obsolete comment.
15608
156092011-08-02 Javier Miranda <miranda@adacore.com>
15610
15611 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
15612 (Set_Is_Safe_To_Reevaluate): new procedure.
15613 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
15614 assignment is allowed on safe-to-reevaluate variables.
15615 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
15616 temporary created to remove side effects in expressions that use
15617 the secondary stack as safe-to-reevaluate.
15618 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
15619 variables that are not true constants.
15620
6320f5e1
AC
156212011-08-02 Robert Dewar <dewar@adacore.com>
15622
15623 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
15624 sem_res.adb, sem_ch6.adb: Minor reformatting.
15625
156262011-08-02 Jerome Guitton <guitton@adacore.com>
15627
15628 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
15629
2fe829ae
ES
156302011-08-02 Ed Schonberg <schonberg@adacore.com>
15631
15632 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
15633 not set Overridden_Operation if subprogram is an initialization
15634 procedure.
15635
e24329cd
YM
156362011-08-02 Yannick Moy <moy@adacore.com>
15637
15638 * par-ch6.adb: Correct obsolete name in comments
15639 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
15640 which takes two message arguments (existing function takes one), with
15641 second message used for continuation.
15642 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
15643 block statements that originate from a source block statement, not
15644 generated block statements
15645 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
15646 symmetry with procedure case
15647 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
15648 function to issue an error in formal mode if a package specification
15649 contains more than one tagged type or type extension.
15650 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
15651 parameters matching formals of tagged types are objects (or ancestor
15652 type conversions of objects), not general expressions. Issue an error
15653 on view conversions that are not involving ancestor conversion of an
15654 extended type.
15655 (Resolve_Type_Conversion): in formal mode, issue an error on the
15656 operand of an ancestor type conversion which is not an object
15657 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
15658 procedure so that it works also for actuals of function calls
15659 (Is_Actual_Tagged_Parameter): new function which determines if its
15660 argument is an actual parameter of a formal of tagged type in a
15661 subprogram call
15662 (Is_SPARK_Object_Reference): new function which determines if the tree
15663 referenced by its argument represents an object in SPARK
15664
176dadf6
AC
156652011-08-02 Robert Dewar <dewar@adacore.com>
15666
15667 * sem_ch3.adb: Minor reformatting
15668 Minor comment addition
15669 Minor error msg text change
15670
156712011-08-02 Javier Miranda <miranda@adacore.com>
15672
15673 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
15674 function. Used to be more precise when we generate a variable plus one
15675 assignment to remove side effects in the evaluation of the Bound
15676 expressions.
15677 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
15678 of the bound expression to force its re-analysis and thus expand the
15679 associated transient scope (if required). Code cleanup replacing the
15680 previous code that declared the constant entity by an invocation to
15681 routine Force_Evaluation which centralizes this work in the frontend.
15682
d8b962d8
AC
156832011-08-02 Robert Dewar <dewar@adacore.com>
15684
15685 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
15686 (Base_Type): Now uses improved Is_Base_Type function
15687 * einfo.ads (Base_Type): Inline this function
15688
156892011-08-02 Robert Dewar <dewar@adacore.com>
15690
15691 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
15692 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
15693
156942011-08-02 Arnaud Charlet <charlet@adacore.com>
15695
15696 * gcc-interface/Make-lang.in: Update dependencies.
15697 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
15698 targets.
15699
157002011-08-02 Yannick Moy <moy@adacore.com>
15701
15702 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
15703 non-simple expression used in delta constraint
15704 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
15705 index constraint which is not a subtype mark
15706 * par.adb: With and use Restrict
15707 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
15708 mode on component type which is not a subtype mark and default
15709 expression on component
15710 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
15711 of string which does not have a lower index bound equal to 1
15712 (Array_Type_Declaration): issue an error in formal mode on index or
15713 component type which is not a subtype mark, and on aliased keyword on
15714 component
15715 (Derived_Type_Declaration): issue an error in formal mode on interface,
15716 limited or abstract type
15717 (Record_Type_Declaration): issue an error in formal mode on interface
15718 (Record_Type_Definition): issue an error in formal mode on tagged types
15719 and type extensions not declared in the specification of a library unit
15720 package; on null non-tagged record; on variant part
15721
157222011-08-02 Vincent Celier <celier@adacore.com>
15723
15724 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
15725 not declared for qualified library project when Library_Name is not
15726 declared, but Library_Dir is.
15727
157282011-08-02 Robert Dewar <dewar@adacore.com>
15729
15730 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
15731 pragmas (affects aspects [Component_]Default_Value
15732 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
15733 component type for the resolution
15734
f96b2d85
AC
157352011-08-02 Eric Botcazou <ebotcazou@adacore.com>
15736
15737 * einfo.adb (Base_Type): Tune implementation for speed.
15738
157392011-08-02 Robert Dewar <dewar@adacore.com>
15740
15741 * freeze.adb: Minor reformatting.
15742
8b3c6430
AC
157432011-08-02 Thomas Quinot <quinot@adacore.com>
15744
15745 * scos.ads: Update comments.
15746
157472011-08-02 Ed Schonberg <schonberg@adacore.com>
15748
15749 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
15750 base type, because the parent may be a subtype of a private type whose
15751 convention is established in a private part.
15752
157532011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
15754
15755 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
15756 statement in a block when the expansion of the return expression has
15757 created a finalization chain.
15758 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
15759 with the parent node.
15760 Add N_Extended_Return_Statement to handle the case where a transient
15761 object declaration appears in the Return_Object_Declarations list of
15762 an extended return statement.
15763
157642011-08-02 Matthew Gingell <gingell@adacore.com>
15765
15766 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
15767 unused parameter 'name'.
15768
157692011-08-02 Ed Schonberg <schonberg@adacore.com>
15770
15771 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
15772 inherited operation, check whether its alias, which is the source
15773 operastion that it renames, has been marked eliminated.
15774
cae81f17
JM
157752011-08-02 Javier Miranda <miranda@adacore.com>
15776
15777 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
15778 in-mode parameter whose type is an access type since it can be used to
15779 modify its designated object. Enforce code that handles as safe an
15780 access type that is not access-to-constant but it is the result of a
15781 previous removal of side-effects.
15782 (Remove_Side_Effects): Minor code reorganization of cases which require
15783 no action. Done to incorporate documentation on new cases uncovered
15784 working in this ticket: no action needed if this routine was invoked
15785 too early and the nodes are not yet decorated.
15786 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
15787 to routine Remove_Side_Effects by calls to Force_Evaluation since they
15788 were issued with actuals that are implicitly provided by
15789 Force_Evaluation.
15790
218e6dee
RD
157912011-08-02 Robert Dewar <dewar@adacore.com>
15792
15793 * sem_ch3.adb, sem_res.adb: Minor reformatting.
15794
7a489a2b
AC
157952011-08-02 Yannick Moy <moy@adacore.com>
15796
15797 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
15798 to issue an error in formal mode on attribute not supported in this mode
15799 (Analyze_Attribute): issue errors on standard attributes not supported
15800 in formal mode.
15801 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
15802 comment, and issue error in formal mode on modulus which is not a power
15803 of 2.
15804 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
15805 range.
15806 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
15807 subtype mark.
15808 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
15809 operator on modular type (except 'not').
15810
158112011-08-02 Robert Dewar <dewar@adacore.com>
15812
15813 * gnat_rm.texi: Minor reformatting.
15814
cb7fa356
AC
158152011-08-02 Arnaud Charlet <charlet@adacore.com>
15816
15817 * s-osinte-linux.ads: Minor comment update and reformatting.
15818 * i-cexten.ads: Make this unit pure, as for its parent.
15819 Will allow its usage in more contexts if needed.
15820
158212011-08-02 Robert Dewar <dewar@adacore.com>
15822
15823 * s-utf_32.ads: Minor comment fix.
15824
158252011-08-02 Ed Schonberg <schonberg@adacore.com>
15826
15827 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
15828 operation of a tagged synchronized type, handle the case where the
15829 controlling argument is overloaded.
15830
158312011-08-02 Yannick Moy <moy@adacore.com>
15832
15833 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
15834 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
15835 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
15836 SPARK mode and formal verification mode on processing SPARK restriction
15837 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
15838 requiring consistency checking.
15839
5cc9353d
RD
158402011-08-02 Robert Dewar <dewar@adacore.com>
15841
15842 * sem_res.adb: Minor reformatting.
15843
e51537ff
RD
158442011-08-02 Robert Dewar <dewar@adacore.com>
15845
15846 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
15847 a-cforse.ads: Remove unneeded with of Ada.Containers
15848 Remove commented out pragma Inline's
15849 Move specifications of new subprograms to the actual specs
15850
83fa09c5
AC
158512011-08-02 Yannick Moy <moy@adacore.com>
15852
15853 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
15854 a-cforse.ads: Update comments.
15855
158562011-08-02 Ed Schonberg <schonberg@adacore.com>
15857
15858 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
15859
d11cfaf8
RD
158602011-08-02 Robert Dewar <dewar@adacore.com>
15861
15862 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
15863 a-cforse.ads, a-cofove.ads: Minor reformatting.
15864
300b98bb
AC
158652011-08-02 Claire Dross <dross@adacore.com>
15866
15867 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
15868 a-cofove.ads: Add comments.
15869
158702011-08-02 Yannick Moy <moy@adacore.com>
15871
15872 * gnat_rm.texi: Document formal containers.
15873
158742011-08-02 Emmanuel Briot <briot@adacore.com>
15875
15876 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
15877 are empty sections.
15878
19fb051c
AC
158792011-08-02 Robert Dewar <dewar@adacore.com>
15880
15881 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
15882 reformatting.
15883
158842011-08-02 Robert Dewar <dewar@adacore.com>
15885
15886 * aspects.adb: New aspects Default_Value and Default_Component_Value
15887 New format of Aspect_Names table checks for omitted entries
15888 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
15889 handling of boolean aspects for derived types.
15890 New aspects Default_Value and Default_Component_Value
15891 New format of Aspect_Names table checks for omitted entries
15892 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
15893 (Has_Default_Value): New flag
15894 (Has_Default_Component_Value): New flag
15895 (Has_Default_Value): New flag
15896 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
15897 table.
15898 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
15899 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
15900 Default_Value and Default_Component_Value
15901 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
15902 New aspects Default_Value and Default_Component_Value
15903 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
15904 * sprint.adb: Print N_Aspect_Specification node when called from gdb
15905
159062011-08-02 Vincent Celier <celier@adacore.com>
15907
15908 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
15909 inherit library kind.
15910
159112011-08-02 Ed Schonberg <schonberg@adacore.com>
15912
15913 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
15914 Minor reformatting.
15915
159162011-08-02 Robert Dewar <dewar@adacore.com>
15917
15918 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
15919
5f7747af
AC
159202011-08-02 Yannick Moy <moy@adacore.com>
15921
15922 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
15923
159242011-08-02 Robert Dewar <dewar@adacore.com>
15925
15926 * impunit.adb: Add comment.
15927
a5fe697b
AC
159282011-08-02 Yannick Moy <moy@adacore.com>
15929
15930 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
15931 qualification of aggregates in formal mode
15932 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
15933 another aggregate
15934 (Resolve_Aggregate): complete the test that an aggregate is adequately
15935 qualified in formal mode
15936
159372011-08-02 Pascal Obry <obry@adacore.com>
15938
15939 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
15940 * mlib-prj.adb: Supress warning when compiling binder generated file.
15941 (Build_Library): Supress all warnings when compiling the binder
15942 generated file.
15943
bd65a2d7 159442011-08-02 Yannick Moy <moy@adacore.com>
d4487611 15945
bd65a2d7
AC
15946 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
15947 from here...
15948 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
15949 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
15950 Add with/use clauses to make Check_Formal_Restriction visible
15951
159522011-08-02 Ed Schonberg <schonberg@adacore.com>
15953
15954 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
15955 in-parameters when type of the generic formal is private in the generic
15956 spec and non-private in the body.
15957
159582011-08-02 Claire Dross <dross@adacore.com>
15959
15960 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
15961 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
15962 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
15963 * impunit.adb, Makefile.rtl: Take new files into account.
d4487611
AC
15964
159652011-08-02 Robert Dewar <dewar@adacore.com>
15966
15967 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
15968 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
15969
bd434b3f
YM
159702011-08-02 Yannick Moy <moy@adacore.com>
15971
15972 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
15973 formal mode
15974 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
15975 matching static array bounds, taking into account the special case of
15976 string literals
15977 * sem_ch3.adb: Typo in comment.
15978
fe5d3068
YM
159792011-08-02 Yannick Moy <moy@adacore.com>
15980
15981 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
15982 which issues an error in formal mode if its argument node is originally
15983 from source
15984 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
15985 has a discriminant specification so that it does not include the case
15986 of derived types
15987 (Derived_Type_Declaration): move here the test that a derived type has a
15988 discriminant specification
15989 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
15990 first element of a component association before accessing its choices
15991 (presence of component association is not enough)
15992 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
15993 declaration is a library item before accessing the next element in a
15994 list, as library items are not member of lists
15995 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
15996 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
15997 Check_Formal_Restriction whenever possible.
15998
b60a3f26
AC
159992011-08-02 Ed Schonberg <schonberg@adacore.com>
16000
16001 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
16002 reference when needed.
16003
160042011-08-02 Bob Duff <duff@adacore.com>
16005
16006 * gnat_ugn.texi: Fix typo.
16007
160082011-08-02 Vincent Celier <celier@adacore.com>
16009
16010 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
16011 archive file name. Do not use the full path name of archives for Open
16012 VMS.
16013
eaba57fb
RD
160142011-08-02 Robert Dewar <dewar@adacore.com>
16015
16016 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
16017 Analyze_Aspect_Specifications
16018 * sem_ch13.adb
16019 (Analyze_Aspect_Specifications): New handling for boolean aspects
16020 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
16021 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
16022 sequence for Analyze_Aspect_Specifications
16023 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
16024 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
16025
160262011-08-02 Robert Dewar <dewar@adacore.com>
16027
16028 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
16029 aspects, since these no longer exist.
16030
160312011-08-02 Robert Dewar <dewar@adacore.com>
16032
16033 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
16034 semicolon, do not try to see if there are aspects following it.
16035 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
16036 aspect spec.
16037
8830d1d2
AC
160382011-08-02 Robert Dewar <dewar@adacore.com>
16039
16040 * sem_ch8.adb, aspects.ads: Minor reformatting.
16041
160422011-08-02 Eric Botcazou <ebotcazou@adacore.com>
16043
16044 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
16045 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
16046 extracted from...
16047 (Analyze_Aspect_Specifications): ...here. Call above procedure.
16048
7ff2d234
AC
160492011-08-02 Yannick Moy <moy@adacore.com>
16050
16051 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
16052 mode on subprogram declaration outside of package specification, unless
16053 it is followed by a pragma Import
16054 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
16055 Access_Type_Declaration): issue error in formal mode on access type
16056 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
16057 incomplete type
16058 (Analyze_Object_Declaration): issue error in formal mode on object
16059 declaration which does not respect SPARK restrictions
16060 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
16061 declaration which does not respect SPARK restrictions
16062 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
16063 error in formal mode on digits or delta constraint
16064 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
16065 decimal fixed point type
16066 (Derived_Type_Declaration): issue error in formal mode on derived type
16067 other than type extensions of tagged record types
16068 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
16069 with check on access definition
16070 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
16071 mode on protected definition.
16072 (Analyze_Task_Definition): issue error in formal mode on task definition
16073
160742011-08-02 Robert Dewar <dewar@adacore.com>
16075
16076 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
16077
806f6d37
AC
160782011-08-02 Javier Miranda <miranda@adacore.com>
16079
16080 * sem_ch6.adb (Can_Override_Operator): New function.
16081 (Verify_Overriding_Indicator): Add missing code to check overriding
16082 indicator in operators. Fixes regression.
16083 (Check_Overriding_Indicator): Minor reformating after replacing the
16084 code that evaluates if the subprogram can override an operator by
16085 invocations to the above new function.
16086 * einfo.adb
16087 (Write_Field26_Name): Add missing code to ensure that, following
16088 the documentation in einfo.ads, this field is not shown as attribute
16089 "Static_Initialization" on non-dispatching functions.
16090
160912011-08-02 Jose Ruiz <ruiz@adacore.com>
16092
16093 * sem_res.adb (Resolve_Call): A call to
16094 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
16095 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
16096 i.e., when the second parameter is of type Time_Span.
16097
160982011-08-02 Vincent Celier <celier@adacore.com>
16099
16100 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
16101 with an archive instead of -L<library dir> -l<library name>.
16102
161032011-08-02 Ed Schonberg <schonberg@adacore.com>
16104
16105 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
16106 mark the base types In_Use in addition to making the operations
16107 use_visible.
16108
161092011-08-02 Ed Falis <falis@adacore.com>
16110
16111 * init.c: add and setup __gnat_signal_mask for the exception signals
16112 * s-inmaop-vxworks.adb: new file.
16113 * s-intman-vxworks.adb: remove unnecessary initializations and
16114 simplify remaining
16115 * s-intman-vxworks.ads: remove unnecessary variable
16116 * s-taprop-vxworks.adb: simplify signal initialization
16117
780d052e
RD
161182011-08-02 Robert Dewar <dewar@adacore.com>
16119
16120 * sem_ch8.adb: Minor code reorganization, comment updates.
16121
161222011-08-02 Robert Dewar <dewar@adacore.com>
16123
16124 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
16125 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
16126 here from Sem_Res.
16127 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
16128 (Matching_Static_Array_Bounds): Moved here from Sem_Res
16129
29efbb8c
ES
161302011-08-02 Ed Schonberg <schonberg@adacore.com>
16131
16132 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
16133 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
16134 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
16135 use_type_clauses, to handle more efficiently use_type and use_all_type
16136 constructs.
16137 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
16138 Ada2012 Use_All_Type clause.
16139 (Use_Class_Wide_Operations): new procedure.
16140
b0186f71
AC
161412011-08-02 Robert Dewar <dewar@adacore.com>
16142
16143 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
16144 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
16145 expression to expression function.
16146
161472011-08-02 Ed Schonberg <schonberg@adacore.com>
16148
16149 * sem_ch4.adb: transform simple Ada2012 membership into equality only
16150 if types are compatible.
16151
161522011-08-02 Yannick Moy <moy@adacore.com>
16153
16154 * sem_res.adb (Matching_Static_Array_Bounds): new function which
16155 returns True if its argument array types have same dimension and same
16156 static bounds at each index.
16157 (Resolve_Actuals): issue an error in formal mode on actuals passed as
16158 OUT or IN OUT paramaters which are not view conversions in SPARK.
16159 (Resolve_Arithmetic_Op): issue an error in formal mode on
16160 multiplication or division with operands of fixed point types which are
16161 not qualified or explicitly converted.
16162 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
16163 Boolean or array type (except String) operands.
16164 (Resolve_Equality_Op): issue an error in formal mode on equality
16165 operators for array types other than String with non-matching static
16166 bounds.
16167 (Resolve_Logical_Op): issue an error in formal mode on logical operators
16168 for array types with non-matching static bounds. Factorize the code in
16169 Matching_Static_Array_Bounds.
16170 (Resolve_Qualified_Expression): issue an error in formal mode on
16171 qualified expressions for array types with non-matching static bounds.
16172 (Resolve_Type_Conversion): issue an error in formal mode on type
16173 conversion for array types with non-matching static bounds
16174
767bb4e8
AC
161752011-08-02 Robert Dewar <dewar@adacore.com>
16176
16177 * par-ch10.adb: Minor code reorganization (use Nkind_In).
16178
161792011-08-02 Ed Schonberg <schonberg@adacore.com>
16180
16181 * par-ch9.adb: save location of entry for proper error message.
16182
4ac2477e
JM
161832011-08-02 Javier Miranda <miranda@adacore.com>
16184
16185 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
16186 (Use_Full_View) which permits this routine to climb through the
16187 ancestors using the full-view of private parents.
16188 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
16189 Use_Full_View to true in calls to Is_Ancestor.
16190 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
16191 true in call to Is_Ancestor.
16192 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
16193 Use_Full_View to true in call to Is_Ancestor.
16194 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
16195 call to Is_Ancestor.
16196 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
16197 Use_Full_View to true in calls to Is_Ancestor.
16198 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
16199 Make_Select_Specific_Data_Table, Register_Primitive,
16200 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
16201 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
16202 to true in call to Is_Ancestor.
16203 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
16204 Use_Full_View to true in calls to Is_Ancestor.
16205 * exp_cg.adb
16206 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
16207 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
16208
9f90d123
AC
162092011-08-02 Robert Dewar <dewar@adacore.com>
16210
16211 * gnat_rm.texi: Minor reformatting.
16212 * sem_prag.adb: Minor reformatting.
16213
162142011-08-02 Tristan Gingold <gingold@adacore.com>
16215
16216 * vms_data.ads: Add VMS qualifier for -gnateP.
16217
162182011-08-02 Robert Dewar <dewar@adacore.com>
16219
16220 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
16221 * par-ch7.adb (P_Package): Proper placement of aspects for package
16222 decl/instantiation.
16223 * par-endh.adb (Check_End): Ad Is_Sloc parameter
16224 (End_Statements): Add Is_Sloc parameterr
16225 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
16226 (Check_End): Ad Is_Sloc parameter
16227 (End_Statements): Add Is_Sloc parameterr
16228
162292011-08-02 Vincent Celier <celier@adacore.com>
16230
16231 * ug_words: Add VMS qualifier equivalent to -gnateP:
16232 /SYMBOL_PREPROCESSING.
16233
162342011-08-02 Jose Ruiz <ruiz@adacore.com>
16235
16236 * gnat-style.texi: For hexadecimal numeric literals the typical
16237 grouping of digits is 4 to represent 2 bytes.
16238 A procedure spec which is split into several lines is indented two
16239 characters.
16240
162412011-08-02 Yannick Moy <moy@adacore.com>
16242
16243 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
16244 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
16245 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
16246 properly qualified
16247 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
16248 choice in array aggregate
16249 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
16250 mark as ancestor
16251 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
16252 positional and named aggregate for record, or others in record
16253 aggregate, or multiple choice in record aggregate
16254 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
16255 array operands to logical operations AND, OR and XOR do not have the
16256 same static lower and higher bounds
16257 * sem_ch5.adb, sinfo.ads: Correct typos in comments
16258
2933b16c
RD
162592011-08-01 Robert Dewar <dewar@adacore.com>
16260
16261 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
16262 Replaces Last_Source_Node_In_Sequence.
16263 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
16264 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
16265 parens and blank in string (this was inconsistently implemented).
16266 * errout.ads
16267 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
16268 blank in string (this was inconsistently implemented).
16269 * gnat1drv.adb
16270 (Set_Global_Switches): Set formal mode switches appropriately
16271 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
16272 * par-prag.adb
16273 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
16274 call Set_Error_Msg_Lang to set "spark" as language name.
16275 * par.adb: Remove unnecessary call to set formal language for errout
16276 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
16277 appropriately and call Set_Error_Msg_Lang to set "spark" as language
16278 name.
16279 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
16280 calls to it, moved after resolution so that types are known
16281 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
16282 result of concatenation is not of type String
16283 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
16284 concatenation is not properly restricted
16285 * gnat_rm.texi: Add doc on pragma Spark_95.
16286 * gcc-interface/Makefile.in: Remove obsolete target pairs for
16287 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
16288 * gcc-interface/Make-lang.in: Update dependencies.
16289
05dbd302
AC
162902011-08-01 Javier Miranda <miranda@adacore.com>
16291
16292 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
16293 condition that detects if the overridden operation must replace an
16294 existing entity.
16295
162962011-08-01 Javier Miranda <miranda@adacore.com>
16297
16298 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
16299 code declarations inserted by Insert_Actions in each alternative of the
16300 N_Case_Expression node.
16301
163022011-08-01 Robert Dewar <dewar@adacore.com>
16303
16304 * sem_ch6.adb: Minor code reorganization.
16305 * sem_util.adb: Minor reformatting.
16306
af9e051f
PO
163072011-08-01 Pascal Obry <obry@adacore.com>
16308
16309 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
16310 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
16311
1d801f21
AC
163122011-08-01 Yannick Moy <moy@adacore.com>
16313
16314 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
16315 literal or operator symbol which is prefixed
16316 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
16317 mode on access attributes.
16318 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
16319 that concatenation operands are properly restricted in formal mode
16320 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
16321 Analyze_Concatenation_Operand. Issue an error in formal mode if the
16322 result of the concatenation has a type different from String.
16323 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
16324 Analyze_Quantified_Expression, Analyze_Slice,
16325 Analyze_Null): issue an error in formal mode on unsupported constructs
16326 * sem_ch5.adb
16327 (Analyze_Block_Statement): only issue error on source block statement
16328 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
16329 function which returns the last node in a list of nodes for which
16330 Comes_From_Source returns True, if any
16331 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
16332 Last_Source_Node_In_Sequence
16333 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
16334 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
16335 mode on unsupported constructs
16336 * sem_ch9.adb Do not return after issuing error in formal mode, as the
16337 rest of the actions may be needed later on since the error is marked as
16338 not serious.
16339 * sinfo.ads: Typos in comments.
16340
163412011-08-01 Pascal Obry <obry@adacore.com>
16342
16343 * projects.texi: Minor editing.
16344
53beff22
YM
163452011-08-01 Yannick Moy <moy@adacore.com>
16346
16347 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
16348 insertion character ~~
16349 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
16350 (Set_Error_Msg_Lang): new procedure which fixes the language for use
16351 with insertion character ~~
16352 (Set_Msg_Text): treat insertion character ~~
16353 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
16354 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
16355 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
16356 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
16357 errors related to the formal language restriction not serious
16358 (insertion character |).
16359 * par.adb (Par): set formal language for error messages if needed
16360 * sem_ch6.adb (Check_Missing_Return): take into account possible
16361 generated statements at the end of the function
16362 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
16363 enumeration value to define a new pragma SPARK_95
16364 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
16365 SPARK_Version): new type and variables to store the SPARK version
16366 (none by default).
16367 (SPARK_Mode): return True when SPARK_Version is set
16368 * par-prag.adb: Correct indentation
16369 (Prag): take Pragma_SPARK_95 into account
16370 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
16371 into account.
16372
8d606a78
RD
163732011-08-01 Robert Dewar <dewar@adacore.com>
16374
16375 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
16376 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
16377 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
16378
1982d5a8
PO
163792011-08-01 Pascal Obry <obry@adacore.com>
16380
16381 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
16382 Target_Name to Get_Path call.
16383 (Parse_Single_Project): Likewise.
16384 (Post_Parse_Context_Clause): Likewise.
16385 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
16386 Call Initialise_Project_Path with the proper Target_Name.
16387 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
16388 search path.
16389 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
16390 with the proper Target_Name.
16391 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
16392 Part.Parse routine.
16393 (Parse_Project_And_Apply_Config): Likewise.
16394 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
16395 This is fine as this part of the code is supporting only native
16396 compilation.
16397 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
16398 is fine as this part of the code is supporting only native compilation.
16399
0d53d36b
AC
164002011-08-01 Yannick Moy <moy@adacore.com>
16401
16402 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
16403 of homonym, unless the homonym is one of the cases allowed in SPARK
16404 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
16405 package declaration occurring after a body.
16406
164072011-08-01 Robert Dewar <dewar@adacore.com>
16408
16409 * checks.adb, exp_ch4.adb: Minor reformatting.
16410
164112011-08-01 Javier Miranda <miranda@adacore.com>
16412
16413 * einfo.ads (Access_Disp_Table): Fix documentation.
16414 (Dispatch_Table_Wrappers): Fix documentation.
16415
164162011-08-01 Pascal Obry <obry@adacore.com>
16417
16418 * prj-env.adb, prj-env.ads: Minor reformatting.
16419
8ed68165
AC
164202011-08-01 Yannick Moy <moy@adacore.com>
16421
16422 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
16423 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
16424 procedures out of these packages.
2c7f9cc0 16425 * errout.ads, errout.adb
8ed68165
AC
16426 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
16427 procedures in of this package
16428 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
16429 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
16430 on misplaced later vs initial declarations, like in Ada 83
16431 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
16432 formal mode on attribute of private type whose full type declaration
16433 is not visible
16434 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
16435 package declaration inside a package specification
16436 (Analyze_Full_Type_Declaration): issue error in formal mode on
16437 controlled type or discriminant type
16438 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
16439 user-defined operator means that it should come from the source
16440 (New_Overloaded_Entity): issue error in formal mode on overloaded
16441 entity.
16442 * sem_ch6.ads, sem_ch13.ads: typos in comments.
16443
164442011-08-01 Thomas Quinot <quinot@adacore.com>
16445
16446 * atree.adb: Minor reformatting.
16447 * checks.adb: Minor reformatting.
16448
4230bdb7
AC
164492011-08-01 Vincent Celier <celier@adacore.com>
16450
16451 * s-parame-vms-ia64.ads: Fix typo in comment
16452 Minor reformatting
16453 * s-parame-vms-restrict.ads: Removed, unused.
16454
164552011-08-01 Javier Miranda <miranda@adacore.com>
16456
16457 * exp_ch3.adb
16458 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
16459 * sem_ch3.adb
16460 (Constrain_Index): Remove side effects in the evaluation of the bounds.
16461 * sem_ch3.ads, sem_ch3.adb
16462 (Is_Constant_Bound): New extended version of the subprogram that was
16463 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
16464 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
16465 * sem_aux.ads (Constant_Value): Fix typo in comment.
16466 * checks.adb (Generate_Index_Checks): New implementation which, for
16467 array objects with constant bounds, generates the runtime check
16468 referencing the bounds of the array type. For other cases this routine
16469 provides its previous behavior obtaining such values from the array
16470 object.
16471 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
16472 parent type.
16473 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
16474 we cannot have semantic interpretations of the new node.
16475
2010d078
AC
164762011-08-01 Ed Schonberg <schonberg@adacore.com>
16477
16478 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
16479 expressions.
16480
164812011-08-01 Arnaud Charlet <charlet@adacore.com>
16482
16483 * sem_ch8.adb: Minor code editing.
16484 * s-vxwext.adb: Remove trailing space.
16485 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
16486 consistency with other files.
16487
164882011-08-01 Thomas Quinot <quinot@adacore.com>
16489
16490 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
16491
164922011-08-01 Ed Schonberg <schonberg@adacore.com>
16493
16494 * par-ch10.adb: reject parameterized expressions as compilation unit.
16495 * sem_ch4.adb: handle properly conditional expression with overloaded
16496 then_clause and no else_clause.
16497
164982011-08-01 Tristan Gingold <gingold@adacore.com>
16499
16500 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
16501 like done by System.Aux_DEC.
16502 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
16503
daec8eeb
YM
165042011-08-01 Yannick Moy <moy@adacore.com>
16505
16506 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
16507 missing label at end of declaration (subprogram or package)
16508 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
16509 of positional and named parameter association
16510 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
16511 Error_Msg_SP which adds a prefix to the error message giving the name
16512 of the formal language analyzed
16513 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
16514 access result type in subprogram, unconstrained array as result type,.
16515 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
16516 procedure
16517 * sem_ch8.adb: Code clean up.
16518
38171f43
AC
165192011-08-01 Javier Miranda <miranda@adacore.com>
16520
16521 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
16522 * einfo.ads (Access_Disp_Table): Fix documentation.
16523 (Dispatch_Table_Wrappers): Fix documentation.
16524 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
16525 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
16526 to enforce the documentation of this attribute.
16527 (Set_Is_Interface): Cleanup the assertion.
16528 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
16529 the Underlying_Type entity before reading attribute Access_Disp_Table.
16530 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
16531 Locate the Underlying_Type before reading attribute Access_Disp_Table.
16532 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
16533 the Underlying_Type entity before reading attribute Access_Disp_Table.
16534 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
16535 Locate the Underlying_Type entity before reading attribute
16536 Access_Disp_Table.
16537
165382011-08-01 Ed Schonberg <schonberg@adacore.com>
16539
16540 * s-poosiz.ads: Additional overriding indicators.
16541
165422011-08-01 Yannick Moy <moy@adacore.com>
16543
16544 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
16545 formal mode.
16546 (Analyze_Iteration_Scheme): issue error in formal mode when loop
16547 parameter specification does not include a subtype mark.
16548 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
16549 formal mode on abstract subprogram.
16550 (Analyze_Subprogram_Specification): issue error in formal mode on
16551 user-defined operator.
16552 (Process_Formals): issue error in formal mode on access parameter and
16553 default expression.
16554 * sem_ch9.adb (Analyze_Abort_Statement,
16555 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
16556 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
16557 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
16558 Analyze_Requeue, Analyze_Selective_Accept,
16559 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
16560 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
16561 issue error in formal mode on user-defined raise statement.
16562
1f250383
AC
165632011-08-01 Thomas Quinot <quinot@adacore.com>
16564
16565 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
16566 declaration being hidden when overriding an implicit inherited
16567 subprogram.
16568 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
16569 (-gnats), do not complain about a source file that contains only a
16570 pragma No_Body.
16571
165722011-08-01 Ed Schonberg <schonberg@adacore.com>
16573
16574 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
16575 variable if already set.
16576
607d0635
AC
165772011-08-01 Arnaud Charlet <charlet@adacore.com>
16578
16579 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
16580 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
16581 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
16582 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
16583 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
16584 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
16585 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
16586 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
16587 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
16588 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
16589 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
16590 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
16591 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
16592 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
16593 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
16594 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
16595 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
16596 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
16597 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
16598 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
16599 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
16600 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
16601 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
16602 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
16603 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
16604 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
16605 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
16606 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
16607 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
16608 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
16609 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
16610 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
16611 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
16612 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
16613 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
16614 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
16615 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
16616 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
16617 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
16618 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
16619 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
16620 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
16621 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
16622 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
16623 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
16624 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
16625 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
16626 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
16627 s-osinte-mingw.ads: Update to GPLv3 run-time license.
16628 Use GNAT instead of GNARL.
16629
166302011-08-01 Bob Duff <duff@adacore.com>
16631
16632 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
16633 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
16634 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
16635 reformatting.
16636
166372011-08-01 Yannick Moy <moy@adacore.com>
16638
16639 * debug.adb (d.D) reverve flag for the SPARK mode
16640 (d.E) reverve flag for SPARK generation mode
16641 (d.F) reverve flag for Why generation mode
2c7f9cc0 16642 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
607d0635
AC
16643 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
16644 functions which return True when the corresponding modes are set
16645 (Formal_Language): return "spark" or "alfa" when in formal verification
16646 mode.
16647 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
16648 Error_Msg to prefix the error message with a tag giving the formal
16649 language
16650 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
16651 message with a tag giving the formal language
16652 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
16653 block statement
16654 (Analyze_Case_Statement): issue error in formal mode on case statement
16655 with a single "others" case alternative
16656 (Analyze_Exit_Statement): issue errors in formal mode on exit
16657 statements which do not respect SPARK restrictions
16658 (Analyze_Goto_Statement): issue error in formal mode on goto statement
16659 (Check_Unreachable_Code): always issue an error (not a warning) in
16660 formal mode on unreachable code (concerns both code after an infinite
16661 loop and after an unconditional jump, both not allowed in SPARK)
16662 * sem_ch6.adb (Analyze_Return_Statement): add call to
16663 Set_Return_Present for a procedure containing a return statement
16664 (already done for functions in Analyze_Function_Return)
16665 (Analyze_Function_Return): issue error in formal mode on extended
16666 return or if return is not last statement in function
16667 (Check_Missing_Return): issue error in formal mode if function does
16668 not end with return or if procedure contains a return
16669 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
16670 function to detect if there is an inner scope of its parameter S which
16671 is a loop.
16672
166732011-08-01 Thomas Quinot <quinot@adacore.com>
16674
16675 * sem_ch6.ads: Minor reformatting.
16676
d8b3ccb9
AC
166772011-08-01 Javier Miranda <miranda@adacore.com>
16678
16679 * sem_util.adb (Abstract_Interface_List): Complete condition when
16680 processing private type declarations to avoid reading unavailable
16681 attribute.
16682 (Is_Synchronized_Tagged_Type): Complete condition when processing
16683 private extension declaration nodes to avoid reading unavailable
16684 attribute.
16685
166862011-08-01 Thomas Quinot <quinot@adacore.com>
16687
16688 * sem_ch3.adb: Minor reformatting.
16689
166902011-08-01 Thomas Quinot <quinot@adacore.com>
16691
16692 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
16693 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
16694 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
16695 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
16696 for VMS, instead parametrize the common implementation with
16697 System.Parameters declarations.
16698
0bb9276c
AC
166992011-08-01 Eric Botcazou <ebotcazou@adacore.com>
16700
16701 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
16702
167032011-08-01 Tristan Gingold <gingold@adacore.com>
16704
16705 * seh_init.c: Fix SEH handler installation on win64.
16706
167072011-08-01 Ed Schonberg <schonberg@adacore.com>
16708
16709 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
16710 double analysis of an anonymous access to subprogram, because it can
16711 lead to improper sharing of profiles and a back-end crash.
16712
6a2e4f0b
AC
167132011-08-01 Robert Dewar <dewar@adacore.com>
16714
16715 * make.adb, sem_ch4.adb: Minor reformatting.
16716 * gcc-interface/Make-lang.in: Update dependencies.
16717 * sem_util.adb, exp_ch5.adb: Minor reformatting.
16718
167192011-08-01 Arnaud Charlet <charlet@adacore.com>
16720
16721 * gnat_rm.texi: Fix definition of Long_Integer.
16722
167232011-08-01 Ed Schonberg <schonberg@adacore.com>
16724
16725 * exp_aggr.adb: check limit size of static aggregate unconditionally,
16726 to prevent storage exhaustion.
16727 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
16728 finalized is a function body, insert the cleanup code before the final
16729 return statement, to prevent spurious warnings.
16730 * s-pooglo.ads: add overriding indicator.
16731
4561baf7
ES
167322011-08-01 Ed Schonberg <schonberg@adacore.com>
16733
16734 * sem_ch4.adb (Operator_Check): improve error message when both a
16735 with_clause and a use_clause are needed to make operator usage legal.
16736 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
16737 determine whether a compilation unit is visible within an other,
16738 either through a with_clause in the current unit, or a with_clause in
16739 its library unit or one one of its parents.
16740
383e179e
AC
167412011-08-01 Ed Schonberg <schonberg@adacore.com>
16742
16743 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
16744 over an arbitrary expression of an array or container type.
16745 * lib-xref.adb: clarify comment.
16746
167472011-08-01 Bob Duff <duff@adacore.com>
16748
16749 * einfo.ads: Minor reformatting.
16750 * debug.adb: Minor comment improvement.
16751
167522011-08-01 Javier Miranda <miranda@adacore.com>
16753
16754 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
16755 consider hidden subprograms as valid candidates.
16756
167572011-08-01 Arnaud Charlet <charlet@adacore.com>
16758
16759 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
16760
167612011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
16762
16763 * gnat_ugn.texi: Fix typo.
16764
61c161b2
AC
167652011-08-01 Robert Dewar <dewar@adacore.com>
16766
16767 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
16768 lib-xref.adb: Minor reformatting
16769
167702011-08-01 Gary Dismukes <dismukes@adacore.com>
16771
16772 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
16773 when to generate a call to Move_Final_List.
16774 (Has_Controlled_Parts): Remove this function.
16775
84df40f7
AC
167762011-08-01 Geert Bosch <bosch@adacore.com>
16777
16778 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
16779 "," in choice list.
16780
167812011-08-01 Thomas Quinot <quinot@adacore.com>
16782
16783 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
16784 explicit raise of a predefined exception as Comes_From_Source if the
16785 original N_Raise_Statement comes from source.
16786
167872011-08-01 Robert Dewar <dewar@adacore.com>
16788
16789 * sinfo.ads: Add comment.
16790 * sem_ch6.adb: Minor reformatting.
16791
167922011-08-01 Robert Dewar <dewar@adacore.com>
16793
16794 * freeze.adb (Freeze_Entity): Refine check for bad component size
16795 clause to avoid rejecting confirming clause when atomic/aliased present.
16796
167972011-08-01 Ed Schonberg <schonberg@adacore.com>
16798
16799 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
16800 better determine whether an entity reference is a write.
16801 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
16802 subcomponent.
16803 * lib-xref.adb (Output_References): Do no suppress a read reference at
16804 the same location as an immediately preceeding modify-reference, to
16805 handle properly in-out actuals.
16806
168072011-08-01 Tristan Gingold <gingold@adacore.com>
16808
16809 * env.c (__gnat_setenv) [VMS]: Refine previous change.
16810
168112011-08-01 Quentin Ochem <ochem@adacore.com>
16812
16813 * i-cstrin.adb (New_String): Changed implementation, now uses only the
16814 heap to compute the result.
16815
c7f0d2c0
AC
168162011-08-01 Robert Dewar <dewar@adacore.com>
16817
16818 * atree.ads: Minor reformatting.
16819
168202011-08-01 Emmanuel Briot <briot@adacore.com>
16821
16822 * g-expect.adb (Get_Command_Output): Fix memory leak.
16823
168242011-08-01 Geert Bosch <bosch@adacore.com>
16825
16826 * cstand.adb (P_Float_Type): New procedure to print the definition of
16827 predefined fpt types.
16828 (P_Mixed_Name): New procedure to print a name using mixed case
16829 (Print_Standard): Use P_Float_Type for printing floating point types
16830 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
16831 precision IEEE float.
16832
168332011-08-01 Thomas Quinot <quinot@adacore.com>
16834
16835 * sem_ch3.adb: Minor reformatting.
16836
168372011-08-01 Ed Schonberg <schonberg@adacore.com>
16838
16839 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
16840 the completion of a generic function, insert the new body rather than
16841 rewriting the original.
16842
168432011-08-01 Yannick Moy <moy@adacore.com>
16844
16845 * sinfo.ads, errout.ads: Typos in comments.
16846
1c54829e
AC
168472011-08-01 Robert Dewar <dewar@adacore.com>
16848
16849 * par-endh.adb: Minor reformatting.
16850
168512011-08-01 Robert Dewar <dewar@adacore.com>
16852
16853 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
16854 (Pre_Post_Aspects): New subtype.
16855 * par-ch12.adb (P_Generic): New syntax for aspects in packages
16856 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
16857 * par-ch7.adb (P_Package): Remove Decl parameter
16858 (P_Package): Handle new syntax for aspects (before IS)
16859 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
16860 new aspect syntax
16861 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
16862 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
16863 (P_Package): Remove Decl parameter
16864 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
16865 aspects
16866 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
16867 specs
16868 * sem_util.ads, sem_util.adb (Static_Boolean): New function
16869 * sinfo.ads: Document new syntax for aspects in packages etc.
16870 * sprint.adb: Handle new syntax of aspects before IS in package
16871
168722011-08-01 Thomas Quinot <quinot@adacore.com>
16873
16874 * atree.ads: Minor reformatting.
16875 * sem_prag.adb: Minor reformatting.
16876
168772011-08-01 Robert Dewar <dewar@adacore.com>
16878
16879 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
16880 case expr alternative.
16881
168822011-08-01 Ed Schonberg <schonberg@adacore.com>
16883
16884 * sem_ch12.adb: Fix typo.
16885
9eea4346
GB
168862011-08-01 Geert Bosch <bosch@adacore.com>
16887
16888 * sem_prag.adb (Check_No_Link_Name): New procedure.
16889 (Process_Import_Or_Interface): Use Check_No_Link_Name.
16890 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
16891 instead of Standard_Long_Long_Float_Size global. Preparation for
16892 eventual removal of per type constants.
16893 * exp_util.ads (Get_Stream_Size): New function returning the stream
16894 size value of subtype E.
16895 * exp_util.adb (Get_Stream_Size): Implement new function.
16896 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
16897 function.
16898 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
16899 * einfo.adb:
16900 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
16901
3d6c3bd7
GB
169022011-08-01 Geert Bosch <bosch@adacore.com>
16903
16904 * cstand.adb: Fix comments.
16905 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
16906 count of arguments.
16907
e7d897b8
AC
169082011-08-01 Robert Dewar <dewar@adacore.com>
16909
16910 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
16911
169122011-08-01 Geert Bosch <bosch@adacore.com>
16913
16914 * atree.ads: Fix comment.
16915
c228a069
AC
169162011-08-01 Robert Dewar <dewar@adacore.com>
16917
16918 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
16919 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
16920 * par.adb: Add with for Namet.Sp.
16921 * par-tchk.adb: Minor reformatting.
16922
169232011-08-01 Vincent Celier <celier@adacore.com>
16924
16925 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
16926 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
16927 of the init procedure of a SAL.
16928 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
16929 New procedure.
16930
169312011-08-01 Thomas Quinot <quinot@adacore.com>
16932
16933 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
16934 reformatting.
16935
169362011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16937
16938 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
16939
169402011-08-01 Thomas Quinot <quinot@adacore.com>
16941
16942 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
16943 conformant with its spec (return True only for types that have
16944 an overriding Initialize primitive operation that prevents them from
16945 having preelaborable initialization).
16946 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
16947 initialization for controlled types in Ada 2005 or later mode.
16948
857ade1b
RD
169492011-08-01 Robert Dewar <dewar@adacore.com>
16950
16951 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
16952 Postcondition.
16953 (Same_Aspect): New function.
16954 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
16955 Type_Invariant, Precondition, Postcondition.
16956 * snames.ads-tmpl: Add Name_Type_Invariant.
16957
bd949ee2
RD
169582011-08-01 Robert Dewar <dewar@adacore.com>
16959
16960 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
16961 here.
16962 (Freeze_All_Ent): Fix error in handling inherited aspects.
16963 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
16964 already analyzed, but don't skip entire processing of a declaration,
16965 that's wrong in some cases of declarations being rewritten.
16966 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
16967 Don't delay for integer, string literals
16968 Treat predicates in usual manner for delay, remove special case code,
16969 not needed.
16970 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
16971 (Build_Predicate_Function): Update saved expression in aspect
16972 (Build_Invariant_Procedure): Update saved expression in aspect
16973 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
16974 of replacement of discriminant references if the reference is simple.
16975
f1c952af
RD
169762011-08-01 Robert Dewar <dewar@adacore.com>
16977
16978 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
16979 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
16980 Static_Predicate and Dynamic_Predicate.
16981 (Build_Predicate_Function): Add processing for Static_Predicate
16982 and Dynamic_Predicate.
16983 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
16984 (From_Static_Predicate): New flag
16985 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
16986
169872011-08-01 Robert Dewar <dewar@adacore.com>
16988
16989 * usage.adb: Documentation cleanup for Ada version modes in usage.
16990 * expander.adb: Minor reformatting.
16991
47e11d08
AC
169922011-08-01 Robert Dewar <dewar@adacore.com>
16993
16994 * atree.ads: Minor comment fix.
16995 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
16996 a-witeio.ads, sem_prag.adb: Minor reformatting.
16997
169982011-08-01 Doug Rupp <rupp@adacore.com>
16999
17000 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
17001 pointers. Use descrip.h header file for convenience. Add some
17002 comments.
17003
170042011-08-01 Robert Dewar <dewar@adacore.com>
17005
17006 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
17007 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
17008 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
17009 New procedure.
17010 (Check_Aspect_At_End_Of_Declarations): New procedure
17011 (Analye_Aspect_Specification): Minor changes for above procedures
17012 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
17013 specification node as well.
17014
170152011-08-01 Pascal Obry <obry@adacore.com>
17016
17017 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
17018 Windows files. Use GetFilesAttributes() in this case to check for file
17019 existence instead of returning with an error code.
17020
a3a16b21
VC
170212011-08-01 Vincent Celier <celier@adacore.com>
17022
17023 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
17024 High is above Source length.
17025
ff58cc69
RD
170262011-08-01 Robert Dewar <dewar@adacore.com>
17027
17028 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
17029
6bb88533
AC
170302011-08-01 Robert Dewar <dewar@adacore.com>
17031
17032 * aspects.ads (Boolean_Aspects): New subtype.
17033 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
17034 for derived types in cases where the parent type and derived type have
17035 aspects.
17036 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
17037 with aspects when parent type also has aspects.
17038 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
17039 boolean expression at this point).
17040 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
17041 accordance with final decision on the Ada 2012 feature.
17042 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
17043
170442011-08-01 Matthew Heaney <heaney@adacore.com>
17045
17046 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
17047
060a3f28
AC
170482011-08-01 Pascal Obry <obry@adacore.com>
17049
17050 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
17051 Fix Replace_Slice when High is above current string size.
17052 (Replace_Slice): Fix DL computation when High is above current
17053 string length.
17054
170552011-08-01 Gary Dismukes <dismukes@adacore.com>
17056
17057 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
17058
e7f567a3
AC
170592011-08-01 Matthew Heaney <heaney@adacore.com>
17060
17061 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
17062 of node.
17063
170642011-08-01 Pascal Obry <obry@adacore.com>
17065
17066 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
17067 reformatting.
17068
1a265e78
AC
170692011-08-01 Ed Schonberg <schonberg@adacore.com>
17070
17071 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
17072 access to protected subprograms in generic bodies.
17073 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
17074 protected type, indicate that the convention of the subprogram is
17075 Convention_Protected, because it may be used in subsequent declarations
17076 within the protected declaration.
17077
170782011-08-01 Vincent Celier <celier@adacore.com>
17079
17080 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
17081 and "final" procedures when the name of the library is "ada", to avoid
17082 duplicate symbols "adainit" and "adafinal" in executables.
17083
67e28ef8
ES
170842011-08-01 Ed Schonberg <schonberg@adacore.com>
17085
17086 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
17087 quantified expression that appears within a postcondition and uses the
17088 Ada2012 'Result attribute.
17089
6da2ca7d
RO
170902011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17091
17092 * init.c (__gnat_error_handler): Cast reason to int.
17093 (__gnat_install_handler): Explain sa_sigaction use.
17094
7d5997c6
EB
170952011-07-24 Eric Botcazou <ebotcazou@adacore.com>
17096
17097 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
17098 subprogram has copy-in copy-out parameters, try to promote the mode of
17099 the return type if it is passed in registers.
17100
4b4cfdd5
EB
171012011-07-24 Eric Botcazou <ebotcazou@adacore.com>
17102
17103 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
17104 left operand as addressable.
17105
f3d34576
EB
171062011-07-24 Eric Botcazou <ebotcazou@adacore.com>
17107
17108 * gcc-interface/gigi.h (build_function_stub): Remove.
17109 (build_return_expr): Likewise.
17110 (convert_vms_descriptor): Declare.
17111 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
17112 (build_function_stub): Move to...
17113 * gcc-interface/utils2.c (build_return_expr): Move to...
17114 * gcc-interface/trans.c (build_function_stub): ...here.
17115 (build_return_expr): ...here.
17116 (Subprogram_Body_to_gnu): Add local variable for language_function.
17117 Disconnect the parameter attributes cache, if any, once done with it.
17118 Call end_subprog_body only after setting the end_locus.
17119 Build the stub associated with the function, if any, at the very end.
17120 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
17121 variables and streamline control flow.
17122
0a6ecc08
AC
171232011-07-23 Arnaud Charlet <charlet@adacore.com>
17124
17125 PR ada/49819
17126 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
17127 g-trasym-dwarf.adb.
17128
5b6d595b
RO
171292011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17130
17131 PR bootstrap/49794
17132 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
17133 Assign to act.sa_sigaction.
17134 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
17135 current->return_address to char * before arithmetic.
17136
94017021
RO
171372011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17138
17139 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
17140 Correct argument types.
17141 Extract code from reason.
17142 (__gnat_install_handler): Assign to act.sa_sigaction.
17143
52fd02bb
EB
171442011-07-21 Eric Botcazou <ebotcazou@adacore.com>
17145
17146 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
17147 (GNAT1_OBJS): ...here.
17148
f39a9ca2
EB
171492011-07-15 Eric Botcazou <ebotcazou@adacore.com>
17150
17151 PR ada/48711
17152 * g-socthi-mingw.adb (Fill): Fix formatting.
17153
9e36aa23
EB
17154 * gcc-interface/gigi.h: Move around comment.
17155
e3aca522
JDA
171562011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17157
17158 PR ada/46350
17159 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
17160
696b1960
FW
171612011-07-14 Florian Weimer <fw@deneb.enyo.de>
17162
17163 PR ada/48711
17164 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
17165
f542c405
EB
171662011-07-13 Eric Botcazou <ebotcazou@adacore.com>
17167
17168 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
17169 range comparison if Pmode is SImode.
17170
9e9bd455
LG
171712011-07-12 Laurent GUERBY <laurent@guerby.net>
17172 Eric Botcazou <ebotcazou@adacore.com>
17173
17174 * adadecode.c: Wrap up in extern "C" block.
17175 * adadecode.h: Likewise.
17176 * adaint.c: Likewise. Remove 'const' keyword.
17177 * adaint.h: Likewise.
17178 * argv.c: Likewise.
17179 * atree.h: Likewise.
17180 * cio.c: Likewise.
17181 * cstreams.c: Likewise.
17182 * env.c: Likewise.
17183 * exit.c: Likewise.
17184 * fe.h: Likewise.
17185 * final.c: Likewise.
17186 * init.c: Likewise.
17187 * initialize.c: Likewise.
17188 * link.c: Likewise.
17189 * namet.h: Likewise.
17190 * nlists.h: Likewise.
17191 * raise.c: Likewise.
17192 * raise.h: Likewise.
17193 * repinfo.h: Likewise.
17194 * seh_init.c: Likewise.
17195 * targext.c: Likewise.
17196 * tracebak.c: Likewise.
17197 * uintp.h: Likewise.
17198 * urealp.h: Likewise.
17199 * xeinfo.adb: Wrap up generated C code in extern "C" block.
17200 * xsinfo.adb: Likewise.
17201 * xsnamest.adb: Likewise.
17202 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
17203 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
17204 * gcc-interface/misc.c: Likewise.
17205 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
17206 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
17207 ada/targext.o here...
17208 (GNAT_ADA_OBJS): ...and not here.
17209 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
17210 (GNATBIND_OBJS): Reorder.
17211
7644b3c7
RH
172122011-07-07 Richard Henderson <rth@redhat.com>
17213
17214 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
17215 dwarf2out_frame_init.
17216
8384ac41
EB
172172011-07-07 Eric Botcazou <ebotcazou@adacore.com>
17218
17219 * gcc-interface/misc.c (gnat_init): Tweak previous change.
17220
fbdd5d87
RO
172212011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17222
17223 PR target/39150
17224 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
17225
1a072294
RG
172262011-07-06 Richard Guenther <rguenther@suse.de>
17227
8384ac41
EB
17228 * gcc-interface/misc.c (gnat_init): Merge calls to
17229 build_common_tree_nodes and build_common_tree_nodes_2.
1a072294
RG
17230 Re-initialize boolean_false_node.
17231
bc712852
EB
172322011-07-02 Eric Botcazou <ebotcazou@adacore.com>
17233 Olivier Hainque <hainque@adacore.com>
17234 Nicolas Setton <setton@adacore.com>
17235
17236 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
17237 the type according to the ARTIFICIAL_P parameter.
17238 (create_type_decl): Likewise.
17239 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
17240
2eb22389
EB
172412011-07-01 Eric Botcazou <ebotcazou@adacore.com>
17242
17243 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
17244 (gnatbind): Likewise.
17245
4bdaaf2f
RO
172462011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17247
17248 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
17249
c020c92b
EB
172502011-06-18 Eric Botcazou <ebotcazou@adacore.com>
17251
17252 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
17253 local variable throughout. Remove useless call to Base_Type.
17254 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
17255 Take it also into account for the volatileness of the field. Set the
17256 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
17257
96769d32
EB
172582011-06-18 Eric Botcazou <ebotcazou@adacore.com>
17259
17260 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
17261 on a dereference built for a by-ref object if it has an address clause.
17262
7e4680c1
EB
172632011-06-18 Eric Botcazou <ebotcazou@adacore.com>
17264
17265 * einfo.ads (Address_Taken): Document use for the second argument of
17266 Asm_Input and Asm_Output attributes.
17267 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
17268 argument is an entity name, then set Address_Taken on it.
17269 <Attribute_Asm_Output>: Likewise.
17270 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
17271 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
17272 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
17273 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
17274
172752011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
d5cc9181
JR
17276
17277 PR middle-end/46500
17278 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
17279
677f3fa8
JM
172802011-06-14 Joseph Myers <joseph@codesourcery.com>
17281
17282 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
17283 (ada/utils.o): Update dependencies.
17284 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
17285 ../../../libcpp/libcpp.a.
17286 * gcc-interface/utils.c: Include common/common-target.h.
17287 (process_attributes): Use targetm_common.have_named_sections.
17288
009db074
RG
172892011-06-07 Richard Guenther <rguenther@suse.de>
17290
0bad0e23
EB
17291 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
17292 set_sizetype.
009db074 17293
3bfc61cf
EB
172942011-06-06 Eric Botcazou <ebotcazou@adacore.com>
17295
0bad0e23 17296 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
3bfc61cf
EB
17297 TREE_THIS_NOTRAP flag.
17298
5c4a1c7b
EB
172992011-06-06 Eric Botcazou <ebotcazou@adacore.com>
17300
17301 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
17302 Fix thinko.
17303
e9f57686
EB
173042011-06-06 Eric Botcazou <ebotcazou@adacore.com>
17305
17306 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
17307 constants whose full view has discriminants specially.
17308
10e4d056
EB
173092011-06-06 Eric Botcazou <ebotcazou@adacore.com>
17310
17311 * gcc-interface/utils.c: Include diagnostic.h.
17312 (gnat_write_global_declarations): Output debug information for all
17313 global type declarations before finalizing the compilation unit.
17314 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
17315
0957c029
JJ
173162011-05-25 Jakub Jelinek <jakub@redhat.com>
17317
17318 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
17319
52d0a7ac
KT
173202011-05-25 Kai Tietz <ktietz@redhat.com>
17321
17322 * adaint.c (__gnat_to_canonical_file_list_next): Use array
17323 initialization instead of const/none-const pointer assignment.
17324
1ed1641d
JM
173252011-05-24 Joseph Myers <joseph@codesourcery.com>
17326
17327 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
17328 $(EXTRA_GNAT1_OBJS).
17329 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
17330 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
17331 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
17332 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
17333 libcommon-target.a instead of prefix.o.
17334
9fe72ebd
JM
173352011-05-21 Joseph Myers <joseph@codesourcery.com>
17336
17337 PR ada/49097
0bad0e23 17338 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9fe72ebd 17339
2691e6d7
JM
173402011-05-20 Joseph Myers <joseph@codesourcery.com>
17341
0bad0e23
EB
17342 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
17343 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
17344 instead of version.o.
2691e6d7 17345
2d0dd51a 173462011-05-18 Kai Tietz <ktietz@redhat.com>
bf6490b5
KT
17347
17348 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
17349 boolean_false_node instead of integer_zero_node.
17350 (convert_with_check): Likewise.
17351 * gcc-interface/decl.c (choices_to_gnu): Likewise.
17352
7bf9a5ac
EB
173532011-05-12 Eric Botcazou <ebotcazou@adacore.com>
17354
17355 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
17356 type of the parameter is an unconstrained array, convert the actual to
17357 the type of the formal in the In Out and Out cases as well.
17358
e5b00edf
NF
173592011-05-11 Nathan Froyd <froydnj@codesourcery.com>
17360
17361 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
17362 call build_function_type_array or build_varargs_function_type_array
17363 instead.
17364 (create_subprog_type): Don't call build_function_type; call
17365 build_function_type_vec instead.
17366
51545682
NF
173672011-05-11 Nathan Froyd <froydnj@codesourcery.com>
17368
17369 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
17370 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
17371 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
17372
c99c0026
EB
173732011-05-07 Eric Botcazou <ebotcazou@adacore.com>
17374
f620bd21
EB
17375 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
17376
c99c0026
EB
17377 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
17378 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
17379
3d528853
NF
173802011-05-05 Nathan Froyd <froydnj@codesourcery.com>
17381
c99c0026 17382 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
3d528853 17383
d7d058c5
NF
173842011-05-05 Nathan Froyd <froydnj@codesourcery.com>
17385
17386 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
17387 instead of accessing TYPE_ARG_TYPES directly.
17388 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
17389
805e60a0
EB
173902011-05-05 Eric Botcazou <ebotcazou@adacore.com>
17391
17392 PR ada/48844
17393 * gcc-interface/gigi.h (get_variant_part): Declare.
17394 * gcc-interface/decl.c (get_variant_part): Make global.
17395 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
17396 types have the same constant size, are record types and T1 has a
17397 variant part while T2 doesn't.
17398
907a08d9
EB
173992011-05-05 Eric Botcazou <ebotcazou@adacore.com>
17400
17401 * gcc-interface/utils.c (begin_subprog_body): Do not call
17402 get_pending_sizes.
17403 (end_subprog_body): Likewise.
17404
d35936ab
RG
174052011-05-04 Richard Guenther <rguenther@suse.de>
17406
17407 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
17408 int_const_binop.
17409 (pos_to_constructor): Likewise.
17410
c1fd8753 174112011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 17412 Eric Botcazou <ebotcazou@adacore.com>
c1fd8753
NF
17413
17414 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
17415 of build_function_type. Adjust calls to...
17416 (build_raise_check): ...this. Do not take a void_tree parameter.
17417 Call build_function_type_list instead of build_function_type.
17418 Fix head comment and swap couple of conditional blocks.
17419
4fb87d2b
EB
174202011-04-30 Eric Botcazou <ebotcazou@adacore.com>
17421
17422 * gnatvsn.ads (Library_Version): Bump to 4.7.
17423 (Current_Year): Bump to 2011.
17424
fa5e5a76
MM
174252011-04-29 Michael Matz <matz@suse.de>
17426
17427 * gcc-interface/misc.c (gnat_handle_option): Set
17428 warn_maybe_uninitialized.
17429
8d6a2f69
GP
174302011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
17431
17432 * gnat_ugn.texi (Complexity Metrics Control): Update link to
17433 the Watson/McCabe paper.
17434
770937fd
JM
174352011-04-23 Jim Meyering <meyering@redhat.com>
17436
17437 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
17438
eb601ae1
EB
174392011-04-22 Eric Botcazou <ebotcazou@adacore.com>
17440
17441 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
17442 onto the new type.
17443
7d7fcb08
EB
174442011-04-22 Eric Botcazou <ebotcazou@adacore.com>
17445
17446 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
17447 parameter.
17448 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
17449 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
17450 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
17451 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
17452 <all>: Do not set flags on the reused DECL node coming from an alias.
17453 Set DECL_IGNORED_P on the DECL node built for subprograms if they
17454 don't need debug info here...
17455 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
17456 (gigi): Adjust calls to create_subprog_decl.
17457 (build_raise_check): Likewise.
17458 (establish_gnat_vms_condition_handler): Likewise.
17459 (Compilation_Unit_to_gnu): Likewise.
17460 (gnat_to_gnu): Likewise.
17461
e1876cac
EB
174622011-04-21 Eric Botcazou <ebotcazou@adacore.com>
17463
17464 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
17465 (NO_REORDER_ADAFLAGS): New variable.
17466 (EXTRA_GNATTOOLS): Always define.
17467 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
17468 Clean up and adjust list of files compiled with special options.
17469 * gcc-interface/Make-lang.in: Likewise.
17470 (ada/decl.o): Cosmetical change.
17471 (ada/misc.o): Remove dependency on $(PLUGIN_H).
17472
04695783
JM
174732011-04-20 Jim Meyering <meyering@redhat.com>
17474
17475 * initialize.c (__gnat_initialize): Remove useless if-before-free.
17476
23399579
EB
174772011-04-17 Eric Botcazou <ebotcazou@adacore.com>
17478
17479 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
17480 $(CFLAGS) on the link line.
17481
51c5169c
EB
174822011-04-17 Eric Botcazou <ebotcazou@adacore.com>
17483
17484 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
17485 padded type built for the return type if it is unconstrained.
17486
61e46a7d
NF
174872011-04-14 Nathan Froyd <froydnj@codesourcery.com>
17488
17489 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
17490
81f653d6
NF
174912011-04-12 Nathan Froyd <froydnj@codesourcery.com>
17492
b4867846
EB
17493 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
17494 before calling TREE_CHAIN.
81f653d6
NF
17495 * gcc-interface/misc.c (gnat_init_ts): New function.
17496 (LANG_HOOKS_INIT_TS): Define.
17497
a358e188
MJ
174982011-04-12 Martin Jambor <mjambor@suse.cz>
17499
b4867846
EB
17500 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
17501 instead of cgraph_node.
a358e188 17502
29b1c5a4
EB
175032011-04-08 Eric Botcazou <ebotcazou@adacore.com>
17504
17505 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
17506 alignment on fields of the RETURN type built for the Copy-In Copy-Out
17507 mechanism.
17508
88872b00
EB
175092011-04-08 Eric Botcazou <ebotcazou@adacore.com>
17510
17511 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
17512 of aggregate types that contain a placeholder.
17513
dcf0c47e
NF
175142011-04-08 Nathan Froyd <froydnj@codesourcery.com>
17515
17516 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
b4867846 17517 TYPE_ARG_TYPES.
dcf0c47e
NF
17518 (handle_type_generic_attribute): Likewise.
17519
53e3000c
EB
175202011-04-04 Eric Botcazou <ebotcazou@adacore.com>
17521
17522 PR ada/47163
17523 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
17524
ab380bb4
KT
175252011-04-04 Kai Tietz <ktietz@redhat.com>
17526
17527 PR ada/47163
0bad0e23
EB
17528 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
17529 to flag value.
ab380bb4 17530
8ffac116
EB
175312011-04-02 Eric Botcazou <ebotcazou@adacore.com>
17532
17533 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
17534 type case, do not strip a padding type around the array type.
17535
de9528f0
EB
175362011-04-02 Eric Botcazou <ebotcazou@adacore.com>
17537
17538 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
17539 types.
17540
d9d7a26c
EB
175412011-04-02 Eric Botcazou <ebotcazou@adacore.com>
17542
17543 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
17544 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
de9528f0 17545 code for -feliminate-unused-debug-types.
d9d7a26c
EB
17546 (gnat_post_options): Likewise.
17547
4cb12a90
EB
175482011-04-02 Eric Botcazou <ebotcazou@adacore.com>
17549
17550 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
17551 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
17552 distinct copy.
17553
acccc61c
EB
175542011-04-02 Eric Botcazou <ebotcazou@adacore.com>
17555
17556 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
17557 DECL_ARTIFICIAL flag on enumeration types.
17558
583eb0c9
EB
175592011-04-02 Eric Botcazou <ebotcazou@adacore.com>
17560
17561 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
17562 fat pointer types artificial unconditionally.
17563 <E_Array_Subtype>: Attach the base array type as a parallel type if it
17564 isn't artificial.
17565
e3edbd56
EB
175662011-04-02 Eric Botcazou <ebotcazou@adacore.com>
17567
17568 * gcc-interface/gigi.h (get_dummy_type): Declare.
17569 (build_dummy_unc_pointer_types): Likewise.
17570 (finish_fat_pointer_type): Likewise.
17571 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
17572 fat pointer type has been built, complete it in place.
17573 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
17574 and thin pointers. Remove useless variable.
17575 (finish_fat_pointer_type): Make global and move to...
17576 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
17577 (get_dummy_type): New function.
17578 (build_dummy_unc_pointer_types): Likewise.
17579 (gnat_pushdecl): Propage the name to the anonymous variants only.
17580 (update_pointer_to): Only adjust the pointer types in the unconstrained
17581 array case.
17582
65444786
EB
175832011-04-02 Eric Botcazou <ebotcazou@adacore.com>
17584
17585 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
17586 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
17587 if this is a Taft amendment type and the full declaration is available.
17588 * gcc-interface/trans.c (process_type): Likewise.
17589 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
17590 (process_freeze_entity): Likewise.
17591 * gcc-interface/utils.c (dummy_global): New static variable.
17592 (gnat_write_global_declarations): If there are types declared as used
17593 at the global level, insert them in the global hash table.
17594
1aeb40dd
EB
175952011-04-02 Eric Botcazou <ebotcazou@adacore.com>
17596
17597 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
17598 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
17599 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
17600 copy.
17601 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
17602 flag of the type accordingly.
17603 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
17604
80ec8b4c
EB
176052011-04-02 Eric Botcazou <ebotcazou@adacore.com>
17606
17607 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
17608 finalizing types when updating the pointers to the designated type.
17609 <all>: Finalize the deferred types even if we didn't defer processing
17610 of incomplete types in this invocation.
17611
2a9d769a 176122011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
17613 Nicolas Setton <setton@adacore.com>
17614 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
17615
17616 * gcc-interface/misc.c (gnat_descriptive_type): New function.
17617 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
17618
2438d7a6
KT
176192011-03-28 Kai Tietz <ktietz@redhat.com>
17620
333d8aff 17621 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
80ec8b4c
EB
17622 Windows targets.
17623 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
17624 * system-mingw.ads (System): Change ZCX_By_Default default to True.
333d8aff 17625
80ec8b4c 17626 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2438d7a6 17627
8ad150f6
TG
176282011-03-28 Tristan Gingold <gingold@adacore.com>
17629
17630 PR ada/44431
80ec8b4c
EB
17631 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
17632 Use ada output of gnatbind.
8ad150f6
TG
17633 (ada/b_gnatb.adb): Ditto.
17634 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
17635 (ada.mostlyclean, ada.stage1)
17636 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
17637 (ada.stagefeedback): Adjust.
80ec8b4c 17638 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
8ad150f6
TG
17639 Use ada output of gnatbind.
17640 (b_gnatm.adb): Ditto.
17641 (b_gnatl.o, b_gnatm.o): New rules.
17642
51c7954d
EB
176432011-03-26 Eric Botcazou <ebotcazou@adacore.com>
17644
17645 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
17646 for the padded type built to support a specified size or alignment.
17647
6ddf9843
EB
176482011-03-26 Eric Botcazou <ebotcazou@adacore.com>
17649
17650 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
17651 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
17652 unconditionally to the end of the unit when the designated type is
17653 limited_with'ed.
17654 <all>: Rename local variable. Attempt to un-defer types only and do it
17655 for limited_with'ed types as well.
17656 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
17657 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
17658 consistently and remove redundant call to finalize_from_with_types.
17659
5daed84a
EB
176602011-03-26 Eric Botcazou <ebotcazou@adacore.com>
17661
17662 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
17663 subprograms without a previous spec declared in the same unit.
17664 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
17665 subprograms at the end of the unit instead of at the beginning.
17666 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
17667 isn't public for the special handling of non-inline functions nested
17668 inside inline external functions.
17669
0edf1bb2
JL
176702011-03-25 Jeff Law <law@redhat.com>
17671
5daed84a 17672 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
0edf1bb2 17673
e3c4580e
EB
176742011-03-24 Eric Botcazou <ebotcazou@adacore.com>
17675
17676 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
17677 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
17678 to compute Set_Size_Depends_On_Discriminant.
17679 (Layout_Type): Call it on array types in back-end layout mode.
17680 * sem_util.adb (Requires_Transient_Scope): Return true for array
17681 types only if the size depends on the value of discriminants.
17682 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
17683 type if the RHS is a call to a function that returns an unconstrained
17684 type with default discriminant.
17685
abbc8c7b
EB
176862011-03-24 Eric Botcazou <ebotcazou@adacore.com>
17687
17688 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
17689 non-conversion to the nominal result type at the end.
17690
ddb5a105
EB
176912011-03-23 Eric Botcazou <ebotcazou@adacore.com>
17692
17693 * gcc-interface/trans.c (create_temporary): New function taken from...
17694 (create_init_temporary): ...here. Call it.
17695 (call_to_gnu): Create the temporary for the return value early, if any.
17696 Create it for a function with copy-in/copy-out parameters if there is
17697 no target; in other cases of copy-in/copy-out, use another temporary.
17698 Push the new binding level lazily. Add and rename local variables.
17699
0d853156
EB
177002011-03-23 Eric Botcazou <ebotcazou@adacore.com>
17701
17702 * gcc-interface/decl.c (validate_size): Improve comments and tweak
17703 error message.
17704 (set_rm_size): Likewise.
17705
4184ef1b
EB
177062011-03-23 Eric Botcazou <ebotcazou@adacore.com>
17707
17708 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
17709 for the padded type built in order to support a specified alignment.
17710 Fix incorrect formatting.
17711
bf7eefab
EB
177122011-03-21 Eric Botcazou <ebotcazou@adacore.com>
17713
17714 PR bootstrap/48216
17715 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
17716
ef0feeb2
EB
177172011-03-21 Eric Botcazou <ebotcazou@adacore.com>
17718
17719 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
17720 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
17721 to the end of the list. Adjust recursive call. Rename local variable.
17722 If REORDER is true, reorder components of the record type.
17723 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
17724 components_to_record and adjust the parameter list.
17725
646f9414
EB
177262011-03-21 Eric Botcazou <ebotcazou@adacore.com>
17727
17728 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
17729 disabled, use the variable for bounds of loop iteration scheme.
17730
62d784f7
KT
177312011-03-21 Kai Tietz <ktietz@redhat.com>
17732
17733 PR target/12171
0bad0e23 17734 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
62d784f7 17735
f230d759
EB
177362011-03-17 Eric Botcazou <ebotcazou@adacore.com>
17737
17738 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
17739 out whether the expression is read-only. Short-circuit placeholder
17740 case and rename a couple of local variables.
17741
bb1f7929
EB
177422011-03-17 Eric Botcazou <ebotcazou@adacore.com>
17743
17744 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
17745 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
17746 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
17747 (convert): Deal with conversions from a smaller form type specially.
17748
400a2d24
EB
177492011-02-14 Eric Botcazou <ebotcazou@adacore.com>
17750
17751 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
17752 its argument, except for the special -I- switch.
17753
c26bc3ad
GP
177542011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
17755
0bad0e23
EB
17756 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
17757 "Ada Issues".
c26bc3ad 17758
07b8e910
EB
177592011-02-08 Eric Botcazou <ebotcazou@adacore.com>
17760
17761 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
17762
31a5a547
EB
177632011-02-03 Eric Botcazou <ebotcazou@adacore.com>
17764
17765 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
17766 GNAT_FORMAL.
17767 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
17768 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
17769 instead of GNAT_FORMAL. Protect the expression against multiple uses.
17770 Do not generate the check directly, instead instantiate the template
17771 check present in the descriptor.
17772 (make_descriptor_field): Move around.
17773 (build_vms_descriptor32): Build a template check in the POINTER field.
17774 (build_vms_descriptor): Remove useless suffixes.
17775 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
17776
dcf25f59
EB
177772011-01-26 Eric Botcazou <ebotcazou@adacore.com>
17778
17779 PR bootstrap/47467
17780 * targext.c: Include target files if IN_RTS is defined.
17781
0418e131
RG
177822011-01-26 Richard Guenther <rguenther@suse.de>
17783
17784 PR bootstrap/47467
17785 * targext.c: Include config.h.
17786 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
17787 dependency.
17788
c6eecbd8 177892011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 17790 Eric Botcazou <ebotcazou@adacore.com>
c6eecbd8
PO
17791
17792 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
17793
2d3c7e4f
EB
177942011-01-04 Eric Botcazou <ebotcazou@adacore.com>
17795
17796 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
17797 end-of-case on the end label and its associated gotos, if any.
17798
0394741f
EB
177992011-01-04 Eric Botcazou <ebotcazou@adacore.com>
17800
17801 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
17802 expressions of the parameter cache within the statement group of
17803 the CICO mechanism.
17804
2a02d090 178052011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 17806 Eric Botcazou <ebotcazou@adacore.com>
2a02d090
OH
17807
17808 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
17809 (set_end_locus_from_node): New function.
17810 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
17811 make and the function end_locus.
17812 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
17813 for the elaboration subprogram.
17814 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
17815 set the end_locus of the expression as well.
17816
89f5e978
EB
178172011-01-04 Eric Botcazou <ebotcazou@adacore.com>
17818
17819 PR ada/47131
17820 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
17821 variables that are referenced in exception handlers volatile.
17822
17823
ad41bd84 17824\f
797103eb 17825Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
17826
17827Copying and distribution of this file, with or without modification,
17828are permitted in any medium without royalty provided the copyright
17829notice and this notice are preserved.