]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
[multiple changes]
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
f5037886
AC
12011-09-01 Yannick Moy <moy@adacore.com>
2
3 * ali-util.adb, ali-util.ads (Read_Withed_ALIs): Add parameter
4 Ignore_Errors to ignore failures to read ALI files when True.
5
62011-09-01 Javier Miranda <miranda@adacore.com>
7
8 * exp_ch3.adb (Expand_N_Object_Declaration): Handle non-default
9 constructor calls associated with non-tagged record types.
10
112011-09-01 Robert Dewar <dewar@adacore.com>
12
13 * g-socthi-vms.adb: Minor reformatting.
14
152011-09-01 Nicolas Roche <roche@adacore.com>
16
17 * sysdep.c: Don't use macro functions for stdio functions on VxWorks
18 in order to avoid impact of imcompatible changes.
19 * cstreams.c: Likewise
20 * cio.c: Likewise
21 * aux-io.c: Likewise
22
232011-09-01 Yannick Moy <moy@adacore.com>
24
25 * lib-writ.adb (Write_With_Lines): Always output complete information
26 on "with" line in Alfa mode, as this is required by formal verification
27 back-end.
28
549e4558
AC
292011-09-01 Tristan Gingold <gingold@adacore.com>
30
31 * g-socthi-vms.adb: Add comments.
32
332011-09-01 Pascal Obry <obry@adacore.com>
34
35 * prj.ads: Minor reformatting.
36
70c0422d
AC
372011-09-01 Vincent Celier <celier@adacore.com>
38
39 * prj-env.adb (Create_Config_Pragmas_File.Check): Put all naming
40 exceptions in the config pragmas file.
41
422011-09-01 Tristan Gingold <gingold@adacore.com>
43
44 * gnat_ugn.texi: Document GNAT_STACK_SIZE on IVMS.
45
8c5b03a0
AC
462011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
47
48 * exp_ch7.adb (Find_Insertion_List): New routine.
49 (Process_Transient_Objects): Add code to handle the abnormal
50 finalization of a controlled transient associated with a subprogram
51 call. Since transients are cleaned up right after the associated
52 context, an exception raised during a subprogram call may bypass the
53 finalization code.
54
552011-09-01 Robert Dewar <dewar@adacore.com>
56
57 * exp_ch6.adb (Expand_Call): Check actual for aliased parameter is
58 aliased.
59
3040dbd4
RD
602011-09-01 Robert Dewar <dewar@adacore.com>
61
62 * exp_ch4.adb, a-exexda.adb: Minor reformatting.
63
fecbd779
AC
642011-09-01 Robert Dewar <dewar@adacore.com>
65
66 * s-taskin.ads, s-tassta.adb, sem_ch13.adb: Minor reformatting.
67
682011-09-01 Thomas Quinot <quinot@adacore.com>
69
70 * Makefile.rtl: Move s-oscons.o from GNATRTL_TASKING_OBJS to
71 GNATRTL_NONTASKING_OBJS.
72
732011-09-01 Robert Dewar <dewar@adacore.com>
74
75 * einfo.ads (Is_Aliased): Fix existing documentation and add note on
76 possibility of this flag being set for formals in Ada 2012 mode.
77 * par-ch6.adb (P_Formal_Part): Handle aliased for parameters for Ada
78 2012.
79 * sem_ch6.adb (Process_Formals): Handle aliased parameters in Ada 2012
80 mode.
81 * sinfo.adb (Aliased_Present): Allowed in N_Parameter_Specification for
82 Ada 2012.
83 * sinfo.ads (Aliased_Present): Allowed in N_Parameter_Specification for
84 Ada 2012.
85
862011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
87
88 * exp_ch4.adb (Find_Insertion_Node): New routine. Determines the proper
89 insertion node in a tree of nested Expression_With_Actions nodes.
90 (Process_Transient_Object): In the case where a complex if statement
91 has been converted into nested Expression_With_Actions nodes, the
92 "hook" object and the associated access type must be inserted before
93 the top most Expression_With_Actions.
94
516f608f
AC
952011-09-01 Robert Dewar <dewar@adacore.com>
96
97 * a-cbprqu.adb, a-cbprqu.ads, a-cuprqu.adb, a-cuprqu.ads,
98 a-cbsyqu.adb, a-cbsyqu.ads: Minor reformatting.
99
1002011-09-01 Ed Schonberg <schonberg@adacore.com>
101
102 * sem_attr.adb: Conditionalize aliasing predicates to Ada2012.
103
1042011-09-01 Jose Ruiz <ruiz@adacore.com>
105
106 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the CPU
107 aspect.
108 * aspects.adb (Canonical_Aspect): Add entry for the CPU aspect.
109 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the CPU aspect
110 in a similar way as we do for the Priority or Dispatching_Domain aspect.
111 * s-mudido-affinity.adb (Dispatching_Domain_Tasks,
112 Dispatching_Domains_Frozen): Move this local data to package
113 System.Tasking because with the CPU aspect we need to have access
114 to this data when creating the task in System.Tasking.Stages.Create_Task
115 * s-taskin.ads (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen):
116 Move these variables from the body of
117 System.Multiprocessors.Dispatching_Domains because with the CPU aspect
118 we need to have access to this data when creating the task in
119 System.Tasking.Stages.Create_Task.
120 * s-taskin.adb (Initialize): Signal the allocation of the environment
121 task to a CPU, if any, so that we know whether the CPU can be
122 transferred to a different dispatching domain.
123 * s-tassta.adb (Create_Task): Check whether the CPU to which this task
124 is being allocated belongs to the dispatching domain where the task
125 lives. Signal the allocation of the task to a CPU, if any, so that we
126 know whether the CPU can be transferred to a different dispatching
127 domain.
128
2d42e881
ES
1292011-09-01 Ed Schonberg <schonberg@adacore.com>
130
131 * exp_attr.adb, sem_attr.adb, snames.ads-tmpl: Implementation of
132 attributes Same_Storage and Overlaps_Storage.
133
579fda56
AC
1342011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
135
136 * exp_strm.adb: Remove with and use clause for Opt.
137 (Build_Array_Input_Function): Remove the version-dependent generation
138 of the return statement. The Ada 2005 tree is now the default.
139
1402011-09-01 Yannick Moy <moy@adacore.com>
141
142 * put_alfa.adb: Unconditionnally write files in Alfa section, so that
143 it is never empty when compiling in Alfa mode.
144
1452011-09-01 Robert Dewar <dewar@adacore.com>
146
147 * sem_aggr.adb, sem_ch3.adb, a-direct.adb, s-taprop-vxworks.adb,
148 comperr.adb, exp_ch9.adb, exp_pakd.adb, sem_ch12.adb, freeze.adb,
149 s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
150 gnat1drv.adb, a-rbtgbo.adb, exp_dist.adb: Minor reformatting
151
1522011-09-01 Matthew Heaney <heaney@adacore.com>
153
154 * Makefile.rtl, impunit.adb: Add a-csquin.ads, a-cusyqu.ad[sb],
155 a-cuprqu.ad[sb], a-cbsyqu.ad[sb], a-cbprqu.ad[sb]
156 * a-csquin.ads: New Ada 2012 unit that specifies the queue interface
157 * a-cusyqu.ads, a-cusyqu.adb: New Ada 2012 unit that specifies the
158 unbounded queue container.
159 * a-cbsyqu.ads, a-cbsyqu.adb: New Ada 2012 unit that specifies the
160 bounded queue container.
161 * a-cuprqu.ads, a-cuprqu.adb: New Ada 2012 unit that specifies the
162 unbounded priority queue container.
163 * a-cbprqu.ads, a-cbprqu.adb: New Ada 2012 unit that specifies the
164 bounded priority queue container.
165
24c34107
AC
1662011-08-31 Pascal Obry <obry@adacore.com>
167
168 * a-direct.adb: Do not try to create an UNC path on Windows.
169 (Create_Path): Skip leading computer name in UNC path if any.
170
1712011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
172
173 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Remove the
174 version-dependent generation of the return statement. The Ada 2005 tree
175 is now the default.
176
1772011-08-31 Thomas Quinot <quinot@adacore.com>
178
179 * rtsfind.ads, exp_dist.adb (Find_Numeric_Representation): Predefined
180 types Stream_Element_Offset and Storage_Offset have a different native
181 type depending on whether the platform is 32 or 64 bits. When
182 exchanging them, always convert to 64 bits.
183
1842011-08-31 Yannick Moy <moy@adacore.com>
185
186 * debug.adb: Reserve debug option -gnatd.E for passing gnatprove option
187 --force-alfa to gnat2why.
188
1892011-08-31 Ed Schonberg <schonberg@adacore.com>
190
191 * sem_ch12.adb (Save_References): If the node has aspects, save
192 references within the corresponding expressions in a separate step,
193 because the aspects are not directly in the tree for the declaration
194 to which they belong.
195
1962011-08-31 Arnaud Charlet <charlet@adacore.com>
197
198 * freeze.adb (Freeze_Record_Type): Omit test on variable size component
199 in CodePeer mode, since representation clauses are partially ignored.
200 * gcc-interface/Make-lang.in: Update dependencies.
201
702d2020
AC
2022011-08-31 Jose Ruiz <ruiz@adacore.com>
203
204 * s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
205 s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned
206 to any dispatching domain.
207
2082011-08-31 Thomas Quinot <quinot@adacore.com>
209
210 * exp_ch4.adb: Minor reformatting.
211
2122011-08-31 Bob Duff <duff@adacore.com>
213
214 * sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication
215 on nodes for which it is not defined.
216 (Is_Non_Overriding_Operation): Exit the loop when we find a generic
217 parent type.
218
2192011-08-31 Bob Duff <duff@adacore.com>
220
221 * sem_ch3.adb (Process_Full_View): Disable legality check if
222 In_Instance, to avoid spurious errors.
223 * sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check
224 if In_Instance, to avoid spurious errors.
225
2262011-08-31 Pascal Obry <obry@adacore.com>
227
228 * a-direct.adb: Use Dir_Seps everywhere to properly handle all
229 directory speparators.
230 (Compose): Use Dir_Seps to handle both forms.
231 (Create_Path): Use Dir_Seps instead of explicit check, no semantic
232 changes.
233 (Extension): Use Dir_Seps to handle both forms.
234
2352011-08-31 Pascal Obry <obry@adacore.com>
236
237 * prj-conf.adb: Minor reformatting.
238
67645bde
AC
2392011-08-31 Jose Ruiz <ruiz@adacore.com>
240
241 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the
242 dispatching domain aspect.
243 * aspects.adb (Canonical_Aspect): Add entry for the dispatching domain
244 aspect.
245 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the
246 Dispatching_Domain aspect in a similar way as we do for the Priority
247 aspect.
248 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the
249 Dispatching_Domain component if a Dispatching_Domain pragma or aspect
250 is present.
251 (Make_Task_Create_Call): Add the Dispatching_Domain when creating a task
252 * par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma.
253 * sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma
254 Dispatching_Domain and add it to the task definition.
255 (Sig_Flags): Add Pragma_Dispatching_Domain.
256 * rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the
257 support to find the types Dispatching_Domain and
258 Dispatching_Domain_Access.
259 * sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain,
260 Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and
261 query the availability of a pragma Dispatching_Domain.
262 * snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by
263 the expander to pass the Dispatching_Domain when creating a task.
264 (Name_Dispatching_Domain): Add this new name for a pragma.
265 (Pragma_Id): Add the new Pragma_Dispatching_Domain.
266 * s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the
267 task has been allocated at creation time.
268 * s-tarest.adb (Create_Restricted_Task): The dispatching domain using
269 Ravenscar is always null.
270 * s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which
271 the task has been allocated at creation time.
272 * s-tporft.adb (Register_Foreign_Thread): A foreign task will not have
273 a specific dispatching domain.
274 * s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb,
275 s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain
276 and CPU are specified for the task, and the CPU value is not contained
277 within the range of processors for the domain.
278
2792011-08-31 Vincent Celier <celier@adacore.com>
280
281 * make.adb (Original_Gcc) : New constant String_Access.
282 (Gnatmake): For VM targets, do not use VM version of the compiler if
283 --GCC= has been specified.
284
2852011-08-31 Thomas Quinot <quinot@adacore.com>
286
287 * sem_ch5.adb: Minor reformatting.
288
2892011-08-31 Ed Schonberg <schonberg@adacore.com>
290
291 * exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do
292 not reanalyze it.
293
2942011-08-31 Bob Duff <duff@adacore.com>
295
296 * exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case
297 the access type is private; we don't care about privacy in expansion.
298
2992011-08-31 Ed Schonberg <schonberg@adacore.com>
300
301 * sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate
302 subcomponents tnat may be limited, because they originate in view
303 conflicts. If the original aggregate is legal and the actuals are
304 legal, the aggregate itself is legal.
305
b8789727
AC
3062011-08-31 Matthew Heaney <heaney@adacore.com>
307
308 * a-rbtgbo.adb (Clear_Tree): Assert representation invariant for lock
309 status.
310
3112011-08-31 Ed Schonberg <schonberg@adacore.com>
312
313 * sem_ch5.adb: Set kind of loop parameter properly, to preserve all
314 errors in B tests.
315
3162011-08-31 Jose Ruiz <ruiz@adacore.com>
317
318 * sem_ch13.adb (Analyze_Aspect_Specifications): For the Priority and
319 Interrupt_Priority aspects, force the analysis of the aspect expression
320 (when building the equivalent pragma). Otherwise, its analysis is done
321 too late, after the task or protected object has been created.
322 * sem_ch9.adb (Analyze_Single_Protected_Declaration,
323 Analyze_Single_Task_Declaration): Remove the code to move the aspects
324 to the object declaration because they are needed in the type
325 declaration.
326
e0c32166
AC
3272011-08-31 Robert Dewar <dewar@adacore.com>
328
329 * exp_ch5.adb, exp_ch7.ads, sem_ch5.adb, put_scos.adb, s-rannum.adb,
330 a-rbtgbo.adb, exp_intr.adb, a-cbdlli.adb, a-cbdlli.ads: Minor
331 reformatting.
332
3332011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
334
335 * exp_util.adb (Find_Protection_Type): Do not look for fields _object
336 if the corresponding type is malformed due to restriction violations.
337
3382011-08-31 Robert Dewar <dewar@adacore.com>
339
340 * s-ransee.ads, s-ransee.adb: Minor reformatting.
341
3422011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
343
344 * exp_ch4.adb (Expand_N_Allocator): Correct faulty condition which
345 would cause the generation of Set_Finalize_Address if the target is a
346 VM and the designated type is not derived from [Limited_]Controlled.
347
3482011-08-31 Arnaud Charlet <charlet@adacore.com>
349
350 * comperr.adb, comperr.ads, gnat1drv.adb (Delete_SCIL_Files): New
351 subprogram.
352 (Compiler_Abort, Gnat1drv): Call Delete_SCIL_Files in codepeer mode in
353 case of a compilation error.
354
3552011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
356
357 * init.c (__gnat_error_handler): Standardize the stack overflow or
358 erroneous memory access message.
359 * seh_init.c (__gnat_SEH_error_handler): Standardize the stack overflow
360 or erroneous memory access message.
361
11bc76df
AC
3622011-08-31 Robert Dewar <dewar@adacore.com>
363
364 * sem_ch4.adb: Minor reformatting.
365 * sem_ch6.adb: Minor code reorganization (use Ekind_In).
366
3672011-08-31 Thomas Quinot <quinot@adacore.com>
368
369 * scos.ads: Minor documentation clarification.
370 * put_scos.adb: Do not generate SCO unit header line for a unit that
371 has no SCO lines.
372
876d4394
RD
3732011-08-31 Robert Dewar <dewar@adacore.com>
374
375 * a-rbtgbo.adb, alfa_test.adb: Minor reformatting.
376
36b8f95f
AC
3772011-08-31 Tristan Gingold <gingold@adacore.com>
378
379 * exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to
380 hold variables between these following subprograms.
381 (Build_Exception_Handler, Build_Object_Declarations,
382 Build_Raise_Statement): Use the above type as parameter.
383 Make the above adjustments.
384 * exp_intr.adb (Expand_Unc_Deallocation): Adjust.
385
3862011-08-31 Pascal Obry <obry@adacore.com>
387
388 * projects.texi: Minor reformatting.
389
3902011-08-31 Tristan Gingold <gingold@adacore.com>
391
392 * s-ransee.ads, s-ransee.adb: Add system.random_seed unit.
393 * s-rannum.adb (Reset): Use Get_Seed from s-ransee.
394
3952011-08-31 Ed Schonberg <schonberg@adacore.com>
396
397 * exp_ch5.adb: Minor code cleanup.
398 * sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to
399 prevent cascaded errors.
400 (Analyze_Loop_Statement): In semantics-only mode, introduce loop
401 variable of an iterator specification in current scope.
402 * sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip
403 postconditions on the stack, as they contain no return statements.
404
4052011-08-31 Yannick Moy <moy@adacore.com>
406
407 * exp_alfa.adb (Expand_Alfa_N_Package_Declaration,
408 Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply
409 call Qualify_Entity_Names.
410 (Expand_Alfa): call Qualify_Entity_Names in more cases
411 * lib-xref-alfa.adb: Take into account system package.
412 * sem_prag.adb Take into account restrictions in Alfa mode, contrary to
413 CodePeer mode in which we are interested in finding bugs even if
414 compiler cannot compile source.
415 * sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of
416 deferred constant.
417
4182011-08-31 Gary Dismukes <dismukes@adacore.com>
419
420 * sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype
421 denoted by the subtype mark to ensure getting the concurrent type in
422 the case where the subtype mark denotes a private subtype of a
423 concurrent type (needed when using -gnatc).
424 (Process_Subtype): For the processing specific to type kinds, case on
425 the Base_Type kind of the Subtype_Mark_Id, to handle cases where the
426 subtype denotes a private subtype whose base type is nonprivate (needed
427 for subtypes of private fulfilled by task types when compiling with
428 -gnatc).
429
4302011-08-31 Gary Dismukes <dismukes@adacore.com>
431
432 * sem_disp.adb (Check_Dispatching_Operation): Bypass registration of
433 late primitives that override interface operations when the full
434 expander is not active, to avoid blowups in Register_Primitive when
435 types don't have associated secondary dispatch tables.
436
4372011-08-31 Yannick Moy <moy@adacore.com>
438
439 * alfa_test.adb: Code clean up.
440
4412011-08-31 Marc Sango <sango@adacore.com>
442
443 * restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N)
444 by Comes_From_Source (Original_Node (N)) in order to treat also the
445 nodes which have been rewritten.
446 * sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the
447 explicit dereference and slice violation in spark mode on the nodes
448 coming only from the source code.
449
8cf23b91
AC
4502011-08-31 Robert Dewar <dewar@adacore.com>
451
452 * exp_ch5.adb, exp_alfa.ads, prj.ads, sem_attr.adb,
453 lib-xref-alfa.adb: Minor reformatting.
454
4552011-08-31 Matthew Heaney <heaney@adacore.com>
456
457 * a-crbltr.ads (Tree_Type): Default-initialize the Nodes component.
458
4592011-08-31 Javier Miranda <miranda@adacore.com>
460
461 * sem_ch4.adb (Try_Object_Operation): Addition of one formal to search
462 only for class-wide subprograms conflicting with entities of concurrent
463 tagged types.
464
4652011-08-31 Matthew Heaney <heaney@adacore.com>
466
467 * a-rbtgbo.adb (Generic_Allocate): Initialize pointer components of
468 node to null value.
469
4702011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
471
472 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Provide a more
473 general description of the routine.
474
4752011-08-31 Ed Schonberg <schonberg@adacore.com>
476
477 * a-cbdlli.adb, a-cbdlli.ads: Add iterator machinery to bounded
478 doubly-linked lists.
479
0bb3bfb8
GD
4802011-08-31 Gary Dismukes <dismukes@adacore.com>
481
482 * exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant
483 check is needed for a left-hand side that is a dereference, and the
484 base type is private without discriminants (whereas the full type does
485 have discriminants), an extra retrieval of the underlying type may be
486 needed in the case where the subtype is a record subtype whose base
487 type is private. Update comments.
488
11fa950b
AC
4892011-08-31 Javier Miranda <miranda@adacore.com>
490
491 * sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is
492 found check if there is a class-wide subprogram covering the primitive.
493
4942011-08-31 Yannick Moy <moy@adacore.com>
495
496 * sem_res.adb: Further cases where full expansion test is needed,
497 rather than expansion test.
498
4992011-08-31 Pascal Obry <obry@adacore.com>
500
501 * prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list)
502
5032011-08-31 Ed Schonberg <schonberg@adacore.com>
504
505 * exp_ch5.adb: Handle iterators over derived container types.
506
5072011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
508
509 * einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master.
510 (Has_Anonymous_Master): New routine.
511 (Set_Has_Anonymous_Master): New routine.
512 (Write_Entity_Flags): Add an entry for Has_Anonymous_Master.
513 * exp_ch4.adb: Add with and use clause for Sem_Ch8.
514 (Current_Anonymous_Master): New routine.
515 (Current_Unit_First_Declaration): Removed.
516 (Current_Unit_Scope): Removed.
517 (Expand_N_Allocator): Anonymous access-to-controlled types now chain
518 their objects on a per-unit heterogeneous finalization master.
519
5202011-08-31 Matthew Heaney <heaney@adacore.com>
521
522 * a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets
523 array.
524
5252011-08-31 Jose Ruiz <ruiz@adacore.com>
526
527 * s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask
528 when not needed.
529
5302011-08-31 Gary Dismukes <dismukes@adacore.com>
531
532 * sem_disp.adb (Propagate_Tag): Return without propagating in the case
533 where the actual is an unexpanded call to 'Input.
534
d2b4b3da
AC
5352011-08-31 Yannick Moy <moy@adacore.com>
536
537 * sem_ch4.adb: Code clean up.
538
5392011-08-31 Yannick Moy <moy@adacore.com>
540
541 * exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice.
542
5432011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
544
545 * exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize
546 and TSS primitive Finalize_Address if finalization is suppressed.
547 (Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS
548 primitive Finalize_Address if finalization is suppressed.
549
5502011-08-31 Jose Ruiz <ruiz@adacore.com>
551
552 * s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb,
553 s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make
554 sure that the underlying task has already been created before trying
555 to change its affinity.
556 (Set_CPU): Use the term processor instead of CPU, as we do in
557 Assign_Task.
558
5592011-08-31 Vincent Celier <celier@adacore.com>
560
561 * prj-attr.adb: New Compiler attribute Source_File_Switches.
562 * prj-nmsc.adb (Process_Compiler): Process attribute
563 Source_File_Switches.
564 * prj.ads (Language_Config): New name list component
565 Name_Source_File_Switches.
566 * snames.ads-tmpl (Name_Source_File_Switches): New standard name.
567
5682011-08-31 Ed Schonberg <schonberg@adacore.com>
569
570 * sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a
571 discriminated component of an actual, expand at once to prevent
572 ouf-of-order references with generated subtypes.
573
5742011-08-31 Yannick Moy <moy@adacore.com>
575
576 * lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read
577 reference to operator in Alfa xrefs.
578
5792011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
580
581 * sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case
582 where the parent instance was frozen before the current instance due to
583 the presence of a source body. Update calls to Insert_After_Last_Decl.
584 (Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance.
585 Update the comment which illustrates the purpose of the routine.
586 Package instances are now frozen by source bodies which appear after
587 the instance. This ensures that entities coming from within the
588 instance are available for use in the said bodies.
589 (Install_Body): Add code to handle the case where the parent instance
590 was frozen before the current instance due to the presence of a source
591 body. Update calls to Insert_After_Last_Decl.
592
56812278
AC
5932011-08-31 Jose Ruiz <ruiz@adacore.com>
594
595 * s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
596 access types.
597 * affinity.c (__gnat_set_affinity_mask): Declare index variable.
598
5992011-08-31 Yannick Moy <moy@adacore.com>
600
601 * sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
602 full-expander test.
16c3301a
AC
603 * alfa.adb, alfa.ads, alfa_test.adb, ali.adb, debug.adb, errout.adb,
604 errout.ads, erroutc.adb, expander.adb, exp_ch4.adb, exp_ch7.adb,
605 freeze.adb, get_alfa.adb, get_alfa.ads, gnat1drv.adb, lib-writ.adb,
606 lib-writ.ads, lib-xref.adb, lib-xref.ads, lib-xref-alfa.adb, opt.adb,
607 opt.ads, put_alfa.adb, put_alfa.ads, restrict.adb, sem_ch12.adb,
608 sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
609 sem_prag.adb, sem_res.adb, sem_util.adb: Minor reformatting, renaming
610 ALFA in Alfa (we dropped acronym).
56812278
AC
611 * einfo.adb (Primitive_Operations): Correctly return list of primitive
612 operations in a case where it returned previously No_Elist.
613
7cda9727
RD
6142011-08-31 Robert Dewar <dewar@adacore.com>
615
616 * s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb,
617 s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads,
618 sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
619 s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb,
620 s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads,
621 s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor
622 reformatting.
623
0a190dfd
AC
6242011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
625
626 * sem_ch12 (Check_Private_View): Revert previous change.
627 * sem_res.adb (Conversion_Check): Do not emit the error message if the
628 conversion is in a generic instance.
629
6302011-08-31 Matthew Heaney <heaney@adacore.com>
631
632 * a-cbhase.adb (Symmetric_Difference): Dereference correct node array.
633 * a-chtgbo.adb (Free): Allow 0 as index value.
634
6352011-08-31 Matthew Heaney <heaney@adacore.com>
636
637 * a-cborma.adb (Insert): Add comment to explain why no element
638 assignment.
639
6402011-08-31 Gary Dismukes <dismukes@adacore.com>
641
642 * sem_util.adb (Find_Body_Discriminal): Test whether the scope of the
643 spec discriminant is already a concurrent type, in which case just use
644 it, otherwise fetch the Corresponding_Concurrent_Type as before.
645
7d266442
EB
6462011-08-30 Eric Botcazou <ebotcazou@adacore.com>
647
648 * system-irix-n64.ads, system-linux-armeb.ads, system-linux-armel.ads,
649 system-linux-mips.ads, system-linux-mipsel.ads,
650 system-linux-mips64el.ads, system-linux-ppc64.ads,
651 system-linux-sparcv9.ads, system-rtems.ads: Remove GCC_ZCX_Support.
652
4f1a975c
EB
6532011-08-30 Eric Botcazou <ebotcazou@adacore.com>
654
655 * gcc-interface/ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.
656 * gcc-interface/utils2.c (build_binary_op): Tighten condition.
657 (build_unary_op): Likewise.
658
f2991b48
EB
6592011-08-30 Eric Botcazou <ebotcazou@adacore.com>
660
661 * raise-gcc.c: Do not include coretypes.h and tm.h.
662 (setup_to_install): Remove test for compiler macro.
663 * targext.c: Document use for the library.
664 * gcc-interface/Makefile.in: Fix comment on the use of IN_GCC.
665
10a22f43
EB
6662011-08-30 Eric Botcazou <ebotcazou@adacore.com>
667
668 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not convert
669 the expression to the nominal type if the latter is a record type with
670 a variant part and the type of the former is a record type without one.
671
bfa2e39d
AC
6722011-08-30 Yannick Moy <moy@adacore.com>
673
674 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
675 expansion in Alfa mode.
676 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public
677 * exp_alfa.adb, exp_alfa.ads: New package defining light expansion for
678 Alfa mode.
679 * gnat1drv.adb (Adjust_Global_Switches): Update Comment.
680 * sem_res.adb: Ditto.
bd34109a 681 * gcc-interface/Make-lang.in: Update dependencies.
bfa2e39d
AC
682
6832011-08-30 Thomas Quinot <quinot@adacore.com>
684
685 * g-socket.ads: Minor documentation adjustment.
686
a0347839
AC
6872011-08-30 Robert Dewar <dewar@adacore.com>
688
689 * exp_ch9.adb, s-tassta.adb, s-secsta.adb: Minor reformatting.
690
6912011-08-30 Yannick Moy <moy@adacore.com>
692
693 * exp_ch6_light.adb, exp_ch6_light.ads, exp_attr_light.adb,
694 exp_attr_light.ads, exp_ch7_light.adb, exp_ch7_light.ads,
695 exp_light.adb, exp_light.ads, exp_prag.adb, expander.adb,
696 gnat1drv.adb, exp_ch11.adb, exp_ch6.adb, exp_ch6.ads, exp_aggr.adb:
697 Revert change which introduced files for "light"
698 expansion, to be replaced by a single file for Alfa expansion.
699
3597c0e9
RD
7002011-08-30 Robert Dewar <dewar@adacore.com>
701
702 * opt.ads, s-soflin.adb, exp_ch9.adb, sem_res.adb: Update comment.
703 Minor code reorg/reformatting.
704
da94696d
AC
7052011-08-30 Yannick Moy <moy@adacore.com>
706
707 * opt.adb, opt.ads (Full_Expander_Active): New function defines a
708 common shorthand for (Expander_Active and not ALFA_Mode) that can be
709 used for testing full expansion, that is active expansion not in the
710 reduced mode for Alfa
711 * exp_ch4.adb, exp_ch9.adb, exp_disp.adb, sem_ch10.adb, sem_ch12.adb,
712 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Use newly defined "flag" instead
713 of the verbose (Expander_Active and not ALFA_Mode)
714
7152011-08-30 Tristan Gingold <gingold@adacore.com>
716
717 * s-parame-vms-alpha.ads, s-parame-hpux.ads, s-tassta.adb,
718 s-tarest.adb, s-parame-vms-ia64.ads, s-soflin.adb, s-secsta.adb,
5b8ca141
TG
719 s-secsta.ads, s-parame.ads, s-parame-vxworks.ads, s-parame-ae653.ads:
720 Renames Ratio to Percentage, and Sec_Stack_Ratio to Sec_Stack_Percentage
da94696d 721
c199ccf7
AC
7222011-08-30 Gary Dismukes <dismukes@adacore.com>
723
724 * sem_res.adb (Valid_Conversion): Revise test for implicit anonymous
725 access conversions to check that the conversion is a rewritten node,
726 rather than just having Comes_From_Source set to False, which wasn't
727 sufficient.
728
7292011-08-30 Robert Dewar <dewar@adacore.com>
730
731 * exp_ch9.adb, sem_ch9.adb, sem_ch6.adb, exp_disp.adb,
732 g-socket.ads: Minor reformatting.
733
7342011-08-30 Thomas Quinot <quinot@adacore.com>
735
736 * sem_util.adb: Minor reformatting.
737
7382011-08-30 Tristan Gingold <gingold@adacore.com>
739
740 * raise-gcc.c: Never catch exception if _UA_FORCE_UNWIND flag is set,
741 to be compliant with the ABI.
742
dff99e1a
AC
7432011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
744
745 * sem_ch12.adb (Check_Private_View): Exchange the private and full view
746 of a designated type when the related access type is an actual in an
747 instance. This ensures that the full view of designated type is
748 available when inside the body of the instance.
749
7502011-08-30 Ed Schonberg <schonberg@adacore.com>
751
752 * sem_util.adb (May_Be_Lvalue): To determine whether a reference may be
753 in a position to be modified, a slice is treated like an indexed
754 component.
755
63be2a5a
AC
7562011-08-30 Thomas Quinot <quinot@adacore.com>
757
758 * s-oscons-tmplt.c, g-socket.ads: Adjust maximum allowed value for
759 field tv_sec in struct timeval.
760
7612011-08-30 Yannick Moy <moy@adacore.com>
762
763 * exp_ch9.adb, exp_disp.adb, sem_ch9.adb, sem_res.adb: Protect several
764 blocks of code doing full expansion, previously only guarded by
765 Expander_Active, by anding the test that ALFA_Mode is not set
766
7672011-08-30 Ed Schonberg <schonberg@adacore.com>
768
769 * sem_ch6.adb (Analyze_Return_Type): If the return type is incomplete,
770 add the function to the list of private dependents, for subsequent
771 legality check on Taft amendment types.
772 * sem_ch12.adb (Analyze_Formal_Incomplete_Type): Initialize
773 Private_Dependents, as for other incomplete types.
774 * sem_util.adb (Wrong_Type): Avoid cascaded errors when a
775 Taft-amendment type is used as the return type of a function.
776
dd54644b
JM
7772011-08-30 Javier Miranda <miranda@adacore.com>
778
779 * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup: replace code
780 which emits an error by a call to a new routine which report the error.
781 * exp_ch9.adb (Build_Wrapper_Spec): Build the wrapper even if the
782 entity does not cover an existing interface.
783 * errout.ads, errout.adb (Error_Msg_PT): New routine. Used to factorize
784 code.
785 * sem_ch6.adb (Check_Conformance): Add specific error for wrappers of
786 protected procedures or entries whose mode is not conformant.
787 (Check_Synchronized_Overriding): Code cleanup: replace code which emits
788 an error by a call to a new routine which report the error.
789
d3ba478e
AC
7902011-08-30 Robert Dewar <dewar@adacore.com>
791
792 * gnat_rm.texi: Minor change.
793 * exp_attr_light.adb: Minor reformatting.
794
7952011-08-30 Ed Schonberg <schonberg@adacore.com>
796
797 * sem_ch3.adb: Patch inheritance of aspects in
798 Complete_Private_Subtype, to avoid infinite loop.
799
c01817d2
AC
8002011-08-30 Javier Miranda <miranda@adacore.com>
801
802 * sem_ch3.adb (Add_Internal_Interface_Entities): If serious errors have
803 been reported and a subprogram covering an interface primitive is not
804 found then skip generating the internal entity. Done to avoid crashing
805 the frontend.
806 (Check_Abstract_Overriding): Change text of error of wrong formal of
807 protected subprogram or entry. Done for consistency to emit exactly the
808 same error reported by Check_Synchronized_Overriding. In addition, the
809 error is restricted to protected types (bug found working on AI05-0090)
810
8112011-08-30 Yannick Moy <moy@adacore.com>
812
813 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
814 expansion in Alfa mode.
815 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public.
816 * exp_light.adb, exp_light.ads: New package defining light expansion.
817 * expander.adb (Expand): Call light expansion in Alfa mode
818 * exp_ch6_light.adb, exp_ch6_light.ads: Light expansion of chapter 6
819 constructs.
820 * exp_ch7_light.adb, exp_ch7_light.ads: Light expansion of chapter 7
821 constructs.
822 * exp_attr_light.adb, exp_attr_light.ads: Light expansion of attributes
823 * gnat1drv.adb (Adjust_Global_Switches): Comment
824
8252011-08-30 Yannick Moy <moy@adacore.com>
826
827 * lib-xref-alfa.adb: Minor refactoring.
828
8292011-08-30 Yannick Moy <moy@adacore.com>
830
831 * exp_ch9.adb (Expand_Entry_Barrier): Do not perform expansion in Alfa
832 mode.
833 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
834 expansion in Alfa mode.
835 * sem_ch9.adb (Analyze_Entry_Body): Do not perform expansion in Alfa
836 mode.
837
8382011-08-30 Robert Dewar <dewar@adacore.com>
839
840 * debug_a.adb: Update comment.
841
996c8821
RD
8422011-08-30 Robert Dewar <dewar@adacore.com>
843
844 * exp_ch5.adb, sem_ch3.adb, sem_ch5.adb, einfo.adb, checks.adb,
845 sem_util.adb, sem_util.ads, sem_res.adb, s-stposu.adb, sem_attr.adb,
846 exp_ch4.adb, exp_ch6.adb, lib-xref-alfa.adb,
847 sem_ch8.adb, sem_disp.adb, exp_ch3.adb: Minor reformatting
848
8492011-08-30 Robert Dewar <dewar@adacore.com>
850
851 * gnat_rm.texi: Add section on C.6(16) implementation advice for pragma
852 volatile.
853
3647ca26
HK
8542011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
855
856 * exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to
857 Build_Finalization_Master by supplying an insertion node and enclosing
858 scope. In its old version, the call did not generate a finalization
859 master.
860 (Expand_Freeze_Record_Type): Add local variable Has_AACC. Add code to
861 recognize anonymous access-to-controlled components. Rewrite the
862 machinery which creates finalization masters to service anonymous
863 access-to-controlled components of a record type. In its current state,
864 only one heterogeneous master is necessary to handle multiple anonymous
865 components.
866 (Freeze_Type): Comment reformatting.
867 * rtsfind.ads: Add RE_Set_Is_Heterogeneous to tables RE_Id and
868 RE_Unit_Table.
869 * s-stposu.adb (Allocate_Any_Controlled): Rewrite the machinery which
870 associates TSS primitive Finalize_Address with either the master itself
871 or with the internal hash table depending on the mode of operation of
872 the master.
873
6d4e4fbc
JM
8742011-08-30 Javier Miranda <miranda@adacore.com>
875
876 * exp_ch3.adb (Make_Eq_If): If the etype of the _parent component is an
877 interface type then do not generate code to compare this component.
878 Required since they have no components and their equality operator is
879 abstract.
880
d15f9422
AC
8812011-08-30 Steve Baird <baird@adacore.com>
882
883 * sem_util.ads (Deepest_Type_Access_Level): New function; for the type
884 of a saooaaat (i.e, a stand-alone object of an anonymous access type),
885 returns the (static) accessibility level of the object. Otherwise, the
886 same as Type_Access_Level.
887 (Dynamic_Accessibility_Level): New function; given an expression which
888 could occur as the rhs of an assignment to a saooaaat (i.e., an
889 expression of an access-to-object type), return the new value for the
890 saooaaat's associated Extra_Accessibility object.
891 (Effective_Extra_Accessibility): New function; same as
892 Einfo.Extra_Accessibility except that object renames are looked through.
893 * sem_util.adb
894 (Deepest_Type_Access_Level): New function; see sem_util.ads description.
895 (Dynamic_Accessibility_Level): New function; see sem_util.ads
896 description.
897 (Effective_Extra_Accessibility): New function; see sem_util.ads
898 description.
899 * einfo.ads (Is_Local_Anonymous_Access): Update comments.
900 (Extra_Accessibility): Update comments.
901 (Init_Object_Size_Align): New procedure; same as Init_Size_Align
902 except RM_Size field (which is only for types) is unaffected.
903 * einfo.adb
904 (Extra_Accessibility): Expand domain to allow objects, not just formals.
905 (Set_Extra_Accessibility): Expand domain to allow objects, not just
906 formals.
907 (Init_Size): Add assertion that we are not trashing the
908 Extra_Accessibility attribute of an object.
909 (Init_Size_Align): Add assertion that we are not trashing the
910 Extra_Accessibility attribute of an object.
911 (Init_Object_Size_Align): New procedure; see einfo.ads description.
912 * sem_ch3.adb (Find_Type_Of_Object): Set Is_Local_Anonymous_Access
913 differently for the type of a (non-library-level) saooaaat depending
914 whether Ada_Version < Ada_2012. This is the only point where Ada_Version
915 is queried in this set of changes - everything else (in particular,
916 setting of the Extra_Accessibility attribute in exp_ch3.adb) is
917 driven off of the setting of the Is_Local_Anonymous_Access attribute.
918 The special treatment of library-level saooaaats is an optimization,
919 not required for correctnesss. This is based on the observation that the
920 Ada2012 rules (static and dynamic) for saooaaats turn out to be
921 equivalent to the Ada2005 rules in the case of a library-level saooaaat.
922 * exp_ch3.adb
923 (Expand_N_Object_Declaration): If Is_Local_Anonymous_Access is
924 false for the type of a saooaaat, declare and initialize its
925 accessibility level object and set the Extra_Accessibility attribute
926 of the saooaaat to refer to this object.
927 * checks.adb (Apply_Accessibility_Check): Add Ada 2012 saooaaat support.
928 * exp_ch4.adb (Expand_N_In): Replace some Extra_Accessibility calls with
929 calls to Effective_Extra_Accessibility in order to support
930 renames of saooaaats.
931 (Expand_N_Type_Conversion): Add new local function,
932 Has_Extra_Accessibility, and call it when determining whether an
933 accessibility check is needed.
934 It returns True iff Present (Effective_Extra_Accessibility (Id)) would
935 evaluate to True (without raising an exception).
936 * exp_ch5.adb
937 (Expand_N_Assignment_Statement): When assigning to an Ada2012
938 saooaaat, update its associated Extra_Accessibility object (if
939 it has one). This includes an accessibility check.
940 * exp_ch6.adb (Add_Call_By_Copy_Code): When parameter copy-back updates
941 a saooaaat, update its Extra_Accessibility object too (if it
942 has one).
943 (Expand_Call): Replace a couple of calls to Type_Access_Level
944 with calls to Dynamic_Access_Level to handle cases where
945 passing a literal (any literal) is incorrect.
946 * sem_attr.adb (Resolve_Attribute): Handle the static accessibility
947 checks associated with "Saooaat := Some_Object'Access;"; this must
948 be rejected if Some_Object is declared in a more nested scope
949 than Saooaat.
950 * sem_ch5.adb (Analyze_Assignment): Force accessibility checking for an
951 assignment to a saooaaat even if Is_Local_Anonymous_Access
952 returns False for its type (indicating a 2012-style saooaaat).
953 * sem_ch8.adb
954 (Analyze_Object_Renaming): Replace a call to Init_Size_Align
955 (which is only appropriate for objects, not types) with a call
956 of Init_Object_Size_Align in order to avoid trashing the
957 Extra_Accessibility attribute of a rename (the two attributes
958 share storage).
959 * sem_res.adb
960 (Valid_Conversion) Replace six calls to Type_Access_Level with
961 calls to Deepest_Type_Access_Level. This is a bit tricky. For an
962 Ada2012 non-library-level saooaaat, the former returns library level
963 while the latter returns the (static) accessibility level of the
964 saooaaat. A type conversion to the anonymous type of a saooaaat
965 can only occur as part of an assignment to the saooaaat, so we
966 know that such a conversion must be in a lhs context, so Deepest
967 yields the result that we need. If such a conversion could occur,
968 say, as the operand of an equality operator, then this might not
969 be right. Also add a test so that static accessibilty checks are
970 performed for converting to a saooaaat's type even if
971 Is_Local_Anonymous_Access yields False for the type.
972
9732011-08-30 Javier Miranda <miranda@adacore.com>
974
975 * sem_disp.adb (Check_Dispatching_Operation): Complete condition that
976 controls generation of a warning associated with late declaration of
977 dispatching functions. Required to avoid generating spurious
978 warnings.
979
6cce2156
GD
9802011-08-30 Gary Dismukes <dismukes@adacore.com>
981
982 * sem_ch6.adb (Check_Return_Subtype_Indication): Issue error if the
983 return object has an anonymous access type and the function's type is
984 a named access type.
985 * sem_ch8.adb (Analyze_Object_Renaming): Suppress error about renaming
986 conversions on implicit conversions, since such conversions can occur
987 for anonymous access cases due to expansion. Issue error for attempt
988 to rename an anonymous expression as an object of a named access type.
989 * sem_res.ads (Valid_Conversion): Add defaulted parameter Report_Errs,
990 to indicate whether this function should report errors on invalid
991 conversions.
992 * sem_res.adb (Resolve): For Ada 2012, in the case where the type of
993 the expression is of an anonymous access type and the expected type is
994 a named general access type, rewrite the expression as a type
995 conversion, unless this is an expression of a membership test.
996 (Valid_Conversion.Error_Msg_N): New procedure that conditions the
997 calling of Error_Msg_N on new formal Report_Errs.
998 (Valid_Conversion.Error_Msg_NE): New procedure that conditions the
999 calling of Error_Msg_NE on new formal Report_Errs.
1000 (Valid_Conversion): Move declaration of this function to the package
1001 spec, to allow calls from membership test processing. For Ada 2012,
1002 enforce legality restrictions on implicit conversions of anonymous
1003 access values to general access types, disallowing such conversions in
1004 cases where the expression has a dynamic accessibility level (access
1005 parameters, stand-alone anonymous access objects, or a component of a
1006 dereference of one of the first two cases).
1007 * sem_type.adb (Covers): For Ada 2012, allow an anonymous access type
1008 in the context of a named general access expected type.
1009 * exp_ch4.adb Add with and use of Exp_Ch2.
1010 (Expand_N_In): Add processing for membership tests applied to
1011 expressions of an anonymous access type. First, Valid_Conversion is
1012 called to check whether the test is statically False, and then the
1013 conversion is expanded to test that the expression's accessibility
1014 level is no deeper than that of the tested type. In the case of
1015 anonymous access-to-tagged types, a tagged membership test is applied
1016 as well.
1017 (Tagged_Membership): Extend to handle access type cases, applying the
1018 test to the designated types.
1019 * exp_ch6.adb (Expand_Call): When creating an extra actual for an
1020 accessibility level, and the actual is a 'Access applied to a current
1021 instance, pass the accessibility level of the type of the current
1022 instance rather than applying Object_Access_Level to the prefix. Add a
1023 ??? comment, since this level isn't quite right either (will eventually
1024 need to pass an implicit level parameter to init procs).
1025
747de90b
AC
10262011-08-30 Bob Duff <duff@adacore.com>
1027
1028 * s-taskin.ads: Minor comment fix.
1029
10302011-08-30 Ed Schonberg <schonberg@adacore.com>
1031
1032 * sem_res.adb (Check_Parameterless_Call): If the node is a selected
1033 component and the selector is a dispatching operation, check if it is
1034 a prefixed call before rewriting as a parameterless function call.
1035
cdc4cc65
JJ
10362011-08-29 Jakub Jelinek <jakub@redhat.com>
1037
1038 * gcc-interface/Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy
1039 tsystem.h into $(RTSDIR) instead of rts.
1040
226a7fa4
AC
10412011-08-29 Robert Dewar <dewar@adacore.com>
1042
1043 * sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor
1044 reformatting.
1045 * gcc-interface/Make-lang.in: Update dependencies.
1046
10472011-08-29 Yannick Moy <moy@adacore.com>
1048
1049 * alfa.ads (Name_Of_Heap_Variable): New constant name.
1050 * lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global
1051 table to hold dereferences.
1052 (Add_ALFA_Xrefs): Take into account dereferences as special
1053 reads/writes to the variable "HEAP".
1054 (Enclosing_Subprogram_Or_Package): Move subprogram here.
1055 (Generate_Dereference): New procedure to store a read/write dereferencew
1056 in the table Drefs.
1057 * put_alfa.adb (Put_ALFA): Use different default than (0,0) used for
1058 the special "HEAP" var.
1059 * sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference
1060 in ALFA mode.
1061 * sem_util.adb (Note_Possible_Modification): Store write dereference
1062 in ALFA mode.
1063
dfbcb149
HK
10642011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1065
1066 * exp_ch3.adb (Freeze_Type): Generate an accessibility check which
1067 ensures that the level of the subpool access type is not deeper than
1068 that of the pool object.
1069 * sem_util.adb (Object_Access_Level): Expand to handle defining
1070 identifiers.
1071 * sem_res.adb (Resolve_Allocator): Add a guard to avoid examining the
1072 subpool handle name of a rewritten allocator.
1073
1df4f514
AC
10742011-08-29 Robert Dewar <dewar@adacore.com>
1075
1076 * impunit.adb, exp_ch4.adb, s-finmas.adb: Minor reformatting.
1077
10782011-08-29 Thomas Quinot <quinot@adacore.com>
1079
1080 * exp_dist.adb (TC_Rec_Add_Process_Element): For a choice with multiple
1081 values, we generate multiple triples of parameters in the TypeCode.
1082 Bump Choice_Index for each such triple so that a subsequent default
1083 choice is associated with the correct index in the typecode.
1084
10852011-08-29 Ed Schonberg <schonberg@adacore.com>
1086
1087 * a-cdlili.adb (Iterate): Initialize properly an iterator over a null
1088 container.
1089 (First, Last): Handle properly an iterator over a null container.
1090
10912011-08-29 Bob Duff <duff@adacore.com>
1092
1093 * sem_ch10.adb (Analyze_With_Clause,Install_Withed_Unit): Abandon
1094 processing if we run across a node with no Scope. This can happen if
1095 we're with-ing an library-level instance, and that instance got errors
1096 that caused "instantiation abandoned".
1097 * sem_util.adb (Unit_Declaration_Node): Make it more robust, by raising
1098 an exception instead of using Assert, so it won't go into an infinite
1099 loop, even when assertions are turned off.
1100
11012011-08-29 Ed Schonberg <schonberg@adacore.com>
1102
1103 * a-coorse.adb: Proper handling of empty ordered sets.
1104
14f0f659
AC
11052011-08-29 Johannes Kanig <kanig@adacore.com>
1106
1107 * debug.adb: Add comments.
1108
8027b455
AC
11092011-08-29 Thomas Quinot <quinot@adacore.com>
1110
1111 * a-except.adb, a-except-2005.adb: Minor comment rewording and
1112 reformatting.
1113
11142011-08-29 Yannick Moy <moy@adacore.com>
1115
1116 * sem_ch3.adb (Array_Type_Declaration): Remove insertion of
1117 declaration for Itypes in Alfa mode.
1118
d85fd922
AC
11192011-08-29 Robert Dewar <dewar@adacore.com>
1120
1121 * a-cdlili.ads, a-coinve.ads, a-coorma.adb, a-coorma.ads, s-tassta.adb,
1122 a-cborma.adb, a-cborma.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
1123 a-cborse.ads, a-cobove.adb, a-cobove.ads, a-cbhase.ads: Minor
1124 reformatting.
1125
11262011-08-29 Tristan Gingold <gingold@adacore.com>
1127
1128 * exp_ch7.adb, exp_ch7.ads (Build_Exception_Handler): Move its spec to
1129 package spec.
1130 * exp_intr.adb (Expand_Unc_Deallocation): Use Build_Exception_Handler.
1131 * a-except.adb, a-except-2005.adb (Rcheck_22): Do not defer aborts
1132 while raising PE.
1133
fd3d2680
AC
11342011-08-29 Robert Dewar <dewar@adacore.com>
1135
1136 * a-cbhama.adb, a-cbhama.ads: Minor reformatting.
1137
11382011-08-29 Javier Miranda <miranda@adacore.com>
1139
1140 * sem_ch8.adb (Analyze_Subprogram_Renaming): Complete support for
1141 renamings of formal subprograms when the actual for a formal type is
1142 class-wide.
1143
dfbf013f
MH
11442011-08-29 Matthew Heaney <heaney@adacore.com>
1145
1146 * a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment
1147 to Target.
1148
11492011-08-29 Matthew Heaney <heaney@adacore.com>
1150
1151 * a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all
1152 components of record type.
1153 * a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw
1154 to Target.
1155
a6dd3a54
ES
11562011-08-29 Ed Schonberg <schonberg@adacore.com>
1157
1158 * a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb,
1159 a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to
1160 container packages.
1161
c54796e0
AC
11622011-08-29 Robert Dewar <dewar@adacore.com>
1163
1164 * sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
1165 reformatting.
1166
11672011-08-29 Matthew Heaney <heaney@adacore.com>
1168
1169 * a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
1170 components of record type.
1171
11722011-08-29 Bob Duff <duff@adacore.com>
1173
1174 * s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
1175 by the termination handler.
1176
9fd9d2be
AC
11772011-08-29 Yannick Moy <moy@adacore.com>
1178
1179 * sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
1180 created in Alfa mode, instead of inserting artificial declarations of
1181 non-Itypes in the tree.
1182 * sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to
1183 know if an Itype has a corresponding declaration, as defined in
1184 itypes.ads.
1185
11862011-08-29 Yannick Moy <moy@adacore.com>
1187
1188 * gnat1drv.adb: Minor rewrite.
1189
11902011-08-29 Bob Duff <duff@adacore.com>
1191
1192 * s-tasuti.adb (Make_Passive): Work around race condition in
1193 Make_Independent, which can cause Wait_Count to be zero. So instead of
1194 asserting that Wait_Count > 0, and then decrementing it, decrement it
1195 only if Wait_Count > 0.
1196 * s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these
1197 should be nonnegative, so declare them Natural instead of Integer.
1198
833eaa8a
AC
11992011-08-29 Robert Dewar <dewar@adacore.com>
1200
1201 * exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb,
1202 sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb,
1203 a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb,
1204 a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb,
1205 exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting.
1206
12072011-08-29 Tristan Gingold <gingold@adacore.com>
1208
1209 * s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels.
1210
12112011-08-29 Vadim Godunko <godunko@adacore.com>
1212
1213 * s-parint.ads: Minor comment clarification.
1214
12152011-08-29 Vincent Celier <celier@adacore.com>
1216
1217 * prj.adb (Initialize): Make sure that new reserved words after Ada 95
1218 may be used as identifiers.
1219
12202011-08-29 Ed Schonberg <schonberg@adacore.com>
1221
1222 * a-coinho.ads: Minor reformating.
1223
3a613a36
AC
12242011-08-29 Ed Schonberg <schonberg@adacore.com>
1225
1226 * exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a
1227 container of a derived type.
1228
3a613a36
AC
12292011-08-29 Ed Schonberg <schonberg@adacore.com>
1230
1231 * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
1232 a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers.
1233
14848f57
AC
12342011-08-29 Pascal Obry <obry@adacore.com>
1235
1236 * exp_disp.adb: Minor comment fix.
1237 (Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters
1238 to avoid warnings when compiling with -Wall.
1239 (Make_Disp_Conditional_Select_Body): Likewise.
1240 (Make_Disp_Timed_Select_Body): Likewise.
1241
12422011-08-29 Ed Schonberg <schonberg@adacore.com>
1243
1244 * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is
1245 an entity name, generate reference for it.
1246
12472011-08-29 Ed Schonberg <schonberg@adacore.com>
1248
1249 * exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S"
1250 iterator form.
1251 * sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for
1252 the class-wide type.
1253 * sem_ch5.adb: Move some rewriting to the expander, where it belongs.
1254
12552011-08-29 Ed Schonberg <schonberg@adacore.com>
1256
1257 * sem_ch8.adb (Check_Constrained_Object): Do not create an actual
1258 subtype for an object whose type is an unconstrained union.
1259
12602011-08-29 Ed Schonberg <schonberg@adacore.com>
1261
1262 * par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased"
1263 is allowed in a component definition, by AI95-406.
1264
12652011-08-29 Matthew Heaney <heaney@adacore.com>
1266
1267 * a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next.
1268
12692011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1270
1271 * a-except-2005.adb: Alphabetize all routines.
1272 (Triggered_By_Abort): New routine.
1273 * a-except-2005.ads (Triggered_By_Abort): New routine.
1274 * a-except.adb Alphabetize all routines.
1275 (Triggered_By_Abort): New routine.
1276 * a-except.ads (Triggered_By_Abort): New routine.
1277 * exp_ch7.adb: Update all comments involving the detection of aborts in
1278 finalization code.
1279 (Build_Object_Declarations): Do not generate code to detect the
1280 presence of an abort at the start of finalization code, use a runtime
1281 routine istead.
1282 * rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and
1283 RE_Unit_Table.
1284 * sem_res.adb (Resolve_Allocator): Emit a warning when attempting to
1285 allocate a task on a subpool.
1286 * s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use.
1287 The flag disables all actions related to the maintenance of
1288 Finalize_Address_Table when subpools are not in use.
1289 (Allocate_Any_Controlled): Signal the machinery that subpools are in
1290 use.
1291 (Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which
1292 performs costly task locking when subpools are not in use.
1293
57a8057a
AC
12942011-08-29 Yannick Moy <moy@adacore.com>
1295
1296 * gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged
1297 types and dispatching calls in Alfa mode.
1298 * lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of
1299 correspondance between body and spec scopes, to reuse utility functions
1300 (Traverse_Declarations_Or_Statements): Protect access to body for stub
1301 by testing the presence of the library unit for the body
1302 * sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa
1303 mode the expansion of accept statements is skipped
1304 * sem_util.adb, sem_util.ads (Unique_Entity): New function returning
1305 the unique entity corresponding to the one returned by
1306 Unique_Defining_Entity applied to the enclosing declaration of the
1307 argument.
1308
13092011-08-29 Bob Duff <duff@adacore.com>
1310
1311 * treepr.ads: Improve debugging facilities. pn(x) no longer crashes in
1312 gdb when x is not a node (it can be a node list, name_id, etc). pp is
1313 an alias for pn. ppp is an alias for pt.
1314
13152011-08-29 Javier Miranda <miranda@adacore.com>
1316
1317 * exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing
1318 aggregate to take a consistent decision on the need to convert into
1319 assignments aggregates that initialize constant objects.
1320
13212011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1322
1323 * exp_ch4.adb (Expand_Allocator_Expression): Add a call to
1324 Build_Allocate_Deallocate_Proc in order to handle allocation of
1325 non-controlled objects on subpools.
1326 * impunit.adb: Remove s-finmas and s-spsufi since they were never meant
1327 to be end-user visible.
1328 * s-finmas.adb: Add with and use clause for System.HTable.
1329 Add an instantiation of Simple_HTable which provides a mapping between
1330 the address of a controlled object and the corresponding
1331 Finalize_Address used to clean up the object. The table is used when a
1332 master is operating in heterogeneous mode.
1333 (Attach): Explain why the input node is not verified on being already
1334 attached.
1335 (Delete_Finalize_Address): New routine.
1336 (Detach): Add pragma Assert which ensures that a node is already
1337 attached.
1338 (Finalize): Add local variable Cleanup. Rewrite the iteration scheme
1339 since nodes are no longer removed on traversal. Explain why node
1340 detachment is undesirable in this case.
1341 (Get_Finalize_Address): New routine.
1342 (Hash): New routine.
1343 (Is_Empty_List): Removed.
1344 (pm): Renamed to Print_Master. Add output for discriminant
1345 Is_Homogeneous.
1346 Comment reformatting.
1347 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
1348 * s-finmas.ads: Various comments additions / improvements.
1349 Type Finalization_Master has a discriminant which determines the mode of
1350 operation.
1351 (Delete_Finalize_Address): New routine.
1352 (Get_Finalize_Address): New routine.
1353 (pm): Renamed to Print_Master.
1354 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
1355 * s-stposu.adb: Add with clause for System.Address_Image; Add with and
1356 use clause for System.IO.
1357 (Allocate_Any_Controlled): Add machinery to set TSS primitive
1358 Finalize_Address depending on the mode of allocation and the mode of
1359 the master.
1360 (Deallocate_Any_Controlled): Remove the relation pair object -
1361 Finalize_Address regardless of the master mode. Add comment explaining
1362 the reason.
1363 (Detach): Ensure that fields Prev and Next are null after detachment.
1364 (Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration
1365 scheme to check whether the list of subpools is empty. There is no
1366 longer need to store the next subpool or advance the current pointer.
1367 (Is_Empty_List): New routine.
1368 (Print_Pool): New routine.
1369 (Print_Subpool): New routine.
1370 * s-stposu.ads: Various comments additions / improvements.
1371 Field Master of type Root_Subpool is now a heterogeneous collection.
1372 (Print_Pool): New routine.
1373 (Print_Subpool): New routine.
1374
13752011-08-29 Ed Schonberg <schonberg@adacore.com>
1376
1377 * exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator
1378 forms, using aspects of container types.
1379 * sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and
1380 Has_Implicit_Dereference flags, that may be set on the partial view.
1381 * sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a
1382 container type with an indexing aspect.
1383 (Analyze_Quantified_Expression): Analyze construct with expansion
1384 disabled, because it will be rewritten as a loop during expansion.
1385 (Try_Container_Indexing): The prefix itself may be a container type
1386 with an indexing aspect, as with a vector of vectors.
1387 * sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze
1388 the original doamin of iteration, for name capture.
1389 (Analyze_Iterator_Specification): If the domain is an expression that
1390 needs finalization, create a separate declaration for it.
1391 For an iterator with "of" retrieve default iterator info from aspect of
1392 container type. For "in" iterator, retrieve type of Iterate function.
1393 * sem_ch13.adb (Check_Iterator_Function): Fix typo.
1394 (Check_Aspect_At_End_Of_Declaration): Make type unfrozen before
1395 analysis, to prevent spurious errors about late attributes.
1396 * sprint.adb: Handle quantified expression with either loop or iterator
1397 specification.
1398 * a-convec.ads, a-convec.adb: Iterate function returns a reversible
1399 iterator.
1400
ddf67a1d
AC
14012011-08-29 Vincent Celier <celier@adacore.com>
1402
1403 * make.adb (Scan_Make_Arg): Take any option as is in packages Compiler,
1404 Binder or Linker of the main project file.
1405
14062011-08-29 Ed Schonberg <schonberg@adacore.com>
1407
1408 * inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic
1409 unit.
1410
14112011-08-29 Yannick Moy <moy@adacore.com>
1412
1413 * exp_ch9.adb: Partial revert of previous change for Alfa mode
1414
14152011-08-29 Yannick Moy <moy@adacore.com>
1416
1417 * exp_ch11.adb: Minor expansion of comment.
1418
14192011-08-29 Yannick Moy <moy@adacore.com>
1420
1421 * lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities.
1422
14232011-08-29 Ed Schonberg <schonberg@adacore.com>
1424
1425 * sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal
1426 interpretation, set the type before resolving the operands, because
1427 legality checks on an exponention operand need to know the type of the
1428 context.
1429
14302011-08-29 Ed Schonberg <schonberg@adacore.com>
1431
1432 * sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed
1433 cleanups on a master if the instance is within a generic unit.
1434 Complement to the corresponding fix to inline.adb for K520-030.
1435
14362011-08-29 Tristan Gingold <gingold@adacore.com>
1437
1438 * exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current
1439 occurrence.
1440 * exp_intr.adb: Minor comment fix.
1441
14422011-08-29 Bob Duff <duff@adacore.com>
1443
1444 * sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where
1445 Delay_Required was used as an uninitialized variable.
1446
690943fc
RD
14472011-08-29 Robert Dewar <dewar@adacore.com>
1448
1449 * a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads,
1450 sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb,
1451 a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting.
1452
9f0ee988
TQ
14532011-08-29 Thomas Quinot <quinot@adacore.com>
1454
1455 * system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True.
1456 Remove unused variables.
1457
3e24afaa
AC
14582011-08-29 Ed Schonberg <schonberg@adacore.com>
1459
1460 * sem_res.adb: Remove Build_Explicit_Dereference.
1461 * sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here
1462 from sem_res.adb, used in analysis of additional constructs.
1463 (Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012
1464 expansion of iterators.
1465 (Is_Object_Reference): Recognize variables rewritten as explicit
1466 dereferences in Ada2012.
1467 * snames.ads-tmpl: Add Has_Element, Forward_Iterator,
1468 Reversible_Iterator names, for expansion of Ada2012 iterators.
1469 * aspects.ads, aspects.adb (Find_Aspect): Utility.
1470 * a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly
1471 linked list container.
1472 * a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers.
1473 * a-coorse.ads, a-coorse.adb: Ditto for ordered sets.
1474
14752011-08-29 Ed Schonberg <schonberg@adacore.com>
1476
1477 * a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map
1478 containers.
1479
14802011-08-29 Vincent Celier <celier@adacore.com>
1481
1482 * make.adb (Gnatmake): Get the maximum number of simultaneous
1483 compilation processes after the Builder switches has been scanned, as
1484 there may include -jnn.
1485
14862011-08-29 Matthew Heaney <heaney@adacore.com>
1487
1488 * a-chtgbo.adb (Generic_Equal): Use correct overloading of Next.
1489
14902011-08-29 Tristan Gingold <gingold@adacore.com>
1491
1492 * gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of
1493 GNAT_DRIVER_COMMAND_LINE to 255.
1494
14952011-08-29 Pascal Obry <obry@adacore.com>
1496
1497 * freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor
1498 reformatting and style fix (class attribute casing).
1499
15002011-08-29 Yannick Moy <moy@adacore.com>
1501
1502 * exp_ch11.adb: Yet another case where expansion should be common
1503 between CodePeer and Alfa.
1504
15052011-08-29 Yannick Moy <moy@adacore.com>
1506
1507 * exp_ch9.adb: Partial revert of previous change for Alfa mode.
1508
15092011-08-29 Ed Schonberg <schonberg@adacore.com>
1510
1511 * sem_ch6.adb (Matches_Limited_With_View): The limited views of an
1512 incomplete type and its completion match.
1513
3ddd922e
AC
15142011-08-29 Yannick Moy <moy@adacore.com>
1515
1516 * exp_ch13.adb: Adjust previous change.
1517
15182011-08-29 Robert Dewar <dewar@adacore.com>
1519
1520 * sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
1521 exp_ch4.adb, sem_ch8.adb: Minor code reorganization
1522 Minor reformatting.
1523
444acbdd
AC
15242011-08-29 Emmanuel Briot <briot@adacore.com>
1525
1526 * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also
1527 initialize aggregated projects.
1528
15292011-08-29 Ed Schonberg <schonberg@adacore.com>
1530
1531 * sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope
1532 depth of candidates to resolve a potentially spurious ambiguity between
1533 two visible subprograms.
1534
e0296583
AC
15352011-08-29 Yannick Moy <moy@adacore.com>
1536
1537 * sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without
1538 Requires/Ensures.
1539 * sem_util.adb (Get_Ensures_From_Test_Case_Pragma,
1540 Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without
1541 Requires/Ensures.
1542
15432011-08-29 Arnaud Charlet <charlet@adacore.com>
1544
1545 * gnat1drv.adb (Adjust_Global_Switches): Improve previous change.
1546 Add comment.
1547
15482011-08-29 Thomas Quinot <quinot@adacore.com>
1549
1550 * sem_res.adb: Minor reformatting.
1551
69794413
JK
15522011-08-29 Johannes Kanig <kanig@adacore.com>
1553
1554 * exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
1555 mode.
1556 * gnat1drv.adb (Adjust_Global_Switches): Set
1557 Use_Expressions_With_Actions to False in ALFA mode.
1558 * sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
1559 ALFA mode.
1560
59e6b23c
AC
15612011-08-29 Yannick Moy <moy@adacore.com>
1562
1563 * exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
1564 * exp_ch9.adb: Do not expand tasking constructs in Alfa mode.
1565 * gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of
1566 tagged types and dispatching calls in Alfa mode.
1567
15682011-08-29 Javier Miranda <miranda@adacore.com>
1569
1570 * sem_ch3.adb (Process_Discriminants): Add missing check to ensure that
1571 we do not report an error on an Empty node.
1572
15732011-08-29 Geert Bosch <bosch@adacore.com>
1574
1575 * Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o,
1576 a-nlrear.o and a-nurear.o.
1577
15782011-08-29 Robert Dewar <dewar@adacore.com>
1579
1580 * freeze.adb: Minor code reorganization.
1581 Minor reformatting.
1582 * sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb,
1583 sem_ch6.adb: Minor reformatting
1584
15852011-08-29 Tristan Gingold <gingold@adacore.com>
1586
1587 * s-except.ads, s-except.adb: Provide dummy body.
1588
15892011-08-29 Yannick Moy <moy@adacore.com>
1590
1591 * sem_warn.adb (Within_Postcondition): Take into account the case of
1592 an Ensures component in a Test_Case.
1593
4d792549
AC
15942011-08-29 Tristan Gingold <gingold@adacore.com>
1595
1596 * s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
1597 * rtsfind.ads (RTU_Id): Replaces System_Exceptions by
1598 System_Exceptions_Debug
1599 (RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
1600 * a-except.adb: With and use System.Exceptions_Debug instead of
1601 System.Exceptions.
1602 * a-except-2005.adb: Likewise.
1603 * s-assert.adb: Likewise.
1604 * s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
1605 * Makefile.rtl: Add s-excdeb. Adjust compilation rule.
1606 * gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
1607 s-excdeb. Update dependencies.
1608 (GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
1609 as these no longer need external libraries.
1610
16112011-08-29 Ed Schonberg <schonberg@adacore.com>
1612
1613 * sem_res.adb (Resolve_Op_Expon): Additional check to reject an
1614 exponentiation operator on universal values in a context that requires
1615 a fixed-point type.
1616
16172011-08-29 Tristan Gingold <gingold@adacore.com>
1618
1619 * raise-gcc.c (personnality_routine): Fix thinko. Set Ada occurrence
1620 before calling notify_handled_exception.
1621 * a-exextr.adb: Fix comment.
1622
b254da66
AC
16232011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1624
1625 * exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
1626 Finalize_Address of the access type's finalization master.
1627 (Expand_N_Allocator): Add code to set attribute Finalize_Address of the
1628 access type's finalization master. Add a guard to prevent
1629 Associated_Storage_Pool from being set on .NET/JVM.
1630 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
1631 attribute Finalize_Address of the access type's finalization master.
1632 * exp_ch7.adb (Make_Finalize_Address_Call): New routine.
1633 * exp_ch7.ads (Make_Finalize_Address_Call): New routine.
1634 * rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
1635 RE_Unit_Table.
1636 * s-finmas.adb: Add with clause for System.Address_Image. Add with and
1637 use clause for System.IO
1638 (Detach): Relax the assertion, to be reinstated later.
1639 (Finalize): Rewrite the iteration loop to avoid pointer comparison.
1640 Relax the assertion on Finalize_Address, to be reinstated later.
1641 (Is_Empty_List): New routine.
1642 (pm): New debug routine.
1643 (Set_Finalize_Address): New routine.
1644 * s-finmas.ads (pm): New debug routine.
1645 (Set_Finalize_Address): New routine.
1646 * s-stposu.adb (Allocate_Any_Controlled): Code reformatting.
1647
16482011-08-29 Tristan Gingold <gingold@adacore.com>
1649
1650 * a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
1651 Remove convention C.
1652
16532011-08-29 Tristan Gingold <gingold@adacore.com>
1654
1655 * s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
1656 (Initialize_TCB): Remove Exc_Stack_Ptr initialization.
1657 (Finalize_TCB): Remove its finalization.
1658 (Initialize): Remove assignment of GET_Exc_Stack_Addr
1659 * s-soflin.adb (NT_Exc_Stack): Remove
1660 (Get_Exc_Stack_Addr_NT): Likewise.
1661 (Get_Exc_Stack_Addr_Soft): Likewise.
1662 * s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
1663 (Get_Exc_Stack_Addr): Likewise.
1664 (Get_Exc_Stack_Addr_Soft): Likewise
1665 * s-taspri-vms.ads (Exc_Stack_T): Remove.
1666 (Exc_Stack_Ptr_T): Likewise.
1667 (Private_Data): Remove Exc_Stack_Ptr component.
1668
16692011-08-29 Tristan Gingold <gingold@adacore.com>
1670
1671 * raise-gcc.c (get_ip_from_context): New function. Factorize code.
1672
16732011-08-29 Tristan Gingold <gingold@adacore.com>
1674
1675 * gnat_ugn.texi: Fix aix and x86-solaris info for run-time.
1676
16772011-08-29 Geert Bosch <bosch@adacore.com>
1678
1679 * s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
1680 L2_Norm, Swap_Column): New generic subprograms
1681 * s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
1682 L2_Norm, Swap_Column): Implement new subprograms in order to
1683 eliminate dependency on BLAS and LAPACK libraries in
1684 Ada.Numerics.Generic_Real_Arrays and eventually also the complex
1685 version. Forward_Eliminate/Back_Substitute can be used to put a
1686 matrix in row echelon or reduced row echelon form using partial
1687 pivoting.
1688 * a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
1689 Swap_Column): Instantiate from System.Generic_Array_Operations.
1690 ("*", "abs"): Implement by instantiation from Generic_Array_Operations.
1691 (Sqrt): Local function for simple computation of square root without
1692 adding dependencies on Generic_Elementary_Functions.
1693 (Swap): New subprogram to exchange floating point numbers.
1694 (Inverse): Reimplement using Jordan-Gauss elimination.
1695 (Jacobi): New procedure implementing Jacobi's method for computation
1696 of eigensystems, based on Rutishauser's implementation.
1697 (L2_Norm): Implement directly using the inner product.
1698 (Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
1699 decreasing eigenvalue as required by the Ada RM.
1700 (Swap_Column): New helper procedure for Sort_Eigensystem.
1701 Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
1702 Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
1703 Sort_Eigensystems.
1704
17052011-08-29 Thomas Quinot <quinot@adacore.com>
1706
1707 * put_scos.adb (Put_SCOs): Do not emit a newline for an empty
1708 statements line.
1709
60370fb1
AC
17102011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1711
1712 * s-finmas.adb (Finalize): Check Finalize_Address of the master rather
1713 than the current node.
1714 * s-finmas.ads: Move field Finalize_Address from type FM_Node to
1715 Finalization_Master. The list headers have two fields instead of three.
1716 This should fix alignment issue but subpool allocations are now
1717 unusable. Alphabetize subprograms.
1718 * s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
1719 the size of the header when converting the beginning of the object to
1720 a FM_Node. Set the master's Finalize_Address attribute if not already
1721 set.
1722 (Deallocate_Any_Controlled): Use the offset rather than the size of the
1723 header when converting the beginning of the object to a FM_Node.
1724
17252011-08-29 Gary Dismukes <dismukes@adacore.com>
1726
1727 * exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
1728 reraise when compiling for CodePeer.
1729
17302011-08-29 Arnaud Charlet <charlet@adacore.com>
1731
1732 * a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
1733 now needed by a-convec.adb. Fix warning.
1734
17352011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1736
1737 * exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
1738 processing of TSS routine Finalize_Address when compiling in
1739 CodePeer_Mode.
1740
17412011-08-29 Thomas Quinot <quinot@adacore.com>
1742
1743 * a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
1744 sem_warn.adb: Minor reformatting.
1745
17462011-08-29 Emmanuel Briot <briot@adacore.com>
1747
1748 * prj-conf.adb (Get_Config_Switches): Also collect the list of
1749 languages from aggregated projects.
1750
17512011-08-29 Yannick Moy <moy@adacore.com>
1752
1753 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
1754 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
1755 Traverse_Package_Declaration, Traverse_Subprogram_Body,
1756 Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
1757 for stubs are traversed too when parameter is set
1758 (Traverse_All_Compilation_Units): Traverse without going inside stubs
1759 (Traverse_Declarations_Or_Statements): Do the special traversing for
1760 stubs when required.
1761 * sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
1762 return subprogram or package body from stub.
1763 (Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
1764 stubs without prior subprogram decl.
1765
17662011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
1767
1768 * gnat_ugn.texi: Fix typo.
1769
e9c9d122
HK
17702011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1771
1772 * s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism
1773 which accounts for size vs alignment issues and calculates the size of
1774 the list header.
1775 (Deallocate_Any_Controlled): Ditto.
1776 (Nearest_Multiple_Rounded_Up): New routine.
1777
25ebc085
AC
17782011-08-29 Tristan Gingold <gingold@adacore.com>
1779
1780 * a-exstat.adb (String_To_EO): Do no set Cleanup_Flag.
1781 * a-exexda.adb (Set_Exception_C_Msg): Ditto.
1782 (Set_Exception_Msg): Ditto.
1783 * a-exexpr-gcc.adb (Setup_Current_Excep): Ditto. Do not set
1784 Private_Data.
1785 * a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove.
1786 Use Save_Occurrence instead of Save_Occurrence_No_Private.
1787 (Raise_With_Msg): Remove Cleanup_Flag.
1788 * a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove
1789 Clean_Flag and Private_Data components.
1790
17912011-08-29 Yannick Moy <moy@adacore.com>
1792
1793 * freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like
1794 in CodePeer mode.
1795 * sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation
1796 of an explicitly declared type, so that the base types of the original
1797 type and this generated type are the same, and a "type" (not a subtype
1798 like previously).
1799 * errout.adb (Special_Msg_Delete): Do not issue messages "Size too
1800 small" in Alfa mode, like in CodePeer mode.
1801 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep
1802 clauses in Alfa mode.
1803
18042011-08-29 Javier Miranda <miranda@adacore.com>
1805
1806 * exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this
1807 function to the package spec.
1808 * sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For
1809 internally generated bodies of null procedures locate the internally
1810 generated spec enforcing mode conformance.
1811 (Is_Interface_Conformant): Ensure that the controlling formal of the
1812 primitives match.
1813
18142011-08-29 Ed Schonberg <schonberg@adacore.com>
1815
1816 * sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not
1817 reject the pragma if it appears to apply to a formal subprogram.
1818
18192011-08-29 Ed Schonberg <schonberg@adacore.com>
1820
1821 * exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for
1822 inner expression, to prevent double evaluation.
1823
590549fb
AC
18242011-08-29 Tristan Gingold <gingold@adacore.com>
1825
1826 * a-exexpr.adb (Propagate_Exception): Remove all the parameters as
1827 they were unused.
1828 * a-exexpr-gcc.adb (Propagate_Exception): Ditto.
1829 * a-except-2005.adb (Propagate_Exception): Adjust spec.
1830 (Raise_Current_Excep): Adjust call.
1831 (Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.
1832
18332011-08-29 Thomas Quinot <quinot@adacore.com>
1834
1835 * exp_disp.adb: Minor reformatting.
1836
62380e66
TG
18372011-08-29 Tristan Gingold <gingold@adacore.com>
1838
1839 * a-exexpr.adb (Setup_Exception): Removed.
1840 * a-exexpr-gcc.adb (Setup_Exception): Removed.
1841 * a-except.adb (Exception_Propagation): Removed.
1842 * a-except-2005.adb (Setup_Exception): Removed.
1843 (Reraise): Remove call to Setup_Exception.
1844 (Reraise_Occurrence): Ditto.
1845 (Reraise_Occurrence_Always): Ditto.
1846 (Reraise_Occurrence_No_Defer): Ditto.
1847 (Transfer_Occurrence): Ditto.
1848 * a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
1849 (Set_Exception_Msg): Ditto.
1850
c95aa61c
AC
18512011-08-29 Robert Dewar <dewar@adacore.com>
1852
1853 * a-convec.adb, exp_disp.adb: Minor reformatting.
1854
18552011-08-29 Tristan Gingold <gingold@adacore.com>
1856
1857 * a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C.
1858
624e1688
AC
18592011-08-29 Gary Dismukes <dismukes@adacore.com>
1860
1861 * exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set
1862 Exception_Handlers to No_List instead of Empty_List in the case where
1863 there are no handlers.
1864
18652011-08-29 Tristan Gingold <gingold@adacore.com>
1866
1867 * gcc-interface/gigi.h (enum standard_datatypes): Add
1868 ADT_reraise_zcx_decl
1869 (reraise_zcx_decl): New macro.
1870 * gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable.
1871 (gigi): Set reraise_zcx_decl.
1872 (Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr.
1873 (gnat_to_gnu): Handle N_Raise_Statement.
1874
7134062a
AC
18752011-08-29 Robert Dewar <dewar@adacore.com>
1876
1877 * sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads,
1878 a-undesu.adb: Minor reformatting.
1879
18802011-08-29 Ed Schonberg <schonberg@adacore.com>
1881
1882 * exp_disp.adb (Check_Premature_Freezing): When building a dispatch
1883 table, accept an unfrozen untagged component if it is an actual for a
1884 formal incomplete type.
1885 * a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to
1886 provide new iterator forms over vectors.
1887 Introduce type Iterator in package body to implement operations of
1888 Reversible_Iterator interface.
1889 * a-iteint.ads: Make package pure so it is usable with new container
1890 packages, that are categorized Remote_Types.
1891
ca5af305
AC
18922011-08-29 Robert Dewar <dewar@adacore.com>
1893
1894 * a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting.
1895
18962011-08-29 Bob Duff <duff@adacore.com>
1897
1898 * sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case
1899 of <>, because this is the routine that checks for dimensionality
1900 errors (for example, for a two-dimensional array, (others => <>) should
1901 be (others => (others => <>)).
1902
19032011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1904
1905 * impunit.adb: Add new run-time units.
1906 * freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb,
1907 s-stposu.ads, s-stposu.adb: Code clean up.
1908 Handle protected class-wide or task class-wide types
1909 Handle C/C++/CIL/Java types.
1910 * s-spsufi.adb, s-spsufi.ads: New files.
1911
5accd7b6
AC
19122011-08-29 Yannick Moy <moy@adacore.com>
1913
1914 * sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on
1915 library-level subprogram.
1916 * sem_prag.adb (Check_Test_Case): Stricter rules for test-case
1917 placement.
1918 (Analyze_Pragma): Change name "Normal" for "Nominal" in test-case
1919 component.
1920 * snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case
1921 component.
1922 * gnat_rm.texi: Update doc for Test_Case pragma.
1923
19242011-08-29 Tristan Gingold <gingold@adacore.com>
1925
1926 * a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it
1927 convention C.
1928 (GCC_Exception_Access): New type.
1929 (Unwind_DeleteException): New imported procedure
1930 (Foreign_Exception): Import it.
1931 (GNAT_GCC_Exception): Simply have the occurrence inside.
1932 (To_GCC_Exception): New function.
1933 (To_GNAT_GCC_Exception): New function.
1934 (GNAT_GCC_Exception_Cleanup): New procedure..
1935 (Propagate_GCC_Exception): New procedure.
1936 (Reraise_GCC_Exception): New procedure.
1937 (Setup_Current_Excep): New procedure.
1938 (CleanupUnwind_Handler): Change type of UW_Exception parameter.
1939 (Unwind_RaiseException): Ditto.
1940 (Unwind_ForcedUnwind): Ditto.
1941 (Remove): Removed.
1942 (Begin_Handler): Change type of parameter.
1943 (End_Handler): Ditto. Now delete the exception if still present.
1944 (Setup_Key): Removed.
1945 (Is_Setup_And_Not_Propagated): Removed.
1946 (Set_Setup_And_Not_Propagated): Ditto.
1947 (Clear_Setup_And_Not_Propagated): Ditto.
1948 (Save_Occurrence_And_Private): Ditto.
1949 (EID_For): Add 'not null' constraint on parameter.
1950 (Setup_Exception): Does nothing.
1951 (Propagate_Exception): Simplified.
1952 * exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model,
1953 re-raise is not expanded anymore.
1954 * s-except.ads (Foreign_Exception): New exception - placeholder for
1955 non Ada exceptions.
1956 * raise-gcc.c (__gnat_setup_current_excep): Declare
1957 (CXX_EXCEPTION_CLASS): Define (not yet used)
1958 (GNAT_EXCEPTION_CLASS): Define.
1959 (is_handled_by): Handle foreign exceptions.
1960 (PERSONALITY_FUNCTION): Call __gnat_setup_current_excep.
1961
19622011-08-29 Jose Ruiz <ruiz@adacore.com>
1963
1964 * a-synbar.adb (Synchronous_Barrier): Some additional clarification.
1965
2ef48385
AC
19662011-08-29 Thomas Quinot <quinot@adacore.com>
1967
1968 * a-synbar-posix.adb: Minor reformatting.
1969
19702011-08-29 Jose Ruiz <ruiz@adacore.com>
1971
1972 * a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads,
1973 a-exetim-default.ads (Interrupt_Clocks_Supported,
1974 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
1975 definitions to be compliant with AI-0171. The target systems do not
1976 support separate account for the execution time of interrupt handlers.
1977
19782011-08-29 Jose Ruiz <ruiz@adacore.com>
1979
1980 * a-synbar.adb (Wait): Change the order of evaluation of the conditions
1981 in the barrier to put first the easiest to evaluate (and the one which
1982 will be True more often). More efficient.
1983
19842011-08-29 Eric Botcazou <ebotcazou@adacore.com>
1985
1986 * s-atocou-x86.adb: Fix constraint in machine code insertion.
1987
19882011-08-29 Bob Duff <duff@adacore.com>
1989
1990 * aspects.ads, aspects.adb: Add new aspects for various pragmas and
1991 attributes that are now aspects, as specified by AI05-0229-1.
1992 * sem_ch13.adb (Analyze_Aspect_Specifications,
1993 Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into
1994 pragmas or attribute references, as appropriate.
1995
0db16b1e
AC
19962011-08-29 Robert Dewar <dewar@adacore.com>
1997
1998 * a-synbar.ads, a-synbar.adb, a-synbar-posix.adb,
1999 a-synbar-posix.ads: Minor reformatting.
2000
20012011-08-29 Yannick Moy <moy@adacore.com>
2002
2003 * snames.ads-tmpl: Add name Force.
2004
978ffe02
AC
20052011-08-29 Pascal Obry <obry@adacore.com>
2006
2007 * prj-nmsc.adb: Minor reformatting.
2008
20092011-08-29 Jose Ruiz <ruiz@adacore.com>
2010
2011 * a-exetim.ads (Interrupt_Clocks_Supported,
2012 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
2013 definitions to be compliant with AI-0171.
2014
20152011-08-29 Robert Dewar <dewar@adacore.com>
2016
2017 * a-ngelfu.adb: Add comments.
2018
718f39dc
AC
20192011-08-29 Geert Bosch <bosch@adacore.com>
2020
2021 * a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is
2022 the closest machine number to Pi / 2.0.
2023
20242011-08-29 Jose Ruiz <ruiz@adacore.com>
2025
2026 * impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012
2027 package Ada.Synchronous_Barriers.
2028 * a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb:
2029 Add new specs and bodies for Ada.Synchronous_Barriers. There is a
2030 default implementation using protected objects and another one
2031 a-synbar-posix using POSIX barriers as the underlying support.
2032 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86,
2033 x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of
2034 Ada.Synchronous_Barriers which uses POSIX barriers (more efficient).
2035 Clean up dependencies.
2036 * Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o
2037
ee2e3f6b
AC
20382011-08-29 Robert Dewar <dewar@adacore.com>
2039
2040 * sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb,
2041 exp_dist.adb: Minor code reorganization.
2042 Minor reformatting.
2043
20442011-08-29 Thomas Quinot <quinot@adacore.com>
2045
2046 * sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW
2047 primitive operation must support external streaming if it is not a
2048 controlling access result.
2049
646e2823
AC
20502011-08-29 Thomas Quinot <quinot@adacore.com>
2051
2052 * sinfo.ads, sem_ch7.adb: Minor reformatting.
2053
20542011-08-29 Bob Duff <duff@adacore.com>
2055
2056 * sem_ch4.adb (Analyze_Allocator): Check No_Nested_Finalization
2057 restriction on allocators, as required by AI05-0013-1.
2058 * restrict.ads: Minor comment fix.
2059
5d59eef2
AC
20602011-08-29 Tristan Gingold <gingold@adacore.com>
2061
2062 * a-exexpr.adb, a-except-2005.ads (Jmpbuf_Address): Move to a-exexpr.adb
2063 (To_Jmpbuf_Address): Ditto
2064 (builtin_longjmp): Ditto
2065
20662011-08-29 Thomas Quinot <quinot@adacore.com>
2067
2068 * sem_res.adb: Minor reformatting.
2069
20702011-08-29 Vincent Celier <celier@adacore.com>
2071
2072 * make.adb (Gnatmake): Move special processing for VM targets after the
2073 call to Get_Target_Parameters.
2074
20752011-08-29 Thomas Quinot <quinot@adacore.com>
2076
2077 * sem_ch12.adb, par-ch12.adb: Minor reformatting.
2078
949a18cc
AC
20792011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2080
2081 * sem_res.adb (Resolve_Allocator): Implement Ada2012-B052. Detect cases
2082 where an anonymous access discriminant of a limited designated type
2083 appears in a non-immutably limited discriminated type and issue an
2084 error message. Add local variable Desig_T and replace all occurrences
2085 of Designated_Type.
2086
20872011-08-29 Jose Ruiz <ruiz@adacore.com>
2088
2089 * a-rttiev.adb (Set_Handler): Update comment to indicate that our
2090 implementation is compliant to RM D.15(15/2) after the modification
2091 imposed by AI05-0094-1 (binding interpretation).
2092
cb25faf8
AC
20932011-08-29 Robert Dewar <dewar@adacore.com>
2094
2095 * exp_ch9.adb, s-tasren.adb, exp_sel.adb, exp_sel.ads, exp_ch11.adb,
2096 s-interr-hwint.adb, s-tpobop.adb, sem_ch13.adb: Minor reformatting.
2097
20982011-08-29 Thomas Quinot <quinot@adacore.com>
2099
2100 * par-endh.adb (Check_End): For an END where it is mandatory to repeat
2101 the scope name, do not report a missing label as a style violation (it
2102 will be diagnosed as an illegality).
2103 * exp_dist.adb (Add_Params_For_Variant_Components): Fix handling of
2104 variant records: Get_Enum_Lit_From_Pos already returns a usage
2105 occurrence of the literal, no need to use New_Occurrence_Of. Set Etype
2106 on Expr in Integer_Literal case so that it can be used by
2107 Build_To_Any_Call.
2108
1d10f669
AC
21092011-08-29 Tristan Gingold <gingold@adacore.com>
2110
2111 * exp_sel.ads (Build_Abort_BLock_Handler): New function spec.
2112 Adjust comment.
2113 * exp_sel.adb (Build_Abort_Block): Use Build_Abort_Block_Handler.
2114 (Build_Abort_Block_Handler): New function to build an Abort_Signal
2115 exception handler.
2116 * exp_ch9.adb (Expand_N_Asynchronous_Select): Call
2117 Build_Abort_Block_Handler to build the exception handler. Do not
2118 undefer aborts for the Abort_Signal exception handler if back-end
2119 exception mechanism.
2120 * exp_ch11.adb (Expand_Exception_Handlers): Do not undefer aborts if
2121 back_end exceptions for all others and abort_signal.
2122 * s-except.ads (ZCX_By_Default): New constant.
2123 * a-except-2005.adb (Raise_Exception): Do not defer abort if ZCX.
2124 (Raise_Exception_Always): Ditto.
2125 (Raise_From_Signal_Handler): Ditto.
2126 (Raise_With_Location_And_Msg): Ditto.
2127 (Raise_With_Msg): Ditto.
2128 (Reraise): Ditto.
2129 (Reraise_Occurence): Ditto.
2130 (Reraise_Occurrence_Always): Ditto.
2131 * s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
2132 * s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
1d10f669
AC
2133
21342011-08-29 Thomas Quinot <quinot@adacore.com>
2135
2136 * sem_util.ads (Get_Enum_Lit_From_Pos): Clarify documentation.
2137
d986066d
AC
21382011-08-29 Robert Dewar <dewar@adacore.com>
2139
2140 * snames.adb-tmpl, sem_ch13.adb: Minor reformatting
2141 Minor code reorganization.
2142
21432011-08-29 Bob Duff <duff@adacore.com>
2144
2145 * usage.adb (-gnatwy): Fix documentation: this switch applies to Ada
2146 2012, not just Ada 2005.
2147
21482011-08-29 Vincent Celier <celier@adacore.com>
2149
2150 * gnat_ugn.texi: Indicate that when the compiler is called by gnatmake
2151 with a project file or with gprbuid, if -gnatep= is specified, the
2152 builder may need to be invoked with -x.
2153
21542011-08-29 Tristan Gingold <gingold@adacore.com>
2155
2156 * a-exexpr-gcc.adb: Minor comment fix.
2157
ff4f0ed0
AC
21582011-08-29 Robert Dewar <dewar@adacore.com>
2159
2160 * sem_ch8.adb: Minor reformatting.
2161
21622011-08-29 Bob Duff <duff@adacore.com>
2163
2164 * par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
2165 * par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
2166 treating "some" as unreserved in earlier Ada versions. This is now
2167 handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
2168 rather than Name_Some, since Tok_Some is now recognized as reserved.
2169 * scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
2170 reserved word.
2171 * scans.ads: Minor comment fixes.
2172 * snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
2173 for other language versions.
2174 * scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
2175 treating "some" as unreserved in earlier Ada versions. This is now
2176 handled in Snames.Is_Keyword_Name.
2177 * par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
2178 Ada 2012.
2179 (P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
2180 unreserved in earlier Ada versions. This is now handled in
2181 Snames.Is_Keyword_Name.
2182 * snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
2183 words as for other language versions.
2184 * gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
2185 Ada 2012, not just Ada 2005.
2186
d941cee6
AC
21872011-08-29 Ed Schonberg <schonberg@adacore.com>
2188
2189 * sem_ch13.adb: Additional semantic checks for aspects involved in
2190 iterators.
2191
21922011-08-29 Matthew Heaney <heaney@adacore.com>
2193
2194 * a-comutr.ads, a-comutr.adb, a-cimutr.ads, a-cimutr.adb,
2195 a-cbmutr.ads, a-cbmutr.adb (Find_In_Subtree): Remove superfluous
2196 Container parameter.
2197 (Ancestor_Find): ditto.
2198
b970af39
TQ
21992011-08-29 Thomas Quinot <quinot@adacore.com>
2200
2201 * par-endh.adb: Minor reformatting.
d941cee6 2202
92db5dee
AC
22032011-08-29 Tristan Gingold <gingold@adacore.com>
2204
2205 * a-exexpr-gcc.adb (Unwind_Action) Rewrite as an integer with constants.
2206 (GNAT_GCC_Exception): Remove N_Cleanups_To_Trigger component.
2207 (Adjust_N_CLeanups_For): Remove.
2208 (CleanupUnwind_Handler): Call Unhandled_Exception_Terminate when end of
2209 stack is reached.
2210 (Propgate_Exception): Adjust.
2211 * raise-gcc.c: Add a few static/const.
2212 (Adjust_N_Cleanups_For): Remove declaration.
2213 (PERSONALITY_FUNCTION): Remove code dealing with N_Cleanups_To_Trigger.
2214
22152011-08-29 Ed Schonberg <schonberg@adacore.com>
2216
2217 * sem_ch8.adb: Use type of function return when rewriting as object
2218 declaration.
2219
1378bf10
AC
22202011-08-29 Gary Dismukes <dismukes@adacore.com>
2221
2222 * sem_type.adb: Minor reformatting.
2223
22242011-08-29 Robert Dewar <dewar@adacore.com>
2225
2226 * makeutl.adb: Minor reformatting.
2227
22282011-08-29 Ed Schonberg <schonberg@adacore.com>
2229
2230 * sem_ch8.adb (Analyze_Object_Renaming): If the renamed object is a
2231 function call of a limited type, the expansion of the renaming is
2232 complicated by the presence of various temporaries and subtypes that
2233 capture constraints of the renamed object.
2234 Rewrite node as an object declaration, whose expansion is simpler.
2235 Given that the object is limited there is no copy involved and no
2236 performance hit.
2237
164e06c6
AC
22382011-08-29 Robert Dewar <dewar@adacore.com>
2239
2240 * exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
2241 freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.
2242
22432011-08-29 Tristan Gingold <gingold@adacore.com>
2244
2245 * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
2246 system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
2247 system-linux-hppa.ads, system-linux-s390.ads,
2248 system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
2249 system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
2250 system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads,
2251 system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads,
2252 system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads,
2253 system-solaris-sparc.ads, system-lynxos-x86.ads,
2254 system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
2255 system-solaris-x86_64.ads, system-mingw-x86_64.ads,
2256 system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
2257 system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
7d266442 2258 system-vxworks-x86.ads: Remove GCC_ZCX_Support.
164e06c6
AC
2259 * s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
2260 s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
2261 * opt.ads: Adjust comment.
2262 * targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
2263 * gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
2264 * system.ads: Move GCC_ZCX_Support to obsolete entries.
2265
22662011-08-29 Emmanuel Briot <briot@adacore.com>
2267
2268 * makeutl.adb (Do_Complete): Resolve symbolic links when a relative
2269 file name is specified on the gnatmake or gprbuild command line, and
2270 before we search for that file in the project.
2271
22722011-08-29 Ed Schonberg <schonberg@adacore.com>
2273
2274 * sem_type.adb (Within_Instance): New predicate in Collect_Interps,
2275 used to determine whether a possible interpretation for an overloadable
2276 entity is declared within the current instantiation and should be
2277 included in the candidate set.
2278
22792011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
2280
2281 * gnat_rm.texi, gnat_ugn.texi: Clean ups.
2282
97216ca8
ES
22832011-08-29 Ed Schonberg <schonberg@adacore.com>
2284
2285 * sem_res.adb (Resolve_Actuals): Use base type to determine whether an
2286 access subtype is access_to_subprogram, when applying checks for
2287 RM 3.10.2 (27).
2288
d3cb4cc0
AC
22892011-08-29 Matthew Heaney <heaney@adacore.com>
2290
2291 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Splice_Subtree): Only check
2292 for sibling when common parent.
2293
22942011-08-29 Thomas Quinot <quinot@adacore.com>
2295
2296 * get_scos.adb: Literals of Pragma_Id are pragma names prefixed with
2297 "pragma_".
2298
22992011-08-29 Ed Schonberg <schonberg@adacore.com>
2300
2301 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Enable freeze actions
2302 for the return type when in ASIS mode.
2303
23042011-08-29 Vincent Celier <celier@adacore.com>
2305
2306 * make.adb (Gnatmake): Get the default search dirs, then the target
2307 parameters after getting the Builder switches, as the Builder switches
2308 may include --RTS= and that could change the default search dirs.
2309
23102011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2311
2312 * exp_ch7.adb (Make_Adjust_Call): Rewrite to mimic the structure of
2313 Make_Final_Call. Move the processing for class-wide types before the
2314 processing for derivations from [Limited_]Controlled.
2315 (Make_Final_Call): Move the processing for class-wide types before the
2316 processing for derivations from [Limited_]Controlled.
2317 * s-stposu.adb (Allocate_Any_Controlled): Correct the membership check.
2318 Add code to account for alignments larger than the list header. Add a
2319 comment illustrating the structure of the allocated object + padding +
2320 header.
2321 (Deallocate_Any_Controlled): Add code to account for alignments larger
2322 than the list header.
2323
23242011-08-29 Ed Schonberg <schonberg@adacore.com>
2325
2326 * sinfo.ads, sinfo.adb: New node kind
2327 N_Formal_Incomplete_Type_Definition, related flags.
2328 par-ch12.adb (P_Formal_Type_Declaration, G_Formal_Type_Definition):
2329 Parse formal incomplete types.
2330 * sem.adb (Analyze): Formal_Incomplete_Type_Definitions are handled in
2331 sem_ch12.
2332 * sem_ch7.adb (Analyze_Package_Specification, Unit_Requires_Body):
2333 Formal incomplete types do not need completion.
2334 * sem_ch12.adb (Analyze_Formal_Incomplete_Type,
2335 Validate_Incomplete_Type_Instance): New procedures to handle formal
2336 incomplete types.
2337 * freeze.adb (Freeze_Entity): Do not freeze the subtype of an actual
2338 that corresponds to a formal incomplete type.
2339 * sprint.adb: Handle formal incomplete type declarations.
2340 * exp_util.adb (Insert_Actions): An incomplete_type_definition is not
2341 an insertion point.
2342
d3f70b35
AC
23432011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2344
2345 * a-fihema.ads, a-fihema.adb: Unit removed.
2346 * a-undesu.ads, a-undesu.adb: New unit implementing
2347 Ada.Unchecked_Deallocate_Subpool.
2348 * einfo.adb: Remove Associated_Collection from the node usage.
2349 Add Finalization_Master to the node usage.
2350 (Associated_Collection): Removed.
2351 (Finalization_Master): New routine.
2352 (Set_Associated_Collection): Removed.
2353 (Set_Finalization_Master): New routine.
2354 (Write_Field23_Name): Remove Associated_Collection from the output. Add
2355 Finalization_Master to the output.
2356 * einfo.ads: Remove attribute Associated_Collection and its uses in
2357 entities.
2358 Add new attribute Finalization_Master along with its uses in entitites.
2359 (Associated_Collection): Removed along with its pragma import.
2360 (Finalization_Master): New routine along with a pragma import.
2361 (Set_Associated_Collection): Removed along with its pragma import.
2362 (Set_Finalization_Master): New routine along with a pragma import.
2363 * exp_ch3.adb (Expand_Freeze_Array_Type): Replace call to
2364 Build_Finalization_Collection with Build_Finalization_Master.
2365 (Expand_Freeze_Record_Type): Move the generation of Finalize_Address
2366 before the bodies of the predefined routines. Add comment explaining
2367 this. Replace call to Build_Finalization_Collection with
2368 Build_Finalization_Master.
2369 (Freeze_Type): Replace call to Build_Finalization_Collection with
2370 Build_Finalization_Master.
2371 (Make_Finalize_Address_Body): Comment reformatting.
2372 (Make_Predefined_Primitive_Specs): Code reformatting.
2373 (Stream_Operation_OK): Update comment mentioning finalization
2374 collections. Replace RE_Finalization_Collection with
2375 RE_Finalization_Master.
2376 * exp_ch4.adb (Complete_Controlled_Allocation): Replace call to
2377 Associated_Collection with Finalization_Master. Replace call to
2378 Build_Finalization_Collection with Build_Finalization_Master.
2379 (Expand_Allocator_Expression): Replace call to Associated_Collection
2380 with Finalization_Master. Replace call to Set_Associated_Collection with
2381 Set_Finalization_Master. Remove the generation of
2382 Set_Finalize_Address_Ptr.
2383 (Expand_N_Allocator): Replace call to Associated_Collection with
2384 Finalization_Master. Remove the generation of Set_Finalize_Address_Ptr.
2385 * exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Renamed to
2386 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Update the
2387 comment on usage. Replace call to Needs_BIP_Collection with
2388 Needs_BIP_Finalization_Master Remplace BIP_Collection with
2389 BIP_Finalization_Master. Update all comments which mention finalization
2390 collections. Replace Associated_Collection with
2391 Finalization_Master. Replace Build_Finalization_Collection with
2392 Build_Finalization_Master.
2393 (BIP_Formal_Suffix): Update BIP_Collection's case.
2394 (Build_Heap_Allocator): Update the related comment. Rename local
2395 variable Collect to Fin_Mas_Id and update its occurrences. Update
2396 comments which mention finalization collections. Replace
2397 Set_Associated_Collection with Set_Finalization_Master.
2398 (Expand_Call): Update the code which detects a special piece of library
2399 code for .NET/JVM.
2400 (Make_Build_In_Place_Call_In_Allocator): Replace the call to
2401 Add_Collection_Actual_To_Build_In_Place_Call with
2402 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Remove the code
2403 which generates a call to Make_Set_Finalize_Address_Ptr_Call.
2404 (Make_Build_In_Place_Call_In_Anonymous_Context): Replace call to
2405 Add_Collection_Actual_To_Build_In_Place_Call with
2406 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
2407 (Make_Build_In_Place_Call_In_Assignment): Replace call to
2408 Add_Collection_Actual_To_Build_In_Place_Call with
2409 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
2410 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
2411 * exp_ch6.ads: Rename BIP_Collection to BIP_Finalization_Master.
2412 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
2413 * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Update comment on usage.
2414 Rename local variable Collect to Fin_Mas_Id and update its occurrences.
2415 Replace call to Set_Associated_Collection with Set_Finalization_Master.
2416 (Build_Finalization_Collection): Renamed to Build_Finalization_Master.
2417 Replace the call to Associated_Collection with Finalization_Master.
2418 Rename local variable Coll_Id to Fin_Mas_Id and update its occurrences.
2419 Update the way finalization master names are generated. Update the
2420 retrieval of the correct access type which will carry the pool and
2421 master attributes.
2422 (Make_Final_Call): Reimplement the way [Deep_]Finalize is retrieved.
2423 (Make_Finalize_Address_Body): Abstract types do not need
2424 Finalize_Address. Code reformatting.
2425 (Make_Finalize_Address_Stmts): Update comment on usage.
2426 (Make_Set_Finalize_Address_Ptr_Call): Removed.
2427 (Process_Declarations): Update comments.
2428 * exp_ch7.ads (Build_Finalization_Collection): Renamed to
2429 Build_Finalization_Master. Update associated comment.
2430 (Make_Set_Finalize_Address_Ptr_Call): Removed.
2431 * exp_ch13.adb: Update comments which mention finalization collections.
2432 (Expand_N_Free_Statement): Replace the call to Associated_Collection
2433 with Finalization_Master.
2434 * exp_util.adb (Build_Allocate_Deallocate_Proc): Reimplemented to
2435 create calls to routines Allocate_Any_Controlled and
2436 Deallocate_Any_Controlled.
2437 (Find_Finalize_Address): New routine.
2438 (Is_Allocate_Deallocate_Proc): Update the RTE entities used in the
2439 comparison.
2440 (Requires_Cleanup_Actions): Update the comment on freeze node
2441 inspection.
2442 * exp_util.ads: Remove comment on generated code for
2443 Build_Allocate_Deallocate_Proc. The code is now quite complex and it
2444 is better to simply look in the body.
2445 * freeze.adb (Freeze_All): Update the comment of finalization
2446 collections. Replace the call to Associated_Collection with
2447 Finalization_Master. Replace the call to Build_Finalization_Collection
2448 with Build_Finalization_Master.
2449 * impunit.adb: Add a-undesu and s-stposu to the list of units.
2450 * Makefile.rtl: Add files a-undesu, s-finmas and s-stposu. Remove file
2451 a-fihema.
2452 * rtsfind.adb (Get_Unit_Name): Remove the processing for children of
2453 Ada.Finalization. Add processing for children of System.Storage_Pools.
2454 * rtsfind.ads: Remove the naming of second level children of
2455 Ada.Finalization.
2456 Remove Ada_Finalization_Heap_Management from the list of units.
2457 Remove subtype Ada_Finalization_Child.
2458 Remove the following subprogram entities:
2459
2460 RE_Allocate
2461 RE_Deallocate
2462 RE_Finalization_Collection
2463 RE_Finalization_Collection_Ptr
2464 RE_Set_Finalize_Address_Ptr
2465
2466 Add the naming of second level children of System.Storage_Pools.
2467 Add System_Finalization_Masters and System_Storage_Pools_Subpools to
2468 the list of units.
2469 Add subtype System_Storage_Pools_Child.
2470 Add the following subprogram entities to System.Finalization_Masters:
2471
2472 RE_Finalization_Master
2473 RE_Finalization_Master_Ptr
2474
2475 Add the following subprogram entities to System.Storage_Pools.Subpools:
2476
2477 RE_Allocate_Any_Controlled
2478 RE_Deallocate_Any_Controlled
2479 RE_Root_Storage_Pool_With_Subpools
2480 RE_Root_Subpool
2481 RE_Subpool_Handle
2482
2483 Move the following subprogram entities from
2484 Ada.Finalization.Heap_Management to System.Finalization_Masters:
2485
2486 RE_Add_Offset_To_Address
2487 RE_Attach
2488 RE_Base_Pool
2489 RE_Detach
2490
2491 * sem_ch3.adb (Access_Type_Declaration): Replace the call to
2492 Set_Associated_Collection with Set_Finalization_Master.
2493 * sem_ch6.adb (Create_Extra_Formals): Update the way extra formal
2494 BIP_Finalization_Master is created.
2495 * s-finmas.adb: New unit System.Finalization_Masters.
2496 * s-finmas.ads: New unit System.Finalization_Masters.
2497 * s-stopoo.ads, s-stopoo.adb: Minor code reformatting.
2498 * s-stposu.ads, s-stposu.adb: New unit implementing
2499 System.Storage_Pools.Subpools.
2500
25012011-08-29 Bob Duff <duff@adacore.com>
2502
2503 * tbuild.adb: Add assertion.
2504
8c889ae4
AC
25052011-08-29 Thomas Quinot <quinot@adacore.com>
2506
2507 * s-pooglo.adb: Minor reformatting.
2508
25092011-08-29 Ed Schonberg <schonberg@adacore.com>
2510
2511 * exp_ch5.adb (Expand_N_Assignment_Statement): if the left-hand side is
2512 an indexed component of a packed array whose element type is a record
2513 with a representation clause different from that of the right-hand
2514 side, generate a temporary to minimuze the number of bit-field
2515 operations generated.
2516
25172011-08-29 Ed Schonberg <schonberg@adacore.com>
2518
2519 * exp_util.adb (Insert_Actions): Use clauses can be part of lists of
2520 declarations, and thus are likely insertion points for actions.
2521
25222011-08-29 Bob Duff <duff@adacore.com>
2523
2524 * einfo.ads: Minor comment fix.
2525
1a07a71a
AC
25262011-08-29 Robert Dewar <dewar@adacore.com>
2527
2528 * frontend.adb, gnat1drv.adb: Minor reformatting.
2529
25302011-08-29 Tristan Gingold <gingold@adacore.com>
2531
2532 * s-pooglo.adb (Allocate, Deallocate): Take into account the alignment.
2533 * a-fihema.adb (Allocate, Deallocate): Ditto. Possibly add padding
2534 space in front of the header.
2535
4bcd6411
JK
25362011-08-29 Johannes Kanig <kanig@adacore.com>
2537
2538 * frontend.adb (Frontend): Exit after creating Standard package when
2539 -gnatd.H is present.
2540 * gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
2541 present.
2542
f0f88eb6
RD
25432011-08-29 Robert Dewar <dewar@adacore.com>
2544
2545 * exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb,
2546 makeutl.adb, makeutl.ads, atree.ads, snames.adb-tmpl,
2547 snames.ads-tmpl: Minor reformatting.
2548
3e37be71
PG
25492011-08-29 Philippe Gil <gil@adacore.com>
2550
2551 * prj.adb (Reset_Units_In_Table): New procedure.
2552 Reset units to avoid access to freed memory.
2553
94fb7608
AC
25542011-08-29 Thomas Quinot <quinot@adacore.com>
2555
2556 * get_scos.adb: When reading a P statement SCO without a pragma name
2557 (from an older ALI file), ensure that the Pragma_Name component is set
2558 to Unknown_Pragma (not left uninitialized).
2559
25602011-08-29 Vincent Celier <celier@adacore.com>
2561
2562 * makeutl.adb (Get_Directories): New procedure moved from Buildgpr and
2563 modified to compute correctly the object path of a SAL project that is
2564 extending another library project.
2565 (Write_Path_File): New procedure.
2566 * makeutl.ads (Directories): New table moved from Buildgpr
2567 (Get_Directories): New procedure moved from Buildgpr
2568 (Write_Path_File): New procedure
2569 * mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the
2570 paths before binding SALs, instead of Set_Ada_Paths.
2571 * prj-env.adb (Set_Path_File_Var): Procedure has been moved to package
2572 Prj.
2573 * prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env
2574 (Current_Source_Path_File_Of): New function
2575 (Set_Current_Object_Path_File_Of): New procedure
2576 (Current_Source_Object_File_Of): New function
2577 (Set_Current_Object_Path_File_Of): New procedure
2578 * prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env
2579 (Current_Source_Path_File_Of): New function
2580 (Set_Current_Object_Path_File_Of): New procedure
2581 (Current_Source_Object_File_Of): New function
2582 (Set_Current_Object_Path_File_Of): New procedure
2583
25842011-08-29 Ed Schonberg <schonberg@adacore.com>
2585
2586 * exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a
2587 packed entity, use a bit-field assignment only if there is no change of
2588 representation.
2589
c5ecd6b7
AC
25902011-08-29 Thomas Quinot <quinot@adacore.com>
2591
2592 * rtsfind.ads, exp_ch3.adb (In_Runtime): Minor code improvement, use
2593 Is_RTU instead of using Chars comparisons.
2594
25952011-08-29 Thomas Quinot <quinot@adacore.com>
2596
2597 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do not create a
2598 temporary object if the actual is constrained, and the discriminants
2599 read from the stream don't match.
2600
26012011-08-29 Tristan Gingold <gingold@adacore.com>
2602
2603 * sem_attr.adb, exp_attr.adb: Add handling of
2604 Attribute_System_Allocator_Alignment
2605 * snames.ads-tmpl: Add Name_System_Allocator_Alignment and
2606 Attribute_System_Allocator_Alignment.
2607 * ttypes.ads, get_targ.ads: Add Get_System_Allocator_Alignment.
2608 * gcc-interface/targtyps.c, gcc-interface/utils2.c,
2609 gcc-interface/gigi.h: Renames get_target_default_allocator_alignment to
2610 get_target_system_allocator_alignment.
2611
26122011-08-29 Arnaud Charlet <charlet@adacore.com>
2613
2614 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
2615 dependencies.
2616
8abdac29
AC
26172011-08-29 Arnaud Charlet <charlet@adacore.com>
2618
2619 * exp_ch3.adb (In_Runtime): Fix typo.
2620
df170605
AC
26212011-08-29 Bob Duff <duff@adacore.com>
2622
2623 * sem_ch4.adb (Analyze_Allocator): Analyze the subpool specification.
2624
26252011-08-29 Ed Schonberg <schonberg@adacore.com>
2626
2627 * exp_ch3.adb (Expand_N_Object_Declaration): If the entity is tagged
2628 and a separate tag assignment is generated, ensure that the tag
2629 assignment is analyzed.
2630
864a4236
ES
26312011-08-29 Ed Schonberg <schonberg@adacore.com>
2632
2633 * atree.ads, atree.adb (Copy_Separate_List): New function that applies
2634 Copy_Separate_Tree to a list of nodes. Used to create disjoint copies
2635 of statement lists that may contain local declarations.
df170605
AC
2636 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Use Copy_Separate_List to
2637 duplicate the triggering statements needed for the expansion of this
2638 construct, when the trigger is a dispatching call to a synchronized
2639 primitive.
864a4236 2640
7f394c1d
AC
26412011-08-29 Arnaud Charlet <charlet@adacore.com>
2642
2643 * gnat_rm.texi: Add doc for 'Elab_Subp_Body.
2644 * bindgen.adb: Add comments.
2645 * snames.adb-tmpl (Is_Attribute_Name): Only recognize 'Elab_Subp_Body
2646 in CodePeer mode.
2647
2c1a2cf3
RD
26482011-08-29 Robert Dewar <dewar@adacore.com>
2649
2650 * exp_attr.adb: Minor reformatting.
2651 Minor code reorganization and commenting.
2652 * par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
2653 reformatting.
2654
0bfc9a64
AC
26552011-08-29 Thomas Quinot <quinot@adacore.com>
2656
2657 * get_scos.adb: Ignore chaining indicators not currently supported
2658 by Ada.
2659
26602011-08-29 Arnaud Charlet <charlet@adacore.com>
2661
2662 * system.ads: Minor editing.
2663
26642011-08-29 Arnaud Charlet <charlet@adacore.com>
2665
2666 * bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in
2667 CodePeer mode.
2668 * sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of
2669 Attribute_Elab_Subp_Body.
2670 * snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New.
2671 * sem_util.adb: Update comments.
2672
828d4cf0
TQ
26732011-08-29 Thomas Quinot <quinot@adacore.com>
2674
2675 * par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record
2676 pragma name for each SCO statement corresponding to a pragma.
2677
5cd7bb15
AC
26782011-08-29 Arnaud Charlet <charlet@adacore.com>
2679
2680 * opt.ads: Minor editing.
2681
26822011-08-29 Yannick Moy <moy@adacore.com>
2683
2684 * gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
2685 that only made sense for CodePeer mode.
2686
26872011-08-29 Jose Ruiz <ruiz@adacore.com>
2688
2689 * targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
2690 which is no longer used.
2691 * targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
2692 handling of the 64-bit division check.
2693 * exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
2694 division available.
2695 * system*.ads (Support_64_Bit_Divides): Remove this flag which is no
2696 longer used.
2697
26982011-08-29 Thomas Quinot <quinot@adacore.com>
2699
2700 * get_scos.adb: Minor reformatting.
2701
25b589cb
AC
27022011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2703
2704 * exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
2705 statement list is wrapped in a block, the block is explicitly analyzed
2706 in order to properly redecorate the entities and create a servicing
2707 finalizer.
2708
27092011-08-29 Tristan Gingold <gingold@adacore.com>
2710
2711 * sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
2712 (Set_Zero_Cost_Handling): Remove.
2713
27142011-08-29 Thomas Quinot <quinot@adacore.com>
2715
2716 * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting
2717
1197ddb1
AC
27182011-08-29 Geert Bosch <bosch@adacore.com>
2719
2720 * s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
2721 instruction, as the latter may produce -0.0, which is not a valid VAX
2722 F float number.
2723 (Neg_G): Likewise for VAX F float.
2724
27252011-08-29 Robert Dewar <dewar@adacore.com>
2726
2727 * exp_util.adb: Minor reformatting.
2728
27292011-08-29 Yannick Moy <moy@adacore.com>
2730
2731 * sem_ch3.adb: Minor comment update.
2732
27332011-08-29 Thomas Quinot <quinot@adacore.com>
2734
2735 * checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
2736 the operand type.
2737
27382011-08-29 Thomas Quinot <quinot@adacore.com>
2739
2740 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
2741 current statement sequence on a generic instantiation or a subprogram
2742 declaration.
2743
8f66cda7
AC
27442011-08-29 Robert Dewar <dewar@adacore.com>
2745
2746 * sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
2747 Minor reformatting.
2748
27492011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2750
2751 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
2752 Correct the check which involves the freeze node of a controlled or
2753 access-to-controlled type.
2754
27552011-08-29 Geert Bosch <bosch@adacore.com>
2756
2757 * sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
2758 statements.
2759 * s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
2760 Asm statements.
2761
cf161d66
AC
27622011-08-29 Yannick Moy <moy@adacore.com>
2763
2764 * sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
2765 for every index type and component type that is not a subtype_mark.
2766 (Process_Subtype): Set Etype of subtype.
2767
27682011-08-29 Robert Dewar <dewar@adacore.com>
2769
2770 * a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
2771 reorganization. Minor reformatting.
2772
7cc83cd8
AC
27732011-08-29 Steve Baird <baird@adacore.com>
2774
2775 * exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
2776 for CodePeer and ALFA modes.
2777
27782011-08-29 Ed Schonberg <schonberg@adacore.com>
2779
2780 * sem_type.adb (Collect_Interps): Within an instance, collect a homonym
2781 that comes from an enclosing scope if it is not the renaming of an
2782 actual, to handle properly a spurious ambiguity in an instance.
2783
76af4137
AC
27842011-08-29 Eric Botcazou <ebotcazou@adacore.com>
2785
2786 * sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
2787 (Alignment_Check_For_Size_Change): ...this. Add SIZE parameter and
2788 use it instead of the Esize of the first parameter.
2789 (Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
2790 above change.
2791 <Size>: Likewise. Call it for composite types on the RM size.
2792
27932011-08-29 Yannick Moy <moy@adacore.com>
2794
2795 * exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
2796 * sem_util.adb (Unique_Name): Correct behaviour for names of
2797 compilation units.
2798
9b20e59b
AC
27992011-08-29 Yannick Moy <moy@adacore.com>
2800
2801 * sem_prag.adb (Check_Precondition_Postcondition): In formal
2802 verification mode, analyze pragma expression for correctness, for
2803 pre/post on library-level subprogram, as it is not expanded later.
2804
28052011-08-29 Yannick Moy <moy@adacore.com>
2806
2807 * exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
2808 in formal verification.
2809
28102011-08-29 Thomas Quinot <quinot@adacore.com>
2811
2812 * sem_util.adb: Minor reformatting.
2813 * freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
2814 there's no pragma.
2815 * par_sco.ads, par_sco.adb: Update comments.
2816
28172011-08-29 Yannick Moy <moy@adacore.com>
2818
2819 * einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
2820 associated getter/setter.
2821 * sem_ch6.adb: Remove reference to Is_Postcondition_Proc.
2822
28232011-08-29 Vincent Celier <celier@adacore.com>
2824
2825 * prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
2826 * prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
2827 with declarations for Language_Kind and Dependency_Kind for Ada.
2828 * prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
2829 (Process_Compiler): Take into account the new attributes Dependency_Kind
2830 and Language_Kind.
2831 (Check_Configuration): Check if language kind is unit based, not if the
2832 language name is Ada.
2833 (Process_Exceptions_Unit_Based): Ditto
2834 (Add_Language): Remove default additions of language and dependency kind
2835 * prj.ads: Minor comment change
2836 * snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind
2837
28382011-08-29 Johannes Kanig <kanig@adacore.com>
2839
2840 * debug.adb: Update comments.
2841
c5bc3df6
JM
28422011-08-24 Joseph Myers <joseph@codesourcery.com>
2843
2844 * gcc-interface/Make-lang.in (CFLAGS-ada/tracebak.o)
2845 (CFLAGS-ada/targext.o, CFLAGS-ada/cio.o, CFLAGS-ada/init.o)
2846 (CFLAGS-ada/initialize.o, CFLAGS-ada/raise.o): New.
2847 (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o)
2848 (ada/initialize.o, ada/raise.o): Remove explicit compilation rules.
2849
e3aa9eba
RO
28502011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2851
2852 * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): New.
2853 (GNATLIBCFLAGS_FOR_C): Replace
2854 TARGET_LIBGCC2_CFLAGS by PICFLAG_FOR_TARGET.
2855 (gnatlib-shared-default, gnatlib-shared-dual-win32)
2856 (gnatlib-shared-win32, gnatlib-shared-darwin, gnatlib-shared)
2857 (gnatlib-sjlj, gnatlib-zcx): Likewise.
2858
f446d60e
EB
28592011-08-07 Eric Botcazou <ebotcazou@adacore.com>
2860
2861 * gcc-interface/Makefile.in (raise-gcc.o): Fix previous change.
2862
588c8f48
EB
2863 * gcc-interface/gigi.h (enumerate_modes): Fix formatting.
2864
2865 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Revert latest change.
2866
28d711bf
NR
28672011-08-05 Nicolas Roche <roche@adacore.com>
2868
2869 * gcc-interface/Makefile.in: Don't use directly ../xgcc to build shared
2870 libgnat. Use rather the value of GCC_FOR_TARGET. Fix issue with
2871 canadian cross.
2872 * gcc-interface/Make-lang.in: Add support for canadian cross setting.
2873
993f8920
AC
28742011-08-05 Matthew Heaney <heaney@adacore.com>
2875
2876 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Child_Count, Child_Depth):
2877 subprogram bodies declared out-of-order.
2878
28792011-08-05 Yannick Moy <moy@adacore.com>
2880
2881 * sem_util.adb (Unique_Name): only prefix with "standard" the names of
2882 entities directly in package Standard, otherwise skip the standard
2883 prefix.
2884
9b3956dd
RD
28852011-08-05 Robert Dewar <dewar@adacore.com>
2886
2887 * a-cbmutr.adb: Minor reformatting
2888 (Allocate_Node): refactor node allocation algorithm
2889
28902011-08-05 Robert Dewar <dewar@adacore.com>
2891
2892 * opt.ads, opt.adb (Debug_Pragmas_Disabled): New switch.
2893 * sem_prag.adb (Analyze_Pragma, case Debug_Policy): Implement Disable
2894 mode.
2895 (Analyze_Pragma, case Check_Policy): Ditto.
2896 * sem_prag.ads (Check_Disabled): New function
2897 * snames.ads-tmpl: Add Name_Disable.
2898
28992011-08-05 Robert Dewar <dewar@adacore.com>
2900
2901 * gnat_rm.texi: Document implementation-defined policy DISABLE for
2902 pragmas Assertion_Policy, Check_Policy, Debug_Policy.
2903
79e705d6
AC
29042011-08-05 Ed Schonberg <schonberg@adacore.com>
2905
2906 * sem_prag.adb (Analyze_Pragma, case Inline): reject an Inline pragma
2907 that appears in a generic formal part and applies to a formal
2908 subprogram.
2909
29102011-08-05 Robert Dewar <dewar@adacore.com>
2911
2912 * a-cbmutr.ads: Minor reformatting.
2913
23b6deca
AC
29142011-08-05 Matthew Heaney <heaney@adacore.com>
2915
2916 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Read): do not use T'Valid
2917 to check count, check sign of value instead.
2918 * a-comutr.adb, a-cimutr.adb (Write): return immediately if tree empty
2919 (Copy_Subtree): allocate copy of source element
2920 (Equal_Subtree): compare elements, not access objects
2921
29222011-08-05 Vincent Celier <celier@adacore.com>
2923
2924 * gnat_ugn.texi: Fix VMS alternative.
2925
a2773bd3
AC
29262011-08-05 Thomas Quinot <quinot@adacore.com>
2927
2928 * sem_ch11.adb: Add comment.
2929
29302011-08-05 Robert Dewar <dewar@adacore.com>
2931
2932 * exp_util.adb: Minor comment fix.
2933
29342011-08-05 Robert Dewar <dewar@adacore.com>
2935
2936 * scng.adb (Error_Unterminated_String): Improve flag position when
2937 comma present.
2938
29392011-08-05 Matthew Heaney <heaney@adacore.com>
2940
2941 * Makefile.rtl, impunit.adb: Added a-cbmutr.ad[sb] (bounded multiway
2942 tree containers).
2943 * a-cbmutr.ads, a-cbmutr.adb: This is the new Ada 2012 unit for bounded
2944 multiway tree containers.
2945
29462011-08-05 Robert Dewar <dewar@adacore.com>
2947
2948 * styleg.adb (Check_Comment): Implement comment spacing of 1 or 2
2949 * stylesw.adb: Implement -gnatyC to control comment spacing
2950 * stylesw.ads (Style_Check_Comments_Spacing): New switch (set by
2951 -gnatyc/C).
2952 * usage.adb: Add line for -gnatyC.
2953
29542011-08-05 Robert Dewar <dewar@adacore.com>
2955
f446d60e 2956 * gnat_ugn.texi: Document -gnatyC.
a2773bd3
AC
2957 * vms_data.ads: Implement COMMENTS1/COMMENTS2 (retaining COMMENTS as a
2958 synonym for COMMENTS2).
2959
dedac3eb
RD
29602011-08-05 Robert Dewar <dewar@adacore.com>
2961
2962 * par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb,
2963 a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb,
2964 sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb,
2965 a-comutr.ads, lib-xref.adb: Minor reformatting.
2966
29672011-08-05 Robert Dewar <dewar@adacore.com>
2968
2969 * sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal
2970 warning if there is an exception handler present.
2971
7c62a85a
AC
29722011-08-05 Pascal Obry <obry@adacore.com>
2973
2974 * a-iteint.ads: Fix copyright year.
2975
29762011-08-05 Thomas Quinot <quinot@adacore.com>
2977
2978 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not generate a
2979 statement SCO for a USE clause or a representation clause.
2980
29812011-08-05 Yannick Moy <moy@adacore.com>
2982
2983 * lib-xref-alfa.adb (Collect_ALFA): generate the proper relation
2984 between body and spec for stub.
2985 (Detect_And_Add_ALFA_Scope): take into account subprogram stub
2986 * lib-xref.adb (Enclosing_Subprogram_Or_Package): in the case of a
2987 pragma precondition or postcondition, for which the enclosing
2988 subprogram or package in the AST is not the desired one, return empty.
2989
e49208a9
AC
29902011-08-05 Thomas Quinot <quinot@adacore.com>
2991
2992 * g-expect.adb: Minor reformatting.
2993
29942011-08-05 Bob Duff <duff@adacore.com>
2995
2996 * a-fihema.adb: Comment out OS_Lib.
2997
29982011-08-05 Matthew Heaney <heaney@adacore.com>
2999
3000 * Makefile.rtl, impunit.adb: Added a-c[oi]mutr.ad[sb]
3001 (unbounded multiway tree containers) and a-iteint.ads.
3002 * a-comutr.ads, a-comutr.adb:
3003 This is the new Ada 2012 unit for unbounded multiway tree containers
3004 * a-cimutr.ads, a-cimutr.adb
3005 This is the new Ada 2012 unit for indefinite multiway tree containers
3006 * a-iteint.ads: New file.
3007
201cdb74
RO
30082011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3009
f446d60e 3010 * gcc-interface/Makefile.in (raise-gcc.o): Search $(srcdir)/../libgcc.
201cdb74 3011
d50f4827
AC
30122011-08-05 Bob Duff <duff@adacore.com>
3013
3014 * sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
3015 subpools.
3016 * par-ch4.adb (P_Allocator): Parse new subpool specification syntax.
3017
30182011-08-05 Ed Schonberg <schonberg@adacore.com>
3019
3020 * sem_ch4.adb (Try_Container_Indexing): New procedure to implement the
3021 general indexing aspects of Ada2012. Called when analyzing indexed
3022 components when other interpretations fail.
3023 * sem_ch8.adb (Find_Direct_Name): check for implicit dereference only
3024 in an expression context where overloading is meaningful. This excludes
3025 the occurrence in an aspect specification (efficiency only).
3026 * sem_attr.adb (Analyze_Attribute): indicate that the attributes
3027 related to iterators can be set by an attribute specification, but
3028 cannot be queried.
3029 * sem_ch13.adb (Analyze_Aspect_Specifications): handle
3030 Constant_Indexing and Variable_Indexing.
3031 (Check_Indexing_Functions): New procedure to perform legality checks.
3032 Additional semantic checks at end of declarations.
3033
efe05dfc
AC
30342011-08-05 Sergey Rybin <rybin@adacore.com>
3035
3036 * tree_io.ads: Update ASIS_Version_Number because of the change of the
3037 order of calling Tree_Write/Tree_Read routines made for aspects.
3038
30392011-08-05 Bob Duff <duff@adacore.com>
3040
3041 * a-fihema.adb (Finalize): Fix race condition.
3042
5f9cdefe
AC
30432011-08-05 Yannick Moy <moy@adacore.com>
3044
3045 * sem_ch12.adb (Analyze_Package_Instantiation,
3046 Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
3047 mode.
3048
30492011-08-05 Ed Schonberg <schonberg@adacore.com>
3050
3051 * sem_type.adb (Specific_Type): in an instance, the type-specific
3052 operand of an equality check that involves null may have a private
3053 type. Use full view to determine legality of construct.
3054
822868aa
AC
30552011-08-05 Vincent Celier <celier@adacore.com>
3056
3057 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
3058 delete or close the file when the call to gnatmake was successful.
3059
30602011-08-05 Yannick Moy <moy@adacore.com>
3061
3062 * gnat1drv.adb (Adjust_Global_Switches): in ALFA mode, set
3063 Global_Discard_Names.
3064
30652011-08-05 Ed Schonberg <schonberg@adacore.com>
3066
3067 * sinfo.ads: comments on use of entity field for aspect specifications.
3068
30692011-08-05 Ed Schonberg <schonberg@adacore.com>
3070
3071 * sem_ch12.adb (Reset_Entity): If the entity field of the associated
3072 node is not itself an entity but a selected component, it is a
3073 rewritten parameterless call to an en enclosing synchronized operation,
3074 and this expansion will be performed again in the instance, so there is
3075 no global information to preserve.
3076
44a10091
AC
30772011-08-05 Javier Miranda <miranda@adacore.com>
3078
3079 * exp_disp.adb (Set_All_DT_Position): Cleanup code and improve support
3080 for renamings of predefined primitives.
3081 (In_Predef_Prims_DT): New subprogram.
3082
30832011-08-05 Ed Schonberg <schonberg@adacore.com>
3084
3085 * sem_util.adb, sem_util.ads (Check_Implicit_Dereference): If a
3086 possible interpretation of name is a reference type, add an
3087 interpretation that is the designated type of the reference
3088 discriminant of that type.
3089 * sem_res.adb (resolve): If the interpretation imposed by context is an
3090 implicit dereference, rewrite the node as the deference of the
3091 reference discriminant.
3092 * sem_ch3.adb (Analyze_Subtype_Declaration, Build_Derived_Record_Type,
3093 Build_Discriminated_Subtype): Inherit Has_Implicit_Dereference from
3094 parent type or base type.
3095 * sem_ch4.adb (Process_Indexed_Component,
3096 Process_Overloaded_Indexed_Component, Indicate_Name_And_Type,
3097 Analyze_Overloaded_Selected_Component, Analyze_Selected_Component):
3098 Check for implicit dereference.
3099 (List_Operand_Interps): Indicate when an implicit dereference is
3100 ambiguous.
3101 * sem_ch8.adb (Find_Direct_Name): Check for implicit dereference.
3102
31032011-08-05 Thomas Quinot <quinot@adacore.com>
3104
3105 * scos.ads: Update documentation of SCO table. Pragma statements can now
3106 be marked as disabled (using 'p' instead of 'P' as the statement kind).
3107 * par_sco.ads, par_sco.adb: Implement the above change.
3108 (Process_Decisions_Defer): Generate a P decision for the first parameter
3109 of a dyadic pragma Debug.
3110 * sem_prag.adb (Analyze_Pragma, case Debug): Mark pragma as enabled if
3111 necessary.
3112 * put_scos.adb: Code simplification based on above change.
3113
bb3c784c
AC
31142011-08-05 Robert Dewar <dewar@adacore.com>
3115
3116 * sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb,
3117 bindgen.adb, einfo.adb, sem_ch12.adb, sem_attr.adb, a-fihema.adb,
3118 a-fihema.ads, sem_elab.adb, sem_elab.ads, aspects.adb, opt.ads,
3119 prj-conf.adb, sem_ch13.adb, s-ficobl.ads: Minor reformatting
3120
31212011-08-05 Bob Duff <duff@adacore.com>
3122
3123 * a-stunau.ads, g-spipat.adb: Update comments.
3124
36f686f9
BD
31252011-08-05 Bob Duff <duff@adacore.com>
3126
3127 * a-fihema.ads: Minor comment fix.
3128 * a-fihema.adb (Allocate, Deallocate): Assert that the alignment is
3129 correct.
3130 (Attach, Detach): Remove some unnecessary code.
3131 (Finalize): Remove Node_Ptr_To_Address, replace with a constant.
3132
7882673f
BD
31332011-08-05 Bob Duff <duff@adacore.com>
3134
3135 * a-fihema.ads, a-fihema.adb (Finalization_Collection): Avoid heap
3136 allocation for Objects component. This simplifies the code somewhat. It
3137 is also a little more efficient in the not-so-unusual case where there
3138 are no controlled objects allocated.
3139 Make Finalization_Started flag atomic.
3140 (Finalize): Avoid unnecessary detachment of items from the list.
3141 (pcol): Minor cleanup.
3142
d34cd274
AC
31432011-08-05 Ed Schonberg <schonberg@adacore.com>
3144
3145 * sem_ch12.adb (Analyze_Formal_Package_Declaration): reject a formal
3146 package whose name is the same as that of the generic unit, or its
3147 ultimate prefix.
3148
31492011-08-05 Bob Duff <duff@adacore.com>
3150
3151 * a-fihema.adb, a-fihema.ads: Minor comment improvements.
3152 * sem_ch3.adb, exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb:
3153 Minor comment fixes.
3154
00332244
AC
31552011-08-05 Arnaud Charlet <charlet@adacore.com>
3156
3157 * make.adb (Linking_Phase): No longer need to set source search path
3158 before calling gnatlink in CodePeer mode.
3159 * gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
3160 gcc in CodePeer mode, since the binder generated file no longer has a
3161 'with Main'.
3162 * switch.ads, switch.adb (Is_Language_Switch): Removed.
3163 * switch-c.adb: Update comment.
3164
31652011-08-05 Thomas Quinot <quinot@adacore.com>
3166
3167 * exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.
3168
31692011-08-05 Nicolas Roche <roche@adacore.com>
3170
3171 * gnat_ugn.texi: Fix minor syntax error issue.
3172
31732011-08-05 Vincent Celier <celier@adacore.com>
3174
3175 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
3176 delete or close the file when the call to gnatmake returns a non
3177 successful return code.
3178
31792011-08-05 Ed Schonberg <schonberg@adacore.com>
3180
3181 * exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
3182 check, indicate that the copy of the original node does not come from
3183 source, to prevent an infinite recursion of the expansion.
3184
31852011-08-05 Johannes Kanig <kanig@adacore.com>
3186
3187 * debug.adb: document switch -gnatd.G for gnat2why, which deactivates
3188 VC generation for subprogram bodies.
3189
31902011-08-05 Yannick Moy <moy@adacore.com>
3191
3192 * einfo.ads: Typo.
3193 * sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
3194 the base type with the smallest allowed base type.
3195
31962011-08-05 Sergey Rybin <rybin@adacore.com>
3197
3198 * tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
3199 aspects.
3200
32012011-08-05 Ed Schonberg <schonberg@adacore.com>
3202
3203 * sem_ch12.ads: minor comment updates.
3204
32052011-08-05 Ed Schonberg <schonberg@adacore.com>
3206
3207 * sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
3208 instantiation and a formal package the compiler generates a package
3209 renaming declaration so that the generic name within the declaration
3210 is interpreted as a renaming of the instance. At the end of a formal
3211 package declaration, this renaming must become invisible.
3212
0da80d7d
AC
32132011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
3214
3215 * exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character
3216 comparison and rely on concrete entities instead.
3217
32182011-08-05 Ed Schonberg <schonberg@adacore.com>
3219
3220 * einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types
3221 and discriminants, to indicate that the type has an access discriminant
3222 that supports implicit dereference.
3223 * snames.ads-tmpl: Add names of aspects and attributes related to
3224 Ada2012 iterators: constant_indexing, default_iterator,
3225 iterator_element, implicit_dereference, variable_indexing.
3226 * aspects.ads, aspects.adb: entries for iterator-related aspects.
3227 * sem_ch13.adb (Analyze_aspect_specifications): dummy entries for
3228 iterator-related aspects.
3229 * sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects.
3230
32312011-08-05 Sergey Rybin <rybin@adacore.com>
3232
3233 * gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling
3234 metrics in gnatmetric to cover new kinds of coupling mentrics.
3235
32362011-08-05 Steve Baird <baird@adacore.com>
3237
3238 * bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead
2c7f9cc0 3239 of calling the user-defined main subprogram.
0da80d7d
AC
3240 (Gen_Main): Declare Ada_Main_Program and (if CodePeer_Mode
3241 is set) Call_Main_Subprogram ahead of, as opposed to
3242 inside of, Main.
3243 (Gen_Output_File_Ada): Remove CodePeer_Mode-conditional
3244 generation of a "with" of the user-defined main subprogram.
3245 Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper
3246 (which is now called from Gen_Main instead).
3247
73242473
AC
32482011-08-05 Emmanuel Briot <briot@adacore.com>
3249
3250 * projects.texi: Added reference to the Makefile package.
3251
32522011-08-05 Thomas Quinot <quinot@adacore.com>
3253
3254 * exp_ch7.adb: Minor comment rewording.
3255
32562011-08-05 Ed Falis <falis@adacore.com>
3257
3258 * env.c: Fix comment.
3259
32602011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
3261
3262 * sem_elab.adb (Is_Finalization_Procedure): Reimplemented to avoid
3263 character comparison and rely on concrete entities instead.
3264
97ed5872
AC
32652011-08-05 Ed Schonberg <schonberg@adacore.com>
3266
3267 * sem_ch3.adb: (Check_Private_Overriding): better error message,
3268 suggested by AI95-0068.
3269
32702011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
3271
3272 * exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
3273 the two potential initialization calls. This accounts for any
3274 access-before-elaboration checks which may precede the initialization
3275 calls.
3276 (Next_Suitable_Statement): New routine. Returns the next real statement
3277 after the input node while skipping generated checks.
3278 * sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
3279 with comment on usage.
3280 Do not generate Elaborate_All when the trigger is a finalization call
3281 coming from a type init proc.
3282 (Check_Elab_Call): Propagate the initialization procedure context to
3283 subsequent calls to Check_A_Call.
3284 (Check_Internal_Call_Continue): Propagate the initialization procedure
3285 context to subsequent calls to Check_Elab_Call.
3286 (Is_Finalization_Procedure): New routine. Returns True if the input
3287 entity denotes a [Deep_]Finalize routine.
3288 * sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
3289 along with comment on usage.
3290
32912011-08-05 Vadim Godunko <godunko@adacore.com>
3292
3293 * s-atocou.ads: Add list of supported platforms.
3294
32952011-08-05 Yannick Moy <moy@adacore.com>
3296
3297 * sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables
3298
3299 * opt.ads (Disable_ALI_File): new Boolean flag
3300 * lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing
3301
33022011-08-05 Ed Falis <falis@adacore.com>
3303
3304 * env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
3305 environ is properly defined.
3306
33072011-08-05 Vincent Celier <celier@adacore.com>
3308
3309 * make.adb (Compilation_Phase): Exit immediately when all objects have
3310 been found up to date, to avoid multiple exit messages.
3311 * prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
3312 same project for languages with no compiler.
3313 * gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
3314 -eI.
9aff36e9
RD
33152011-08-05 Robert Dewar <dewar@adacore.com>
3316
3317 * exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb,
3318 sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb,
3319 prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb,
3320 s-atocou-builtin.adb: Minor reformatting.
3321
406935b6
AC
33222011-08-05 Yannick Moy <moy@adacore.com>
3323
3324 * exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
3325 if the node to wrap is a pragma check, this node and enclosed
3326 expression are not expanded, so do not apply any transformations here.
3327 * exp_prag.adb (Expand_Pragma_Check): document the need to avoid
3328 introducing transient scopes.
3329
33302011-08-05 Jose Ruiz <ruiz@adacore.com>
3331
3332 * adaint.c (__gnat_set_writable, __gnat_set_readable,
3333 __gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
3334 __gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
3335 routine is available, so we use the default implementation of these
3336 functions.
3337 * s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
3338 support for copying attributes on VxWorks 6.
3339
33402011-08-05 Yannick Moy <moy@adacore.com>
3341
3342 * debug.adb: Remove use of -gnatd.D.
3343 * gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
3344 * opt.ads: Simplify variables for ALFA mode, to keep one only
3345 * restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
3346 to ALFA mode.
3347
33482011-08-05 Vincent Celier <celier@adacore.com>
3349
3350 * prj-conf.adb (Do_Autoconf): Look also for --RTS in
3351 Builder'Default_Switches.
3352
33532011-08-05 Vincent Celier <celier@adacore.com>
3354
3355 * makeusg.adb: Add lines for --create-map-file switches.
3356
33572011-08-05 Ed Schonberg <schonberg@adacore.com>
3358
3359 * freeze.adb (Freeze_Entity): For a subprogram, if a type in the
3360 profile is incomplete and the full view is available, replace it with
3361 the full view.
3362 * sem_ch6.adb (Possible_Freeze): if a type in the profile is
3363 incomplete, freezing the subprogram is delayed until the full view is
3364 frozen.
3365 * sem_type.adb (Disambiguate): an ambiguity between a user-defined
3366 fixed-point multiplication operator and the predefined operator is
3367 resolved in favor of the user-defined one.
3368
96c891b3
RO
33692011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3370
3371 * init.c [__alpha__ && __osf__] (__gnat_error_handler): Use
3372 CONST_CAST.
3373
276e7ed0
AC
33742011-08-04 Ed Schonberg <schonberg@adacore.com>
3375
3376 * sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
3377 whether a type lacks user-defined Read or Write operations, or has a
3378 component that lacks them.
3379 * sem_attr.adb (Check_Stream_Attribute): if restriction
3380 No_Default_Stream_Attributes is active, verify that all subcomponent
3381 types of the target have user-defined stream operations, and report
3382 error otherwise.
3383 * exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
3384 * exp_strm.adb: Build_Elementary_Input_Call,
3385 Build_Elementary_Write_Call): remove checks for restriction
3386 No_Default_Stream_Attributes, now checked in semantics.
3387
33882011-08-04 Vincent Celier <celier@adacore.com>
3389
3390 * prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
3391 switches on the command line, look for all valid --RTS switches in the
3392 Builder switches and for each language use the first runtime name found
3393 to invoke gprconfig.
3394 (Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
3395 command line and there is no auto-configuration.
3396 (Runtime_Name_Set_For): New function.
3397
33982011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
3399
3400 * exp_ch7.adb (Build_Object_Declarations): Do not generate the
3401 elaborate initialization expression for variable Abort when processing
3402 a package body or a declaration.
3403 (Create_Finalizer): Propagate the package context when creating the
3404 exception-related variables.
3405 * exp_ch7.ads (Build_Object_Declarations): New formal parameter
3406 For_Package along with usage comment.
3407
19172ae9
AC
34082011-08-04 Arnaud Charlet <charlet@adacore.com>
3409
3410 * gcc-interface/Makefile.in: Clean up targets.
3411 Enable new package for atomic counters and copy-on-write implementation
3412 of unbounded strings on x86 platforms.
3413 * gcc-interface/Make-lang.in: Update dependencies.
3414
0319cacc
AC
34152011-08-04 Robert Dewar <dewar@adacore.com>
3416
3417 * exp_ch7.adb: Minor reformatting.
3418
34192011-08-04 Robert Dewar <dewar@adacore.com>
3420
3421 * exp_strm.adb: Minor reformatting.
3422
34232011-08-04 Vadim Godunko <godunko@adacore.com>
3424
3425 * s-atocou.adb: Replace by dummy version and use on targets where atomic
3426 operations are not supported.
3427 * s-atocou-builtin.adb: Renamed from s-atocou.adb.
3428 * s-atocou-x86.adb: New file.
3429 * Makefile.rtl: Add s-atocou.o file
3430
34312011-08-04 Arnaud Charlet <charlet@adacore.com>
3432
3433 * make.adb (Compile): Move setting of CodePeer_Mode to ...
3434 (Compilation_Phase): ... here.
3435 (Scan_Make_Arg): Now bind and link by default in CodePeer mode.
3436
34372011-08-04 Thomas Quinot <quinot@adacore.com>
3438
3439 * Make-generated.in: Fix minor typo in comment.
3440
26e7e1a0
AC
34412011-08-04 Thomas Quinot <quinot@adacore.com>
3442
3443 * gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
3444 the project path.
3445
34462011-08-04 Robert Dewar <dewar@adacore.com>
3447
3448 * a-coinho.adb: Minor reformatting.
3449
34502011-08-04 Robert Dewar <dewar@adacore.com>
3451
3452 * a-coinho.ads: Minor reformatting.
3453
34542011-08-04 Vadim Godunko <godunko@adacore.com>
3455
3456 * s-atocou.ads, s-atocou.adb: New files.
3457 * a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
3458 a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
3459 direct use of GCC's atomic builtins and replace them by use of new
3460 atomic counter package.
3461
34622011-08-04 Ed Schonberg <schonberg@adacore.com>
3463
3464 * exp_strm.adb: better error message for No_Default_Stream_Attributes.
3465
34662011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
3467
3468 * a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
3469 with a call to Get_External_Tag.
3470 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
3471 subprogram usage. Remove the guard against package declarations and
3472 bodies since Build_Cleanup_Statements is no longer invoked in that
3473 context.
3474 (Build_Components): Initialize Tagged_Type_Stmts when the context
3475 contains at least one library-level tagged type.
3476 (Build_Finalizer): New local variables Has_Tagged_Types and
3477 Tagged_Type_Stmts along with associated comments on usage. Update the
3478 logic to include tagged type processing.
3479 (Create_Finalizer): Insert all library-level tagged type unregistration
3480 code before the jump block circuitry.
3481 (Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
3482 (Expand_N_Package_Declaration): Remove the call to
3483 Build_Cleanup_Statements.
3484 (Process_Tagged_Type_Declaration): New routine. Generate a call to
3485 unregister the external tag of a tagged type.
3486 (Processing_Actions): Reimplemented to handle tagged types.
3487 (Process_Declarations): Detect the declaration of a library-level
3488 tagged type and carry out the appropriate actions.
3489 (Unregister_Tagged_Types): Removed. The machinery has been directly
3490 merged with Build_Finalizer.
3491
7483c888
AC
34922011-08-04 Robert Dewar <dewar@adacore.com>
3493
3494 * bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
3495 gnatls.adb, exp_ch3.adb: Minor reformatting.
3496
34972011-08-04 Marc Sango <sango@adacore.com>
3498
3499 * sem_attr.adb (Analyze_Attribute): Replace the message
3500 "invisible attribute of}" of the spark restriction violation in
3501 attribute reference by the simple message "invisible attribute of type".
3502 Indeed, the node value Error_Msg_Node_1 used is in conflit with the
3503 two insertion characters: '&' and '}'.
3504
35052011-08-04 Vadim Godunko <godunko@adacore.com>
3506
3507 * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
3508 * a-coinho.ads, a-coinho.adb: New file.
3509 * Makefile.rtl: Add Ada.Containers.Indefinite_Holders.
3510
5207696c
AC
35112011-08-04 Nicolas Roche <roche@adacore.com>
3512
3513 * alfa_test.adb: Not all ali files are containing alfa information even
3514 if compiled with -gnatd.F. So suppress warning about missing ALFA
3515 information.
3516
35172011-08-04 Yannick Moy <moy@adacore.com>
3518
3519 * lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
3520 scope.
3521 * put_alfa.adb: Check that scope name is not empty.
3522
35232011-08-04 Ed Schonberg <schonberg@adacore.com>
3524
3525 * exp_ch3.adb (Stream_Operation_Ok): new predicate
3526 Needs_Elementary_Stream_Operation, to determine whether user-defined
3527 Read and Write attributes are available for the elementary components
3528 of the given type. If only the predefined attributes are available,
3529 then when restriction No_Default_Stream_Attributes is active the
3530 predefined stream attributes for the composite type cannot be created.
3531
35322011-08-04 Robert Dewar <dewar@adacore.com>
3533
3534 * bindgen.adb: Fix obsolete comments and names from Ada/C days.
3535 Put routines in alpha order
3536
2bd2d858
JR
35372011-08-04 Jose Ruiz <ruiz@adacore.com>
3538
3539 * gcc-interface/Makefile.in: Remove xenomai specific versions of system.
3540 * gcc-interface/Make-lang.in: Update dependencies.
3541
8fae6016
AC
35422011-08-04 Arnaud Charlet <charlet@adacore.com>
3543
3544 * gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
3545 * gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls
3546 gnat1why).
3547
a54d0eb4
AC
35482011-08-04 Robert Dewar <dewar@adacore.com>
3549
3550 * sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
3551 lib-xref-alfa.adb: Minor reformatting.
3552
35532011-08-04 Marc Sango <sango@adacore.com>
3554
3555 * sem_ch12.adb (Analyze_Generic_Package_Declaration,
3556 Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
3557 Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
3558 mode.
3559
35602011-08-04 Tristan Gingold <gingold@adacore.com>
3561
3562 * bindgen.adb (Gen_Adainit_C): Remove.
3563 (Gen_Adafinal_C): Ditto.
3564 (Gen_Elab_Externals_C): Ditto.
3565 (Gen_Elab_Calls_C): Ditto.
3566 (Gen_Elab_Order_C): Ditto.
3567 (Gen_Elab_Defs_C): Ditto.
3568 (Gen_Finalize_Library_C): Ditto.
3569 (Gen_Finalize_Library_Defs_C): Ditto.
3570 (Gen_Main_C): Ditto.
3571 (Gen_Output_File_C): Ditto.
3572 (Gen_Restrictions_C): Ditto.
3573 (Gen_Versions_C): Ditto.
3574 (Write_Info_Ada_C): Ditto.
3575 (Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
3576 (Gen_Output_File): Do not force Ada_Bind_File anymore.
3577 Always call Gen_Output_File_Ada.
3578 * gnatlink.adb (Begin_Info): Now a constant.
3579 (End_Info): Ditto.
3580 (Ada_Bind_File): Remove
3581 (Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases.
3582 * switch-b.adb (Scan_Binder_Switches): Do not handle -C.
3583 * gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
3584 * opt.ads (Ada_Bind_File): Remove.
3585
35862011-08-04 Thomas Quinot <quinot@adacore.com>
3587
3588 * projects.texi: Document target-specific directory in default project
3589 path for gnatmake.
3590
35912011-08-04 Thomas Quinot <quinot@adacore.com>
3592
3593 * gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
3594 path in all cases .
3595
24558db8
AC
35962011-08-04 Yannick Moy <moy@adacore.com>
3597
3598 * sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
3599 opt.ads, lib-xref.ads: Code clean up.
3600
36012011-08-04 Yannick Moy <moy@adacore.com>
3602
3603 * gnat_rm.texi: Update description of Test_Case
3604 * gnat_ugn.texi: Typo.
3605
36062011-08-04 Ed Falis <falis@adacore.com>
3607
3608 * adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
3609
36102011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
3611
3612 * exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
3613 it is of type Root_Controlled. This action eliminates fields Prev and
3614 Next from type equality.
3615
36162011-08-04 Yannick Moy <moy@adacore.com>
3617
3618 * lib-xref-alfa.adb: Correct typo.
3619
36202011-08-04 Matthew Heaney <heaney@adacore.com>
3621
3622 * a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
3623 component.
3624
1f9939b5
AC
36252011-08-04 Yannick Moy <moy@adacore.com>
3626
3627 * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
3628 (Analyze_Pragma): allow static string expression for name of Test_Case,
3629 instead of simply string literals.
3630 * sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
3631 expressions.
3632
36332011-08-04 Vincent Celier <celier@adacore.com>
3634
3635 * makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
3636 case suffixes to find truncated main sources.
3637
36382011-08-04 Tristan Gingold <gingold@adacore.com>
3639
3640 * impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
3641 s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
3642 (Compute_Current_Task): Ditto.
3643
36442011-08-04 Tristan Gingold <gingold@adacore.com>
3645
3646 * gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
3647
36482011-08-04 Yannick Moy <moy@adacore.com>
3649
3650 * lib-xref-alfa.adb (Is_Global_Constant): new function that detects
3651 library-level constant.
3652 (Add_ALFA_Xrefs): ignore global constants in ALFA xref.
3653 * sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
3654 used as selector of parameter association, in ALFA mode.
3655
15d8a51d
AC
36562011-08-04 Robert Dewar <dewar@adacore.com>
3657
3658 * exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
3659 s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
3660 reformatting.
3661
36622011-08-04 Arnaud Charlet <charlet@adacore.com>
3663
3664 * make.adb (Linking_Phase): Set source search path before calling
3665 gnatlink in CodePeer mode.
3666
f46faa08
AC
36672011-08-04 Javier Miranda <miranda@adacore.com>
3668
3669 * exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
3670 Remove code which takes care of building TSDs.
3671 * rtsfind.ads (RE_Check_Interface_Conversion): New entity.
3672 * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
3673 the accessibility check in VM targets.
3674 * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
3675 (Building_Static_DT): Now returns false for VM targets.
3676 (Build_VM_TSDs): Removed.
3677 (Expand_Interface_Conversion): Generate missing runtime check for
3678 conversions to interface types whose target type is unknown at compile
3679 time.
3680 (Make_VM_TSD): Add missing code to disable the generation of calls to
3681 Check_TSD if the tagged type is not defined at library level, or not
3682 has a representation clause specifying its external tag, or -gnatdQ is
3683 active.
3684 * exp_disp.ads (Build_VM_TSDs): Removed.
3685 (Make_VM_TSDs): Spec relocated from exp_disp.adb
3686 * sem_disp.adb (Check_Dispatching_Operation): No code required to
3687 register primitives in the dispatch tables in VM targets.
3688 * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
3689 initialization of class-wide interface objects in VM targets.
3690 (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
3691 of Make_DT).
3692
36932011-08-04 Jerome Lambourg <lambourg@adacore.com>
3694
3695 * gnatlink.adb (Gnatlink): Correct missleading error message displayed
3696 when dotnet-ld cannot be found.
3697
36982011-08-04 Arnaud Charlet <charlet@adacore.com>
3699
3700 * bindgen.adb: Simplify significantly generation of binder body file in
3701 CodePeer mode.
3702 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
3703 when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
3704 not expanded).
3705
2ba7e31e
AC
37062011-08-04 Yannick Moy <moy@adacore.com>
3707
3708 * sem_prag.adb, sem.ads: Code cleanup.
3709
37102011-08-04 Tristan Gingold <gingold@adacore.com>
3711
3712 * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
3713 * s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
3714 results if possible.
3715 * s-stusta.adb (Print): Adjust after changes in s-stausa.
3716 * gnat_ugn.texi: Update dynamic stack usage section.
3717
37182011-08-04 Steve Baird <baird@adacore.com>
3719
3720 * bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
3721 Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
3722 contains only a call to the user-defined main subprogram.
3723 (Gen_Main_Ada) - If CodePeer_Mode is set, then
3724 call the "wrapper" subprogram instead of directly
3725 calling the user-defined main subprogram.
3726
37272011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
3728
3729 * exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
3730 alternatives of a case statement for controlled objects. Rename local
3731 variable A to Dead_Alt.
3732 (Expand_N_If_Statement): Check the then and else statements of an if
3733 statement for controlled objects. Check the then statements of all
3734 elsif parts of an if statement for controlled objects.
3735 (Expand_N_Loop_Statement): Check the statements of a loop for controlled
3736 objects.
3737 * exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
3738 detects a loop associated with the expansion of an array object.
3739 Augment the processing of the loop statements to account for a possible
3740 wrap done by Process_Statements_For_Controlled_Objects.
3741 * exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
3742 statements and abortable part of an asynchronous select for controlled
3743 objects.
3744 (Expand_N_Conditional_Entry_Call): Check the else statements of a
3745 conditional entry call for controlled objects.
3746 (Expand_N_Selective_Accept): Check the alternatives of a selective
3747 accept for controlled objects.
3748 (Expand_N_Timed_Entry_Call): Check the entry call and delay
3749 alternatives of a timed entry call for controlled objects.
3750 * exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
3751 exception handler for controlled objects.
3752 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
3753 Add formal parameter Nested_Constructs along with its associated
3754 comment.
3755 (Requires_Cleanup_Actions (Node_Id)): Update all calls to
3756 Requires_Cleanup_Actions.
3757 (Process_Statements_For_Controlled_Objects): New routine.
3758 * exp_util.ads (Process_Statements_For_Controlled_Objects): New
3759 routine. Inspect a node which contains a non-handled sequence of
3760 statements for controlled objects. If such an object is found, the
3761 statements are wrapped in a block.
3762
1bf773bb
AC
37632011-08-04 Bob Duff <duff@adacore.com>
3764
3765 * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
3766 need to compare with Class_Wide_Type (T2), in order to get at the
3767 original class-wide type node.
3768 * sem_type.ads (Covers): Improve the comment.
3769 * einfo.ads (Class_Wide_Type): Improve the comment.
3770 * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
3771 the type of the Deref.
3772
37732011-08-04 Yannick Moy <moy@adacore.com>
3774
3775 * gnat_rm.texi: Document that Test_Case pragma can only appear on
3776 separate declarations.
3777 * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
3778 check identifier of pragma argument.
3779 (Chain_TC): check that no other test case associated to the same entity
3780 share the same name.
3781 (Check_Test_Case): disallow test case inside subprogram body
3782 (Analyze_Pragma): correct call to check identifier and not argument
3783 * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
3784 function gets name from test case pragma.
3785
dac3bede
YM
37862011-08-04 Yannick Moy <moy@adacore.com>
3787
3788 * gnat_rm.texi: Document new pragma and aspect.
3789 * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
3790 (No_Duplicates_Allowed): new constant array defining whether duplicates
3791 aspects of each kind can appear on the same declaration.
3792 * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
3793 field, which points to a node holding the previous Spec_PPC_List.
3794 * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
3795 through the indirection with Contract.
3796 * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
3797 * par-prag.adb (Prag): do nothing on Test_Case pragma
3798 * sem.adb (Analyze): abort on N_Contract, on which Analyze should not
3799 be called directly.
3800 * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
3801 component Ensures of Test_Case.
3802 * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
3803 (Analyze_Generic_Subprogram_Declaration,
3804 Analyze_Subprogram_Instantiation,
3805 Analyze_Abstract_Subprogram_Declaration,
3806 Analyze_Subprogram_Body_Helper,
3807 Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
3808 insert contract in subprogram node at point of definition
3809 * sem_ch13.adb
3810 (Aspect_Loop): do not raise error on duplicate Test_Case aspect
3811 (Analyze_Aspect_Specifications): analyze Test_Case aspect and create
3812 corresponding pragma
3813 (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
3814 * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
3815 similar to the analysis of pre/post
3816 (Derive_Subprogram): insert contract in subprogram node at point of
3817 derivation.
3818 * sem_prag.adb, sem_prag.ads
3819 (Check_Arg_Is_String_Literal, Check_Identifier):
3820 new checking procedures to be called in treatment of pragmas
3821 (Check_Test_Case): new procedure to check that a Test_Case aspect or
3822 pragma is well-formed. This does not check currently that 'Result is
3823 used only in the Ensures component of a Test_Case.
3824 (Analyze_Pragma): add case for Test_Case
3825 (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
3826 components of a Test_Case.
3827 (Preanalyze_TC_Args): new procedure to preanalyze the boolean
3828 expressions in the 3rd (and 4th if present) arguments of a Test_Case
3829 pragma, treated as spec expressions.
3830 (Sig_Flags): add value -1 for Test_Case.
3831 * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
3832 Get_Requires_From_Test_Case_Pragma): getters for both expression
3833 components of a Test_Case.
3834 * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
3835 indirection between an entry or [generic] subprogram entity and its
3836 pre/post + test-cases.
3837 (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
3838 get/set for fields of an N_Contract node.
3839 * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
3840 Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
3841 names and pragma for Test_Case.
3842 * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
3843
6a2e5d0f
AC
38442011-08-04 Vincent Celier <celier@adacore.com>
3845
3846 * gnat_ugn.texi: Improve documentation of gnatmake switch
3847 --source-info-file=.
3848
38492011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
3850
3851 * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
3852 type). Initialize Atyp to the appropriate type which is later checked
3853 for completion. Rewrite the assertion associated with private type
3854 completion.
3855
38562011-08-04 Ed Falis <falis@adacore.com>
3857
3858 * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
3859 initialize the number of CPUs.
3860
38612011-08-04 Ed Schonberg <schonberg@adacore.com>
3862
3863 * sem_type.adb (Disambiguate): New subsidiary routine
3864 In_Same_Declaration_List, to implement AI05-0020: a user-defined
3865 equality on an anonymous access type whose designated type is private
3866 does not lead to an ambiguity with the universal access equality
3867 operator in the body or child units of the defining package. The same
3868 is true for a multiplication operator on a private type completed with
3869 a fixed-point-type.
3870
38712011-08-04 Javier Miranda <miranda@adacore.com>
3872
3873 * opt.ads (Init_Or_Norm_Scalars_Config): Removed.
3874 (Normalize_Scalars_Config): Removed.
3875 * opt.adb
3876 (Register_Opt_Config_Switches): Remove registering config values of
3877 Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
3878 (Restore_Opt_Config_Switches): Remove code which restores the values of
3879 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
3880 Init_Or_Norm_Scalars.
3881 (Save_Opt_Config_Switches): Remove code which saves values of
3882 Init_Or_Norm_Scalars and Normalize_Scalars.
3883 (Set_Opt_Config_Switches): Remove code which restores config values of
3884 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
3885 Init_Or_Norm_Scalars.
3886
38872011-08-04 Yannick Moy <moy@adacore.com>
3888
3889 * frontend.adb (Frontend): remove previous patch to avoid full
3890 qualification in ALFA mode.
3891 * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
3892 * sem_util.adb, sem_util.ads (Unique_Name): new function to define a
3893 unique name for an entity, which could be used to identify the entity
3894 across compilation units.
3895
38962011-08-04 Thomas Quinot <quinot@adacore.com>
3897
3898 * prj-env.adb
3899 (Initialize_Default_Project_Path): Add target specific directory
3900 ($prefix/$target/lib/gnat) in front of project path in all cases
3901 (making gnatmake's behaviour consistent with gprbuild).
3902 * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
3903 Pass target name from Sdefault to project subsystem.
3904 * gnatls.adb: Show new target specific default project directory.
3905
39062011-08-04 Johannes Kanig <kanig@adacore.com>
3907
3908 * cstand.adb: Add Information to Identifier in Standard
3909 (Identifer_For): Set Entity to the corresponding entity
3910
483361a6
AC
39112011-08-04 Sergey Rybin <rybin@adacore.com>
3912
3913 * gnat_ugn.texi: Update doc on gnatcheck.
3914
39152011-08-04 Yannick Moy <moy@adacore.com>
3916
3917 * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
3918 xrefs in a scope.
3919
39202011-08-04 Yannick Moy <moy@adacore.com>
3921
3922 * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
3923 performing expansion.
3924 * sem_ch6.adb (Analyze_Subprogram_Body_Helper,
3925 Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
3926 it is not called in ALFA mode.
3927
ef5569c6
AC
39282011-08-04 Emmanuel Briot <briot@adacore.com>
3929
3930 * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
3931 after all, so removed.
3932
39332011-08-04 Sergey Rybin <rybin@adacore.com>
3934
3935 * vms_data.ads: Add missing VMS qualifiers.
3936
1ab4a286
EB
39372011-08-04 Emmanuel Briot <briot@adacore.com>
3938
3939 * make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
3940 the list of files on the command line after processing it through
3941 Complete_Mains.
3942
7ae0d98c
AC
39432011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
3944
3945 * exp_ch7.adb (Build_Raise_Statement): Remove the specialized
3946 processing for .NET/JVM. These targets can now benefit from
3947 Raise_From_Controlled_Operation and they share the same processing with
3948 standard targets.
3949 (Establish_Transient_Scope): Remove the restriction for .NET/JVM.
3950 These targets need transient scopes in order to properly finalize short
3951 lived controlled objects.
3952 (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
3953 NET/JVM. These targets can now benefit from
3954 Raise_From_Controlled_Operation and they share the same processing with
3955 standard targets.
3956
39572011-08-04 Geert Bosch <bosch@adacore.com>
3958
3959 * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
3960
39612011-08-04 Ed Schonberg <schonberg@adacore.com>
3962
3963 * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
3964 Expand_Record_Aggregate, to determine whether aggregate must be
3965 expanded into assignments. This is the case if the ancestor part is
3966 private, regarless of the setting of the flag Has_Private_Ancestor.
3967
39682011-08-04 Ed Falis <falis@adacore.com>
3969
3970 * vxaddr2line.adb: Add support for e500v2 and for Linux hosts
3971
39722011-08-04 Bob Duff <duff@adacore.com>
3973
3974 * sinfo.ads: Fix comment.
3975
39762011-08-04 Steve Baird <baird@adacore.com>
3977
3978 * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
3979 choose a package name in much the same way as is
3980 done for JGNAT when VM_Target /= No_VM, except that
3981 a slightly more distinctive prefix string is used.
3982
39832011-08-04 Emmanuel Briot <briot@adacore.com>
3984
3985 * makeutl.adb (Complete_Mains): no longer accept unit names on the
3986 gnatmake command line.
3987 This behavior was never documented (and was supported only because of
3988 an early bug in the code). This case might lead to ambiguous cases
3989 (between unit names and truncated base names without suffixes).
3990
87729e5a
AC
39912011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
3992
3993 * a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
3994 Remove the external tag of a tagged type from the internal hash table.
3995 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
3996 expanded usage of the routine. Strenghten the check for Is_Master. Add
3997 processing for tagged types.
3998 (Build_Finalizer): Create all the necessary lists used in finalizer
3999 creation when the processed context is a package that may contain
4000 tagged types.
4001 (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
4002 Requires_Cleanup_Actions.
4003 (Expand_N_Package_Body): Package bodies may need clean up code
4004 depending on whether they contain tagged types.
4005 (Expand_N_Package_Declaration): Package declarations may need clean up
4006 code depending on whether they contain tagged types.
4007 (Unregister_Tagged_Types): New routine. Search through a list of
4008 declarations or statements, looking for non-abstract Ada tagged types.
4009 For each such type, generate code to unregister the external tag.
4010 * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
4011 Requires_Cleanup_Actions.
4012 (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
4013 through a list of declarations or statements looking for non-abstract
4014 Ada tagged types or controlled objects.
4015 * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
4016 Requires_Cleanup_Actions.
4017 (Has_Controlled_Objects (List_Id, Boolean)): Removed.
4018 * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
4019 RE_Unit_Table.
4020
40212011-08-04 Vincent Celier <celier@adacore.com>
4022
4023 * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
4024 has Ada sources, not project Project, because if the root project
4025 Project has no sources of its own, all projects will be deemed without
4026 sources.
4027
40282011-08-04 Gary Dismukes <dismukes@adacore.com>
4029
4030 * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
4031 of the No_Param_Proc acc-to-subp type used for initialization of
4032 __gnat_finalize_library_objects so that it's declared at library level
4033 rather than nested inside of the adainit routine.
4034
40352011-08-04 Javier Miranda <miranda@adacore.com>
4036
4037 * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
4038 if the tagged type has a representation clause which specifies its
4039 external tag.
4040
40412011-08-04 Ed Schonberg <schonberg@adacore.com>
4042
4043 * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
4044 Remove previous procedure with that name.
4045 * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
4046 when appropriate.
4047 * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
4048 subtype mark, the ancestor cannot have unknown discriminants.
4049 (Resolve_Record_Aggregate): if the type has invisible components
4050 because of a private ancestor, the aggregate is illegal.
4051
40522011-08-04 Vincent Celier <celier@adacore.com>
4053
4054 * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
4055 account switches -gnat2005, -gnat12 and -gnat2012.
4056
40572011-08-04 Bob Duff <duff@adacore.com>
4058
4059 * s-tasdeb.ads: Minor comment fix.
4060
40612011-08-04 Arnaud Charlet <charlet@adacore.com>
4062
4063 * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
4064 CodePeer mode.
4065 * switch.ads, switch.adb (Is_Language_Switch): New function.
4066
40672011-08-04 Vincent Celier <celier@adacore.com>
4068
4069 * switch-c.adb: Minor comment addition.
4070
40712011-08-04 Vincent Celier <celier@adacore.com>
4072
4073 * vms_conv.adb (Process_Argument): Fail graciously when qualifier
4074 ending with '=' is followed by a space (missing file name).
4075
40762011-08-04 Pascal Obry <obry@adacore.com>
4077
4078 * g-regist.ads: Fix size of HKEY on x86_64-windows.
4079
40802011-08-04 Ed Schonberg <schonberg@adacore.com>
4081
4082 * sem_ch12.adb (Analyze_Associations): New routine
4083 Check_Overloaded_Formal_Subprogram to reject a formal package when
4084 there is a named association or a box initialisation for an overloaded
4085 formal subprogram of the corresponding generic.
4086
40872011-08-04 Yannick Moy <moy@adacore.com>
4088
4089 * alfa.ads (ALFA_Xref_Record): add component for type of entity
4090 * get_alfa.adb, put_alfa.adb: Read and write new component of
4091 cross-reference.
4092 * lib-xref-alfa.adb (Collect_ALFA): generate new component.
4093
88f47280
AC
40942011-08-04 Pascal Obry <obry@adacore.com>
4095
4096 * urealp.adb: Minor reformatting.
4097
40982011-08-04 Tristan Gingold <gingold@adacore.com>
4099
4100 * exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
4101 Handle the case when Cleanup_Protected_Object returns Empty.
4102
41032011-08-04 Yannick Moy <moy@adacore.com>
4104
4105 * frontend.adb (Frontend): only qualify names in non-ALFA mode
4106
41072011-08-04 Ed Schonberg <schonberg@adacore.com>
4108
4109 * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
4110 call, ignore functions.
4111
05c53a69
GB
41122011-08-04 Geert Bosch <bosch@adacore.com>
4113
4114 * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
4115 point.
4116
23cc1ace
EB
41172011-08-04 Emmanuel Briot <briot@adacore.com>
4118
4119 * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
4120 as an index for Builder'Switches. This conforms to the documentation.
4121 * make.adb (Insert_Project_Sources): avoid duplicate code
4122
cef14201
AC
41232011-08-04 Emmanuel Briot <briot@adacore.com>
4124
4125 * makeutl.adb (Complete_Mains): if the user has passed a relative file
4126 name on the command line (for instance "../dummy"), never assume it can
4127 be a unit name.
4128
41292011-08-04 Tristan Gingold <gingold@adacore.com>
4130
4131 * bindgen.adb: Remove code the reference or create the
4132 Break_Start/__gnat_break_start procedure.
4133 * s-stalib.adb (Break_Start): Removed.
4134
e2fee30d
EB
41352011-08-04 Emmanuel Briot <briot@adacore.com>
4136
4137 * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
4138 shared with gprbuild.
4139
2d395256
AC
41402011-08-04 Yannick Moy <moy@adacore.com>
4141
4142 * par-ch4.adb (P_Primary): preferentially issue an error message about
4143 a missing parenthesis arount a conditional or case expression in Ada
4144 2012 mode, if we detect that the alignment is not correct for a
4145 statement.
4146
41472011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4148
4149 * exp_ch7.adb (Process_Declarations): Do not consider the result of a
4150 tag-to-class-wide conversion as needing finalization actions.
4151 * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
4152 a tag-to-class-wide conversion as needing finalization actions.
4153 (Is_Finalizable_Transient): The result of a tag-to-class-wide
4154 conversion does not need finalization actions.
4155 (Is_Tag_To_CW_Conversion): New routine.
4156 * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
4157 whether an object is the result of a tag-to-class-wide conversion.
4158
41592011-08-04 Yannick Moy <moy@adacore.com>
4160
4161 * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
4162 the left-hand-side and right-hand-side of a conjunct are inserted when
4163 translating a pre- or postcondition
4164 * sem_ch6.adb: Correct typo in comment
4165
41662011-08-04 Ed Schonberg <schonberg@adacore.com>
4167
4168 * gnat_rm.texi: Ravenscar does not prohibit dependence on
4169 Unchecked_Conversion and Unchecked_Deallocation.
4170
41712011-08-04 Thomas Quinot <quinot@adacore.com>
4172
4173 * make.adb: Minor reformatting.
4174
767ab2fd
EB
41752011-08-04 Emmanuel Briot <briot@adacore.com>
4176
4177 * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
4178 sources in the project and its imported projects, but not in the whole
4179 tree.
4180
8fb3f5df
AC
41812011-08-04 Emmanuel Briot <briot@adacore.com>
4182
4183 * make.adb: Remove debug trace.
4184
41852011-08-04 Vincent Celier <celier@adacore.com>
4186
4187 * makeutl.adb (Do_Complete): Get the absolute path name of a relative
4188 path in canonical form, to be able to compare path names on platforms
4189 such as Windows or Darwin.
4190
41912011-08-04 Thomas Quinot <quinot@adacore.com>
4192
4193 * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
4194 For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
4195 * scos.ads: Update documentation accordingly.
4196 * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
4197 pragmas.
4198
9515740f
AC
41992011-08-04 Ed Schonberg <schonberg@adacore.com>
4200
4201 * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
4202 attribute only if prefix type is scalar.
4203
42042011-08-04 Emmanuel Briot <briot@adacore.com>
4205
4206 * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
4207 in gnatmake for specifying mains on the command line that do not belong
4208 to the main project. These mains must currently all belong to the same
4209 project, though.
4210 (Ultimate_Extension_Of): removed, since duplicated
4211 Ultimate_Extending_Project.
4212
92966893
AC
42132011-08-04 Arnaud Charlet <charlet@adacore.com>
4214
4215 * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
4216 instead.
4217 (CodePeer_Mode_String): New.
4218 (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
4219 CodePeer mode.
4220 (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
4221 * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
4222 mode, since no useful elaboration subprogram is needed by CodePeer.
4223 * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
4224 In this mode, compile binder file with -gnatC and do stop after this
4225 step.
4226
42272011-08-04 Vincent Celier <celier@adacore.com>
4228
4229 * exp_ch7.adb: Minor comment fix.
4230
5969611f
RD
42312011-08-04 Robert Dewar <dewar@adacore.com>
4232
4233 * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
4234 exp_ch4.adb, makeutl.adb: Minor reformatting.
4235
6367dd30
AC
42362011-08-04 Emmanuel Briot <briot@adacore.com>
4237
4238 * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
4239 Create several new subprograms to move code out of Make. This makes the
4240 code more readable, removes code duplication, and is a preparation work
4241 for adding support for aggregate projects.
4242
42432011-08-04 Tristan Gingold <gingold@adacore.com>
4244
4245 * s-po32gl.ads, s-po32gl.adb: New files.
4246 * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
4247 * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
4248 (Build_Finalization_Collection): Use it.
4249 * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
4250 * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
4251 literals.
4252 * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
4253 * gcc-interface/Make-lang.in: Update dependencies.
4254
cd8bfe35
EB
42552011-08-04 Emmanuel Briot <briot@adacore.com>
4256
4257 * makeutl.adb (Complete_Mains): add support for specs with no suffix on
4258 the command line.
4259
7db29ea7
EB
42602011-08-04 Emmanuel Briot <briot@adacore.com>
4261
4262 * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
4263 command line is not a file name, also check whether it could be a unit
4264 name.
4265
d9b056ea
AC
42662011-08-04 Eric Botcazou <ebotcazou@adacore.com>
4267
4268 * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
4269 the header of the finalization routine.
4270 If the unit has no finalizer but is a body whose spec has one, then
4271 generate the decrement of the elaboration entity only.
4272 If the unit has a finalizer and is a spec, then do not generate the
4273 decrement of the elaboration entity.
4274 (Gen_Finalize_Library_C): Likewise.
4275
42762011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4277
4278 * exp_ch7.adb (Alignment_Of): New subsidiary routine.
4279 (Bounds_Size_Expression): Removed.
4280 (Double_Alignment_Of): New subsidiary routine.
4281 (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
4282 for a hole in the dope vector of unconstrained arrays due to different
4283 index and element alignments.
4284
42852011-08-04 Ed Schonberg <schonberg@adacore.com>
4286
4287 * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
4288 raise program_error because body has not been seen yet.
4289
42902011-08-04 Ed Schonberg <schonberg@adacore.com>
4291
4292 * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
4293 an unresolved name.
4294
42952011-08-04 Vincent Celier <celier@adacore.com>
4296
4297 * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
4298
42992011-08-04 Yannick Moy <moy@adacore.com>
4300
4301 * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
4302 * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
4303
43042011-08-04 Thomas Quinot <quinot@adacore.com>
4305
4306 * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
4307 instantiation in RCI.
4308
43092011-08-04 Emmanuel Briot <briot@adacore.com>
4310
4311 * make.adb: Share more code with gprbuild
4312
f5fc5b9d
AC
43132011-08-04 Emmanuel Briot <briot@adacore.com>
4314
4315 * projects.texi: Added documentation for the IDE'Gnat project file
4316 attribute.
4317
43182011-08-04 Nicolas Roche <roche@adacore.com>
4319
4320 * gnat_rm.texi: Minor editing.
4321
43222011-08-04 Javier Miranda <miranda@adacore.com>
4323
4324 * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
4325 and the library case for VM targets.
4326 (Gen_Adainit_Ada): Likewise.
4327
43282011-08-04 Robert Dewar <dewar@adacore.com>
4329
4330 * g-altive.ads: Minor comment updates.
4331 * prj-nmsc.adb: Minor reformatting.
4332
43332011-08-04 Javier Miranda <miranda@adacore.com>
4334
4335 * opt.ads
4336 (Normalize_Scalars_Config): Value of the configuration switch set by
4337 pragma Normalize_Scalars when it appears in the gnat.adc file.
4338 (Normalize_Scalars): New field for record Config_Switches_Type. Used
4339 to save and restore settings of this pragma.
4340 * opt.adb
4341 (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
4342 Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
4343
43442011-08-04 Vincent Celier <celier@adacore.com>
4345
4346 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
4347
0c4683cf
AC
43482011-08-04 Arnaud Charlet <charlet@adacore.com>
4349
4350 * makeutl.adb: Minor reformatting.
4351
43522011-08-04 Olivier Hainque <hainque@adacore.com>
4353
4354 * g-altive.ads: Update comments to reflect that only the soft
4355 binding is available today.
4356
2598ee6d
RD
43572011-08-04 Robert Dewar <dewar@adacore.com>
4358
4359 * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
4360 makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
4361 * gcc-interface/Make-lang.in: Update dependencies.
4362
c2db4b32
AC
43632011-08-04 Arnaud Charlet <charlet@adacore.com>
4364
4365 * prj-env.adb: Remove local debug traces.
4366
43672011-08-04 Yannick Moy <moy@adacore.com>
4368
4369 * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
4370 was used instead of Hi_OK, which could cause a read of an uninitialized
4371 value later on. Detected while working on the new warning.
4372 * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
4373 to local variable.
4374 * sem_ch5.adb (Analyze_Assignment): set the last assignment component
4375 in more cases, in order to detect more unreferenced values.
4376 * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
4377 object for expression, if any.
4378
43792011-08-04 Eric Botcazou <ebotcazou@adacore.com>
4380
4381 * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
4382 the operand types instead of the Esize.
4383
43842011-08-04 Steve Baird <baird@adacore.com>
4385
4386 * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
4387 enable CodePeer_Mode.
4388 * bindusg.adb (Display): Add help message describing -P binder switch.
4389 * gnat_ugn.texi: Document -P binder switch.
4390 * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
4391 user-defined main program directly.
4392 (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
4393 user-defined main program in the context clause of the package body.
4394
ad05f2e9
AC
43952011-08-04 Yannick Moy <moy@adacore.com>
4396
4397 * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
4398 duplicate of Defining_Entity
4399 (Get_Unique_Entity_For_Decl): rename function into
4400 Unique_Defining_Entity
4401 * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
4402 (Formal_Proof_On): remove synthesized flag
4403 * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
4404 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
4405 sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
4406 * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
4407 Annotate (Formal_Proof)
4408
44092011-08-04 Emmanuel Briot <briot@adacore.com>
4410
4411 * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
4412 source files with non-standard naming schemes, in imported projects
4413
756ef2a0
AC
44142011-08-04 Emmanuel Briot <briot@adacore.com>
4415
4416 * makeutl.adb (Complete_Mains): when a multi-unit source file is
4417 specified on the gprbuild command line, we need to compile all units
4418 within that file, not just the first one we find
4419 Fix error message for mains that are not found.
4420
44212011-08-04 Thomas Quinot <quinot@adacore.com>
4422
4423 * sem_ch6.adb: Update comment.
4424 * sem_ch12.adb: Minor reformatting.
4425
44262011-08-04 Bob Duff <duff@adacore.com>
4427
4428 * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
4429 Acceptor.Terminate_Alternative without locking Acceptor, which causes a
4430 race condition whose symptom is to fail to lock Parent. That, in turn,
4431 causes Parent.Awake_Count to be accessed without locking Parent, which
4432 causes another race condition whose symptom is that Parent.Awake_Count
4433 can be off by 1 (either too high or too low). The solution is to lock
4434 Parent unconditionally, and then lock Acceptor, before reading
4435 Acceptor.Terminate_Alternative.
4436
4fdebd93
AC
44372011-08-04 Arnaud Charlet <charlet@adacore.com>
4438
4439 * debug.adb: Update comment.
4440
44412011-08-04 Robert Dewar <dewar@adacore.com>
4442
4443 * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
4444 sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
4445 exp_ch6.adb: Minor reformatting.
4446
44472011-08-04 Gary Dismukes <dismukes@adacore.com>
4448
4449 * gnat_ugn.texi: Add sentence about the case of compile-time-detected
4450 checks for -gnateE.
4451
44522011-08-04 Ed Schonberg <schonberg@adacore.com>
4453
4454 * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
4455
44562011-08-04 Thomas Quinot <quinot@adacore.com>
4457
4458 * sinfo.ads: Minor reformatting.
4459
44602011-08-04 Emmanuel Briot <briot@adacore.com>
4461
4462 * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
4463 even if there is no location.
4464
6aaa0587
ES
44652011-08-04 Ed Schonberg <schonberg@adacore.com>
4466
4467 * sem_res.adb, sem_ch4.adb: move check for restriction
4468 No_Task_Hierarchy to resolve_allocator.
4469
35a1c212
AC
44702011-08-04 Thomas Quinot <quinot@adacore.com>
4471
4472 * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
4473 This flag of N_Pragma nodes is not used, remove it as well as all of
4474 the associated circuitry.
4475
44762011-08-04 Javier Miranda <miranda@adacore.com>
4477
4478 * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
4479 runtime check on duplicated externa tags
4480 * debug.adb Document switch -gnatdQ.
4481
44822011-08-04 Gary Dismukes <dismukes@adacore.com>
4483
4484 * a-fihema.ads: Minor typo fix.
4485
44862011-08-04 Yannick Moy <moy@adacore.com>
4487
4488 * sem_ch10.adb: Minor comment update.
4489
44902011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4491
4492 * einfo.adb: Update the node field usage to reflect the renaming of
4493 Return_Flag to Return_ Flag_Or_Transient_Decl.
4494 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
4495 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
4496 (Write_Field15_Name): Change Return_Flag to
4497 Return_Flag_Or_Transient_Decl.
4498 * einfo.ads: Rename node field Return_Flag to
4499 Return_Flag_Or_Transient_Decl. Update the associated comment and all
4500 occurrences in entities.
4501 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
4502 associated Inline pragma.
4503 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
4504 associated Inline pragma.
4505 * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
4506 routine.
4507 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
4508 Return_Flag and Set_Return_Flag.
4509 * exp_ch7.adb (Process_Declarations): Add code to recognize hook
4510 objects generated for controlled transients declared inside an
4511 Exception_With_Actions. Update the calls to Return_Flag.
4512 (Process_Object_Declaration): Add code to add a null guard for hook
4513 objects generated for controlled transients declared inside an
4514 Exception_With_Actions. Update related comment.
4515 * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
4516 objects generated for controlled transients declared inside an
4517 Exception_With_Actions. Update the calls to Return_Flag.
4518 * expander.adb (Expand): Add new case for N_Expression_With_Actions.
4519
45202011-08-04 Ed Schonberg <schonberg@adacore.com>
4521
4522 * sem_util.adb:(Wrong_Type): Improve error message on a one-element
4523 positional aggregate.
4524
45252011-08-04 Vincent Celier <celier@adacore.com>
4526
4527 * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
4528 SLOC only for pragmas.
4529
45302011-08-04 Emmanuel Briot <briot@adacore.com>
4531
4532 * projects.texi: Minor typo fix.
4533
45342011-08-04 Emmanuel Briot <briot@adacore.com>
4535
4536 * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
4537 on case-sensitive file systems.
4538
c2873f74
TQ
45392011-08-04 Thomas Quinot <quinot@adacore.com>
4540
4541 * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
4542 nested in a disabled pragma.
4543 * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
4544 enclosing pragma, if any, for X decisions.
4545
45462011-08-04 Thomas Quinot <quinot@adacore.com>
4547
4548 * sem_prag.adb: Minor reformatting.
4549
46414266
VC
45502011-08-04 Vincent Celier <celier@adacore.com>
4551
4552 * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
4553 allowed in no run time mode.
4554
45552011-08-04 Vincent Celier <celier@adacore.com>
4556
4557 * make.adb (Check): When -gnatc is used, check for the source file
4558 inside the ALI file with a canonical case file name.
4559
afab164f
EB
45602011-08-04 Emmanuel Briot <briot@adacore.com>
4561
4562 * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
4563 overriding the separator.
4564
fe0ec02f
AC
45652011-08-04 Robert Dewar <dewar@adacore.com>
4566
4567 * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
4568 prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
4569
45702011-08-04 Robert Dewar <dewar@adacore.com>
4571
4572 * gnat_rm.texi: Minor documentation fix for pragma Annotate.
4573
45742011-08-04 Yannick Moy <moy@adacore.com>
4575
4576 * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
4577 'Result only appears in postcondition of function.
4578
45792011-08-04 Thomas Quinot <quinot@adacore.com>
4580
4581 * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
4582 external tag, include the value of the external tag in the exception
4583 message.
4584
0180fd26
AC
45852011-08-04 Yannick Moy <moy@adacore.com>
4586
4587 * sem_attr.adb (Result): modify error message for misplaced 'Result
4588
45892011-08-04 Sergey Rybin <rybin@adacore.com>
4590
4591 * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
4592 clear that the second argument must be an identifier.
4593
45942011-08-04 Thomas Quinot <quinot@adacore.com>
4595
4596 * exp_ch9.adb (Build_Barrier_Function): When compiling with
4597 -fpreserve-control-flow, insert an IF statement on the barrier
4598 condition to ensure that a conditional branch instruction is generated.
4599
46002011-08-04 Emmanuel Briot <briot@adacore.com>
4601
4602 * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
4603 (Processing_Flags.Ignore_Missing_With): new flag.
4604
46052011-08-04 Emmanuel Briot <briot@adacore.com>
4606
4607 * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
4608 Source_List_File on case-insensitive systems where the file is actually
4609 on a case-sensitive file system (NFS,...).
4610
46112011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4612
4613 * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
4614 function return contains a controlled [extension] aggregate and the
4615 return statement is not part of a handled sequence of statements, wrap
4616 the return in a block. This ensures that all controlled temporaries
4617 generated during aggregate resolution will be picked up by the
4618 finalization machinery.
4619
46202011-08-04 Ed Schonberg <schonberg@adacore.com>
4621
4622 * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
4623 components, freeze type before resolution, to ensure that default
4624 initializations are present for all components.
4625 * sem_res.adb (Resolve_Actuals): the designated object of an
4626 accces-to-constant type is a legal actual in a call to an
4627 initialization procedure.
4628
46292011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4630
4631 * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
4632 N_Unchecked_Type_Conversion to the possible containers of a renamed
4633 transient variable.
4634
78efd712
AC
46352011-08-04 Yannick Moy <moy@adacore.com>
4636
4637 * par-ch13.adb (Aspect_Specifications_Present): recognize
4638 "with Identifier'Class =>" as an aspect, so that a meaningful warning
4639 is issued in Strict mode.
4640 * par.adb: Fix typos in comments.
4641
46422011-08-04 Yannick Moy <moy@adacore.com>
4643
4644 * sem_attr.adb (Result): modify error message to take into account Post
4645 aspect when compiling Ada 2012 (or newer) code.
4646
46472011-08-04 Nicolas Roche <roche@adacore.com>
4648
4649 * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
2c7f9cc0 4650 remove need for GCC exceptions.
78efd712
AC
4651
46522011-08-04 Vincent Celier <celier@adacore.com>
4653
4654 * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
4655 project, not the source file name.
4656 * prj.adb (Find_Sources.Look_For_Sources): If the source has been
4657 excluded, continue looking. This excluded source will only be returned
4658 if there is no other source with the same base name that is not locally
4659 removed.
4660
46612011-08-04 Ed Schonberg <schonberg@adacore.com>
4662
4663 * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
4664 private and one of the operands is a real literal, use a qualified
4665 expression rather than a conversion which is not meaningful to the
4666 back-end.
4667
0170a691
AC
46682011-08-04 Yannick Moy <moy@adacore.com>
4669
4670 * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
4671 corresponding aspect X'Class are allowed, proceed with analysis of the
4672 aspect instead of skipping it.
4673
46742011-08-04 Tristan Gingold <gingold@adacore.com>
4675
4676 * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
4677 This will allow to have an Ada implementation for the subprogram.
4678
deb4f5ba
ES
46792011-08-04 Ed Schonberg <schonberg@adacore.com>
4680
4681 * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
4682 completion and aspects are present, apply them to the entity for the
4683 type which is currently the partial view, but which is the one that
4684 will be frozen.
4685 * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
4686 applies to a partial view, indicate that the full view has predicates
4687 and delayed aspects.
4688 (Replace_Type_Reference): Handle properly predicates that apply to the
4689 full view of a private completion.
4690
fc893455
AC
46912011-08-04 Eric Botcazou <ebotcazou@adacore.com>
4692
4693 * layout.adb (Layout_Type): For composite types, do not set Esize.
4694 * freeze.adb (Set_Small_Size): Remove test on alignment and do not
4695 set Esize.
4696 (Size_Known): Look at the RM size of components instead of the Esize.
4697 (Freeze_Record_Type): Look at the RM size instead of the Esize to
4698 issue warning and activate Implicit_Packing.
4699 (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
4700 if the Esize is not known.
4701 * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
4702 for elementary types only.
4703 (Analyze_Record_Representation_Clause): Look at the RM size instead
4704 of the Esize to issue errors.
4705 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
4706 is not known.
4707 <E_Record_Type>: Look at the RM size instead of the Esize. Remove
2c7f9cc0 4708 obsolete block.
fc893455
AC
4709 Look at the RM size instead of the Esize for types if the latter is
4710 not known.
4711 (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
4712
47132011-08-04 Ed Schonberg <schonberg@adacore.com>
4714
4715 * sem_type.adb: proper handling of equality not involving anonymous
4716 access types.
4717
b37d5bc6
AC
47182011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4719
4720 * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
4721 Vis_Decls. When creating a library-level finalizer for a package spec,
4722 both the declaration and body of the finalizer are inserted either in
4723 the visible or private declarations of the package spec.
4724
47252011-08-04 Javier Miranda <miranda@adacore.com>
4726
4727 * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
4728 use of the full-view of a type when invoking Is_Ancestor.
4729 * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
4730 the full-view of private parents is requested, then use also the
4731 full-view of the parent of the first derivation.
4732
7ab4d95a
AC
47332011-08-04 Tristan Gingold <gingold@adacore.com>
4734
4735 * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
4736 instead of the locally imported procedure.
4737 * s-taprop-mingw.adb (Enter_Task): Ditto.
4738 * s-valrea.adb (Scan_Real): Ditto.
4739 * s-imgrea.adb (Set_Image_Real): Ditto.
4740 * s-flocon.ads: Make the package pure.
4741
47422011-08-04 Thomas Quinot <quinot@adacore.com>
4743
4744 * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
4745 * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
4746 * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
4747 New subprogram, moved here from...
4748 * par.adb, par-ch5.adb (P_Statement_Name): ... here.
4749 * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
4750 rewriting of the last argument into a procedure call statement here...
4751 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
4752 instead.
4753
47542011-08-04 Thomas Quinot <quinot@adacore.com>
4755
4756 * par_sco.adb: Minor reformatting.
4757
51c400f5
AC
47582011-08-04 Robert Dewar <dewar@adacore.com>
4759
4760 * erroutc.adb: Minor reformatting.
4761
47622011-08-04 Thomas Quinot <quinot@adacore.com>
4763
4764 * par_sco.adb: Comment update.
4765
47662011-08-04 Tristan Gingold <gingold@adacore.com>
4767
4768 * s-flocon.ads: New file.
4769 * g-flocon.ads: Now a renaming of s-flocon.
4770 * Makefile.rtl: Add s-flocon.o
4771
6a49f110
AC
47722011-08-04 Javier Miranda <miranda@adacore.com>
4773
4774 * exp_strm.adb (Build_Array_Input_Function): if the array type is
4775 constrained, do not attempt to build a subtype of it.
4776
47772011-08-04 Yannick Moy <moy@adacore.com>
4778
4779 * errout.ads Change comments: remove 'R'M as an example where quotes
4780 are needed; add ALFA as another case where quotes are not needed
4781 * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
4782 case where quotes are not needed.
4783 * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
4784 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
4785 Remove all occurrences of 'A'L'F'A
4786
47872011-08-04 Ed Schonberg <schonberg@adacore.com>
4788
4789 * sem_ch13.adb: check legality of invariant pragma.
4790
a4640a39
AC
47912011-08-04 Eric Botcazou <ebotcazou@adacore.com>
4792
4793 * bindgen.adb: Add comments.
4794
47952011-08-04 Yannick Moy <moy@adacore.com>
4796
4797 * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
4798 synthesized flag.
4799 * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
4800 (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
4801
48022011-08-04 Robert Dewar <dewar@adacore.com>
4803
4804 * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
4805 osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
4806 sem_ch13.adb, s-pooloc.adb: Minor reformatting.
4807
39ade2f9
AC
48082011-08-04 Thomas Quinot <quinot@adacore.com>
4809
4810 * s-pooloc.ads, s-pooglo.ads: Minor reformatting
4811
48122011-08-04 Thomas Quinot <quinot@adacore.com>
4813
4814 PR ada/47880
4815 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
4816 allocated object.
4817
48182011-08-04 Robert Dewar <dewar@adacore.com>
4819
4820 * einfo.ads, exp_ch4.adb: Minor reformatting.
4821
48222011-08-04 Jerome Lambourg <lambourg@adacore.com>
4823
4824 * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
4825
7efc3f2d
AC
48262011-08-04 Ed Schonberg <schonberg@adacore.com>
4827
4828 * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
4829 type in all cases to compute list of primitive operations, because full
4830 view may be an itype that is not attached to the list of declarations.
4831
48322011-08-04 Eric Botcazou <ebotcazou@adacore.com>
4833
4834 * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
4835 library has already been finalized.
4836 (Gen_Adafinal_C): Likewise.
4837 (Gen_Adainit_Ada): Generate an early return if the library has
4838 already been elaborated.
4839 (Gen_Adainit_C): Likewise.
4840 (Gen_Output_File_Ada): Generate an elaboration flag.
4841 (Gen_Output_File_C): Likewise.
4842
f65df609
HK
48432011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4844
4845 * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
4846 Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
4847 built in the first place.
4848 (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
4849 for CodePeer because Finalize_Address was not built to begin with.
4850 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
4851
a0fb8fe8
AC
48522011-08-04 Pascal Obry <obry@adacore.com>
4853
4854 * adaint.c (__gnat_tmp_name): Use current process id to create temp
4855 filenames, this ensures unicity of filenames across processes.
4856
48572011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4858
4859 * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
4860 Raise_Controlled to Raise_From_Controlled_Operation. Update the
4861 signature of Raise_From_Controlled_Operation by adding flag From_Abort.
4862 Add False as the actual to From_Abort in the generated call to
4863 Raise_From_Controlled_Operation.
4864
48652011-08-04 Jerome Lambourg <lambourg@adacore.com>
4866
4867 * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
4868 so that the ali file name can be retrieved from outside of this package.
4869 * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
4870 doing nothing in the general case, but used to update the object file
4871 timestamp if directly generated by the backend.
4872 * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
4873 to a later time than the ali file one.
4874
9534ab17
AC
48752011-08-04 Yannick Moy <moy@adacore.com>
4876
4877 * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
4878 entities whose body contains an Annotate pragma which forces formal
4879 proof on this body.
4880 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
4881 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
4882 Mark_Non_ALFA_Subprogram to pass in a message and node.
4883 * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
4884 (Forma_Proof, On) which sets the flag Formal_Proof_On in the
4885 surrounding subprogram.
4886 * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
4887 Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
4888 as not in ALFA is annotated with Formal_Proof being On, then an error
4889 is issued based on the additional parameters for message and node.
4890 * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
4891 * gcc-interface/Make-lang.in: Update dependencies.
4892
48932011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4894
4895 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
4896 Finalize_Address when CodePeer is enabled.
4897
48982011-08-04 Pascal Obry <obry@adacore.com>
4899
4900 * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
4901 the latter returns a pointer to a static buffer which is deallocated
4902 at the end of the routine.
4903
5c0e97dd
AC
49042011-08-04 Yannick Moy <moy@adacore.com>
4905
4906 * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
4907 after index creation; mark unconstrained base array type generated as
4908 being in/not in ALFA as well
4909 (Make_Index): mark subtype created as in/not in ALFA
4910 * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
4911 over a loop as in/not in ALFA, depending on its type and form of loop
4912 iteration.
4913
49142011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4915
4916 * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
4917 directly to False on .NET and JVM.
4918
7a93c64b
YM
49192011-08-04 Yannick Moy <moy@adacore.com>
4920
4921 * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
4922 constraint that subtype must come from source code to be in ALFA, so
4923 that anonymous subtypes can be in ALFA too.
4924
e9a1ed9b
YM
49252011-08-04 Yannick Moy <moy@adacore.com>
4926
4927 * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
4928 reference for ALFA mode.
4929 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
4930 procedure public so as to use it from formal verification back-end.
4931
8e293fbd
AC
49322011-08-04 Jerome Lambourg <lambourg@adacore.com>
4933
4934 * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
4935 invalid checks of the Parameter, making Remove_Switch not working
4936 correctly.
4937
49382011-08-04 Arnaud Charlet <charlet@adacore.com>
4939
4940 * targparm.ads: Update header: no run-time exception is needed on this
4941 file.
4942
49432011-08-04 Vincent Celier <celier@adacore.com>
4944
4945 * a-fihema.adb: Use System.IO instead of GNAT.IO
4946
49472011-08-04 Thomas Quinot <quinot@adacore.com>
4948
4949 * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
4950 are forbidden in Compiler_Unit mode.
4951
cfae2bed
AC
49522011-08-04 Robert Dewar <dewar@adacore.com>
4953
4954 * sem_util.adb: Minor reformatting.
4955
49562011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4957
4958 * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
4959 library-level finalizers.
4960 (Gen_Finalize_Library_C): Update the import string for library-level
4961 finalizers.
4962 (Gen_Finalize_Library_Defs_C): Update the definition name of a
4963 library-level finalizer.
4964 * exp_ch7.adb: Remove with and use clauses for Stringt.
4965 (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
4966 Spec_Decl. Add local variable Body_Id. The names of library-level
4967 finalizers are now manually fully qualified and are no longer external.
4968 A single name is now capable of servicing .NET, JVM and non-VM targets.
4969 Pragma Export is no longer required to provide visibility for the name.
4970 (Create_Finalizer_String): Removed.
4971 (New_Finalizer_Name): New routine which mimics New_..._Name.
4972
01f0729a
AC
49732011-08-04 Eric Botcazou <ebotcazou@adacore.com>
4974
4975 * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
4976 elaboration counter to Standard_Short_Integer.
4977 * sem_util.adb (Build_Elaboration_Entity): Likewise.
4978 * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
4979 (Gen_Elab_Externals_C): Likewise.
4980
49812011-08-04 Ed Falis <falis@adacore.com>
4982
4983 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
4984 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
4985 system-vxworks-mips.ads, system-vxworks-x86.ads
4986 (Always_Compatible_Rep): set to False for all VxWorks targets.
4987
2c1b72d7
AC
49882011-08-04 Robert Dewar <dewar@adacore.com>
4989
4990 * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
4991 makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
4992 exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
4993 exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
4994 exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
4995 sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
4996 sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
4997 Minor reformatting and code reorganization.
4998
49992011-08-04 Emmanuel Briot <briot@adacore.com>
5000
5001 * projects.texi: Added doc for aggregate projects.
5002
824e9320
AC
50032011-08-04 Emmanuel Briot <briot@adacore.com>
5004
5005 * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
5006 Add support for overriding the Project_Path in aggregate projects.
5007
50082011-08-04 Robert Dewar <dewar@adacore.com>
5009
5010 * a-cofove.ads: Minor reformatting.
5011
50122011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5013
5014 * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
5015 on the generated code.
5016 (Build_Finalize_Statements): Update the comment on the generated code.
5017 (Build_Initialize_Statements): Update the comment on the generated code.
5018 (Build_Object_Declarations): Add local variable Result. The object
5019 declarations are now built in sequence.
5020 * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
5021 RE_Unit_Table.
5022
50232011-08-04 Robert Dewar <dewar@adacore.com>
5024
5025 * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
5026
50272011-08-04 Eric Botcazou <ebotcazou@adacore.com>
5028
5029 * einfo.ads (Elaboration_Entity): Document new definition and use.
5030 (Elaboration_Entity_Required): Adjust to above change.
5031 * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
5032 * exp_ch12.adb: And with and use for Snames.
5033 (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
5034 * exp_util.adb (Set_Elaboration_Flag): Likewise.
5035 * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
5036 <Check_Unit_Name>: Deal with N_Expanded_Name.
5037 <Attribute_Elaborated>: Extend to all unit names.
5038 * sem_elab.adb: And with and use for Uintp.
5039 (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
5040 * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
5041 * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
5042 * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
5043 from Gen_Adainit_Ada.
5044 (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
5045 (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
5046 case, do not call System.Standard_Library.Adafinal; instead call
5047 finalize_library if needed.
5048 (Gen_Adafinal_C): Likewise.
5049 (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
5050 non-main program case.
5051 (Gen_Adainit_C): Generate a couple of external declarations here.
5052 In the main program case, set SSL.Finalize_Library_Objects.
5053 (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
5054 (Gen_Elab_Calls_C): Likewise.
5055 (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
5056 (Gen_Finalize_Library_C): Likewise. Generate a full function.
5057 (Gen_Main_C): Put back call to Ada_Final and don't finalize library
5058 objects here.
5059 (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
5060 if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
5061 Gen_Adafinal_Ada.
5062 (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
5063 if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
2c7f9cc0 5064 of external declarations. Call Gen_Finalize_Library_C.
824e9320 5065
316d9d4f
EB
50662011-08-04 Emmanuel Briot <briot@adacore.com>
5067
5068 * prj.adb, prj.ads, makeutl.adb, makeutl.ads (Complete_Mains,
5069 Compute_Compilation_Phases): new subprogram.
5070 (Builder_Data, Builder_Project_Tree_Data): new subprogram and type
5071 The number of mains as well as the various compilation phases that
5072 need to be run are now project tree specific, since various
5073 aggregated trees might have different requirements. In particular,
5074 they do not all require bind or link phases.
5075
9434c32e
EB
50762011-08-04 Emmanuel Briot <briot@adacore.com>
5077
5078 * prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-env.adb
5079 (Project_Tree_Appdata): New type.
5080 It is now possible to associate application-specific data to a project
5081 tree. In particular, this is used in the gprbuild builder to avoid a
5082 number of global tables and htables, especially now that there can be
5083 several project trees loaded at once because of aggregate projects.
5084 (Debug_Name): new procedure.
5085 * projects.texi: Clarify syntax of "**" for Source_Dirs
5086
41ba34db
EB
50872011-08-03 Emmanuel Briot <briot@adacore.com>
5088
5089 * prj.ads, makeutl.adb, makeutl.ads (Queue.Insert): now also inserts
5090 the "roots" for a main.
5091 (Fill_From_Project): add support for aggregate projects. Main units
5092 in aggregated projects are now automatically added in the list of
5093 files to build (although this fails later on in gprbuild, because
5094 these files are not using the root proejct tree, so this needs
5095 further cleanup)
5096 * gcc-interface/Make-lang.in: Update dependencies.
5097
fccd42a9
AC
50982011-08-03 Yannick Moy <moy@adacore.com>
5099
5100 * sem_ch4.adb (Analyze_Conditional_Expression): only allow boolean
5101 conditional expression in ALFA.
5102 * sem_res.adb (Resolve_Conditional_Expression): mark non-boolean
5103 expressions as not in ALFA.
5104
51052011-08-03 Robert Dewar <dewar@adacore.com>
5106
5107 * a-cofove.adb: Minor reformatting.
5108
51092011-08-03 Emmanuel Briot <briot@adacore.com>
5110
5111 * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads
5112 (Insert_Project_Sources, Insert_withed_Sources_For): moved from the
5113 gprbuild sources.
5114 These packages are more logically placed in the Queue package, since
5115 they manipulate the queue. It is also likely that they can be adapted
5116 for gnatmake, thus sharing more code.
5117 (Finish_Program, Fail_Program): moved from the gprbuild sources, so
5118 that we could move the above.
5119
51202011-08-03 Emmanuel Briot <briot@adacore.com>
5121
5122 * errutil.adb (Finalize): clean up the list of error messages on exit.
5123 Calling this subprogram multiple times will no longer show duplicate
5124 error messages on stderr.
5125
51262011-08-03 Emmanuel Briot <briot@adacore.com>
5127
5128 * g-comlin.adb, g-comlin.ads (Set_Command_Line): ignore the parameter
5129 Getopt_Switches when we have already define a command line
5130 configuration.
5131
5e8c8e44
YM
51322011-08-03 Yannick Moy <moy@adacore.com>
5133
5134 * sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not
5135 in ALFA. Instead, they are considered as assertions to prove.
5136 * sem_ch4.adb (Analyze_Conditional_Expression): do not always mark such
5137 nodes as not in ALFA. Instead, include conditional expressions in ALFA
5138 if they have no ELSE part, or if they occur in pre- and postconditions,
5139 where the Condition cannot have side-effects in ALFA
5140 (Analyze_Membership_Op): do not mark such nodes as not in ALFA
5141 (Analyze_Type_Conversion): do not always mark such nodes as not in ALFA.
5142 Instead, include type conversion between scalar types in ALFA.
5143 * sem_ch6.adb (Process_Formals): correctly mark a parameter in ALFA
5144 if-and-only-if its type is in ALFA.
5145
5ffe0bab
AC
51462011-08-03 Thomas Quinot <quinot@adacore.com>
5147
5148 * scos.adb, get_scos.adb, put_scos.adb
5149 New code letter for decisions: G (entry guard)
5150 * par_sco.adb
5151 (Traverse_Subprogram_Body): Rename to...
5152 (Traverse_Subprogram_Or_Task_Body): New subrpogram.
5153 (Traverse_Protected_Body): New subprogram
5154 (Traverse_Declarations_Or_Statements): Add traversal of task bodies,
5155 protected bodies and entry bodies.
5156
51572011-08-03 Yannick Moy <moy@adacore.com>
5158
5159 * einfo.adb, einfo.ads (Is_Postcondition_Proc): new flag for procedure
5160 entities with get/set subprograms, which is set on procedure entities
5161 generated by the compiler for a postcondition.
5162 * sem_ch6.adb (Process_PPCs): set new flag on postcondition procedures
5163 * alfa.adb, alfa.ads (Get_Entity_For_Decl): new function returning the
5164 entity for a declaration
5165 (Get_Unique_Entity_For_Decl): new function returning an entity which
5166 represents a declaration, so that matching spec and body have the same
5167 entity.
5168
51692011-08-03 Robert Dewar <dewar@adacore.com>
5170
5171 * a-except-2005.adb, a-cfhama.adb, a-cfhase.adb, a-cfhase.ads,
5172 a-cforma.adb, a-cforse.ads, a-cforse.adb: Minor reformatting
5173
51742011-08-03 Yannick Moy <moy@adacore.com>
5175
5176 * lib-xref-alfa.adb (Detect_And_Add_ALFA_Scope): make the subprogram
5177 library-level because retriction No_Implicit_Dynamic_Code in the
5178 front-end prevents its definition as a local subprogram
5179 (Traverse_Compilation_Unit): extract new procedure from Add_ALFA_File,
5180 for reuse in other contexts
5181 (Traverse_Declarations_Or_Statements,
5182 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
5183 Traverse_Package_Declaration, Traverse_Subprogram_Body): make all these
5184 procedures take a callback parameter to be called on all declarations
5185 * lib-xref.ads
5186 (Traverse_All_Compilation_Units): new generic function to traverse a
5187 compilation unit and call a callback parameter on all declarations
5188
f9ad6b62
AC
51892011-08-03 Javier Miranda <miranda@adacore.com>
5190
5191 * sem_prag.adb (Process_Interface_Name): Allow duplicated export names
5192 in Java since they are always enclosed in a namespace that
5193 differentiates them, and overloaded entities are supported by the VM.
5194
51952011-08-03 Ed Schonberg <schonberg@adacore.com>
5196
5197 * checks.adb (Determine_Range): If a computed bound of an operation is
5198 outside the range of the base type of the expression, and overflow
5199 checks are enabled, the result is unknown and cannot be used for any
5200 subsequent constant folding.
5201 * sem_eval.adb (Compile_Time_Compare): if the bounds of one operand are
5202 unknown, so is the result of the comparison.
5203
52042011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5205
5206 * a-except-2005.adb (Raise_From_Controlled_Operation): Add new formal
5207 From_Abort. When finalization was triggered by an abort, propagate
5208 Standard'Abort_Signal rather than Program_Error.
5209 * a-except-2005.ads (Raise_From_Controlled_Operation): Add new formal
5210 From_Abort.
5211 * a-except.adb (Raise_From_Controlled_Operation): Add new formal
5212 From_Abort. When finalization was triggered by an abort, propagate
5213 Standard'Abort_Signal rather than Program_Error.
5214 * a-except.ads:(Raise_From_Controlled_Operation): Add new formal
5215 From_Abort.
5216 * exp_ch7.adb:(Build_Adjust_Or_Finalize_Statements): New local variable
5217 Abort_Id. Update the calls to Build_Object_Declarations and
5218 Build_Raise_Statement to include Abort_Id.
5219 (Build_Adjust_Statements): New local variable Abort_Id. Update the
5220 calls to Build_Object_Declarations and Build_Raise_Statement to include
5221 Abort_Id.
5222 (Build_Finalize_Statements): New local variable Abort_Id. Update the
5223 calls to Build_Object_Declarations and Build_Raise_Statement to include
5224 Abort_Id.
5225 (Build_Components): Create an entity for Abort_Id when exceptions are
5226 allowed on the target.
5227 (Build_Finalizer): New local variable Abort_Id.
5228 (Build_Initialize_Statements): New local variable Abort_Id. Update the
5229 calls to Build_Object_Declarations and Build_Raise_Statement to include
5230 Abort_Id.
5231 (Build_Object_Declarations): Add new formal Abort_Id. Create the
5232 declaration of flag Abort_Id to preserve the original abort status
5233 before finalization code is executed.
5234 (Build_Raise_Statement): Add new formal Abort_Id. Pass Abort_Id to
5235 runtime routine Raise_From_Controlled_Operation.
5236 (Create_Finalizer): Update the call to Build_Raise_Statement to include
5237 Abort_Id. Update the call to Build_Object_Declarations to include
5238 Abort_Id. Update the layout of the finalizer body.
5239 (Make_Handler_For_Ctrl_Operation): Add an actual for From_Abort.
5240 (Process_Transient_Objects): New local variable Abort_Id. Remove the
5241 clunky code to create all flags and objects related to
5242 exception propagation and replace it with a call to
5243 Build_Object_Declarations. Update the call to Build_Raise_Statement to
5244 include Abort_Id.
5245 * exp_ch7.ads (Build_Object_Declarations): Moved from body to spec.
5246 Add new formal Abort_Id and associated comment on its use.
5247 (Build_Raise_Statement): Add new formal Abort_Id and associated comment
5248 on its use.
5249 * exp_intr.adb (Expand_Unc_Deallocation): New local variable Abort_Id.
5250 Remove the clunky code to create all flags and objects related to
5251 exception propagation and replace it with a call to
5252 Build_Object_Declarations. Update the call to Build_Raise_Statement.
5253
52542011-08-03 Eric Botcazou <ebotcazou@adacore.com>
5255
5256 * s-tassta.adb: Fix minor typos.
5257
52582011-08-03 Robert Dewar <dewar@adacore.com>
5259
5260 * rtsfind.ads, makeutl.ads, prj.ads, prj.adb, make.adb,
5261 lib-writ.adb, makeutl.adb, s-soflin.ads, clean.adb: Minor reformatting.
5262
1cdfa9be
AC
52632011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5264
5265 * exp_ch7.adb (Create_Finalizer): Treat freeze nodes in similar fashion
5266 to packages. This ensures that the finalizer body will not end up
5267 inside the freeze node.
5268 (Process_Declarations): Add code to detect whether a freeze node has a
5269 nested finalization collection.
5270
52712011-08-03 Pascal Obry <obry@adacore.com>
5272
5273 * g-awk.adb, g-awk.ads: Make GNAT.AWK API compatible with Ada 2005.
5274 (Current_Session): Return a not null access to Session_Type.
5275 (Default_Session): Likewise.
5276
243cae0a
AC
52772011-08-03 Robert Dewar <dewar@adacore.com>
5278
5279 * a-cfdlli.adb, bindgen.adb, exp_ch4.adb, exp_ch13.adb, sem_warn.adb,
5280 exp_ch3.adb, exp_ch3.ads: Minor reformatting.
5281
52822011-08-03 Pascal Obry <obry@adacore.com>
5283
5284 * g-awk.ads: Minor comment fix.
5285
52862011-08-03 Sergey Rybin <rybin@adacore.com>
5287
5288 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
5289 the tree structure related to discriminant constraints.
5290 Original_Discriminant cannot be used any more for computing the
5291 defining name for the reference to a discriminant.
5292
52932011-08-03 Ed Schonberg <schonberg@adacore.com>
5294
5295 * sem_disp.adb (Is_Tag_Indeterminate): If the return type of the
5296 function is not visibly tagged, this is not a dispatching call and
5297 therfore is not Tag_Indeterminate, even if the function is marked as
5298 dispatching on result.
5299
f553e7bc
AC
53002011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5301
5302 * exp_ch13.adb: Add with and use clauses for Restrict and Rident.
5303 (Expand_N_Free_Statement): Add a guard to protect against run-times
5304 which do not support controlled types.
5305 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Add a guard to protect
5306 against run-times which do not support controlled types.
5307 * exp_ch4.adb (Complete_Controlled_Allocation): Add a guard to protect
5308 against run-times which do not support controlled types.
5309 * exp_ch7.adb (Build_Finalization_Collection): Add a guard to protect
5310 against run-times which do not support controlled types.
5311 * exp_util.adb (Needs_Finalization): Code reformatting. Add a guard to
5312 protect against run-times which do not support controlled types.
5313
53142011-08-03 Eric Botcazou <ebotcazou@adacore.com>
5315
5316 * exp_intr.adb: Put back with and use clauses for Exp_Ch11.
5317 (Expand_Unc_Deallocation): Expand the AT_END handler at the very end.
5318
e4982b64
AC
53192011-08-03 Ed Schonberg <schonberg@adacore.com>
5320
5321 * exp_ch5.adb (Expand_Iterator_Loop): indicate that the cursor is
5322 modified in the source, to prevent spurious warnings when compiling
5323 with -gnatg.
5324
53252011-08-03 Thomas Quinot <quinot@adacore.com>
5326
5327 * a-except-2005.adb: Minor reformatting.
5328
53292011-08-03 Ed Schonberg <schonberg@adacore.com>
5330
5331 * sem_warn.adb (Check_One_Unit): if the only mention of a withed unit
5332 is a renaming declaration in the private part of a package, do not emit
5333 a warning that the with_clause could be moved because the renaming may
5334 be used in the body or in a child unit.
5335
53362011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5337
5338 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
5339 Propagate the Comes_From_Source attribute from the original return
5340 object to the renaming.
5341
53422011-08-03 Jose Ruiz <ruiz@adacore.com>
5343
5344 * exp_ch7.adb (Build_Raise_Statement): Do not call
5345 Raise_From_Controlled_Operation when this routine is not present in
5346 the run-time library.
5347 (Cleanup_Protected_Object, Cleanup_Task): For restricted run-time
5348 libraries (Ravenscar), tasks are non-terminating, and protected objects
5349 and tasks can only appear at library level, so we do not want
5350 finalization of protected objects nor tasks.
5351 * exp_intr.adb: Minor clarification in comment.
5352 bindgen.adb (Gen_Adainit_Ada, Gen_Main_C, Gen_Output_File_Ada,
5353 Gen_Output_File_C): Remove references to finalization of library-level
5354 objects when using restricted run-time libraries.
5355
53562011-08-03 Ed Schonberg <schonberg@adacore.com>
5357
5358 * sem_ch3.adb (Build_Discriminant_Constraints): Set
5359 Original_Discriminant only if the parent type is a generic formal.
5360
deb8dacc
HK
53612011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5362
5363 * exp_ch13.adb: Add with and use clause for Targparm;
5364 (Expand_N_Free_Statement): Prevent the generation of a custom
5365 Deallocate on .NET/JVM targets since this requires pools and address
5366 arithmetic.
5367 * exp_ch4.adb (Expand_Allocator_Expression): When compiling for
5368 .NET/JVM targets, attach the newly allocated object to the access
5369 type's finalization collection. Do not generate a call to
5370 Set_Finalize_Address_Ptr on .NET/JVM because this routine does not
5371 exist in the runtime.
5372 (Expand_N_Allocator): When compiling for .NET/JVM targets, do not
5373 create a custom Allocate for object that do not require initialization.
5374 Attach a newly allocated object to the access type's finalization
5375 collection on .NET/JVM.
5376 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add special processing for
5377 assignment of controlled types on .NET/JVM. The two hidden pointers
5378 Prev and Next and stored and later restored after the assignment takes
5379 place.
5380 * exp_ch6.adb (Expand_Call): Add local constant Curr_S. Add specialized
5381 kludge for .NET/JVM to recognize a particular piece of code coming from
5382 Heap_Management and change the call to Finalize into Deep_Finalize.
5383 * exp_ch7.adb (Build_Finalization_Collection): Allow the creation of
5384 finalization collections on .NET/JVM only for types derived from
5385 Controlled. Separate the association of storage pools with a collection
5386 and only allow it on non-.NET/JVM targets.
5387 (Make_Attach_Call): New routine.
5388 (Make_Detach_Call): New routine.
5389 (Process_Object_Declarations): Suppress the generation of
5390 build-in-place return object clean up code on .NET/JVM since it uses
5391 pools.
5392 * exp_ch7.ads (Make_Attach_Call): New routine.
5393 (Make_Detach_Call): New routine.
5394 * exp_intr.adb Add with and use clause for Targparm.
5395 (Expand_Unc_Deallocation): Detach a controlled object from a collection
5396 on .NET/JVM targets.
5397 * rtsfind.ads: Add entries RE_Attach, RE_Detach and
5398 RE_Root_Controlled_Ptr to tables RE_Id and RE_Unit_Table.
5399 * snames.ads-tmpl: Add name Name_Prev. Move Name_Prev to the special
5400 names used in finalization.
5401
54022011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5403
5404 * a-fihema.adb: Add with and use clauses for System.Soft_Links.
5405 (Attach, Detach): Lock the current task when chaining an object onto a
5406 collection.
5407
df3e68b1
HK
54082011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5409
5410 * a-except.adb, a-except-2005.adb (Raise_From_Controlled_Operation):
5411 Rewritten to create the message strings when the exception is not
5412 raised by an abort during finalization.
5413 * a-except.ads, a-except-2005.ads: Add pragma Export for procedure
5414 Raise_From_Controlled_Operation and update its associated comment.
5415 * a-fihema.ads, a-fihema.adb: New GNAT unit.
5416 Ada.Finalization.Heap_Management provides key functionality
5417 associated with controlled objects on the heap, their creation,
5418 finalization and reclamation. Type Finalization_Collection is
5419 effectively a wrapper which sits ontop of a storage pool and performs
5420 all necessary bookkeeping for all the objects it contains. Each
5421 access-to-controlled or access-to-class-wide type receives a collection
5422 as part of its expansion. The compiler generates buffer code and
5423 invokes Allocate / Deallocate to create and destroy allocated
5424 controlled objects.
5425 * a-finali.adb ("="): Removed.
5426 * a-finali.ads ("="): Removed. Controlled types no longer carry hidden
5427 fields Prev and Next.
5428 * ali.adb (Scan_ALI): Add parsing code to process PF / Has_Finalizer.
5429 A library unit with at least one controlled object on the library level
5430 has a special finalizer which is invoked by the binder. To signal this,
5431 ali files carry field PF.
5432 * ali.ads: New field in type Unit_Record called Has_Finalizer. Add
5433 associated comment on field usage.
5434 * a-tags.adb (Get_RC_Offset): Removed.
5435 (Needs_Finalization): New routine.
5436 * a-tags.ads: Update the structure of the GNAT dispatch tables.
5437 Dispatch tables now carry field Needs_Finalization which provides
5438 runtime indication whether a type is controlled or has controlled
5439 components or both. Remove field RC_Offset.
5440 (Get_RC_Offset): Removed along with its associated pragma Export.
5441 Since tagged types with controlled components no longer carry hidden
5442 field _controller, the special mechanism to retrieve its location is no
5443 longer needed.
5444 (Needs_Finalization): New routine.
5445 * atree.ads, atree.adb (Elist24): New routine.
5446 (Set_Elist24): New routine.
5447 * atree.h: Add a define clause for Elist24.
5448 * bindgen.adb New library-level variable Lib_Final_Built.
5449 (Gen_Adafinal_Ada): Reimplemented. Depending on the restrictions or the
5450 presence of a VM target, the routine generates calls to the proper
5451 library finalization routine.
5452 (Gen_Adainit_Ada): Import Finalize_Library_Objects only on non-VM
5453 targets. Set the correct library finalization routine depending on
5454 whether the library has controlled objects or this is a VM compilation.
5455 (Gen_Finalize_Library_Ada): New routine. This procedure generates calls
5456 to library-level finalizers of compiled units in reverse order of
5457 elaboration. It also produces exception management code and reraises a
5458 potential exception after all units have been finalized.
5459 (Gen_Finalize_Library_C): New routine. This procedure generates calls to
5460 library-level finalizers of compiled units in reverse order of
5461 elaboration.
5462 (Gen_Finalize_Library_Defs_C): New routine. This procedure generates the
5463 definitions of all library-level finalizers available to the compilation
5464 (Gen_Main_Ada): Directly call Adafinal which now contails all target
5465 dependent code.
5466 (Gen_Main_C): Add new local constant Needs_Library_Finalization. Call
5467 System.Standard_Library.Adafinal directly. If the library needs
5468 finalization actions, create the sequence of finalization calls.
5469 (Gen_Output_File_Ada): Alphabetize local variables and constants.
5470 Generate a with clause for System.Soft_Links when compiling for a VM.
5471 Remove the code which imports System.Standard_Library.Adafinal as
5472 Do_Finalize. Generate the library finalization routine.
5473 (Gen_Output_File_C): Add new local constant Needs_Library_Finalization.
5474 If the library needs finalization actions, create all the definitions
5475 of library- level finalizers.
5476 (Has_Finalizer): New routine. Determines whether at least one compiled
5477 unit has a library-level finalizer.
5478 Add type Qualification_Mode.
5479 (Set_Unit_Name): Add a formal which controls the replacement of a dot.
5480 * einfo.adb: New usage of field 15 as Return_Flag.
5481 Remove Finalization_Chain_Entity from the usages of field 19.
5482 Remove Associated_Final_Chain from the usages of field 23.
5483 New usage of field 23 as Associated_Collection.
5484 New usage of field 24 as Finalizer.
5485 New usage of flag 252 as Is_Processed_Transient.
5486 (Associated_Final_Chain): Removed.
5487 (Associated_Collection): New routine.
5488 (Finalization_Chain_Entity): Removed.
5489 (Finalizer): New routine.
5490 (Is_Finalizer): New routine.
5491 (Is_Processed_Transient): New routine.
5492 (Return_Flag): New routine.
5493 (Set_Associated_Final_Chain): Removed.
5494 (Set_Associated_Collection): New routine.
5495 (Set_Finalization_Chain_Entity): Removed.
5496 (Set_Finalizer): New routine.
5497 (Set_Is_Processed_Transient): New routine.
5498 (Set_Return_Flag): New routine.
5499 (Write_Entity_Flags): Include Is_Processed_Transient to the list of
5500 displayed flags.
5501 (Write_Field8_Name): Alphabetize the output.
5502 (Write_Field11_Name): Alphabetize the output.
5503 (Write_Field12_Name): Alphabetize the output.
5504 (Write_Field13_Name): Alphabetize the output.
5505 (Write_Field14_Name): Alphabetize the output.
5506 (Write_Field15_Name): Alphabetize the output.
5507 (Write_Field16_Name): Alphabetize the output.
5508 (Write_Field17_Name): Alphabetize the output.
5509 (Write_Field18_Name): Alphabetize the output.
5510 (Write_Field19_Name): Alphabetize the output. Remove the output of
5511 Finalization_Chain_Entity.
5512 (Write_Field20_Name): Alphabetize the output.
5513 (Write_Field21_Name): Alphabetize the output.
5514 (Write_Field22_Name): Alphabetize the output.
5515 (Write_Field23_Name): Alphabetize the output. Remove the output of
5516 Associated_Final_Chain. Add output for Associated_Collection.
5517 (Write_Field24_Name): Alphabetize the output.
5518 (Write_Field25_Name): Add output for Finalizer.
5519 (Write_Field26_Name): Alphabetize the output.
5520 (Write_Field27_Name): Alphabetize the output.
5521 (Write_Field28_Name): Alphabetize the output.
5522 * einfo.ads: Add new field description for Associated_Collection and
5523 its uses in nodes.
5524 Remove Associated_Final_Chain and its uses in nodes.
5525 Remove Finalization_Chain_Entity and its uses in nodes.
5526 Add new field description for Finalizer and its uses in nodes.
5527 Add new synthesized attribute Is_Finalizer.
5528 Add new flag description for Is_Processed_Transient and its uses in
5529 nodes.
5530 Add new field description for Return_Flag and its uses in nodes.
5531 (Associated_Final_Chain): Removed along with its pragma Inline.
5532 (Associated_Collection): New routine and pragma Inline.
5533 (Finalization_Chain_Entity): Removed along with its pragma Inline.
5534 (Finalizer): New routine and pragma Inline.
5535 (Is_Finalizer): New routine and pragma Inline.
5536 (Is_Processed_Transient): New routine and pragma Inline.
5537 (Return_Flag): New routine and pragma Inline.
5538 (Set_Associated_Final_Chain): Removed along with its pragma Inline.
5539 (Set_Associated_Collection): New routine and pragma Inline.
5540 (Set_Finalization_Chain_Entity): Removed along with its pragma Inline.
5541 (Set_Finalizer): New routine and pragma Inline.
5542 (Set_Is_Processed_Transient): New routine and pragma Inline.
5543 (Set_Return_Flag): New routine and pragma Inline.
5544 * exp_aggr.adb: Alphabetize subprograms.
5545 (Build_Array_Aggr_Code): Remove formal Flist and its associated comment.
5546 (Build_Record_Aggr_Code): Remove formals Flist and Obj along with their
5547 associated comments. Remove local variables External_Final_List and
5548 Attach.
5549 Rename Ctrl_Stuff_Done to Finalization_Done. Rename local variable A to
5550 Ancestor. Remove the retrieval of finalization lists. Update the call to
5551 Make_Adjust_Call.
5552 (Convert_Aggr_In_Allocator): Remove the retrieval of finalization
5553 lists. Update the call to Late_Expansion.
5554 (Convert_Aggr_In_Assignment): Update the call to Late_Expansion.
5555 (Convert_Aggr_In_Object_Decl): Update the call to Late_Expansion.
5556 (Gen_Assign): Remove the retrieval of the finalization list used to
5557 build the assignment. Update the calls to Make_Init_Call and
5558 Make_Adjust_Call.
5559 (Gen_Ctrl_Actions_For_Aggr): Renamed to Generate_Finalization_Actions.
5560 Remove the mechanism to determine attachment levels and finalization
5561 list retrieval. Remove the processing for coextensions.
5562 (Init_Controller): Removed. Controllers no longer exist.
5563 (Late_Expansion): Remove formals Flist and Obj along with their
5564 associated comments. Update the calls to Build_Record_Aggr_Code and
5565 Build_Array_Aggr_Code.
5566 * exp_ch13.adb (Expand_N_Free_Statement): New routine.
5567 (Expand_N_Freeze_Entity): Add special processing for finalizers which
5568 appear in entry bodies, protected subprograms and task bodies.
5569 * exp_ch13.ads (Expand_N_Free_Statement): New routine.
5570 * exp_ch3.adb (Add_Final_Chain): Removed.
5571 (Build_Array_Init_Proc): Alphabetize local variables.
5572 (Build_Assignment): Alphabetize local variables. Update the call to
5573 Maked_Adjust_Call.
5574 (Build_Class_Wide_Master): Rename local variables to better reflect
5575 their role.
5576 (Build_Discriminant_Assignments): Code reformatting.
5577 (Build_Init_Call_Thru): Code reformatting.
5578 (Build_Init_Procedure): Code reformatting. Generate a special version
5579 of Deep_Finalize which is capable of finalizing all initialized
5580 components and ignore the rest.
5581 (Build_Init_Statements): Rename local variables to better reflect their
5582 role.
5583 Reimplement the mechanism to include the creation and update of an index
5584 variable called a "counter". It is used as a bookmark for tracing
5585 initialized and non-initialized components.
5586 (Build_Initialization_Call): Remove local variable Controller_Typ.
5587 Alphabetize all local variables. Remove the initialization of the
5588 record controller and update the call to Make_Init_Call.
5589 (Build_Record_Init_Proc): Rename formal Pe to Rec_Ent.
5590 New local variable Counter.
5591 (Constrain_Array): Alphabetize.
5592 (Expand_Freeze_Array_Type): Create a collection instead of a
5593 finalization list.
5594 (Expand_Freeze_Class_Wide_Type): New routine. Creates TSS primitive
5595 Finalize_Address which is used in conjunction with allocated controlled
5596 objects.
5597 (Expand_N_Object_Declaration): Remove the creation of a finalization
5598 list for anonymous access types. Update the calls to Make_Init_Call and
5599 Make_Adjust_Call.
5600 (Expand_Freeze_Record_Type): Remove local variable Flist. Remove the
5601 retrieval of finalization lists. Remove the expansion of the record
5602 controller. Create TSS primitive Finalize_Address used in conjunction
5603 with controlled objects on the heap. Create finalization collections
5604 for access-to-controlled record components.
5605 (Expand_Record_Controller): Removed.
5606 (Freeze_Type): Remove the freezing of record controllers. Freezing of
5607 class-wide types now requires additional processing. Create
5608 finalization collections for access-to-controlled types.
5609 (Increment_Counter): New routine.
5610 (Make_Counter): New routine.
5611 (Make_Eq_If): Remove the mention of Name_uController.
5612 (Make_Predefined_Primitive_Specs): There is no longer need to skip
5613 types coming from System.Finalization_Root.
5614 (Predef_Deep_Spec): Reimplemented to reflect the new parameter profiles.
5615 (Predefined_Primitive_Bodies): There is no longer need to skip types
5616 coming from System.Finalization_Root.
5617 (Stream_Operation_OK): Do not generate stream routines for
5618 type Ada.Finalization.Heap_Management.Finalization_Collection.
5619 * exp_ch3.ads: Alphabetize subprograms.
5620 * exp_ch4.adb: Remove with and use clause for Sem_Ch8.
5621 Add with and use clause for Lib.
5622 (Complete_Coextension_Finalization): Removed.
5623 (Complete_Controlled_Allocation): New routine. Create a finalization
5624 collection for anonymous access-to-controlled types. Create a custom
5625 Allocate which interfaces with the back end and the machinery in
5626 Heap_Management.
5627 (Expand_Allocator_Expression): Add necessary calls to
5628 Complete_Controlled_Allocation. Remove the retrieval of finalization
5629 lists. Update the calls to Make_Adjust_Call. Generate a call to
5630 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
5631 the associated collection.
5632 (Expand_N_Allocator): Remove the processing for dynamic coextensions.
5633 Code clean up. Remove the retrieval of finalization lists and
5634 attachment levels.
5635 Update the call to Make_Init_Call. Generate a call to
5636 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
5637 the associated collection.
5638 (Get_Allocator_Final_List): Removed. Finalization lists are not
5639 available.
5640 (Suitable_Element): Remove the mention of Name_uController.
5641 * exp_ch5.adb: Remove with and use clauses for Ttypes and Uintp.
5642 (Make_Tag_Ctrl_Assignment): Rewritten to simply do a finalization of
5643 the left hand side, carry out the assignment and adjust the left hand
5644 side.
5645 * exp_ch6.adb (Add_Final_List_Actual_To_Build_In_Place_Call): Removed.
5646 (Add_Collection_Actual_To_Build_In_Place_Call): New routine.
5647 (BIP_Formal_Suffix): Rename BIP_Final_List and BIPfinallist to
5648 BIP_Collection and BIPcollection.
5649 (Build_Heap_Allocator): New routine used to allocate the return object
5650 of a build-in-place function onto a collection.
5651 (Expand_Ctrl_Function_Call): Moved from Exp_Ch7.
5652 (Expand_Call): Do not replace direct calls to Deep routines with their
5653 aliases.
5654 (Expand_N_Extended_Return_Statement): Give all variables shorter names
5655 and update their occurrences. Add a special return flag to monitor the
5656 [ab]normal execution of the function. The flag is set right before the
5657 return statement.
5658 Rewrite the mechanism used to allocate a build-in-place return object
5659 on the heap or on a storage pool.
5660 (Is_Direct_Deep_Call): New routine.
5661 (Make_Build_In_Place_Call_In_Allocator): Add a collection to a
5662 build-in-place function call instead of a final list. Build a call to
5663 Set_Finalize_Address_Ptr to decorate the associated collection.
5664 (Make_Build_In_Place_Call_In_Anonymous_Context): Create a temporary in
5665 order to name the build-in-place function call's result for later
5666 finalization. Add a collection to a build-in-place function call
5667 instead of a final list.
5668 (Make_Build_In_Place_Call_In_Assignment): Add a collection to a
5669 build-in-place function call instead of a final list. Remove the code
5670 which moves one final list and transforms it into the actual in a
5671 nested build-in-place call.
5672 (Make_Build_In_Place_Call_In_Object_Declaration): Add a collection to a
5673 build-in-place function call instead of a final list.
5674 (Move_Final_List): Removed.
5675 (Needs_BIP_Collection): New routine.
5676 (Needs_BIP_Final_List): Removed.
5677 * exp_ch6.ads: Replace BIP_Final_List with BIP_Collection in
5678 enumeration type BIP_Formal_Kind.
5679 Update the related comment.
5680 (Needs_BIP_Collection): New routine.
5681 (Needs_BIP_Final_List): Removed.
5682 * exp_ch7.adb: Add with and use clauses for Elists, Exp_Ch6, Stringt
5683 and Ttypes. Remove with and use clauses for Sem_Type. Alphabetize the
5684 majority of subprograms in this unit. Add Name_Finalize_Address to
5685 array Name_Of and TSS_Finalize_Address to array Deep_Name_Of.
5686 (Build_Adjust_Or_Finalize_Statements): Create the adjust or finalization
5687 statements for an array type.
5688 (Build_Adjust_Statements): Create the adjust statements for a record
5689 type.
5690 (Build_Cleanup_Statements): New routine. A procedure which given any
5691 construct containing asynchronous calls, references to _master, or is a
5692 task body, a task allocation or a protected body produces the necessary
5693 runtime calls to clean up these constructs.
5694 (Build_Exception_Handler): New routine.
5695 (Build_Final_List): Removed.
5696 (Build_Finalization_Collection): New routine. A core procedure which
5697 creates a collection to service heap allocated controlled objects
5698 associated with an access-to-controlled type.
5699 (Build_Finalize_Statements): Create the finalization statements for a
5700 record types.
5701 (Build_Finalizer): New routine. A core procedure which given any
5702 construct with declarations and/or statements detects all objects which
5703 need any type of clean up (controlled objects, protected objects) and
5704 generates all necessary code to clean up the said objects in the proper
5705 order.
5706 (Build_Finalizer_Call): New routine.
5707 (Build_Initialize_Statements): Create the initialization statements for
5708 an array type. The generated routine contains code to finalize partially
5709 initialized arrays.
5710 (Build_Object_Declarations): New routine.
5711 (Build_Raise_Statement): New routine.
5712 (Clean_Simple_Protected_Objects): Removed.
5713 (Controller_Component): Removed.
5714 (Enclosing_Function): New routine.
5715 (Expand_Cleanup_Actions): Create a finalizer for a construct which has
5716 either declarations or statements or both.
5717 (Expand_N_Package_Body): Create a finalizer for a non-generic package.
5718 (Expand_N_Package_Declaration): Create a finalizer for a non-generic
5719 package.
5720 (Find_Final_List): Removed.
5721 (Global_Flist_Ref): Removed.
5722 (In_Finalization_Root): Removed.
5723 (Insert_Actions_In_Scope_Around): Determine the range of the transient
5724 scope in terms of tree nodes. Process all transient variables within
5725 that range.
5726 (Make_Adjust_Call): Rewritten. There is no longer an attach call
5727 generated after the adjust.
5728 (Make_Attach_Call): Removed.
5729 (Make_Call): New routine.
5730 (Make_Clean): Removed.
5731 (Make_Deep_Array_Body): Rewritten to simply invoke the appropriate
5732 build routines.
5733 (Make_Deep_Proc): Rewritten to generate the new profile signature used
5734 in Deep routines.
5735 (Make_Deep_Record_Body): Rewritten to simply invoke the appropriate
5736 build routines.
5737 (Make_Final_Call): Modified to simply create a call to either
5738 Deep_Finalize or Finalize.
5739 (Make_Finalize_Address_Body): New routine.
5740 (Make_Finalize_Address_Stmts): New routine. A function which produces
5741 TSS primitive Finalize_Address used in conjunction with heap allocated
5742 controlled objects.
5743 (Make_Handler_For_Ctrl_Operation): Add specialized code for .NET/JVM.
5744 (Make_Init_Call): Rewritten. There is no longer an attach call
5745 generated after initialization.
5746 (Make_Local_Deep_Finalize): New routine.
5747 (Make_Set_Finalize_Address_Ptr_Call): New routine.
5748 (Make_Transient_Block): Remove the finalization list retrieval and
5749 manipulation.
5750 (Needs_Finalization): Moved to Exp_Util.
5751 (Parent_Field_Type): New routine.
5752 (Preprocess_Components): New routine.
5753 (Process_Transient_Objects): New routine.
5754 (Wrap_HSS_In_Block): New routine.
5755 (Wrap_Transient_Declaration): Remove finalization list management and
5756 controller insertion.
5757 (Wrap_Transient_Expression): Code reformatting.
5758 (Wrap_Transient_Statement): Code reformatting.
5759 * exp_ch7.ads (Build_Final_List): Removed.
5760 (Build_Finalization_Collection): New routine.
5761 (Build_Raise_Statement): New routine.
5762 (Controller_Component): Removed.
5763 (Expand_Ctrl_Function_Call): Moved to Exp_Ch6.
5764 (Find_Final_List): Removed.
5765 (In_Finalization_Root): Removed.
5766 (Is_Simple_Protected_Type): Update related comment.
5767 (Make_Adjust_Call): New parameter profile and associated comments.
5768 (Make_Attach_Call): Removed.
5769 (Make_Final_Call): New parameter profile and associated comments.
5770 (Make_Finalize_Address_Body): New routine.
5771 (Make_Init_Call): New parameter profile and associated comments.
5772 (Make_Local_Deep_Finalize): New routine.
5773 (Make_Set_Finalize_Address_Ptr_Call): New routine.
5774 (Needs_Finalization): Moved to Exp_Util.
5775 * exp_ch9.adb (Add_Object_Pointer): Code reformatting.
5776 (Expand_N_Protected_Body): Remove the handling of finalization lists.
5777 (Find_Protection_Type): Moved to Exp_Util.
5778 * exp_disp.adb: Remove with and use clauses for Exp_Ch7.
5779 (Make_DT): Update sequence of dispatch table initialization. Remove the
5780 initialization of field RC_Offset. Add initialization of field Needs_
5781 Finalization.
5782 * exp_intr.adb (Expand_Unc_Deallocation): Code reformatting.
5783 Reimplement how an object is first finalized, then deallocated.
5784 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
5785 Code reformatting.
5786 * exp_tss.ads: Add special suffix for TSS primitive Finalize_Address.
5787 Register TSS_Finalize_Address with type TSS_Names.
5788 * exp_util.adb (Build_Allocate_Deallocate_Proc): New routine. This core
5789 procedure provides the interface between an allocation / deallocation
5790 and the support machinery in Ada.Finalization.Heap_Management.
5791 (Find_Init_Call): Code reformatting.
5792 (Find_Init_Call_In_List): Code reformatting.
5793 (Find_Protection_Type): Moved from Exp_Ch9.
5794 (Find_Prim_Op): Reimplement to add preference of recovered primitive.
5795 (Has_Controlled_Coextensions): Removed.
5796 (Has_Controlled_Objects): New routine.
5797 (In_Library_Level_Package_Body): New routine.
5798 (Insert_Action_After): New routine.
5799 (Is_Finalizable_Transient): New routine. This predicate determines
5800 whether an object declaration is one of the many variants of controlled
5801 transients.
5802 (Is_Null_Access_BIP_Func_Call): New routine.
5803 (Is_Non_BIP_Func_Call): New routine.
5804 (Is_Related_To_Func_Return): New routine.
5805 (Needs_Finalization): Moved from Exp_Ch7.
5806 * exp_util.ads (Build_Allocate_Deallocate_Proc): New routine.
5807 (Find_Protection_Type): Moved from Exp_Ch9.
5808 (Has_Controlled_Coextensions): Removed.
5809 (Has_Controlled_Objects): New routine.
5810 (In_Library_Level_Package_Body): New routine.
5811 (Insert_Action_After): New routine.
5812 (Is_Finalizable_Transient): New routine.
5813 (Is_Null_Access_BIP_Func_Call): New routine.
5814 (Is_Non_BIP_Func_Call): New routine.
5815 (Is_Related_To_Func_Return): New routine.
5816 (Needs_Finalization): Moved from Exp_ch7.
5817 * expander.adb (Expand): Add a case for N_Free_Statement.
5818 * freeze.adb (Freeze_All): Replace the generation of a finalization
5819 list with a collection for access-to-controlled types.
5820 (Freeze_Entity): Code reformatting.
5821 (Freeze_Record_Type): Remove the freezing of a record controller
5822 component.
5823 (Freeze_Subprogram): Code reformatting.
5824 * inline.adb (Cleanup_Scopes): Remove the reset of the scope
5825 finalization list.
5826 * lib-writ.adb (Write_Unit_Information): Output "PF" when a package
5827 has a library-level finalizer.
5828 * lib-writ.ads: Add "PF" to the sequence of unit attributes.
5829 * a-filico.ads, a-filico.adb, s-finimp.ads, s-finimp.adb: Removed.
5830 * Makefile.rtl: Remove a-filico and s-finimp from the list of object
5831 files. Add a-fihema to the list of object files.
5832 * par-ch4.adb:
5833 Alphabetize the associations in type Is_Parameterless_Attribute.
5834 * rtsfind.ads: Ada.Finalization_List.Controller and
5835 System.Finalization_Implementation are no longer a GNAT unit.
5836 Update the range of type Ada_Finalization_Child. Remove the following
5837 recoverable entities:
2c7f9cc0 5838
df3e68b1
HK
5839 RE_Attach_To_Final_List
5840 RE_Deep_Tag_Attach
5841 RE_Finalize_List
5842 RE_Finalize_One
5843 RE_Finalizable_Ptr_Ptr
5844 RE_Global_Final_List
5845 RE_Limited_Record_Controller
5846 RE_List_Controller
5847 RE_Move_Final_List
5848 RE_Record_Controller
5849 RE_Simple_List_Controller
2c7f9cc0 5850
df3e68b1 5851 Add the following recoverable entities:
2c7f9cc0 5852
df3e68b1
HK
5853 RE_Add_Offset_To_Address
5854 RE_Allocate
5855 RE_Base_Pool
5856 RE_Deallocate
5857 RE_Exception_Identity
5858 RE_Finalization_Collection
5859 RE_Finalization_Collection_Ptr
5860 RE_Needs_Finalization
5861 RE_Save_Library_Occurrence
5862 RE_Set_Finalize_Address_Ptr
5863 RE_Set_Storage_Pool_Ptr
5864 RE_Storage_Count
5865 * sem_aggr.adb (Resolve_Record_Aggregate): Remove mention of
5866 Name_uController.
5867 * sem_aux.adb (First_Discriminant): Remove mention of Name_uController.
5868 (First_Stored_Discriminant): Remove the mention of Name_uController.
5869 * sem_aux.ads: Comment reformatting.
5870 * sem_ch10.adb (Build_Chain): Signal the class-wide creation machinery
5871 to redecorate an already existing class-wide type.
5872 (Decorate_Tagged_Type): New parameter profile and associated comment.
5873 Create a "shadow class-wide type" for a shadow entity.
5874 * sem_ch11.adb (Analyze_Exception_Handlers): Remove the dubious setting
5875 of the final chain along with the associated comment.
5876 * sem_ch3.adb (Access_Type_Declaration): Add new local variable
5877 Full_Desig and set it to the full view of the designated type.
5878 Initialize the finalization collection to empty.
5879 (Build_Derived_Record_Type): Alphabetize local variables. Code
5880 reformatting.
5881 (Collect_Fixed_Components): Remove the mention of Name_uController.
5882 (Create_Constrained_Components): Remove the mention of Name_uController.
5883 (Make_Class_Wide_Type): Add specialized code to redecorate an existing
5884 class-wide type of a shadow entity.
5885 (Process_Full_View): Update the machinery which marks type
5886 Limited_Controlled's entity as limited.
5887 * sem_ch4.adb (Analyze_One_Call): Code reformatting.
5888 * sem_ch6.adb (Create_Extra_Formals): Do not generate a finalization
5889 list, instead make a collection build-in-place formal.
5890 * sem_ch8.adb (Analyze_Object_Renaming): Look at the available view of
5891 a designated type in order to establish a match between the renaming
5892 and the renamed entity.
5893 (Find_Selected_Component): Add guard to prevent spurious exceptions
5894 from being raised on .NET/JVM.
5895 * sem_disp.adb (Check_Dispatching_Operation): Include Finalize_Address
5896 to the list of primitive that need special processing. Update arrays
5897 C_Names and D_Names.
5898 (Replace_Types): Handle class-wide types.
5899 * sem_elab.adb (Check_A_Call): Since Deep_Initialize now has a
5900 different parameter profile, look at the first formal.
5901 * sem_prag.adb: Remove with and use clauses for Exp_Ch7. Add with and
5902 use clauses for Exp_Util.
5903 * sem_res.adb: Remove with and use clauses for Elists.
5904 (Propagate_Coextensions): Removed.
5905 (Resolve_Allocator): Do not propagate the list of coextensions from one
5906 allocator to another.
5907 * sem_util.adb (Build_Actual_Subtype_Of_Component): Rename variable
5908 Deaccessed_T to Desig_Typ.
5909 (Enter_Name): Remove the mention of Name_uController.
5910 (Gather_Components): Remove the mention of Name_uController.
5911 (Incomplete_Or_Private_View): New routine.
5912 (Is_Coextension_Root): Removed.
5913 (Is_Fully_Initialized_Type): Remove the mention of Name_uController.
5914 * sem_util.ads (Incomplete_Or_Private_View): New routine.
5915 (Is_Coextension_Root): Removed.
5916 * s-finroo.ads: Remove with clause for Ada.Unchecked_Conversion.
5917 Controlled types are now derived from a null tagged record. Remove
5918 types Finalizable_Ptr, Finalizable and Empty_Root_Controlled.
5919 * sinfo.adb (Coextensions): Removed.
5920 (Set_Coextensions): Removed.
5921 * sinfo.ads: Remove Coextensions from the explanation of node fields
5922 and its uses in nodes.
5923 Update the field usage of N_Allocator.
5924 (Coextensions): Removed along with its pragma Inline.
5925 (Set_Coextensions): Removed along with its pragma Inline.
5926 * snames.ads-tmpl: Remove names
2c7f9cc0 5927
df3e68b1
HK
5928 Name_uClean
5929 Name_uController
5930 Name_uFinal_List
5931 Name_uLocal_Final_List
5932 Name_Finalization_Root
5933 Name_Next
5934 Name_Prev
2c7f9cc0 5935
df3e68b1 5936 Add names
2c7f9cc0 5937
df3e68b1
HK
5938 Name_uFinalizer
5939 Name_Finalize_Address
5940 * s-pooglo.adb (Allocate): Add overriding indicator.
5941 (Deallocate): Add overriding indicator.
5942 (Storage_Size): Add overriding indicator.
5943 * s-soflin.adb (Adafinal_NT): Invoke Finalize_Library_Objects rather
5944 than Finalize_Global_List.
5945 (Null_Finalize_Global_List): Removed.
5946 (Save_Library_Occurrence): New routine.
5947 * s-soflin.ads: Remove variable Finalize_Global_List along with its
5948 initialization. Add variable Finalize_Library_Objects along with its
5949 pragma Export. Add variables Library_Exception and
5950 Library_Exception_Set along with their pragma Export.
5951 (Null_Finalize_Global_List): Removed.
5952 (Save_Library_Occurrence): New routine.
5953 * s-tassta.adb (Finalize_Global_Tasks): Call Finalize_Library_Objects
5954 rather than Finalize_Global_List.
5955 * tbuild.adb (Unchecked_Convert_To): Capture and set the parent field
5956 of the constructed node.
5957
2ee06322
RO
59582011-08-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5959
5960 * link.c: Include "auto-host.h" before system headers.
5961
f77b022b
VC
59622011-08-03 Vincent Celier <celier@adacore.com>
5963
5964 * make.adb (Gnatmake): Add to table Library_Projs only library projects
5965 that are not extended. Do not check if a library project that is
5966 extended should be regenerated. Do not add to table Library_Paths the
5967 libraries that are in extended projects. Link only with libraries that
5968 are in libray projects that are not extended.
5969 * prj-nmsc.adb (Check_Library_Attributes): Do not reset flag Library
5970 for a library project that is extended.
5971
0187b60e
AC
59722011-08-03 Gary Dismukes <dismukes@adacore.com>
5973
5974 * sem_ch6.adb (Find_Corresponding_Spec): When in an instance, skip
5975 conforming subprogram renamings that appear to be completions if they
5976 are not fully conformant.
5977 Such renamings are homographs but not completions.
5978 * sem_type.adb (Disambiguate): Handle disambiguation of overloaded
5979 names in a subprogram renaming that appears in an instance.
5980
59812011-08-03 Ed Schonberg <schonberg@adacore.com>
5982
5983 * exp_util.adb (Expand_Subtype_From_Expr): if the type is limited but
5984 not immutably limited, build actual subtype from expression to provide
5985 proper bounds to caller.
5986
59872011-08-03 Gary Dismukes <dismukes@adacore.com>
5988
5989 * sem_ch8.adb: Minor comment correction.
5990
59912011-08-03 Thomas Quinot <quinot@adacore.com>
5992
5993 * exp_strm.adb (Build_Array_Input_Function): In Ada 2005 mode, when
5994 returning a limited array, use an extended return statement.
5995
59962011-08-03 Vincent Celier <celier@adacore.com>
5997
5998 * make.adb (Initialize): If --subdirs= is used, but no project file is
5999 specified, attempt to create the specify subdir if it does not already
6000 exist and use it as the object directory as if -D had been specified.
6001
60022011-08-03 Arnaud Charlet <charlet@adacore.com>
6003
6004 * s-tpopsp-vms.adb: New file.
6005 * s-taprop-vms.adb: Put back ATCB_Key, since needed by this file on VMS.
6006 * gcc-interfaces/Makefile.in: Use s-taprop-vms.adb on VMS.
6007
e280f981
AC
60082011-08-03 Emmanuel Briot <briot@adacore.com>
6009
6010 * make.adb, makeutl.adb, makeutl.ads, clean.adb (Makeutl.Queue): new
6011 package.
6012
60132011-08-03 Yannick Moy <moy@adacore.com>
6014
6015 * cstand.adb (Create_Standard): select Universal_Integer as an ALFA type
6016 * sem_ch3.adb (Array_Type_Declaration): detect array types in ALFA
6017 * sem_util.adb, sem_util.ads (Has_Static_Array_Bounds): new function to
6018 detect that an array has static bounds.
6019
98c99a5a
AC
60202011-08-03 Thomas Quinot <quinot@adacore.com>
6021
6022 * exp_dist.adb: Minor reformatting.
6023
60242011-08-03 Arnaud Charlet <charlet@adacore.com>
6025
6026 * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-vms.adb
6027 (ATCB_Key): Removed, not always used.
6028
60292011-08-03 Emmanuel Briot <briot@adacore.com>
6030
6031 * gnatcmd.adb, make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads,
6032 clean.adb, prj-conf.adb, prj-env.adb, prj-env.ads (Makeutl): remove
6033 most remaining global variables.
6034
686d0984
AC
60352011-08-03 Robert Dewar <dewar@adacore.com>
6036
6037 * gnatcmd.adb, prj-proc.adb, mlib-prj.adb, prj.adb, makeutl.ads,
6038 prj-util.adb, prj-util.ads, prj-conf.adb, prj-env.adb: Minor
6039 reformatting.
6040
60412011-08-03 Javier Miranda <miranda@adacore.com>
6042
6043 * exp_util.adb (Is_VM_By_Copy_Actual): Include N_Slide nodes as actuals
6044 that must be passed by copy in VM targets.
6045
60462011-08-03 Emmanuel Briot <briot@adacore.com>
6047
6048 * prj.ads, prj-nmsc.adb (Files_Htable): removed this htable, which
6049 duplicates a similar htable now in the project tree.
6050
60512011-08-03 Claire Dross <dross@adacore.com>
6052
6053 * a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
6054 a-cofove.adb ("=", Length, Is_Empty, Clear, Assign, Copy, Element,
6055 Replace_Element, Query_Element, Update_Element, Move, Insert, Prepend,
6056 Append, Delete, Delete_First, Delete_Last, Reverse_Element, Swap,
6057 Splice, First, First_Element, Last, Last_Element, Next, Previous, Find,
6058 Reverse_Find, Contains, Has_Element, Iterate, Reverse_Iterate, Capacity,
6059 Reserve_Length, Length, Strict_Equal, Left, Right): Data-structure
6060 update.
6061
60622011-08-03 Arnaud Charlet <charlet@adacore.com>
6063
6064 * s-taprop-posix.adb, s-taprop-linux.adb, s-taprop-tru64.adb
6065 (ATCB_Key): Removed, not always used.
6066 * s-tpopsp-posix.adb, s-tpopsp-posix-foreign.adb (ATCB_Key): Moved from
6067 s-taprop-posix.adb.
6068 * s-tpopsp-tls.adb: New file.
6069 * gcc-interface/Makefile.in: Use TLS implementation of s-tpopsp.adb on
6070 x86/x64/ia64/powerpc/sparc Linux.
6071
60722011-08-03 Arnaud Charlet <charlet@adacore.com>
6073
6074 * system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True.
6075 * gcc-interface/Makefile.in: Switch to ZCX by default on AIX ports.
6076
60772011-08-03 Thomas Quinot <quinot@adacore.com>
6078
6079 * rtsfind.ads, exp_dist.adb, exp_dist.ads
6080 (Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
6081 Fix type selection for mapping integer types to PolyORB types.
6082
60832011-08-03 Bob Duff <duff@adacore.com>
6084
6085 * sem_ch7.adb: Minor comment clarification.
6086
60872011-08-03 Bob Duff <duff@adacore.com>
6088
6089 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): If we get
6090 an error analyzing a choice, skip further processing. Further
6091 processing could cause a crash or cascade errors.
6092
40ecf2f5
EB
60932011-08-03 Emmanuel Briot <briot@adacore.com>
6094
6095 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, mlib-prj.adb,
6096 prj.adb, prj.ads, makeutl.adb, makeutl.ads, clean.adb, prj-nmsc.adb,
6097 prj-util.adb, prj-util.ads, prj-conf.adb, prj-conf.ads, prj-env.adb,
6098 prj-env.ads (Shared_Project_Tree_Data): new type
6099 An aggregate project and its aggregated trees need to share the common
6100 data structures used for lists of strings, packages,... This makes the
6101 code simpler since otherwise we have to pass the root tree (also used
6102 for the configuration file data) in addition to the current project
6103 tree. This also avoids ambiguities as to which tree should be used.
6104 And finally this saves a bit of memory.
6105 (For_Every_Project_Imported): new parameter Tree.
6106 Since aggregated projects are using a different tree, we need to let
6107 the caller know which tree to use to manipulate the returned project.
6108
9fde638d
RD
61092011-08-03 Robert Dewar <dewar@adacore.com>
6110
6111 * prj-proc.adb, exp_util.ads, exp_ch9.adb, make.adb, prj-ext.adb,
6112 prj-ext.ads, alfa.ads, sem_ch4.adb, makeutl.adb, makeutl.ads,
6113 lib-xref-alfa.adb, sem_cat.adb, exp_dist.adb, get_alfa.adb,
6114 prj-env.adb, prj-env.ads, prj-tree.adb, alfa.ads: Minor reformatting.
6115
95eb8b69
AC
61162011-08-03 Javier Miranda <miranda@adacore.com>
6117
6118 * exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
6119 Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.
6120
61212011-08-03 Bob Duff <duff@adacore.com>
6122
6123 * sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
6124 the Base_Type.
6125
61262011-08-03 Joel Brobecker <brobecker@adacore.com brobecker>
6127
6128 * g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
6129 g-sehash.ads: Fix typo. Update header.
6130
61312011-08-03 Thomas Quinot <quinot@adacore.com>
6132
6133 * exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
6134 expansion.
6135
61362011-08-03 Gary Dismukes <dismukes@adacore.com>
6137
6138 * sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
6139 prefixes of private types along with records, since the selector may be
6140 a discriminant.
6141 * sem_res.adb (Resolve_Selected_Component): Consider prefixes of
6142 private types along with records, since the selector may be a
6143 discriminant.
6144
92e77027
AC
61452011-08-03 Emmanuel Briot <briot@adacore.com>
6146
b2f7ebc1 6147 * prj-pp.adb (Pretty_Print): Remove trailing blank line.
92e77027
AC
6148
61492011-08-03 Javier Miranda <miranda@adacore.com>
6150
6151 * sem_aux.adb (Is_VM_By_Copy_Actual): Fix wrong use of
6152 Tagged_Type_Expansion.
6153
61542011-08-03 Yannick Moy <moy@adacore.com>
6155
b2f7ebc1
GP
6156 * sem_res.adb (Resolve_Op_Concat_Arg): Do not issue a SPARK
6157 violation when the argument of concatenation is the name of a
6158 constant.
92e77027 6159
ab29a348
EB
61602011-08-03 Emmanuel Briot <briot@adacore.com>
6161
6162 * prj-proc.adb, prj-ext.adb, prj-ext.ads, prj-env.adb, prj-env.ads,
6163 prj-tree.adb, prj-tree.ads (Initialize_And_Copy, Copy): new subprograms
6164 (Process_Declarative_Items): new parameter Child_Env.
6165
9466892f
AC
61662011-08-03 Yannick Moy <moy@adacore.com>
6167
589ef536
GP
6168 * alfa.ads: Update format of ALFA section in ALI file in order to
6169 add a mapping from bodies to specs when both are present.
6170 (ALFA_Scope_Record): Add components for spec file/scope.
6171 * get_alfa.adb (Get_ALFA): Read the new file/scope for spec when
6172 present.
6173 * lib-xref-alfa.adb (Collect_ALFA): After all scopes have been
6174 collected, fill in the spec information when relevant.
6175 * put_alfa.adb (Put_ALFA): Write the new file/scope for spec when
9466892f
AC
6176 present.
6177
61782011-08-03 Eric Botcazou <ebotcazou@adacore.com>
6179
6180 * inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing
6181 code unit to decide whether to add internally generated subprograms.
2c7f9cc0 6182
9466892f
AC
61832011-08-03 Javier Miranda <miranda@adacore.com>
6184
6185 * sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram.
589ef536
GP
6186 * exp_ch9.adb (Build_Simple_Entry_Call): Handle actuals that must
6187 be handled by copy in VM targets.
9466892f
AC
6188
61892011-08-03 Emmanuel Briot <briot@adacore.com>
6190
589ef536 6191 * make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): Share
9466892f
AC
6192 code with Makeutl.Get_Switches.
6193 * prj-tree.adb: Update comment.
6194
b5ea9143
AC
61952011-08-03 Thomas Quinot <quinot@adacore.com>
6196
6197 * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Reject a remote
6198 subprogram with a limited formal that does not support external
6199 streaming.
6200
62012011-08-03 Yannick Moy <moy@adacore.com>
6202
6203 * get_alfa.adb (Get_ALFA): add missing Skip_Spaces at start of
6204 continuation line
6205 * lib-xref-alfa.adb (Add_ALFA_File): split removal of scopes that are
6206 not from current unit in two phases, because it is not possible to
6207 change the table while iterating over its content.
6208 * put_alfa.adb (Put_ALFA): reset current file/scope at each new entity
6209
62102011-08-03 Sergey Rybin <rybin@adacore.com>
6211
6212 * vms_data.ads: Add qualifier for gnatmetric --no-static-loop option
6213 * gnat_ugn.texi: Update description of complexity metrics (gnatmetric)
6214
668a19bc
ES
62152011-08-03 Ed Schonberg <schonberg@adacore.com>
6216
6217 * sem_res.adb (Resolve_Op_Concat_Arg): if the argument is an aggregate
6218 and the component type is composite, this is ambiguous for predefined
6219 concatenation, but if the node is not overloaded and the entity is a use
6220 -defined function its profile can be used to resolve that aggregate.
6221
170b2989
AC
62222011-08-03 Robert Dewar <dewar@adacore.com>
6223
6224 * exp_ch4.adb: Minor code cleanup.
6225
62262011-08-03 Thomas Quinot <quinot@adacore.com>
6227
6228 * exp_dist.adb: Do not generate distribution stubs if serious errors
6229 have been diagnosed.
6230
62312011-08-03 Ed Schonberg <schonberg@adacore.com>
6232
6233 * sem_ch4.adb (Try_Primitive_Operation): when checking the validity of
6234 the first formal of a primitive operation, go to the base type to
6235 handle properly an access to a derived type with constrained
6236 discriminants.
6237 * sem_type.adb (Disambiguate): an immediately visible operator hides a
6238 user-defined function that is only use-visible.
170b2989 6239
e917aec2
RD
62402011-08-03 Robert Dewar <dewar@adacore.com>
6241
6242 * sem_aggr.adb, sem_ch3.adb, lib.ads, gnatcmd.adb, prj-proc.adb,
6243 make.adb, lib-writ.adb, prj-part.adb, prj-part.ads, prj-ext.adb,
6244 fname-uf.adb, prj-ext.ads, prj.adb, prj.ads, sem_attr.adb, alfa.adb,
6245 prj-makr.adb, errout.adb, makeutl.adb, makeutl.ads, restrict.ads,
6246 sem_ch6.adb, g-pehage.adb, clean.adb, put_alfa.adb, lib-xref-alfa.adb,
6247 prj-nmsc.adb, prj-nmsc.ads, sem_ch8.adb, prj-pars.ads, exp_aggr.adb,
6248 prj-attr.ads, sem_ch13.adb, get_alfa.adb, prj-env.adb, prj-env.ads,
6249 alfa_test.adb, prj-tree.adb, prj-tree.ads, einfo.ads: Minor reformatting
6250
62512011-08-03 Robert Dewar <dewar@adacore.com>
6252
6253 * repinfo.adb (List_Mechanism): Add handling of
6254 Convention_Ada_Pass_By_XXX.
6255 * sem_mech.adb (Set_Mechanism): Ditto.
6256 * sem_prag.adb (Process_Convention): Add entries for
6257 Convention_Ada_Pass_By_XXX.
6258 * snames.adb-tmpl, snames.ads-tmpl: Ditto.
6259
49bfcf43
AC
62602011-08-03 Pascal Obry <obry@adacore.com>
6261
6262 * makeutl.adb: Minor reformatting.
6263
62642011-08-03 Vincent Celier <celier@adacore.com>
6265
6266 * fname-uf.adb
6267 (Get_File_Name) If the file cannot be found when there are no config
6268 pragmas file and May_Fail is True, return No_File instead of the file
6269 name, to be consistent.
6270
62712011-08-03 Pascal Obry <obry@adacore.com>
6272
6273 * adaint.c (__gnat_is_executable_file_attr): Avoid access
6274 to null pointer.
6275
62762011-08-03 Javier Miranda <miranda@adacore.com>
6277
6278 * sem_ch13.adb
6279 (Same_Representation): In VM targets the representation of arrays with
6280 aliased components differs from arrays with non-aliased components.
6281
34798441
EB
62822011-08-03 Emmanuel Briot <briot@adacore.com>
6283
6284 * prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do
6285 not systematically lower case attribute indexes that contain no "."
6286 Fix definition of several Naming attributes, which take
6287 a unit name as index and therefore should be case insensitive.
6288 Minor refactoring (reduce length of variable names).
6289
62902011-08-03 Emmanuel Briot <briot@adacore.com>
6291
6292 * makeutl.adb, makeutl.ads (Get_Switches): new subprogram.
6293
4437a530
EB
62942011-08-03 Emmanuel Briot <briot@adacore.com>
6295
6296 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
6297 prj-part.ads, switch-m.adb, switch-m.ads, prj-makr.adb, clean.adb,
6298 prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
6299 prj-tree.ads (Prj.Tree.Environment): new type.
6300
804fe3c4
EB
63012011-08-03 Emmanuel Briot <briot@adacore.com>
6302
6303 * prj-proc.adb, prj.ads, makeutl.adb, makeutl.ads, prj-conf.adb,
6304 prj-tree.adb, prj-tree.ads (Environment): new type.
6305
c565bc66
AC
63062011-08-03 Emmanuel Briot <briot@adacore.com>
6307
6308 * prj-tree.ads: Remove unused variable.
6309
63102011-08-03 Yannick Moy <moy@adacore.com>
6311
6312 * restrict.adb (Restriction_Msg): set "SPARK" all in upper case for
6313 issuing messages related to SPARK restriction violation.
6314
4ee646da
AC
63152011-08-03 Ed Schonberg <schonberg@adacore.com>
6316
6317 * sem_ch6.adb: guard against error nodes in return statements.
6318
63192011-08-03 Arnaud Charlet <charlet@adacore.com>
6320
6321 * errout.adb (Error_Msg_Internal): the main unit has not been read yet,
6322 a warning can only appear on a configuration file, so emit warning
6323 without further checks.
6324
63252011-08-03 Arnaud Charlet <charlet@adacore.com>
6326
6327 * s-interr.ads: add overriding keyword.
6328
63292011-08-03 Geert Bosch <bosch@adacore.com>
6330
6331 * exp_attr.adb: Fix minor typo.
6332
63332011-08-03 Ed Schonberg <schonberg@adacore.com>
6334
6335 * par-ch4.adb: improve error recovery.
6336
c0e538ad
AC
63372011-08-03 Emmanuel Briot <briot@adacore.com>
6338
6339 * prj-part.adb, prj-part.ads, prj-makr.adb, prj-pars.adb, prj-conf.adb,
6340 prj-env.adb (Prj.Part.Parse): change parameter Always_Errout_Finalize
6341 to Errout_Handling.
6342
63432011-08-03 Emmanuel Briot <briot@adacore.com>
6344
6345 * prj-dect.adb (Parse_Attribute_Declaration): make sure we can use
6346 "external" as an attribute name in aggregate projects.
6347
63482011-08-03 Jose Ruiz <ruiz@adacore.com>
6349
6350 * s-taprop-vxworks.adb: (Create_Task, Initialize): Ada 2012 pragma CPU
6351 uses CPU numbers starting 1, while VxWorks uses CPU numbers starting
6352 from 0, so we need to adjust.
6353
63542011-08-03 Emmanuel Briot <briot@adacore.com>
6355
6356 * prj-proc.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, prj-tree.adb,
6357 prj-tree.ads, gnatcmd.adb, clean.adb (External_References): new type.
6358
c4d67e2d
AC
63592011-08-03 Yannick Moy <moy@adacore.com>
6360
6361 * sem_ch6.adb (New_Overloaded_Entity): only issue error for SPARK
6362 restriction on overloaded entity if the entity is not an operator.
6363
63642011-08-03 Yannick Moy <moy@adacore.com>
6365
6366 * sem_ch7.adb, sem_res.adb, sem_attr.adb, restrict.adb,
6367 restrict.ads: Rename remaining Check_Formal_Restriction* into
6368 Check_SPARK_Restriction*.
6369
63702011-08-03 Emmanuel Briot <briot@adacore.com>
6371
6372 * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
6373 prj-nmsc.ads, prj-err.adb (Project_Data): now discriminated on its
6374 qualifier.
6375 (Project_Empty): removed
6376 (Empty_Project): new parameter Qualifier
6377 This is used to have fields specific to aggregate projects, cleaner
6378 New field to store the list of aggregated projects.
6379 (Check_Aggregate_Project): removed
6380 (Process_Aggregated_Projects, Free): new subprograms.
6381
3f5a8fee
AC
63822011-08-03 Olivier Hainque <hainque@adacore.com>
6383
6384 * tracebak.c (STOP_FRAME ppc AIX): Stop at null return address as well.
6385
63862011-08-03 Ed Schonberg <schonberg@adacore.com>
6387
6388 * sem_ch8.adb (Analyze_Object_Renaming): if the renamed object is an
6389 explicit dereference of an unconstrained type, create a constrained
6390 subtype for it, as is done for function calls that return an
6391 unconstrained type.
6392
63932011-08-03 Thomas Quinot <quinot@adacore.com>
6394
6395 * g-pehage.adb (Finalize): Avoid possible double-free.
6396
63972011-08-03 Steve Baird <baird@adacore.com>
6398
6399 * exp_attr.adb (Expand_N_Attribute_Reference): Don't expand
6400 Elab_Spec/Body attrs in CodePeer_Mode.
6401
64022011-08-03 Javier Miranda <miranda@adacore.com>
6403
6404 * exp_aggr.adb (Flatten): Convert to positional form aggregates whose
6405 low bound is not known at compile time but they have no others choice.
6406 Done because in this case the bounds can be obtained directly from the
6407 aggregate.
6408
64092011-08-03 Ed Falis <falis@adacore.com>
6410
6411 * s-tasinf-vxworks.ads: Update comment to reflect 0 indexing of CPUs
6412 on VxWorks SMP. Remove unusable constant ANY_CPU.
6413
a96ca600
EB
64142011-08-03 Emmanuel Briot <briot@adacore.com>
6415
6416 * gnatcmd.adb, make.adb, prj-part.adb, prj-part.ads, prj-makr.adb,
6417 clean.adb, prj-nmsc.adb, prj-pars.adb, prj-conf.adb, prj-env.adb,
6418 prj-env.ads (Prj.Env.Initialize_Default_Project_Path,
6419 Prj.Env.Initialize_Empty): new subprograms
6420 (Get_Env, Find_Project): remove parameter Target_Name.
6421
3e582869
AC
64222011-08-03 Gary Dismukes <dismukes@adacore.com>
6423
6424 * sem_ch3.adb (Build_Derived_Record_Type): Test the Derive_Subps formal
6425 as a condition for the delayed call to Derived_Subprograms done for the
6426 case of the rewriting of a derived type that constrains the
6427 discriminants of its parent type.
6428 Avoids redundant subprogram derivations for private subtype derivations.
6429
64302011-08-03 Javier Miranda <miranda@adacore.com>
6431
6432 * exp_aggr.adb (Init_Hidden_Discriminants): New subprogram of
6433 Build_Record_Aggr_Code.
6434 (Build_Record_Aggr_Code): Add missing support to initialize hidden
6435 discriminants in extension aggregates.
6436
64372011-08-03 Emmanuel Briot <briot@adacore.com>
6438
6439 * prj-pp.adb (Print): also output project qualifiers, since in
6440 particular "aggregate" is mandatory in an aggregate project.
6441
64422011-08-03 Emmanuel Briot <briot@adacore.com>
6443
6444 * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb:
6445 (Debug_Output): new function.
6446
56e94186
AC
64472011-08-03 Eric Botcazou <ebotcazou@adacore.com>
6448
6449 * gnat_ugn.texi: Document -Wstack-usage.
6450 * gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes.
6451
64522011-08-03 Thomas Quinot <quinot@adacore.com>
6453
6454 * sem_prag.adb Issue an error (not a warning) when a C++ type does not
6455 have keyword LIMITED.
6456
64572011-08-03 Yannick Moy <moy@adacore.com>
6458
6459 * alfa.adb, alfa.ads, alfa_test.adb: New files.
6460 * ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA)
6461 (Scan_ALI): do not issue a fatal error if parsing known lines after Xref
6462 section (does not happen in compiler, only if code directly calls
6463 Scan_ALI).
6464 * get_alfa.adb, get_alfa.ads: New files.
6465 * lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if
6466 needed.
6467 * lib-xref-alfa.adb: New file.
6468 * lib-xref.adb, lib-xref.ads
6469 (Xref_Entry): redefine information needed in cross-references for ALFA.
6470 Push ALFA treatments in separated local package.
6471 (Enclosing_Subpragram_Or_Package): treat specially subprogram
6472 identifiers. Return entity of package body instead of spec. Return
6473 Empty for a scope with no location.
6474 (Generate_Reference): adapt to new components for ALFA information.
6475 Remove the need for D references on definitions.
6476 (Is_Local_Reference): moved to ALFA local package
6477 (Output_References): extract subfunction as Extract_Source_Name
6478 (Output_Local_References): remove procedure, replaced by filtering of
6479 cross-references in package ALFA and printing in Put_ALFA.
6480 (Write_Entity_Name): remove procedure
6481 * lib.adb, lib.ads (Extract_Source_Name): extract here function to
6482 print exact name of entity as it appears in source file
6483 (Unit_Ref_Table): make type public for use in Lib.Xref.ALFA
6484 * put_alfa.adb, put_alfa.ads: New files.
6485 * xref_lib.adb (Search_Xref): protect read of cross-references against
6486 reading other sections of the ALI file, in gnatxref
6487 (Search): protect read of cross-references against reading other
6488 sections of the ALI file, in gnatfind.
6489 * gcc-interface/Make-lang.in: Update dependencies.
6490
64912011-08-03 Thomas Quinot <quinot@adacore.com>
6492
6493 * sem_ch3.adb: Minor reformatting.
6494
64952011-08-03 Jose Ruiz <ruiz@adacore.com>
6496
6497 * s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of
6498 raising an exception.
6499
65002011-08-03 Ed Schonberg <schonberg@adacore.com>
6501
6502 * sem_res.adb (Set_String_Literal_Subtype): if index type is an integer
6503 type, always use 1 as the lower bound or string, even if lower bound of
6504 context is not static, to handle properly null strings in a non-static
6505 context.
6506
65072011-08-03 Bob Duff <duff@adacore.com>
6508
6509 * sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is
6510 always legal on the right-hand side of an assignment statement; there
6511 is always an applicable index constraint in this case. Therefore, the
6512 check for Pkind = N_Assignment_Statement is now unconditional -- it
6513 doesn't depend on whether Is_Constrained (Typ).
6514
4317e442
AC
65152011-08-03 Robert Dewar <dewar@adacore.com>
6516
6517 * exp_ch5.adb, sem_prag.adb, exp_ch4.adb: Minor reformatting.
6518
65192011-08-03 Ed Schonberg <schonberg@adacore.com>
6520
6521 * sem_ch3.adb (Build_Itype_Reference): do not create an itype reference
6522 for an itype created within a generic unit.
6523
65242011-08-03 Eric Botcazou <ebotcazou@adacore.com>
6525
6526 * gnat_ugn.texi (Switches for gcc): Make it clearer that -fno-inline
6527 suppresses all inlining.
6528
53f29d4f
AC
65292011-08-03 Robert Dewar <dewar@adacore.com>
6530
6531 * sem_ch3.adb, sem_res.adb, exp_ch13.adb, exp_disp.adb,
6532 exp_aggr.adb: Minor reformatting.
6533
65342011-08-03 Thomas Quinot <quinot@adacore.com>
6535
6536 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not force inlining of
6537 tagged assignment when discriminant checks are suppressed. This is
6538 useless and extremely costly in terms of static stack usage.
6539
65402011-08-03 Bob Duff <duff@adacore.com>
6541
6542 * sem_prag.adb (Get_Base_Subprogram): Do not follow Alias for instances
6543 of generics, because this leads to the wrong entity in the wrong scope,
6544 causing (e.g.) pragma Export_Procedure to get an error if the entity is
6545 an instance.
6546 (Process_Interface_Name): Follow Alias for instances of generics, to
6547 correct for the above change.
6548
65492011-08-03 Ed Schonberg <schonberg@adacore.com>
6550
6551 * exp_ch4.adb (Expand_N_Selected_Component): If the discriminant value
6552 is an integer literal it is always safe to replace the reference. In
6553 addition, if the reference appears in the generated code for an object
6554 declaration it is necessary to copy because otherwise the reference
6555 might be to the uninitilized value of the discriminant of the object
6556 itself.
6557
65582011-08-03 Pascal Obry <obry@adacore.com>
6559
6560 * adaint.c (__gnat_is_executable_file_attr): Fix Win32 circuitry when no
6561 ACL used, in this case we want to check for ending .exe, not .exe
6562 anywhere in the path.
6563
65642011-08-03 Sergey Rybin <rybin@adacore.com>
6565
6566 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
6567 the tree structure (semantic decoration of references to record
6568 discriminants).
6569
c0b11850
AC
65702011-08-03 Gary Dismukes <dismukes@adacore.com>
6571
6572 * sem_aggr.adb (Analyze_Array_Aggregate): When checking the discrete
6573 choices of a named array aggregate, bail out when any choices are
6574 marked as Errors_Posted.
6575
65762011-08-03 Ed Schonberg <schonberg@adacore.com>
6577
6578 * exp_ch13.adb (Expand_N_Freeze_Entity): cleanup determination of scope
6579 in which entity is frozen, to handle properly loop variables in
6580 iterators.
6581
65822011-08-03 Ed Schonberg <schonberg@adacore.com>
6583
6584 * sem_res.adb (Set_String_Literal_Subtype): if the lower bound of the
6585 subtype is not static, compute the upper bound using attributes, to
6586 handle properly index types that are not integer types.
6587
65882011-08-03 Bob Duff <duff@adacore.com>
6589
6590 * gnat_rm.texi, gnat_ugn.texi: Fix some dangling URLs.
6591 Update copyright notice.
6592
65932011-08-03 Ed Schonberg <schonberg@adacore.com>
6594
6595 * sem_ch3.adb (Build_Discriminant_Constraints): Only use
6596 Original_Discriminant if within an instance.
6597 * sem_ch4.adb (Analyze_Selected_Component): Ditto.
6598
65992011-08-03 Thomas Quinot <quinot@adacore.com>
6600
6601 * einfo.ads: Minor reformatting.
6602
66032011-08-03 Ed Schonberg <schonberg@adacore.com>
6604
6605 * exp_disp.adb (Check_Premature_Freezing): diagnose the presence of a
6606 composite type with an unfrozen subcomponent, in the profile of a
6607 primitive operation.
6608
5c34e9cd
AC
66092011-08-03 Robert Dewar <dewar@adacore.com>
6610
6611 * sem_util.ads, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
6612
66132011-08-03 Ed Schonberg <schonberg@adacore.com>
6614
6615 * sem_ch3.adb (Analyze_Object_Declaration): if a constant object of an
6616 unconstrained type with discriminants is initialized with an aggregate,
6617 use the constrained subtype of the aggregate as the type of the object,
6618 because it is immutable, and this allows the back-end to generate no
6619 code for the object declaration.
6620
abcd9db2
AC
66212011-08-03 Robert Dewar <dewar@adacore.com>
6622
6623 * exp_ch4.adb (Optimize_Length_Check): Fix bad handling of case where
6624 comparison operand is variable, and turns out to be zero or negative.
6625
66262011-08-03 Javier Miranda <miranda@adacore.com>
6627
6628 * exp_intr.adb
6629 (Expand_Dispatching_Constructor_Call): Disable expansion of
6630 code required for native targets. Done to avoid generating
6631 references to unavailable runtime entities in VM targets.
6632 * exp_ch3.adb
6633 (Expand_N_Object_Declaration): Add missing support to handle
6634 the explicit initialization of class-wide interface objects.
6635 Fix documentation.
6636
66372011-08-03 Matthew Heaney <heaney@adacore.com>
6638
6639 * a-cobove.adb (Merge): Move source onto target, instead of using Assign
6640
66412011-08-03 Matthew Heaney <heaney@adacore.com>
6642
6643 * a-cbdlli.adb (Splice): move source items from first to last
6644
66452011-08-03 Yannick Moy <moy@adacore.com>
6646
6647 * sem_util.ads: comment added.
6648
66492011-08-03 Javier Miranda <miranda@adacore.com>
6650
6651 * exp_aggr.adb
6652 (Expand_Record_Aggregate): In VM targets disable the expansion into
6653 assignments of aggregates whose type is not known at compile time.
6654
b474d6c3
ES
66552011-08-03 Ed Schonberg <schonberg@adacore.com>
6656
6657 * exp_ch9.adb (Build_Renamed_Formal_Declaration): common procedure for
6658 protected entries and task entries, to build the proper renaming
6659 declaration for entry formals, used in debugging.
6660 * exp_ch2.adb (Expand_Entry_Parameter): handle task and entry
6661 parameters in the same way.
6662
0580d807
AC
66632011-08-02 Robert Dewar <dewar@adacore.com>
6664
6665 * a-direct.adb, sinfo.ads, exp_ch9.adb, scng.adb, sem_util.adb,
6666 sem_util.ads, restrict.ads, par-prag.adb: Minor reformatting and/or
6667 code reorganization.
6668
66692011-08-02 Robert Dewar <dewar@adacore.com>
6670
6671 * debug.adb: Debug flag d.P to suppress length comparison optimization
6672 * exp_ch4.adb (Optimize_Length_Comparison): New routine to optimize
6673 comparison of Length by comparing First/Last instead.
6674
66752011-08-02 Matthew Heaney <heaney@adacore.com>
6676
6677 * a-cobove.ads: Code clean up.
6678
b191a125
AC
66792011-08-02 Vincent Celier <celier@adacore.com>
6680
6681 * adaint.c (file_names_case_sensitive_cache): New static int.
6682 (__gnat_get_file_names_case_sensitive): Cache the return value in
6683 file_names_case_sensitive_cache at the first invocation, to avoid
6684 multiple calls to getenv.
6685
66862011-08-02 Bob Duff <duff@adacore.com>
6687
6688 * sem_ch12.adb (Validate_Derived_Type_Instance): Implement AI05-0218-1.
6689
316a0661
AC
66902011-08-02 Yannick Moy <moy@adacore.com>
6691
6692 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads,
6693 sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb,
6694 sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to
6695 indicate that we are in a precondition or postcondition. This is used in
6696 Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to
6697 decide whether to flag the spec or body of the current subprogram as
6698 not in ALFA.
6699
67002011-08-02 Fabien Chouteau <chouteau@adacore.com>
6701
6702 * impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package
6703 list.
6704 * a-extiin.ads: New file.
6705
67062011-08-02 Bob Duff <duff@adacore.com>
6707
6708 * a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename
6709 now raises Name_Error instead of Use_Error in certain cases. The other
6710 parts of this AI were already implemented properly.
6711
f9adb9d4
AC
67122011-08-02 Vincent Celier <celier@adacore.com>
6713
6714 * link.c: Only import "auto-host.h" when building the gnattools.
6715
67162011-08-02 Yannick Moy <moy@adacore.com>
6717
6718 * sem_util.adb: Inter-unit inlining does not work for a subprogram
6719 which calls a local subprogram, so extract subprogram
6720 from Mark_Non_ALFA_Subprogram_Body.
6721
67222011-08-02 Javier Miranda <miranda@adacore.com>
6723
6724 * exp_ch9.adb
6725 (Extract_Dispatching_Call): If the type of the dispatching object is an
6726 access type then return an explicit dereference in the Object out-mode
6727 parameter.
6728
67292011-08-02 Gary Dismukes <dismukes@adacore.com>
6730
6731 * sem_ch3.adb (Analyze_Subtype_Declaration): Generate range
6732 compatibility checks for all indexes of an array subtype, not just the
6733 first. Reset Has_Dynamic_Range_Check on the subtype before each
6734 potential check to ensure that Insert_Range_Checks will not elide any
6735 of the dynamic checks.
6736
67372011-08-02 Yannick Moy <moy@adacore.com>
6738
6739 * par-prag.ad (Process_Restrictions_Or_Restriction_Warnings): recognize
6740 SPARK restriction at parsing time.
6741 * scng.adb (Scan): Generate a token Tok_SPARK_Hide for a SPARK HIDE
6742 directive only if the SPARK restriction is set for this unit.
6743
83f33150
YM
67442011-08-02 Yannick Moy <moy@adacore.com>
6745
6746 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads,
6747 sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb,
6748 sem_ch11.adb: Protect call to Current_Subprogram which might be costly
6749 when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into
6750 Mark_Non_ALFA_Subprogram_Body.
6751 Split body of Mark_Non_ALFA_Subprogram_Body to get body small and
6752 inlined.
6753
7b98672f
YM
67542011-08-02 Yannick Moy <moy@adacore.com>
6755
6756 * sem_res.adb: Protect calls to Matching_Static_Array_Bounds which
6757 might be costly.
6758
052e0603
AC
67592011-08-02 Robert Dewar <dewar@adacore.com>
6760
6761 * exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
6762 exp_ch3.adb: Minor reformatting.
6763
67642011-08-02 Emmanuel Briot <briot@adacore.com>
6765
6766 * adaint.c (__gnat_locate_exec_on_path): only returns executable
6767 files, not any regular file.
6768 (__gnat_locate_file_with_predicate): new subprogram.
6769
67702011-08-02 Yannick Moy <moy@adacore.com>
6771
6772 * sinfo.adb, sinfo.ads: Restrict the use of flags
6773 Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
6774 nodes, plus N_Subtype_Declaration for the 2nd one.
6775
4fbad0ba
AC
67762011-08-02 Sergey Rybin <rybin@adacore.com>
6777
6778 * gnat_rm.texi: Ramification of pragma Eliminate documentation
6779 - fix bugs in the description of Source_Trace;
6780 - get rid of UNIT_NAME;
6781
052e0603
AC
67822011-08-02 Javier Miranda <miranda@adacore.com>
6783
6784 * exp_ch9.adb
6785 (Build_Dispatching_Requeue): Adding support for VM targets
6786 since we cannot directly reference the Tag entity.
6787 * exp_sel.adb (Build_K): Adding support for VM targets.
6788 (Build_S_Assignment): Adding support for VM targets.
6789 * exp_disp.adb
6790 (Default_Prim_Op_Position): In VM targets do not restrict availability
6791 of predefined interface primitives to compiling in Ada 2005 mode.
6792 (Is_Predefined_Interface_Primitive): In VM targets this service is not
6793 restricted to compiling in Ada 2005 mode.
6794 (Make_VM_TSD): Generate code that declares and initializes the OSD
6795 record. Needed to support dispatching calls through synchronized
6796 interfaces.
6797 * exp_ch3.adb
6798 (Make_Predefined_Primitive_Specs): Enable generation of predefined
6799 primitives associated with synchronized interfaces.
6800 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
6801 primitives associated with synchronized interfaces.
6802
68032011-08-02 Yannick Moy <moy@adacore.com>
6804
6805 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
6806 statements hidden in SPARK if preceded by the HIDE directive
6807 (Parse_Exception_Handlers): mark each exception handler in a sequence of
6808 exception handlers as hidden in SPARK if preceded by the HIDE directive
6809 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
6810 if starting with the HIDE directive
6811 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
6812 starting with the HIDE directive; mark the declarations in a private
6813 part as hidden in SPARK if the private part starts with the HIDE
6814 directive
6815 * restrict.adb, restrict.ads
6816 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
6817 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
6818 argument node belongs to a part which is hidden in SPARK
6819 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
6820 parts in SPARK; protect the possibly costly call to
6821 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
6822 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
6823 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
6824 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
6825 Tok_SPARK_Hide.
6826 (Scan): recognize special comment starting with '#' and followed by
6827 SPARK keyword "hide" as a HIDE directive.
6828
68292011-08-02 Yannick Moy <moy@adacore.com>
6830
6831 * types.ads, erroutc.ads: Minor reformatting.
6832
68332011-08-02 Vincent Celier <celier@adacore.com>
6834
6835 * link.c: Add response file support for cross platforms.
6836
68372011-08-02 Ed Schonberg <schonberg@adacore.com>
6838
6839 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
6840 in an association, set parent field of copy before partial analysis.
6841 * sem_res.adb (Resolve_Slice): create reference to itype only when
6842 expansion is enabled.
6843
68442011-08-02 Yannick Moy <moy@adacore.com>
6845
6846 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
6847 for new flag denoting which subprogram bodies are in ALFA
6848 * restrict.adb, sem_ch7.adb: Update comment
6849 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
6850 sem_ch9.adb, sem_res.adb: Add calls to
6851 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
6852 * sem_ch6.adb (Analyze_Function_Return): add calls to
6853 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
6854 middle of the body, and extended return.
6855 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
6856 False when missing return.
6857 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
6858 to True for subprograms whose spec is in ALFA. Remove later on the flag
6859 on the entity used for a subprogram body when there exists a separate
6860 declaration.
6861 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
6862 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
6863 False, otherwise do nothing.
6864
68652011-08-02 Robert Dewar <dewar@adacore.com>
6866
6867 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
6868
68692011-08-02 Yannick Moy <moy@adacore.com>
6870
6871 * sem_ch4.ads: minor formatting.
6872
68732011-08-02 Yannick Moy <moy@adacore.com>
6874
6875 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
6876 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
6877 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
6878 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
6879 opt.ads: cleanup of SPARK mode
6880
68812011-08-02 Yannick Moy <moy@adacore.com>
6882
6883 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
6884 types.
6885 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
6886 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
6887 * sem_ch3.adb
6888 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
6889 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
6890 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
6891 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
6892 types.
6893 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
6894 non-static range.
6895 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
6896 functions whose return type is not in ALFA.
6897 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
6898 specifications.
6899 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
6900 parameter's type is not in ALFA.
6901 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
6902 types are in ALFA.
6903
69042011-08-02 Ed Schonberg <schonberg@adacore.com>
6905
6906 * sem_ch6 (Analyze_Expression_Function): treat the function as
6907 Inline_Always, and introduce a subprogram declaration for it when it is
6908 not a completion.
6909 * inline.adb (Add_Inlined_Body): recognize bodies that come from
6910 expression functions, so that the back-end can determine whether they
6911 can in fact be inlined.
6912 * sem_util.adb (Is_Expression_Function): predicate to determine whether
6913 a function body comes from an expression function.
6914
69152011-08-02 Gary Dismukes <dismukes@adacore.com>
6916
6917 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
6918 null exclusions to test Can_Never_Be_Null on the anonymous access types
6919 of the formals rather than testing the formals themselves. Exclude this
6920 check in cases where the Old_Formal is marked as a controlling formal,
6921 to avoid issuing spurious errors for bodies completing dispatching
6922 operations (due to the flag not getting set on controlling access
6923 formals in body specs).
6924 (Find_Corresponding_Spec): When checking full and subtype conformance of
6925 subprogram bodies in instances, pass Designated and E in that order, for
6926 consistency with the expected order of the formals (New_Id followed by
6927 Old_Id).
6928
69292011-08-02 Robert Dewar <dewar@adacore.com>
6930
6931 * sem_ch8.adb: Minor reformatting.
6932
69332011-08-02 Ed Schonberg <schonberg@adacore.com>
6934
6935 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
6936 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
6937 primitive operations of class-wide actuals.
6938
69392011-08-02 Javier Miranda <miranda@adacore.com>
6940
6941 * exp_atag.ads, exp_atag.adb
6942 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
6943 since its value is implicitly passed in argument Typ.
6944 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
6945 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
6946 Build_Common_Dispatching_Select_Statements.
6947
69482011-08-02 Robert Dewar <dewar@adacore.com>
6949
6950 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
6951 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
6952 Minor reformatting.
6953
69542011-08-02 Robert Dewar <dewar@adacore.com>
6955
6956 * sem_res.adb: Minor reformatting.
6957 * sem_prag.adb: Minor reformatting.
6958
69592011-08-02 Javier Miranda <miranda@adacore.com>
6960
6961 * exp_atag.adb, exp_atags.ads
6962 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
6963 by the tagged type Entity. Required to use this routine in the VM
6964 targets since we do not have available the Tag entity in the VM
6965 platforms.
6966 * exp_ch6.adb
6967 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
6968 Ada.Tags has not been previously loaded.
6969 * exp_ch7.adb
6970 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
6971 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
6972 * sem_aux.adb
6973 (Enclosing_Dynamic_Scope): Add missing support to handle the full
6974 view of enclosing scopes. Required to handle enclosing scopes that
6975 are synchronized types whose full view is a task type.
6976 * exp_disp.adb
6977 (Build_VM_TSDs): Minor code improvement to avoid generating and
6978 analyzing lists with empty nodes.
6979 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
6980 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
6981 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
6982 (Make_Disp_Timed_Select_Body): Add support for VM targets.
6983 (Make_Select_Specific_Data_Table): Add support for VM targets.
6984 (Make_VM_TSD): Generate code to initialize the SSD structure of
6985 the TSD.
6986
69872011-08-02 Yannick Moy <moy@adacore.com>
6988
6989 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
6990 cross-references section in ALI.
6991 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
6992 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
6993 Sub).
6994 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
6995 subprogram or package entity of a node
6996 (Is_Local_Reference_Type): new function returns True for references
6997 selected in local cross-references.
6998 (Lt): function extracted from Lt in Output_References
6999 (Write_Entity_Name): function extracted from Output_References
7000 (Generate_Definition): generate reference with type 'D' for definition
7001 of objects (object declaration and parameter specification), with
7002 appropriate locations and units, for use in local cross-references.
7003 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
7004 references of type 'I' for initialization in object definition.
7005 (Output_References): move part of function Lt and procedure
7006 Write_Entity_Name outside of the body. Ignore references of types 'D'
7007 and 'I' introduced for local cross-references.
7008 (Output_Local_References): new procedure to output the local
7009 cross-references sections.
7010 (Lref_Entity_Status): new array defining whether an entity is a local
7011 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
7012 with 'I' type when initialization expression is present.
7013 * get_scos.adb, get_scos.ads: Correct comments and typos
7014
70152011-08-02 Javier Miranda <miranda@adacore.com>
7016
7017 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
7018 the JVM target.
7019 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
7020 the JVM target.
7021 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
7022 TSD support.
7023
70242011-08-02 Vincent Celier <celier@adacore.com>
7025
7026 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
7027 (No_Space_Img): New function
7028 (Find_Excluded_Sources): When reading from a file, record the file name
7029 and the line number for each excluded source.
7030 (Mark_Excluded_Sources): When reporting an error, if the excluded
7031 sources were read from a file, include file name and line number in
7032 the error message.
7033
70342011-08-02 Ed Schonberg <schonberg@adacore.com>
7035
7036 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
7037
70382011-08-02 Robert Dewar <dewar@adacore.com>
7039
7040 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
7041
70422011-08-02 Javier Miranda <miranda@adacore.com>
7043
7044 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
7045 generation of TSDs to the DOTNET compiler.
7046 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
7047 generation of TSDs to the DOTNET compiler.
7048
70492011-08-02 Javier Miranda <miranda@adacore.com>
7050
7051 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
7052 record of all the tagged types declared inside library level package
7053 declarations, library level package bodies or library level subprograms.
7054 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
7055 associated with a given tagged type.
7056 (Build_VM_TSDs): New subprogram.
7057 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
7058 compilation units that are subprograms.
7059 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
7060 compilation units that are package bodies.
7061 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
7062 units that are a package declaration or a package instantiation.
7063 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
7064 reorganization to improve the error generated by the frontend when the
7065 function Ada.Tags.Secondary_Tag is not available.
7066 * rtsfind.ads (RE_Register_TSD): New runtime entity.
7067 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
7068
70692011-08-02 Javier Miranda <miranda@adacore.com>
7070
7071 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
7072
70732011-08-02 Robert Dewar <dewar@adacore.com>
7074
7075 * s-imenne.ads: Minor reformatting.
7076
70772011-08-02 Robert Dewar <dewar@adacore.com>
7078
7079 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
7080 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
7081 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
7082
70832011-08-02 Robert Dewar <dewar@adacore.com>
7084
7085 * einfo.ads (Materialize_Entity): Document this is only for renamings
7086 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
7087 required debug information in the case where we transform the object
7088 declaration into a renaming declaration.
7089 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
7090 object
7091 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
7092 Materialize_Entity.
7093
70942011-08-02 Robert Dewar <dewar@adacore.com>
7095
7096 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
7097 Suppress_Init_Procs.
7098 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
7099 Suppress_Initialization/Initialization_Suppressed.
7100 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
7101 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
7102 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
7103 * sem_prag.adb: New processing for pragma Suppress_Initialization.
7104
71052011-08-02 Robert Dewar <dewar@adacore.com>
7106
7107 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
7108 Minor reformatting.
7109
71102011-08-02 Ed Schonberg <schonberg@adacore.com>
7111
7112 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
7113 only have inheritable classwide pre/postconditions.
7114
71152011-08-02 Javier Miranda <miranda@adacore.com>
7116
7117 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
7118 * rtsfind.ads (RE_Check_TSD): New runtime entity.
7119 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
7120 checks if the external tag of a type is the same as the external tag
7121 of some other declaration.
7122
71232011-08-02 Thomas Quinot <quinot@adacore.com>
7124
7125 * s-taskin.ads: Minor reformatting.
7126
71272011-08-02 Emmanuel Briot <briot@adacore.com>
7128
7129 * g-comlin.adb (Display_Help): swap the order in which it prints the
7130 short help and the general usage.
7131
71322011-08-02 Ed Schonberg <schonberg@adacore.com>
7133
7134 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
7135 the aspect declarations and attach them to the generic copy for
7136 subsequent analysis.
7137 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
7138 declarations of the generic tree to the new subprogram declarations.
7139 * sem_attr.adb (Check_Precondition_Postcondition): recognize
7140 conditions that apply to a subprogram instance.
7141
71422011-08-02 Robert Dewar <dewar@adacore.com>
7143
7144 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
7145
71462011-08-02 Ed Schonberg <schonberg@adacore.com>
7147
7148 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
7149 private type with a tagged full view is not derived in the immediate
7150 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
7151
71522011-08-02 Robert Dewar <dewar@adacore.com>
7153
7154 * exp_ch4.adb: Minor reformatting.
7155
71562011-08-02 Ed Schonberg <schonberg@adacore.com>
7157
7158 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
7159 Ada2012 iterator, the loop will be rewritten during expansion into a
7160 while loop with a cursor and an element declaration. Do not analyze the
7161 body in this case, because if the container is for indefinite types the
7162 actual subtype of the elements will only be determined when the cursor
7163 declaration is analyzed.
7164
71652011-08-02 Arnaud Charlet <charlet@adacore.com>
7166
7167 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
7168 size/alignment related attributes in CodePeer_Mode.
7169
71702011-08-02 Gary Dismukes <dismukes@adacore.com>
7171
7172 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
7173 Prepend_Element, since this can result in the operation getting the
7174 wrong slot in the full type's dispatch table if the full type has
7175 inherited operations. The incomplete type's operation will get added
7176 to the proper position in the full type's primitives
7177 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
7178 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
7179 dispatching operations, since there are cases where nonprimitive
7180 subprograms can get added to the list of incomplete dependents (such
7181 as subprograms in nested packages).
7182 * sem_ch6.adb (Process_Formals): First, remove test for being in a
7183 private part when determining whether to add a primitive with a
7184 parameter of a tagged incomplete type to the Private_Dependents list.
7185 Such primitives can also occur in the visible part, and should not have
7186 been excluded from being private dependents.
7187 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
7188 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
7189 list of a Taft-amendment incomplete type is a primitive before issuing
7190 an error that the full type must appear in the same unit. There are
7191 cases where nonprimitives can be in the list (such as subprograms in
7192 nested packages).
7193 * sem_disp.adb (Derives_From): Use correct condition for checking that
7194 a formal's type is derived from the type of the corresponding formal in
7195 the parent subprogram (the condition was completely wrong). Add
7196 checking that was missing for controlling result types being derived
7197 from the result type of the parent operation.
7198
71992011-08-02 Yannick Moy <moy@adacore.com>
7200
7201 * errout.adb (First_Node): minor renaming
7202 * restrict.adb (Check_Formal_Restriction): put restriction warning on
7203 first node.
7204
72052011-08-02 Yannick Moy <moy@adacore.com>
7206
7207 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
7208 before accessing operands.
7209 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
7210 decide whether an initialization expression respects SPARK rules, as
7211 the plain node is the expanded one. This allows for more valid warnings
7212 to be issued.
7213 * gnat_rm.texi: Minor update.
7214
72152011-08-02 Arnaud Charlet <charlet@adacore.com>
7216
7217 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
7218 previous change.
7219
72202011-08-02 Robert Dewar <dewar@adacore.com>
7221
7222 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
7223
72242011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
7225
7226 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
7227 loop statements and the element renaming declaration with a block when
7228 the element type is controlled.
7229
72302011-08-02 Yannick Moy <moy@adacore.com>
7231
7232 * sinfo.ads: Minor formatting.
7233
72342011-08-02 Ed Schonberg <schonberg@adacore.com>
7235
7236 * sem_aggr.adb (Add_Association): if the association has a box and no
7237 expression, use the Sloc of the aggregate itself for the new
7238 association.
7239 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
7240 the Original_Node.
7241
72422011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
7243
7244 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
7245 When a container is provided via a function call, generate a renaming
7246 of the function result. This avoids the creation of a transient scope
7247 and the premature finalization of the container.
7248 * exp_ch7.adb (Is_Container_Cursor): Removed.
7249 (Wrap_Transient_Declaration): Remove the supression of the finalization
7250 of the list controller when the declaration denotes a container cursor,
7251 it is not needed.
7252
72532011-08-02 Yannick Moy <moy@adacore.com>
7254
7255 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
7256 node is from source, instead of the original node being from source.
7257 * sem_aggr.adb
7258 (Resolve_Array_Aggregate): refine the check for a static expression, to
7259 recognize also static ranges
7260 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
7261 Array_Type_Declaration): postpone the test for the type being a subtype
7262 mark after the type has been resolved, so that component-selection and
7263 expanded-name are discriminated.
7264 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
7265 to distinguish the case of an iteration scheme, so that an error is
7266 issed on a non-static range in SPARK except in an iteration scheme.
7267 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
7268 In_Iter_Schm = True.
7269 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
7270 user-defined operators so that they are allowed in renaming
7271 * sem_ch8.adb
7272 (Find_Selected_Component): refine the check for prefixing of operators
7273 so that they are allowed in renaming. Move the checks for restrictions
7274 on selector name after analysis discriminated between
7275 component-selection and expanded-name.
7276 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
7277 concatenation argument of string type if it is static.
7278 * sem_util.adb, sem_util.ads
7279 (Check_Later_Vs_Basic_Declarations): add a new function
7280 Is_Later_Declarative_Item to decice which declarations are allowed as
7281 later items, in the two different modes Ada 83 and SPARK. In the SPARK
7282 mode, add that renamings are considered as later items.
7283 (Enclosing_Package): new function to return the enclosing package
7284 (Enter_Name): correct the rule for homonyms in SPARK
7285 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
7286 from source (result of expansion) to avoid issuing wrong warnings.
7287
72882011-08-02 Ed Schonberg <schonberg@adacore.com>
7289
7290 * errout.adb: On anything but an expression First_Node returns its
7291 argument.
7292
72932011-08-02 Pascal Obry <obry@adacore.com>
7294
7295 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
7296
72972011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
7298
7299 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
7300 Set the associated loop as the related expression of internally
7301 generated cursors.
7302 * exp_ch7.adb (Is_Container_Cursor): New routine.
7303 (Wrap_Transient_Declaration): Supress the finalization of the list
7304 controller when the declaration denotes a container cursor.
7305
73062011-08-02 Yannick Moy <moy@adacore.com>
7307
7308 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
7309 command line now.
7310 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
7311 expression is a simple expression. This check cannot be performed in
7312 the semantics, so just drop it.
7313 (P_Index_Or_Discriminant_Constraint): move check that the index or
7314 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
7315 semantics. Other cases were previously checked in the semantics.
7316 * par-ch4.adb (P_Name): move checks that a selector name is not
7317 character literal or an operator symbol to Find_Selected_Component in
7318 the semantics
7319 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
7320 declarations are not placed after later declarations in a separate
7321 procedure in Sem_Util (possibly not the best choice?), to be used both
7322 during parsing, for Ada 83 mode, and during semantic analysis, for
7323 SPARK mode.
7324 * par-endh.adb (Check_End): move check that end label is not missing
7325 to Process_End_Label in the semantics
7326 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
7327 the special case for SPARK restriction
7328 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
7329 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
7330 parameter Force to issue the error message even on internal node (used
7331 for generated end label). Call Check_Restriction to check when an error
7332 must be issued. In SPARK mode, issue an error message even if the
7333 restriction is not set.
7334 (Check_Restriction): new procedure with an additional out parameter to
7335 inform the caller that a message has been issued
7336 * sem_aggr.adb: Minor modification of message
7337 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
7338 instead of issuing an error message directly
7339 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
7340 declarations are not placed after later declarations, by calling
7341 Check_Later_Vs_Basic_Declarations
7342 (Analyze_Subtype_Declaration): move here the check that an index or
7343 discriminant constraint must be a subtype mark. Change the check that
7344 a subtype of String must start at one so that it works on subtype marks.
7345 * sem_ch4.adb (Analyze_Call): move here the check that a named
7346 association cannot follow a positional one in a call
7347 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
7348 instead of issuing an error message directly
7349 * sem_ch8.adb (Find_Selected_Component): move here the check that a
7350 selector name is not a character literal or an operator symbol. Move
7351 here the check that the prefix of an expanded name cannot be a
7352 subprogram or a loop statement.
7353 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
7354 procedure called from parsing and semantics to check that basic
7355 declarations are not placed after later declarations
7356 (Process_End_Label): move here the check that end label is not missing
7357
73582011-08-02 Arnaud Charlet <charlet@adacore.com>
7359
7360 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
7361 representation clause in codepeer mode, since it confuses CodePeer and
7362 does not bring useful info.
7363
73642011-08-02 Ed Falis <falis@adacore.com>
7365
7366 * init.c: initialize fp hw on MILS.
7367
73682011-08-02 Ed Schonberg <schonberg@adacore.com>
7369
7370 * errout.adb (First_Node): for bodies, return the node itself (small
7371 optimization). For other nodes, do not check source_unit if the node
7372 comes from Standard.
7373
73742011-08-02 Robert Dewar <dewar@adacore.com>
7375
7376 * exp_ch3.adb: Minor comment additions.
7377 * sem_ch13.adb: Minor reformatting.
7378
73792011-08-02 Pascal Obry <obry@adacore.com>
7380
7381 * make.adb, makeutl.adb: Removes some superfluous directory separator.
7382
73832011-08-02 Robert Dewar <dewar@adacore.com>
7384
7385 * sem_attr.adb: Minor reformatting.
7386
73872011-08-02 Robert Dewar <dewar@adacore.com>
7388
7389 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
7390 (Has_Default_Component_Value): Removed
7391 * einfo.ads Comment updates
7392 (Has_Default_Aspect): Replaces Has_Default_Value
7393 (Has_Default_Component_Value): Removed
7394 * exp_ch13.adb
7395 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
7396 * exp_ch3.adb
7397 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
7398 (Get_Simple_Init_Val): Handle Default_Value aspect
7399 (Needs_Simple_Initialization): Handle Default_Value aspect
7400 * exp_ch3.ads: Needs_Simple_Initialization
7401 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
7402 * par-prag.adb (Pragma_Default[_Component]Value) Removed
7403 * sem_ch13.adb
7404 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
7405 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
7406 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
7407
74082011-08-02 Ed Schonberg <schonberg@adacore.com>
7409
7410 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
7411 package containing iteration primitives.
7412 exp_ch5.adb (Expand_Iterator_Loop): ditto.
7413
74142011-08-02 Ed Schonberg <schonberg@adacore.com>
7415
7416 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
7417 "of", pre-analyze expression in case it is a function call with
7418 finalization actions that must be placed ahead of the loop.
7419 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
7420 on an Ada2012 iterator, insert them ahead of the rewritten loop.
7421
74222011-08-02 Geert Bosch <bosch@adacore.com>
7423
7424 * cstand.adb (Create_Float_Types): Only consider C's long double for
7425 Long_Long_Float, in addition to double.
7426
74272011-08-02 Robert Dewar <dewar@adacore.com>
7428
7429 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
7430 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
7431 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
7432 Minor reformatting.
7433
74342011-08-02 Ed Schonberg <schonberg@adacore.com>
7435
7436 * sem_attr.adb: handle properly 'Result when it is a prefix of an
7437 indexed component.
7438
74392011-08-02 Javier Miranda <miranda@adacore.com>
7440
7441 * einfo.ads, einfo.adb
7442 (Original_Access_Type): Move this attribute to Node26 since there was
7443 an undocumented use of Node21 in E_Access_Subprogram_Type entities
7444 which causes conflicts and breaks the generation of the .NET compiler.
7445 (Interface_Name): Add missing documentation on JGNAT only uses of
7446 this attribute.
7447
74482011-08-02 Geert Bosch <bosch@adacore.com>
7449
7450 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
7451 (Find_Back_End_Float_Type): Likewise
7452 (Create_Back_End_Float_Types): Likewise
7453 (Create_Float_Types): Likewise
7454 (Register_Float_Type): Likewise
7455 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
7456 Nlist and split out type selection in new local Find_Base_Type function.
7457 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
7458 Nlist
7459 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
7460
74612011-08-02 Robert Dewar <dewar@adacore.com>
7462
7463 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
7464 alpha order).
7465 * opt.ads: Minor comment change.
7466 * sem_ch12.adb: Minor code reorganization.
7467
74682011-08-02 Gary Dismukes <dismukes@adacore.com>
7469
7470 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
7471 subtype's list of rep items to the list on the full subtype in the case
7472 where the lists are the same.
7473
74742011-08-02 Geert Bosch <bosch@adacore.com>
7475
7476 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
7477 using the one from System.Strings, which also deallocates all strings.
7478
74792011-08-02 Geert Bosch <bosch@adacore.com>
7480
7481 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
7482 function.
7483 * gcc-interface/Make-lang.in: Update dependencies.
7484
74852011-08-02 Olivier Hainque <hainque@adacore.com>
7486
7487 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
7488 end_locus.
7489
74902011-08-02 Javier Miranda <miranda@adacore.com>
7491
7492 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
7493 associated with anonymous access to subprograms.
7494
74952011-08-02 Geert Bosch <bosch@adacore.com>
7496
7497 * opt.ads
7498 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
7499 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
7500 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
7501 (Add_Symbol_Definition): Move to switch-c.adb
7502 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
7503 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
7504 (Add_Symbol_Definition): Move to switch-c.adb.
7505 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
7506 * sem_warn.adb
7507 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
7508 Move to warnsw.adb.
7509 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
7510 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
7511 Move to warnsw.adb.
7512 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
7513 (Add_Symbol_Definition): Moved from Prepcomp.
7514 * switch-c.ads: Update copyright notice. Use String_List instead of
7515 Argument_List, removing dependency on System.OS_Lib.
7516
75172011-08-02 Yannick Moy <moy@adacore.com>
7518
7519 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
7520 mode on initialization expression which does not respect SPARK
7521 restrictions.
7522 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
7523 if the tree referenced by its argument represents an initialization
7524 expression in SPARK, suitable for initializing an object in an object
7525 declaration.
7526
75272011-08-02 Javier Miranda <miranda@adacore.com>
7528
7529 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
7530 internally generated access to subprogram with its associated protected
7531 subprogram type.
7532 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
7533
75342011-08-02 Geert Bosch <bosch@adacore.com>
7535
7536 * cstand.adb (Register_Float_Type): Print information about type to
7537 register, if the Debug_Flag_Dot_B is set.
7538 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
7539 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
7540 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
7541 with a requested precision of more than Max_Digits digits and no more
7542 than Max_Base_Digits digits, if a range specification is present and the
7543 Predefined_Float_Types list has a suitable type to derive from.
7544 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
7545 case of type completion with pragma Import
7546 * sem_prag.adb
7547 (Process_Import_Predefined_Type): Processing to complete a type
7548 with pragma Import. Currently supports floating point types only.
7549 (Set_Convention_From_Pragma): Do nothing without underlying type.
7550 (Process_Convention): Guard against absence of underlying type,
7551 which may happen when importing incomplete types.
7552 (Process_Import_Or_Interface): Handle case of importing predefined
7553 types. Tweak error message.
7554
75552011-08-02 Eric Botcazou <ebotcazou@adacore.com>
7556
7557 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
7558 functions to previous change. Reorganize code slightly.
7559
75602011-08-02 Geert Bosch <bosch@adacore.com>
7561
7562 * back_end.ads (Register_Type_Proc): New call back procedure type for
7563 allowing the back end to provide information about available types.
7564 (Register_Back_End_Types): New procedure to register back end types.
7565 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
7566 available types.
7567 * cstand.adb (Back_End_Float_Types): New list for floating point types
7568 supported by the back end.
7569 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
7570 (Copy_Float_Type): New procedure to make new copies of predefined types.
7571 (Register_Float_Type): New call back procedure to populate the BEFT list
7572 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
7573 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
7574 (Create_Float_Types): New procedure to create entities for floating
7575 point types predefined in Standard, and put these and any remaining
7576 BEFTs on the Predefined_Float_Types list.
7577 * stand.ads (Predefined_Float_Types): New list for predefined floating
7578 point types that do not have declarations in package Standard.
7579
75802011-08-02 Eric Botcazou <ebotcazou@adacore.com>
7581
7582 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
7583 entity node for the unit containing the parameter.
7584 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
7585 (Add_Inlined_Subprogram): Likewise.
7586 * gcc-interface/Make-lang.in: Update dependencies.
7587
75882011-08-02 Thomas Quinot <quinot@adacore.com>
7589
7590 * s-stusta.adb (Print): Make sure Pos is always initialized to a
7591 suitable value.
7592
75932011-08-02 Geert Bosch <bosch@adacore.com>
7594
7595 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
7596
75972011-08-02 Eric Botcazou <ebotcazou@adacore.com>
7598
7599 * sem_type.adb (Covers): Move trivial case to the top and reuse the
7600 computed value of Base_Type.
7601
76022011-08-02 Yannick Moy <moy@adacore.com>
7603
7604 * restrict.adb (Check_Restriction): issue an error for any use of
7605 class-wide, even if the No_Dispatch restriction is not set.
7606 * sem_aggr.adb: Correct typos in comments and messages in formal mode
7607 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
7608 when completing a private extension, the type named in the private part
7609 is not the same as that named in the visible part.
7610 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
7611 of an inherited primitive operations of a tagged type or type extension
7612 that returns the tagged type.
7613 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
7614 function which returns True for an implicit operation inherited by the
7615 derived type declaration for the argument type.
7616 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
7617 order.
7618
76192011-08-02 Ed Schonberg <schonberg@adacore.com>
7620
7621 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
7622 Process_Bounds, to perform analysis with expansion of a range or an
7623 expression that is the iteration scheme for a loop.
7624 (Analyze_Iterator_Specification): If domain of iteration is given by a
7625 function call with a controlled result, as is the case if call returns
7626 a predefined container, ensure that finalization actions are properly
7627 generated.
7628 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
7629
76302011-08-02 Javier Miranda <miranda@adacore.com>
7631
7632 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
7633 * gcc-interface/Make-lang.in: Update dependencies.
7634
76352011-08-02 Javier Miranda <miranda@adacore.com>
7636
7637 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
7638 determine if the analysis is performed using N or Original_Node (N).
7639 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
7640 functionality of routine Is_Variable avoids code duplication.
7641 * checks.adb (Determine_Range): Handle temporaries generated by
7642 Remove_Side_Effects.
7643
76442011-08-02 Javier Miranda <miranda@adacore.com>
7645
7646 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
7647 expansion of the condition. Required since the previous analysis was
7648 done with expansion disabled (see Resolve_Quantified_Expression) and
7649 hence checks were not inserted and record comparisons have not been
7650 expanded.
7651
76522011-08-02 Ed Falis <falis@adacore.com>
7653
7654 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
7655 Update header.
7656
76572011-08-02 Bob Duff <duff@adacore.com>
7658
7659 * opt.ads: Minor comment fix.
7660
76612011-08-02 Bob Duff <duff@adacore.com>
7662
7663 * sem_ch12.adb (Analyze_Package_Instantiation,
7664 Analyze_Subprogram_Instantiation): Turn off style checking while
7665 analyzing an instance. Whatever style checks that apply to the generic
7666 unit should apply, so it makes no sense to apply them in an instance.
7667 This was causing trouble when compiling an instance of a runtime
7668 unit that violates the -gnatyO switch.
7669 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
7670 one of the two case statements, causing spurious errors.
7671
76722011-08-02 Robert Dewar <dewar@adacore.com>
7673
7674 * uname.adb: Minor reformatting.
7675 * gnatcmd.adb: Minor reformatting.
7676 * exp_attr.adb: Minor reformatting.
7677
76782011-08-02 Ed Schonberg <schonberg@adacore.com>
7679
7680 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
7681 No_Dispatching_Calls, do not look for the Assign primitive, because
7682 predefined primitives are not created in this case.
7683
76842011-08-02 Bob Duff <duff@adacore.com>
7685
7686 * stylesw.ads: Minor comment fixes.
7687
76882011-08-02 Robert Dewar <dewar@adacore.com>
7689
7690 * freeze.adb (Add_To_Result): New procedure.
7691
76922011-08-02 Jose Ruiz <ruiz@adacore.com>
7693
7694 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
7695 time, if the specific run-time routines for handling streams of strings
7696 are not available, use the default mechanism.
7697
76982011-08-02 Arnaud Charlet <charlet@adacore.com>
7699
7700 * s-regpat.ads: Fix typo.
7701
77022011-08-02 Vincent Celier <celier@adacore.com>
7703
7704 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
7705 not null, call it to create the in memory config project file without
7706 parsing an existing default config project file.
7707
77082011-08-02 Eric Botcazou <ebotcazou@adacore.com>
7709
7710 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
7711
77122011-08-02 Ed Schonberg <schonberg@adacore.com>
7713
7714 * sem_elim.adb: an abstract subprogram does not need an eliminate
7715 pragma for its descendant to be eliminable.
7716
77172011-08-02 Ed Falis <falis@adacore.com>
7718
7719 * init.c: revert to handling before previous checkin for VxWorks
7720 * s-intman-vxworks.adb: delete unnecessary declarations related to
7721 using Ada interrupt facilities for handling signals.
7722 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
7723 * s-intman-vxworks.ads: Import __gnat_install_handler as
7724 Initialize_Interrupts.
7725 * s-taprop-vxworks.adb: Delete Signal_Mask.
7726 (Abort_Handler): change construction of mask to unblock exception
7727 signals.
7728
77292011-08-02 Jerome Guitton <guitton@adacore.com>
7730
7731 * a-except-2005.adb (Raise_From_Signal_Handler): Call
7732 Debug_Raise_Exception before propagation starts.
7733
77342011-08-02 Eric Botcazou <ebotcazou@adacore.com>
7735
7736 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
7737 to Restriction_Check_Required.
7738 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
7739 * sem_res.adb (Resolve_Call): Likewise.
7740 * sem_attr.adb (Check_Stream_Attribute): Likewise.
7741
77422011-08-02 Bob Duff <duff@adacore.com>
7743
7744 * stylesw.ads: Update comment.
7745 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
7746 * errout.ads: Remove obsolete comment.
7747
77482011-08-02 Javier Miranda <miranda@adacore.com>
7749
7750 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
7751 (Set_Is_Safe_To_Reevaluate): new procedure.
7752 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
7753 assignment is allowed on safe-to-reevaluate variables.
7754 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
7755 temporary created to remove side effects in expressions that use
7756 the secondary stack as safe-to-reevaluate.
7757 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
7758 variables that are not true constants.
7759
77602011-08-02 Robert Dewar <dewar@adacore.com>
7761
7762 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
7763 sem_res.adb, sem_ch6.adb: Minor reformatting.
7764
77652011-08-02 Jerome Guitton <guitton@adacore.com>
7766
7767 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
7768
77692011-08-02 Ed Schonberg <schonberg@adacore.com>
7770
7771 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
7772 not set Overridden_Operation if subprogram is an initialization
7773 procedure.
7774
77752011-08-02 Yannick Moy <moy@adacore.com>
7776
7777 * par-ch6.adb: Correct obsolete name in comments
7778 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
7779 which takes two message arguments (existing function takes one), with
7780 second message used for continuation.
7781 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
7782 block statements that originate from a source block statement, not
7783 generated block statements
7784 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
7785 symmetry with procedure case
7786 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
7787 function to issue an error in formal mode if a package specification
7788 contains more than one tagged type or type extension.
7789 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
7790 parameters matching formals of tagged types are objects (or ancestor
7791 type conversions of objects), not general expressions. Issue an error
7792 on view conversions that are not involving ancestor conversion of an
7793 extended type.
7794 (Resolve_Type_Conversion): in formal mode, issue an error on the
7795 operand of an ancestor type conversion which is not an object
7796 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
7797 procedure so that it works also for actuals of function calls
7798 (Is_Actual_Tagged_Parameter): new function which determines if its
7799 argument is an actual parameter of a formal of tagged type in a
7800 subprogram call
7801 (Is_SPARK_Object_Reference): new function which determines if the tree
7802 referenced by its argument represents an object in SPARK
7803
78042011-08-02 Robert Dewar <dewar@adacore.com>
7805
7806 * sem_ch3.adb: Minor reformatting
7807 Minor comment addition
7808 Minor error msg text change
7809
78102011-08-02 Javier Miranda <miranda@adacore.com>
7811
7812 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
7813 function. Used to be more precise when we generate a variable plus one
7814 assignment to remove side effects in the evaluation of the Bound
7815 expressions.
7816 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
7817 of the bound expression to force its re-analysis and thus expand the
7818 associated transient scope (if required). Code cleanup replacing the
7819 previous code that declared the constant entity by an invocation to
7820 routine Force_Evaluation which centralizes this work in the frontend.
7821
78222011-08-02 Robert Dewar <dewar@adacore.com>
7823
7824 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
7825 (Base_Type): Now uses improved Is_Base_Type function
7826 * einfo.ads (Base_Type): Inline this function
7827
78282011-08-02 Robert Dewar <dewar@adacore.com>
7829
7830 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
7831 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
7832
78332011-08-02 Arnaud Charlet <charlet@adacore.com>
7834
7835 * gcc-interface/Make-lang.in: Update dependencies.
7836 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
7837 targets.
7838
78392011-08-02 Yannick Moy <moy@adacore.com>
7840
7841 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
7842 non-simple expression used in delta constraint
7843 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
7844 index constraint which is not a subtype mark
7845 * par.adb: With and use Restrict
7846 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
7847 mode on component type which is not a subtype mark and default
7848 expression on component
7849 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
7850 of string which does not have a lower index bound equal to 1
7851 (Array_Type_Declaration): issue an error in formal mode on index or
7852 component type which is not a subtype mark, and on aliased keyword on
7853 component
7854 (Derived_Type_Declaration): issue an error in formal mode on interface,
7855 limited or abstract type
7856 (Record_Type_Declaration): issue an error in formal mode on interface
7857 (Record_Type_Definition): issue an error in formal mode on tagged types
7858 and type extensions not declared in the specification of a library unit
7859 package; on null non-tagged record; on variant part
7860
78612011-08-02 Vincent Celier <celier@adacore.com>
7862
7863 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
7864 not declared for qualified library project when Library_Name is not
7865 declared, but Library_Dir is.
7866
78672011-08-02 Robert Dewar <dewar@adacore.com>
7868
7869 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
7870 pragmas (affects aspects [Component_]Default_Value
7871 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
7872 component type for the resolution
7873
78742011-08-02 Eric Botcazou <ebotcazou@adacore.com>
7875
7876 * einfo.adb (Base_Type): Tune implementation for speed.
7877
78782011-08-02 Robert Dewar <dewar@adacore.com>
7879
7880 * freeze.adb: Minor reformatting.
7881
78822011-08-02 Thomas Quinot <quinot@adacore.com>
7883
7884 * scos.ads: Update comments.
7885
78862011-08-02 Ed Schonberg <schonberg@adacore.com>
7887
7888 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
7889 base type, because the parent may be a subtype of a private type whose
7890 convention is established in a private part.
7891
78922011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
7893
7894 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
7895 statement in a block when the expansion of the return expression has
7896 created a finalization chain.
7897 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
7898 with the parent node.
7899 Add N_Extended_Return_Statement to handle the case where a transient
7900 object declaration appears in the Return_Object_Declarations list of
7901 an extended return statement.
7902
79032011-08-02 Matthew Gingell <gingell@adacore.com>
7904
7905 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
7906 unused parameter 'name'.
7907
79082011-08-02 Ed Schonberg <schonberg@adacore.com>
7909
7910 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
7911 inherited operation, check whether its alias, which is the source
7912 operastion that it renames, has been marked eliminated.
7913
79142011-08-02 Javier Miranda <miranda@adacore.com>
7915
7916 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
7917 in-mode parameter whose type is an access type since it can be used to
7918 modify its designated object. Enforce code that handles as safe an
7919 access type that is not access-to-constant but it is the result of a
7920 previous removal of side-effects.
7921 (Remove_Side_Effects): Minor code reorganization of cases which require
7922 no action. Done to incorporate documentation on new cases uncovered
7923 working in this ticket: no action needed if this routine was invoked
7924 too early and the nodes are not yet decorated.
7925 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
7926 to routine Remove_Side_Effects by calls to Force_Evaluation since they
7927 were issued with actuals that are implicitly provided by
7928 Force_Evaluation.
7929
79302011-08-02 Robert Dewar <dewar@adacore.com>
7931
7932 * sem_ch3.adb, sem_res.adb: Minor reformatting.
7933
79342011-08-02 Yannick Moy <moy@adacore.com>
7935
7936 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
7937 to issue an error in formal mode on attribute not supported in this mode
7938 (Analyze_Attribute): issue errors on standard attributes not supported
7939 in formal mode.
7940 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
7941 comment, and issue error in formal mode on modulus which is not a power
7942 of 2.
7943 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
7944 range.
7945 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
7946 subtype mark.
7947 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
7948 operator on modular type (except 'not').
7949
79502011-08-02 Robert Dewar <dewar@adacore.com>
7951
7952 * gnat_rm.texi: Minor reformatting.
7953
79542011-08-02 Arnaud Charlet <charlet@adacore.com>
7955
7956 * s-osinte-linux.ads: Minor comment update and reformatting.
7957 * i-cexten.ads: Make this unit pure, as for its parent.
7958 Will allow its usage in more contexts if needed.
7959
79602011-08-02 Robert Dewar <dewar@adacore.com>
7961
7962 * s-utf_32.ads: Minor comment fix.
7963
79642011-08-02 Ed Schonberg <schonberg@adacore.com>
7965
7966 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
7967 operation of a tagged synchronized type, handle the case where the
7968 controlling argument is overloaded.
7969
79702011-08-02 Yannick Moy <moy@adacore.com>
7971
7972 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
7973 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
7974 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
7975 SPARK mode and formal verification mode on processing SPARK restriction
7976 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
7977 requiring consistency checking.
7978
79792011-08-02 Robert Dewar <dewar@adacore.com>
7980
7981 * sem_res.adb: Minor reformatting.
7982
79832011-08-02 Robert Dewar <dewar@adacore.com>
7984
7985 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
7986 a-cforse.ads: Remove unneeded with of Ada.Containers
7987 Remove commented out pragma Inline's
7988 Move specifications of new subprograms to the actual specs
7989
79902011-08-02 Yannick Moy <moy@adacore.com>
7991
7992 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
7993 a-cforse.ads: Update comments.
7994
79952011-08-02 Ed Schonberg <schonberg@adacore.com>
7996
7997 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
7998
79992011-08-02 Robert Dewar <dewar@adacore.com>
8000
8001 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
8002 a-cforse.ads, a-cofove.ads: Minor reformatting.
8003
80042011-08-02 Claire Dross <dross@adacore.com>
8005
8006 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
8007 a-cofove.ads: Add comments.
8008
80092011-08-02 Yannick Moy <moy@adacore.com>
8010
8011 * gnat_rm.texi: Document formal containers.
8012
80132011-08-02 Emmanuel Briot <briot@adacore.com>
8014
8015 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
8016 are empty sections.
8017
80182011-08-02 Robert Dewar <dewar@adacore.com>
8019
8020 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
8021 reformatting.
8022
80232011-08-02 Robert Dewar <dewar@adacore.com>
8024
8025 * aspects.adb: New aspects Default_Value and Default_Component_Value
8026 New format of Aspect_Names table checks for omitted entries
8027 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
8028 handling of boolean aspects for derived types.
8029 New aspects Default_Value and Default_Component_Value
8030 New format of Aspect_Names table checks for omitted entries
8031 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
8032 (Has_Default_Value): New flag
8033 (Has_Default_Component_Value): New flag
8034 (Has_Default_Value): New flag
8035 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
8036 table.
8037 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
8038 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
8039 Default_Value and Default_Component_Value
8040 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
8041 New aspects Default_Value and Default_Component_Value
8042 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
8043 * sprint.adb: Print N_Aspect_Specification node when called from gdb
8044
80452011-08-02 Vincent Celier <celier@adacore.com>
8046
8047 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
8048 inherit library kind.
8049
80502011-08-02 Ed Schonberg <schonberg@adacore.com>
8051
8052 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
8053 Minor reformatting.
8054
80552011-08-02 Robert Dewar <dewar@adacore.com>
8056
8057 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
8058
80592011-08-02 Yannick Moy <moy@adacore.com>
8060
8061 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
8062
80632011-08-02 Robert Dewar <dewar@adacore.com>
8064
8065 * impunit.adb: Add comment.
8066
80672011-08-02 Yannick Moy <moy@adacore.com>
8068
8069 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
8070 qualification of aggregates in formal mode
8071 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
8072 another aggregate
8073 (Resolve_Aggregate): complete the test that an aggregate is adequately
8074 qualified in formal mode
8075
80762011-08-02 Pascal Obry <obry@adacore.com>
8077
8078 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
8079 * mlib-prj.adb: Supress warning when compiling binder generated file.
8080 (Build_Library): Supress all warnings when compiling the binder
8081 generated file.
8082
80832011-08-02 Yannick Moy <moy@adacore.com>
8084
8085 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
8086 from here...
8087 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
8088 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
8089 Add with/use clauses to make Check_Formal_Restriction visible
8090
80912011-08-02 Ed Schonberg <schonberg@adacore.com>
8092
8093 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
8094 in-parameters when type of the generic formal is private in the generic
8095 spec and non-private in the body.
8096
80972011-08-02 Claire Dross <dross@adacore.com>
8098
8099 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
8100 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
8101 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
8102 * impunit.adb, Makefile.rtl: Take new files into account.
8103
81042011-08-02 Robert Dewar <dewar@adacore.com>
8105
8106 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
8107 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
8108
81092011-08-02 Yannick Moy <moy@adacore.com>
8110
8111 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
8112 formal mode
8113 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
8114 matching static array bounds, taking into account the special case of
8115 string literals
8116 * sem_ch3.adb: Typo in comment.
8117
81182011-08-02 Yannick Moy <moy@adacore.com>
8119
8120 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
8121 which issues an error in formal mode if its argument node is originally
8122 from source
8123 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
8124 has a discriminant specification so that it does not include the case
8125 of derived types
8126 (Derived_Type_Declaration): move here the test that a derived type has a
8127 discriminant specification
8128 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
8129 first element of a component association before accessing its choices
8130 (presence of component association is not enough)
8131 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
8132 declaration is a library item before accessing the next element in a
8133 list, as library items are not member of lists
8134 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
8135 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
8136 Check_Formal_Restriction whenever possible.
8137
81382011-08-02 Ed Schonberg <schonberg@adacore.com>
8139
8140 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
8141 reference when needed.
8142
81432011-08-02 Bob Duff <duff@adacore.com>
8144
8145 * gnat_ugn.texi: Fix typo.
8146
81472011-08-02 Vincent Celier <celier@adacore.com>
8148
8149 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
8150 archive file name. Do not use the full path name of archives for Open
8151 VMS.
8152
81532011-08-02 Robert Dewar <dewar@adacore.com>
8154
8155 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
8156 Analyze_Aspect_Specifications
8157 * sem_ch13.adb
8158 (Analyze_Aspect_Specifications): New handling for boolean aspects
8159 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
8160 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
8161 sequence for Analyze_Aspect_Specifications
8162 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
8163 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
8164
81652011-08-02 Robert Dewar <dewar@adacore.com>
8166
8167 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
8168 aspects, since these no longer exist.
8169
81702011-08-02 Robert Dewar <dewar@adacore.com>
8171
8172 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
8173 semicolon, do not try to see if there are aspects following it.
8174 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
8175 aspect spec.
8176
81772011-08-02 Robert Dewar <dewar@adacore.com>
8178
8179 * sem_ch8.adb, aspects.ads: Minor reformatting.
8180
81812011-08-02 Eric Botcazou <ebotcazou@adacore.com>
8182
8183 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
8184 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
8185 extracted from...
8186 (Analyze_Aspect_Specifications): ...here. Call above procedure.
8187
81882011-08-02 Yannick Moy <moy@adacore.com>
8189
8190 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
8191 mode on subprogram declaration outside of package specification, unless
8192 it is followed by a pragma Import
8193 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
8194 Access_Type_Declaration): issue error in formal mode on access type
8195 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
8196 incomplete type
8197 (Analyze_Object_Declaration): issue error in formal mode on object
8198 declaration which does not respect SPARK restrictions
8199 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
8200 declaration which does not respect SPARK restrictions
8201 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
8202 error in formal mode on digits or delta constraint
8203 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
8204 decimal fixed point type
8205 (Derived_Type_Declaration): issue error in formal mode on derived type
8206 other than type extensions of tagged record types
8207 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
8208 with check on access definition
8209 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
8210 mode on protected definition.
8211 (Analyze_Task_Definition): issue error in formal mode on task definition
8212
82132011-08-02 Robert Dewar <dewar@adacore.com>
8214
8215 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
8216
82172011-08-02 Javier Miranda <miranda@adacore.com>
8218
8219 * sem_ch6.adb (Can_Override_Operator): New function.
8220 (Verify_Overriding_Indicator): Add missing code to check overriding
8221 indicator in operators. Fixes regression.
8222 (Check_Overriding_Indicator): Minor reformating after replacing the
8223 code that evaluates if the subprogram can override an operator by
8224 invocations to the above new function.
8225 * einfo.adb
8226 (Write_Field26_Name): Add missing code to ensure that, following
8227 the documentation in einfo.ads, this field is not shown as attribute
8228 "Static_Initialization" on non-dispatching functions.
8229
82302011-08-02 Jose Ruiz <ruiz@adacore.com>
8231
8232 * sem_res.adb (Resolve_Call): A call to
8233 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
8234 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
8235 i.e., when the second parameter is of type Time_Span.
8236
82372011-08-02 Vincent Celier <celier@adacore.com>
8238
8239 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
8240 with an archive instead of -L<library dir> -l<library name>.
8241
82422011-08-02 Ed Schonberg <schonberg@adacore.com>
8243
8244 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
8245 mark the base types In_Use in addition to making the operations
8246 use_visible.
8247
82482011-08-02 Ed Falis <falis@adacore.com>
8249
8250 * init.c: add and setup __gnat_signal_mask for the exception signals
8251 * s-inmaop-vxworks.adb: new file.
8252 * s-intman-vxworks.adb: remove unnecessary initializations and
8253 simplify remaining
8254 * s-intman-vxworks.ads: remove unnecessary variable
8255 * s-taprop-vxworks.adb: simplify signal initialization
8256
82572011-08-02 Robert Dewar <dewar@adacore.com>
8258
8259 * sem_ch8.adb: Minor code reorganization, comment updates.
8260
82612011-08-02 Robert Dewar <dewar@adacore.com>
8262
8263 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
8264 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
8265 here from Sem_Res.
8266 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
8267 (Matching_Static_Array_Bounds): Moved here from Sem_Res
8268
82692011-08-02 Ed Schonberg <schonberg@adacore.com>
8270
8271 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
8272 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
8273 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
8274 use_type_clauses, to handle more efficiently use_type and use_all_type
8275 constructs.
8276 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
8277 Ada2012 Use_All_Type clause.
8278 (Use_Class_Wide_Operations): new procedure.
8279
82802011-08-02 Robert Dewar <dewar@adacore.com>
8281
8282 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
8283 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
8284 expression to expression function.
8285
82862011-08-02 Ed Schonberg <schonberg@adacore.com>
8287
8288 * sem_ch4.adb: transform simple Ada2012 membership into equality only
8289 if types are compatible.
8290
82912011-08-02 Yannick Moy <moy@adacore.com>
8292
8293 * sem_res.adb (Matching_Static_Array_Bounds): new function which
8294 returns True if its argument array types have same dimension and same
8295 static bounds at each index.
8296 (Resolve_Actuals): issue an error in formal mode on actuals passed as
8297 OUT or IN OUT paramaters which are not view conversions in SPARK.
8298 (Resolve_Arithmetic_Op): issue an error in formal mode on
8299 multiplication or division with operands of fixed point types which are
8300 not qualified or explicitly converted.
8301 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
8302 Boolean or array type (except String) operands.
8303 (Resolve_Equality_Op): issue an error in formal mode on equality
8304 operators for array types other than String with non-matching static
8305 bounds.
8306 (Resolve_Logical_Op): issue an error in formal mode on logical operators
8307 for array types with non-matching static bounds. Factorize the code in
8308 Matching_Static_Array_Bounds.
8309 (Resolve_Qualified_Expression): issue an error in formal mode on
8310 qualified expressions for array types with non-matching static bounds.
8311 (Resolve_Type_Conversion): issue an error in formal mode on type
8312 conversion for array types with non-matching static bounds
8313
83142011-08-02 Robert Dewar <dewar@adacore.com>
8315
8316 * par-ch10.adb: Minor code reorganization (use Nkind_In).
8317
83182011-08-02 Ed Schonberg <schonberg@adacore.com>
8319
8320 * par-ch9.adb: save location of entry for proper error message.
8321
83222011-08-02 Javier Miranda <miranda@adacore.com>
8323
8324 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
8325 (Use_Full_View) which permits this routine to climb through the
8326 ancestors using the full-view of private parents.
8327 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
8328 Use_Full_View to true in calls to Is_Ancestor.
8329 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
8330 true in call to Is_Ancestor.
8331 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
8332 Use_Full_View to true in call to Is_Ancestor.
8333 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
8334 call to Is_Ancestor.
8335 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
8336 Use_Full_View to true in calls to Is_Ancestor.
8337 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
8338 Make_Select_Specific_Data_Table, Register_Primitive,
8339 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
8340 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
8341 to true in call to Is_Ancestor.
8342 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
8343 Use_Full_View to true in calls to Is_Ancestor.
8344 * exp_cg.adb
8345 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
8346 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
8347
83482011-08-02 Robert Dewar <dewar@adacore.com>
8349
8350 * gnat_rm.texi: Minor reformatting.
8351 * sem_prag.adb: Minor reformatting.
8352
83532011-08-02 Tristan Gingold <gingold@adacore.com>
8354
8355 * vms_data.ads: Add VMS qualifier for -gnateP.
8356
83572011-08-02 Robert Dewar <dewar@adacore.com>
8358
8359 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
8360 * par-ch7.adb (P_Package): Proper placement of aspects for package
8361 decl/instantiation.
8362 * par-endh.adb (Check_End): Ad Is_Sloc parameter
8363 (End_Statements): Add Is_Sloc parameterr
8364 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
8365 (Check_End): Ad Is_Sloc parameter
8366 (End_Statements): Add Is_Sloc parameterr
8367
83682011-08-02 Vincent Celier <celier@adacore.com>
8369
8370 * ug_words: Add VMS qualifier equivalent to -gnateP:
8371 /SYMBOL_PREPROCESSING.
8372
83732011-08-02 Jose Ruiz <ruiz@adacore.com>
8374
8375 * gnat-style.texi: For hexadecimal numeric literals the typical
8376 grouping of digits is 4 to represent 2 bytes.
8377 A procedure spec which is split into several lines is indented two
8378 characters.
8379
83802011-08-02 Yannick Moy <moy@adacore.com>
8381
8382 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
8383 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
8384 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
8385 properly qualified
8386 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
8387 choice in array aggregate
8388 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
8389 mark as ancestor
8390 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
8391 positional and named aggregate for record, or others in record
8392 aggregate, or multiple choice in record aggregate
8393 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
8394 array operands to logical operations AND, OR and XOR do not have the
8395 same static lower and higher bounds
8396 * sem_ch5.adb, sinfo.ads: Correct typos in comments
8397
83982011-08-01 Robert Dewar <dewar@adacore.com>
8399
8400 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
8401 Replaces Last_Source_Node_In_Sequence.
8402 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
8403 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
8404 parens and blank in string (this was inconsistently implemented).
8405 * errout.ads
8406 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
8407 blank in string (this was inconsistently implemented).
8408 * gnat1drv.adb
8409 (Set_Global_Switches): Set formal mode switches appropriately
8410 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
8411 * par-prag.adb
8412 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
8413 call Set_Error_Msg_Lang to set "spark" as language name.
8414 * par.adb: Remove unnecessary call to set formal language for errout
8415 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
8416 appropriately and call Set_Error_Msg_Lang to set "spark" as language
8417 name.
8418 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
8419 calls to it, moved after resolution so that types are known
8420 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
8421 result of concatenation is not of type String
8422 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
8423 concatenation is not properly restricted
8424 * gnat_rm.texi: Add doc on pragma Spark_95.
8425 * gcc-interface/Makefile.in: Remove obsolete target pairs for
8426 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
8427 * gcc-interface/Make-lang.in: Update dependencies.
8428
84292011-08-01 Javier Miranda <miranda@adacore.com>
8430
8431 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
8432 condition that detects if the overridden operation must replace an
8433 existing entity.
8434
84352011-08-01 Javier Miranda <miranda@adacore.com>
8436
8437 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
8438 code declarations inserted by Insert_Actions in each alternative of the
8439 N_Case_Expression node.
8440
84412011-08-01 Robert Dewar <dewar@adacore.com>
8442
8443 * sem_ch6.adb: Minor code reorganization.
8444 * sem_util.adb: Minor reformatting.
8445
84462011-08-01 Pascal Obry <obry@adacore.com>
8447
8448 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
8449 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
8450
84512011-08-01 Yannick Moy <moy@adacore.com>
8452
8453 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
8454 literal or operator symbol which is prefixed
8455 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
8456 mode on access attributes.
8457 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
8458 that concatenation operands are properly restricted in formal mode
8459 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
8460 Analyze_Concatenation_Operand. Issue an error in formal mode if the
8461 result of the concatenation has a type different from String.
8462 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
8463 Analyze_Quantified_Expression, Analyze_Slice,
8464 Analyze_Null): issue an error in formal mode on unsupported constructs
8465 * sem_ch5.adb
8466 (Analyze_Block_Statement): only issue error on source block statement
8467 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
8468 function which returns the last node in a list of nodes for which
8469 Comes_From_Source returns True, if any
8470 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
8471 Last_Source_Node_In_Sequence
8472 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
8473 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
8474 mode on unsupported constructs
8475 * sem_ch9.adb Do not return after issuing error in formal mode, as the
8476 rest of the actions may be needed later on since the error is marked as
8477 not serious.
8478 * sinfo.ads: Typos in comments.
8479
84802011-08-01 Pascal Obry <obry@adacore.com>
8481
8482 * projects.texi: Minor editing.
8483
84842011-08-01 Yannick Moy <moy@adacore.com>
8485
8486 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
8487 insertion character ~~
8488 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
8489 (Set_Error_Msg_Lang): new procedure which fixes the language for use
8490 with insertion character ~~
8491 (Set_Msg_Text): treat insertion character ~~
8492 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
8493 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
8494 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
8495 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
8496 errors related to the formal language restriction not serious
8497 (insertion character |).
8498 * par.adb (Par): set formal language for error messages if needed
8499 * sem_ch6.adb (Check_Missing_Return): take into account possible
8500 generated statements at the end of the function
8501 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
8502 enumeration value to define a new pragma SPARK_95
8503 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
8504 SPARK_Version): new type and variables to store the SPARK version
8505 (none by default).
8506 (SPARK_Mode): return True when SPARK_Version is set
8507 * par-prag.adb: Correct indentation
8508 (Prag): take Pragma_SPARK_95 into account
8509 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
8510 into account.
8511
85122011-08-01 Robert Dewar <dewar@adacore.com>
8513
8514 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
8515 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
8516 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
8517
85182011-08-01 Pascal Obry <obry@adacore.com>
8519
8520 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
8521 Target_Name to Get_Path call.
8522 (Parse_Single_Project): Likewise.
8523 (Post_Parse_Context_Clause): Likewise.
8524 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
8525 Call Initialise_Project_Path with the proper Target_Name.
8526 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
8527 search path.
8528 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
8529 with the proper Target_Name.
8530 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
8531 Part.Parse routine.
8532 (Parse_Project_And_Apply_Config): Likewise.
8533 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
8534 This is fine as this part of the code is supporting only native
8535 compilation.
8536 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
8537 is fine as this part of the code is supporting only native compilation.
8538
85392011-08-01 Yannick Moy <moy@adacore.com>
8540
8541 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
8542 of homonym, unless the homonym is one of the cases allowed in SPARK
8543 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
8544 package declaration occurring after a body.
8545
85462011-08-01 Robert Dewar <dewar@adacore.com>
8547
8548 * checks.adb, exp_ch4.adb: Minor reformatting.
8549
85502011-08-01 Javier Miranda <miranda@adacore.com>
8551
8552 * einfo.ads (Access_Disp_Table): Fix documentation.
8553 (Dispatch_Table_Wrappers): Fix documentation.
8554
85552011-08-01 Pascal Obry <obry@adacore.com>
8556
8557 * prj-env.adb, prj-env.ads: Minor reformatting.
8558
85592011-08-01 Yannick Moy <moy@adacore.com>
8560
8561 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
8562 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
8563 procedures out of these packages.
2c7f9cc0 8564 * errout.ads, errout.adb
052e0603
AC
8565 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
8566 procedures in of this package
8567 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
8568 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
8569 on misplaced later vs initial declarations, like in Ada 83
8570 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
8571 formal mode on attribute of private type whose full type declaration
8572 is not visible
8573 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
8574 package declaration inside a package specification
8575 (Analyze_Full_Type_Declaration): issue error in formal mode on
8576 controlled type or discriminant type
8577 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
8578 user-defined operator means that it should come from the source
8579 (New_Overloaded_Entity): issue error in formal mode on overloaded
8580 entity.
8581 * sem_ch6.ads, sem_ch13.ads: typos in comments.
8582
85832011-08-01 Thomas Quinot <quinot@adacore.com>
8584
8585 * atree.adb: Minor reformatting.
8586 * checks.adb: Minor reformatting.
8587
85882011-08-01 Vincent Celier <celier@adacore.com>
8589
8590 * s-parame-vms-ia64.ads: Fix typo in comment
8591 Minor reformatting
8592 * s-parame-vms-restrict.ads: Removed, unused.
8593
85942011-08-01 Javier Miranda <miranda@adacore.com>
8595
8596 * exp_ch3.adb
8597 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
8598 * sem_ch3.adb
8599 (Constrain_Index): Remove side effects in the evaluation of the bounds.
8600 * sem_ch3.ads, sem_ch3.adb
8601 (Is_Constant_Bound): New extended version of the subprogram that was
8602 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
8603 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
8604 * sem_aux.ads (Constant_Value): Fix typo in comment.
8605 * checks.adb (Generate_Index_Checks): New implementation which, for
8606 array objects with constant bounds, generates the runtime check
8607 referencing the bounds of the array type. For other cases this routine
8608 provides its previous behavior obtaining such values from the array
8609 object.
8610 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
8611 parent type.
8612 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
8613 we cannot have semantic interpretations of the new node.
8614
86152011-08-01 Ed Schonberg <schonberg@adacore.com>
8616
8617 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
8618 expressions.
8619
86202011-08-01 Arnaud Charlet <charlet@adacore.com>
8621
8622 * sem_ch8.adb: Minor code editing.
8623 * s-vxwext.adb: Remove trailing space.
8624 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
8625 consistency with other files.
8626
86272011-08-01 Thomas Quinot <quinot@adacore.com>
8628
8629 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
8630
86312011-08-01 Ed Schonberg <schonberg@adacore.com>
8632
8633 * par-ch10.adb: reject parameterized expressions as compilation unit.
8634 * sem_ch4.adb: handle properly conditional expression with overloaded
8635 then_clause and no else_clause.
8636
86372011-08-01 Tristan Gingold <gingold@adacore.com>
8638
8639 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
8640 like done by System.Aux_DEC.
8641 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
8642
86432011-08-01 Yannick Moy <moy@adacore.com>
8644
8645 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
8646 missing label at end of declaration (subprogram or package)
8647 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
8648 of positional and named parameter association
8649 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
8650 Error_Msg_SP which adds a prefix to the error message giving the name
8651 of the formal language analyzed
8652 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
8653 access result type in subprogram, unconstrained array as result type,.
8654 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
8655 procedure
8656 * sem_ch8.adb: Code clean up.
8657
86582011-08-01 Javier Miranda <miranda@adacore.com>
8659
8660 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
8661 * einfo.ads (Access_Disp_Table): Fix documentation.
8662 (Dispatch_Table_Wrappers): Fix documentation.
8663 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
8664 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
8665 to enforce the documentation of this attribute.
8666 (Set_Is_Interface): Cleanup the assertion.
8667 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
8668 the Underlying_Type entity before reading attribute Access_Disp_Table.
8669 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
8670 Locate the Underlying_Type before reading attribute Access_Disp_Table.
8671 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
8672 the Underlying_Type entity before reading attribute Access_Disp_Table.
8673 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
8674 Locate the Underlying_Type entity before reading attribute
8675 Access_Disp_Table.
8676
86772011-08-01 Ed Schonberg <schonberg@adacore.com>
8678
8679 * s-poosiz.ads: Additional overriding indicators.
8680
86812011-08-01 Yannick Moy <moy@adacore.com>
8682
8683 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
8684 formal mode.
8685 (Analyze_Iteration_Scheme): issue error in formal mode when loop
8686 parameter specification does not include a subtype mark.
8687 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
8688 formal mode on abstract subprogram.
8689 (Analyze_Subprogram_Specification): issue error in formal mode on
8690 user-defined operator.
8691 (Process_Formals): issue error in formal mode on access parameter and
8692 default expression.
8693 * sem_ch9.adb (Analyze_Abort_Statement,
8694 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
8695 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
8696 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
8697 Analyze_Requeue, Analyze_Selective_Accept,
8698 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
8699 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
8700 issue error in formal mode on user-defined raise statement.
8701
87022011-08-01 Thomas Quinot <quinot@adacore.com>
8703
8704 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
8705 declaration being hidden when overriding an implicit inherited
8706 subprogram.
8707 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
8708 (-gnats), do not complain about a source file that contains only a
8709 pragma No_Body.
8710
87112011-08-01 Ed Schonberg <schonberg@adacore.com>
8712
8713 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
8714 variable if already set.
8715
87162011-08-01 Arnaud Charlet <charlet@adacore.com>
8717
8718 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
8719 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
8720 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
8721 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
8722 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
8723 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
8724 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
8725 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
8726 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
8727 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
8728 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
8729 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
8730 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
8731 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
8732 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
8733 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
8734 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
8735 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
8736 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
8737 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
8738 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
8739 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
8740 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
8741 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
8742 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
8743 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
8744 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
8745 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
8746 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
8747 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
8748 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
8749 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
8750 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
8751 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
8752 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
8753 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
8754 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
8755 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
8756 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
8757 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
8758 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
8759 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
8760 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
8761 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
8762 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
8763 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
8764 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
8765 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
8766 s-osinte-mingw.ads: Update to GPLv3 run-time license.
8767 Use GNAT instead of GNARL.
8768
87692011-08-01 Bob Duff <duff@adacore.com>
8770
8771 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
8772 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
8773 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
8774 reformatting.
8775
87762011-08-01 Yannick Moy <moy@adacore.com>
8777
8778 * debug.adb (d.D) reverve flag for the SPARK mode
8779 (d.E) reverve flag for SPARK generation mode
8780 (d.F) reverve flag for Why generation mode
2c7f9cc0 8781 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
052e0603
AC
8782 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
8783 functions which return True when the corresponding modes are set
8784 (Formal_Language): return "spark" or "alfa" when in formal verification
8785 mode.
8786 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
8787 Error_Msg to prefix the error message with a tag giving the formal
8788 language
8789 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
8790 message with a tag giving the formal language
8791 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
8792 block statement
8793 (Analyze_Case_Statement): issue error in formal mode on case statement
8794 with a single "others" case alternative
8795 (Analyze_Exit_Statement): issue errors in formal mode on exit
8796 statements which do not respect SPARK restrictions
8797 (Analyze_Goto_Statement): issue error in formal mode on goto statement
8798 (Check_Unreachable_Code): always issue an error (not a warning) in
8799 formal mode on unreachable code (concerns both code after an infinite
8800 loop and after an unconditional jump, both not allowed in SPARK)
8801 * sem_ch6.adb (Analyze_Return_Statement): add call to
8802 Set_Return_Present for a procedure containing a return statement
8803 (already done for functions in Analyze_Function_Return)
8804 (Analyze_Function_Return): issue error in formal mode on extended
8805 return or if return is not last statement in function
8806 (Check_Missing_Return): issue error in formal mode if function does
8807 not end with return or if procedure contains a return
8808 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
8809 function to detect if there is an inner scope of its parameter S which
8810 is a loop.
8811
88122011-08-01 Thomas Quinot <quinot@adacore.com>
8813
8814 * sem_ch6.ads: Minor reformatting.
8815
88162011-08-01 Javier Miranda <miranda@adacore.com>
8817
8818 * sem_util.adb (Abstract_Interface_List): Complete condition when
8819 processing private type declarations to avoid reading unavailable
8820 attribute.
8821 (Is_Synchronized_Tagged_Type): Complete condition when processing
8822 private extension declaration nodes to avoid reading unavailable
8823 attribute.
8824
88252011-08-01 Thomas Quinot <quinot@adacore.com>
8826
8827 * sem_ch3.adb: Minor reformatting.
8828
88292011-08-01 Thomas Quinot <quinot@adacore.com>
8830
8831 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
8832 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
8833 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
8834 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
8835 for VMS, instead parametrize the common implementation with
8836 System.Parameters declarations.
8837
88382011-08-01 Eric Botcazou <ebotcazou@adacore.com>
8839
8840 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
8841
88422011-08-01 Tristan Gingold <gingold@adacore.com>
8843
8844 * seh_init.c: Fix SEH handler installation on win64.
8845
88462011-08-01 Ed Schonberg <schonberg@adacore.com>
8847
8848 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
8849 double analysis of an anonymous access to subprogram, because it can
8850 lead to improper sharing of profiles and a back-end crash.
8851
88522011-08-01 Robert Dewar <dewar@adacore.com>
8853
8854 * make.adb, sem_ch4.adb: Minor reformatting.
8855 * gcc-interface/Make-lang.in: Update dependencies.
8856 * sem_util.adb, exp_ch5.adb: Minor reformatting.
8857
88582011-08-01 Arnaud Charlet <charlet@adacore.com>
8859
8860 * gnat_rm.texi: Fix definition of Long_Integer.
8861
88622011-08-01 Ed Schonberg <schonberg@adacore.com>
8863
8864 * exp_aggr.adb: check limit size of static aggregate unconditionally,
8865 to prevent storage exhaustion.
8866 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
8867 finalized is a function body, insert the cleanup code before the final
8868 return statement, to prevent spurious warnings.
8869 * s-pooglo.ads: add overriding indicator.
8870
88712011-08-01 Ed Schonberg <schonberg@adacore.com>
8872
8873 * sem_ch4.adb (Operator_Check): improve error message when both a
8874 with_clause and a use_clause are needed to make operator usage legal.
8875 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
8876 determine whether a compilation unit is visible within an other,
8877 either through a with_clause in the current unit, or a with_clause in
8878 its library unit or one one of its parents.
8879
88802011-08-01 Ed Schonberg <schonberg@adacore.com>
8881
8882 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
8883 over an arbitrary expression of an array or container type.
8884 * lib-xref.adb: clarify comment.
8885
88862011-08-01 Bob Duff <duff@adacore.com>
8887
8888 * einfo.ads: Minor reformatting.
8889 * debug.adb: Minor comment improvement.
8890
88912011-08-01 Javier Miranda <miranda@adacore.com>
8892
8893 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
8894 consider hidden subprograms as valid candidates.
8895
88962011-08-01 Arnaud Charlet <charlet@adacore.com>
8897
8898 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
8899
89002011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
8901
8902 * gnat_ugn.texi: Fix typo.
8903
89042011-08-01 Robert Dewar <dewar@adacore.com>
8905
8906 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
8907 lib-xref.adb: Minor reformatting
8908
89092011-08-01 Gary Dismukes <dismukes@adacore.com>
8910
8911 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
8912 when to generate a call to Move_Final_List.
8913 (Has_Controlled_Parts): Remove this function.
8914
89152011-08-01 Geert Bosch <bosch@adacore.com>
8916
8917 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
8918 "," in choice list.
8919
89202011-08-01 Thomas Quinot <quinot@adacore.com>
8921
8922 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
8923 explicit raise of a predefined exception as Comes_From_Source if the
8924 original N_Raise_Statement comes from source.
8925
89262011-08-01 Robert Dewar <dewar@adacore.com>
8927
8928 * sinfo.ads: Add comment.
8929 * sem_ch6.adb: Minor reformatting.
8930
89312011-08-01 Robert Dewar <dewar@adacore.com>
8932
8933 * freeze.adb (Freeze_Entity): Refine check for bad component size
8934 clause to avoid rejecting confirming clause when atomic/aliased present.
8935
89362011-08-01 Ed Schonberg <schonberg@adacore.com>
8937
8938 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
8939 better determine whether an entity reference is a write.
8940 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
8941 subcomponent.
8942 * lib-xref.adb (Output_References): Do no suppress a read reference at
8943 the same location as an immediately preceeding modify-reference, to
8944 handle properly in-out actuals.
8945
89462011-08-01 Tristan Gingold <gingold@adacore.com>
8947
8948 * env.c (__gnat_setenv) [VMS]: Refine previous change.
8949
89502011-08-01 Quentin Ochem <ochem@adacore.com>
8951
8952 * i-cstrin.adb (New_String): Changed implementation, now uses only the
8953 heap to compute the result.
8954
89552011-08-01 Robert Dewar <dewar@adacore.com>
8956
8957 * atree.ads: Minor reformatting.
8958
89592011-08-01 Emmanuel Briot <briot@adacore.com>
8960
8961 * g-expect.adb (Get_Command_Output): Fix memory leak.
8962
89632011-08-01 Geert Bosch <bosch@adacore.com>
8964
8965 * cstand.adb (P_Float_Type): New procedure to print the definition of
8966 predefined fpt types.
8967 (P_Mixed_Name): New procedure to print a name using mixed case
8968 (Print_Standard): Use P_Float_Type for printing floating point types
8969 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
8970 precision IEEE float.
8971
89722011-08-01 Thomas Quinot <quinot@adacore.com>
8973
8974 * sem_ch3.adb: Minor reformatting.
8975
89762011-08-01 Ed Schonberg <schonberg@adacore.com>
8977
8978 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
8979 the completion of a generic function, insert the new body rather than
8980 rewriting the original.
8981
89822011-08-01 Yannick Moy <moy@adacore.com>
8983
8984 * sinfo.ads, errout.ads: Typos in comments.
8985
89862011-08-01 Robert Dewar <dewar@adacore.com>
8987
8988 * par-endh.adb: Minor reformatting.
8989
89902011-08-01 Robert Dewar <dewar@adacore.com>
8991
8992 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
8993 (Pre_Post_Aspects): New subtype.
8994 * par-ch12.adb (P_Generic): New syntax for aspects in packages
8995 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
8996 * par-ch7.adb (P_Package): Remove Decl parameter
8997 (P_Package): Handle new syntax for aspects (before IS)
8998 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
8999 new aspect syntax
9000 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
9001 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
9002 (P_Package): Remove Decl parameter
9003 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
9004 aspects
9005 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
9006 specs
9007 * sem_util.ads, sem_util.adb (Static_Boolean): New function
9008 * sinfo.ads: Document new syntax for aspects in packages etc.
9009 * sprint.adb: Handle new syntax of aspects before IS in package
9010
90112011-08-01 Thomas Quinot <quinot@adacore.com>
9012
9013 * atree.ads: Minor reformatting.
9014 * sem_prag.adb: Minor reformatting.
9015
90162011-08-01 Robert Dewar <dewar@adacore.com>
9017
9018 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
9019 case expr alternative.
9020
90212011-08-01 Ed Schonberg <schonberg@adacore.com>
9022
9023 * sem_ch12.adb: Fix typo.
9024
90252011-08-01 Geert Bosch <bosch@adacore.com>
9026
9027 * sem_prag.adb (Check_No_Link_Name): New procedure.
9028 (Process_Import_Or_Interface): Use Check_No_Link_Name.
9029 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
9030 instead of Standard_Long_Long_Float_Size global. Preparation for
9031 eventual removal of per type constants.
9032 * exp_util.ads (Get_Stream_Size): New function returning the stream
9033 size value of subtype E.
9034 * exp_util.adb (Get_Stream_Size): Implement new function.
9035 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
9036 function.
9037 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
9038 * einfo.adb:
9039 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
9040
90412011-08-01 Geert Bosch <bosch@adacore.com>
9042
9043 * cstand.adb: Fix comments.
9044 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
9045 count of arguments.
9046
90472011-08-01 Robert Dewar <dewar@adacore.com>
9048
9049 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
9050
90512011-08-01 Geert Bosch <bosch@adacore.com>
9052
9053 * atree.ads: Fix comment.
9054
90552011-08-01 Robert Dewar <dewar@adacore.com>
9056
9057 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
9058 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
9059 * par.adb: Add with for Namet.Sp.
9060 * par-tchk.adb: Minor reformatting.
9061
90622011-08-01 Vincent Celier <celier@adacore.com>
9063
9064 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
9065 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
9066 of the init procedure of a SAL.
9067 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
9068 New procedure.
9069
90702011-08-01 Thomas Quinot <quinot@adacore.com>
9071
9072 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
9073 reformatting.
9074
90752011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9076
9077 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
9078
90792011-08-01 Thomas Quinot <quinot@adacore.com>
9080
9081 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
9082 conformant with its spec (return True only for types that have
9083 an overriding Initialize primitive operation that prevents them from
9084 having preelaborable initialization).
9085 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
9086 initialization for controlled types in Ada 2005 or later mode.
9087
90882011-08-01 Robert Dewar <dewar@adacore.com>
9089
9090 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
9091 Postcondition.
9092 (Same_Aspect): New function.
9093 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
9094 Type_Invariant, Precondition, Postcondition.
9095 * snames.ads-tmpl: Add Name_Type_Invariant.
9096
90972011-08-01 Robert Dewar <dewar@adacore.com>
9098
9099 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
9100 here.
9101 (Freeze_All_Ent): Fix error in handling inherited aspects.
9102 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
9103 already analyzed, but don't skip entire processing of a declaration,
9104 that's wrong in some cases of declarations being rewritten.
9105 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
9106 Don't delay for integer, string literals
9107 Treat predicates in usual manner for delay, remove special case code,
9108 not needed.
9109 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
9110 (Build_Predicate_Function): Update saved expression in aspect
9111 (Build_Invariant_Procedure): Update saved expression in aspect
9112 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
9113 of replacement of discriminant references if the reference is simple.
9114
91152011-08-01 Robert Dewar <dewar@adacore.com>
9116
9117 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
9118 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
9119 Static_Predicate and Dynamic_Predicate.
9120 (Build_Predicate_Function): Add processing for Static_Predicate
9121 and Dynamic_Predicate.
9122 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
9123 (From_Static_Predicate): New flag
9124 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
9125
91262011-08-01 Robert Dewar <dewar@adacore.com>
9127
9128 * usage.adb: Documentation cleanup for Ada version modes in usage.
9129 * expander.adb: Minor reformatting.
9130
91312011-08-01 Robert Dewar <dewar@adacore.com>
9132
9133 * atree.ads: Minor comment fix.
9134 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
9135 a-witeio.ads, sem_prag.adb: Minor reformatting.
9136
91372011-08-01 Doug Rupp <rupp@adacore.com>
9138
9139 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
9140 pointers. Use descrip.h header file for convenience. Add some
9141 comments.
9142
91432011-08-01 Robert Dewar <dewar@adacore.com>
9144
9145 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
9146 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
9147 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
9148 New procedure.
9149 (Check_Aspect_At_End_Of_Declarations): New procedure
9150 (Analye_Aspect_Specification): Minor changes for above procedures
9151 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
9152 specification node as well.
9153
91542011-08-01 Pascal Obry <obry@adacore.com>
9155
9156 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
9157 Windows files. Use GetFilesAttributes() in this case to check for file
9158 existence instead of returning with an error code.
9159
91602011-08-01 Vincent Celier <celier@adacore.com>
9161
9162 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
9163 High is above Source length.
9164
91652011-08-01 Robert Dewar <dewar@adacore.com>
9166
9167 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
9168
91692011-08-01 Robert Dewar <dewar@adacore.com>
9170
9171 * aspects.ads (Boolean_Aspects): New subtype.
9172 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
9173 for derived types in cases where the parent type and derived type have
9174 aspects.
9175 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
9176 with aspects when parent type also has aspects.
9177 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
9178 boolean expression at this point).
9179 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
9180 accordance with final decision on the Ada 2012 feature.
9181 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
9182
91832011-08-01 Matthew Heaney <heaney@adacore.com>
9184
9185 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
9186
91872011-08-01 Pascal Obry <obry@adacore.com>
9188
9189 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
9190 Fix Replace_Slice when High is above current string size.
9191 (Replace_Slice): Fix DL computation when High is above current
9192 string length.
9193
91942011-08-01 Gary Dismukes <dismukes@adacore.com>
9195
9196 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
9197
91982011-08-01 Matthew Heaney <heaney@adacore.com>
9199
9200 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
9201 of node.
9202
92032011-08-01 Pascal Obry <obry@adacore.com>
9204
9205 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
9206 reformatting.
9207
92082011-08-01 Ed Schonberg <schonberg@adacore.com>
9209
9210 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
9211 access to protected subprograms in generic bodies.
9212 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
9213 protected type, indicate that the convention of the subprogram is
9214 Convention_Protected, because it may be used in subsequent declarations
9215 within the protected declaration.
9216
92172011-08-01 Vincent Celier <celier@adacore.com>
9218
9219 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
9220 and "final" procedures when the name of the library is "ada", to avoid
9221 duplicate symbols "adainit" and "adafinal" in executables.
9222
92232011-08-01 Ed Schonberg <schonberg@adacore.com>
9224
9225 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
9226 quantified expression that appears within a postcondition and uses the
9227 Ada2012 'Result attribute.
9228
92292011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9230
9231 * init.c (__gnat_error_handler): Cast reason to int.
9232 (__gnat_install_handler): Explain sa_sigaction use.
9233
92342011-07-24 Eric Botcazou <ebotcazou@adacore.com>
9235
9236 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
9237 subprogram has copy-in copy-out parameters, try to promote the mode of
9238 the return type if it is passed in registers.
9239
92402011-07-24 Eric Botcazou <ebotcazou@adacore.com>
9241
9242 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
9243 left operand as addressable.
9244
92452011-07-24 Eric Botcazou <ebotcazou@adacore.com>
9246
9247 * gcc-interface/gigi.h (build_function_stub): Remove.
9248 (build_return_expr): Likewise.
9249 (convert_vms_descriptor): Declare.
9250 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
9251 (build_function_stub): Move to...
9252 * gcc-interface/utils2.c (build_return_expr): Move to...
9253 * gcc-interface/trans.c (build_function_stub): ...here.
9254 (build_return_expr): ...here.
9255 (Subprogram_Body_to_gnu): Add local variable for language_function.
9256 Disconnect the parameter attributes cache, if any, once done with it.
9257 Call end_subprog_body only after setting the end_locus.
9258 Build the stub associated with the function, if any, at the very end.
9259 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
9260 variables and streamline control flow.
9261
92622011-07-23 Arnaud Charlet <charlet@adacore.com>
9263
9264 PR ada/49819
9265 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
9266 g-trasym-dwarf.adb.
9267
92682011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9269
9270 PR bootstrap/49794
9271 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
9272 Assign to act.sa_sigaction.
9273 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
9274 current->return_address to char * before arithmetic.
9275
92762011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9277
9278 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
9279 Correct argument types.
9280 Extract code from reason.
9281 (__gnat_install_handler): Assign to act.sa_sigaction.
9282
92832011-07-21 Eric Botcazou <ebotcazou@adacore.com>
9284
9285 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
9286 (GNAT1_OBJS): ...here.
9287
92882011-07-15 Eric Botcazou <ebotcazou@adacore.com>
9289
9290 PR ada/48711
9291 * g-socthi-mingw.adb (Fill): Fix formatting.
9292
9293 * gcc-interface/gigi.h: Move around comment.
9294
92952011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9296
9297 PR ada/46350
9298 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
9299
93002011-07-14 Florian Weimer <fw@deneb.enyo.de>
9301
9302 PR ada/48711
9303 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
9304
93052011-07-13 Eric Botcazou <ebotcazou@adacore.com>
9306
9307 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
9308 range comparison if Pmode is SImode.
9309
93102011-07-12 Laurent GUERBY <laurent@guerby.net>
9311 Eric Botcazou <ebotcazou@adacore.com>
9312
9313 * adadecode.c: Wrap up in extern "C" block.
9314 * adadecode.h: Likewise.
9315 * adaint.c: Likewise. Remove 'const' keyword.
9316 * adaint.h: Likewise.
9317 * argv.c: Likewise.
9318 * atree.h: Likewise.
9319 * cio.c: Likewise.
9320 * cstreams.c: Likewise.
9321 * env.c: Likewise.
9322 * exit.c: Likewise.
9323 * fe.h: Likewise.
9324 * final.c: Likewise.
9325 * init.c: Likewise.
9326 * initialize.c: Likewise.
9327 * link.c: Likewise.
9328 * namet.h: Likewise.
9329 * nlists.h: Likewise.
9330 * raise.c: Likewise.
9331 * raise.h: Likewise.
9332 * repinfo.h: Likewise.
9333 * seh_init.c: Likewise.
9334 * targext.c: Likewise.
9335 * tracebak.c: Likewise.
9336 * uintp.h: Likewise.
9337 * urealp.h: Likewise.
9338 * xeinfo.adb: Wrap up generated C code in extern "C" block.
9339 * xsinfo.adb: Likewise.
9340 * xsnamest.adb: Likewise.
9341 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
9342 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
9343 * gcc-interface/misc.c: Likewise.
9344 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
9345 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
9346 ada/targext.o here...
9347 (GNAT_ADA_OBJS): ...and not here.
9348 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
9349 (GNATBIND_OBJS): Reorder.
9350
93512011-07-07 Richard Henderson <rth@redhat.com>
9352
9353 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
9354 dwarf2out_frame_init.
9355
93562011-07-07 Eric Botcazou <ebotcazou@adacore.com>
9357
9358 * gcc-interface/misc.c (gnat_init): Tweak previous change.
9359
93602011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9361
9362 PR target/39150
9363 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
9364
93652011-07-06 Richard Guenther <rguenther@suse.de>
9366
9367 * gcc-interface/misc.c (gnat_init): Merge calls to
9368 build_common_tree_nodes and build_common_tree_nodes_2.
9369 Re-initialize boolean_false_node.
9370
93712011-07-02 Eric Botcazou <ebotcazou@adacore.com>
9372 Olivier Hainque <hainque@adacore.com>
9373 Nicolas Setton <setton@adacore.com>
9374
9375 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
9376 the type according to the ARTIFICIAL_P parameter.
9377 (create_type_decl): Likewise.
9378 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
9379
93802011-07-01 Eric Botcazou <ebotcazou@adacore.com>
9381
9382 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
9383 (gnatbind): Likewise.
9384
93852011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9386
9387 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
9388
93892011-06-18 Eric Botcazou <ebotcazou@adacore.com>
9390
9391 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
9392 local variable throughout. Remove useless call to Base_Type.
9393 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
9394 Take it also into account for the volatileness of the field. Set the
9395 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
9396
93972011-06-18 Eric Botcazou <ebotcazou@adacore.com>
9398
9399 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
9400 on a dereference built for a by-ref object if it has an address clause.
9401
94022011-06-18 Eric Botcazou <ebotcazou@adacore.com>
9403
9404 * einfo.ads (Address_Taken): Document use for the second argument of
9405 Asm_Input and Asm_Output attributes.
9406 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
9407 argument is an entity name, then set Address_Taken on it.
9408 <Attribute_Asm_Output>: Likewise.
9409 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
9410 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
9411 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
9412 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
9413
94142011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
9415
9416 PR middle-end/46500
9417 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
9418
94192011-06-14 Joseph Myers <joseph@codesourcery.com>
9420
9421 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
9422 (ada/utils.o): Update dependencies.
9423 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
9424 ../../../libcpp/libcpp.a.
9425 * gcc-interface/utils.c: Include common/common-target.h.
9426 (process_attributes): Use targetm_common.have_named_sections.
9427
94282011-06-07 Richard Guenther <rguenther@suse.de>
9429
9430 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
9431 set_sizetype.
9432
94332011-06-06 Eric Botcazou <ebotcazou@adacore.com>
9434
9435 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
9436 TREE_THIS_NOTRAP flag.
9437
94382011-06-06 Eric Botcazou <ebotcazou@adacore.com>
9439
9440 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
9441 Fix thinko.
9442
94432011-06-06 Eric Botcazou <ebotcazou@adacore.com>
9444
9445 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
9446 constants whose full view has discriminants specially.
9447
94482011-06-06 Eric Botcazou <ebotcazou@adacore.com>
9449
9450 * gcc-interface/utils.c: Include diagnostic.h.
9451 (gnat_write_global_declarations): Output debug information for all
9452 global type declarations before finalizing the compilation unit.
9453 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
9454
94552011-05-25 Jakub Jelinek <jakub@redhat.com>
9456
9457 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
9458
94592011-05-25 Kai Tietz <ktietz@redhat.com>
9460
9461 * adaint.c (__gnat_to_canonical_file_list_next): Use array
9462 initialization instead of const/none-const pointer assignment.
9463
94642011-05-24 Joseph Myers <joseph@codesourcery.com>
9465
9466 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
9467 $(EXTRA_GNAT1_OBJS).
9468 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
9469 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
9470 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
9471 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
9472 libcommon-target.a instead of prefix.o.
9473
94742011-05-21 Joseph Myers <joseph@codesourcery.com>
9475
9476 PR ada/49097
9477 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9478
94792011-05-20 Joseph Myers <joseph@codesourcery.com>
9480
9481 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
9482 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
9483 instead of version.o.
9484
94852011-05-18 Kai Tietz <ktietz@redhat.com>
9486
9487 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
9488 boolean_false_node instead of integer_zero_node.
9489 (convert_with_check): Likewise.
9490 * gcc-interface/decl.c (choices_to_gnu): Likewise.
9491
94922011-05-12 Eric Botcazou <ebotcazou@adacore.com>
9493
9494 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
9495 type of the parameter is an unconstrained array, convert the actual to
9496 the type of the formal in the In Out and Out cases as well.
9497
94982011-05-11 Nathan Froyd <froydnj@codesourcery.com>
9499
9500 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
9501 call build_function_type_array or build_varargs_function_type_array
9502 instead.
9503 (create_subprog_type): Don't call build_function_type; call
9504 build_function_type_vec instead.
9505
95062011-05-11 Nathan Froyd <froydnj@codesourcery.com>
9507
9508 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
9509 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
9510 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
9511
95122011-05-07 Eric Botcazou <ebotcazou@adacore.com>
9513
9514 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
9515
9516 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
9517 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
9518
95192011-05-05 Nathan Froyd <froydnj@codesourcery.com>
9520
9521 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
9522
95232011-05-05 Nathan Froyd <froydnj@codesourcery.com>
9524
9525 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
9526 instead of accessing TYPE_ARG_TYPES directly.
9527 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
9528
95292011-05-05 Eric Botcazou <ebotcazou@adacore.com>
9530
9531 PR ada/48844
9532 * gcc-interface/gigi.h (get_variant_part): Declare.
9533 * gcc-interface/decl.c (get_variant_part): Make global.
9534 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
9535 types have the same constant size, are record types and T1 has a
9536 variant part while T2 doesn't.
9537
95382011-05-05 Eric Botcazou <ebotcazou@adacore.com>
9539
9540 * gcc-interface/utils.c (begin_subprog_body): Do not call
9541 get_pending_sizes.
9542 (end_subprog_body): Likewise.
9543
95442011-05-04 Richard Guenther <rguenther@suse.de>
9545
9546 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
9547 int_const_binop.
9548 (pos_to_constructor): Likewise.
9549
95502011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 9551 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
9552
9553 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
9554 of build_function_type. Adjust calls to...
9555 (build_raise_check): ...this. Do not take a void_tree parameter.
9556 Call build_function_type_list instead of build_function_type.
9557 Fix head comment and swap couple of conditional blocks.
9558
95592011-04-30 Eric Botcazou <ebotcazou@adacore.com>
9560
9561 * gnatvsn.ads (Library_Version): Bump to 4.7.
9562 (Current_Year): Bump to 2011.
9563
95642011-04-29 Michael Matz <matz@suse.de>
9565
9566 * gcc-interface/misc.c (gnat_handle_option): Set
9567 warn_maybe_uninitialized.
9568
95692011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
9570
9571 * gnat_ugn.texi (Complexity Metrics Control): Update link to
9572 the Watson/McCabe paper.
9573
95742011-04-23 Jim Meyering <meyering@redhat.com>
9575
9576 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
9577
95782011-04-22 Eric Botcazou <ebotcazou@adacore.com>
9579
9580 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
9581 onto the new type.
9582
95832011-04-22 Eric Botcazou <ebotcazou@adacore.com>
9584
9585 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
9586 parameter.
9587 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
9588 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
9589 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
9590 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
9591 <all>: Do not set flags on the reused DECL node coming from an alias.
9592 Set DECL_IGNORED_P on the DECL node built for subprograms if they
9593 don't need debug info here...
9594 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
9595 (gigi): Adjust calls to create_subprog_decl.
9596 (build_raise_check): Likewise.
9597 (establish_gnat_vms_condition_handler): Likewise.
9598 (Compilation_Unit_to_gnu): Likewise.
9599 (gnat_to_gnu): Likewise.
9600
96012011-04-21 Eric Botcazou <ebotcazou@adacore.com>
9602
9603 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
9604 (NO_REORDER_ADAFLAGS): New variable.
9605 (EXTRA_GNATTOOLS): Always define.
9606 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
9607 Clean up and adjust list of files compiled with special options.
9608 * gcc-interface/Make-lang.in: Likewise.
9609 (ada/decl.o): Cosmetical change.
9610 (ada/misc.o): Remove dependency on $(PLUGIN_H).
9611
96122011-04-20 Jim Meyering <meyering@redhat.com>
9613
9614 * initialize.c (__gnat_initialize): Remove useless if-before-free.
9615
96162011-04-17 Eric Botcazou <ebotcazou@adacore.com>
9617
9618 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
9619 $(CFLAGS) on the link line.
9620
96212011-04-17 Eric Botcazou <ebotcazou@adacore.com>
9622
9623 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
9624 padded type built for the return type if it is unconstrained.
9625
96262011-04-14 Nathan Froyd <froydnj@codesourcery.com>
9627
9628 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
9629
96302011-04-12 Nathan Froyd <froydnj@codesourcery.com>
9631
9632 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
9633 before calling TREE_CHAIN.
9634 * gcc-interface/misc.c (gnat_init_ts): New function.
9635 (LANG_HOOKS_INIT_TS): Define.
9636
96372011-04-12 Martin Jambor <mjambor@suse.cz>
9638
9639 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
9640 instead of cgraph_node.
9641
96422011-04-08 Eric Botcazou <ebotcazou@adacore.com>
9643
9644 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
9645 alignment on fields of the RETURN type built for the Copy-In Copy-Out
9646 mechanism.
9647
96482011-04-08 Eric Botcazou <ebotcazou@adacore.com>
9649
9650 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
9651 of aggregate types that contain a placeholder.
9652
96532011-04-08 Nathan Froyd <froydnj@codesourcery.com>
9654
9655 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
9656 TYPE_ARG_TYPES.
9657 (handle_type_generic_attribute): Likewise.
9658
96592011-04-04 Eric Botcazou <ebotcazou@adacore.com>
9660
9661 PR ada/47163
9662 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
9663
96642011-04-04 Kai Tietz <ktietz@redhat.com>
9665
9666 PR ada/47163
9667 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
9668 to flag value.
9669
96702011-04-02 Eric Botcazou <ebotcazou@adacore.com>
9671
9672 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
9673 type case, do not strip a padding type around the array type.
9674
96752011-04-02 Eric Botcazou <ebotcazou@adacore.com>
9676
9677 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
9678 types.
9679
96802011-04-02 Eric Botcazou <ebotcazou@adacore.com>
9681
9682 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
9683 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
9684 code for -feliminate-unused-debug-types.
9685 (gnat_post_options): Likewise.
9686
96872011-04-02 Eric Botcazou <ebotcazou@adacore.com>
9688
9689 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
9690 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
9691 distinct copy.
9692
96932011-04-02 Eric Botcazou <ebotcazou@adacore.com>
9694
9695 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
9696 DECL_ARTIFICIAL flag on enumeration types.
9697
96982011-04-02 Eric Botcazou <ebotcazou@adacore.com>
9699
9700 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
9701 fat pointer types artificial unconditionally.
9702 <E_Array_Subtype>: Attach the base array type as a parallel type if it
9703 isn't artificial.
9704
97052011-04-02 Eric Botcazou <ebotcazou@adacore.com>
9706
9707 * gcc-interface/gigi.h (get_dummy_type): Declare.
9708 (build_dummy_unc_pointer_types): Likewise.
9709 (finish_fat_pointer_type): Likewise.
9710 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
9711 fat pointer type has been built, complete it in place.
9712 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
9713 and thin pointers. Remove useless variable.
9714 (finish_fat_pointer_type): Make global and move to...
9715 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
9716 (get_dummy_type): New function.
9717 (build_dummy_unc_pointer_types): Likewise.
9718 (gnat_pushdecl): Propage the name to the anonymous variants only.
9719 (update_pointer_to): Only adjust the pointer types in the unconstrained
9720 array case.
9721
97222011-04-02 Eric Botcazou <ebotcazou@adacore.com>
9723
9724 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
9725 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
9726 if this is a Taft amendment type and the full declaration is available.
9727 * gcc-interface/trans.c (process_type): Likewise.
9728 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
9729 (process_freeze_entity): Likewise.
9730 * gcc-interface/utils.c (dummy_global): New static variable.
9731 (gnat_write_global_declarations): If there are types declared as used
9732 at the global level, insert them in the global hash table.
9733
97342011-04-02 Eric Botcazou <ebotcazou@adacore.com>
9735
9736 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
9737 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
9738 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
9739 copy.
9740 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
9741 flag of the type accordingly.
9742 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
9743
97442011-04-02 Eric Botcazou <ebotcazou@adacore.com>
9745
9746 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
9747 finalizing types when updating the pointers to the designated type.
9748 <all>: Finalize the deferred types even if we didn't defer processing
9749 of incomplete types in this invocation.
9750
97512011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
9752 Nicolas Setton <setton@adacore.com>
9753 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
9754
9755 * gcc-interface/misc.c (gnat_descriptive_type): New function.
9756 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
9757
97582011-03-28 Kai Tietz <ktietz@redhat.com>
9759
9760 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
9761 Windows targets.
9762 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
9763 * system-mingw.ads (System): Change ZCX_By_Default default to True.
9764
9765 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
9766
97672011-03-28 Tristan Gingold <gingold@adacore.com>
9768
9769 PR ada/44431
9770 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
9771 Use ada output of gnatbind.
9772 (ada/b_gnatb.adb): Ditto.
9773 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
9774 (ada.mostlyclean, ada.stage1)
9775 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
9776 (ada.stagefeedback): Adjust.
9777 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
9778 Use ada output of gnatbind.
9779 (b_gnatm.adb): Ditto.
9780 (b_gnatl.o, b_gnatm.o): New rules.
9781
97822011-03-26 Eric Botcazou <ebotcazou@adacore.com>
9783
9784 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
9785 for the padded type built to support a specified size or alignment.
9786
97872011-03-26 Eric Botcazou <ebotcazou@adacore.com>
9788
9789 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
9790 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
9791 unconditionally to the end of the unit when the designated type is
9792 limited_with'ed.
9793 <all>: Rename local variable. Attempt to un-defer types only and do it
9794 for limited_with'ed types as well.
9795 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
9796 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
9797 consistently and remove redundant call to finalize_from_with_types.
9798
97992011-03-26 Eric Botcazou <ebotcazou@adacore.com>
9800
9801 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
9802 subprograms without a previous spec declared in the same unit.
9803 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
9804 subprograms at the end of the unit instead of at the beginning.
9805 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
9806 isn't public for the special handling of non-inline functions nested
9807 inside inline external functions.
9808
98092011-03-25 Jeff Law <law@redhat.com>
9810
9811 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
9812
98132011-03-24 Eric Botcazou <ebotcazou@adacore.com>
9814
9815 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
9816 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
9817 to compute Set_Size_Depends_On_Discriminant.
9818 (Layout_Type): Call it on array types in back-end layout mode.
9819 * sem_util.adb (Requires_Transient_Scope): Return true for array
9820 types only if the size depends on the value of discriminants.
9821 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
9822 type if the RHS is a call to a function that returns an unconstrained
9823 type with default discriminant.
9824
98252011-03-24 Eric Botcazou <ebotcazou@adacore.com>
9826
9827 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
9828 non-conversion to the nominal result type at the end.
9829
98302011-03-23 Eric Botcazou <ebotcazou@adacore.com>
9831
9832 * gcc-interface/trans.c (create_temporary): New function taken from...
9833 (create_init_temporary): ...here. Call it.
9834 (call_to_gnu): Create the temporary for the return value early, if any.
9835 Create it for a function with copy-in/copy-out parameters if there is
9836 no target; in other cases of copy-in/copy-out, use another temporary.
9837 Push the new binding level lazily. Add and rename local variables.
9838
98392011-03-23 Eric Botcazou <ebotcazou@adacore.com>
9840
9841 * gcc-interface/decl.c (validate_size): Improve comments and tweak
9842 error message.
9843 (set_rm_size): Likewise.
9844
98452011-03-23 Eric Botcazou <ebotcazou@adacore.com>
9846
9847 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
9848 for the padded type built in order to support a specified alignment.
9849 Fix incorrect formatting.
9850
98512011-03-21 Eric Botcazou <ebotcazou@adacore.com>
9852
9853 PR bootstrap/48216
9854 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
9855
98562011-03-21 Eric Botcazou <ebotcazou@adacore.com>
9857
9858 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
9859 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
9860 to the end of the list. Adjust recursive call. Rename local variable.
9861 If REORDER is true, reorder components of the record type.
9862 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
9863 components_to_record and adjust the parameter list.
9864
98652011-03-21 Eric Botcazou <ebotcazou@adacore.com>
9866
9867 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
9868 disabled, use the variable for bounds of loop iteration scheme.
9869
98702011-03-21 Kai Tietz <ktietz@redhat.com>
9871
9872 PR target/12171
9873 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
9874
98752011-03-17 Eric Botcazou <ebotcazou@adacore.com>
9876
9877 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
9878 out whether the expression is read-only. Short-circuit placeholder
9879 case and rename a couple of local variables.
9880
98812011-03-17 Eric Botcazou <ebotcazou@adacore.com>
9882
9883 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
9884 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
9885 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
9886 (convert): Deal with conversions from a smaller form type specially.
9887
98882011-02-14 Eric Botcazou <ebotcazou@adacore.com>
9889
9890 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
9891 its argument, except for the special -I- switch.
9892
98932011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
9894
9895 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
9896 "Ada Issues".
9897
98982011-02-08 Eric Botcazou <ebotcazou@adacore.com>
9899
9900 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
9901
99022011-02-03 Eric Botcazou <ebotcazou@adacore.com>
9903
9904 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
9905 GNAT_FORMAL.
9906 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
9907 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
9908 instead of GNAT_FORMAL. Protect the expression against multiple uses.
9909 Do not generate the check directly, instead instantiate the template
9910 check present in the descriptor.
9911 (make_descriptor_field): Move around.
9912 (build_vms_descriptor32): Build a template check in the POINTER field.
9913 (build_vms_descriptor): Remove useless suffixes.
9914 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
9915
99162011-01-26 Eric Botcazou <ebotcazou@adacore.com>
9917
9918 PR bootstrap/47467
9919 * targext.c: Include target files if IN_RTS is defined.
9920
99212011-01-26 Richard Guenther <rguenther@suse.de>
9922
9923 PR bootstrap/47467
9924 * targext.c: Include config.h.
9925 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
9926 dependency.
9927
99282011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 9929 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
9930
9931 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
9932
99332011-01-04 Eric Botcazou <ebotcazou@adacore.com>
9934
9935 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
9936 end-of-case on the end label and its associated gotos, if any.
9937
99382011-01-04 Eric Botcazou <ebotcazou@adacore.com>
9939
9940 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
9941 expressions of the parameter cache within the statement group of
9942 the CICO mechanism.
9943
99442011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 9945 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
9946
9947 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
9948 (set_end_locus_from_node): New function.
9949 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
9950 make and the function end_locus.
9951 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
9952 for the elaboration subprogram.
9953 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
9954 set the end_locus of the expression as well.
9955
99562011-01-04 Eric Botcazou <ebotcazou@adacore.com>
9957
9958 PR ada/47131
9959 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
9960 variables that are referenced in exception handlers volatile.
9961
9962
9963\f
9964Copyright (C) 2011 Free Software Foundation, Inc.
9965
9966Copying and distribution of this file, with or without modification,
9967are permitted in any medium without royalty provided the copyright
9968notice and this notice are preserved.
9969
9970 * gnat_rm.texi: Ramification of pragma Eliminate documentation
9971 - fix bugs in the description of Source_Trace;
9972 - get rid of UNIT_NAME;
9973
4fbad0ba
AC
99742011-08-02 Javier Miranda <miranda@adacore.com>
9975
9976 * exp_ch9.adb
9977 (Build_Dispatching_Requeue): Adding support for VM targets
9978 since we cannot directly reference the Tag entity.
9979 * exp_sel.adb (Build_K): Adding support for VM targets.
9980 (Build_S_Assignment): Adding support for VM targets.
9981 * exp_disp.adb
9982 (Default_Prim_Op_Position): In VM targets do not restrict availability
9983 of predefined interface primitives to compiling in Ada 2005 mode.
9984 (Is_Predefined_Interface_Primitive): In VM targets this service is not
9985 restricted to compiling in Ada 2005 mode.
9986 (Make_VM_TSD): Generate code that declares and initializes the OSD
9987 record. Needed to support dispatching calls through synchronized
9988 interfaces.
9989 * exp_ch3.adb
9990 (Make_Predefined_Primitive_Specs): Enable generation of predefined
9991 primitives associated with synchronized interfaces.
9992 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
9993 primitives associated with synchronized interfaces.
9994
99952011-08-02 Yannick Moy <moy@adacore.com>
9996
9997 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
9998 statements hidden in SPARK if preceded by the HIDE directive
9999 (Parse_Exception_Handlers): mark each exception handler in a sequence of
10000 exception handlers as hidden in SPARK if preceded by the HIDE directive
10001 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
10002 if starting with the HIDE directive
10003 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
10004 starting with the HIDE directive; mark the declarations in a private
10005 part as hidden in SPARK if the private part starts with the HIDE
10006 directive
10007 * restrict.adb, restrict.ads
10008 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
10009 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
10010 argument node belongs to a part which is hidden in SPARK
10011 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
10012 parts in SPARK; protect the possibly costly call to
10013 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
10014 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
10015 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
10016 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
10017 Tok_SPARK_Hide.
10018 (Scan): recognize special comment starting with '#' and followed by
10019 SPARK keyword "hide" as a HIDE directive.
10020
100212011-08-02 Yannick Moy <moy@adacore.com>
10022
10023 * types.ads, erroutc.ads: Minor reformatting.
10024
100252011-08-02 Vincent Celier <celier@adacore.com>
10026
10027 * link.c: Add response file support for cross platforms.
10028
6ff6152d
ES
100292011-08-02 Ed Schonberg <schonberg@adacore.com>
10030
10031 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
10032 in an association, set parent field of copy before partial analysis.
10033 * sem_res.adb (Resolve_Slice): create reference to itype only when
10034 expansion is enabled.
10035
975c6896
YM
100362011-08-02 Yannick Moy <moy@adacore.com>
10037
10038 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
10039 for new flag denoting which subprogram bodies are in ALFA
10040 * restrict.adb, sem_ch7.adb: Update comment
10041 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
10042 sem_ch9.adb, sem_res.adb: Add calls to
10043 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
10044 * sem_ch6.adb (Analyze_Function_Return): add calls to
10045 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
10046 middle of the body, and extended return.
10047 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
10048 False when missing return.
10049 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
10050 to True for subprograms whose spec is in ALFA. Remove later on the flag
10051 on the entity used for a subprogram body when there exists a separate
10052 declaration.
10053 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
10054 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
10055 False, otherwise do nothing.
10056
afc8324d
AC
100572011-08-02 Robert Dewar <dewar@adacore.com>
10058
10059 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
10060
100612011-08-02 Yannick Moy <moy@adacore.com>
10062
10063 * sem_ch4.ads: minor formatting.
10064
2ba431e5
YM
100652011-08-02 Yannick Moy <moy@adacore.com>
10066
10067 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
10068 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
10069 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
10070 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
10071 opt.ads: cleanup of SPARK mode
10072
0f853035
YM
100732011-08-02 Yannick Moy <moy@adacore.com>
10074
10075 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
10076 types.
10077 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
10078 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
10079 * sem_ch3.adb
10080 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
10081 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
10082 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
10083 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
10084 types.
10085 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
10086 non-static range.
10087 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
10088 functions whose return type is not in ALFA.
10089 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
10090 specifications.
10091 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
10092 parameter's type is not in ALFA.
10093 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
10094 types are in ALFA.
10095
d2b10647
ES
100962011-08-02 Ed Schonberg <schonberg@adacore.com>
10097
10098 * sem_ch6 (Analyze_Expression_Function): treat the function as
10099 Inline_Always, and introduce a subprogram declaration for it when it is
10100 not a completion.
10101 * inline.adb (Add_Inlined_Body): recognize bodies that come from
10102 expression functions, so that the back-end can determine whether they
10103 can in fact be inlined.
10104 * sem_util.adb (Is_Expression_Function): predicate to determine whether
10105 a function body comes from an expression function.
10106
c7b9d548
AC
101072011-08-02 Gary Dismukes <dismukes@adacore.com>
10108
10109 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
10110 null exclusions to test Can_Never_Be_Null on the anonymous access types
10111 of the formals rather than testing the formals themselves. Exclude this
10112 check in cases where the Old_Formal is marked as a controlling formal,
10113 to avoid issuing spurious errors for bodies completing dispatching
10114 operations (due to the flag not getting set on controlling access
10115 formals in body specs).
10116 (Find_Corresponding_Spec): When checking full and subtype conformance of
10117 subprogram bodies in instances, pass Designated and E in that order, for
10118 consistency with the expected order of the formals (New_Id followed by
10119 Old_Id).
10120
101212011-08-02 Robert Dewar <dewar@adacore.com>
10122
10123 * sem_ch8.adb: Minor reformatting.
10124
1138cf59
AC
101252011-08-02 Ed Schonberg <schonberg@adacore.com>
10126
10127 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
10128 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
10129 primitive operations of class-wide actuals.
10130
101312011-08-02 Javier Miranda <miranda@adacore.com>
10132
10133 * exp_atag.ads, exp_atag.adb
10134 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
10135 since its value is implicitly passed in argument Typ.
10136 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
10137 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
10138 Build_Common_Dispatching_Select_Statements.
10139
7b9db926
RD
101402011-08-02 Robert Dewar <dewar@adacore.com>
10141
10142 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
10143 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
10144 Minor reformatting.
10145
e8374e7a
AC
101462011-08-02 Robert Dewar <dewar@adacore.com>
10147
10148 * sem_res.adb: Minor reformatting.
10149 * sem_prag.adb: Minor reformatting.
10150
101512011-08-02 Javier Miranda <miranda@adacore.com>
10152
10153 * exp_atag.adb, exp_atags.ads
10154 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
10155 by the tagged type Entity. Required to use this routine in the VM
10156 targets since we do not have available the Tag entity in the VM
10157 platforms.
10158 * exp_ch6.adb
10159 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
10160 Ada.Tags has not been previously loaded.
10161 * exp_ch7.adb
10162 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
10163 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
10164 * sem_aux.adb
10165 (Enclosing_Dynamic_Scope): Add missing support to handle the full
10166 view of enclosing scopes. Required to handle enclosing scopes that
10167 are synchronized types whose full view is a task type.
10168 * exp_disp.adb
10169 (Build_VM_TSDs): Minor code improvement to avoid generating and
10170 analyzing lists with empty nodes.
10171 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
10172 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
10173 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
10174 (Make_Disp_Timed_Select_Body): Add support for VM targets.
10175 (Make_Select_Specific_Data_Table): Add support for VM targets.
10176 (Make_VM_TSD): Generate code to initialize the SSD structure of
10177 the TSD.
10178
101792011-08-02 Yannick Moy <moy@adacore.com>
10180
10181 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
10182 cross-references section in ALI.
10183 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
10184 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
10185 Sub).
10186 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
10187 subprogram or package entity of a node
10188 (Is_Local_Reference_Type): new function returns True for references
10189 selected in local cross-references.
10190 (Lt): function extracted from Lt in Output_References
10191 (Write_Entity_Name): function extracted from Output_References
10192 (Generate_Definition): generate reference with type 'D' for definition
10193 of objects (object declaration and parameter specification), with
10194 appropriate locations and units, for use in local cross-references.
10195 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
10196 references of type 'I' for initialization in object definition.
10197 (Output_References): move part of function Lt and procedure
10198 Write_Entity_Name outside of the body. Ignore references of types 'D'
10199 and 'I' introduced for local cross-references.
10200 (Output_Local_References): new procedure to output the local
10201 cross-references sections.
10202 (Lref_Entity_Status): new array defining whether an entity is a local
10203 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
10204 with 'I' type when initialization expression is present.
10205 * get_scos.adb, get_scos.ads: Correct comments and typos
10206
1f6439e3
AC
102072011-08-02 Javier Miranda <miranda@adacore.com>
10208
10209 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
10210 the JVM target.
10211 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
10212 the JVM target.
10213 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
10214 TSD support.
10215
102162011-08-02 Vincent Celier <celier@adacore.com>
10217
10218 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
10219 (No_Space_Img): New function
10220 (Find_Excluded_Sources): When reading from a file, record the file name
10221 and the line number for each excluded source.
10222 (Mark_Excluded_Sources): When reporting an error, if the excluded
10223 sources were read from a file, include file name and line number in
10224 the error message.
10225
102262011-08-02 Ed Schonberg <schonberg@adacore.com>
10227
10228 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
10229
ab027d28
RD
102302011-08-02 Robert Dewar <dewar@adacore.com>
10231
10232 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
10233
b3b28b0c
JM
102342011-08-02 Javier Miranda <miranda@adacore.com>
10235
10236 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
10237 generation of TSDs to the DOTNET compiler.
10238 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
10239 generation of TSDs to the DOTNET compiler.
10240
9732e886
JM
102412011-08-02 Javier Miranda <miranda@adacore.com>
10242
10243 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
10244 record of all the tagged types declared inside library level package
10245 declarations, library level package bodies or library level subprograms.
10246 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
10247 associated with a given tagged type.
10248 (Build_VM_TSDs): New subprogram.
10249 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
10250 compilation units that are subprograms.
10251 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
10252 compilation units that are package bodies.
10253 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
10254 units that are a package declaration or a package instantiation.
10255 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
10256 reorganization to improve the error generated by the frontend when the
10257 function Ada.Tags.Secondary_Tag is not available.
10258 * rtsfind.ads (RE_Register_TSD): New runtime entity.
10259 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
10260
e526d0c7
AC
102612011-08-02 Javier Miranda <miranda@adacore.com>
10262
10263 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
10264
102652011-08-02 Robert Dewar <dewar@adacore.com>
10266
10267 * s-imenne.ads: Minor reformatting.
10268
102692011-08-02 Robert Dewar <dewar@adacore.com>
10270
10271 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
10272 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
10273 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
10274
102752011-08-02 Robert Dewar <dewar@adacore.com>
10276
10277 * einfo.ads (Materialize_Entity): Document this is only for renamings
10278 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
10279 required debug information in the case where we transform the object
10280 declaration into a renaming declaration.
10281 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
10282 object
10283 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
10284 Materialize_Entity.
10285
5b1e6aca
RD
102862011-08-02 Robert Dewar <dewar@adacore.com>
10287
10288 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
10289 Suppress_Init_Procs.
10290 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
10291 Suppress_Initialization/Initialization_Suppressed.
10292 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
10293 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
10294 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
10295 * sem_prag.adb: New processing for pragma Suppress_Initialization.
10296
5ad4969d
RD
102972011-08-02 Robert Dewar <dewar@adacore.com>
10298
10299 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
10300 Minor reformatting.
10301
8c4ee6f5
AC
103022011-08-02 Ed Schonberg <schonberg@adacore.com>
10303
10304 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
10305 only have inheritable classwide pre/postconditions.
10306
103072011-08-02 Javier Miranda <miranda@adacore.com>
10308
10309 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
10310 * rtsfind.ads (RE_Check_TSD): New runtime entity.
10311 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
10312 checks if the external tag of a type is the same as the external tag
10313 of some other declaration.
10314
0b3d16c0
AC
103152011-08-02 Thomas Quinot <quinot@adacore.com>
10316
10317 * s-taskin.ads: Minor reformatting.
10318
103192011-08-02 Emmanuel Briot <briot@adacore.com>
10320
10321 * g-comlin.adb (Display_Help): swap the order in which it prints the
10322 short help and the general usage.
10323
103242011-08-02 Ed Schonberg <schonberg@adacore.com>
10325
10326 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
10327 the aspect declarations and attach them to the generic copy for
10328 subsequent analysis.
10329 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
10330 declarations of the generic tree to the new subprogram declarations.
10331 * sem_attr.adb (Check_Precondition_Postcondition): recognize
10332 conditions that apply to a subprogram instance.
10333
103342011-08-02 Robert Dewar <dewar@adacore.com>
10335
10336 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
10337
103382011-08-02 Ed Schonberg <schonberg@adacore.com>
10339
10340 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
10341 private type with a tagged full view is not derived in the immediate
10342 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
10343
4637729f
AC
103442011-08-02 Robert Dewar <dewar@adacore.com>
10345
10346 * exp_ch4.adb: Minor reformatting.
10347
103482011-08-02 Ed Schonberg <schonberg@adacore.com>
10349
10350 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
10351 Ada2012 iterator, the loop will be rewritten during expansion into a
10352 while loop with a cursor and an element declaration. Do not analyze the
10353 body in this case, because if the container is for indefinite types the
10354 actual subtype of the elements will only be determined when the cursor
10355 declaration is analyzed.
10356
103572011-08-02 Arnaud Charlet <charlet@adacore.com>
10358
10359 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
10360 size/alignment related attributes in CodePeer_Mode.
10361
103622011-08-02 Gary Dismukes <dismukes@adacore.com>
10363
10364 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
10365 Prepend_Element, since this can result in the operation getting the
10366 wrong slot in the full type's dispatch table if the full type has
10367 inherited operations. The incomplete type's operation will get added
10368 to the proper position in the full type's primitives
10369 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
10370 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
10371 dispatching operations, since there are cases where nonprimitive
10372 subprograms can get added to the list of incomplete dependents (such
10373 as subprograms in nested packages).
10374 * sem_ch6.adb (Process_Formals): First, remove test for being in a
10375 private part when determining whether to add a primitive with a
10376 parameter of a tagged incomplete type to the Private_Dependents list.
10377 Such primitives can also occur in the visible part, and should not have
10378 been excluded from being private dependents.
10379 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
10380 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
10381 list of a Taft-amendment incomplete type is a primitive before issuing
10382 an error that the full type must appear in the same unit. There are
10383 cases where nonprimitives can be in the list (such as subprograms in
10384 nested packages).
10385 * sem_disp.adb (Derives_From): Use correct condition for checking that
10386 a formal's type is derived from the type of the corresponding formal in
10387 the parent subprogram (the condition was completely wrong). Add
10388 checking that was missing for controlling result types being derived
10389 from the result type of the parent operation.
10390
4c60de0c
YM
103912011-08-02 Yannick Moy <moy@adacore.com>
10392
10393 * errout.adb (First_Node): minor renaming
10394 * restrict.adb (Check_Formal_Restriction): put restriction warning on
10395 first node.
10396
f5afb270
AC
103972011-08-02 Yannick Moy <moy@adacore.com>
10398
10399 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
10400 before accessing operands.
10401 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
10402 decide whether an initialization expression respects SPARK rules, as
10403 the plain node is the expanded one. This allows for more valid warnings
10404 to be issued.
10405 * gnat_rm.texi: Minor update.
10406
104072011-08-02 Arnaud Charlet <charlet@adacore.com>
10408
10409 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
10410 previous change.
10411
104122011-08-02 Robert Dewar <dewar@adacore.com>
10413
10414 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
10415
104162011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
10417
10418 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
10419 loop statements and the element renaming declaration with a block when
10420 the element type is controlled.
10421
104222011-08-02 Yannick Moy <moy@adacore.com>
10423
10424 * sinfo.ads: Minor formatting.
10425
104262011-08-02 Ed Schonberg <schonberg@adacore.com>
10427
10428 * sem_aggr.adb (Add_Association): if the association has a box and no
10429 expression, use the Sloc of the aggregate itself for the new
10430 association.
10431 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
10432 the Original_Node.
10433
db72f10a
AC
104342011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
10435
10436 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
10437 When a container is provided via a function call, generate a renaming
10438 of the function result. This avoids the creation of a transient scope
10439 and the premature finalization of the container.
10440 * exp_ch7.adb (Is_Container_Cursor): Removed.
10441 (Wrap_Transient_Declaration): Remove the supression of the finalization
10442 of the list controller when the declaration denotes a container cursor,
10443 it is not needed.
10444
104452011-08-02 Yannick Moy <moy@adacore.com>
10446
10447 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
10448 node is from source, instead of the original node being from source.
10449 * sem_aggr.adb
10450 (Resolve_Array_Aggregate): refine the check for a static expression, to
10451 recognize also static ranges
10452 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
10453 Array_Type_Declaration): postpone the test for the type being a subtype
10454 mark after the type has been resolved, so that component-selection and
10455 expanded-name are discriminated.
10456 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
10457 to distinguish the case of an iteration scheme, so that an error is
10458 issed on a non-static range in SPARK except in an iteration scheme.
10459 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
10460 In_Iter_Schm = True.
10461 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
10462 user-defined operators so that they are allowed in renaming
10463 * sem_ch8.adb
10464 (Find_Selected_Component): refine the check for prefixing of operators
10465 so that they are allowed in renaming. Move the checks for restrictions
10466 on selector name after analysis discriminated between
10467 component-selection and expanded-name.
10468 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
10469 concatenation argument of string type if it is static.
10470 * sem_util.adb, sem_util.ads
10471 (Check_Later_Vs_Basic_Declarations): add a new function
10472 Is_Later_Declarative_Item to decice which declarations are allowed as
10473 later items, in the two different modes Ada 83 and SPARK. In the SPARK
10474 mode, add that renamings are considered as later items.
10475 (Enclosing_Package): new function to return the enclosing package
10476 (Enter_Name): correct the rule for homonyms in SPARK
10477 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
10478 from source (result of expansion) to avoid issuing wrong warnings.
10479
104802011-08-02 Ed Schonberg <schonberg@adacore.com>
10481
10482 * errout.adb: On anything but an expression First_Node returns its
10483 argument.
10484
23685ae6
AC
104852011-08-02 Pascal Obry <obry@adacore.com>
10486
10487 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
10488
104892011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
10490
10491 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
10492 Set the associated loop as the related expression of internally
10493 generated cursors.
10494 * exp_ch7.adb (Is_Container_Cursor): New routine.
10495 (Wrap_Transient_Declaration): Supress the finalization of the list
10496 controller when the declaration denotes a container cursor.
10497
104982011-08-02 Yannick Moy <moy@adacore.com>
10499
10500 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
10501 command line now.
10502 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
10503 expression is a simple expression. This check cannot be performed in
10504 the semantics, so just drop it.
10505 (P_Index_Or_Discriminant_Constraint): move check that the index or
10506 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
10507 semantics. Other cases were previously checked in the semantics.
10508 * par-ch4.adb (P_Name): move checks that a selector name is not
10509 character literal or an operator symbol to Find_Selected_Component in
10510 the semantics
10511 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
10512 declarations are not placed after later declarations in a separate
10513 procedure in Sem_Util (possibly not the best choice?), to be used both
10514 during parsing, for Ada 83 mode, and during semantic analysis, for
10515 SPARK mode.
10516 * par-endh.adb (Check_End): move check that end label is not missing
10517 to Process_End_Label in the semantics
10518 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
10519 the special case for SPARK restriction
10520 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
10521 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
10522 parameter Force to issue the error message even on internal node (used
10523 for generated end label). Call Check_Restriction to check when an error
10524 must be issued. In SPARK mode, issue an error message even if the
10525 restriction is not set.
10526 (Check_Restriction): new procedure with an additional out parameter to
10527 inform the caller that a message has been issued
10528 * sem_aggr.adb: Minor modification of message
10529 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
10530 instead of issuing an error message directly
10531 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
10532 declarations are not placed after later declarations, by calling
10533 Check_Later_Vs_Basic_Declarations
10534 (Analyze_Subtype_Declaration): move here the check that an index or
10535 discriminant constraint must be a subtype mark. Change the check that
10536 a subtype of String must start at one so that it works on subtype marks.
10537 * sem_ch4.adb (Analyze_Call): move here the check that a named
10538 association cannot follow a positional one in a call
10539 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
10540 instead of issuing an error message directly
10541 * sem_ch8.adb (Find_Selected_Component): move here the check that a
10542 selector name is not a character literal or an operator symbol. Move
10543 here the check that the prefix of an expanded name cannot be a
10544 subprogram or a loop statement.
10545 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
10546 procedure called from parsing and semantics to check that basic
10547 declarations are not placed after later declarations
10548 (Process_End_Label): move here the check that end label is not missing
10549
105502011-08-02 Arnaud Charlet <charlet@adacore.com>
10551
10552 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
10553 representation clause in codepeer mode, since it confuses CodePeer and
10554 does not bring useful info.
10555
105562011-08-02 Ed Falis <falis@adacore.com>
10557
10558 * init.c: initialize fp hw on MILS.
10559
105602011-08-02 Ed Schonberg <schonberg@adacore.com>
10561
10562 * errout.adb (First_Node): for bodies, return the node itself (small
10563 optimization). For other nodes, do not check source_unit if the node
10564 comes from Standard.
10565
d2d9cc22
AC
105662011-08-02 Robert Dewar <dewar@adacore.com>
10567
10568 * exp_ch3.adb: Minor comment additions.
10569 * sem_ch13.adb: Minor reformatting.
10570
105712011-08-02 Pascal Obry <obry@adacore.com>
10572
10573 * make.adb, makeutl.adb: Removes some superfluous directory separator.
10574
a01b9df6
AC
105752011-08-02 Robert Dewar <dewar@adacore.com>
10576
10577 * sem_attr.adb: Minor reformatting.
10578
105792011-08-02 Robert Dewar <dewar@adacore.com>
10580
10581 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
10582 (Has_Default_Component_Value): Removed
10583 * einfo.ads Comment updates
10584 (Has_Default_Aspect): Replaces Has_Default_Value
10585 (Has_Default_Component_Value): Removed
10586 * exp_ch13.adb
10587 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
10588 * exp_ch3.adb
10589 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
10590 (Get_Simple_Init_Val): Handle Default_Value aspect
10591 (Needs_Simple_Initialization): Handle Default_Value aspect
10592 * exp_ch3.ads: Needs_Simple_Initialization
10593 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
10594 * par-prag.adb (Pragma_Default[_Component]Value) Removed
10595 * sem_ch13.adb
10596 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
10597 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
10598 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
10599
106002011-08-02 Ed Schonberg <schonberg@adacore.com>
10601
10602 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
10603 package containing iteration primitives.
10604 exp_ch5.adb (Expand_Iterator_Loop): ditto.
10605
75c90775
AC
106062011-08-02 Ed Schonberg <schonberg@adacore.com>
10607
10608 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
10609 "of", pre-analyze expression in case it is a function call with
10610 finalization actions that must be placed ahead of the loop.
10611 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
10612 on an Ada2012 iterator, insert them ahead of the rewritten loop.
10613
106142011-08-02 Geert Bosch <bosch@adacore.com>
10615
10616 * cstand.adb (Create_Float_Types): Only consider C's long double for
10617 Long_Long_Float, in addition to double.
10618
ded8909b
AC
106192011-08-02 Robert Dewar <dewar@adacore.com>
10620
10621 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
10622 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
10623 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
10624 Minor reformatting.
10625
106262011-08-02 Ed Schonberg <schonberg@adacore.com>
10627
10628 * sem_attr.adb: handle properly 'Result when it is a prefix of an
10629 indexed component.
10630
106312011-08-02 Javier Miranda <miranda@adacore.com>
10632
10633 * einfo.ads, einfo.adb
10634 (Original_Access_Type): Move this attribute to Node26 since there was
10635 an undocumented use of Node21 in E_Access_Subprogram_Type entities
10636 which causes conflicts and breaks the generation of the .NET compiler.
10637 (Interface_Name): Add missing documentation on JGNAT only uses of
10638 this attribute.
10639
70c34e1c
AC
106402011-08-02 Geert Bosch <bosch@adacore.com>
10641
10642 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
10643 (Find_Back_End_Float_Type): Likewise
10644 (Create_Back_End_Float_Types): Likewise
10645 (Create_Float_Types): Likewise
10646 (Register_Float_Type): Likewise
10647 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
10648 Nlist and split out type selection in new local Find_Base_Type function.
10649 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
10650 Nlist
10651 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
10652
106532011-08-02 Robert Dewar <dewar@adacore.com>
10654
10655 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
10656 alpha order).
10657 * opt.ads: Minor comment change.
10658 * sem_ch12.adb: Minor code reorganization.
10659
b715bc59
AC
106602011-08-02 Gary Dismukes <dismukes@adacore.com>
10661
10662 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
10663 subtype's list of rep items to the list on the full subtype in the case
10664 where the lists are the same.
10665
106662011-08-02 Geert Bosch <bosch@adacore.com>
10667
10668 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
10669 using the one from System.Strings, which also deallocates all strings.
10670
002bdd68
AC
106712011-08-02 Geert Bosch <bosch@adacore.com>
10672
10673 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
10674 function.
10675 * gcc-interface/Make-lang.in: Update dependencies.
10676
106772011-08-02 Olivier Hainque <hainque@adacore.com>
10678
10679 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
10680 end_locus.
10681
499769ec
AC
106822011-08-02 Javier Miranda <miranda@adacore.com>
10683
10684 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
10685 associated with anonymous access to subprograms.
10686
106872011-08-02 Geert Bosch <bosch@adacore.com>
10688
10689 * opt.ads
10690 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
10691 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
10692 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
10693 (Add_Symbol_Definition): Move to switch-c.adb
10694 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
10695 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
10696 (Add_Symbol_Definition): Move to switch-c.adb.
10697 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
10698 * sem_warn.adb
10699 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
10700 Move to warnsw.adb.
10701 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
10702 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
10703 Move to warnsw.adb.
10704 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
10705 (Add_Symbol_Definition): Moved from Prepcomp.
10706 * switch-c.ads: Update copyright notice. Use String_List instead of
10707 Argument_List, removing dependency on System.OS_Lib.
10708
aa1e353a
AC
107092011-08-02 Yannick Moy <moy@adacore.com>
10710
10711 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
10712 mode on initialization expression which does not respect SPARK
10713 restrictions.
10714 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
10715 if the tree referenced by its argument represents an initialization
10716 expression in SPARK, suitable for initializing an object in an object
10717 declaration.
10718
107192011-08-02 Javier Miranda <miranda@adacore.com>
10720
10721 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
10722 internally generated access to subprogram with its associated protected
10723 subprogram type.
10724 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
10725
15b682ca
GB
107262011-08-02 Geert Bosch <bosch@adacore.com>
10727
10728 * cstand.adb (Register_Float_Type): Print information about type to
10729 register, if the Debug_Flag_Dot_B is set.
10730 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
10731 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
10732 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
10733 with a requested precision of more than Max_Digits digits and no more
10734 than Max_Base_Digits digits, if a range specification is present and the
10735 Predefined_Float_Types list has a suitable type to derive from.
10736 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
10737 case of type completion with pragma Import
10738 * sem_prag.adb
10739 (Process_Import_Predefined_Type): Processing to complete a type
10740 with pragma Import. Currently supports floating point types only.
10741 (Set_Convention_From_Pragma): Do nothing without underlying type.
10742 (Process_Convention): Guard against absence of underlying type,
10743 which may happen when importing incomplete types.
10744 (Process_Import_Or_Interface): Handle case of importing predefined
10745 types. Tweak error message.
10746
f8726f2b
AC
107472011-08-02 Eric Botcazou <ebotcazou@adacore.com>
10748
10749 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
10750 functions to previous change. Reorganize code slightly.
10751
107522011-08-02 Geert Bosch <bosch@adacore.com>
10753
10754 * back_end.ads (Register_Type_Proc): New call back procedure type for
10755 allowing the back end to provide information about available types.
10756 (Register_Back_End_Types): New procedure to register back end types.
10757 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
10758 available types.
10759 * cstand.adb (Back_End_Float_Types): New list for floating point types
10760 supported by the back end.
10761 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
10762 (Copy_Float_Type): New procedure to make new copies of predefined types.
10763 (Register_Float_Type): New call back procedure to populate the BEFT list
10764 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
10765 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
10766 (Create_Float_Types): New procedure to create entities for floating
10767 point types predefined in Standard, and put these and any remaining
10768 BEFTs on the Predefined_Float_Types list.
10769 * stand.ads (Predefined_Float_Types): New list for predefined floating
10770 point types that do not have declarations in package Standard.
10771
feecad68
AC
107722011-08-02 Eric Botcazou <ebotcazou@adacore.com>
10773
10774 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
10775 entity node for the unit containing the parameter.
10776 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
10777 (Add_Inlined_Subprogram): Likewise.
10778 * gcc-interface/Make-lang.in: Update dependencies.
10779
107802011-08-02 Thomas Quinot <quinot@adacore.com>
10781
10782 * s-stusta.adb (Print): Make sure Pos is always initialized to a
10783 suitable value.
10784
12f0c50c
AC
107852011-08-02 Geert Bosch <bosch@adacore.com>
10786
10787 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
10788
107892011-08-02 Eric Botcazou <ebotcazou@adacore.com>
10790
10791 * sem_type.adb (Covers): Move trivial case to the top and reuse the
10792 computed value of Base_Type.
10793
107942011-08-02 Yannick Moy <moy@adacore.com>
10795
10796 * restrict.adb (Check_Restriction): issue an error for any use of
10797 class-wide, even if the No_Dispatch restriction is not set.
10798 * sem_aggr.adb: Correct typos in comments and messages in formal mode
10799 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
10800 when completing a private extension, the type named in the private part
10801 is not the same as that named in the visible part.
10802 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
10803 of an inherited primitive operations of a tagged type or type extension
10804 that returns the tagged type.
10805 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
10806 function which returns True for an implicit operation inherited by the
10807 derived type declaration for the argument type.
10808 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
10809 order.
10810
fb86fe11
ES
108112011-08-02 Ed Schonberg <schonberg@adacore.com>
10812
10813 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
10814 Process_Bounds, to perform analysis with expansion of a range or an
10815 expression that is the iteration scheme for a loop.
10816 (Analyze_Iterator_Specification): If domain of iteration is given by a
10817 function call with a controlled result, as is the case if call returns
10818 a predefined container, ensure that finalization actions are properly
10819 generated.
10820 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
10821
62be5d0a
JM
108222011-08-02 Javier Miranda <miranda@adacore.com>
10823
10824 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
10825 * gcc-interface/Make-lang.in: Update dependencies.
10826
108272011-08-02 Javier Miranda <miranda@adacore.com>
10828
10829 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
10830 determine if the analysis is performed using N or Original_Node (N).
10831 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
10832 functionality of routine Is_Variable avoids code duplication.
10833 * checks.adb (Determine_Range): Handle temporaries generated by
10834 Remove_Side_Effects.
10835
108362011-08-02 Javier Miranda <miranda@adacore.com>
10837
10838 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
10839 expansion of the condition. Required since the previous analysis was
10840 done with expansion disabled (see Resolve_Quantified_Expression) and
10841 hence checks were not inserted and record comparisons have not been
10842 expanded.
10843
a20f4389
AC
108442011-08-02 Ed Falis <falis@adacore.com>
10845
10846 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
10847 Update header.
10848
108492011-08-02 Bob Duff <duff@adacore.com>
10850
10851 * opt.ads: Minor comment fix.
10852
108532011-08-02 Bob Duff <duff@adacore.com>
10854
10855 * sem_ch12.adb (Analyze_Package_Instantiation,
10856 Analyze_Subprogram_Instantiation): Turn off style checking while
10857 analyzing an instance. Whatever style checks that apply to the generic
10858 unit should apply, so it makes no sense to apply them in an instance.
10859 This was causing trouble when compiling an instance of a runtime
10860 unit that violates the -gnatyO switch.
10861 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
10862 one of the two case statements, causing spurious errors.
10863
108642011-08-02 Robert Dewar <dewar@adacore.com>
10865
10866 * uname.adb: Minor reformatting.
10867 * gnatcmd.adb: Minor reformatting.
10868 * exp_attr.adb: Minor reformatting.
10869
90878b12
AC
108702011-08-02 Ed Schonberg <schonberg@adacore.com>
10871
10872 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
10873 No_Dispatching_Calls, do not look for the Assign primitive, because
10874 predefined primitives are not created in this case.
10875
108762011-08-02 Bob Duff <duff@adacore.com>
10877
10878 * stylesw.ads: Minor comment fixes.
10879
108802011-08-02 Robert Dewar <dewar@adacore.com>
10881
10882 * freeze.adb (Add_To_Result): New procedure.
10883
108842011-08-02 Jose Ruiz <ruiz@adacore.com>
10885
10886 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
10887 time, if the specific run-time routines for handling streams of strings
10888 are not available, use the default mechanism.
10889
108902011-08-02 Arnaud Charlet <charlet@adacore.com>
10891
10892 * s-regpat.ads: Fix typo.
10893
108942011-08-02 Vincent Celier <celier@adacore.com>
10895
10896 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
10897 not null, call it to create the in memory config project file without
10898 parsing an existing default config project file.
10899
109002011-08-02 Eric Botcazou <ebotcazou@adacore.com>
10901
10902 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
10903
109042011-08-02 Ed Schonberg <schonberg@adacore.com>
10905
10906 * sem_elim.adb: an abstract subprogram does not need an eliminate
10907 pragma for its descendant to be eliminable.
10908
109092011-08-02 Ed Falis <falis@adacore.com>
10910
10911 * init.c: revert to handling before previous checkin for VxWorks
10912 * s-intman-vxworks.adb: delete unnecessary declarations related to
10913 using Ada interrupt facilities for handling signals.
10914 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
10915 * s-intman-vxworks.ads: Import __gnat_install_handler as
10916 Initialize_Interrupts.
10917 * s-taprop-vxworks.adb: Delete Signal_Mask.
10918 (Abort_Handler): change construction of mask to unblock exception
10919 signals.
10920
273adcdf
AC
109212011-08-02 Jerome Guitton <guitton@adacore.com>
10922
10923 * a-except-2005.adb (Raise_From_Signal_Handler): Call
10924 Debug_Raise_Exception before propagation starts.
10925
109262011-08-02 Eric Botcazou <ebotcazou@adacore.com>
10927
10928 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
10929 to Restriction_Check_Required.
10930 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
10931 * sem_res.adb (Resolve_Call): Likewise.
10932 * sem_attr.adb (Check_Stream_Attribute): Likewise.
10933
109342011-08-02 Bob Duff <duff@adacore.com>
10935
10936 * stylesw.ads: Update comment.
10937 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
10938 * errout.ads: Remove obsolete comment.
10939
109402011-08-02 Javier Miranda <miranda@adacore.com>
10941
10942 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
10943 (Set_Is_Safe_To_Reevaluate): new procedure.
10944 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
10945 assignment is allowed on safe-to-reevaluate variables.
10946 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
10947 temporary created to remove side effects in expressions that use
10948 the secondary stack as safe-to-reevaluate.
10949 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
10950 variables that are not true constants.
10951
6320f5e1
AC
109522011-08-02 Robert Dewar <dewar@adacore.com>
10953
10954 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
10955 sem_res.adb, sem_ch6.adb: Minor reformatting.
10956
109572011-08-02 Jerome Guitton <guitton@adacore.com>
10958
10959 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
10960
2fe829ae
ES
109612011-08-02 Ed Schonberg <schonberg@adacore.com>
10962
10963 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
10964 not set Overridden_Operation if subprogram is an initialization
10965 procedure.
10966
e24329cd
YM
109672011-08-02 Yannick Moy <moy@adacore.com>
10968
10969 * par-ch6.adb: Correct obsolete name in comments
10970 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
10971 which takes two message arguments (existing function takes one), with
10972 second message used for continuation.
10973 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
10974 block statements that originate from a source block statement, not
10975 generated block statements
10976 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
10977 symmetry with procedure case
10978 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
10979 function to issue an error in formal mode if a package specification
10980 contains more than one tagged type or type extension.
10981 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
10982 parameters matching formals of tagged types are objects (or ancestor
10983 type conversions of objects), not general expressions. Issue an error
10984 on view conversions that are not involving ancestor conversion of an
10985 extended type.
10986 (Resolve_Type_Conversion): in formal mode, issue an error on the
10987 operand of an ancestor type conversion which is not an object
10988 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
10989 procedure so that it works also for actuals of function calls
10990 (Is_Actual_Tagged_Parameter): new function which determines if its
10991 argument is an actual parameter of a formal of tagged type in a
10992 subprogram call
10993 (Is_SPARK_Object_Reference): new function which determines if the tree
10994 referenced by its argument represents an object in SPARK
10995
176dadf6
AC
109962011-08-02 Robert Dewar <dewar@adacore.com>
10997
10998 * sem_ch3.adb: Minor reformatting
10999 Minor comment addition
11000 Minor error msg text change
11001
110022011-08-02 Javier Miranda <miranda@adacore.com>
11003
11004 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
11005 function. Used to be more precise when we generate a variable plus one
11006 assignment to remove side effects in the evaluation of the Bound
11007 expressions.
11008 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
11009 of the bound expression to force its re-analysis and thus expand the
11010 associated transient scope (if required). Code cleanup replacing the
11011 previous code that declared the constant entity by an invocation to
11012 routine Force_Evaluation which centralizes this work in the frontend.
11013
d8b962d8
AC
110142011-08-02 Robert Dewar <dewar@adacore.com>
11015
11016 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
11017 (Base_Type): Now uses improved Is_Base_Type function
11018 * einfo.ads (Base_Type): Inline this function
11019
110202011-08-02 Robert Dewar <dewar@adacore.com>
11021
11022 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
11023 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
11024
110252011-08-02 Arnaud Charlet <charlet@adacore.com>
11026
11027 * gcc-interface/Make-lang.in: Update dependencies.
11028 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
11029 targets.
11030
110312011-08-02 Yannick Moy <moy@adacore.com>
11032
11033 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
11034 non-simple expression used in delta constraint
11035 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
11036 index constraint which is not a subtype mark
11037 * par.adb: With and use Restrict
11038 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
11039 mode on component type which is not a subtype mark and default
11040 expression on component
11041 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
11042 of string which does not have a lower index bound equal to 1
11043 (Array_Type_Declaration): issue an error in formal mode on index or
11044 component type which is not a subtype mark, and on aliased keyword on
11045 component
11046 (Derived_Type_Declaration): issue an error in formal mode on interface,
11047 limited or abstract type
11048 (Record_Type_Declaration): issue an error in formal mode on interface
11049 (Record_Type_Definition): issue an error in formal mode on tagged types
11050 and type extensions not declared in the specification of a library unit
11051 package; on null non-tagged record; on variant part
11052
110532011-08-02 Vincent Celier <celier@adacore.com>
11054
11055 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
11056 not declared for qualified library project when Library_Name is not
11057 declared, but Library_Dir is.
11058
110592011-08-02 Robert Dewar <dewar@adacore.com>
11060
11061 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
11062 pragmas (affects aspects [Component_]Default_Value
11063 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
11064 component type for the resolution
11065
f96b2d85
AC
110662011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11067
11068 * einfo.adb (Base_Type): Tune implementation for speed.
11069
110702011-08-02 Robert Dewar <dewar@adacore.com>
11071
11072 * freeze.adb: Minor reformatting.
11073
8b3c6430
AC
110742011-08-02 Thomas Quinot <quinot@adacore.com>
11075
11076 * scos.ads: Update comments.
11077
110782011-08-02 Ed Schonberg <schonberg@adacore.com>
11079
11080 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
11081 base type, because the parent may be a subtype of a private type whose
11082 convention is established in a private part.
11083
110842011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
11085
11086 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
11087 statement in a block when the expansion of the return expression has
11088 created a finalization chain.
11089 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
11090 with the parent node.
11091 Add N_Extended_Return_Statement to handle the case where a transient
11092 object declaration appears in the Return_Object_Declarations list of
11093 an extended return statement.
11094
110952011-08-02 Matthew Gingell <gingell@adacore.com>
11096
11097 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
11098 unused parameter 'name'.
11099
111002011-08-02 Ed Schonberg <schonberg@adacore.com>
11101
11102 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
11103 inherited operation, check whether its alias, which is the source
11104 operastion that it renames, has been marked eliminated.
11105
cae81f17
JM
111062011-08-02 Javier Miranda <miranda@adacore.com>
11107
11108 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
11109 in-mode parameter whose type is an access type since it can be used to
11110 modify its designated object. Enforce code that handles as safe an
11111 access type that is not access-to-constant but it is the result of a
11112 previous removal of side-effects.
11113 (Remove_Side_Effects): Minor code reorganization of cases which require
11114 no action. Done to incorporate documentation on new cases uncovered
11115 working in this ticket: no action needed if this routine was invoked
11116 too early and the nodes are not yet decorated.
11117 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
11118 to routine Remove_Side_Effects by calls to Force_Evaluation since they
11119 were issued with actuals that are implicitly provided by
11120 Force_Evaluation.
11121
218e6dee
RD
111222011-08-02 Robert Dewar <dewar@adacore.com>
11123
11124 * sem_ch3.adb, sem_res.adb: Minor reformatting.
11125
7a489a2b
AC
111262011-08-02 Yannick Moy <moy@adacore.com>
11127
11128 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
11129 to issue an error in formal mode on attribute not supported in this mode
11130 (Analyze_Attribute): issue errors on standard attributes not supported
11131 in formal mode.
11132 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
11133 comment, and issue error in formal mode on modulus which is not a power
11134 of 2.
11135 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
11136 range.
11137 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
11138 subtype mark.
11139 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
11140 operator on modular type (except 'not').
11141
111422011-08-02 Robert Dewar <dewar@adacore.com>
11143
11144 * gnat_rm.texi: Minor reformatting.
11145
cb7fa356
AC
111462011-08-02 Arnaud Charlet <charlet@adacore.com>
11147
11148 * s-osinte-linux.ads: Minor comment update and reformatting.
11149 * i-cexten.ads: Make this unit pure, as for its parent.
11150 Will allow its usage in more contexts if needed.
11151
111522011-08-02 Robert Dewar <dewar@adacore.com>
11153
11154 * s-utf_32.ads: Minor comment fix.
11155
111562011-08-02 Ed Schonberg <schonberg@adacore.com>
11157
11158 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
11159 operation of a tagged synchronized type, handle the case where the
11160 controlling argument is overloaded.
11161
111622011-08-02 Yannick Moy <moy@adacore.com>
11163
11164 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
11165 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
11166 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
11167 SPARK mode and formal verification mode on processing SPARK restriction
11168 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
11169 requiring consistency checking.
11170
5cc9353d
RD
111712011-08-02 Robert Dewar <dewar@adacore.com>
11172
11173 * sem_res.adb: Minor reformatting.
11174
e51537ff
RD
111752011-08-02 Robert Dewar <dewar@adacore.com>
11176
11177 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
11178 a-cforse.ads: Remove unneeded with of Ada.Containers
11179 Remove commented out pragma Inline's
11180 Move specifications of new subprograms to the actual specs
11181
83fa09c5
AC
111822011-08-02 Yannick Moy <moy@adacore.com>
11183
11184 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
11185 a-cforse.ads: Update comments.
11186
111872011-08-02 Ed Schonberg <schonberg@adacore.com>
11188
11189 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
11190
d11cfaf8
RD
111912011-08-02 Robert Dewar <dewar@adacore.com>
11192
11193 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
11194 a-cforse.ads, a-cofove.ads: Minor reformatting.
11195
300b98bb
AC
111962011-08-02 Claire Dross <dross@adacore.com>
11197
11198 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
11199 a-cofove.ads: Add comments.
11200
112012011-08-02 Yannick Moy <moy@adacore.com>
11202
11203 * gnat_rm.texi: Document formal containers.
11204
112052011-08-02 Emmanuel Briot <briot@adacore.com>
11206
11207 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
11208 are empty sections.
11209
19fb051c
AC
112102011-08-02 Robert Dewar <dewar@adacore.com>
11211
11212 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
11213 reformatting.
11214
112152011-08-02 Robert Dewar <dewar@adacore.com>
11216
11217 * aspects.adb: New aspects Default_Value and Default_Component_Value
11218 New format of Aspect_Names table checks for omitted entries
11219 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
11220 handling of boolean aspects for derived types.
11221 New aspects Default_Value and Default_Component_Value
11222 New format of Aspect_Names table checks for omitted entries
11223 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
11224 (Has_Default_Value): New flag
11225 (Has_Default_Component_Value): New flag
11226 (Has_Default_Value): New flag
11227 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
11228 table.
11229 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
11230 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
11231 Default_Value and Default_Component_Value
11232 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
11233 New aspects Default_Value and Default_Component_Value
11234 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
11235 * sprint.adb: Print N_Aspect_Specification node when called from gdb
11236
112372011-08-02 Vincent Celier <celier@adacore.com>
11238
11239 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
11240 inherit library kind.
11241
112422011-08-02 Ed Schonberg <schonberg@adacore.com>
11243
11244 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
11245 Minor reformatting.
11246
112472011-08-02 Robert Dewar <dewar@adacore.com>
11248
11249 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
11250
5f7747af
AC
112512011-08-02 Yannick Moy <moy@adacore.com>
11252
11253 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
11254
112552011-08-02 Robert Dewar <dewar@adacore.com>
11256
11257 * impunit.adb: Add comment.
11258
a5fe697b
AC
112592011-08-02 Yannick Moy <moy@adacore.com>
11260
11261 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
11262 qualification of aggregates in formal mode
11263 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
11264 another aggregate
11265 (Resolve_Aggregate): complete the test that an aggregate is adequately
11266 qualified in formal mode
11267
112682011-08-02 Pascal Obry <obry@adacore.com>
11269
11270 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
11271 * mlib-prj.adb: Supress warning when compiling binder generated file.
11272 (Build_Library): Supress all warnings when compiling the binder
11273 generated file.
11274
bd65a2d7 112752011-08-02 Yannick Moy <moy@adacore.com>
d4487611 11276
bd65a2d7
AC
11277 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
11278 from here...
11279 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
11280 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
11281 Add with/use clauses to make Check_Formal_Restriction visible
11282
112832011-08-02 Ed Schonberg <schonberg@adacore.com>
11284
11285 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
11286 in-parameters when type of the generic formal is private in the generic
11287 spec and non-private in the body.
11288
112892011-08-02 Claire Dross <dross@adacore.com>
11290
11291 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
11292 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
11293 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
11294 * impunit.adb, Makefile.rtl: Take new files into account.
d4487611
AC
11295
112962011-08-02 Robert Dewar <dewar@adacore.com>
11297
11298 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
11299 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
11300
bd434b3f
YM
113012011-08-02 Yannick Moy <moy@adacore.com>
11302
11303 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
11304 formal mode
11305 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
11306 matching static array bounds, taking into account the special case of
11307 string literals
11308 * sem_ch3.adb: Typo in comment.
11309
fe5d3068
YM
113102011-08-02 Yannick Moy <moy@adacore.com>
11311
11312 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
11313 which issues an error in formal mode if its argument node is originally
11314 from source
11315 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
11316 has a discriminant specification so that it does not include the case
11317 of derived types
11318 (Derived_Type_Declaration): move here the test that a derived type has a
11319 discriminant specification
11320 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
11321 first element of a component association before accessing its choices
11322 (presence of component association is not enough)
11323 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
11324 declaration is a library item before accessing the next element in a
11325 list, as library items are not member of lists
11326 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
11327 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
11328 Check_Formal_Restriction whenever possible.
11329
b60a3f26
AC
113302011-08-02 Ed Schonberg <schonberg@adacore.com>
11331
11332 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
11333 reference when needed.
11334
113352011-08-02 Bob Duff <duff@adacore.com>
11336
11337 * gnat_ugn.texi: Fix typo.
11338
113392011-08-02 Vincent Celier <celier@adacore.com>
11340
11341 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
11342 archive file name. Do not use the full path name of archives for Open
11343 VMS.
11344
eaba57fb
RD
113452011-08-02 Robert Dewar <dewar@adacore.com>
11346
11347 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
11348 Analyze_Aspect_Specifications
11349 * sem_ch13.adb
11350 (Analyze_Aspect_Specifications): New handling for boolean aspects
11351 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
11352 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
11353 sequence for Analyze_Aspect_Specifications
11354 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
11355 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
11356
113572011-08-02 Robert Dewar <dewar@adacore.com>
11358
11359 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
11360 aspects, since these no longer exist.
11361
113622011-08-02 Robert Dewar <dewar@adacore.com>
11363
11364 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
11365 semicolon, do not try to see if there are aspects following it.
11366 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
11367 aspect spec.
11368
8830d1d2
AC
113692011-08-02 Robert Dewar <dewar@adacore.com>
11370
11371 * sem_ch8.adb, aspects.ads: Minor reformatting.
11372
113732011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11374
11375 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
11376 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
11377 extracted from...
11378 (Analyze_Aspect_Specifications): ...here. Call above procedure.
11379
7ff2d234
AC
113802011-08-02 Yannick Moy <moy@adacore.com>
11381
11382 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
11383 mode on subprogram declaration outside of package specification, unless
11384 it is followed by a pragma Import
11385 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
11386 Access_Type_Declaration): issue error in formal mode on access type
11387 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
11388 incomplete type
11389 (Analyze_Object_Declaration): issue error in formal mode on object
11390 declaration which does not respect SPARK restrictions
11391 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
11392 declaration which does not respect SPARK restrictions
11393 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
11394 error in formal mode on digits or delta constraint
11395 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
11396 decimal fixed point type
11397 (Derived_Type_Declaration): issue error in formal mode on derived type
11398 other than type extensions of tagged record types
11399 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
11400 with check on access definition
11401 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
11402 mode on protected definition.
11403 (Analyze_Task_Definition): issue error in formal mode on task definition
11404
114052011-08-02 Robert Dewar <dewar@adacore.com>
11406
11407 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
11408
806f6d37
AC
114092011-08-02 Javier Miranda <miranda@adacore.com>
11410
11411 * sem_ch6.adb (Can_Override_Operator): New function.
11412 (Verify_Overriding_Indicator): Add missing code to check overriding
11413 indicator in operators. Fixes regression.
11414 (Check_Overriding_Indicator): Minor reformating after replacing the
11415 code that evaluates if the subprogram can override an operator by
11416 invocations to the above new function.
11417 * einfo.adb
11418 (Write_Field26_Name): Add missing code to ensure that, following
11419 the documentation in einfo.ads, this field is not shown as attribute
11420 "Static_Initialization" on non-dispatching functions.
11421
114222011-08-02 Jose Ruiz <ruiz@adacore.com>
11423
11424 * sem_res.adb (Resolve_Call): A call to
11425 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
11426 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
11427 i.e., when the second parameter is of type Time_Span.
11428
114292011-08-02 Vincent Celier <celier@adacore.com>
11430
11431 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
11432 with an archive instead of -L<library dir> -l<library name>.
11433
114342011-08-02 Ed Schonberg <schonberg@adacore.com>
11435
11436 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
11437 mark the base types In_Use in addition to making the operations
11438 use_visible.
11439
114402011-08-02 Ed Falis <falis@adacore.com>
11441
11442 * init.c: add and setup __gnat_signal_mask for the exception signals
11443 * s-inmaop-vxworks.adb: new file.
11444 * s-intman-vxworks.adb: remove unnecessary initializations and
11445 simplify remaining
11446 * s-intman-vxworks.ads: remove unnecessary variable
11447 * s-taprop-vxworks.adb: simplify signal initialization
11448
780d052e
RD
114492011-08-02 Robert Dewar <dewar@adacore.com>
11450
11451 * sem_ch8.adb: Minor code reorganization, comment updates.
11452
114532011-08-02 Robert Dewar <dewar@adacore.com>
11454
11455 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
11456 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
11457 here from Sem_Res.
11458 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
11459 (Matching_Static_Array_Bounds): Moved here from Sem_Res
11460
29efbb8c
ES
114612011-08-02 Ed Schonberg <schonberg@adacore.com>
11462
11463 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
11464 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
11465 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
11466 use_type_clauses, to handle more efficiently use_type and use_all_type
11467 constructs.
11468 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
11469 Ada2012 Use_All_Type clause.
11470 (Use_Class_Wide_Operations): new procedure.
11471
b0186f71
AC
114722011-08-02 Robert Dewar <dewar@adacore.com>
11473
11474 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
11475 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
11476 expression to expression function.
11477
114782011-08-02 Ed Schonberg <schonberg@adacore.com>
11479
11480 * sem_ch4.adb: transform simple Ada2012 membership into equality only
11481 if types are compatible.
11482
114832011-08-02 Yannick Moy <moy@adacore.com>
11484
11485 * sem_res.adb (Matching_Static_Array_Bounds): new function which
11486 returns True if its argument array types have same dimension and same
11487 static bounds at each index.
11488 (Resolve_Actuals): issue an error in formal mode on actuals passed as
11489 OUT or IN OUT paramaters which are not view conversions in SPARK.
11490 (Resolve_Arithmetic_Op): issue an error in formal mode on
11491 multiplication or division with operands of fixed point types which are
11492 not qualified or explicitly converted.
11493 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
11494 Boolean or array type (except String) operands.
11495 (Resolve_Equality_Op): issue an error in formal mode on equality
11496 operators for array types other than String with non-matching static
11497 bounds.
11498 (Resolve_Logical_Op): issue an error in formal mode on logical operators
11499 for array types with non-matching static bounds. Factorize the code in
11500 Matching_Static_Array_Bounds.
11501 (Resolve_Qualified_Expression): issue an error in formal mode on
11502 qualified expressions for array types with non-matching static bounds.
11503 (Resolve_Type_Conversion): issue an error in formal mode on type
11504 conversion for array types with non-matching static bounds
11505
767bb4e8
AC
115062011-08-02 Robert Dewar <dewar@adacore.com>
11507
11508 * par-ch10.adb: Minor code reorganization (use Nkind_In).
11509
115102011-08-02 Ed Schonberg <schonberg@adacore.com>
11511
11512 * par-ch9.adb: save location of entry for proper error message.
11513
4ac2477e
JM
115142011-08-02 Javier Miranda <miranda@adacore.com>
11515
11516 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
11517 (Use_Full_View) which permits this routine to climb through the
11518 ancestors using the full-view of private parents.
11519 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
11520 Use_Full_View to true in calls to Is_Ancestor.
11521 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
11522 true in call to Is_Ancestor.
11523 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
11524 Use_Full_View to true in call to Is_Ancestor.
11525 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
11526 call to Is_Ancestor.
11527 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
11528 Use_Full_View to true in calls to Is_Ancestor.
11529 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
11530 Make_Select_Specific_Data_Table, Register_Primitive,
11531 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
11532 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
11533 to true in call to Is_Ancestor.
11534 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
11535 Use_Full_View to true in calls to Is_Ancestor.
11536 * exp_cg.adb
11537 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
11538 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
11539
9f90d123
AC
115402011-08-02 Robert Dewar <dewar@adacore.com>
11541
11542 * gnat_rm.texi: Minor reformatting.
11543 * sem_prag.adb: Minor reformatting.
11544
115452011-08-02 Tristan Gingold <gingold@adacore.com>
11546
11547 * vms_data.ads: Add VMS qualifier for -gnateP.
11548
115492011-08-02 Robert Dewar <dewar@adacore.com>
11550
11551 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
11552 * par-ch7.adb (P_Package): Proper placement of aspects for package
11553 decl/instantiation.
11554 * par-endh.adb (Check_End): Ad Is_Sloc parameter
11555 (End_Statements): Add Is_Sloc parameterr
11556 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
11557 (Check_End): Ad Is_Sloc parameter
11558 (End_Statements): Add Is_Sloc parameterr
11559
115602011-08-02 Vincent Celier <celier@adacore.com>
11561
11562 * ug_words: Add VMS qualifier equivalent to -gnateP:
11563 /SYMBOL_PREPROCESSING.
11564
115652011-08-02 Jose Ruiz <ruiz@adacore.com>
11566
11567 * gnat-style.texi: For hexadecimal numeric literals the typical
11568 grouping of digits is 4 to represent 2 bytes.
11569 A procedure spec which is split into several lines is indented two
11570 characters.
11571
115722011-08-02 Yannick Moy <moy@adacore.com>
11573
11574 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
11575 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
11576 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
11577 properly qualified
11578 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
11579 choice in array aggregate
11580 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
11581 mark as ancestor
11582 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
11583 positional and named aggregate for record, or others in record
11584 aggregate, or multiple choice in record aggregate
11585 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
11586 array operands to logical operations AND, OR and XOR do not have the
11587 same static lower and higher bounds
11588 * sem_ch5.adb, sinfo.ads: Correct typos in comments
11589
2933b16c
RD
115902011-08-01 Robert Dewar <dewar@adacore.com>
11591
11592 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
11593 Replaces Last_Source_Node_In_Sequence.
11594 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
11595 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
11596 parens and blank in string (this was inconsistently implemented).
11597 * errout.ads
11598 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
11599 blank in string (this was inconsistently implemented).
11600 * gnat1drv.adb
11601 (Set_Global_Switches): Set formal mode switches appropriately
11602 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
11603 * par-prag.adb
11604 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
11605 call Set_Error_Msg_Lang to set "spark" as language name.
11606 * par.adb: Remove unnecessary call to set formal language for errout
11607 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
11608 appropriately and call Set_Error_Msg_Lang to set "spark" as language
11609 name.
11610 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
11611 calls to it, moved after resolution so that types are known
11612 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
11613 result of concatenation is not of type String
11614 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
11615 concatenation is not properly restricted
11616 * gnat_rm.texi: Add doc on pragma Spark_95.
11617 * gcc-interface/Makefile.in: Remove obsolete target pairs for
11618 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
11619 * gcc-interface/Make-lang.in: Update dependencies.
11620
05dbd302
AC
116212011-08-01 Javier Miranda <miranda@adacore.com>
11622
11623 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
11624 condition that detects if the overridden operation must replace an
11625 existing entity.
11626
116272011-08-01 Javier Miranda <miranda@adacore.com>
11628
11629 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
11630 code declarations inserted by Insert_Actions in each alternative of the
11631 N_Case_Expression node.
11632
116332011-08-01 Robert Dewar <dewar@adacore.com>
11634
11635 * sem_ch6.adb: Minor code reorganization.
11636 * sem_util.adb: Minor reformatting.
11637
af9e051f
PO
116382011-08-01 Pascal Obry <obry@adacore.com>
11639
11640 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
11641 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
11642
1d801f21
AC
116432011-08-01 Yannick Moy <moy@adacore.com>
11644
11645 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
11646 literal or operator symbol which is prefixed
11647 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
11648 mode on access attributes.
11649 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
11650 that concatenation operands are properly restricted in formal mode
11651 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
11652 Analyze_Concatenation_Operand. Issue an error in formal mode if the
11653 result of the concatenation has a type different from String.
11654 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
11655 Analyze_Quantified_Expression, Analyze_Slice,
11656 Analyze_Null): issue an error in formal mode on unsupported constructs
11657 * sem_ch5.adb
11658 (Analyze_Block_Statement): only issue error on source block statement
11659 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
11660 function which returns the last node in a list of nodes for which
11661 Comes_From_Source returns True, if any
11662 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
11663 Last_Source_Node_In_Sequence
11664 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
11665 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
11666 mode on unsupported constructs
11667 * sem_ch9.adb Do not return after issuing error in formal mode, as the
11668 rest of the actions may be needed later on since the error is marked as
11669 not serious.
11670 * sinfo.ads: Typos in comments.
11671
116722011-08-01 Pascal Obry <obry@adacore.com>
11673
11674 * projects.texi: Minor editing.
11675
53beff22
YM
116762011-08-01 Yannick Moy <moy@adacore.com>
11677
11678 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
11679 insertion character ~~
11680 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
11681 (Set_Error_Msg_Lang): new procedure which fixes the language for use
11682 with insertion character ~~
11683 (Set_Msg_Text): treat insertion character ~~
11684 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
11685 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
11686 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
11687 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
11688 errors related to the formal language restriction not serious
11689 (insertion character |).
11690 * par.adb (Par): set formal language for error messages if needed
11691 * sem_ch6.adb (Check_Missing_Return): take into account possible
11692 generated statements at the end of the function
11693 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
11694 enumeration value to define a new pragma SPARK_95
11695 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
11696 SPARK_Version): new type and variables to store the SPARK version
11697 (none by default).
11698 (SPARK_Mode): return True when SPARK_Version is set
11699 * par-prag.adb: Correct indentation
11700 (Prag): take Pragma_SPARK_95 into account
11701 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
11702 into account.
11703
8d606a78
RD
117042011-08-01 Robert Dewar <dewar@adacore.com>
11705
11706 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
11707 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
11708 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
11709
1982d5a8
PO
117102011-08-01 Pascal Obry <obry@adacore.com>
11711
11712 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
11713 Target_Name to Get_Path call.
11714 (Parse_Single_Project): Likewise.
11715 (Post_Parse_Context_Clause): Likewise.
11716 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
11717 Call Initialise_Project_Path with the proper Target_Name.
11718 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
11719 search path.
11720 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
11721 with the proper Target_Name.
11722 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
11723 Part.Parse routine.
11724 (Parse_Project_And_Apply_Config): Likewise.
11725 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
11726 This is fine as this part of the code is supporting only native
11727 compilation.
11728 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
11729 is fine as this part of the code is supporting only native compilation.
11730
0d53d36b
AC
117312011-08-01 Yannick Moy <moy@adacore.com>
11732
11733 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
11734 of homonym, unless the homonym is one of the cases allowed in SPARK
11735 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
11736 package declaration occurring after a body.
11737
117382011-08-01 Robert Dewar <dewar@adacore.com>
11739
11740 * checks.adb, exp_ch4.adb: Minor reformatting.
11741
117422011-08-01 Javier Miranda <miranda@adacore.com>
11743
11744 * einfo.ads (Access_Disp_Table): Fix documentation.
11745 (Dispatch_Table_Wrappers): Fix documentation.
11746
117472011-08-01 Pascal Obry <obry@adacore.com>
11748
11749 * prj-env.adb, prj-env.ads: Minor reformatting.
11750
8ed68165
AC
117512011-08-01 Yannick Moy <moy@adacore.com>
11752
11753 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
11754 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
11755 procedures out of these packages.
2c7f9cc0 11756 * errout.ads, errout.adb
8ed68165
AC
11757 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
11758 procedures in of this package
11759 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
11760 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
11761 on misplaced later vs initial declarations, like in Ada 83
11762 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
11763 formal mode on attribute of private type whose full type declaration
11764 is not visible
11765 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
11766 package declaration inside a package specification
11767 (Analyze_Full_Type_Declaration): issue error in formal mode on
11768 controlled type or discriminant type
11769 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
11770 user-defined operator means that it should come from the source
11771 (New_Overloaded_Entity): issue error in formal mode on overloaded
11772 entity.
11773 * sem_ch6.ads, sem_ch13.ads: typos in comments.
11774
117752011-08-01 Thomas Quinot <quinot@adacore.com>
11776
11777 * atree.adb: Minor reformatting.
11778 * checks.adb: Minor reformatting.
11779
4230bdb7
AC
117802011-08-01 Vincent Celier <celier@adacore.com>
11781
11782 * s-parame-vms-ia64.ads: Fix typo in comment
11783 Minor reformatting
11784 * s-parame-vms-restrict.ads: Removed, unused.
11785
117862011-08-01 Javier Miranda <miranda@adacore.com>
11787
11788 * exp_ch3.adb
11789 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
11790 * sem_ch3.adb
11791 (Constrain_Index): Remove side effects in the evaluation of the bounds.
11792 * sem_ch3.ads, sem_ch3.adb
11793 (Is_Constant_Bound): New extended version of the subprogram that was
11794 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
11795 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
11796 * sem_aux.ads (Constant_Value): Fix typo in comment.
11797 * checks.adb (Generate_Index_Checks): New implementation which, for
11798 array objects with constant bounds, generates the runtime check
11799 referencing the bounds of the array type. For other cases this routine
11800 provides its previous behavior obtaining such values from the array
11801 object.
11802 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
11803 parent type.
11804 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
11805 we cannot have semantic interpretations of the new node.
11806
2010d078
AC
118072011-08-01 Ed Schonberg <schonberg@adacore.com>
11808
11809 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
11810 expressions.
11811
118122011-08-01 Arnaud Charlet <charlet@adacore.com>
11813
11814 * sem_ch8.adb: Minor code editing.
11815 * s-vxwext.adb: Remove trailing space.
11816 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
11817 consistency with other files.
11818
118192011-08-01 Thomas Quinot <quinot@adacore.com>
11820
11821 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
11822
118232011-08-01 Ed Schonberg <schonberg@adacore.com>
11824
11825 * par-ch10.adb: reject parameterized expressions as compilation unit.
11826 * sem_ch4.adb: handle properly conditional expression with overloaded
11827 then_clause and no else_clause.
11828
118292011-08-01 Tristan Gingold <gingold@adacore.com>
11830
11831 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
11832 like done by System.Aux_DEC.
11833 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
11834
daec8eeb
YM
118352011-08-01 Yannick Moy <moy@adacore.com>
11836
11837 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
11838 missing label at end of declaration (subprogram or package)
11839 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
11840 of positional and named parameter association
11841 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
11842 Error_Msg_SP which adds a prefix to the error message giving the name
11843 of the formal language analyzed
11844 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
11845 access result type in subprogram, unconstrained array as result type,.
11846 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
11847 procedure
11848 * sem_ch8.adb: Code clean up.
11849
38171f43
AC
118502011-08-01 Javier Miranda <miranda@adacore.com>
11851
11852 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
11853 * einfo.ads (Access_Disp_Table): Fix documentation.
11854 (Dispatch_Table_Wrappers): Fix documentation.
11855 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
11856 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
11857 to enforce the documentation of this attribute.
11858 (Set_Is_Interface): Cleanup the assertion.
11859 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
11860 the Underlying_Type entity before reading attribute Access_Disp_Table.
11861 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
11862 Locate the Underlying_Type before reading attribute Access_Disp_Table.
11863 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
11864 the Underlying_Type entity before reading attribute Access_Disp_Table.
11865 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
11866 Locate the Underlying_Type entity before reading attribute
11867 Access_Disp_Table.
11868
118692011-08-01 Ed Schonberg <schonberg@adacore.com>
11870
11871 * s-poosiz.ads: Additional overriding indicators.
11872
118732011-08-01 Yannick Moy <moy@adacore.com>
11874
11875 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
11876 formal mode.
11877 (Analyze_Iteration_Scheme): issue error in formal mode when loop
11878 parameter specification does not include a subtype mark.
11879 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
11880 formal mode on abstract subprogram.
11881 (Analyze_Subprogram_Specification): issue error in formal mode on
11882 user-defined operator.
11883 (Process_Formals): issue error in formal mode on access parameter and
11884 default expression.
11885 * sem_ch9.adb (Analyze_Abort_Statement,
11886 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
11887 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
11888 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
11889 Analyze_Requeue, Analyze_Selective_Accept,
11890 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
11891 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
11892 issue error in formal mode on user-defined raise statement.
11893
1f250383
AC
118942011-08-01 Thomas Quinot <quinot@adacore.com>
11895
11896 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
11897 declaration being hidden when overriding an implicit inherited
11898 subprogram.
11899 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
11900 (-gnats), do not complain about a source file that contains only a
11901 pragma No_Body.
11902
119032011-08-01 Ed Schonberg <schonberg@adacore.com>
11904
11905 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
11906 variable if already set.
11907
607d0635
AC
119082011-08-01 Arnaud Charlet <charlet@adacore.com>
11909
11910 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
11911 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
11912 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
11913 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
11914 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
11915 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
11916 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
11917 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
11918 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
11919 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
11920 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
11921 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
11922 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
11923 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
11924 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
11925 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
11926 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
11927 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
11928 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
11929 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
11930 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
11931 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
11932 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
11933 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
11934 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
11935 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
11936 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
11937 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
11938 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
11939 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
11940 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
11941 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
11942 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
11943 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
11944 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
11945 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
11946 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
11947 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
11948 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
11949 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
11950 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
11951 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
11952 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
11953 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
11954 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
11955 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
11956 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
11957 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
11958 s-osinte-mingw.ads: Update to GPLv3 run-time license.
11959 Use GNAT instead of GNARL.
11960
119612011-08-01 Bob Duff <duff@adacore.com>
11962
11963 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
11964 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
11965 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
11966 reformatting.
11967
119682011-08-01 Yannick Moy <moy@adacore.com>
11969
11970 * debug.adb (d.D) reverve flag for the SPARK mode
11971 (d.E) reverve flag for SPARK generation mode
11972 (d.F) reverve flag for Why generation mode
2c7f9cc0 11973 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
607d0635
AC
11974 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
11975 functions which return True when the corresponding modes are set
11976 (Formal_Language): return "spark" or "alfa" when in formal verification
11977 mode.
11978 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
11979 Error_Msg to prefix the error message with a tag giving the formal
11980 language
11981 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
11982 message with a tag giving the formal language
11983 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
11984 block statement
11985 (Analyze_Case_Statement): issue error in formal mode on case statement
11986 with a single "others" case alternative
11987 (Analyze_Exit_Statement): issue errors in formal mode on exit
11988 statements which do not respect SPARK restrictions
11989 (Analyze_Goto_Statement): issue error in formal mode on goto statement
11990 (Check_Unreachable_Code): always issue an error (not a warning) in
11991 formal mode on unreachable code (concerns both code after an infinite
11992 loop and after an unconditional jump, both not allowed in SPARK)
11993 * sem_ch6.adb (Analyze_Return_Statement): add call to
11994 Set_Return_Present for a procedure containing a return statement
11995 (already done for functions in Analyze_Function_Return)
11996 (Analyze_Function_Return): issue error in formal mode on extended
11997 return or if return is not last statement in function
11998 (Check_Missing_Return): issue error in formal mode if function does
11999 not end with return or if procedure contains a return
12000 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
12001 function to detect if there is an inner scope of its parameter S which
12002 is a loop.
12003
120042011-08-01 Thomas Quinot <quinot@adacore.com>
12005
12006 * sem_ch6.ads: Minor reformatting.
12007
d8b3ccb9
AC
120082011-08-01 Javier Miranda <miranda@adacore.com>
12009
12010 * sem_util.adb (Abstract_Interface_List): Complete condition when
12011 processing private type declarations to avoid reading unavailable
12012 attribute.
12013 (Is_Synchronized_Tagged_Type): Complete condition when processing
12014 private extension declaration nodes to avoid reading unavailable
12015 attribute.
12016
120172011-08-01 Thomas Quinot <quinot@adacore.com>
12018
12019 * sem_ch3.adb: Minor reformatting.
12020
120212011-08-01 Thomas Quinot <quinot@adacore.com>
12022
12023 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
12024 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
12025 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
12026 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
12027 for VMS, instead parametrize the common implementation with
12028 System.Parameters declarations.
12029
0bb9276c
AC
120302011-08-01 Eric Botcazou <ebotcazou@adacore.com>
12031
12032 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
12033
120342011-08-01 Tristan Gingold <gingold@adacore.com>
12035
12036 * seh_init.c: Fix SEH handler installation on win64.
12037
120382011-08-01 Ed Schonberg <schonberg@adacore.com>
12039
12040 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
12041 double analysis of an anonymous access to subprogram, because it can
12042 lead to improper sharing of profiles and a back-end crash.
12043
6a2e4f0b
AC
120442011-08-01 Robert Dewar <dewar@adacore.com>
12045
12046 * make.adb, sem_ch4.adb: Minor reformatting.
12047 * gcc-interface/Make-lang.in: Update dependencies.
12048 * sem_util.adb, exp_ch5.adb: Minor reformatting.
12049
120502011-08-01 Arnaud Charlet <charlet@adacore.com>
12051
12052 * gnat_rm.texi: Fix definition of Long_Integer.
12053
120542011-08-01 Ed Schonberg <schonberg@adacore.com>
12055
12056 * exp_aggr.adb: check limit size of static aggregate unconditionally,
12057 to prevent storage exhaustion.
12058 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
12059 finalized is a function body, insert the cleanup code before the final
12060 return statement, to prevent spurious warnings.
12061 * s-pooglo.ads: add overriding indicator.
12062
4561baf7
ES
120632011-08-01 Ed Schonberg <schonberg@adacore.com>
12064
12065 * sem_ch4.adb (Operator_Check): improve error message when both a
12066 with_clause and a use_clause are needed to make operator usage legal.
12067 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
12068 determine whether a compilation unit is visible within an other,
12069 either through a with_clause in the current unit, or a with_clause in
12070 its library unit or one one of its parents.
12071
383e179e
AC
120722011-08-01 Ed Schonberg <schonberg@adacore.com>
12073
12074 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
12075 over an arbitrary expression of an array or container type.
12076 * lib-xref.adb: clarify comment.
12077
120782011-08-01 Bob Duff <duff@adacore.com>
12079
12080 * einfo.ads: Minor reformatting.
12081 * debug.adb: Minor comment improvement.
12082
120832011-08-01 Javier Miranda <miranda@adacore.com>
12084
12085 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
12086 consider hidden subprograms as valid candidates.
12087
120882011-08-01 Arnaud Charlet <charlet@adacore.com>
12089
12090 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
12091
120922011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
12093
12094 * gnat_ugn.texi: Fix typo.
12095
61c161b2
AC
120962011-08-01 Robert Dewar <dewar@adacore.com>
12097
12098 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
12099 lib-xref.adb: Minor reformatting
12100
121012011-08-01 Gary Dismukes <dismukes@adacore.com>
12102
12103 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
12104 when to generate a call to Move_Final_List.
12105 (Has_Controlled_Parts): Remove this function.
12106
84df40f7
AC
121072011-08-01 Geert Bosch <bosch@adacore.com>
12108
12109 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
12110 "," in choice list.
12111
121122011-08-01 Thomas Quinot <quinot@adacore.com>
12113
12114 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
12115 explicit raise of a predefined exception as Comes_From_Source if the
12116 original N_Raise_Statement comes from source.
12117
121182011-08-01 Robert Dewar <dewar@adacore.com>
12119
12120 * sinfo.ads: Add comment.
12121 * sem_ch6.adb: Minor reformatting.
12122
121232011-08-01 Robert Dewar <dewar@adacore.com>
12124
12125 * freeze.adb (Freeze_Entity): Refine check for bad component size
12126 clause to avoid rejecting confirming clause when atomic/aliased present.
12127
121282011-08-01 Ed Schonberg <schonberg@adacore.com>
12129
12130 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
12131 better determine whether an entity reference is a write.
12132 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
12133 subcomponent.
12134 * lib-xref.adb (Output_References): Do no suppress a read reference at
12135 the same location as an immediately preceeding modify-reference, to
12136 handle properly in-out actuals.
12137
121382011-08-01 Tristan Gingold <gingold@adacore.com>
12139
12140 * env.c (__gnat_setenv) [VMS]: Refine previous change.
12141
121422011-08-01 Quentin Ochem <ochem@adacore.com>
12143
12144 * i-cstrin.adb (New_String): Changed implementation, now uses only the
12145 heap to compute the result.
12146
c7f0d2c0
AC
121472011-08-01 Robert Dewar <dewar@adacore.com>
12148
12149 * atree.ads: Minor reformatting.
12150
121512011-08-01 Emmanuel Briot <briot@adacore.com>
12152
12153 * g-expect.adb (Get_Command_Output): Fix memory leak.
12154
121552011-08-01 Geert Bosch <bosch@adacore.com>
12156
12157 * cstand.adb (P_Float_Type): New procedure to print the definition of
12158 predefined fpt types.
12159 (P_Mixed_Name): New procedure to print a name using mixed case
12160 (Print_Standard): Use P_Float_Type for printing floating point types
12161 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
12162 precision IEEE float.
12163
121642011-08-01 Thomas Quinot <quinot@adacore.com>
12165
12166 * sem_ch3.adb: Minor reformatting.
12167
121682011-08-01 Ed Schonberg <schonberg@adacore.com>
12169
12170 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
12171 the completion of a generic function, insert the new body rather than
12172 rewriting the original.
12173
121742011-08-01 Yannick Moy <moy@adacore.com>
12175
12176 * sinfo.ads, errout.ads: Typos in comments.
12177
1c54829e
AC
121782011-08-01 Robert Dewar <dewar@adacore.com>
12179
12180 * par-endh.adb: Minor reformatting.
12181
121822011-08-01 Robert Dewar <dewar@adacore.com>
12183
12184 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
12185 (Pre_Post_Aspects): New subtype.
12186 * par-ch12.adb (P_Generic): New syntax for aspects in packages
12187 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
12188 * par-ch7.adb (P_Package): Remove Decl parameter
12189 (P_Package): Handle new syntax for aspects (before IS)
12190 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
12191 new aspect syntax
12192 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
12193 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
12194 (P_Package): Remove Decl parameter
12195 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
12196 aspects
12197 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
12198 specs
12199 * sem_util.ads, sem_util.adb (Static_Boolean): New function
12200 * sinfo.ads: Document new syntax for aspects in packages etc.
12201 * sprint.adb: Handle new syntax of aspects before IS in package
12202
122032011-08-01 Thomas Quinot <quinot@adacore.com>
12204
12205 * atree.ads: Minor reformatting.
12206 * sem_prag.adb: Minor reformatting.
12207
122082011-08-01 Robert Dewar <dewar@adacore.com>
12209
12210 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
12211 case expr alternative.
12212
122132011-08-01 Ed Schonberg <schonberg@adacore.com>
12214
12215 * sem_ch12.adb: Fix typo.
12216
9eea4346
GB
122172011-08-01 Geert Bosch <bosch@adacore.com>
12218
12219 * sem_prag.adb (Check_No_Link_Name): New procedure.
12220 (Process_Import_Or_Interface): Use Check_No_Link_Name.
12221 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
12222 instead of Standard_Long_Long_Float_Size global. Preparation for
12223 eventual removal of per type constants.
12224 * exp_util.ads (Get_Stream_Size): New function returning the stream
12225 size value of subtype E.
12226 * exp_util.adb (Get_Stream_Size): Implement new function.
12227 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
12228 function.
12229 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
12230 * einfo.adb:
12231 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
12232
3d6c3bd7
GB
122332011-08-01 Geert Bosch <bosch@adacore.com>
12234
12235 * cstand.adb: Fix comments.
12236 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
12237 count of arguments.
12238
e7d897b8
AC
122392011-08-01 Robert Dewar <dewar@adacore.com>
12240
12241 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
12242
122432011-08-01 Geert Bosch <bosch@adacore.com>
12244
12245 * atree.ads: Fix comment.
12246
c228a069
AC
122472011-08-01 Robert Dewar <dewar@adacore.com>
12248
12249 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
12250 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
12251 * par.adb: Add with for Namet.Sp.
12252 * par-tchk.adb: Minor reformatting.
12253
122542011-08-01 Vincent Celier <celier@adacore.com>
12255
12256 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
12257 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
12258 of the init procedure of a SAL.
12259 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
12260 New procedure.
12261
122622011-08-01 Thomas Quinot <quinot@adacore.com>
12263
12264 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
12265 reformatting.
12266
122672011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12268
12269 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
12270
122712011-08-01 Thomas Quinot <quinot@adacore.com>
12272
12273 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
12274 conformant with its spec (return True only for types that have
12275 an overriding Initialize primitive operation that prevents them from
12276 having preelaborable initialization).
12277 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
12278 initialization for controlled types in Ada 2005 or later mode.
12279
857ade1b
RD
122802011-08-01 Robert Dewar <dewar@adacore.com>
12281
12282 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
12283 Postcondition.
12284 (Same_Aspect): New function.
12285 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
12286 Type_Invariant, Precondition, Postcondition.
12287 * snames.ads-tmpl: Add Name_Type_Invariant.
12288
bd949ee2
RD
122892011-08-01 Robert Dewar <dewar@adacore.com>
12290
12291 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
12292 here.
12293 (Freeze_All_Ent): Fix error in handling inherited aspects.
12294 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
12295 already analyzed, but don't skip entire processing of a declaration,
12296 that's wrong in some cases of declarations being rewritten.
12297 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
12298 Don't delay for integer, string literals
12299 Treat predicates in usual manner for delay, remove special case code,
12300 not needed.
12301 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
12302 (Build_Predicate_Function): Update saved expression in aspect
12303 (Build_Invariant_Procedure): Update saved expression in aspect
12304 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
12305 of replacement of discriminant references if the reference is simple.
12306
f1c952af
RD
123072011-08-01 Robert Dewar <dewar@adacore.com>
12308
12309 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
12310 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
12311 Static_Predicate and Dynamic_Predicate.
12312 (Build_Predicate_Function): Add processing for Static_Predicate
12313 and Dynamic_Predicate.
12314 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
12315 (From_Static_Predicate): New flag
12316 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
12317
123182011-08-01 Robert Dewar <dewar@adacore.com>
12319
12320 * usage.adb: Documentation cleanup for Ada version modes in usage.
12321 * expander.adb: Minor reformatting.
12322
47e11d08
AC
123232011-08-01 Robert Dewar <dewar@adacore.com>
12324
12325 * atree.ads: Minor comment fix.
12326 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
12327 a-witeio.ads, sem_prag.adb: Minor reformatting.
12328
123292011-08-01 Doug Rupp <rupp@adacore.com>
12330
12331 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
12332 pointers. Use descrip.h header file for convenience. Add some
12333 comments.
12334
123352011-08-01 Robert Dewar <dewar@adacore.com>
12336
12337 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
12338 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
12339 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
12340 New procedure.
12341 (Check_Aspect_At_End_Of_Declarations): New procedure
12342 (Analye_Aspect_Specification): Minor changes for above procedures
12343 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
12344 specification node as well.
12345
123462011-08-01 Pascal Obry <obry@adacore.com>
12347
12348 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
12349 Windows files. Use GetFilesAttributes() in this case to check for file
12350 existence instead of returning with an error code.
12351
a3a16b21
VC
123522011-08-01 Vincent Celier <celier@adacore.com>
12353
12354 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
12355 High is above Source length.
12356
ff58cc69
RD
123572011-08-01 Robert Dewar <dewar@adacore.com>
12358
12359 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
12360
6bb88533
AC
123612011-08-01 Robert Dewar <dewar@adacore.com>
12362
12363 * aspects.ads (Boolean_Aspects): New subtype.
12364 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
12365 for derived types in cases where the parent type and derived type have
12366 aspects.
12367 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
12368 with aspects when parent type also has aspects.
12369 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
12370 boolean expression at this point).
12371 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
12372 accordance with final decision on the Ada 2012 feature.
12373 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
12374
123752011-08-01 Matthew Heaney <heaney@adacore.com>
12376
12377 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
12378
060a3f28
AC
123792011-08-01 Pascal Obry <obry@adacore.com>
12380
12381 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
12382 Fix Replace_Slice when High is above current string size.
12383 (Replace_Slice): Fix DL computation when High is above current
12384 string length.
12385
123862011-08-01 Gary Dismukes <dismukes@adacore.com>
12387
12388 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
12389
e7f567a3
AC
123902011-08-01 Matthew Heaney <heaney@adacore.com>
12391
12392 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
12393 of node.
12394
123952011-08-01 Pascal Obry <obry@adacore.com>
12396
12397 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
12398 reformatting.
12399
1a265e78
AC
124002011-08-01 Ed Schonberg <schonberg@adacore.com>
12401
12402 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
12403 access to protected subprograms in generic bodies.
12404 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
12405 protected type, indicate that the convention of the subprogram is
12406 Convention_Protected, because it may be used in subsequent declarations
12407 within the protected declaration.
12408
124092011-08-01 Vincent Celier <celier@adacore.com>
12410
12411 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
12412 and "final" procedures when the name of the library is "ada", to avoid
12413 duplicate symbols "adainit" and "adafinal" in executables.
12414
67e28ef8
ES
124152011-08-01 Ed Schonberg <schonberg@adacore.com>
12416
12417 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
12418 quantified expression that appears within a postcondition and uses the
12419 Ada2012 'Result attribute.
12420
6da2ca7d
RO
124212011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12422
12423 * init.c (__gnat_error_handler): Cast reason to int.
12424 (__gnat_install_handler): Explain sa_sigaction use.
12425
7d5997c6
EB
124262011-07-24 Eric Botcazou <ebotcazou@adacore.com>
12427
12428 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
12429 subprogram has copy-in copy-out parameters, try to promote the mode of
12430 the return type if it is passed in registers.
12431
4b4cfdd5
EB
124322011-07-24 Eric Botcazou <ebotcazou@adacore.com>
12433
12434 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
12435 left operand as addressable.
12436
f3d34576
EB
124372011-07-24 Eric Botcazou <ebotcazou@adacore.com>
12438
12439 * gcc-interface/gigi.h (build_function_stub): Remove.
12440 (build_return_expr): Likewise.
12441 (convert_vms_descriptor): Declare.
12442 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
12443 (build_function_stub): Move to...
12444 * gcc-interface/utils2.c (build_return_expr): Move to...
12445 * gcc-interface/trans.c (build_function_stub): ...here.
12446 (build_return_expr): ...here.
12447 (Subprogram_Body_to_gnu): Add local variable for language_function.
12448 Disconnect the parameter attributes cache, if any, once done with it.
12449 Call end_subprog_body only after setting the end_locus.
12450 Build the stub associated with the function, if any, at the very end.
12451 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
12452 variables and streamline control flow.
12453
0a6ecc08
AC
124542011-07-23 Arnaud Charlet <charlet@adacore.com>
12455
12456 PR ada/49819
12457 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
12458 g-trasym-dwarf.adb.
12459
5b6d595b
RO
124602011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12461
12462 PR bootstrap/49794
12463 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
12464 Assign to act.sa_sigaction.
12465 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
12466 current->return_address to char * before arithmetic.
12467
94017021
RO
124682011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12469
12470 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
12471 Correct argument types.
12472 Extract code from reason.
12473 (__gnat_install_handler): Assign to act.sa_sigaction.
12474
52fd02bb
EB
124752011-07-21 Eric Botcazou <ebotcazou@adacore.com>
12476
12477 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
12478 (GNAT1_OBJS): ...here.
12479
f39a9ca2
EB
124802011-07-15 Eric Botcazou <ebotcazou@adacore.com>
12481
12482 PR ada/48711
12483 * g-socthi-mingw.adb (Fill): Fix formatting.
12484
9e36aa23
EB
12485 * gcc-interface/gigi.h: Move around comment.
12486
e3aca522
JDA
124872011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12488
12489 PR ada/46350
12490 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
12491
696b1960
FW
124922011-07-14 Florian Weimer <fw@deneb.enyo.de>
12493
12494 PR ada/48711
12495 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
12496
f542c405
EB
124972011-07-13 Eric Botcazou <ebotcazou@adacore.com>
12498
12499 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
12500 range comparison if Pmode is SImode.
12501
9e9bd455
LG
125022011-07-12 Laurent GUERBY <laurent@guerby.net>
12503 Eric Botcazou <ebotcazou@adacore.com>
12504
12505 * adadecode.c: Wrap up in extern "C" block.
12506 * adadecode.h: Likewise.
12507 * adaint.c: Likewise. Remove 'const' keyword.
12508 * adaint.h: Likewise.
12509 * argv.c: Likewise.
12510 * atree.h: Likewise.
12511 * cio.c: Likewise.
12512 * cstreams.c: Likewise.
12513 * env.c: Likewise.
12514 * exit.c: Likewise.
12515 * fe.h: Likewise.
12516 * final.c: Likewise.
12517 * init.c: Likewise.
12518 * initialize.c: Likewise.
12519 * link.c: Likewise.
12520 * namet.h: Likewise.
12521 * nlists.h: Likewise.
12522 * raise.c: Likewise.
12523 * raise.h: Likewise.
12524 * repinfo.h: Likewise.
12525 * seh_init.c: Likewise.
12526 * targext.c: Likewise.
12527 * tracebak.c: Likewise.
12528 * uintp.h: Likewise.
12529 * urealp.h: Likewise.
12530 * xeinfo.adb: Wrap up generated C code in extern "C" block.
12531 * xsinfo.adb: Likewise.
12532 * xsnamest.adb: Likewise.
12533 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
12534 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
12535 * gcc-interface/misc.c: Likewise.
12536 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
12537 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
12538 ada/targext.o here...
12539 (GNAT_ADA_OBJS): ...and not here.
12540 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
12541 (GNATBIND_OBJS): Reorder.
12542
7644b3c7
RH
125432011-07-07 Richard Henderson <rth@redhat.com>
12544
12545 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
12546 dwarf2out_frame_init.
12547
8384ac41
EB
125482011-07-07 Eric Botcazou <ebotcazou@adacore.com>
12549
12550 * gcc-interface/misc.c (gnat_init): Tweak previous change.
12551
fbdd5d87
RO
125522011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12553
12554 PR target/39150
12555 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
12556
1a072294
RG
125572011-07-06 Richard Guenther <rguenther@suse.de>
12558
8384ac41
EB
12559 * gcc-interface/misc.c (gnat_init): Merge calls to
12560 build_common_tree_nodes and build_common_tree_nodes_2.
1a072294
RG
12561 Re-initialize boolean_false_node.
12562
bc712852
EB
125632011-07-02 Eric Botcazou <ebotcazou@adacore.com>
12564 Olivier Hainque <hainque@adacore.com>
12565 Nicolas Setton <setton@adacore.com>
12566
12567 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
12568 the type according to the ARTIFICIAL_P parameter.
12569 (create_type_decl): Likewise.
12570 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
12571
2eb22389
EB
125722011-07-01 Eric Botcazou <ebotcazou@adacore.com>
12573
12574 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
12575 (gnatbind): Likewise.
12576
4bdaaf2f
RO
125772011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12578
12579 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
12580
c020c92b
EB
125812011-06-18 Eric Botcazou <ebotcazou@adacore.com>
12582
12583 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
12584 local variable throughout. Remove useless call to Base_Type.
12585 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
12586 Take it also into account for the volatileness of the field. Set the
12587 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
12588
96769d32
EB
125892011-06-18 Eric Botcazou <ebotcazou@adacore.com>
12590
12591 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
12592 on a dereference built for a by-ref object if it has an address clause.
12593
7e4680c1
EB
125942011-06-18 Eric Botcazou <ebotcazou@adacore.com>
12595
12596 * einfo.ads (Address_Taken): Document use for the second argument of
12597 Asm_Input and Asm_Output attributes.
12598 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
12599 argument is an entity name, then set Address_Taken on it.
12600 <Attribute_Asm_Output>: Likewise.
12601 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
12602 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
12603 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
12604 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
12605
126062011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
d5cc9181
JR
12607
12608 PR middle-end/46500
12609 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
12610
677f3fa8
JM
126112011-06-14 Joseph Myers <joseph@codesourcery.com>
12612
12613 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
12614 (ada/utils.o): Update dependencies.
12615 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
12616 ../../../libcpp/libcpp.a.
12617 * gcc-interface/utils.c: Include common/common-target.h.
12618 (process_attributes): Use targetm_common.have_named_sections.
12619
009db074
RG
126202011-06-07 Richard Guenther <rguenther@suse.de>
12621
0bad0e23
EB
12622 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
12623 set_sizetype.
009db074 12624
3bfc61cf
EB
126252011-06-06 Eric Botcazou <ebotcazou@adacore.com>
12626
0bad0e23 12627 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
3bfc61cf
EB
12628 TREE_THIS_NOTRAP flag.
12629
5c4a1c7b
EB
126302011-06-06 Eric Botcazou <ebotcazou@adacore.com>
12631
12632 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
12633 Fix thinko.
12634
e9f57686
EB
126352011-06-06 Eric Botcazou <ebotcazou@adacore.com>
12636
12637 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
12638 constants whose full view has discriminants specially.
12639
10e4d056
EB
126402011-06-06 Eric Botcazou <ebotcazou@adacore.com>
12641
12642 * gcc-interface/utils.c: Include diagnostic.h.
12643 (gnat_write_global_declarations): Output debug information for all
12644 global type declarations before finalizing the compilation unit.
12645 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
12646
0957c029
JJ
126472011-05-25 Jakub Jelinek <jakub@redhat.com>
12648
12649 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
12650
52d0a7ac
KT
126512011-05-25 Kai Tietz <ktietz@redhat.com>
12652
12653 * adaint.c (__gnat_to_canonical_file_list_next): Use array
12654 initialization instead of const/none-const pointer assignment.
12655
1ed1641d
JM
126562011-05-24 Joseph Myers <joseph@codesourcery.com>
12657
12658 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
12659 $(EXTRA_GNAT1_OBJS).
12660 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
12661 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
12662 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
12663 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
12664 libcommon-target.a instead of prefix.o.
12665
9fe72ebd
JM
126662011-05-21 Joseph Myers <joseph@codesourcery.com>
12667
12668 PR ada/49097
0bad0e23 12669 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9fe72ebd 12670
2691e6d7
JM
126712011-05-20 Joseph Myers <joseph@codesourcery.com>
12672
0bad0e23
EB
12673 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
12674 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
12675 instead of version.o.
2691e6d7 12676
bf6490b5
KT
126772011-05-18 Kai Tietz <ktietz@redhat.com>
12678
12679 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
12680 boolean_false_node instead of integer_zero_node.
12681 (convert_with_check): Likewise.
12682 * gcc-interface/decl.c (choices_to_gnu): Likewise.
12683
7bf9a5ac
EB
126842011-05-12 Eric Botcazou <ebotcazou@adacore.com>
12685
12686 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
12687 type of the parameter is an unconstrained array, convert the actual to
12688 the type of the formal in the In Out and Out cases as well.
12689
e5b00edf
NF
126902011-05-11 Nathan Froyd <froydnj@codesourcery.com>
12691
12692 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
12693 call build_function_type_array or build_varargs_function_type_array
12694 instead.
12695 (create_subprog_type): Don't call build_function_type; call
12696 build_function_type_vec instead.
12697
51545682
NF
126982011-05-11 Nathan Froyd <froydnj@codesourcery.com>
12699
12700 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
12701 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
12702 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
12703
c99c0026
EB
127042011-05-07 Eric Botcazou <ebotcazou@adacore.com>
12705
f620bd21
EB
12706 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
12707
c99c0026
EB
12708 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
12709 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
12710
3d528853
NF
127112011-05-05 Nathan Froyd <froydnj@codesourcery.com>
12712
c99c0026 12713 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
3d528853 12714
d7d058c5
NF
127152011-05-05 Nathan Froyd <froydnj@codesourcery.com>
12716
12717 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
12718 instead of accessing TYPE_ARG_TYPES directly.
12719 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
12720
805e60a0
EB
127212011-05-05 Eric Botcazou <ebotcazou@adacore.com>
12722
12723 PR ada/48844
12724 * gcc-interface/gigi.h (get_variant_part): Declare.
12725 * gcc-interface/decl.c (get_variant_part): Make global.
12726 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
12727 types have the same constant size, are record types and T1 has a
12728 variant part while T2 doesn't.
12729
907a08d9
EB
127302011-05-05 Eric Botcazou <ebotcazou@adacore.com>
12731
12732 * gcc-interface/utils.c (begin_subprog_body): Do not call
12733 get_pending_sizes.
12734 (end_subprog_body): Likewise.
12735
d35936ab
RG
127362011-05-04 Richard Guenther <rguenther@suse.de>
12737
12738 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
12739 int_const_binop.
12740 (pos_to_constructor): Likewise.
12741
c1fd8753 127422011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 12743 Eric Botcazou <ebotcazou@adacore.com>
c1fd8753
NF
12744
12745 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
12746 of build_function_type. Adjust calls to...
12747 (build_raise_check): ...this. Do not take a void_tree parameter.
12748 Call build_function_type_list instead of build_function_type.
12749 Fix head comment and swap couple of conditional blocks.
12750
4fb87d2b
EB
127512011-04-30 Eric Botcazou <ebotcazou@adacore.com>
12752
12753 * gnatvsn.ads (Library_Version): Bump to 4.7.
12754 (Current_Year): Bump to 2011.
12755
fa5e5a76
MM
127562011-04-29 Michael Matz <matz@suse.de>
12757
12758 * gcc-interface/misc.c (gnat_handle_option): Set
12759 warn_maybe_uninitialized.
12760
8d6a2f69
GP
127612011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
12762
12763 * gnat_ugn.texi (Complexity Metrics Control): Update link to
12764 the Watson/McCabe paper.
12765
770937fd
JM
127662011-04-23 Jim Meyering <meyering@redhat.com>
12767
12768 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
12769
eb601ae1
EB
127702011-04-22 Eric Botcazou <ebotcazou@adacore.com>
12771
12772 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
12773 onto the new type.
12774
7d7fcb08
EB
127752011-04-22 Eric Botcazou <ebotcazou@adacore.com>
12776
12777 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
12778 parameter.
12779 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
12780 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
12781 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
12782 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
12783 <all>: Do not set flags on the reused DECL node coming from an alias.
12784 Set DECL_IGNORED_P on the DECL node built for subprograms if they
12785 don't need debug info here...
12786 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
12787 (gigi): Adjust calls to create_subprog_decl.
12788 (build_raise_check): Likewise.
12789 (establish_gnat_vms_condition_handler): Likewise.
12790 (Compilation_Unit_to_gnu): Likewise.
12791 (gnat_to_gnu): Likewise.
12792
e1876cac
EB
127932011-04-21 Eric Botcazou <ebotcazou@adacore.com>
12794
12795 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
12796 (NO_REORDER_ADAFLAGS): New variable.
12797 (EXTRA_GNATTOOLS): Always define.
12798 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
12799 Clean up and adjust list of files compiled with special options.
12800 * gcc-interface/Make-lang.in: Likewise.
12801 (ada/decl.o): Cosmetical change.
12802 (ada/misc.o): Remove dependency on $(PLUGIN_H).
12803
04695783
JM
128042011-04-20 Jim Meyering <meyering@redhat.com>
12805
12806 * initialize.c (__gnat_initialize): Remove useless if-before-free.
12807
23399579
EB
128082011-04-17 Eric Botcazou <ebotcazou@adacore.com>
12809
12810 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
12811 $(CFLAGS) on the link line.
12812
51c5169c
EB
128132011-04-17 Eric Botcazou <ebotcazou@adacore.com>
12814
12815 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
12816 padded type built for the return type if it is unconstrained.
12817
61e46a7d
NF
128182011-04-14 Nathan Froyd <froydnj@codesourcery.com>
12819
12820 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
12821
81f653d6
NF
128222011-04-12 Nathan Froyd <froydnj@codesourcery.com>
12823
b4867846
EB
12824 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
12825 before calling TREE_CHAIN.
81f653d6
NF
12826 * gcc-interface/misc.c (gnat_init_ts): New function.
12827 (LANG_HOOKS_INIT_TS): Define.
12828
a358e188
MJ
128292011-04-12 Martin Jambor <mjambor@suse.cz>
12830
b4867846
EB
12831 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
12832 instead of cgraph_node.
a358e188 12833
29b1c5a4
EB
128342011-04-08 Eric Botcazou <ebotcazou@adacore.com>
12835
12836 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
12837 alignment on fields of the RETURN type built for the Copy-In Copy-Out
12838 mechanism.
12839
88872b00
EB
128402011-04-08 Eric Botcazou <ebotcazou@adacore.com>
12841
12842 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
12843 of aggregate types that contain a placeholder.
12844
dcf0c47e
NF
128452011-04-08 Nathan Froyd <froydnj@codesourcery.com>
12846
12847 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
b4867846 12848 TYPE_ARG_TYPES.
dcf0c47e
NF
12849 (handle_type_generic_attribute): Likewise.
12850
53e3000c
EB
128512011-04-04 Eric Botcazou <ebotcazou@adacore.com>
12852
12853 PR ada/47163
12854 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
12855
ab380bb4
KT
128562011-04-04 Kai Tietz <ktietz@redhat.com>
12857
12858 PR ada/47163
0bad0e23
EB
12859 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
12860 to flag value.
ab380bb4 12861
8ffac116
EB
128622011-04-02 Eric Botcazou <ebotcazou@adacore.com>
12863
12864 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
12865 type case, do not strip a padding type around the array type.
12866
de9528f0
EB
128672011-04-02 Eric Botcazou <ebotcazou@adacore.com>
12868
12869 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
12870 types.
12871
d9d7a26c
EB
128722011-04-02 Eric Botcazou <ebotcazou@adacore.com>
12873
12874 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
12875 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
de9528f0 12876 code for -feliminate-unused-debug-types.
d9d7a26c
EB
12877 (gnat_post_options): Likewise.
12878
4cb12a90
EB
128792011-04-02 Eric Botcazou <ebotcazou@adacore.com>
12880
12881 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
12882 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
12883 distinct copy.
12884
acccc61c
EB
128852011-04-02 Eric Botcazou <ebotcazou@adacore.com>
12886
12887 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
12888 DECL_ARTIFICIAL flag on enumeration types.
12889
583eb0c9
EB
128902011-04-02 Eric Botcazou <ebotcazou@adacore.com>
12891
12892 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
12893 fat pointer types artificial unconditionally.
12894 <E_Array_Subtype>: Attach the base array type as a parallel type if it
12895 isn't artificial.
12896
e3edbd56
EB
128972011-04-02 Eric Botcazou <ebotcazou@adacore.com>
12898
12899 * gcc-interface/gigi.h (get_dummy_type): Declare.
12900 (build_dummy_unc_pointer_types): Likewise.
12901 (finish_fat_pointer_type): Likewise.
12902 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
12903 fat pointer type has been built, complete it in place.
12904 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
12905 and thin pointers. Remove useless variable.
12906 (finish_fat_pointer_type): Make global and move to...
12907 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
12908 (get_dummy_type): New function.
12909 (build_dummy_unc_pointer_types): Likewise.
12910 (gnat_pushdecl): Propage the name to the anonymous variants only.
12911 (update_pointer_to): Only adjust the pointer types in the unconstrained
12912 array case.
12913
65444786
EB
129142011-04-02 Eric Botcazou <ebotcazou@adacore.com>
12915
12916 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
12917 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
12918 if this is a Taft amendment type and the full declaration is available.
12919 * gcc-interface/trans.c (process_type): Likewise.
12920 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
12921 (process_freeze_entity): Likewise.
12922 * gcc-interface/utils.c (dummy_global): New static variable.
12923 (gnat_write_global_declarations): If there are types declared as used
12924 at the global level, insert them in the global hash table.
12925
1aeb40dd
EB
129262011-04-02 Eric Botcazou <ebotcazou@adacore.com>
12927
12928 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
12929 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
12930 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
12931 copy.
12932 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
12933 flag of the type accordingly.
12934 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
12935
80ec8b4c
EB
129362011-04-02 Eric Botcazou <ebotcazou@adacore.com>
12937
12938 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
12939 finalizing types when updating the pointers to the designated type.
12940 <all>: Finalize the deferred types even if we didn't defer processing
12941 of incomplete types in this invocation.
12942
2a9d769a 129432011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
12944 Nicolas Setton <setton@adacore.com>
12945 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
12946
12947 * gcc-interface/misc.c (gnat_descriptive_type): New function.
12948 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
12949
2438d7a6
KT
129502011-03-28 Kai Tietz <ktietz@redhat.com>
12951
333d8aff 12952 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
80ec8b4c
EB
12953 Windows targets.
12954 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
12955 * system-mingw.ads (System): Change ZCX_By_Default default to True.
333d8aff 12956
80ec8b4c 12957 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2438d7a6 12958
8ad150f6
TG
129592011-03-28 Tristan Gingold <gingold@adacore.com>
12960
12961 PR ada/44431
80ec8b4c
EB
12962 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
12963 Use ada output of gnatbind.
8ad150f6
TG
12964 (ada/b_gnatb.adb): Ditto.
12965 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
12966 (ada.mostlyclean, ada.stage1)
12967 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
12968 (ada.stagefeedback): Adjust.
80ec8b4c 12969 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
8ad150f6
TG
12970 Use ada output of gnatbind.
12971 (b_gnatm.adb): Ditto.
12972 (b_gnatl.o, b_gnatm.o): New rules.
12973
51c7954d
EB
129742011-03-26 Eric Botcazou <ebotcazou@adacore.com>
12975
12976 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
12977 for the padded type built to support a specified size or alignment.
12978
6ddf9843
EB
129792011-03-26 Eric Botcazou <ebotcazou@adacore.com>
12980
12981 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
12982 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
12983 unconditionally to the end of the unit when the designated type is
12984 limited_with'ed.
12985 <all>: Rename local variable. Attempt to un-defer types only and do it
12986 for limited_with'ed types as well.
12987 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
12988 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
12989 consistently and remove redundant call to finalize_from_with_types.
12990
5daed84a
EB
129912011-03-26 Eric Botcazou <ebotcazou@adacore.com>
12992
12993 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
12994 subprograms without a previous spec declared in the same unit.
12995 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
12996 subprograms at the end of the unit instead of at the beginning.
12997 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
12998 isn't public for the special handling of non-inline functions nested
12999 inside inline external functions.
13000
0edf1bb2
JL
130012011-03-25 Jeff Law <law@redhat.com>
13002
5daed84a 13003 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
0edf1bb2 13004
e3c4580e
EB
130052011-03-24 Eric Botcazou <ebotcazou@adacore.com>
13006
13007 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
13008 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
13009 to compute Set_Size_Depends_On_Discriminant.
13010 (Layout_Type): Call it on array types in back-end layout mode.
13011 * sem_util.adb (Requires_Transient_Scope): Return true for array
13012 types only if the size depends on the value of discriminants.
13013 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
13014 type if the RHS is a call to a function that returns an unconstrained
13015 type with default discriminant.
13016
abbc8c7b
EB
130172011-03-24 Eric Botcazou <ebotcazou@adacore.com>
13018
13019 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
13020 non-conversion to the nominal result type at the end.
13021
ddb5a105
EB
130222011-03-23 Eric Botcazou <ebotcazou@adacore.com>
13023
13024 * gcc-interface/trans.c (create_temporary): New function taken from...
13025 (create_init_temporary): ...here. Call it.
13026 (call_to_gnu): Create the temporary for the return value early, if any.
13027 Create it for a function with copy-in/copy-out parameters if there is
13028 no target; in other cases of copy-in/copy-out, use another temporary.
13029 Push the new binding level lazily. Add and rename local variables.
13030
0d853156
EB
130312011-03-23 Eric Botcazou <ebotcazou@adacore.com>
13032
13033 * gcc-interface/decl.c (validate_size): Improve comments and tweak
13034 error message.
13035 (set_rm_size): Likewise.
13036
4184ef1b
EB
130372011-03-23 Eric Botcazou <ebotcazou@adacore.com>
13038
13039 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
13040 for the padded type built in order to support a specified alignment.
13041 Fix incorrect formatting.
13042
bf7eefab
EB
130432011-03-21 Eric Botcazou <ebotcazou@adacore.com>
13044
13045 PR bootstrap/48216
13046 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
13047
ef0feeb2
EB
130482011-03-21 Eric Botcazou <ebotcazou@adacore.com>
13049
13050 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
13051 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
13052 to the end of the list. Adjust recursive call. Rename local variable.
13053 If REORDER is true, reorder components of the record type.
13054 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
13055 components_to_record and adjust the parameter list.
13056
646f9414
EB
130572011-03-21 Eric Botcazou <ebotcazou@adacore.com>
13058
13059 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
13060 disabled, use the variable for bounds of loop iteration scheme.
13061
62d784f7
KT
130622011-03-21 Kai Tietz <ktietz@redhat.com>
13063
13064 PR target/12171
0bad0e23 13065 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
62d784f7 13066
f230d759
EB
130672011-03-17 Eric Botcazou <ebotcazou@adacore.com>
13068
13069 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
13070 out whether the expression is read-only. Short-circuit placeholder
13071 case and rename a couple of local variables.
13072
bb1f7929
EB
130732011-03-17 Eric Botcazou <ebotcazou@adacore.com>
13074
13075 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
13076 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
13077 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
13078 (convert): Deal with conversions from a smaller form type specially.
13079
400a2d24
EB
130802011-02-14 Eric Botcazou <ebotcazou@adacore.com>
13081
13082 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
13083 its argument, except for the special -I- switch.
13084
c26bc3ad
GP
130852011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
13086
0bad0e23
EB
13087 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
13088 "Ada Issues".
c26bc3ad 13089
07b8e910
EB
130902011-02-08 Eric Botcazou <ebotcazou@adacore.com>
13091
13092 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
13093
31a5a547
EB
130942011-02-03 Eric Botcazou <ebotcazou@adacore.com>
13095
13096 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
13097 GNAT_FORMAL.
13098 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
13099 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
13100 instead of GNAT_FORMAL. Protect the expression against multiple uses.
13101 Do not generate the check directly, instead instantiate the template
13102 check present in the descriptor.
13103 (make_descriptor_field): Move around.
13104 (build_vms_descriptor32): Build a template check in the POINTER field.
13105 (build_vms_descriptor): Remove useless suffixes.
13106 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
13107
dcf25f59
EB
131082011-01-26 Eric Botcazou <ebotcazou@adacore.com>
13109
13110 PR bootstrap/47467
13111 * targext.c: Include target files if IN_RTS is defined.
13112
0418e131
RG
131132011-01-26 Richard Guenther <rguenther@suse.de>
13114
13115 PR bootstrap/47467
13116 * targext.c: Include config.h.
13117 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
13118 dependency.
13119
c6eecbd8 131202011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 13121 Eric Botcazou <ebotcazou@adacore.com>
c6eecbd8
PO
13122
13123 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
13124
2d3c7e4f
EB
131252011-01-04 Eric Botcazou <ebotcazou@adacore.com>
13126
13127 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
13128 end-of-case on the end label and its associated gotos, if any.
13129
0394741f
EB
131302011-01-04 Eric Botcazou <ebotcazou@adacore.com>
13131
13132 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
13133 expressions of the parameter cache within the statement group of
13134 the CICO mechanism.
13135
2a02d090 131362011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 13137 Eric Botcazou <ebotcazou@adacore.com>
2a02d090
OH
13138
13139 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
13140 (set_end_locus_from_node): New function.
13141 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
13142 make and the function end_locus.
13143 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
13144 for the elaboration subprogram.
13145 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
13146 set the end_locus of the expression as well.
13147
89f5e978
EB
131482011-01-04 Eric Botcazou <ebotcazou@adacore.com>
13149
13150 PR ada/47131
13151 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
13152 variables that are referenced in exception handlers volatile.
13153
13154
ad41bd84 13155\f
797103eb 13156Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
13157
13158Copying and distribution of this file, with or without modification,
13159are permitted in any medium without royalty provided the copyright
13160notice and this notice are preserved.