[multiple changes]
[gcc.git] / gcc / ada / ChangeLog
1 2011-08-03 Emmanuel Briot <briot@adacore.com>
2
3 * make.adb, makeutl.adb, makeutl.ads, clean.adb (Makeutl.Queue): new
4 package.
5
6 2011-08-03 Yannick Moy <moy@adacore.com>
7
8 * cstand.adb (Create_Standard): select Universal_Integer as an ALFA type
9 * sem_ch3.adb (Array_Type_Declaration): detect array types in ALFA
10 * sem_util.adb, sem_util.ads (Has_Static_Array_Bounds): new function to
11 detect that an array has static bounds.
12
13 2011-08-03 Thomas Quinot <quinot@adacore.com>
14
15 * exp_dist.adb: Minor reformatting.
16
17 2011-08-03 Arnaud Charlet <charlet@adacore.com>
18
19 * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-vms.adb
20 (ATCB_Key): Removed, not always used.
21
22 2011-08-03 Emmanuel Briot <briot@adacore.com>
23
24 * gnatcmd.adb, make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads,
25 clean.adb, prj-conf.adb, prj-env.adb, prj-env.ads (Makeutl): remove
26 most remaining global variables.
27
28 2011-08-03 Robert Dewar <dewar@adacore.com>
29
30 * gnatcmd.adb, prj-proc.adb, mlib-prj.adb, prj.adb, makeutl.ads,
31 prj-util.adb, prj-util.ads, prj-conf.adb, prj-env.adb: Minor
32 reformatting.
33
34 2011-08-03 Javier Miranda <miranda@adacore.com>
35
36 * exp_util.adb (Is_VM_By_Copy_Actual): Include N_Slide nodes as actuals
37 that must be passed by copy in VM targets.
38
39 2011-08-03 Emmanuel Briot <briot@adacore.com>
40
41 * prj.ads, prj-nmsc.adb (Files_Htable): removed this htable, which
42 duplicates a similar htable now in the project tree.
43
44 2011-08-03 Claire Dross <dross@adacore.com>
45
46 * a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
47 a-cofove.adb ("=", Length, Is_Empty, Clear, Assign, Copy, Element,
48 Replace_Element, Query_Element, Update_Element, Move, Insert, Prepend,
49 Append, Delete, Delete_First, Delete_Last, Reverse_Element, Swap,
50 Splice, First, First_Element, Last, Last_Element, Next, Previous, Find,
51 Reverse_Find, Contains, Has_Element, Iterate, Reverse_Iterate, Capacity,
52 Reserve_Length, Length, Strict_Equal, Left, Right): Data-structure
53 update.
54
55 2011-08-03 Arnaud Charlet <charlet@adacore.com>
56
57 * s-taprop-posix.adb, s-taprop-linux.adb, s-taprop-tru64.adb
58 (ATCB_Key): Removed, not always used.
59 * s-tpopsp-posix.adb, s-tpopsp-posix-foreign.adb (ATCB_Key): Moved from
60 s-taprop-posix.adb.
61 * s-tpopsp-tls.adb: New file.
62 * gcc-interface/Makefile.in: Use TLS implementation of s-tpopsp.adb on
63 x86/x64/ia64/powerpc/sparc Linux.
64
65 2011-08-03 Arnaud Charlet <charlet@adacore.com>
66
67 * system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True.
68 * gcc-interface/Makefile.in: Switch to ZCX by default on AIX ports.
69
70 2011-08-03 Thomas Quinot <quinot@adacore.com>
71
72 * rtsfind.ads, exp_dist.adb, exp_dist.ads
73 (Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
74 Fix type selection for mapping integer types to PolyORB types.
75
76 2011-08-03 Bob Duff <duff@adacore.com>
77
78 * sem_ch7.adb: Minor comment clarification.
79
80 2011-08-03 Bob Duff <duff@adacore.com>
81
82 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): If we get
83 an error analyzing a choice, skip further processing. Further
84 processing could cause a crash or cascade errors.
85
86 2011-08-03 Emmanuel Briot <briot@adacore.com>
87
88 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, mlib-prj.adb,
89 prj.adb, prj.ads, makeutl.adb, makeutl.ads, clean.adb, prj-nmsc.adb,
90 prj-util.adb, prj-util.ads, prj-conf.adb, prj-conf.ads, prj-env.adb,
91 prj-env.ads (Shared_Project_Tree_Data): new type
92 An aggregate project and its aggregated trees need to share the common
93 data structures used for lists of strings, packages,... This makes the
94 code simpler since otherwise we have to pass the root tree (also used
95 for the configuration file data) in addition to the current project
96 tree. This also avoids ambiguities as to which tree should be used.
97 And finally this saves a bit of memory.
98 (For_Every_Project_Imported): new parameter Tree.
99 Since aggregated projects are using a different tree, we need to let
100 the caller know which tree to use to manipulate the returned project.
101
102 2011-08-03 Robert Dewar <dewar@adacore.com>
103
104 * prj-proc.adb, exp_util.ads, exp_ch9.adb, make.adb, prj-ext.adb,
105 prj-ext.ads, alfa.ads, sem_ch4.adb, makeutl.adb, makeutl.ads,
106 lib-xref-alfa.adb, sem_cat.adb, exp_dist.adb, get_alfa.adb,
107 prj-env.adb, prj-env.ads, prj-tree.adb, alfa.ads: Minor reformatting.
108
109 2011-08-03 Javier Miranda <miranda@adacore.com>
110
111 * exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
112 Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.
113
114 2011-08-03 Bob Duff <duff@adacore.com>
115
116 * sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
117 the Base_Type.
118
119 2011-08-03 Joel Brobecker <brobecker@adacore.com brobecker>
120
121 * g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
122 g-sehash.ads: Fix typo. Update header.
123
124 2011-08-03 Thomas Quinot <quinot@adacore.com>
125
126 * exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
127 expansion.
128
129 2011-08-03 Gary Dismukes <dismukes@adacore.com>
130
131 * sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
132 prefixes of private types along with records, since the selector may be
133 a discriminant.
134 * sem_res.adb (Resolve_Selected_Component): Consider prefixes of
135 private types along with records, since the selector may be a
136 discriminant.
137
138 2011-08-03 Emmanuel Briot <briot@adacore.com>
139
140 * prj-pp.adb (Pretty_Print): remove trailing blank line in the file
141
142 2011-08-03 Javier Miranda <miranda@adacore.com>
143
144 * sem_aux.adb (Is_VM_By_Copy_Actual): Fix wrong use of
145 Tagged_Type_Expansion.
146
147 2011-08-03 Yannick Moy <moy@adacore.com>
148
149 * sem_res.adb
150 (Resolve_Op_Concat_Arg): do not issue a SPARK violation when argument of
151 concatenation is the name of a constant
152
153 2011-08-03 Emmanuel Briot <briot@adacore.com>
154
155 * prj-proc.adb, prj-ext.adb, prj-ext.ads, prj-env.adb, prj-env.ads,
156 prj-tree.adb, prj-tree.ads (Initialize_And_Copy, Copy): new subprograms
157 (Process_Declarative_Items): new parameter Child_Env.
158
159 2011-08-03 Yannick Moy <moy@adacore.com>
160
161 * alfa.ads Update format of ALFA section in ALI file in order to add a
162 mapping from bodies to specs when both are present
163 (ALFA_Scope_Record): add components for spec file/scope
164 * get_alfa.adb (Get_ALFA): read the new file/scope for spec when present
165 * lib-xref-alfa.adb
166 (Collect_ALFA): after all scopes have been collected, fill in the spec
167 information when relevant
168 * put_alfa.adb (Put_ALFA): write the new file/scope for spec when
169 present.
170
171 2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
172
173 * inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing
174 code unit to decide whether to add internally generated subprograms.
175
176 2011-08-03 Javier Miranda <miranda@adacore.com>
177
178 * sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram.
179 * exp_ch9.adb
180 (Build_Simple_Entry_Call): Handle actuals that must be handled by copy
181 in VM targets.
182
183 2011-08-03 Emmanuel Briot <briot@adacore.com>
184
185 * make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): now shares
186 code with Makeutl.Get_Switches.
187 * prj-tree.adb: Update comment.
188
189 2011-08-03 Thomas Quinot <quinot@adacore.com>
190
191 * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Reject a remote
192 subprogram with a limited formal that does not support external
193 streaming.
194
195 2011-08-03 Yannick Moy <moy@adacore.com>
196
197 * get_alfa.adb (Get_ALFA): add missing Skip_Spaces at start of
198 continuation line
199 * lib-xref-alfa.adb (Add_ALFA_File): split removal of scopes that are
200 not from current unit in two phases, because it is not possible to
201 change the table while iterating over its content.
202 * put_alfa.adb (Put_ALFA): reset current file/scope at each new entity
203
204 2011-08-03 Sergey Rybin <rybin@adacore.com>
205
206 * vms_data.ads: Add qualifier for gnatmetric --no-static-loop option
207 * gnat_ugn.texi: Update description of complexity metrics (gnatmetric)
208
209 2011-08-03 Ed Schonberg <schonberg@adacore.com>
210
211 * sem_res.adb (Resolve_Op_Concat_Arg): if the argument is an aggregate
212 and the component type is composite, this is ambiguous for predefined
213 concatenation, but if the node is not overloaded and the entity is a use
214 -defined function its profile can be used to resolve that aggregate.
215
216 2011-08-03 Robert Dewar <dewar@adacore.com>
217
218 * exp_ch4.adb: Minor code cleanup.
219
220 2011-08-03 Thomas Quinot <quinot@adacore.com>
221
222 * exp_dist.adb: Do not generate distribution stubs if serious errors
223 have been diagnosed.
224
225 2011-08-03 Ed Schonberg <schonberg@adacore.com>
226
227 * sem_ch4.adb (Try_Primitive_Operation): when checking the validity of
228 the first formal of a primitive operation, go to the base type to
229 handle properly an access to a derived type with constrained
230 discriminants.
231 * sem_type.adb (Disambiguate): an immediately visible operator hides a
232 user-defined function that is only use-visible.
233
234 2011-08-03 Robert Dewar <dewar@adacore.com>
235
236 * sem_aggr.adb, sem_ch3.adb, lib.ads, gnatcmd.adb, prj-proc.adb,
237 make.adb, lib-writ.adb, prj-part.adb, prj-part.ads, prj-ext.adb,
238 fname-uf.adb, prj-ext.ads, prj.adb, prj.ads, sem_attr.adb, alfa.adb,
239 prj-makr.adb, errout.adb, makeutl.adb, makeutl.ads, restrict.ads,
240 sem_ch6.adb, g-pehage.adb, clean.adb, put_alfa.adb, lib-xref-alfa.adb,
241 prj-nmsc.adb, prj-nmsc.ads, sem_ch8.adb, prj-pars.ads, exp_aggr.adb,
242 prj-attr.ads, sem_ch13.adb, get_alfa.adb, prj-env.adb, prj-env.ads,
243 alfa_test.adb, prj-tree.adb, prj-tree.ads, einfo.ads: Minor reformatting
244
245 2011-08-03 Robert Dewar <dewar@adacore.com>
246
247 * repinfo.adb (List_Mechanism): Add handling of
248 Convention_Ada_Pass_By_XXX.
249 * sem_mech.adb (Set_Mechanism): Ditto.
250 * sem_prag.adb (Process_Convention): Add entries for
251 Convention_Ada_Pass_By_XXX.
252 * snames.adb-tmpl, snames.ads-tmpl: Ditto.
253
254 2011-08-03 Pascal Obry <obry@adacore.com>
255
256 * makeutl.adb: Minor reformatting.
257
258 2011-08-03 Vincent Celier <celier@adacore.com>
259
260 * fname-uf.adb
261 (Get_File_Name) If the file cannot be found when there are no config
262 pragmas file and May_Fail is True, return No_File instead of the file
263 name, to be consistent.
264
265 2011-08-03 Pascal Obry <obry@adacore.com>
266
267 * adaint.c (__gnat_is_executable_file_attr): Avoid access
268 to null pointer.
269
270 2011-08-03 Javier Miranda <miranda@adacore.com>
271
272 * sem_ch13.adb
273 (Same_Representation): In VM targets the representation of arrays with
274 aliased components differs from arrays with non-aliased components.
275
276 2011-08-03 Emmanuel Briot <briot@adacore.com>
277
278 * prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do
279 not systematically lower case attribute indexes that contain no "."
280 Fix definition of several Naming attributes, which take
281 a unit name as index and therefore should be case insensitive.
282 Minor refactoring (reduce length of variable names).
283
284 2011-08-03 Emmanuel Briot <briot@adacore.com>
285
286 * makeutl.adb, makeutl.ads (Get_Switches): new subprogram.
287
288 2011-08-03 Emmanuel Briot <briot@adacore.com>
289
290 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
291 prj-part.ads, switch-m.adb, switch-m.ads, prj-makr.adb, clean.adb,
292 prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
293 prj-tree.ads (Prj.Tree.Environment): new type.
294
295 2011-08-03 Emmanuel Briot <briot@adacore.com>
296
297 * prj-proc.adb, prj.ads, makeutl.adb, makeutl.ads, prj-conf.adb,
298 prj-tree.adb, prj-tree.ads (Environment): new type.
299
300 2011-08-03 Emmanuel Briot <briot@adacore.com>
301
302 * prj-tree.ads: Remove unused variable.
303
304 2011-08-03 Yannick Moy <moy@adacore.com>
305
306 * restrict.adb (Restriction_Msg): set "SPARK" all in upper case for
307 issuing messages related to SPARK restriction violation.
308
309 2011-08-03 Ed Schonberg <schonberg@adacore.com>
310
311 * sem_ch6.adb: guard against error nodes in return statements.
312
313 2011-08-03 Arnaud Charlet <charlet@adacore.com>
314
315 * errout.adb (Error_Msg_Internal): the main unit has not been read yet,
316 a warning can only appear on a configuration file, so emit warning
317 without further checks.
318
319 2011-08-03 Arnaud Charlet <charlet@adacore.com>
320
321 * s-interr.ads: add overriding keyword.
322
323 2011-08-03 Geert Bosch <bosch@adacore.com>
324
325 * exp_attr.adb: Fix minor typo.
326
327 2011-08-03 Ed Schonberg <schonberg@adacore.com>
328
329 * par-ch4.adb: improve error recovery.
330
331 2011-08-03 Emmanuel Briot <briot@adacore.com>
332
333 * prj-part.adb, prj-part.ads, prj-makr.adb, prj-pars.adb, prj-conf.adb,
334 prj-env.adb (Prj.Part.Parse): change parameter Always_Errout_Finalize
335 to Errout_Handling.
336
337 2011-08-03 Emmanuel Briot <briot@adacore.com>
338
339 * prj-dect.adb (Parse_Attribute_Declaration): make sure we can use
340 "external" as an attribute name in aggregate projects.
341
342 2011-08-03 Jose Ruiz <ruiz@adacore.com>
343
344 * s-taprop-vxworks.adb: (Create_Task, Initialize): Ada 2012 pragma CPU
345 uses CPU numbers starting 1, while VxWorks uses CPU numbers starting
346 from 0, so we need to adjust.
347
348 2011-08-03 Emmanuel Briot <briot@adacore.com>
349
350 * prj-proc.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, prj-tree.adb,
351 prj-tree.ads, gnatcmd.adb, clean.adb (External_References): new type.
352
353 2011-08-03 Yannick Moy <moy@adacore.com>
354
355 * sem_ch6.adb (New_Overloaded_Entity): only issue error for SPARK
356 restriction on overloaded entity if the entity is not an operator.
357
358 2011-08-03 Yannick Moy <moy@adacore.com>
359
360 * sem_ch7.adb, sem_res.adb, sem_attr.adb, restrict.adb,
361 restrict.ads: Rename remaining Check_Formal_Restriction* into
362 Check_SPARK_Restriction*.
363
364 2011-08-03 Emmanuel Briot <briot@adacore.com>
365
366 * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
367 prj-nmsc.ads, prj-err.adb (Project_Data): now discriminated on its
368 qualifier.
369 (Project_Empty): removed
370 (Empty_Project): new parameter Qualifier
371 This is used to have fields specific to aggregate projects, cleaner
372 New field to store the list of aggregated projects.
373 (Check_Aggregate_Project): removed
374 (Process_Aggregated_Projects, Free): new subprograms.
375
376 2011-08-03 Olivier Hainque <hainque@adacore.com>
377
378 * tracebak.c (STOP_FRAME ppc AIX): Stop at null return address as well.
379
380 2011-08-03 Ed Schonberg <schonberg@adacore.com>
381
382 * sem_ch8.adb (Analyze_Object_Renaming): if the renamed object is an
383 explicit dereference of an unconstrained type, create a constrained
384 subtype for it, as is done for function calls that return an
385 unconstrained type.
386
387 2011-08-03 Thomas Quinot <quinot@adacore.com>
388
389 * g-pehage.adb (Finalize): Avoid possible double-free.
390
391 2011-08-03 Steve Baird <baird@adacore.com>
392
393 * exp_attr.adb (Expand_N_Attribute_Reference): Don't expand
394 Elab_Spec/Body attrs in CodePeer_Mode.
395
396 2011-08-03 Javier Miranda <miranda@adacore.com>
397
398 * exp_aggr.adb (Flatten): Convert to positional form aggregates whose
399 low bound is not known at compile time but they have no others choice.
400 Done because in this case the bounds can be obtained directly from the
401 aggregate.
402
403 2011-08-03 Ed Falis <falis@adacore.com>
404
405 * s-tasinf-vxworks.ads: Update comment to reflect 0 indexing of CPUs
406 on VxWorks SMP. Remove unusable constant ANY_CPU.
407
408 2011-08-03 Emmanuel Briot <briot@adacore.com>
409
410 * gnatcmd.adb, make.adb, prj-part.adb, prj-part.ads, prj-makr.adb,
411 clean.adb, prj-nmsc.adb, prj-pars.adb, prj-conf.adb, prj-env.adb,
412 prj-env.ads (Prj.Env.Initialize_Default_Project_Path,
413 Prj.Env.Initialize_Empty): new subprograms
414 (Get_Env, Find_Project): remove parameter Target_Name.
415
416 2011-08-03 Gary Dismukes <dismukes@adacore.com>
417
418 * sem_ch3.adb (Build_Derived_Record_Type): Test the Derive_Subps formal
419 as a condition for the delayed call to Derived_Subprograms done for the
420 case of the rewriting of a derived type that constrains the
421 discriminants of its parent type.
422 Avoids redundant subprogram derivations for private subtype derivations.
423
424 2011-08-03 Javier Miranda <miranda@adacore.com>
425
426 * exp_aggr.adb (Init_Hidden_Discriminants): New subprogram of
427 Build_Record_Aggr_Code.
428 (Build_Record_Aggr_Code): Add missing support to initialize hidden
429 discriminants in extension aggregates.
430
431 2011-08-03 Emmanuel Briot <briot@adacore.com>
432
433 * prj-pp.adb (Print): also output project qualifiers, since in
434 particular "aggregate" is mandatory in an aggregate project.
435
436 2011-08-03 Emmanuel Briot <briot@adacore.com>
437
438 * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb:
439 (Debug_Output): new function.
440
441 2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
442
443 * gnat_ugn.texi: Document -Wstack-usage.
444 * gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes.
445
446 2011-08-03 Thomas Quinot <quinot@adacore.com>
447
448 * sem_prag.adb Issue an error (not a warning) when a C++ type does not
449 have keyword LIMITED.
450
451 2011-08-03 Yannick Moy <moy@adacore.com>
452
453 * alfa.adb, alfa.ads, alfa_test.adb: New files.
454 * ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA)
455 (Scan_ALI): do not issue a fatal error if parsing known lines after Xref
456 section (does not happen in compiler, only if code directly calls
457 Scan_ALI).
458 * get_alfa.adb, get_alfa.ads: New files.
459 * lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if
460 needed.
461 * lib-xref-alfa.adb: New file.
462 * lib-xref.adb, lib-xref.ads
463 (Xref_Entry): redefine information needed in cross-references for ALFA.
464 Push ALFA treatments in separated local package.
465 (Enclosing_Subpragram_Or_Package): treat specially subprogram
466 identifiers. Return entity of package body instead of spec. Return
467 Empty for a scope with no location.
468 (Generate_Reference): adapt to new components for ALFA information.
469 Remove the need for D references on definitions.
470 (Is_Local_Reference): moved to ALFA local package
471 (Output_References): extract subfunction as Extract_Source_Name
472 (Output_Local_References): remove procedure, replaced by filtering of
473 cross-references in package ALFA and printing in Put_ALFA.
474 (Write_Entity_Name): remove procedure
475 * lib.adb, lib.ads (Extract_Source_Name): extract here function to
476 print exact name of entity as it appears in source file
477 (Unit_Ref_Table): make type public for use in Lib.Xref.ALFA
478 * put_alfa.adb, put_alfa.ads: New files.
479 * xref_lib.adb (Search_Xref): protect read of cross-references against
480 reading other sections of the ALI file, in gnatxref
481 (Search): protect read of cross-references against reading other
482 sections of the ALI file, in gnatfind.
483 * gcc-interface/Make-lang.in: Update dependencies.
484
485 2011-08-03 Thomas Quinot <quinot@adacore.com>
486
487 * sem_ch3.adb: Minor reformatting.
488
489 2011-08-03 Jose Ruiz <ruiz@adacore.com>
490
491 * s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of
492 raising an exception.
493
494 2011-08-03 Ed Schonberg <schonberg@adacore.com>
495
496 * sem_res.adb (Set_String_Literal_Subtype): if index type is an integer
497 type, always use 1 as the lower bound or string, even if lower bound of
498 context is not static, to handle properly null strings in a non-static
499 context.
500
501 2011-08-03 Bob Duff <duff@adacore.com>
502
503 * sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is
504 always legal on the right-hand side of an assignment statement; there
505 is always an applicable index constraint in this case. Therefore, the
506 check for Pkind = N_Assignment_Statement is now unconditional -- it
507 doesn't depend on whether Is_Constrained (Typ).
508
509 2011-08-03 Robert Dewar <dewar@adacore.com>
510
511 * exp_ch5.adb, sem_prag.adb, exp_ch4.adb: Minor reformatting.
512
513 2011-08-03 Ed Schonberg <schonberg@adacore.com>
514
515 * sem_ch3.adb (Build_Itype_Reference): do not create an itype reference
516 for an itype created within a generic unit.
517
518 2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
519
520 * gnat_ugn.texi (Switches for gcc): Make it clearer that -fno-inline
521 suppresses all inlining.
522
523 2011-08-03 Robert Dewar <dewar@adacore.com>
524
525 * sem_ch3.adb, sem_res.adb, exp_ch13.adb, exp_disp.adb,
526 exp_aggr.adb: Minor reformatting.
527
528 2011-08-03 Thomas Quinot <quinot@adacore.com>
529
530 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not force inlining of
531 tagged assignment when discriminant checks are suppressed. This is
532 useless and extremely costly in terms of static stack usage.
533
534 2011-08-03 Bob Duff <duff@adacore.com>
535
536 * sem_prag.adb (Get_Base_Subprogram): Do not follow Alias for instances
537 of generics, because this leads to the wrong entity in the wrong scope,
538 causing (e.g.) pragma Export_Procedure to get an error if the entity is
539 an instance.
540 (Process_Interface_Name): Follow Alias for instances of generics, to
541 correct for the above change.
542
543 2011-08-03 Ed Schonberg <schonberg@adacore.com>
544
545 * exp_ch4.adb (Expand_N_Selected_Component): If the discriminant value
546 is an integer literal it is always safe to replace the reference. In
547 addition, if the reference appears in the generated code for an object
548 declaration it is necessary to copy because otherwise the reference
549 might be to the uninitilized value of the discriminant of the object
550 itself.
551
552 2011-08-03 Pascal Obry <obry@adacore.com>
553
554 * adaint.c (__gnat_is_executable_file_attr): Fix Win32 circuitry when no
555 ACL used, in this case we want to check for ending .exe, not .exe
556 anywhere in the path.
557
558 2011-08-03 Sergey Rybin <rybin@adacore.com>
559
560 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
561 the tree structure (semantic decoration of references to record
562 discriminants).
563
564 2011-08-03 Gary Dismukes <dismukes@adacore.com>
565
566 * sem_aggr.adb (Analyze_Array_Aggregate): When checking the discrete
567 choices of a named array aggregate, bail out when any choices are
568 marked as Errors_Posted.
569
570 2011-08-03 Ed Schonberg <schonberg@adacore.com>
571
572 * exp_ch13.adb (Expand_N_Freeze_Entity): cleanup determination of scope
573 in which entity is frozen, to handle properly loop variables in
574 iterators.
575
576 2011-08-03 Ed Schonberg <schonberg@adacore.com>
577
578 * sem_res.adb (Set_String_Literal_Subtype): if the lower bound of the
579 subtype is not static, compute the upper bound using attributes, to
580 handle properly index types that are not integer types.
581
582 2011-08-03 Bob Duff <duff@adacore.com>
583
584 * gnat_rm.texi, gnat_ugn.texi: Fix some dangling URLs.
585 Update copyright notice.
586
587 2011-08-03 Ed Schonberg <schonberg@adacore.com>
588
589 * sem_ch3.adb (Build_Discriminant_Constraints): Only use
590 Original_Discriminant if within an instance.
591 * sem_ch4.adb (Analyze_Selected_Component): Ditto.
592
593 2011-08-03 Thomas Quinot <quinot@adacore.com>
594
595 * einfo.ads: Minor reformatting.
596
597 2011-08-03 Ed Schonberg <schonberg@adacore.com>
598
599 * exp_disp.adb (Check_Premature_Freezing): diagnose the presence of a
600 composite type with an unfrozen subcomponent, in the profile of a
601 primitive operation.
602
603 2011-08-03 Robert Dewar <dewar@adacore.com>
604
605 * sem_util.ads, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
606
607 2011-08-03 Ed Schonberg <schonberg@adacore.com>
608
609 * sem_ch3.adb (Analyze_Object_Declaration): if a constant object of an
610 unconstrained type with discriminants is initialized with an aggregate,
611 use the constrained subtype of the aggregate as the type of the object,
612 because it is immutable, and this allows the back-end to generate no
613 code for the object declaration.
614
615 2011-08-03 Robert Dewar <dewar@adacore.com>
616
617 * exp_ch4.adb (Optimize_Length_Check): Fix bad handling of case where
618 comparison operand is variable, and turns out to be zero or negative.
619
620 2011-08-03 Javier Miranda <miranda@adacore.com>
621
622 * exp_intr.adb
623 (Expand_Dispatching_Constructor_Call): Disable expansion of
624 code required for native targets. Done to avoid generating
625 references to unavailable runtime entities in VM targets.
626 * exp_ch3.adb
627 (Expand_N_Object_Declaration): Add missing support to handle
628 the explicit initialization of class-wide interface objects.
629 Fix documentation.
630
631 2011-08-03 Matthew Heaney <heaney@adacore.com>
632
633 * a-cobove.adb (Merge): Move source onto target, instead of using Assign
634
635 2011-08-03 Matthew Heaney <heaney@adacore.com>
636
637 * a-cbdlli.adb (Splice): move source items from first to last
638
639 2011-08-03 Yannick Moy <moy@adacore.com>
640
641 * sem_util.ads: comment added.
642
643 2011-08-03 Javier Miranda <miranda@adacore.com>
644
645 * exp_aggr.adb
646 (Expand_Record_Aggregate): In VM targets disable the expansion into
647 assignments of aggregates whose type is not known at compile time.
648
649 2011-08-03 Ed Schonberg <schonberg@adacore.com>
650
651 * exp_ch9.adb (Build_Renamed_Formal_Declaration): common procedure for
652 protected entries and task entries, to build the proper renaming
653 declaration for entry formals, used in debugging.
654 * exp_ch2.adb (Expand_Entry_Parameter): handle task and entry
655 parameters in the same way.
656
657 2011-08-02 Robert Dewar <dewar@adacore.com>
658
659 * a-direct.adb, sinfo.ads, exp_ch9.adb, scng.adb, sem_util.adb,
660 sem_util.ads, restrict.ads, par-prag.adb: Minor reformatting and/or
661 code reorganization.
662
663 2011-08-02 Robert Dewar <dewar@adacore.com>
664
665 * debug.adb: Debug flag d.P to suppress length comparison optimization
666 * exp_ch4.adb (Optimize_Length_Comparison): New routine to optimize
667 comparison of Length by comparing First/Last instead.
668
669 2011-08-02 Matthew Heaney <heaney@adacore.com>
670
671 * a-cobove.ads: Code clean up.
672
673 2011-08-02 Vincent Celier <celier@adacore.com>
674
675 * adaint.c (file_names_case_sensitive_cache): New static int.
676 (__gnat_get_file_names_case_sensitive): Cache the return value in
677 file_names_case_sensitive_cache at the first invocation, to avoid
678 multiple calls to getenv.
679
680 2011-08-02 Bob Duff <duff@adacore.com>
681
682 * sem_ch12.adb (Validate_Derived_Type_Instance): Implement AI05-0218-1.
683
684 2011-08-02 Yannick Moy <moy@adacore.com>
685
686 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads,
687 sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb,
688 sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to
689 indicate that we are in a precondition or postcondition. This is used in
690 Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to
691 decide whether to flag the spec or body of the current subprogram as
692 not in ALFA.
693
694 2011-08-02 Fabien Chouteau <chouteau@adacore.com>
695
696 * impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package
697 list.
698 * a-extiin.ads: New file.
699
700 2011-08-02 Bob Duff <duff@adacore.com>
701
702 * a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename
703 now raises Name_Error instead of Use_Error in certain cases. The other
704 parts of this AI were already implemented properly.
705
706 2011-08-02 Vincent Celier <celier@adacore.com>
707
708 * link.c: Only import "auto-host.h" when building the gnattools.
709
710 2011-08-02 Yannick Moy <moy@adacore.com>
711
712 * sem_util.adb: Inter-unit inlining does not work for a subprogram
713 which calls a local subprogram, so extract subprogram
714 from Mark_Non_ALFA_Subprogram_Body.
715
716 2011-08-02 Javier Miranda <miranda@adacore.com>
717
718 * exp_ch9.adb
719 (Extract_Dispatching_Call): If the type of the dispatching object is an
720 access type then return an explicit dereference in the Object out-mode
721 parameter.
722
723 2011-08-02 Gary Dismukes <dismukes@adacore.com>
724
725 * sem_ch3.adb (Analyze_Subtype_Declaration): Generate range
726 compatibility checks for all indexes of an array subtype, not just the
727 first. Reset Has_Dynamic_Range_Check on the subtype before each
728 potential check to ensure that Insert_Range_Checks will not elide any
729 of the dynamic checks.
730
731 2011-08-02 Yannick Moy <moy@adacore.com>
732
733 * par-prag.ad (Process_Restrictions_Or_Restriction_Warnings): recognize
734 SPARK restriction at parsing time.
735 * scng.adb (Scan): Generate a token Tok_SPARK_Hide for a SPARK HIDE
736 directive only if the SPARK restriction is set for this unit.
737
738 2011-08-02 Yannick Moy <moy@adacore.com>
739
740 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads,
741 sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb,
742 sem_ch11.adb: Protect call to Current_Subprogram which might be costly
743 when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into
744 Mark_Non_ALFA_Subprogram_Body.
745 Split body of Mark_Non_ALFA_Subprogram_Body to get body small and
746 inlined.
747
748 2011-08-02 Yannick Moy <moy@adacore.com>
749
750 * sem_res.adb: Protect calls to Matching_Static_Array_Bounds which
751 might be costly.
752
753 2011-08-02 Robert Dewar <dewar@adacore.com>
754
755 * exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
756 exp_ch3.adb: Minor reformatting.
757
758 2011-08-02 Emmanuel Briot <briot@adacore.com>
759
760 * adaint.c (__gnat_locate_exec_on_path): only returns executable
761 files, not any regular file.
762 (__gnat_locate_file_with_predicate): new subprogram.
763
764 2011-08-02 Yannick Moy <moy@adacore.com>
765
766 * sinfo.adb, sinfo.ads: Restrict the use of flags
767 Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
768 nodes, plus N_Subtype_Declaration for the 2nd one.
769
770 2011-08-02 Sergey Rybin <rybin@adacore.com>
771
772 * gnat_rm.texi: Ramification of pragma Eliminate documentation
773 - fix bugs in the description of Source_Trace;
774 - get rid of UNIT_NAME;
775
776 2011-08-02 Javier Miranda <miranda@adacore.com>
777
778 * exp_ch9.adb
779 (Build_Dispatching_Requeue): Adding support for VM targets
780 since we cannot directly reference the Tag entity.
781 * exp_sel.adb (Build_K): Adding support for VM targets.
782 (Build_S_Assignment): Adding support for VM targets.
783 * exp_disp.adb
784 (Default_Prim_Op_Position): In VM targets do not restrict availability
785 of predefined interface primitives to compiling in Ada 2005 mode.
786 (Is_Predefined_Interface_Primitive): In VM targets this service is not
787 restricted to compiling in Ada 2005 mode.
788 (Make_VM_TSD): Generate code that declares and initializes the OSD
789 record. Needed to support dispatching calls through synchronized
790 interfaces.
791 * exp_ch3.adb
792 (Make_Predefined_Primitive_Specs): Enable generation of predefined
793 primitives associated with synchronized interfaces.
794 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
795 primitives associated with synchronized interfaces.
796
797 2011-08-02 Yannick Moy <moy@adacore.com>
798
799 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
800 statements hidden in SPARK if preceded by the HIDE directive
801 (Parse_Exception_Handlers): mark each exception handler in a sequence of
802 exception handlers as hidden in SPARK if preceded by the HIDE directive
803 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
804 if starting with the HIDE directive
805 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
806 starting with the HIDE directive; mark the declarations in a private
807 part as hidden in SPARK if the private part starts with the HIDE
808 directive
809 * restrict.adb, restrict.ads
810 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
811 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
812 argument node belongs to a part which is hidden in SPARK
813 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
814 parts in SPARK; protect the possibly costly call to
815 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
816 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
817 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
818 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
819 Tok_SPARK_Hide.
820 (Scan): recognize special comment starting with '#' and followed by
821 SPARK keyword "hide" as a HIDE directive.
822
823 2011-08-02 Yannick Moy <moy@adacore.com>
824
825 * types.ads, erroutc.ads: Minor reformatting.
826
827 2011-08-02 Vincent Celier <celier@adacore.com>
828
829 * link.c: Add response file support for cross platforms.
830
831 2011-08-02 Ed Schonberg <schonberg@adacore.com>
832
833 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
834 in an association, set parent field of copy before partial analysis.
835 * sem_res.adb (Resolve_Slice): create reference to itype only when
836 expansion is enabled.
837
838 2011-08-02 Yannick Moy <moy@adacore.com>
839
840 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
841 for new flag denoting which subprogram bodies are in ALFA
842 * restrict.adb, sem_ch7.adb: Update comment
843 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
844 sem_ch9.adb, sem_res.adb: Add calls to
845 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
846 * sem_ch6.adb (Analyze_Function_Return): add calls to
847 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
848 middle of the body, and extended return.
849 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
850 False when missing return.
851 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
852 to True for subprograms whose spec is in ALFA. Remove later on the flag
853 on the entity used for a subprogram body when there exists a separate
854 declaration.
855 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
856 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
857 False, otherwise do nothing.
858
859 2011-08-02 Robert Dewar <dewar@adacore.com>
860
861 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
862
863 2011-08-02 Yannick Moy <moy@adacore.com>
864
865 * sem_ch4.ads: minor formatting.
866
867 2011-08-02 Yannick Moy <moy@adacore.com>
868
869 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
870 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
871 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
872 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
873 opt.ads: cleanup of SPARK mode
874
875 2011-08-02 Yannick Moy <moy@adacore.com>
876
877 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
878 types.
879 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
880 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
881 * sem_ch3.adb
882 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
883 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
884 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
885 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
886 types.
887 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
888 non-static range.
889 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
890 functions whose return type is not in ALFA.
891 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
892 specifications.
893 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
894 parameter's type is not in ALFA.
895 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
896 types are in ALFA.
897
898 2011-08-02 Ed Schonberg <schonberg@adacore.com>
899
900 * sem_ch6 (Analyze_Expression_Function): treat the function as
901 Inline_Always, and introduce a subprogram declaration for it when it is
902 not a completion.
903 * inline.adb (Add_Inlined_Body): recognize bodies that come from
904 expression functions, so that the back-end can determine whether they
905 can in fact be inlined.
906 * sem_util.adb (Is_Expression_Function): predicate to determine whether
907 a function body comes from an expression function.
908
909 2011-08-02 Gary Dismukes <dismukes@adacore.com>
910
911 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
912 null exclusions to test Can_Never_Be_Null on the anonymous access types
913 of the formals rather than testing the formals themselves. Exclude this
914 check in cases where the Old_Formal is marked as a controlling formal,
915 to avoid issuing spurious errors for bodies completing dispatching
916 operations (due to the flag not getting set on controlling access
917 formals in body specs).
918 (Find_Corresponding_Spec): When checking full and subtype conformance of
919 subprogram bodies in instances, pass Designated and E in that order, for
920 consistency with the expected order of the formals (New_Id followed by
921 Old_Id).
922
923 2011-08-02 Robert Dewar <dewar@adacore.com>
924
925 * sem_ch8.adb: Minor reformatting.
926
927 2011-08-02 Ed Schonberg <schonberg@adacore.com>
928
929 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
930 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
931 primitive operations of class-wide actuals.
932
933 2011-08-02 Javier Miranda <miranda@adacore.com>
934
935 * exp_atag.ads, exp_atag.adb
936 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
937 since its value is implicitly passed in argument Typ.
938 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
939 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
940 Build_Common_Dispatching_Select_Statements.
941
942 2011-08-02 Robert Dewar <dewar@adacore.com>
943
944 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
945 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
946 Minor reformatting.
947
948 2011-08-02 Robert Dewar <dewar@adacore.com>
949
950 * sem_res.adb: Minor reformatting.
951 * sem_prag.adb: Minor reformatting.
952
953 2011-08-02 Javier Miranda <miranda@adacore.com>
954
955 * exp_atag.adb, exp_atags.ads
956 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
957 by the tagged type Entity. Required to use this routine in the VM
958 targets since we do not have available the Tag entity in the VM
959 platforms.
960 * exp_ch6.adb
961 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
962 Ada.Tags has not been previously loaded.
963 * exp_ch7.adb
964 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
965 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
966 * sem_aux.adb
967 (Enclosing_Dynamic_Scope): Add missing support to handle the full
968 view of enclosing scopes. Required to handle enclosing scopes that
969 are synchronized types whose full view is a task type.
970 * exp_disp.adb
971 (Build_VM_TSDs): Minor code improvement to avoid generating and
972 analyzing lists with empty nodes.
973 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
974 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
975 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
976 (Make_Disp_Timed_Select_Body): Add support for VM targets.
977 (Make_Select_Specific_Data_Table): Add support for VM targets.
978 (Make_VM_TSD): Generate code to initialize the SSD structure of
979 the TSD.
980
981 2011-08-02 Yannick Moy <moy@adacore.com>
982
983 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
984 cross-references section in ALI.
985 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
986 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
987 Sub).
988 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
989 subprogram or package entity of a node
990 (Is_Local_Reference_Type): new function returns True for references
991 selected in local cross-references.
992 (Lt): function extracted from Lt in Output_References
993 (Write_Entity_Name): function extracted from Output_References
994 (Generate_Definition): generate reference with type 'D' for definition
995 of objects (object declaration and parameter specification), with
996 appropriate locations and units, for use in local cross-references.
997 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
998 references of type 'I' for initialization in object definition.
999 (Output_References): move part of function Lt and procedure
1000 Write_Entity_Name outside of the body. Ignore references of types 'D'
1001 and 'I' introduced for local cross-references.
1002 (Output_Local_References): new procedure to output the local
1003 cross-references sections.
1004 (Lref_Entity_Status): new array defining whether an entity is a local
1005 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
1006 with 'I' type when initialization expression is present.
1007 * get_scos.adb, get_scos.ads: Correct comments and typos
1008
1009 2011-08-02 Javier Miranda <miranda@adacore.com>
1010
1011 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
1012 the JVM target.
1013 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
1014 the JVM target.
1015 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
1016 TSD support.
1017
1018 2011-08-02 Vincent Celier <celier@adacore.com>
1019
1020 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
1021 (No_Space_Img): New function
1022 (Find_Excluded_Sources): When reading from a file, record the file name
1023 and the line number for each excluded source.
1024 (Mark_Excluded_Sources): When reporting an error, if the excluded
1025 sources were read from a file, include file name and line number in
1026 the error message.
1027
1028 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1029
1030 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
1031
1032 2011-08-02 Robert Dewar <dewar@adacore.com>
1033
1034 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
1035
1036 2011-08-02 Javier Miranda <miranda@adacore.com>
1037
1038 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
1039 generation of TSDs to the DOTNET compiler.
1040 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
1041 generation of TSDs to the DOTNET compiler.
1042
1043 2011-08-02 Javier Miranda <miranda@adacore.com>
1044
1045 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
1046 record of all the tagged types declared inside library level package
1047 declarations, library level package bodies or library level subprograms.
1048 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
1049 associated with a given tagged type.
1050 (Build_VM_TSDs): New subprogram.
1051 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
1052 compilation units that are subprograms.
1053 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
1054 compilation units that are package bodies.
1055 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
1056 units that are a package declaration or a package instantiation.
1057 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
1058 reorganization to improve the error generated by the frontend when the
1059 function Ada.Tags.Secondary_Tag is not available.
1060 * rtsfind.ads (RE_Register_TSD): New runtime entity.
1061 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
1062
1063 2011-08-02 Javier Miranda <miranda@adacore.com>
1064
1065 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
1066
1067 2011-08-02 Robert Dewar <dewar@adacore.com>
1068
1069 * s-imenne.ads: Minor reformatting.
1070
1071 2011-08-02 Robert Dewar <dewar@adacore.com>
1072
1073 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
1074 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
1075 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
1076
1077 2011-08-02 Robert Dewar <dewar@adacore.com>
1078
1079 * einfo.ads (Materialize_Entity): Document this is only for renamings
1080 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
1081 required debug information in the case where we transform the object
1082 declaration into a renaming declaration.
1083 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
1084 object
1085 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
1086 Materialize_Entity.
1087
1088 2011-08-02 Robert Dewar <dewar@adacore.com>
1089
1090 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
1091 Suppress_Init_Procs.
1092 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
1093 Suppress_Initialization/Initialization_Suppressed.
1094 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
1095 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
1096 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
1097 * sem_prag.adb: New processing for pragma Suppress_Initialization.
1098
1099 2011-08-02 Robert Dewar <dewar@adacore.com>
1100
1101 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
1102 Minor reformatting.
1103
1104 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1105
1106 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
1107 only have inheritable classwide pre/postconditions.
1108
1109 2011-08-02 Javier Miranda <miranda@adacore.com>
1110
1111 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
1112 * rtsfind.ads (RE_Check_TSD): New runtime entity.
1113 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
1114 checks if the external tag of a type is the same as the external tag
1115 of some other declaration.
1116
1117 2011-08-02 Thomas Quinot <quinot@adacore.com>
1118
1119 * s-taskin.ads: Minor reformatting.
1120
1121 2011-08-02 Emmanuel Briot <briot@adacore.com>
1122
1123 * g-comlin.adb (Display_Help): swap the order in which it prints the
1124 short help and the general usage.
1125
1126 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1127
1128 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
1129 the aspect declarations and attach them to the generic copy for
1130 subsequent analysis.
1131 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
1132 declarations of the generic tree to the new subprogram declarations.
1133 * sem_attr.adb (Check_Precondition_Postcondition): recognize
1134 conditions that apply to a subprogram instance.
1135
1136 2011-08-02 Robert Dewar <dewar@adacore.com>
1137
1138 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
1139
1140 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1141
1142 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
1143 private type with a tagged full view is not derived in the immediate
1144 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
1145
1146 2011-08-02 Robert Dewar <dewar@adacore.com>
1147
1148 * exp_ch4.adb: Minor reformatting.
1149
1150 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1151
1152 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
1153 Ada2012 iterator, the loop will be rewritten during expansion into a
1154 while loop with a cursor and an element declaration. Do not analyze the
1155 body in this case, because if the container is for indefinite types the
1156 actual subtype of the elements will only be determined when the cursor
1157 declaration is analyzed.
1158
1159 2011-08-02 Arnaud Charlet <charlet@adacore.com>
1160
1161 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
1162 size/alignment related attributes in CodePeer_Mode.
1163
1164 2011-08-02 Gary Dismukes <dismukes@adacore.com>
1165
1166 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
1167 Prepend_Element, since this can result in the operation getting the
1168 wrong slot in the full type's dispatch table if the full type has
1169 inherited operations. The incomplete type's operation will get added
1170 to the proper position in the full type's primitives
1171 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
1172 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
1173 dispatching operations, since there are cases where nonprimitive
1174 subprograms can get added to the list of incomplete dependents (such
1175 as subprograms in nested packages).
1176 * sem_ch6.adb (Process_Formals): First, remove test for being in a
1177 private part when determining whether to add a primitive with a
1178 parameter of a tagged incomplete type to the Private_Dependents list.
1179 Such primitives can also occur in the visible part, and should not have
1180 been excluded from being private dependents.
1181 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
1182 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
1183 list of a Taft-amendment incomplete type is a primitive before issuing
1184 an error that the full type must appear in the same unit. There are
1185 cases where nonprimitives can be in the list (such as subprograms in
1186 nested packages).
1187 * sem_disp.adb (Derives_From): Use correct condition for checking that
1188 a formal's type is derived from the type of the corresponding formal in
1189 the parent subprogram (the condition was completely wrong). Add
1190 checking that was missing for controlling result types being derived
1191 from the result type of the parent operation.
1192
1193 2011-08-02 Yannick Moy <moy@adacore.com>
1194
1195 * errout.adb (First_Node): minor renaming
1196 * restrict.adb (Check_Formal_Restriction): put restriction warning on
1197 first node.
1198
1199 2011-08-02 Yannick Moy <moy@adacore.com>
1200
1201 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
1202 before accessing operands.
1203 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
1204 decide whether an initialization expression respects SPARK rules, as
1205 the plain node is the expanded one. This allows for more valid warnings
1206 to be issued.
1207 * gnat_rm.texi: Minor update.
1208
1209 2011-08-02 Arnaud Charlet <charlet@adacore.com>
1210
1211 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
1212 previous change.
1213
1214 2011-08-02 Robert Dewar <dewar@adacore.com>
1215
1216 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
1217
1218 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
1219
1220 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
1221 loop statements and the element renaming declaration with a block when
1222 the element type is controlled.
1223
1224 2011-08-02 Yannick Moy <moy@adacore.com>
1225
1226 * sinfo.ads: Minor formatting.
1227
1228 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1229
1230 * sem_aggr.adb (Add_Association): if the association has a box and no
1231 expression, use the Sloc of the aggregate itself for the new
1232 association.
1233 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
1234 the Original_Node.
1235
1236 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
1237
1238 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
1239 When a container is provided via a function call, generate a renaming
1240 of the function result. This avoids the creation of a transient scope
1241 and the premature finalization of the container.
1242 * exp_ch7.adb (Is_Container_Cursor): Removed.
1243 (Wrap_Transient_Declaration): Remove the supression of the finalization
1244 of the list controller when the declaration denotes a container cursor,
1245 it is not needed.
1246
1247 2011-08-02 Yannick Moy <moy@adacore.com>
1248
1249 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
1250 node is from source, instead of the original node being from source.
1251 * sem_aggr.adb
1252 (Resolve_Array_Aggregate): refine the check for a static expression, to
1253 recognize also static ranges
1254 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
1255 Array_Type_Declaration): postpone the test for the type being a subtype
1256 mark after the type has been resolved, so that component-selection and
1257 expanded-name are discriminated.
1258 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
1259 to distinguish the case of an iteration scheme, so that an error is
1260 issed on a non-static range in SPARK except in an iteration scheme.
1261 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
1262 In_Iter_Schm = True.
1263 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
1264 user-defined operators so that they are allowed in renaming
1265 * sem_ch8.adb
1266 (Find_Selected_Component): refine the check for prefixing of operators
1267 so that they are allowed in renaming. Move the checks for restrictions
1268 on selector name after analysis discriminated between
1269 component-selection and expanded-name.
1270 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
1271 concatenation argument of string type if it is static.
1272 * sem_util.adb, sem_util.ads
1273 (Check_Later_Vs_Basic_Declarations): add a new function
1274 Is_Later_Declarative_Item to decice which declarations are allowed as
1275 later items, in the two different modes Ada 83 and SPARK. In the SPARK
1276 mode, add that renamings are considered as later items.
1277 (Enclosing_Package): new function to return the enclosing package
1278 (Enter_Name): correct the rule for homonyms in SPARK
1279 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
1280 from source (result of expansion) to avoid issuing wrong warnings.
1281
1282 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1283
1284 * errout.adb: On anything but an expression First_Node returns its
1285 argument.
1286
1287 2011-08-02 Pascal Obry <obry@adacore.com>
1288
1289 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
1290
1291 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
1292
1293 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
1294 Set the associated loop as the related expression of internally
1295 generated cursors.
1296 * exp_ch7.adb (Is_Container_Cursor): New routine.
1297 (Wrap_Transient_Declaration): Supress the finalization of the list
1298 controller when the declaration denotes a container cursor.
1299
1300 2011-08-02 Yannick Moy <moy@adacore.com>
1301
1302 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
1303 command line now.
1304 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
1305 expression is a simple expression. This check cannot be performed in
1306 the semantics, so just drop it.
1307 (P_Index_Or_Discriminant_Constraint): move check that the index or
1308 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
1309 semantics. Other cases were previously checked in the semantics.
1310 * par-ch4.adb (P_Name): move checks that a selector name is not
1311 character literal or an operator symbol to Find_Selected_Component in
1312 the semantics
1313 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
1314 declarations are not placed after later declarations in a separate
1315 procedure in Sem_Util (possibly not the best choice?), to be used both
1316 during parsing, for Ada 83 mode, and during semantic analysis, for
1317 SPARK mode.
1318 * par-endh.adb (Check_End): move check that end label is not missing
1319 to Process_End_Label in the semantics
1320 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
1321 the special case for SPARK restriction
1322 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
1323 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
1324 parameter Force to issue the error message even on internal node (used
1325 for generated end label). Call Check_Restriction to check when an error
1326 must be issued. In SPARK mode, issue an error message even if the
1327 restriction is not set.
1328 (Check_Restriction): new procedure with an additional out parameter to
1329 inform the caller that a message has been issued
1330 * sem_aggr.adb: Minor modification of message
1331 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
1332 instead of issuing an error message directly
1333 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
1334 declarations are not placed after later declarations, by calling
1335 Check_Later_Vs_Basic_Declarations
1336 (Analyze_Subtype_Declaration): move here the check that an index or
1337 discriminant constraint must be a subtype mark. Change the check that
1338 a subtype of String must start at one so that it works on subtype marks.
1339 * sem_ch4.adb (Analyze_Call): move here the check that a named
1340 association cannot follow a positional one in a call
1341 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
1342 instead of issuing an error message directly
1343 * sem_ch8.adb (Find_Selected_Component): move here the check that a
1344 selector name is not a character literal or an operator symbol. Move
1345 here the check that the prefix of an expanded name cannot be a
1346 subprogram or a loop statement.
1347 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
1348 procedure called from parsing and semantics to check that basic
1349 declarations are not placed after later declarations
1350 (Process_End_Label): move here the check that end label is not missing
1351
1352 2011-08-02 Arnaud Charlet <charlet@adacore.com>
1353
1354 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
1355 representation clause in codepeer mode, since it confuses CodePeer and
1356 does not bring useful info.
1357
1358 2011-08-02 Ed Falis <falis@adacore.com>
1359
1360 * init.c: initialize fp hw on MILS.
1361
1362 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1363
1364 * errout.adb (First_Node): for bodies, return the node itself (small
1365 optimization). For other nodes, do not check source_unit if the node
1366 comes from Standard.
1367
1368 2011-08-02 Robert Dewar <dewar@adacore.com>
1369
1370 * exp_ch3.adb: Minor comment additions.
1371 * sem_ch13.adb: Minor reformatting.
1372
1373 2011-08-02 Pascal Obry <obry@adacore.com>
1374
1375 * make.adb, makeutl.adb: Removes some superfluous directory separator.
1376
1377 2011-08-02 Robert Dewar <dewar@adacore.com>
1378
1379 * sem_attr.adb: Minor reformatting.
1380
1381 2011-08-02 Robert Dewar <dewar@adacore.com>
1382
1383 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
1384 (Has_Default_Component_Value): Removed
1385 * einfo.ads Comment updates
1386 (Has_Default_Aspect): Replaces Has_Default_Value
1387 (Has_Default_Component_Value): Removed
1388 * exp_ch13.adb
1389 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
1390 * exp_ch3.adb
1391 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
1392 (Get_Simple_Init_Val): Handle Default_Value aspect
1393 (Needs_Simple_Initialization): Handle Default_Value aspect
1394 * exp_ch3.ads: Needs_Simple_Initialization
1395 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
1396 * par-prag.adb (Pragma_Default[_Component]Value) Removed
1397 * sem_ch13.adb
1398 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
1399 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
1400 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
1401
1402 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1403
1404 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
1405 package containing iteration primitives.
1406 exp_ch5.adb (Expand_Iterator_Loop): ditto.
1407
1408 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1409
1410 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
1411 "of", pre-analyze expression in case it is a function call with
1412 finalization actions that must be placed ahead of the loop.
1413 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
1414 on an Ada2012 iterator, insert them ahead of the rewritten loop.
1415
1416 2011-08-02 Geert Bosch <bosch@adacore.com>
1417
1418 * cstand.adb (Create_Float_Types): Only consider C's long double for
1419 Long_Long_Float, in addition to double.
1420
1421 2011-08-02 Robert Dewar <dewar@adacore.com>
1422
1423 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
1424 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
1425 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
1426 Minor reformatting.
1427
1428 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1429
1430 * sem_attr.adb: handle properly 'Result when it is a prefix of an
1431 indexed component.
1432
1433 2011-08-02 Javier Miranda <miranda@adacore.com>
1434
1435 * einfo.ads, einfo.adb
1436 (Original_Access_Type): Move this attribute to Node26 since there was
1437 an undocumented use of Node21 in E_Access_Subprogram_Type entities
1438 which causes conflicts and breaks the generation of the .NET compiler.
1439 (Interface_Name): Add missing documentation on JGNAT only uses of
1440 this attribute.
1441
1442 2011-08-02 Geert Bosch <bosch@adacore.com>
1443
1444 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
1445 (Find_Back_End_Float_Type): Likewise
1446 (Create_Back_End_Float_Types): Likewise
1447 (Create_Float_Types): Likewise
1448 (Register_Float_Type): Likewise
1449 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
1450 Nlist and split out type selection in new local Find_Base_Type function.
1451 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
1452 Nlist
1453 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
1454
1455 2011-08-02 Robert Dewar <dewar@adacore.com>
1456
1457 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
1458 alpha order).
1459 * opt.ads: Minor comment change.
1460 * sem_ch12.adb: Minor code reorganization.
1461
1462 2011-08-02 Gary Dismukes <dismukes@adacore.com>
1463
1464 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
1465 subtype's list of rep items to the list on the full subtype in the case
1466 where the lists are the same.
1467
1468 2011-08-02 Geert Bosch <bosch@adacore.com>
1469
1470 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
1471 using the one from System.Strings, which also deallocates all strings.
1472
1473 2011-08-02 Geert Bosch <bosch@adacore.com>
1474
1475 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
1476 function.
1477 * gcc-interface/Make-lang.in: Update dependencies.
1478
1479 2011-08-02 Olivier Hainque <hainque@adacore.com>
1480
1481 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
1482 end_locus.
1483
1484 2011-08-02 Javier Miranda <miranda@adacore.com>
1485
1486 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
1487 associated with anonymous access to subprograms.
1488
1489 2011-08-02 Geert Bosch <bosch@adacore.com>
1490
1491 * opt.ads
1492 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
1493 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
1494 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
1495 (Add_Symbol_Definition): Move to switch-c.adb
1496 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
1497 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
1498 (Add_Symbol_Definition): Move to switch-c.adb.
1499 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
1500 * sem_warn.adb
1501 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
1502 Move to warnsw.adb.
1503 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
1504 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
1505 Move to warnsw.adb.
1506 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
1507 (Add_Symbol_Definition): Moved from Prepcomp.
1508 * switch-c.ads: Update copyright notice. Use String_List instead of
1509 Argument_List, removing dependency on System.OS_Lib.
1510
1511 2011-08-02 Yannick Moy <moy@adacore.com>
1512
1513 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
1514 mode on initialization expression which does not respect SPARK
1515 restrictions.
1516 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
1517 if the tree referenced by its argument represents an initialization
1518 expression in SPARK, suitable for initializing an object in an object
1519 declaration.
1520
1521 2011-08-02 Javier Miranda <miranda@adacore.com>
1522
1523 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
1524 internally generated access to subprogram with its associated protected
1525 subprogram type.
1526 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
1527
1528 2011-08-02 Geert Bosch <bosch@adacore.com>
1529
1530 * cstand.adb (Register_Float_Type): Print information about type to
1531 register, if the Debug_Flag_Dot_B is set.
1532 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
1533 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
1534 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
1535 with a requested precision of more than Max_Digits digits and no more
1536 than Max_Base_Digits digits, if a range specification is present and the
1537 Predefined_Float_Types list has a suitable type to derive from.
1538 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
1539 case of type completion with pragma Import
1540 * sem_prag.adb
1541 (Process_Import_Predefined_Type): Processing to complete a type
1542 with pragma Import. Currently supports floating point types only.
1543 (Set_Convention_From_Pragma): Do nothing without underlying type.
1544 (Process_Convention): Guard against absence of underlying type,
1545 which may happen when importing incomplete types.
1546 (Process_Import_Or_Interface): Handle case of importing predefined
1547 types. Tweak error message.
1548
1549 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
1550
1551 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
1552 functions to previous change. Reorganize code slightly.
1553
1554 2011-08-02 Geert Bosch <bosch@adacore.com>
1555
1556 * back_end.ads (Register_Type_Proc): New call back procedure type for
1557 allowing the back end to provide information about available types.
1558 (Register_Back_End_Types): New procedure to register back end types.
1559 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
1560 available types.
1561 * cstand.adb (Back_End_Float_Types): New list for floating point types
1562 supported by the back end.
1563 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
1564 (Copy_Float_Type): New procedure to make new copies of predefined types.
1565 (Register_Float_Type): New call back procedure to populate the BEFT list
1566 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
1567 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
1568 (Create_Float_Types): New procedure to create entities for floating
1569 point types predefined in Standard, and put these and any remaining
1570 BEFTs on the Predefined_Float_Types list.
1571 * stand.ads (Predefined_Float_Types): New list for predefined floating
1572 point types that do not have declarations in package Standard.
1573
1574 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
1575
1576 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
1577 entity node for the unit containing the parameter.
1578 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
1579 (Add_Inlined_Subprogram): Likewise.
1580 * gcc-interface/Make-lang.in: Update dependencies.
1581
1582 2011-08-02 Thomas Quinot <quinot@adacore.com>
1583
1584 * s-stusta.adb (Print): Make sure Pos is always initialized to a
1585 suitable value.
1586
1587 2011-08-02 Geert Bosch <bosch@adacore.com>
1588
1589 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
1590
1591 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
1592
1593 * sem_type.adb (Covers): Move trivial case to the top and reuse the
1594 computed value of Base_Type.
1595
1596 2011-08-02 Yannick Moy <moy@adacore.com>
1597
1598 * restrict.adb (Check_Restriction): issue an error for any use of
1599 class-wide, even if the No_Dispatch restriction is not set.
1600 * sem_aggr.adb: Correct typos in comments and messages in formal mode
1601 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
1602 when completing a private extension, the type named in the private part
1603 is not the same as that named in the visible part.
1604 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
1605 of an inherited primitive operations of a tagged type or type extension
1606 that returns the tagged type.
1607 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
1608 function which returns True for an implicit operation inherited by the
1609 derived type declaration for the argument type.
1610 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
1611 order.
1612
1613 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1614
1615 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
1616 Process_Bounds, to perform analysis with expansion of a range or an
1617 expression that is the iteration scheme for a loop.
1618 (Analyze_Iterator_Specification): If domain of iteration is given by a
1619 function call with a controlled result, as is the case if call returns
1620 a predefined container, ensure that finalization actions are properly
1621 generated.
1622 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
1623
1624 2011-08-02 Javier Miranda <miranda@adacore.com>
1625
1626 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
1627 * gcc-interface/Make-lang.in: Update dependencies.
1628
1629 2011-08-02 Javier Miranda <miranda@adacore.com>
1630
1631 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
1632 determine if the analysis is performed using N or Original_Node (N).
1633 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
1634 functionality of routine Is_Variable avoids code duplication.
1635 * checks.adb (Determine_Range): Handle temporaries generated by
1636 Remove_Side_Effects.
1637
1638 2011-08-02 Javier Miranda <miranda@adacore.com>
1639
1640 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
1641 expansion of the condition. Required since the previous analysis was
1642 done with expansion disabled (see Resolve_Quantified_Expression) and
1643 hence checks were not inserted and record comparisons have not been
1644 expanded.
1645
1646 2011-08-02 Ed Falis <falis@adacore.com>
1647
1648 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
1649 Update header.
1650
1651 2011-08-02 Bob Duff <duff@adacore.com>
1652
1653 * opt.ads: Minor comment fix.
1654
1655 2011-08-02 Bob Duff <duff@adacore.com>
1656
1657 * sem_ch12.adb (Analyze_Package_Instantiation,
1658 Analyze_Subprogram_Instantiation): Turn off style checking while
1659 analyzing an instance. Whatever style checks that apply to the generic
1660 unit should apply, so it makes no sense to apply them in an instance.
1661 This was causing trouble when compiling an instance of a runtime
1662 unit that violates the -gnatyO switch.
1663 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
1664 one of the two case statements, causing spurious errors.
1665
1666 2011-08-02 Robert Dewar <dewar@adacore.com>
1667
1668 * uname.adb: Minor reformatting.
1669 * gnatcmd.adb: Minor reformatting.
1670 * exp_attr.adb: Minor reformatting.
1671
1672 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1673
1674 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
1675 No_Dispatching_Calls, do not look for the Assign primitive, because
1676 predefined primitives are not created in this case.
1677
1678 2011-08-02 Bob Duff <duff@adacore.com>
1679
1680 * stylesw.ads: Minor comment fixes.
1681
1682 2011-08-02 Robert Dewar <dewar@adacore.com>
1683
1684 * freeze.adb (Add_To_Result): New procedure.
1685
1686 2011-08-02 Jose Ruiz <ruiz@adacore.com>
1687
1688 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
1689 time, if the specific run-time routines for handling streams of strings
1690 are not available, use the default mechanism.
1691
1692 2011-08-02 Arnaud Charlet <charlet@adacore.com>
1693
1694 * s-regpat.ads: Fix typo.
1695
1696 2011-08-02 Vincent Celier <celier@adacore.com>
1697
1698 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
1699 not null, call it to create the in memory config project file without
1700 parsing an existing default config project file.
1701
1702 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
1703
1704 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
1705
1706 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1707
1708 * sem_elim.adb: an abstract subprogram does not need an eliminate
1709 pragma for its descendant to be eliminable.
1710
1711 2011-08-02 Ed Falis <falis@adacore.com>
1712
1713 * init.c: revert to handling before previous checkin for VxWorks
1714 * s-intman-vxworks.adb: delete unnecessary declarations related to
1715 using Ada interrupt facilities for handling signals.
1716 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
1717 * s-intman-vxworks.ads: Import __gnat_install_handler as
1718 Initialize_Interrupts.
1719 * s-taprop-vxworks.adb: Delete Signal_Mask.
1720 (Abort_Handler): change construction of mask to unblock exception
1721 signals.
1722
1723 2011-08-02 Jerome Guitton <guitton@adacore.com>
1724
1725 * a-except-2005.adb (Raise_From_Signal_Handler): Call
1726 Debug_Raise_Exception before propagation starts.
1727
1728 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
1729
1730 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
1731 to Restriction_Check_Required.
1732 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
1733 * sem_res.adb (Resolve_Call): Likewise.
1734 * sem_attr.adb (Check_Stream_Attribute): Likewise.
1735
1736 2011-08-02 Bob Duff <duff@adacore.com>
1737
1738 * stylesw.ads: Update comment.
1739 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
1740 * errout.ads: Remove obsolete comment.
1741
1742 2011-08-02 Javier Miranda <miranda@adacore.com>
1743
1744 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
1745 (Set_Is_Safe_To_Reevaluate): new procedure.
1746 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
1747 assignment is allowed on safe-to-reevaluate variables.
1748 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
1749 temporary created to remove side effects in expressions that use
1750 the secondary stack as safe-to-reevaluate.
1751 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
1752 variables that are not true constants.
1753
1754 2011-08-02 Robert Dewar <dewar@adacore.com>
1755
1756 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
1757 sem_res.adb, sem_ch6.adb: Minor reformatting.
1758
1759 2011-08-02 Jerome Guitton <guitton@adacore.com>
1760
1761 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
1762
1763 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1764
1765 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
1766 not set Overridden_Operation if subprogram is an initialization
1767 procedure.
1768
1769 2011-08-02 Yannick Moy <moy@adacore.com>
1770
1771 * par-ch6.adb: Correct obsolete name in comments
1772 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
1773 which takes two message arguments (existing function takes one), with
1774 second message used for continuation.
1775 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
1776 block statements that originate from a source block statement, not
1777 generated block statements
1778 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
1779 symmetry with procedure case
1780 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
1781 function to issue an error in formal mode if a package specification
1782 contains more than one tagged type or type extension.
1783 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
1784 parameters matching formals of tagged types are objects (or ancestor
1785 type conversions of objects), not general expressions. Issue an error
1786 on view conversions that are not involving ancestor conversion of an
1787 extended type.
1788 (Resolve_Type_Conversion): in formal mode, issue an error on the
1789 operand of an ancestor type conversion which is not an object
1790 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
1791 procedure so that it works also for actuals of function calls
1792 (Is_Actual_Tagged_Parameter): new function which determines if its
1793 argument is an actual parameter of a formal of tagged type in a
1794 subprogram call
1795 (Is_SPARK_Object_Reference): new function which determines if the tree
1796 referenced by its argument represents an object in SPARK
1797
1798 2011-08-02 Robert Dewar <dewar@adacore.com>
1799
1800 * sem_ch3.adb: Minor reformatting
1801 Minor comment addition
1802 Minor error msg text change
1803
1804 2011-08-02 Javier Miranda <miranda@adacore.com>
1805
1806 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
1807 function. Used to be more precise when we generate a variable plus one
1808 assignment to remove side effects in the evaluation of the Bound
1809 expressions.
1810 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
1811 of the bound expression to force its re-analysis and thus expand the
1812 associated transient scope (if required). Code cleanup replacing the
1813 previous code that declared the constant entity by an invocation to
1814 routine Force_Evaluation which centralizes this work in the frontend.
1815
1816 2011-08-02 Robert Dewar <dewar@adacore.com>
1817
1818 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
1819 (Base_Type): Now uses improved Is_Base_Type function
1820 * einfo.ads (Base_Type): Inline this function
1821
1822 2011-08-02 Robert Dewar <dewar@adacore.com>
1823
1824 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
1825 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
1826
1827 2011-08-02 Arnaud Charlet <charlet@adacore.com>
1828
1829 * gcc-interface/Make-lang.in: Update dependencies.
1830 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
1831 targets.
1832
1833 2011-08-02 Yannick Moy <moy@adacore.com>
1834
1835 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
1836 non-simple expression used in delta constraint
1837 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
1838 index constraint which is not a subtype mark
1839 * par.adb: With and use Restrict
1840 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
1841 mode on component type which is not a subtype mark and default
1842 expression on component
1843 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
1844 of string which does not have a lower index bound equal to 1
1845 (Array_Type_Declaration): issue an error in formal mode on index or
1846 component type which is not a subtype mark, and on aliased keyword on
1847 component
1848 (Derived_Type_Declaration): issue an error in formal mode on interface,
1849 limited or abstract type
1850 (Record_Type_Declaration): issue an error in formal mode on interface
1851 (Record_Type_Definition): issue an error in formal mode on tagged types
1852 and type extensions not declared in the specification of a library unit
1853 package; on null non-tagged record; on variant part
1854
1855 2011-08-02 Vincent Celier <celier@adacore.com>
1856
1857 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
1858 not declared for qualified library project when Library_Name is not
1859 declared, but Library_Dir is.
1860
1861 2011-08-02 Robert Dewar <dewar@adacore.com>
1862
1863 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
1864 pragmas (affects aspects [Component_]Default_Value
1865 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
1866 component type for the resolution
1867
1868 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
1869
1870 * einfo.adb (Base_Type): Tune implementation for speed.
1871
1872 2011-08-02 Robert Dewar <dewar@adacore.com>
1873
1874 * freeze.adb: Minor reformatting.
1875
1876 2011-08-02 Thomas Quinot <quinot@adacore.com>
1877
1878 * scos.ads: Update comments.
1879
1880 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1881
1882 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
1883 base type, because the parent may be a subtype of a private type whose
1884 convention is established in a private part.
1885
1886 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
1887
1888 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
1889 statement in a block when the expansion of the return expression has
1890 created a finalization chain.
1891 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
1892 with the parent node.
1893 Add N_Extended_Return_Statement to handle the case where a transient
1894 object declaration appears in the Return_Object_Declarations list of
1895 an extended return statement.
1896
1897 2011-08-02 Matthew Gingell <gingell@adacore.com>
1898
1899 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
1900 unused parameter 'name'.
1901
1902 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1903
1904 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
1905 inherited operation, check whether its alias, which is the source
1906 operastion that it renames, has been marked eliminated.
1907
1908 2011-08-02 Javier Miranda <miranda@adacore.com>
1909
1910 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
1911 in-mode parameter whose type is an access type since it can be used to
1912 modify its designated object. Enforce code that handles as safe an
1913 access type that is not access-to-constant but it is the result of a
1914 previous removal of side-effects.
1915 (Remove_Side_Effects): Minor code reorganization of cases which require
1916 no action. Done to incorporate documentation on new cases uncovered
1917 working in this ticket: no action needed if this routine was invoked
1918 too early and the nodes are not yet decorated.
1919 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
1920 to routine Remove_Side_Effects by calls to Force_Evaluation since they
1921 were issued with actuals that are implicitly provided by
1922 Force_Evaluation.
1923
1924 2011-08-02 Robert Dewar <dewar@adacore.com>
1925
1926 * sem_ch3.adb, sem_res.adb: Minor reformatting.
1927
1928 2011-08-02 Yannick Moy <moy@adacore.com>
1929
1930 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
1931 to issue an error in formal mode on attribute not supported in this mode
1932 (Analyze_Attribute): issue errors on standard attributes not supported
1933 in formal mode.
1934 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
1935 comment, and issue error in formal mode on modulus which is not a power
1936 of 2.
1937 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
1938 range.
1939 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
1940 subtype mark.
1941 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
1942 operator on modular type (except 'not').
1943
1944 2011-08-02 Robert Dewar <dewar@adacore.com>
1945
1946 * gnat_rm.texi: Minor reformatting.
1947
1948 2011-08-02 Arnaud Charlet <charlet@adacore.com>
1949
1950 * s-osinte-linux.ads: Minor comment update and reformatting.
1951 * i-cexten.ads: Make this unit pure, as for its parent.
1952 Will allow its usage in more contexts if needed.
1953
1954 2011-08-02 Robert Dewar <dewar@adacore.com>
1955
1956 * s-utf_32.ads: Minor comment fix.
1957
1958 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1959
1960 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
1961 operation of a tagged synchronized type, handle the case where the
1962 controlling argument is overloaded.
1963
1964 2011-08-02 Yannick Moy <moy@adacore.com>
1965
1966 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
1967 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
1968 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
1969 SPARK mode and formal verification mode on processing SPARK restriction
1970 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
1971 requiring consistency checking.
1972
1973 2011-08-02 Robert Dewar <dewar@adacore.com>
1974
1975 * sem_res.adb: Minor reformatting.
1976
1977 2011-08-02 Robert Dewar <dewar@adacore.com>
1978
1979 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
1980 a-cforse.ads: Remove unneeded with of Ada.Containers
1981 Remove commented out pragma Inline's
1982 Move specifications of new subprograms to the actual specs
1983
1984 2011-08-02 Yannick Moy <moy@adacore.com>
1985
1986 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
1987 a-cforse.ads: Update comments.
1988
1989 2011-08-02 Ed Schonberg <schonberg@adacore.com>
1990
1991 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
1992
1993 2011-08-02 Robert Dewar <dewar@adacore.com>
1994
1995 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
1996 a-cforse.ads, a-cofove.ads: Minor reformatting.
1997
1998 2011-08-02 Claire Dross <dross@adacore.com>
1999
2000 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
2001 a-cofove.ads: Add comments.
2002
2003 2011-08-02 Yannick Moy <moy@adacore.com>
2004
2005 * gnat_rm.texi: Document formal containers.
2006
2007 2011-08-02 Emmanuel Briot <briot@adacore.com>
2008
2009 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
2010 are empty sections.
2011
2012 2011-08-02 Robert Dewar <dewar@adacore.com>
2013
2014 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
2015 reformatting.
2016
2017 2011-08-02 Robert Dewar <dewar@adacore.com>
2018
2019 * aspects.adb: New aspects Default_Value and Default_Component_Value
2020 New format of Aspect_Names table checks for omitted entries
2021 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
2022 handling of boolean aspects for derived types.
2023 New aspects Default_Value and Default_Component_Value
2024 New format of Aspect_Names table checks for omitted entries
2025 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
2026 (Has_Default_Value): New flag
2027 (Has_Default_Component_Value): New flag
2028 (Has_Default_Value): New flag
2029 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
2030 table.
2031 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
2032 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
2033 Default_Value and Default_Component_Value
2034 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
2035 New aspects Default_Value and Default_Component_Value
2036 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
2037 * sprint.adb: Print N_Aspect_Specification node when called from gdb
2038
2039 2011-08-02 Vincent Celier <celier@adacore.com>
2040
2041 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
2042 inherit library kind.
2043
2044 2011-08-02 Ed Schonberg <schonberg@adacore.com>
2045
2046 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
2047 Minor reformatting.
2048
2049 2011-08-02 Robert Dewar <dewar@adacore.com>
2050
2051 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
2052
2053 2011-08-02 Yannick Moy <moy@adacore.com>
2054
2055 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
2056
2057 2011-08-02 Robert Dewar <dewar@adacore.com>
2058
2059 * impunit.adb: Add comment.
2060
2061 2011-08-02 Yannick Moy <moy@adacore.com>
2062
2063 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
2064 qualification of aggregates in formal mode
2065 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
2066 another aggregate
2067 (Resolve_Aggregate): complete the test that an aggregate is adequately
2068 qualified in formal mode
2069
2070 2011-08-02 Pascal Obry <obry@adacore.com>
2071
2072 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
2073 * mlib-prj.adb: Supress warning when compiling binder generated file.
2074 (Build_Library): Supress all warnings when compiling the binder
2075 generated file.
2076
2077 2011-08-02 Yannick Moy <moy@adacore.com>
2078
2079 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
2080 from here...
2081 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
2082 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
2083 Add with/use clauses to make Check_Formal_Restriction visible
2084
2085 2011-08-02 Ed Schonberg <schonberg@adacore.com>
2086
2087 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
2088 in-parameters when type of the generic formal is private in the generic
2089 spec and non-private in the body.
2090
2091 2011-08-02 Claire Dross <dross@adacore.com>
2092
2093 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
2094 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
2095 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
2096 * impunit.adb, Makefile.rtl: Take new files into account.
2097
2098 2011-08-02 Robert Dewar <dewar@adacore.com>
2099
2100 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
2101 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
2102
2103 2011-08-02 Yannick Moy <moy@adacore.com>
2104
2105 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
2106 formal mode
2107 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
2108 matching static array bounds, taking into account the special case of
2109 string literals
2110 * sem_ch3.adb: Typo in comment.
2111
2112 2011-08-02 Yannick Moy <moy@adacore.com>
2113
2114 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
2115 which issues an error in formal mode if its argument node is originally
2116 from source
2117 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
2118 has a discriminant specification so that it does not include the case
2119 of derived types
2120 (Derived_Type_Declaration): move here the test that a derived type has a
2121 discriminant specification
2122 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
2123 first element of a component association before accessing its choices
2124 (presence of component association is not enough)
2125 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
2126 declaration is a library item before accessing the next element in a
2127 list, as library items are not member of lists
2128 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
2129 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
2130 Check_Formal_Restriction whenever possible.
2131
2132 2011-08-02 Ed Schonberg <schonberg@adacore.com>
2133
2134 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
2135 reference when needed.
2136
2137 2011-08-02 Bob Duff <duff@adacore.com>
2138
2139 * gnat_ugn.texi: Fix typo.
2140
2141 2011-08-02 Vincent Celier <celier@adacore.com>
2142
2143 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
2144 archive file name. Do not use the full path name of archives for Open
2145 VMS.
2146
2147 2011-08-02 Robert Dewar <dewar@adacore.com>
2148
2149 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
2150 Analyze_Aspect_Specifications
2151 * sem_ch13.adb
2152 (Analyze_Aspect_Specifications): New handling for boolean aspects
2153 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
2154 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
2155 sequence for Analyze_Aspect_Specifications
2156 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
2157 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
2158
2159 2011-08-02 Robert Dewar <dewar@adacore.com>
2160
2161 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
2162 aspects, since these no longer exist.
2163
2164 2011-08-02 Robert Dewar <dewar@adacore.com>
2165
2166 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
2167 semicolon, do not try to see if there are aspects following it.
2168 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
2169 aspect spec.
2170
2171 2011-08-02 Robert Dewar <dewar@adacore.com>
2172
2173 * sem_ch8.adb, aspects.ads: Minor reformatting.
2174
2175 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
2176
2177 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
2178 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
2179 extracted from...
2180 (Analyze_Aspect_Specifications): ...here. Call above procedure.
2181
2182 2011-08-02 Yannick Moy <moy@adacore.com>
2183
2184 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
2185 mode on subprogram declaration outside of package specification, unless
2186 it is followed by a pragma Import
2187 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
2188 Access_Type_Declaration): issue error in formal mode on access type
2189 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
2190 incomplete type
2191 (Analyze_Object_Declaration): issue error in formal mode on object
2192 declaration which does not respect SPARK restrictions
2193 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
2194 declaration which does not respect SPARK restrictions
2195 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
2196 error in formal mode on digits or delta constraint
2197 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
2198 decimal fixed point type
2199 (Derived_Type_Declaration): issue error in formal mode on derived type
2200 other than type extensions of tagged record types
2201 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
2202 with check on access definition
2203 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
2204 mode on protected definition.
2205 (Analyze_Task_Definition): issue error in formal mode on task definition
2206
2207 2011-08-02 Robert Dewar <dewar@adacore.com>
2208
2209 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
2210
2211 2011-08-02 Javier Miranda <miranda@adacore.com>
2212
2213 * sem_ch6.adb (Can_Override_Operator): New function.
2214 (Verify_Overriding_Indicator): Add missing code to check overriding
2215 indicator in operators. Fixes regression.
2216 (Check_Overriding_Indicator): Minor reformating after replacing the
2217 code that evaluates if the subprogram can override an operator by
2218 invocations to the above new function.
2219 * einfo.adb
2220 (Write_Field26_Name): Add missing code to ensure that, following
2221 the documentation in einfo.ads, this field is not shown as attribute
2222 "Static_Initialization" on non-dispatching functions.
2223
2224 2011-08-02 Jose Ruiz <ruiz@adacore.com>
2225
2226 * sem_res.adb (Resolve_Call): A call to
2227 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
2228 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
2229 i.e., when the second parameter is of type Time_Span.
2230
2231 2011-08-02 Vincent Celier <celier@adacore.com>
2232
2233 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
2234 with an archive instead of -L<library dir> -l<library name>.
2235
2236 2011-08-02 Ed Schonberg <schonberg@adacore.com>
2237
2238 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
2239 mark the base types In_Use in addition to making the operations
2240 use_visible.
2241
2242 2011-08-02 Ed Falis <falis@adacore.com>
2243
2244 * init.c: add and setup __gnat_signal_mask for the exception signals
2245 * s-inmaop-vxworks.adb: new file.
2246 * s-intman-vxworks.adb: remove unnecessary initializations and
2247 simplify remaining
2248 * s-intman-vxworks.ads: remove unnecessary variable
2249 * s-taprop-vxworks.adb: simplify signal initialization
2250
2251 2011-08-02 Robert Dewar <dewar@adacore.com>
2252
2253 * sem_ch8.adb: Minor code reorganization, comment updates.
2254
2255 2011-08-02 Robert Dewar <dewar@adacore.com>
2256
2257 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
2258 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
2259 here from Sem_Res.
2260 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
2261 (Matching_Static_Array_Bounds): Moved here from Sem_Res
2262
2263 2011-08-02 Ed Schonberg <schonberg@adacore.com>
2264
2265 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
2266 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
2267 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
2268 use_type_clauses, to handle more efficiently use_type and use_all_type
2269 constructs.
2270 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
2271 Ada2012 Use_All_Type clause.
2272 (Use_Class_Wide_Operations): new procedure.
2273
2274 2011-08-02 Robert Dewar <dewar@adacore.com>
2275
2276 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
2277 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
2278 expression to expression function.
2279
2280 2011-08-02 Ed Schonberg <schonberg@adacore.com>
2281
2282 * sem_ch4.adb: transform simple Ada2012 membership into equality only
2283 if types are compatible.
2284
2285 2011-08-02 Yannick Moy <moy@adacore.com>
2286
2287 * sem_res.adb (Matching_Static_Array_Bounds): new function which
2288 returns True if its argument array types have same dimension and same
2289 static bounds at each index.
2290 (Resolve_Actuals): issue an error in formal mode on actuals passed as
2291 OUT or IN OUT paramaters which are not view conversions in SPARK.
2292 (Resolve_Arithmetic_Op): issue an error in formal mode on
2293 multiplication or division with operands of fixed point types which are
2294 not qualified or explicitly converted.
2295 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
2296 Boolean or array type (except String) operands.
2297 (Resolve_Equality_Op): issue an error in formal mode on equality
2298 operators for array types other than String with non-matching static
2299 bounds.
2300 (Resolve_Logical_Op): issue an error in formal mode on logical operators
2301 for array types with non-matching static bounds. Factorize the code in
2302 Matching_Static_Array_Bounds.
2303 (Resolve_Qualified_Expression): issue an error in formal mode on
2304 qualified expressions for array types with non-matching static bounds.
2305 (Resolve_Type_Conversion): issue an error in formal mode on type
2306 conversion for array types with non-matching static bounds
2307
2308 2011-08-02 Robert Dewar <dewar@adacore.com>
2309
2310 * par-ch10.adb: Minor code reorganization (use Nkind_In).
2311
2312 2011-08-02 Ed Schonberg <schonberg@adacore.com>
2313
2314 * par-ch9.adb: save location of entry for proper error message.
2315
2316 2011-08-02 Javier Miranda <miranda@adacore.com>
2317
2318 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
2319 (Use_Full_View) which permits this routine to climb through the
2320 ancestors using the full-view of private parents.
2321 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
2322 Use_Full_View to true in calls to Is_Ancestor.
2323 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
2324 true in call to Is_Ancestor.
2325 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
2326 Use_Full_View to true in call to Is_Ancestor.
2327 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
2328 call to Is_Ancestor.
2329 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
2330 Use_Full_View to true in calls to Is_Ancestor.
2331 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
2332 Make_Select_Specific_Data_Table, Register_Primitive,
2333 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
2334 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
2335 to true in call to Is_Ancestor.
2336 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
2337 Use_Full_View to true in calls to Is_Ancestor.
2338 * exp_cg.adb
2339 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
2340 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
2341
2342 2011-08-02 Robert Dewar <dewar@adacore.com>
2343
2344 * gnat_rm.texi: Minor reformatting.
2345 * sem_prag.adb: Minor reformatting.
2346
2347 2011-08-02 Tristan Gingold <gingold@adacore.com>
2348
2349 * vms_data.ads: Add VMS qualifier for -gnateP.
2350
2351 2011-08-02 Robert Dewar <dewar@adacore.com>
2352
2353 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
2354 * par-ch7.adb (P_Package): Proper placement of aspects for package
2355 decl/instantiation.
2356 * par-endh.adb (Check_End): Ad Is_Sloc parameter
2357 (End_Statements): Add Is_Sloc parameterr
2358 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
2359 (Check_End): Ad Is_Sloc parameter
2360 (End_Statements): Add Is_Sloc parameterr
2361
2362 2011-08-02 Vincent Celier <celier@adacore.com>
2363
2364 * ug_words: Add VMS qualifier equivalent to -gnateP:
2365 /SYMBOL_PREPROCESSING.
2366
2367 2011-08-02 Jose Ruiz <ruiz@adacore.com>
2368
2369 * gnat-style.texi: For hexadecimal numeric literals the typical
2370 grouping of digits is 4 to represent 2 bytes.
2371 A procedure spec which is split into several lines is indented two
2372 characters.
2373
2374 2011-08-02 Yannick Moy <moy@adacore.com>
2375
2376 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
2377 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
2378 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
2379 properly qualified
2380 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
2381 choice in array aggregate
2382 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
2383 mark as ancestor
2384 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
2385 positional and named aggregate for record, or others in record
2386 aggregate, or multiple choice in record aggregate
2387 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
2388 array operands to logical operations AND, OR and XOR do not have the
2389 same static lower and higher bounds
2390 * sem_ch5.adb, sinfo.ads: Correct typos in comments
2391
2392 2011-08-01 Robert Dewar <dewar@adacore.com>
2393
2394 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
2395 Replaces Last_Source_Node_In_Sequence.
2396 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
2397 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
2398 parens and blank in string (this was inconsistently implemented).
2399 * errout.ads
2400 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
2401 blank in string (this was inconsistently implemented).
2402 * gnat1drv.adb
2403 (Set_Global_Switches): Set formal mode switches appropriately
2404 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
2405 * par-prag.adb
2406 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
2407 call Set_Error_Msg_Lang to set "spark" as language name.
2408 * par.adb: Remove unnecessary call to set formal language for errout
2409 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
2410 appropriately and call Set_Error_Msg_Lang to set "spark" as language
2411 name.
2412 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
2413 calls to it, moved after resolution so that types are known
2414 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
2415 result of concatenation is not of type String
2416 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
2417 concatenation is not properly restricted
2418 * gnat_rm.texi: Add doc on pragma Spark_95.
2419 * gcc-interface/Makefile.in: Remove obsolete target pairs for
2420 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
2421 * gcc-interface/Make-lang.in: Update dependencies.
2422
2423 2011-08-01 Javier Miranda <miranda@adacore.com>
2424
2425 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
2426 condition that detects if the overridden operation must replace an
2427 existing entity.
2428
2429 2011-08-01 Javier Miranda <miranda@adacore.com>
2430
2431 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
2432 code declarations inserted by Insert_Actions in each alternative of the
2433 N_Case_Expression node.
2434
2435 2011-08-01 Robert Dewar <dewar@adacore.com>
2436
2437 * sem_ch6.adb: Minor code reorganization.
2438 * sem_util.adb: Minor reformatting.
2439
2440 2011-08-01 Pascal Obry <obry@adacore.com>
2441
2442 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
2443 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
2444
2445 2011-08-01 Yannick Moy <moy@adacore.com>
2446
2447 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
2448 literal or operator symbol which is prefixed
2449 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
2450 mode on access attributes.
2451 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
2452 that concatenation operands are properly restricted in formal mode
2453 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
2454 Analyze_Concatenation_Operand. Issue an error in formal mode if the
2455 result of the concatenation has a type different from String.
2456 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
2457 Analyze_Quantified_Expression, Analyze_Slice,
2458 Analyze_Null): issue an error in formal mode on unsupported constructs
2459 * sem_ch5.adb
2460 (Analyze_Block_Statement): only issue error on source block statement
2461 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
2462 function which returns the last node in a list of nodes for which
2463 Comes_From_Source returns True, if any
2464 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
2465 Last_Source_Node_In_Sequence
2466 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
2467 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
2468 mode on unsupported constructs
2469 * sem_ch9.adb Do not return after issuing error in formal mode, as the
2470 rest of the actions may be needed later on since the error is marked as
2471 not serious.
2472 * sinfo.ads: Typos in comments.
2473
2474 2011-08-01 Pascal Obry <obry@adacore.com>
2475
2476 * projects.texi: Minor editing.
2477
2478 2011-08-01 Yannick Moy <moy@adacore.com>
2479
2480 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
2481 insertion character ~~
2482 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
2483 (Set_Error_Msg_Lang): new procedure which fixes the language for use
2484 with insertion character ~~
2485 (Set_Msg_Text): treat insertion character ~~
2486 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
2487 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
2488 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
2489 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
2490 errors related to the formal language restriction not serious
2491 (insertion character |).
2492 * par.adb (Par): set formal language for error messages if needed
2493 * sem_ch6.adb (Check_Missing_Return): take into account possible
2494 generated statements at the end of the function
2495 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
2496 enumeration value to define a new pragma SPARK_95
2497 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
2498 SPARK_Version): new type and variables to store the SPARK version
2499 (none by default).
2500 (SPARK_Mode): return True when SPARK_Version is set
2501 * par-prag.adb: Correct indentation
2502 (Prag): take Pragma_SPARK_95 into account
2503 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
2504 into account.
2505
2506 2011-08-01 Robert Dewar <dewar@adacore.com>
2507
2508 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
2509 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
2510 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
2511
2512 2011-08-01 Pascal Obry <obry@adacore.com>
2513
2514 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
2515 Target_Name to Get_Path call.
2516 (Parse_Single_Project): Likewise.
2517 (Post_Parse_Context_Clause): Likewise.
2518 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
2519 Call Initialise_Project_Path with the proper Target_Name.
2520 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
2521 search path.
2522 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
2523 with the proper Target_Name.
2524 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
2525 Part.Parse routine.
2526 (Parse_Project_And_Apply_Config): Likewise.
2527 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
2528 This is fine as this part of the code is supporting only native
2529 compilation.
2530 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
2531 is fine as this part of the code is supporting only native compilation.
2532
2533 2011-08-01 Yannick Moy <moy@adacore.com>
2534
2535 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
2536 of homonym, unless the homonym is one of the cases allowed in SPARK
2537 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
2538 package declaration occurring after a body.
2539
2540 2011-08-01 Robert Dewar <dewar@adacore.com>
2541
2542 * checks.adb, exp_ch4.adb: Minor reformatting.
2543
2544 2011-08-01 Javier Miranda <miranda@adacore.com>
2545
2546 * einfo.ads (Access_Disp_Table): Fix documentation.
2547 (Dispatch_Table_Wrappers): Fix documentation.
2548
2549 2011-08-01 Pascal Obry <obry@adacore.com>
2550
2551 * prj-env.adb, prj-env.ads: Minor reformatting.
2552
2553 2011-08-01 Yannick Moy <moy@adacore.com>
2554
2555 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
2556 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
2557 procedures out of these packages.
2558 * errout.ads, errout.adb
2559 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
2560 procedures in of this package
2561 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
2562 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
2563 on misplaced later vs initial declarations, like in Ada 83
2564 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
2565 formal mode on attribute of private type whose full type declaration
2566 is not visible
2567 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
2568 package declaration inside a package specification
2569 (Analyze_Full_Type_Declaration): issue error in formal mode on
2570 controlled type or discriminant type
2571 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
2572 user-defined operator means that it should come from the source
2573 (New_Overloaded_Entity): issue error in formal mode on overloaded
2574 entity.
2575 * sem_ch6.ads, sem_ch13.ads: typos in comments.
2576
2577 2011-08-01 Thomas Quinot <quinot@adacore.com>
2578
2579 * atree.adb: Minor reformatting.
2580 * checks.adb: Minor reformatting.
2581
2582 2011-08-01 Vincent Celier <celier@adacore.com>
2583
2584 * s-parame-vms-ia64.ads: Fix typo in comment
2585 Minor reformatting
2586 * s-parame-vms-restrict.ads: Removed, unused.
2587
2588 2011-08-01 Javier Miranda <miranda@adacore.com>
2589
2590 * exp_ch3.adb
2591 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
2592 * sem_ch3.adb
2593 (Constrain_Index): Remove side effects in the evaluation of the bounds.
2594 * sem_ch3.ads, sem_ch3.adb
2595 (Is_Constant_Bound): New extended version of the subprogram that was
2596 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
2597 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
2598 * sem_aux.ads (Constant_Value): Fix typo in comment.
2599 * checks.adb (Generate_Index_Checks): New implementation which, for
2600 array objects with constant bounds, generates the runtime check
2601 referencing the bounds of the array type. For other cases this routine
2602 provides its previous behavior obtaining such values from the array
2603 object.
2604 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
2605 parent type.
2606 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
2607 we cannot have semantic interpretations of the new node.
2608
2609 2011-08-01 Ed Schonberg <schonberg@adacore.com>
2610
2611 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
2612 expressions.
2613
2614 2011-08-01 Arnaud Charlet <charlet@adacore.com>
2615
2616 * sem_ch8.adb: Minor code editing.
2617 * s-vxwext.adb: Remove trailing space.
2618 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
2619 consistency with other files.
2620
2621 2011-08-01 Thomas Quinot <quinot@adacore.com>
2622
2623 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
2624
2625 2011-08-01 Ed Schonberg <schonberg@adacore.com>
2626
2627 * par-ch10.adb: reject parameterized expressions as compilation unit.
2628 * sem_ch4.adb: handle properly conditional expression with overloaded
2629 then_clause and no else_clause.
2630
2631 2011-08-01 Tristan Gingold <gingold@adacore.com>
2632
2633 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
2634 like done by System.Aux_DEC.
2635 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
2636
2637 2011-08-01 Yannick Moy <moy@adacore.com>
2638
2639 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
2640 missing label at end of declaration (subprogram or package)
2641 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
2642 of positional and named parameter association
2643 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
2644 Error_Msg_SP which adds a prefix to the error message giving the name
2645 of the formal language analyzed
2646 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
2647 access result type in subprogram, unconstrained array as result type,.
2648 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
2649 procedure
2650 * sem_ch8.adb: Code clean up.
2651
2652 2011-08-01 Javier Miranda <miranda@adacore.com>
2653
2654 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
2655 * einfo.ads (Access_Disp_Table): Fix documentation.
2656 (Dispatch_Table_Wrappers): Fix documentation.
2657 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
2658 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
2659 to enforce the documentation of this attribute.
2660 (Set_Is_Interface): Cleanup the assertion.
2661 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
2662 the Underlying_Type entity before reading attribute Access_Disp_Table.
2663 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
2664 Locate the Underlying_Type before reading attribute Access_Disp_Table.
2665 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
2666 the Underlying_Type entity before reading attribute Access_Disp_Table.
2667 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
2668 Locate the Underlying_Type entity before reading attribute
2669 Access_Disp_Table.
2670
2671 2011-08-01 Ed Schonberg <schonberg@adacore.com>
2672
2673 * s-poosiz.ads: Additional overriding indicators.
2674
2675 2011-08-01 Yannick Moy <moy@adacore.com>
2676
2677 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
2678 formal mode.
2679 (Analyze_Iteration_Scheme): issue error in formal mode when loop
2680 parameter specification does not include a subtype mark.
2681 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
2682 formal mode on abstract subprogram.
2683 (Analyze_Subprogram_Specification): issue error in formal mode on
2684 user-defined operator.
2685 (Process_Formals): issue error in formal mode on access parameter and
2686 default expression.
2687 * sem_ch9.adb (Analyze_Abort_Statement,
2688 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
2689 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
2690 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
2691 Analyze_Requeue, Analyze_Selective_Accept,
2692 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
2693 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
2694 issue error in formal mode on user-defined raise statement.
2695
2696 2011-08-01 Thomas Quinot <quinot@adacore.com>
2697
2698 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
2699 declaration being hidden when overriding an implicit inherited
2700 subprogram.
2701 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
2702 (-gnats), do not complain about a source file that contains only a
2703 pragma No_Body.
2704
2705 2011-08-01 Ed Schonberg <schonberg@adacore.com>
2706
2707 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
2708 variable if already set.
2709
2710 2011-08-01 Arnaud Charlet <charlet@adacore.com>
2711
2712 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
2713 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
2714 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
2715 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
2716 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
2717 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
2718 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
2719 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
2720 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
2721 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
2722 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
2723 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
2724 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
2725 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
2726 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
2727 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
2728 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
2729 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
2730 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
2731 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
2732 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
2733 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
2734 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
2735 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
2736 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
2737 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
2738 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
2739 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
2740 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
2741 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
2742 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
2743 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
2744 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
2745 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
2746 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
2747 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
2748 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
2749 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
2750 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
2751 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
2752 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
2753 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
2754 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
2755 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
2756 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
2757 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
2758 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
2759 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
2760 s-osinte-mingw.ads: Update to GPLv3 run-time license.
2761 Use GNAT instead of GNARL.
2762
2763 2011-08-01 Bob Duff <duff@adacore.com>
2764
2765 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
2766 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
2767 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
2768 reformatting.
2769
2770 2011-08-01 Yannick Moy <moy@adacore.com>
2771
2772 * debug.adb (d.D) reverve flag for the SPARK mode
2773 (d.E) reverve flag for SPARK generation mode
2774 (d.F) reverve flag for Why generation mode
2775 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
2776 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
2777 functions which return True when the corresponding modes are set
2778 (Formal_Language): return "spark" or "alfa" when in formal verification
2779 mode.
2780 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
2781 Error_Msg to prefix the error message with a tag giving the formal
2782 language
2783 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
2784 message with a tag giving the formal language
2785 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
2786 block statement
2787 (Analyze_Case_Statement): issue error in formal mode on case statement
2788 with a single "others" case alternative
2789 (Analyze_Exit_Statement): issue errors in formal mode on exit
2790 statements which do not respect SPARK restrictions
2791 (Analyze_Goto_Statement): issue error in formal mode on goto statement
2792 (Check_Unreachable_Code): always issue an error (not a warning) in
2793 formal mode on unreachable code (concerns both code after an infinite
2794 loop and after an unconditional jump, both not allowed in SPARK)
2795 * sem_ch6.adb (Analyze_Return_Statement): add call to
2796 Set_Return_Present for a procedure containing a return statement
2797 (already done for functions in Analyze_Function_Return)
2798 (Analyze_Function_Return): issue error in formal mode on extended
2799 return or if return is not last statement in function
2800 (Check_Missing_Return): issue error in formal mode if function does
2801 not end with return or if procedure contains a return
2802 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
2803 function to detect if there is an inner scope of its parameter S which
2804 is a loop.
2805
2806 2011-08-01 Thomas Quinot <quinot@adacore.com>
2807
2808 * sem_ch6.ads: Minor reformatting.
2809
2810 2011-08-01 Javier Miranda <miranda@adacore.com>
2811
2812 * sem_util.adb (Abstract_Interface_List): Complete condition when
2813 processing private type declarations to avoid reading unavailable
2814 attribute.
2815 (Is_Synchronized_Tagged_Type): Complete condition when processing
2816 private extension declaration nodes to avoid reading unavailable
2817 attribute.
2818
2819 2011-08-01 Thomas Quinot <quinot@adacore.com>
2820
2821 * sem_ch3.adb: Minor reformatting.
2822
2823 2011-08-01 Thomas Quinot <quinot@adacore.com>
2824
2825 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
2826 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
2827 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
2828 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
2829 for VMS, instead parametrize the common implementation with
2830 System.Parameters declarations.
2831
2832 2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
2833
2834 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
2835
2836 2011-08-01 Tristan Gingold <gingold@adacore.com>
2837
2838 * seh_init.c: Fix SEH handler installation on win64.
2839
2840 2011-08-01 Ed Schonberg <schonberg@adacore.com>
2841
2842 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
2843 double analysis of an anonymous access to subprogram, because it can
2844 lead to improper sharing of profiles and a back-end crash.
2845
2846 2011-08-01 Robert Dewar <dewar@adacore.com>
2847
2848 * make.adb, sem_ch4.adb: Minor reformatting.
2849 * gcc-interface/Make-lang.in: Update dependencies.
2850 * sem_util.adb, exp_ch5.adb: Minor reformatting.
2851
2852 2011-08-01 Arnaud Charlet <charlet@adacore.com>
2853
2854 * gnat_rm.texi: Fix definition of Long_Integer.
2855
2856 2011-08-01 Ed Schonberg <schonberg@adacore.com>
2857
2858 * exp_aggr.adb: check limit size of static aggregate unconditionally,
2859 to prevent storage exhaustion.
2860 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
2861 finalized is a function body, insert the cleanup code before the final
2862 return statement, to prevent spurious warnings.
2863 * s-pooglo.ads: add overriding indicator.
2864
2865 2011-08-01 Ed Schonberg <schonberg@adacore.com>
2866
2867 * sem_ch4.adb (Operator_Check): improve error message when both a
2868 with_clause and a use_clause are needed to make operator usage legal.
2869 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
2870 determine whether a compilation unit is visible within an other,
2871 either through a with_clause in the current unit, or a with_clause in
2872 its library unit or one one of its parents.
2873
2874 2011-08-01 Ed Schonberg <schonberg@adacore.com>
2875
2876 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
2877 over an arbitrary expression of an array or container type.
2878 * lib-xref.adb: clarify comment.
2879
2880 2011-08-01 Bob Duff <duff@adacore.com>
2881
2882 * einfo.ads: Minor reformatting.
2883 * debug.adb: Minor comment improvement.
2884
2885 2011-08-01 Javier Miranda <miranda@adacore.com>
2886
2887 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
2888 consider hidden subprograms as valid candidates.
2889
2890 2011-08-01 Arnaud Charlet <charlet@adacore.com>
2891
2892 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
2893
2894 2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
2895
2896 * gnat_ugn.texi: Fix typo.
2897
2898 2011-08-01 Robert Dewar <dewar@adacore.com>
2899
2900 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
2901 lib-xref.adb: Minor reformatting
2902
2903 2011-08-01 Gary Dismukes <dismukes@adacore.com>
2904
2905 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
2906 when to generate a call to Move_Final_List.
2907 (Has_Controlled_Parts): Remove this function.
2908
2909 2011-08-01 Geert Bosch <bosch@adacore.com>
2910
2911 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
2912 "," in choice list.
2913
2914 2011-08-01 Thomas Quinot <quinot@adacore.com>
2915
2916 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
2917 explicit raise of a predefined exception as Comes_From_Source if the
2918 original N_Raise_Statement comes from source.
2919
2920 2011-08-01 Robert Dewar <dewar@adacore.com>
2921
2922 * sinfo.ads: Add comment.
2923 * sem_ch6.adb: Minor reformatting.
2924
2925 2011-08-01 Robert Dewar <dewar@adacore.com>
2926
2927 * freeze.adb (Freeze_Entity): Refine check for bad component size
2928 clause to avoid rejecting confirming clause when atomic/aliased present.
2929
2930 2011-08-01 Ed Schonberg <schonberg@adacore.com>
2931
2932 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
2933 better determine whether an entity reference is a write.
2934 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
2935 subcomponent.
2936 * lib-xref.adb (Output_References): Do no suppress a read reference at
2937 the same location as an immediately preceeding modify-reference, to
2938 handle properly in-out actuals.
2939
2940 2011-08-01 Tristan Gingold <gingold@adacore.com>
2941
2942 * env.c (__gnat_setenv) [VMS]: Refine previous change.
2943
2944 2011-08-01 Quentin Ochem <ochem@adacore.com>
2945
2946 * i-cstrin.adb (New_String): Changed implementation, now uses only the
2947 heap to compute the result.
2948
2949 2011-08-01 Robert Dewar <dewar@adacore.com>
2950
2951 * atree.ads: Minor reformatting.
2952
2953 2011-08-01 Emmanuel Briot <briot@adacore.com>
2954
2955 * g-expect.adb (Get_Command_Output): Fix memory leak.
2956
2957 2011-08-01 Geert Bosch <bosch@adacore.com>
2958
2959 * cstand.adb (P_Float_Type): New procedure to print the definition of
2960 predefined fpt types.
2961 (P_Mixed_Name): New procedure to print a name using mixed case
2962 (Print_Standard): Use P_Float_Type for printing floating point types
2963 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
2964 precision IEEE float.
2965
2966 2011-08-01 Thomas Quinot <quinot@adacore.com>
2967
2968 * sem_ch3.adb: Minor reformatting.
2969
2970 2011-08-01 Ed Schonberg <schonberg@adacore.com>
2971
2972 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
2973 the completion of a generic function, insert the new body rather than
2974 rewriting the original.
2975
2976 2011-08-01 Yannick Moy <moy@adacore.com>
2977
2978 * sinfo.ads, errout.ads: Typos in comments.
2979
2980 2011-08-01 Robert Dewar <dewar@adacore.com>
2981
2982 * par-endh.adb: Minor reformatting.
2983
2984 2011-08-01 Robert Dewar <dewar@adacore.com>
2985
2986 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
2987 (Pre_Post_Aspects): New subtype.
2988 * par-ch12.adb (P_Generic): New syntax for aspects in packages
2989 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
2990 * par-ch7.adb (P_Package): Remove Decl parameter
2991 (P_Package): Handle new syntax for aspects (before IS)
2992 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
2993 new aspect syntax
2994 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
2995 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
2996 (P_Package): Remove Decl parameter
2997 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
2998 aspects
2999 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
3000 specs
3001 * sem_util.ads, sem_util.adb (Static_Boolean): New function
3002 * sinfo.ads: Document new syntax for aspects in packages etc.
3003 * sprint.adb: Handle new syntax of aspects before IS in package
3004
3005 2011-08-01 Thomas Quinot <quinot@adacore.com>
3006
3007 * atree.ads: Minor reformatting.
3008 * sem_prag.adb: Minor reformatting.
3009
3010 2011-08-01 Robert Dewar <dewar@adacore.com>
3011
3012 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
3013 case expr alternative.
3014
3015 2011-08-01 Ed Schonberg <schonberg@adacore.com>
3016
3017 * sem_ch12.adb: Fix typo.
3018
3019 2011-08-01 Geert Bosch <bosch@adacore.com>
3020
3021 * sem_prag.adb (Check_No_Link_Name): New procedure.
3022 (Process_Import_Or_Interface): Use Check_No_Link_Name.
3023 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
3024 instead of Standard_Long_Long_Float_Size global. Preparation for
3025 eventual removal of per type constants.
3026 * exp_util.ads (Get_Stream_Size): New function returning the stream
3027 size value of subtype E.
3028 * exp_util.adb (Get_Stream_Size): Implement new function.
3029 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
3030 function.
3031 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
3032 * einfo.adb:
3033 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
3034
3035 2011-08-01 Geert Bosch <bosch@adacore.com>
3036
3037 * cstand.adb: Fix comments.
3038 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
3039 count of arguments.
3040
3041 2011-08-01 Robert Dewar <dewar@adacore.com>
3042
3043 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
3044
3045 2011-08-01 Geert Bosch <bosch@adacore.com>
3046
3047 * atree.ads: Fix comment.
3048
3049 2011-08-01 Robert Dewar <dewar@adacore.com>
3050
3051 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
3052 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
3053 * par.adb: Add with for Namet.Sp.
3054 * par-tchk.adb: Minor reformatting.
3055
3056 2011-08-01 Vincent Celier <celier@adacore.com>
3057
3058 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
3059 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
3060 of the init procedure of a SAL.
3061 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
3062 New procedure.
3063
3064 2011-08-01 Thomas Quinot <quinot@adacore.com>
3065
3066 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
3067 reformatting.
3068
3069 2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3070
3071 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
3072
3073 2011-08-01 Thomas Quinot <quinot@adacore.com>
3074
3075 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
3076 conformant with its spec (return True only for types that have
3077 an overriding Initialize primitive operation that prevents them from
3078 having preelaborable initialization).
3079 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
3080 initialization for controlled types in Ada 2005 or later mode.
3081
3082 2011-08-01 Robert Dewar <dewar@adacore.com>
3083
3084 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
3085 Postcondition.
3086 (Same_Aspect): New function.
3087 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
3088 Type_Invariant, Precondition, Postcondition.
3089 * snames.ads-tmpl: Add Name_Type_Invariant.
3090
3091 2011-08-01 Robert Dewar <dewar@adacore.com>
3092
3093 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
3094 here.
3095 (Freeze_All_Ent): Fix error in handling inherited aspects.
3096 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
3097 already analyzed, but don't skip entire processing of a declaration,
3098 that's wrong in some cases of declarations being rewritten.
3099 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
3100 Don't delay for integer, string literals
3101 Treat predicates in usual manner for delay, remove special case code,
3102 not needed.
3103 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
3104 (Build_Predicate_Function): Update saved expression in aspect
3105 (Build_Invariant_Procedure): Update saved expression in aspect
3106 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
3107 of replacement of discriminant references if the reference is simple.
3108
3109 2011-08-01 Robert Dewar <dewar@adacore.com>
3110
3111 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
3112 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
3113 Static_Predicate and Dynamic_Predicate.
3114 (Build_Predicate_Function): Add processing for Static_Predicate
3115 and Dynamic_Predicate.
3116 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
3117 (From_Static_Predicate): New flag
3118 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
3119
3120 2011-08-01 Robert Dewar <dewar@adacore.com>
3121
3122 * usage.adb: Documentation cleanup for Ada version modes in usage.
3123 * expander.adb: Minor reformatting.
3124
3125 2011-08-01 Robert Dewar <dewar@adacore.com>
3126
3127 * atree.ads: Minor comment fix.
3128 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
3129 a-witeio.ads, sem_prag.adb: Minor reformatting.
3130
3131 2011-08-01 Doug Rupp <rupp@adacore.com>
3132
3133 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
3134 pointers. Use descrip.h header file for convenience. Add some
3135 comments.
3136
3137 2011-08-01 Robert Dewar <dewar@adacore.com>
3138
3139 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
3140 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
3141 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
3142 New procedure.
3143 (Check_Aspect_At_End_Of_Declarations): New procedure
3144 (Analye_Aspect_Specification): Minor changes for above procedures
3145 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
3146 specification node as well.
3147
3148 2011-08-01 Pascal Obry <obry@adacore.com>
3149
3150 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
3151 Windows files. Use GetFilesAttributes() in this case to check for file
3152 existence instead of returning with an error code.
3153
3154 2011-08-01 Vincent Celier <celier@adacore.com>
3155
3156 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
3157 High is above Source length.
3158
3159 2011-08-01 Robert Dewar <dewar@adacore.com>
3160
3161 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
3162
3163 2011-08-01 Robert Dewar <dewar@adacore.com>
3164
3165 * aspects.ads (Boolean_Aspects): New subtype.
3166 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
3167 for derived types in cases where the parent type and derived type have
3168 aspects.
3169 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
3170 with aspects when parent type also has aspects.
3171 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
3172 boolean expression at this point).
3173 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
3174 accordance with final decision on the Ada 2012 feature.
3175 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
3176
3177 2011-08-01 Matthew Heaney <heaney@adacore.com>
3178
3179 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
3180
3181 2011-08-01 Pascal Obry <obry@adacore.com>
3182
3183 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
3184 Fix Replace_Slice when High is above current string size.
3185 (Replace_Slice): Fix DL computation when High is above current
3186 string length.
3187
3188 2011-08-01 Gary Dismukes <dismukes@adacore.com>
3189
3190 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
3191
3192 2011-08-01 Matthew Heaney <heaney@adacore.com>
3193
3194 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
3195 of node.
3196
3197 2011-08-01 Pascal Obry <obry@adacore.com>
3198
3199 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
3200 reformatting.
3201
3202 2011-08-01 Ed Schonberg <schonberg@adacore.com>
3203
3204 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
3205 access to protected subprograms in generic bodies.
3206 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
3207 protected type, indicate that the convention of the subprogram is
3208 Convention_Protected, because it may be used in subsequent declarations
3209 within the protected declaration.
3210
3211 2011-08-01 Vincent Celier <celier@adacore.com>
3212
3213 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
3214 and "final" procedures when the name of the library is "ada", to avoid
3215 duplicate symbols "adainit" and "adafinal" in executables.
3216
3217 2011-08-01 Ed Schonberg <schonberg@adacore.com>
3218
3219 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
3220 quantified expression that appears within a postcondition and uses the
3221 Ada2012 'Result attribute.
3222
3223 2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3224
3225 * init.c (__gnat_error_handler): Cast reason to int.
3226 (__gnat_install_handler): Explain sa_sigaction use.
3227
3228 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
3229
3230 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
3231 subprogram has copy-in copy-out parameters, try to promote the mode of
3232 the return type if it is passed in registers.
3233
3234 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
3235
3236 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
3237 left operand as addressable.
3238
3239 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
3240
3241 * gcc-interface/gigi.h (build_function_stub): Remove.
3242 (build_return_expr): Likewise.
3243 (convert_vms_descriptor): Declare.
3244 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
3245 (build_function_stub): Move to...
3246 * gcc-interface/utils2.c (build_return_expr): Move to...
3247 * gcc-interface/trans.c (build_function_stub): ...here.
3248 (build_return_expr): ...here.
3249 (Subprogram_Body_to_gnu): Add local variable for language_function.
3250 Disconnect the parameter attributes cache, if any, once done with it.
3251 Call end_subprog_body only after setting the end_locus.
3252 Build the stub associated with the function, if any, at the very end.
3253 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
3254 variables and streamline control flow.
3255
3256 2011-07-23 Arnaud Charlet <charlet@adacore.com>
3257
3258 PR ada/49819
3259 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
3260 g-trasym-dwarf.adb.
3261
3262 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3263
3264 PR bootstrap/49794
3265 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
3266 Assign to act.sa_sigaction.
3267 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
3268 current->return_address to char * before arithmetic.
3269
3270 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3271
3272 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
3273 Correct argument types.
3274 Extract code from reason.
3275 (__gnat_install_handler): Assign to act.sa_sigaction.
3276
3277 2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
3278
3279 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
3280 (GNAT1_OBJS): ...here.
3281
3282 2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
3283
3284 PR ada/48711
3285 * g-socthi-mingw.adb (Fill): Fix formatting.
3286
3287 * gcc-interface/gigi.h: Move around comment.
3288
3289 2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3290
3291 PR ada/46350
3292 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
3293
3294 2011-07-14 Florian Weimer <fw@deneb.enyo.de>
3295
3296 PR ada/48711
3297 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
3298
3299 2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
3300
3301 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
3302 range comparison if Pmode is SImode.
3303
3304 2011-07-12 Laurent GUERBY <laurent@guerby.net>
3305 Eric Botcazou <ebotcazou@adacore.com>
3306
3307 * adadecode.c: Wrap up in extern "C" block.
3308 * adadecode.h: Likewise.
3309 * adaint.c: Likewise. Remove 'const' keyword.
3310 * adaint.h: Likewise.
3311 * argv.c: Likewise.
3312 * atree.h: Likewise.
3313 * cio.c: Likewise.
3314 * cstreams.c: Likewise.
3315 * env.c: Likewise.
3316 * exit.c: Likewise.
3317 * fe.h: Likewise.
3318 * final.c: Likewise.
3319 * init.c: Likewise.
3320 * initialize.c: Likewise.
3321 * link.c: Likewise.
3322 * namet.h: Likewise.
3323 * nlists.h: Likewise.
3324 * raise.c: Likewise.
3325 * raise.h: Likewise.
3326 * repinfo.h: Likewise.
3327 * seh_init.c: Likewise.
3328 * targext.c: Likewise.
3329 * tracebak.c: Likewise.
3330 * uintp.h: Likewise.
3331 * urealp.h: Likewise.
3332 * xeinfo.adb: Wrap up generated C code in extern "C" block.
3333 * xsinfo.adb: Likewise.
3334 * xsnamest.adb: Likewise.
3335 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
3336 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
3337 * gcc-interface/misc.c: Likewise.
3338 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
3339 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
3340 ada/targext.o here...
3341 (GNAT_ADA_OBJS): ...and not here.
3342 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
3343 (GNATBIND_OBJS): Reorder.
3344
3345 2011-07-07 Richard Henderson <rth@redhat.com>
3346
3347 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
3348 dwarf2out_frame_init.
3349
3350 2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
3351
3352 * gcc-interface/misc.c (gnat_init): Tweak previous change.
3353
3354 2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3355
3356 PR target/39150
3357 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
3358
3359 2011-07-06 Richard Guenther <rguenther@suse.de>
3360
3361 * gcc-interface/misc.c (gnat_init): Merge calls to
3362 build_common_tree_nodes and build_common_tree_nodes_2.
3363 Re-initialize boolean_false_node.
3364
3365 2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
3366 Olivier Hainque <hainque@adacore.com>
3367 Nicolas Setton <setton@adacore.com>
3368
3369 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
3370 the type according to the ARTIFICIAL_P parameter.
3371 (create_type_decl): Likewise.
3372 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
3373
3374 2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
3375
3376 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
3377 (gnatbind): Likewise.
3378
3379 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3380
3381 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
3382
3383 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
3384
3385 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
3386 local variable throughout. Remove useless call to Base_Type.
3387 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
3388 Take it also into account for the volatileness of the field. Set the
3389 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
3390
3391 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
3392
3393 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
3394 on a dereference built for a by-ref object if it has an address clause.
3395
3396 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
3397
3398 * einfo.ads (Address_Taken): Document use for the second argument of
3399 Asm_Input and Asm_Output attributes.
3400 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
3401 argument is an entity name, then set Address_Taken on it.
3402 <Attribute_Asm_Output>: Likewise.
3403 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
3404 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
3405 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
3406 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
3407
3408 2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
3409
3410 PR middle-end/46500
3411 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
3412
3413 2011-06-14 Joseph Myers <joseph@codesourcery.com>
3414
3415 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
3416 (ada/utils.o): Update dependencies.
3417 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
3418 ../../../libcpp/libcpp.a.
3419 * gcc-interface/utils.c: Include common/common-target.h.
3420 (process_attributes): Use targetm_common.have_named_sections.
3421
3422 2011-06-07 Richard Guenther <rguenther@suse.de>
3423
3424 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
3425 set_sizetype.
3426
3427 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
3428
3429 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
3430 TREE_THIS_NOTRAP flag.
3431
3432 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
3433
3434 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
3435 Fix thinko.
3436
3437 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
3438
3439 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
3440 constants whose full view has discriminants specially.
3441
3442 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
3443
3444 * gcc-interface/utils.c: Include diagnostic.h.
3445 (gnat_write_global_declarations): Output debug information for all
3446 global type declarations before finalizing the compilation unit.
3447 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
3448
3449 2011-05-25 Jakub Jelinek <jakub@redhat.com>
3450
3451 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
3452
3453 2011-05-25 Kai Tietz <ktietz@redhat.com>
3454
3455 * adaint.c (__gnat_to_canonical_file_list_next): Use array
3456 initialization instead of const/none-const pointer assignment.
3457
3458 2011-05-24 Joseph Myers <joseph@codesourcery.com>
3459
3460 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
3461 $(EXTRA_GNAT1_OBJS).
3462 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
3463 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
3464 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
3465 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
3466 libcommon-target.a instead of prefix.o.
3467
3468 2011-05-21 Joseph Myers <joseph@codesourcery.com>
3469
3470 PR ada/49097
3471 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
3472
3473 2011-05-20 Joseph Myers <joseph@codesourcery.com>
3474
3475 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
3476 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
3477 instead of version.o.
3478
3479 2011-05-18 Kai Tietz <ktietz@redhat.com>
3480
3481 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
3482 boolean_false_node instead of integer_zero_node.
3483 (convert_with_check): Likewise.
3484 * gcc-interface/decl.c (choices_to_gnu): Likewise.
3485
3486 2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
3487
3488 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
3489 type of the parameter is an unconstrained array, convert the actual to
3490 the type of the formal in the In Out and Out cases as well.
3491
3492 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
3493
3494 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
3495 call build_function_type_array or build_varargs_function_type_array
3496 instead.
3497 (create_subprog_type): Don't call build_function_type; call
3498 build_function_type_vec instead.
3499
3500 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
3501
3502 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
3503 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
3504 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
3505
3506 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
3507
3508 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
3509
3510 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
3511 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
3512
3513 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3514
3515 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
3516
3517 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3518
3519 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
3520 instead of accessing TYPE_ARG_TYPES directly.
3521 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
3522
3523 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
3524
3525 PR ada/48844
3526 * gcc-interface/gigi.h (get_variant_part): Declare.
3527 * gcc-interface/decl.c (get_variant_part): Make global.
3528 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
3529 types have the same constant size, are record types and T1 has a
3530 variant part while T2 doesn't.
3531
3532 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
3533
3534 * gcc-interface/utils.c (begin_subprog_body): Do not call
3535 get_pending_sizes.
3536 (end_subprog_body): Likewise.
3537
3538 2011-05-04 Richard Guenther <rguenther@suse.de>
3539
3540 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
3541 int_const_binop.
3542 (pos_to_constructor): Likewise.
3543
3544 2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3545 Eric Botcazou <ebotcazou@adacore.com>
3546
3547 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
3548 of build_function_type. Adjust calls to...
3549 (build_raise_check): ...this. Do not take a void_tree parameter.
3550 Call build_function_type_list instead of build_function_type.
3551 Fix head comment and swap couple of conditional blocks.
3552
3553 2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
3554
3555 * gnatvsn.ads (Library_Version): Bump to 4.7.
3556 (Current_Year): Bump to 2011.
3557
3558 2011-04-29 Michael Matz <matz@suse.de>
3559
3560 * gcc-interface/misc.c (gnat_handle_option): Set
3561 warn_maybe_uninitialized.
3562
3563 2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
3564
3565 * gnat_ugn.texi (Complexity Metrics Control): Update link to
3566 the Watson/McCabe paper.
3567
3568 2011-04-23 Jim Meyering <meyering@redhat.com>
3569
3570 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
3571
3572 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
3573
3574 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
3575 onto the new type.
3576
3577 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
3578
3579 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
3580 parameter.
3581 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
3582 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
3583 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
3584 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
3585 <all>: Do not set flags on the reused DECL node coming from an alias.
3586 Set DECL_IGNORED_P on the DECL node built for subprograms if they
3587 don't need debug info here...
3588 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
3589 (gigi): Adjust calls to create_subprog_decl.
3590 (build_raise_check): Likewise.
3591 (establish_gnat_vms_condition_handler): Likewise.
3592 (Compilation_Unit_to_gnu): Likewise.
3593 (gnat_to_gnu): Likewise.
3594
3595 2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
3596
3597 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
3598 (NO_REORDER_ADAFLAGS): New variable.
3599 (EXTRA_GNATTOOLS): Always define.
3600 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
3601 Clean up and adjust list of files compiled with special options.
3602 * gcc-interface/Make-lang.in: Likewise.
3603 (ada/decl.o): Cosmetical change.
3604 (ada/misc.o): Remove dependency on $(PLUGIN_H).
3605
3606 2011-04-20 Jim Meyering <meyering@redhat.com>
3607
3608 * initialize.c (__gnat_initialize): Remove useless if-before-free.
3609
3610 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
3611
3612 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
3613 $(CFLAGS) on the link line.
3614
3615 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
3616
3617 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
3618 padded type built for the return type if it is unconstrained.
3619
3620 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
3621
3622 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
3623
3624 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3625
3626 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
3627 before calling TREE_CHAIN.
3628 * gcc-interface/misc.c (gnat_init_ts): New function.
3629 (LANG_HOOKS_INIT_TS): Define.
3630
3631 2011-04-12 Martin Jambor <mjambor@suse.cz>
3632
3633 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
3634 instead of cgraph_node.
3635
3636 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
3637
3638 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
3639 alignment on fields of the RETURN type built for the Copy-In Copy-Out
3640 mechanism.
3641
3642 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
3643
3644 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
3645 of aggregate types that contain a placeholder.
3646
3647 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3648
3649 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
3650 TYPE_ARG_TYPES.
3651 (handle_type_generic_attribute): Likewise.
3652
3653 2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
3654
3655 PR ada/47163
3656 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
3657
3658 2011-04-04 Kai Tietz <ktietz@redhat.com>
3659
3660 PR ada/47163
3661 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
3662 to flag value.
3663
3664 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3665
3666 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
3667 type case, do not strip a padding type around the array type.
3668
3669 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3670
3671 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
3672 types.
3673
3674 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3675
3676 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
3677 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
3678 code for -feliminate-unused-debug-types.
3679 (gnat_post_options): Likewise.
3680
3681 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3682
3683 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
3684 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
3685 distinct copy.
3686
3687 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3688
3689 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
3690 DECL_ARTIFICIAL flag on enumeration types.
3691
3692 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3693
3694 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
3695 fat pointer types artificial unconditionally.
3696 <E_Array_Subtype>: Attach the base array type as a parallel type if it
3697 isn't artificial.
3698
3699 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3700
3701 * gcc-interface/gigi.h (get_dummy_type): Declare.
3702 (build_dummy_unc_pointer_types): Likewise.
3703 (finish_fat_pointer_type): Likewise.
3704 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
3705 fat pointer type has been built, complete it in place.
3706 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
3707 and thin pointers. Remove useless variable.
3708 (finish_fat_pointer_type): Make global and move to...
3709 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
3710 (get_dummy_type): New function.
3711 (build_dummy_unc_pointer_types): Likewise.
3712 (gnat_pushdecl): Propage the name to the anonymous variants only.
3713 (update_pointer_to): Only adjust the pointer types in the unconstrained
3714 array case.
3715
3716 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3717
3718 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
3719 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
3720 if this is a Taft amendment type and the full declaration is available.
3721 * gcc-interface/trans.c (process_type): Likewise.
3722 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
3723 (process_freeze_entity): Likewise.
3724 * gcc-interface/utils.c (dummy_global): New static variable.
3725 (gnat_write_global_declarations): If there are types declared as used
3726 at the global level, insert them in the global hash table.
3727
3728 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3729
3730 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
3731 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
3732 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
3733 copy.
3734 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
3735 flag of the type accordingly.
3736 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
3737
3738 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3739
3740 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
3741 finalizing types when updating the pointers to the designated type.
3742 <all>: Finalize the deferred types even if we didn't defer processing
3743 of incomplete types in this invocation.
3744
3745 2011-04-01 Olivier Hainque <hainque@adacore.com>
3746 Nicolas Setton <setton@adacore.com>
3747 Eric Botcazou <ebotcazou@adacore.com>
3748
3749 * gcc-interface/misc.c (gnat_descriptive_type): New function.
3750 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
3751
3752 2011-03-28 Kai Tietz <ktietz@redhat.com>
3753
3754 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
3755 Windows targets.
3756 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
3757 * system-mingw.ads (System): Change ZCX_By_Default default to True.
3758
3759 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
3760
3761 2011-03-28 Tristan Gingold <gingold@adacore.com>
3762
3763 PR ada/44431
3764 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
3765 Use ada output of gnatbind.
3766 (ada/b_gnatb.adb): Ditto.
3767 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
3768 (ada.mostlyclean, ada.stage1)
3769 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
3770 (ada.stagefeedback): Adjust.
3771 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
3772 Use ada output of gnatbind.
3773 (b_gnatm.adb): Ditto.
3774 (b_gnatl.o, b_gnatm.o): New rules.
3775
3776 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
3777
3778 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
3779 for the padded type built to support a specified size or alignment.
3780
3781 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
3782
3783 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
3784 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
3785 unconditionally to the end of the unit when the designated type is
3786 limited_with'ed.
3787 <all>: Rename local variable. Attempt to un-defer types only and do it
3788 for limited_with'ed types as well.
3789 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
3790 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
3791 consistently and remove redundant call to finalize_from_with_types.
3792
3793 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
3794
3795 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
3796 subprograms without a previous spec declared in the same unit.
3797 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
3798 subprograms at the end of the unit instead of at the beginning.
3799 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
3800 isn't public for the special handling of non-inline functions nested
3801 inside inline external functions.
3802
3803 2011-03-25 Jeff Law <law@redhat.com>
3804
3805 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
3806
3807 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
3808
3809 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
3810 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
3811 to compute Set_Size_Depends_On_Discriminant.
3812 (Layout_Type): Call it on array types in back-end layout mode.
3813 * sem_util.adb (Requires_Transient_Scope): Return true for array
3814 types only if the size depends on the value of discriminants.
3815 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
3816 type if the RHS is a call to a function that returns an unconstrained
3817 type with default discriminant.
3818
3819 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
3820
3821 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
3822 non-conversion to the nominal result type at the end.
3823
3824 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
3825
3826 * gcc-interface/trans.c (create_temporary): New function taken from...
3827 (create_init_temporary): ...here. Call it.
3828 (call_to_gnu): Create the temporary for the return value early, if any.
3829 Create it for a function with copy-in/copy-out parameters if there is
3830 no target; in other cases of copy-in/copy-out, use another temporary.
3831 Push the new binding level lazily. Add and rename local variables.
3832
3833 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
3834
3835 * gcc-interface/decl.c (validate_size): Improve comments and tweak
3836 error message.
3837 (set_rm_size): Likewise.
3838
3839 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
3840
3841 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
3842 for the padded type built in order to support a specified alignment.
3843 Fix incorrect formatting.
3844
3845 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
3846
3847 PR bootstrap/48216
3848 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
3849
3850 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
3851
3852 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
3853 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
3854 to the end of the list. Adjust recursive call. Rename local variable.
3855 If REORDER is true, reorder components of the record type.
3856 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
3857 components_to_record and adjust the parameter list.
3858
3859 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
3860
3861 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
3862 disabled, use the variable for bounds of loop iteration scheme.
3863
3864 2011-03-21 Kai Tietz <ktietz@redhat.com>
3865
3866 PR target/12171
3867 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
3868
3869 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
3870
3871 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
3872 out whether the expression is read-only. Short-circuit placeholder
3873 case and rename a couple of local variables.
3874
3875 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
3876
3877 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
3878 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
3879 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
3880 (convert): Deal with conversions from a smaller form type specially.
3881
3882 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
3883
3884 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
3885 its argument, except for the special -I- switch.
3886
3887 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
3888
3889 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
3890 "Ada Issues".
3891
3892 2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
3893
3894 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
3895
3896 2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
3897
3898 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
3899 GNAT_FORMAL.
3900 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
3901 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
3902 instead of GNAT_FORMAL. Protect the expression against multiple uses.
3903 Do not generate the check directly, instead instantiate the template
3904 check present in the descriptor.
3905 (make_descriptor_field): Move around.
3906 (build_vms_descriptor32): Build a template check in the POINTER field.
3907 (build_vms_descriptor): Remove useless suffixes.
3908 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
3909
3910 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
3911
3912 PR bootstrap/47467
3913 * targext.c: Include target files if IN_RTS is defined.
3914
3915 2011-01-26 Richard Guenther <rguenther@suse.de>
3916
3917 PR bootstrap/47467
3918 * targext.c: Include config.h.
3919 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
3920 dependency.
3921
3922 2011-01-04 Pascal Obry <obry@adacore.com>
3923 Eric Botcazou <ebotcazou@adacore.com>
3924
3925 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
3926
3927 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
3928
3929 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
3930 end-of-case on the end label and its associated gotos, if any.
3931
3932 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
3933
3934 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
3935 expressions of the parameter cache within the statement group of
3936 the CICO mechanism.
3937
3938 2011-01-04 Olivier Hainque <hainque@adacore.com>
3939 Eric Botcazou <ebotcazou@adacore.com>
3940
3941 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
3942 (set_end_locus_from_node): New function.
3943 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
3944 make and the function end_locus.
3945 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
3946 for the elaboration subprogram.
3947 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
3948 set the end_locus of the expression as well.
3949
3950 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
3951
3952 PR ada/47131
3953 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
3954 variables that are referenced in exception handlers volatile.
3955
3956
3957 \f
3958 Copyright (C) 2011 Free Software Foundation, Inc.
3959
3960 Copying and distribution of this file, with or without modification,
3961 are permitted in any medium without royalty provided the copyright
3962 notice and this notice are preserved.
3963
3964 * gnat_rm.texi: Ramification of pragma Eliminate documentation
3965 - fix bugs in the description of Source_Trace;
3966 - get rid of UNIT_NAME;
3967
3968 2011-08-02 Javier Miranda <miranda@adacore.com>
3969
3970 * exp_ch9.adb
3971 (Build_Dispatching_Requeue): Adding support for VM targets
3972 since we cannot directly reference the Tag entity.
3973 * exp_sel.adb (Build_K): Adding support for VM targets.
3974 (Build_S_Assignment): Adding support for VM targets.
3975 * exp_disp.adb
3976 (Default_Prim_Op_Position): In VM targets do not restrict availability
3977 of predefined interface primitives to compiling in Ada 2005 mode.
3978 (Is_Predefined_Interface_Primitive): In VM targets this service is not
3979 restricted to compiling in Ada 2005 mode.
3980 (Make_VM_TSD): Generate code that declares and initializes the OSD
3981 record. Needed to support dispatching calls through synchronized
3982 interfaces.
3983 * exp_ch3.adb
3984 (Make_Predefined_Primitive_Specs): Enable generation of predefined
3985 primitives associated with synchronized interfaces.
3986 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
3987 primitives associated with synchronized interfaces.
3988
3989 2011-08-02 Yannick Moy <moy@adacore.com>
3990
3991 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
3992 statements hidden in SPARK if preceded by the HIDE directive
3993 (Parse_Exception_Handlers): mark each exception handler in a sequence of
3994 exception handlers as hidden in SPARK if preceded by the HIDE directive
3995 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
3996 if starting with the HIDE directive
3997 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
3998 starting with the HIDE directive; mark the declarations in a private
3999 part as hidden in SPARK if the private part starts with the HIDE
4000 directive
4001 * restrict.adb, restrict.ads
4002 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
4003 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
4004 argument node belongs to a part which is hidden in SPARK
4005 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
4006 parts in SPARK; protect the possibly costly call to
4007 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
4008 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
4009 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
4010 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
4011 Tok_SPARK_Hide.
4012 (Scan): recognize special comment starting with '#' and followed by
4013 SPARK keyword "hide" as a HIDE directive.
4014
4015 2011-08-02 Yannick Moy <moy@adacore.com>
4016
4017 * types.ads, erroutc.ads: Minor reformatting.
4018
4019 2011-08-02 Vincent Celier <celier@adacore.com>
4020
4021 * link.c: Add response file support for cross platforms.
4022
4023 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4024
4025 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
4026 in an association, set parent field of copy before partial analysis.
4027 * sem_res.adb (Resolve_Slice): create reference to itype only when
4028 expansion is enabled.
4029
4030 2011-08-02 Yannick Moy <moy@adacore.com>
4031
4032 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
4033 for new flag denoting which subprogram bodies are in ALFA
4034 * restrict.adb, sem_ch7.adb: Update comment
4035 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
4036 sem_ch9.adb, sem_res.adb: Add calls to
4037 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
4038 * sem_ch6.adb (Analyze_Function_Return): add calls to
4039 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
4040 middle of the body, and extended return.
4041 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
4042 False when missing return.
4043 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
4044 to True for subprograms whose spec is in ALFA. Remove later on the flag
4045 on the entity used for a subprogram body when there exists a separate
4046 declaration.
4047 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
4048 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
4049 False, otherwise do nothing.
4050
4051 2011-08-02 Robert Dewar <dewar@adacore.com>
4052
4053 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
4054
4055 2011-08-02 Yannick Moy <moy@adacore.com>
4056
4057 * sem_ch4.ads: minor formatting.
4058
4059 2011-08-02 Yannick Moy <moy@adacore.com>
4060
4061 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
4062 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
4063 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
4064 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
4065 opt.ads: cleanup of SPARK mode
4066
4067 2011-08-02 Yannick Moy <moy@adacore.com>
4068
4069 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
4070 types.
4071 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
4072 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
4073 * sem_ch3.adb
4074 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
4075 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
4076 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
4077 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
4078 types.
4079 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
4080 non-static range.
4081 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
4082 functions whose return type is not in ALFA.
4083 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
4084 specifications.
4085 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
4086 parameter's type is not in ALFA.
4087 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
4088 types are in ALFA.
4089
4090 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4091
4092 * sem_ch6 (Analyze_Expression_Function): treat the function as
4093 Inline_Always, and introduce a subprogram declaration for it when it is
4094 not a completion.
4095 * inline.adb (Add_Inlined_Body): recognize bodies that come from
4096 expression functions, so that the back-end can determine whether they
4097 can in fact be inlined.
4098 * sem_util.adb (Is_Expression_Function): predicate to determine whether
4099 a function body comes from an expression function.
4100
4101 2011-08-02 Gary Dismukes <dismukes@adacore.com>
4102
4103 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
4104 null exclusions to test Can_Never_Be_Null on the anonymous access types
4105 of the formals rather than testing the formals themselves. Exclude this
4106 check in cases where the Old_Formal is marked as a controlling formal,
4107 to avoid issuing spurious errors for bodies completing dispatching
4108 operations (due to the flag not getting set on controlling access
4109 formals in body specs).
4110 (Find_Corresponding_Spec): When checking full and subtype conformance of
4111 subprogram bodies in instances, pass Designated and E in that order, for
4112 consistency with the expected order of the formals (New_Id followed by
4113 Old_Id).
4114
4115 2011-08-02 Robert Dewar <dewar@adacore.com>
4116
4117 * sem_ch8.adb: Minor reformatting.
4118
4119 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4120
4121 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
4122 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
4123 primitive operations of class-wide actuals.
4124
4125 2011-08-02 Javier Miranda <miranda@adacore.com>
4126
4127 * exp_atag.ads, exp_atag.adb
4128 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
4129 since its value is implicitly passed in argument Typ.
4130 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
4131 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
4132 Build_Common_Dispatching_Select_Statements.
4133
4134 2011-08-02 Robert Dewar <dewar@adacore.com>
4135
4136 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
4137 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
4138 Minor reformatting.
4139
4140 2011-08-02 Robert Dewar <dewar@adacore.com>
4141
4142 * sem_res.adb: Minor reformatting.
4143 * sem_prag.adb: Minor reformatting.
4144
4145 2011-08-02 Javier Miranda <miranda@adacore.com>
4146
4147 * exp_atag.adb, exp_atags.ads
4148 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
4149 by the tagged type Entity. Required to use this routine in the VM
4150 targets since we do not have available the Tag entity in the VM
4151 platforms.
4152 * exp_ch6.adb
4153 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
4154 Ada.Tags has not been previously loaded.
4155 * exp_ch7.adb
4156 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
4157 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
4158 * sem_aux.adb
4159 (Enclosing_Dynamic_Scope): Add missing support to handle the full
4160 view of enclosing scopes. Required to handle enclosing scopes that
4161 are synchronized types whose full view is a task type.
4162 * exp_disp.adb
4163 (Build_VM_TSDs): Minor code improvement to avoid generating and
4164 analyzing lists with empty nodes.
4165 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
4166 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
4167 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
4168 (Make_Disp_Timed_Select_Body): Add support for VM targets.
4169 (Make_Select_Specific_Data_Table): Add support for VM targets.
4170 (Make_VM_TSD): Generate code to initialize the SSD structure of
4171 the TSD.
4172
4173 2011-08-02 Yannick Moy <moy@adacore.com>
4174
4175 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
4176 cross-references section in ALI.
4177 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
4178 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
4179 Sub).
4180 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
4181 subprogram or package entity of a node
4182 (Is_Local_Reference_Type): new function returns True for references
4183 selected in local cross-references.
4184 (Lt): function extracted from Lt in Output_References
4185 (Write_Entity_Name): function extracted from Output_References
4186 (Generate_Definition): generate reference with type 'D' for definition
4187 of objects (object declaration and parameter specification), with
4188 appropriate locations and units, for use in local cross-references.
4189 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
4190 references of type 'I' for initialization in object definition.
4191 (Output_References): move part of function Lt and procedure
4192 Write_Entity_Name outside of the body. Ignore references of types 'D'
4193 and 'I' introduced for local cross-references.
4194 (Output_Local_References): new procedure to output the local
4195 cross-references sections.
4196 (Lref_Entity_Status): new array defining whether an entity is a local
4197 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
4198 with 'I' type when initialization expression is present.
4199 * get_scos.adb, get_scos.ads: Correct comments and typos
4200
4201 2011-08-02 Javier Miranda <miranda@adacore.com>
4202
4203 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
4204 the JVM target.
4205 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
4206 the JVM target.
4207 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
4208 TSD support.
4209
4210 2011-08-02 Vincent Celier <celier@adacore.com>
4211
4212 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
4213 (No_Space_Img): New function
4214 (Find_Excluded_Sources): When reading from a file, record the file name
4215 and the line number for each excluded source.
4216 (Mark_Excluded_Sources): When reporting an error, if the excluded
4217 sources were read from a file, include file name and line number in
4218 the error message.
4219
4220 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4221
4222 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
4223
4224 2011-08-02 Robert Dewar <dewar@adacore.com>
4225
4226 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
4227
4228 2011-08-02 Javier Miranda <miranda@adacore.com>
4229
4230 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
4231 generation of TSDs to the DOTNET compiler.
4232 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
4233 generation of TSDs to the DOTNET compiler.
4234
4235 2011-08-02 Javier Miranda <miranda@adacore.com>
4236
4237 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
4238 record of all the tagged types declared inside library level package
4239 declarations, library level package bodies or library level subprograms.
4240 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
4241 associated with a given tagged type.
4242 (Build_VM_TSDs): New subprogram.
4243 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
4244 compilation units that are subprograms.
4245 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
4246 compilation units that are package bodies.
4247 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
4248 units that are a package declaration or a package instantiation.
4249 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
4250 reorganization to improve the error generated by the frontend when the
4251 function Ada.Tags.Secondary_Tag is not available.
4252 * rtsfind.ads (RE_Register_TSD): New runtime entity.
4253 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
4254
4255 2011-08-02 Javier Miranda <miranda@adacore.com>
4256
4257 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
4258
4259 2011-08-02 Robert Dewar <dewar@adacore.com>
4260
4261 * s-imenne.ads: Minor reformatting.
4262
4263 2011-08-02 Robert Dewar <dewar@adacore.com>
4264
4265 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
4266 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
4267 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
4268
4269 2011-08-02 Robert Dewar <dewar@adacore.com>
4270
4271 * einfo.ads (Materialize_Entity): Document this is only for renamings
4272 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
4273 required debug information in the case where we transform the object
4274 declaration into a renaming declaration.
4275 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
4276 object
4277 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
4278 Materialize_Entity.
4279
4280 2011-08-02 Robert Dewar <dewar@adacore.com>
4281
4282 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
4283 Suppress_Init_Procs.
4284 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
4285 Suppress_Initialization/Initialization_Suppressed.
4286 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
4287 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
4288 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
4289 * sem_prag.adb: New processing for pragma Suppress_Initialization.
4290
4291 2011-08-02 Robert Dewar <dewar@adacore.com>
4292
4293 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
4294 Minor reformatting.
4295
4296 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4297
4298 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
4299 only have inheritable classwide pre/postconditions.
4300
4301 2011-08-02 Javier Miranda <miranda@adacore.com>
4302
4303 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
4304 * rtsfind.ads (RE_Check_TSD): New runtime entity.
4305 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
4306 checks if the external tag of a type is the same as the external tag
4307 of some other declaration.
4308
4309 2011-08-02 Thomas Quinot <quinot@adacore.com>
4310
4311 * s-taskin.ads: Minor reformatting.
4312
4313 2011-08-02 Emmanuel Briot <briot@adacore.com>
4314
4315 * g-comlin.adb (Display_Help): swap the order in which it prints the
4316 short help and the general usage.
4317
4318 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4319
4320 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
4321 the aspect declarations and attach them to the generic copy for
4322 subsequent analysis.
4323 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
4324 declarations of the generic tree to the new subprogram declarations.
4325 * sem_attr.adb (Check_Precondition_Postcondition): recognize
4326 conditions that apply to a subprogram instance.
4327
4328 2011-08-02 Robert Dewar <dewar@adacore.com>
4329
4330 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
4331
4332 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4333
4334 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
4335 private type with a tagged full view is not derived in the immediate
4336 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
4337
4338 2011-08-02 Robert Dewar <dewar@adacore.com>
4339
4340 * exp_ch4.adb: Minor reformatting.
4341
4342 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4343
4344 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
4345 Ada2012 iterator, the loop will be rewritten during expansion into a
4346 while loop with a cursor and an element declaration. Do not analyze the
4347 body in this case, because if the container is for indefinite types the
4348 actual subtype of the elements will only be determined when the cursor
4349 declaration is analyzed.
4350
4351 2011-08-02 Arnaud Charlet <charlet@adacore.com>
4352
4353 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
4354 size/alignment related attributes in CodePeer_Mode.
4355
4356 2011-08-02 Gary Dismukes <dismukes@adacore.com>
4357
4358 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
4359 Prepend_Element, since this can result in the operation getting the
4360 wrong slot in the full type's dispatch table if the full type has
4361 inherited operations. The incomplete type's operation will get added
4362 to the proper position in the full type's primitives
4363 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
4364 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
4365 dispatching operations, since there are cases where nonprimitive
4366 subprograms can get added to the list of incomplete dependents (such
4367 as subprograms in nested packages).
4368 * sem_ch6.adb (Process_Formals): First, remove test for being in a
4369 private part when determining whether to add a primitive with a
4370 parameter of a tagged incomplete type to the Private_Dependents list.
4371 Such primitives can also occur in the visible part, and should not have
4372 been excluded from being private dependents.
4373 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
4374 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
4375 list of a Taft-amendment incomplete type is a primitive before issuing
4376 an error that the full type must appear in the same unit. There are
4377 cases where nonprimitives can be in the list (such as subprograms in
4378 nested packages).
4379 * sem_disp.adb (Derives_From): Use correct condition for checking that
4380 a formal's type is derived from the type of the corresponding formal in
4381 the parent subprogram (the condition was completely wrong). Add
4382 checking that was missing for controlling result types being derived
4383 from the result type of the parent operation.
4384
4385 2011-08-02 Yannick Moy <moy@adacore.com>
4386
4387 * errout.adb (First_Node): minor renaming
4388 * restrict.adb (Check_Formal_Restriction): put restriction warning on
4389 first node.
4390
4391 2011-08-02 Yannick Moy <moy@adacore.com>
4392
4393 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
4394 before accessing operands.
4395 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
4396 decide whether an initialization expression respects SPARK rules, as
4397 the plain node is the expanded one. This allows for more valid warnings
4398 to be issued.
4399 * gnat_rm.texi: Minor update.
4400
4401 2011-08-02 Arnaud Charlet <charlet@adacore.com>
4402
4403 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
4404 previous change.
4405
4406 2011-08-02 Robert Dewar <dewar@adacore.com>
4407
4408 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
4409
4410 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
4411
4412 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
4413 loop statements and the element renaming declaration with a block when
4414 the element type is controlled.
4415
4416 2011-08-02 Yannick Moy <moy@adacore.com>
4417
4418 * sinfo.ads: Minor formatting.
4419
4420 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4421
4422 * sem_aggr.adb (Add_Association): if the association has a box and no
4423 expression, use the Sloc of the aggregate itself for the new
4424 association.
4425 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
4426 the Original_Node.
4427
4428 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
4429
4430 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
4431 When a container is provided via a function call, generate a renaming
4432 of the function result. This avoids the creation of a transient scope
4433 and the premature finalization of the container.
4434 * exp_ch7.adb (Is_Container_Cursor): Removed.
4435 (Wrap_Transient_Declaration): Remove the supression of the finalization
4436 of the list controller when the declaration denotes a container cursor,
4437 it is not needed.
4438
4439 2011-08-02 Yannick Moy <moy@adacore.com>
4440
4441 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
4442 node is from source, instead of the original node being from source.
4443 * sem_aggr.adb
4444 (Resolve_Array_Aggregate): refine the check for a static expression, to
4445 recognize also static ranges
4446 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
4447 Array_Type_Declaration): postpone the test for the type being a subtype
4448 mark after the type has been resolved, so that component-selection and
4449 expanded-name are discriminated.
4450 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
4451 to distinguish the case of an iteration scheme, so that an error is
4452 issed on a non-static range in SPARK except in an iteration scheme.
4453 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
4454 In_Iter_Schm = True.
4455 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
4456 user-defined operators so that they are allowed in renaming
4457 * sem_ch8.adb
4458 (Find_Selected_Component): refine the check for prefixing of operators
4459 so that they are allowed in renaming. Move the checks for restrictions
4460 on selector name after analysis discriminated between
4461 component-selection and expanded-name.
4462 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
4463 concatenation argument of string type if it is static.
4464 * sem_util.adb, sem_util.ads
4465 (Check_Later_Vs_Basic_Declarations): add a new function
4466 Is_Later_Declarative_Item to decice which declarations are allowed as
4467 later items, in the two different modes Ada 83 and SPARK. In the SPARK
4468 mode, add that renamings are considered as later items.
4469 (Enclosing_Package): new function to return the enclosing package
4470 (Enter_Name): correct the rule for homonyms in SPARK
4471 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
4472 from source (result of expansion) to avoid issuing wrong warnings.
4473
4474 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4475
4476 * errout.adb: On anything but an expression First_Node returns its
4477 argument.
4478
4479 2011-08-02 Pascal Obry <obry@adacore.com>
4480
4481 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
4482
4483 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
4484
4485 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
4486 Set the associated loop as the related expression of internally
4487 generated cursors.
4488 * exp_ch7.adb (Is_Container_Cursor): New routine.
4489 (Wrap_Transient_Declaration): Supress the finalization of the list
4490 controller when the declaration denotes a container cursor.
4491
4492 2011-08-02 Yannick Moy <moy@adacore.com>
4493
4494 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
4495 command line now.
4496 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
4497 expression is a simple expression. This check cannot be performed in
4498 the semantics, so just drop it.
4499 (P_Index_Or_Discriminant_Constraint): move check that the index or
4500 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
4501 semantics. Other cases were previously checked in the semantics.
4502 * par-ch4.adb (P_Name): move checks that a selector name is not
4503 character literal or an operator symbol to Find_Selected_Component in
4504 the semantics
4505 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
4506 declarations are not placed after later declarations in a separate
4507 procedure in Sem_Util (possibly not the best choice?), to be used both
4508 during parsing, for Ada 83 mode, and during semantic analysis, for
4509 SPARK mode.
4510 * par-endh.adb (Check_End): move check that end label is not missing
4511 to Process_End_Label in the semantics
4512 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
4513 the special case for SPARK restriction
4514 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
4515 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
4516 parameter Force to issue the error message even on internal node (used
4517 for generated end label). Call Check_Restriction to check when an error
4518 must be issued. In SPARK mode, issue an error message even if the
4519 restriction is not set.
4520 (Check_Restriction): new procedure with an additional out parameter to
4521 inform the caller that a message has been issued
4522 * sem_aggr.adb: Minor modification of message
4523 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
4524 instead of issuing an error message directly
4525 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
4526 declarations are not placed after later declarations, by calling
4527 Check_Later_Vs_Basic_Declarations
4528 (Analyze_Subtype_Declaration): move here the check that an index or
4529 discriminant constraint must be a subtype mark. Change the check that
4530 a subtype of String must start at one so that it works on subtype marks.
4531 * sem_ch4.adb (Analyze_Call): move here the check that a named
4532 association cannot follow a positional one in a call
4533 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
4534 instead of issuing an error message directly
4535 * sem_ch8.adb (Find_Selected_Component): move here the check that a
4536 selector name is not a character literal or an operator symbol. Move
4537 here the check that the prefix of an expanded name cannot be a
4538 subprogram or a loop statement.
4539 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
4540 procedure called from parsing and semantics to check that basic
4541 declarations are not placed after later declarations
4542 (Process_End_Label): move here the check that end label is not missing
4543
4544 2011-08-02 Arnaud Charlet <charlet@adacore.com>
4545
4546 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
4547 representation clause in codepeer mode, since it confuses CodePeer and
4548 does not bring useful info.
4549
4550 2011-08-02 Ed Falis <falis@adacore.com>
4551
4552 * init.c: initialize fp hw on MILS.
4553
4554 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4555
4556 * errout.adb (First_Node): for bodies, return the node itself (small
4557 optimization). For other nodes, do not check source_unit if the node
4558 comes from Standard.
4559
4560 2011-08-02 Robert Dewar <dewar@adacore.com>
4561
4562 * exp_ch3.adb: Minor comment additions.
4563 * sem_ch13.adb: Minor reformatting.
4564
4565 2011-08-02 Pascal Obry <obry@adacore.com>
4566
4567 * make.adb, makeutl.adb: Removes some superfluous directory separator.
4568
4569 2011-08-02 Robert Dewar <dewar@adacore.com>
4570
4571 * sem_attr.adb: Minor reformatting.
4572
4573 2011-08-02 Robert Dewar <dewar@adacore.com>
4574
4575 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
4576 (Has_Default_Component_Value): Removed
4577 * einfo.ads Comment updates
4578 (Has_Default_Aspect): Replaces Has_Default_Value
4579 (Has_Default_Component_Value): Removed
4580 * exp_ch13.adb
4581 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
4582 * exp_ch3.adb
4583 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
4584 (Get_Simple_Init_Val): Handle Default_Value aspect
4585 (Needs_Simple_Initialization): Handle Default_Value aspect
4586 * exp_ch3.ads: Needs_Simple_Initialization
4587 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
4588 * par-prag.adb (Pragma_Default[_Component]Value) Removed
4589 * sem_ch13.adb
4590 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
4591 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
4592 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
4593
4594 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4595
4596 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
4597 package containing iteration primitives.
4598 exp_ch5.adb (Expand_Iterator_Loop): ditto.
4599
4600 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4601
4602 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
4603 "of", pre-analyze expression in case it is a function call with
4604 finalization actions that must be placed ahead of the loop.
4605 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
4606 on an Ada2012 iterator, insert them ahead of the rewritten loop.
4607
4608 2011-08-02 Geert Bosch <bosch@adacore.com>
4609
4610 * cstand.adb (Create_Float_Types): Only consider C's long double for
4611 Long_Long_Float, in addition to double.
4612
4613 2011-08-02 Robert Dewar <dewar@adacore.com>
4614
4615 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
4616 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
4617 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
4618 Minor reformatting.
4619
4620 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4621
4622 * sem_attr.adb: handle properly 'Result when it is a prefix of an
4623 indexed component.
4624
4625 2011-08-02 Javier Miranda <miranda@adacore.com>
4626
4627 * einfo.ads, einfo.adb
4628 (Original_Access_Type): Move this attribute to Node26 since there was
4629 an undocumented use of Node21 in E_Access_Subprogram_Type entities
4630 which causes conflicts and breaks the generation of the .NET compiler.
4631 (Interface_Name): Add missing documentation on JGNAT only uses of
4632 this attribute.
4633
4634 2011-08-02 Geert Bosch <bosch@adacore.com>
4635
4636 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
4637 (Find_Back_End_Float_Type): Likewise
4638 (Create_Back_End_Float_Types): Likewise
4639 (Create_Float_Types): Likewise
4640 (Register_Float_Type): Likewise
4641 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
4642 Nlist and split out type selection in new local Find_Base_Type function.
4643 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
4644 Nlist
4645 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
4646
4647 2011-08-02 Robert Dewar <dewar@adacore.com>
4648
4649 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
4650 alpha order).
4651 * opt.ads: Minor comment change.
4652 * sem_ch12.adb: Minor code reorganization.
4653
4654 2011-08-02 Gary Dismukes <dismukes@adacore.com>
4655
4656 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
4657 subtype's list of rep items to the list on the full subtype in the case
4658 where the lists are the same.
4659
4660 2011-08-02 Geert Bosch <bosch@adacore.com>
4661
4662 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
4663 using the one from System.Strings, which also deallocates all strings.
4664
4665 2011-08-02 Geert Bosch <bosch@adacore.com>
4666
4667 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
4668 function.
4669 * gcc-interface/Make-lang.in: Update dependencies.
4670
4671 2011-08-02 Olivier Hainque <hainque@adacore.com>
4672
4673 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
4674 end_locus.
4675
4676 2011-08-02 Javier Miranda <miranda@adacore.com>
4677
4678 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
4679 associated with anonymous access to subprograms.
4680
4681 2011-08-02 Geert Bosch <bosch@adacore.com>
4682
4683 * opt.ads
4684 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
4685 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
4686 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
4687 (Add_Symbol_Definition): Move to switch-c.adb
4688 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
4689 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
4690 (Add_Symbol_Definition): Move to switch-c.adb.
4691 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
4692 * sem_warn.adb
4693 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
4694 Move to warnsw.adb.
4695 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
4696 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
4697 Move to warnsw.adb.
4698 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
4699 (Add_Symbol_Definition): Moved from Prepcomp.
4700 * switch-c.ads: Update copyright notice. Use String_List instead of
4701 Argument_List, removing dependency on System.OS_Lib.
4702
4703 2011-08-02 Yannick Moy <moy@adacore.com>
4704
4705 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
4706 mode on initialization expression which does not respect SPARK
4707 restrictions.
4708 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
4709 if the tree referenced by its argument represents an initialization
4710 expression in SPARK, suitable for initializing an object in an object
4711 declaration.
4712
4713 2011-08-02 Javier Miranda <miranda@adacore.com>
4714
4715 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
4716 internally generated access to subprogram with its associated protected
4717 subprogram type.
4718 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
4719
4720 2011-08-02 Geert Bosch <bosch@adacore.com>
4721
4722 * cstand.adb (Register_Float_Type): Print information about type to
4723 register, if the Debug_Flag_Dot_B is set.
4724 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
4725 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
4726 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
4727 with a requested precision of more than Max_Digits digits and no more
4728 than Max_Base_Digits digits, if a range specification is present and the
4729 Predefined_Float_Types list has a suitable type to derive from.
4730 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
4731 case of type completion with pragma Import
4732 * sem_prag.adb
4733 (Process_Import_Predefined_Type): Processing to complete a type
4734 with pragma Import. Currently supports floating point types only.
4735 (Set_Convention_From_Pragma): Do nothing without underlying type.
4736 (Process_Convention): Guard against absence of underlying type,
4737 which may happen when importing incomplete types.
4738 (Process_Import_Or_Interface): Handle case of importing predefined
4739 types. Tweak error message.
4740
4741 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
4742
4743 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
4744 functions to previous change. Reorganize code slightly.
4745
4746 2011-08-02 Geert Bosch <bosch@adacore.com>
4747
4748 * back_end.ads (Register_Type_Proc): New call back procedure type for
4749 allowing the back end to provide information about available types.
4750 (Register_Back_End_Types): New procedure to register back end types.
4751 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
4752 available types.
4753 * cstand.adb (Back_End_Float_Types): New list for floating point types
4754 supported by the back end.
4755 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
4756 (Copy_Float_Type): New procedure to make new copies of predefined types.
4757 (Register_Float_Type): New call back procedure to populate the BEFT list
4758 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
4759 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
4760 (Create_Float_Types): New procedure to create entities for floating
4761 point types predefined in Standard, and put these and any remaining
4762 BEFTs on the Predefined_Float_Types list.
4763 * stand.ads (Predefined_Float_Types): New list for predefined floating
4764 point types that do not have declarations in package Standard.
4765
4766 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
4767
4768 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
4769 entity node for the unit containing the parameter.
4770 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
4771 (Add_Inlined_Subprogram): Likewise.
4772 * gcc-interface/Make-lang.in: Update dependencies.
4773
4774 2011-08-02 Thomas Quinot <quinot@adacore.com>
4775
4776 * s-stusta.adb (Print): Make sure Pos is always initialized to a
4777 suitable value.
4778
4779 2011-08-02 Geert Bosch <bosch@adacore.com>
4780
4781 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
4782
4783 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
4784
4785 * sem_type.adb (Covers): Move trivial case to the top and reuse the
4786 computed value of Base_Type.
4787
4788 2011-08-02 Yannick Moy <moy@adacore.com>
4789
4790 * restrict.adb (Check_Restriction): issue an error for any use of
4791 class-wide, even if the No_Dispatch restriction is not set.
4792 * sem_aggr.adb: Correct typos in comments and messages in formal mode
4793 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
4794 when completing a private extension, the type named in the private part
4795 is not the same as that named in the visible part.
4796 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
4797 of an inherited primitive operations of a tagged type or type extension
4798 that returns the tagged type.
4799 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
4800 function which returns True for an implicit operation inherited by the
4801 derived type declaration for the argument type.
4802 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
4803 order.
4804
4805 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4806
4807 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
4808 Process_Bounds, to perform analysis with expansion of a range or an
4809 expression that is the iteration scheme for a loop.
4810 (Analyze_Iterator_Specification): If domain of iteration is given by a
4811 function call with a controlled result, as is the case if call returns
4812 a predefined container, ensure that finalization actions are properly
4813 generated.
4814 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
4815
4816 2011-08-02 Javier Miranda <miranda@adacore.com>
4817
4818 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
4819 * gcc-interface/Make-lang.in: Update dependencies.
4820
4821 2011-08-02 Javier Miranda <miranda@adacore.com>
4822
4823 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
4824 determine if the analysis is performed using N or Original_Node (N).
4825 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
4826 functionality of routine Is_Variable avoids code duplication.
4827 * checks.adb (Determine_Range): Handle temporaries generated by
4828 Remove_Side_Effects.
4829
4830 2011-08-02 Javier Miranda <miranda@adacore.com>
4831
4832 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
4833 expansion of the condition. Required since the previous analysis was
4834 done with expansion disabled (see Resolve_Quantified_Expression) and
4835 hence checks were not inserted and record comparisons have not been
4836 expanded.
4837
4838 2011-08-02 Ed Falis <falis@adacore.com>
4839
4840 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
4841 Update header.
4842
4843 2011-08-02 Bob Duff <duff@adacore.com>
4844
4845 * opt.ads: Minor comment fix.
4846
4847 2011-08-02 Bob Duff <duff@adacore.com>
4848
4849 * sem_ch12.adb (Analyze_Package_Instantiation,
4850 Analyze_Subprogram_Instantiation): Turn off style checking while
4851 analyzing an instance. Whatever style checks that apply to the generic
4852 unit should apply, so it makes no sense to apply them in an instance.
4853 This was causing trouble when compiling an instance of a runtime
4854 unit that violates the -gnatyO switch.
4855 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
4856 one of the two case statements, causing spurious errors.
4857
4858 2011-08-02 Robert Dewar <dewar@adacore.com>
4859
4860 * uname.adb: Minor reformatting.
4861 * gnatcmd.adb: Minor reformatting.
4862 * exp_attr.adb: Minor reformatting.
4863
4864 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4865
4866 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
4867 No_Dispatching_Calls, do not look for the Assign primitive, because
4868 predefined primitives are not created in this case.
4869
4870 2011-08-02 Bob Duff <duff@adacore.com>
4871
4872 * stylesw.ads: Minor comment fixes.
4873
4874 2011-08-02 Robert Dewar <dewar@adacore.com>
4875
4876 * freeze.adb (Add_To_Result): New procedure.
4877
4878 2011-08-02 Jose Ruiz <ruiz@adacore.com>
4879
4880 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
4881 time, if the specific run-time routines for handling streams of strings
4882 are not available, use the default mechanism.
4883
4884 2011-08-02 Arnaud Charlet <charlet@adacore.com>
4885
4886 * s-regpat.ads: Fix typo.
4887
4888 2011-08-02 Vincent Celier <celier@adacore.com>
4889
4890 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
4891 not null, call it to create the in memory config project file without
4892 parsing an existing default config project file.
4893
4894 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
4895
4896 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
4897
4898 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4899
4900 * sem_elim.adb: an abstract subprogram does not need an eliminate
4901 pragma for its descendant to be eliminable.
4902
4903 2011-08-02 Ed Falis <falis@adacore.com>
4904
4905 * init.c: revert to handling before previous checkin for VxWorks
4906 * s-intman-vxworks.adb: delete unnecessary declarations related to
4907 using Ada interrupt facilities for handling signals.
4908 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
4909 * s-intman-vxworks.ads: Import __gnat_install_handler as
4910 Initialize_Interrupts.
4911 * s-taprop-vxworks.adb: Delete Signal_Mask.
4912 (Abort_Handler): change construction of mask to unblock exception
4913 signals.
4914
4915 2011-08-02 Jerome Guitton <guitton@adacore.com>
4916
4917 * a-except-2005.adb (Raise_From_Signal_Handler): Call
4918 Debug_Raise_Exception before propagation starts.
4919
4920 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
4921
4922 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
4923 to Restriction_Check_Required.
4924 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
4925 * sem_res.adb (Resolve_Call): Likewise.
4926 * sem_attr.adb (Check_Stream_Attribute): Likewise.
4927
4928 2011-08-02 Bob Duff <duff@adacore.com>
4929
4930 * stylesw.ads: Update comment.
4931 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
4932 * errout.ads: Remove obsolete comment.
4933
4934 2011-08-02 Javier Miranda <miranda@adacore.com>
4935
4936 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
4937 (Set_Is_Safe_To_Reevaluate): new procedure.
4938 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
4939 assignment is allowed on safe-to-reevaluate variables.
4940 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
4941 temporary created to remove side effects in expressions that use
4942 the secondary stack as safe-to-reevaluate.
4943 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
4944 variables that are not true constants.
4945
4946 2011-08-02 Robert Dewar <dewar@adacore.com>
4947
4948 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
4949 sem_res.adb, sem_ch6.adb: Minor reformatting.
4950
4951 2011-08-02 Jerome Guitton <guitton@adacore.com>
4952
4953 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
4954
4955 2011-08-02 Ed Schonberg <schonberg@adacore.com>
4956
4957 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
4958 not set Overridden_Operation if subprogram is an initialization
4959 procedure.
4960
4961 2011-08-02 Yannick Moy <moy@adacore.com>
4962
4963 * par-ch6.adb: Correct obsolete name in comments
4964 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
4965 which takes two message arguments (existing function takes one), with
4966 second message used for continuation.
4967 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
4968 block statements that originate from a source block statement, not
4969 generated block statements
4970 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
4971 symmetry with procedure case
4972 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
4973 function to issue an error in formal mode if a package specification
4974 contains more than one tagged type or type extension.
4975 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
4976 parameters matching formals of tagged types are objects (or ancestor
4977 type conversions of objects), not general expressions. Issue an error
4978 on view conversions that are not involving ancestor conversion of an
4979 extended type.
4980 (Resolve_Type_Conversion): in formal mode, issue an error on the
4981 operand of an ancestor type conversion which is not an object
4982 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
4983 procedure so that it works also for actuals of function calls
4984 (Is_Actual_Tagged_Parameter): new function which determines if its
4985 argument is an actual parameter of a formal of tagged type in a
4986 subprogram call
4987 (Is_SPARK_Object_Reference): new function which determines if the tree
4988 referenced by its argument represents an object in SPARK
4989
4990 2011-08-02 Robert Dewar <dewar@adacore.com>
4991
4992 * sem_ch3.adb: Minor reformatting
4993 Minor comment addition
4994 Minor error msg text change
4995
4996 2011-08-02 Javier Miranda <miranda@adacore.com>
4997
4998 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
4999 function. Used to be more precise when we generate a variable plus one
5000 assignment to remove side effects in the evaluation of the Bound
5001 expressions.
5002 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
5003 of the bound expression to force its re-analysis and thus expand the
5004 associated transient scope (if required). Code cleanup replacing the
5005 previous code that declared the constant entity by an invocation to
5006 routine Force_Evaluation which centralizes this work in the frontend.
5007
5008 2011-08-02 Robert Dewar <dewar@adacore.com>
5009
5010 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
5011 (Base_Type): Now uses improved Is_Base_Type function
5012 * einfo.ads (Base_Type): Inline this function
5013
5014 2011-08-02 Robert Dewar <dewar@adacore.com>
5015
5016 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
5017 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
5018
5019 2011-08-02 Arnaud Charlet <charlet@adacore.com>
5020
5021 * gcc-interface/Make-lang.in: Update dependencies.
5022 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
5023 targets.
5024
5025 2011-08-02 Yannick Moy <moy@adacore.com>
5026
5027 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
5028 non-simple expression used in delta constraint
5029 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
5030 index constraint which is not a subtype mark
5031 * par.adb: With and use Restrict
5032 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
5033 mode on component type which is not a subtype mark and default
5034 expression on component
5035 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
5036 of string which does not have a lower index bound equal to 1
5037 (Array_Type_Declaration): issue an error in formal mode on index or
5038 component type which is not a subtype mark, and on aliased keyword on
5039 component
5040 (Derived_Type_Declaration): issue an error in formal mode on interface,
5041 limited or abstract type
5042 (Record_Type_Declaration): issue an error in formal mode on interface
5043 (Record_Type_Definition): issue an error in formal mode on tagged types
5044 and type extensions not declared in the specification of a library unit
5045 package; on null non-tagged record; on variant part
5046
5047 2011-08-02 Vincent Celier <celier@adacore.com>
5048
5049 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
5050 not declared for qualified library project when Library_Name is not
5051 declared, but Library_Dir is.
5052
5053 2011-08-02 Robert Dewar <dewar@adacore.com>
5054
5055 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
5056 pragmas (affects aspects [Component_]Default_Value
5057 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
5058 component type for the resolution
5059
5060 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
5061
5062 * einfo.adb (Base_Type): Tune implementation for speed.
5063
5064 2011-08-02 Robert Dewar <dewar@adacore.com>
5065
5066 * freeze.adb: Minor reformatting.
5067
5068 2011-08-02 Thomas Quinot <quinot@adacore.com>
5069
5070 * scos.ads: Update comments.
5071
5072 2011-08-02 Ed Schonberg <schonberg@adacore.com>
5073
5074 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
5075 base type, because the parent may be a subtype of a private type whose
5076 convention is established in a private part.
5077
5078 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
5079
5080 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
5081 statement in a block when the expansion of the return expression has
5082 created a finalization chain.
5083 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
5084 with the parent node.
5085 Add N_Extended_Return_Statement to handle the case where a transient
5086 object declaration appears in the Return_Object_Declarations list of
5087 an extended return statement.
5088
5089 2011-08-02 Matthew Gingell <gingell@adacore.com>
5090
5091 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
5092 unused parameter 'name'.
5093
5094 2011-08-02 Ed Schonberg <schonberg@adacore.com>
5095
5096 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
5097 inherited operation, check whether its alias, which is the source
5098 operastion that it renames, has been marked eliminated.
5099
5100 2011-08-02 Javier Miranda <miranda@adacore.com>
5101
5102 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
5103 in-mode parameter whose type is an access type since it can be used to
5104 modify its designated object. Enforce code that handles as safe an
5105 access type that is not access-to-constant but it is the result of a
5106 previous removal of side-effects.
5107 (Remove_Side_Effects): Minor code reorganization of cases which require
5108 no action. Done to incorporate documentation on new cases uncovered
5109 working in this ticket: no action needed if this routine was invoked
5110 too early and the nodes are not yet decorated.
5111 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
5112 to routine Remove_Side_Effects by calls to Force_Evaluation since they
5113 were issued with actuals that are implicitly provided by
5114 Force_Evaluation.
5115
5116 2011-08-02 Robert Dewar <dewar@adacore.com>
5117
5118 * sem_ch3.adb, sem_res.adb: Minor reformatting.
5119
5120 2011-08-02 Yannick Moy <moy@adacore.com>
5121
5122 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
5123 to issue an error in formal mode on attribute not supported in this mode
5124 (Analyze_Attribute): issue errors on standard attributes not supported
5125 in formal mode.
5126 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
5127 comment, and issue error in formal mode on modulus which is not a power
5128 of 2.
5129 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
5130 range.
5131 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
5132 subtype mark.
5133 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
5134 operator on modular type (except 'not').
5135
5136 2011-08-02 Robert Dewar <dewar@adacore.com>
5137
5138 * gnat_rm.texi: Minor reformatting.
5139
5140 2011-08-02 Arnaud Charlet <charlet@adacore.com>
5141
5142 * s-osinte-linux.ads: Minor comment update and reformatting.
5143 * i-cexten.ads: Make this unit pure, as for its parent.
5144 Will allow its usage in more contexts if needed.
5145
5146 2011-08-02 Robert Dewar <dewar@adacore.com>
5147
5148 * s-utf_32.ads: Minor comment fix.
5149
5150 2011-08-02 Ed Schonberg <schonberg@adacore.com>
5151
5152 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
5153 operation of a tagged synchronized type, handle the case where the
5154 controlling argument is overloaded.
5155
5156 2011-08-02 Yannick Moy <moy@adacore.com>
5157
5158 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
5159 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
5160 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
5161 SPARK mode and formal verification mode on processing SPARK restriction
5162 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
5163 requiring consistency checking.
5164
5165 2011-08-02 Robert Dewar <dewar@adacore.com>
5166
5167 * sem_res.adb: Minor reformatting.
5168
5169 2011-08-02 Robert Dewar <dewar@adacore.com>
5170
5171 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
5172 a-cforse.ads: Remove unneeded with of Ada.Containers
5173 Remove commented out pragma Inline's
5174 Move specifications of new subprograms to the actual specs
5175
5176 2011-08-02 Yannick Moy <moy@adacore.com>
5177
5178 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
5179 a-cforse.ads: Update comments.
5180
5181 2011-08-02 Ed Schonberg <schonberg@adacore.com>
5182
5183 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
5184
5185 2011-08-02 Robert Dewar <dewar@adacore.com>
5186
5187 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
5188 a-cforse.ads, a-cofove.ads: Minor reformatting.
5189
5190 2011-08-02 Claire Dross <dross@adacore.com>
5191
5192 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
5193 a-cofove.ads: Add comments.
5194
5195 2011-08-02 Yannick Moy <moy@adacore.com>
5196
5197 * gnat_rm.texi: Document formal containers.
5198
5199 2011-08-02 Emmanuel Briot <briot@adacore.com>
5200
5201 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
5202 are empty sections.
5203
5204 2011-08-02 Robert Dewar <dewar@adacore.com>
5205
5206 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
5207 reformatting.
5208
5209 2011-08-02 Robert Dewar <dewar@adacore.com>
5210
5211 * aspects.adb: New aspects Default_Value and Default_Component_Value
5212 New format of Aspect_Names table checks for omitted entries
5213 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
5214 handling of boolean aspects for derived types.
5215 New aspects Default_Value and Default_Component_Value
5216 New format of Aspect_Names table checks for omitted entries
5217 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
5218 (Has_Default_Value): New flag
5219 (Has_Default_Component_Value): New flag
5220 (Has_Default_Value): New flag
5221 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
5222 table.
5223 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
5224 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
5225 Default_Value and Default_Component_Value
5226 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
5227 New aspects Default_Value and Default_Component_Value
5228 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
5229 * sprint.adb: Print N_Aspect_Specification node when called from gdb
5230
5231 2011-08-02 Vincent Celier <celier@adacore.com>
5232
5233 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
5234 inherit library kind.
5235
5236 2011-08-02 Ed Schonberg <schonberg@adacore.com>
5237
5238 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
5239 Minor reformatting.
5240
5241 2011-08-02 Robert Dewar <dewar@adacore.com>
5242
5243 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
5244
5245 2011-08-02 Yannick Moy <moy@adacore.com>
5246
5247 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
5248
5249 2011-08-02 Robert Dewar <dewar@adacore.com>
5250
5251 * impunit.adb: Add comment.
5252
5253 2011-08-02 Yannick Moy <moy@adacore.com>
5254
5255 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
5256 qualification of aggregates in formal mode
5257 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
5258 another aggregate
5259 (Resolve_Aggregate): complete the test that an aggregate is adequately
5260 qualified in formal mode
5261
5262 2011-08-02 Pascal Obry <obry@adacore.com>
5263
5264 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
5265 * mlib-prj.adb: Supress warning when compiling binder generated file.
5266 (Build_Library): Supress all warnings when compiling the binder
5267 generated file.
5268
5269 2011-08-02 Yannick Moy <moy@adacore.com>
5270
5271 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
5272 from here...
5273 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
5274 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
5275 Add with/use clauses to make Check_Formal_Restriction visible
5276
5277 2011-08-02 Ed Schonberg <schonberg@adacore.com>
5278
5279 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
5280 in-parameters when type of the generic formal is private in the generic
5281 spec and non-private in the body.
5282
5283 2011-08-02 Claire Dross <dross@adacore.com>
5284
5285 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
5286 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
5287 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
5288 * impunit.adb, Makefile.rtl: Take new files into account.
5289
5290 2011-08-02 Robert Dewar <dewar@adacore.com>
5291
5292 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
5293 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
5294
5295 2011-08-02 Yannick Moy <moy@adacore.com>
5296
5297 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
5298 formal mode
5299 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
5300 matching static array bounds, taking into account the special case of
5301 string literals
5302 * sem_ch3.adb: Typo in comment.
5303
5304 2011-08-02 Yannick Moy <moy@adacore.com>
5305
5306 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
5307 which issues an error in formal mode if its argument node is originally
5308 from source
5309 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
5310 has a discriminant specification so that it does not include the case
5311 of derived types
5312 (Derived_Type_Declaration): move here the test that a derived type has a
5313 discriminant specification
5314 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
5315 first element of a component association before accessing its choices
5316 (presence of component association is not enough)
5317 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
5318 declaration is a library item before accessing the next element in a
5319 list, as library items are not member of lists
5320 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
5321 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
5322 Check_Formal_Restriction whenever possible.
5323
5324 2011-08-02 Ed Schonberg <schonberg@adacore.com>
5325
5326 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
5327 reference when needed.
5328
5329 2011-08-02 Bob Duff <duff@adacore.com>
5330
5331 * gnat_ugn.texi: Fix typo.
5332
5333 2011-08-02 Vincent Celier <celier@adacore.com>
5334
5335 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
5336 archive file name. Do not use the full path name of archives for Open
5337 VMS.
5338
5339 2011-08-02 Robert Dewar <dewar@adacore.com>
5340
5341 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
5342 Analyze_Aspect_Specifications
5343 * sem_ch13.adb
5344 (Analyze_Aspect_Specifications): New handling for boolean aspects
5345 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
5346 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
5347 sequence for Analyze_Aspect_Specifications
5348 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
5349 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
5350
5351 2011-08-02 Robert Dewar <dewar@adacore.com>
5352
5353 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
5354 aspects, since these no longer exist.
5355
5356 2011-08-02 Robert Dewar <dewar@adacore.com>
5357
5358 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
5359 semicolon, do not try to see if there are aspects following it.
5360 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
5361 aspect spec.
5362
5363 2011-08-02 Robert Dewar <dewar@adacore.com>
5364
5365 * sem_ch8.adb, aspects.ads: Minor reformatting.
5366
5367 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
5368
5369 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
5370 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
5371 extracted from...
5372 (Analyze_Aspect_Specifications): ...here. Call above procedure.
5373
5374 2011-08-02 Yannick Moy <moy@adacore.com>
5375
5376 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
5377 mode on subprogram declaration outside of package specification, unless
5378 it is followed by a pragma Import
5379 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
5380 Access_Type_Declaration): issue error in formal mode on access type
5381 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
5382 incomplete type
5383 (Analyze_Object_Declaration): issue error in formal mode on object
5384 declaration which does not respect SPARK restrictions
5385 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
5386 declaration which does not respect SPARK restrictions
5387 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
5388 error in formal mode on digits or delta constraint
5389 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
5390 decimal fixed point type
5391 (Derived_Type_Declaration): issue error in formal mode on derived type
5392 other than type extensions of tagged record types
5393 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
5394 with check on access definition
5395 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
5396 mode on protected definition.
5397 (Analyze_Task_Definition): issue error in formal mode on task definition
5398
5399 2011-08-02 Robert Dewar <dewar@adacore.com>
5400
5401 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
5402
5403 2011-08-02 Javier Miranda <miranda@adacore.com>
5404
5405 * sem_ch6.adb (Can_Override_Operator): New function.
5406 (Verify_Overriding_Indicator): Add missing code to check overriding
5407 indicator in operators. Fixes regression.
5408 (Check_Overriding_Indicator): Minor reformating after replacing the
5409 code that evaluates if the subprogram can override an operator by
5410 invocations to the above new function.
5411 * einfo.adb
5412 (Write_Field26_Name): Add missing code to ensure that, following
5413 the documentation in einfo.ads, this field is not shown as attribute
5414 "Static_Initialization" on non-dispatching functions.
5415
5416 2011-08-02 Jose Ruiz <ruiz@adacore.com>
5417
5418 * sem_res.adb (Resolve_Call): A call to
5419 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
5420 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
5421 i.e., when the second parameter is of type Time_Span.
5422
5423 2011-08-02 Vincent Celier <celier@adacore.com>
5424
5425 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
5426 with an archive instead of -L<library dir> -l<library name>.
5427
5428 2011-08-02 Ed Schonberg <schonberg@adacore.com>
5429
5430 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
5431 mark the base types In_Use in addition to making the operations
5432 use_visible.
5433
5434 2011-08-02 Ed Falis <falis@adacore.com>
5435
5436 * init.c: add and setup __gnat_signal_mask for the exception signals
5437 * s-inmaop-vxworks.adb: new file.
5438 * s-intman-vxworks.adb: remove unnecessary initializations and
5439 simplify remaining
5440 * s-intman-vxworks.ads: remove unnecessary variable
5441 * s-taprop-vxworks.adb: simplify signal initialization
5442
5443 2011-08-02 Robert Dewar <dewar@adacore.com>
5444
5445 * sem_ch8.adb: Minor code reorganization, comment updates.
5446
5447 2011-08-02 Robert Dewar <dewar@adacore.com>
5448
5449 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
5450 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
5451 here from Sem_Res.
5452 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
5453 (Matching_Static_Array_Bounds): Moved here from Sem_Res
5454
5455 2011-08-02 Ed Schonberg <schonberg@adacore.com>
5456
5457 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
5458 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
5459 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
5460 use_type_clauses, to handle more efficiently use_type and use_all_type
5461 constructs.
5462 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
5463 Ada2012 Use_All_Type clause.
5464 (Use_Class_Wide_Operations): new procedure.
5465
5466 2011-08-02 Robert Dewar <dewar@adacore.com>
5467
5468 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
5469 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
5470 expression to expression function.
5471
5472 2011-08-02 Ed Schonberg <schonberg@adacore.com>
5473
5474 * sem_ch4.adb: transform simple Ada2012 membership into equality only
5475 if types are compatible.
5476
5477 2011-08-02 Yannick Moy <moy@adacore.com>
5478
5479 * sem_res.adb (Matching_Static_Array_Bounds): new function which
5480 returns True if its argument array types have same dimension and same
5481 static bounds at each index.
5482 (Resolve_Actuals): issue an error in formal mode on actuals passed as
5483 OUT or IN OUT paramaters which are not view conversions in SPARK.
5484 (Resolve_Arithmetic_Op): issue an error in formal mode on
5485 multiplication or division with operands of fixed point types which are
5486 not qualified or explicitly converted.
5487 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
5488 Boolean or array type (except String) operands.
5489 (Resolve_Equality_Op): issue an error in formal mode on equality
5490 operators for array types other than String with non-matching static
5491 bounds.
5492 (Resolve_Logical_Op): issue an error in formal mode on logical operators
5493 for array types with non-matching static bounds. Factorize the code in
5494 Matching_Static_Array_Bounds.
5495 (Resolve_Qualified_Expression): issue an error in formal mode on
5496 qualified expressions for array types with non-matching static bounds.
5497 (Resolve_Type_Conversion): issue an error in formal mode on type
5498 conversion for array types with non-matching static bounds
5499
5500 2011-08-02 Robert Dewar <dewar@adacore.com>
5501
5502 * par-ch10.adb: Minor code reorganization (use Nkind_In).
5503
5504 2011-08-02 Ed Schonberg <schonberg@adacore.com>
5505
5506 * par-ch9.adb: save location of entry for proper error message.
5507
5508 2011-08-02 Javier Miranda <miranda@adacore.com>
5509
5510 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
5511 (Use_Full_View) which permits this routine to climb through the
5512 ancestors using the full-view of private parents.
5513 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
5514 Use_Full_View to true in calls to Is_Ancestor.
5515 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
5516 true in call to Is_Ancestor.
5517 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
5518 Use_Full_View to true in call to Is_Ancestor.
5519 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
5520 call to Is_Ancestor.
5521 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
5522 Use_Full_View to true in calls to Is_Ancestor.
5523 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
5524 Make_Select_Specific_Data_Table, Register_Primitive,
5525 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
5526 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
5527 to true in call to Is_Ancestor.
5528 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
5529 Use_Full_View to true in calls to Is_Ancestor.
5530 * exp_cg.adb
5531 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
5532 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
5533
5534 2011-08-02 Robert Dewar <dewar@adacore.com>
5535
5536 * gnat_rm.texi: Minor reformatting.
5537 * sem_prag.adb: Minor reformatting.
5538
5539 2011-08-02 Tristan Gingold <gingold@adacore.com>
5540
5541 * vms_data.ads: Add VMS qualifier for -gnateP.
5542
5543 2011-08-02 Robert Dewar <dewar@adacore.com>
5544
5545 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
5546 * par-ch7.adb (P_Package): Proper placement of aspects for package
5547 decl/instantiation.
5548 * par-endh.adb (Check_End): Ad Is_Sloc parameter
5549 (End_Statements): Add Is_Sloc parameterr
5550 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
5551 (Check_End): Ad Is_Sloc parameter
5552 (End_Statements): Add Is_Sloc parameterr
5553
5554 2011-08-02 Vincent Celier <celier@adacore.com>
5555
5556 * ug_words: Add VMS qualifier equivalent to -gnateP:
5557 /SYMBOL_PREPROCESSING.
5558
5559 2011-08-02 Jose Ruiz <ruiz@adacore.com>
5560
5561 * gnat-style.texi: For hexadecimal numeric literals the typical
5562 grouping of digits is 4 to represent 2 bytes.
5563 A procedure spec which is split into several lines is indented two
5564 characters.
5565
5566 2011-08-02 Yannick Moy <moy@adacore.com>
5567
5568 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
5569 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
5570 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
5571 properly qualified
5572 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
5573 choice in array aggregate
5574 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
5575 mark as ancestor
5576 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
5577 positional and named aggregate for record, or others in record
5578 aggregate, or multiple choice in record aggregate
5579 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
5580 array operands to logical operations AND, OR and XOR do not have the
5581 same static lower and higher bounds
5582 * sem_ch5.adb, sinfo.ads: Correct typos in comments
5583
5584 2011-08-01 Robert Dewar <dewar@adacore.com>
5585
5586 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
5587 Replaces Last_Source_Node_In_Sequence.
5588 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
5589 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
5590 parens and blank in string (this was inconsistently implemented).
5591 * errout.ads
5592 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
5593 blank in string (this was inconsistently implemented).
5594 * gnat1drv.adb
5595 (Set_Global_Switches): Set formal mode switches appropriately
5596 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
5597 * par-prag.adb
5598 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
5599 call Set_Error_Msg_Lang to set "spark" as language name.
5600 * par.adb: Remove unnecessary call to set formal language for errout
5601 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
5602 appropriately and call Set_Error_Msg_Lang to set "spark" as language
5603 name.
5604 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
5605 calls to it, moved after resolution so that types are known
5606 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
5607 result of concatenation is not of type String
5608 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
5609 concatenation is not properly restricted
5610 * gnat_rm.texi: Add doc on pragma Spark_95.
5611 * gcc-interface/Makefile.in: Remove obsolete target pairs for
5612 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
5613 * gcc-interface/Make-lang.in: Update dependencies.
5614
5615 2011-08-01 Javier Miranda <miranda@adacore.com>
5616
5617 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
5618 condition that detects if the overridden operation must replace an
5619 existing entity.
5620
5621 2011-08-01 Javier Miranda <miranda@adacore.com>
5622
5623 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
5624 code declarations inserted by Insert_Actions in each alternative of the
5625 N_Case_Expression node.
5626
5627 2011-08-01 Robert Dewar <dewar@adacore.com>
5628
5629 * sem_ch6.adb: Minor code reorganization.
5630 * sem_util.adb: Minor reformatting.
5631
5632 2011-08-01 Pascal Obry <obry@adacore.com>
5633
5634 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
5635 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
5636
5637 2011-08-01 Yannick Moy <moy@adacore.com>
5638
5639 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
5640 literal or operator symbol which is prefixed
5641 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
5642 mode on access attributes.
5643 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
5644 that concatenation operands are properly restricted in formal mode
5645 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
5646 Analyze_Concatenation_Operand. Issue an error in formal mode if the
5647 result of the concatenation has a type different from String.
5648 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
5649 Analyze_Quantified_Expression, Analyze_Slice,
5650 Analyze_Null): issue an error in formal mode on unsupported constructs
5651 * sem_ch5.adb
5652 (Analyze_Block_Statement): only issue error on source block statement
5653 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
5654 function which returns the last node in a list of nodes for which
5655 Comes_From_Source returns True, if any
5656 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
5657 Last_Source_Node_In_Sequence
5658 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
5659 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
5660 mode on unsupported constructs
5661 * sem_ch9.adb Do not return after issuing error in formal mode, as the
5662 rest of the actions may be needed later on since the error is marked as
5663 not serious.
5664 * sinfo.ads: Typos in comments.
5665
5666 2011-08-01 Pascal Obry <obry@adacore.com>
5667
5668 * projects.texi: Minor editing.
5669
5670 2011-08-01 Yannick Moy <moy@adacore.com>
5671
5672 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
5673 insertion character ~~
5674 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
5675 (Set_Error_Msg_Lang): new procedure which fixes the language for use
5676 with insertion character ~~
5677 (Set_Msg_Text): treat insertion character ~~
5678 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
5679 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
5680 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
5681 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
5682 errors related to the formal language restriction not serious
5683 (insertion character |).
5684 * par.adb (Par): set formal language for error messages if needed
5685 * sem_ch6.adb (Check_Missing_Return): take into account possible
5686 generated statements at the end of the function
5687 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
5688 enumeration value to define a new pragma SPARK_95
5689 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
5690 SPARK_Version): new type and variables to store the SPARK version
5691 (none by default).
5692 (SPARK_Mode): return True when SPARK_Version is set
5693 * par-prag.adb: Correct indentation
5694 (Prag): take Pragma_SPARK_95 into account
5695 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
5696 into account.
5697
5698 2011-08-01 Robert Dewar <dewar@adacore.com>
5699
5700 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
5701 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
5702 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
5703
5704 2011-08-01 Pascal Obry <obry@adacore.com>
5705
5706 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
5707 Target_Name to Get_Path call.
5708 (Parse_Single_Project): Likewise.
5709 (Post_Parse_Context_Clause): Likewise.
5710 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
5711 Call Initialise_Project_Path with the proper Target_Name.
5712 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
5713 search path.
5714 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
5715 with the proper Target_Name.
5716 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
5717 Part.Parse routine.
5718 (Parse_Project_And_Apply_Config): Likewise.
5719 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
5720 This is fine as this part of the code is supporting only native
5721 compilation.
5722 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
5723 is fine as this part of the code is supporting only native compilation.
5724
5725 2011-08-01 Yannick Moy <moy@adacore.com>
5726
5727 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
5728 of homonym, unless the homonym is one of the cases allowed in SPARK
5729 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
5730 package declaration occurring after a body.
5731
5732 2011-08-01 Robert Dewar <dewar@adacore.com>
5733
5734 * checks.adb, exp_ch4.adb: Minor reformatting.
5735
5736 2011-08-01 Javier Miranda <miranda@adacore.com>
5737
5738 * einfo.ads (Access_Disp_Table): Fix documentation.
5739 (Dispatch_Table_Wrappers): Fix documentation.
5740
5741 2011-08-01 Pascal Obry <obry@adacore.com>
5742
5743 * prj-env.adb, prj-env.ads: Minor reformatting.
5744
5745 2011-08-01 Yannick Moy <moy@adacore.com>
5746
5747 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
5748 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
5749 procedures out of these packages.
5750 * errout.ads, errout.adb
5751 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
5752 procedures in of this package
5753 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
5754 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
5755 on misplaced later vs initial declarations, like in Ada 83
5756 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
5757 formal mode on attribute of private type whose full type declaration
5758 is not visible
5759 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
5760 package declaration inside a package specification
5761 (Analyze_Full_Type_Declaration): issue error in formal mode on
5762 controlled type or discriminant type
5763 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
5764 user-defined operator means that it should come from the source
5765 (New_Overloaded_Entity): issue error in formal mode on overloaded
5766 entity.
5767 * sem_ch6.ads, sem_ch13.ads: typos in comments.
5768
5769 2011-08-01 Thomas Quinot <quinot@adacore.com>
5770
5771 * atree.adb: Minor reformatting.
5772 * checks.adb: Minor reformatting.
5773
5774 2011-08-01 Vincent Celier <celier@adacore.com>
5775
5776 * s-parame-vms-ia64.ads: Fix typo in comment
5777 Minor reformatting
5778 * s-parame-vms-restrict.ads: Removed, unused.
5779
5780 2011-08-01 Javier Miranda <miranda@adacore.com>
5781
5782 * exp_ch3.adb
5783 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
5784 * sem_ch3.adb
5785 (Constrain_Index): Remove side effects in the evaluation of the bounds.
5786 * sem_ch3.ads, sem_ch3.adb
5787 (Is_Constant_Bound): New extended version of the subprogram that was
5788 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
5789 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
5790 * sem_aux.ads (Constant_Value): Fix typo in comment.
5791 * checks.adb (Generate_Index_Checks): New implementation which, for
5792 array objects with constant bounds, generates the runtime check
5793 referencing the bounds of the array type. For other cases this routine
5794 provides its previous behavior obtaining such values from the array
5795 object.
5796 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
5797 parent type.
5798 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
5799 we cannot have semantic interpretations of the new node.
5800
5801 2011-08-01 Ed Schonberg <schonberg@adacore.com>
5802
5803 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
5804 expressions.
5805
5806 2011-08-01 Arnaud Charlet <charlet@adacore.com>
5807
5808 * sem_ch8.adb: Minor code editing.
5809 * s-vxwext.adb: Remove trailing space.
5810 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
5811 consistency with other files.
5812
5813 2011-08-01 Thomas Quinot <quinot@adacore.com>
5814
5815 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
5816
5817 2011-08-01 Ed Schonberg <schonberg@adacore.com>
5818
5819 * par-ch10.adb: reject parameterized expressions as compilation unit.
5820 * sem_ch4.adb: handle properly conditional expression with overloaded
5821 then_clause and no else_clause.
5822
5823 2011-08-01 Tristan Gingold <gingold@adacore.com>
5824
5825 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
5826 like done by System.Aux_DEC.
5827 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
5828
5829 2011-08-01 Yannick Moy <moy@adacore.com>
5830
5831 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
5832 missing label at end of declaration (subprogram or package)
5833 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
5834 of positional and named parameter association
5835 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
5836 Error_Msg_SP which adds a prefix to the error message giving the name
5837 of the formal language analyzed
5838 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
5839 access result type in subprogram, unconstrained array as result type,.
5840 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
5841 procedure
5842 * sem_ch8.adb: Code clean up.
5843
5844 2011-08-01 Javier Miranda <miranda@adacore.com>
5845
5846 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
5847 * einfo.ads (Access_Disp_Table): Fix documentation.
5848 (Dispatch_Table_Wrappers): Fix documentation.
5849 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
5850 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
5851 to enforce the documentation of this attribute.
5852 (Set_Is_Interface): Cleanup the assertion.
5853 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
5854 the Underlying_Type entity before reading attribute Access_Disp_Table.
5855 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
5856 Locate the Underlying_Type before reading attribute Access_Disp_Table.
5857 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
5858 the Underlying_Type entity before reading attribute Access_Disp_Table.
5859 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
5860 Locate the Underlying_Type entity before reading attribute
5861 Access_Disp_Table.
5862
5863 2011-08-01 Ed Schonberg <schonberg@adacore.com>
5864
5865 * s-poosiz.ads: Additional overriding indicators.
5866
5867 2011-08-01 Yannick Moy <moy@adacore.com>
5868
5869 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
5870 formal mode.
5871 (Analyze_Iteration_Scheme): issue error in formal mode when loop
5872 parameter specification does not include a subtype mark.
5873 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
5874 formal mode on abstract subprogram.
5875 (Analyze_Subprogram_Specification): issue error in formal mode on
5876 user-defined operator.
5877 (Process_Formals): issue error in formal mode on access parameter and
5878 default expression.
5879 * sem_ch9.adb (Analyze_Abort_Statement,
5880 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
5881 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
5882 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
5883 Analyze_Requeue, Analyze_Selective_Accept,
5884 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
5885 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
5886 issue error in formal mode on user-defined raise statement.
5887
5888 2011-08-01 Thomas Quinot <quinot@adacore.com>
5889
5890 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
5891 declaration being hidden when overriding an implicit inherited
5892 subprogram.
5893 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
5894 (-gnats), do not complain about a source file that contains only a
5895 pragma No_Body.
5896
5897 2011-08-01 Ed Schonberg <schonberg@adacore.com>
5898
5899 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
5900 variable if already set.
5901
5902 2011-08-01 Arnaud Charlet <charlet@adacore.com>
5903
5904 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
5905 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
5906 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
5907 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
5908 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
5909 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
5910 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
5911 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
5912 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
5913 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
5914 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
5915 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
5916 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
5917 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
5918 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
5919 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
5920 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
5921 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
5922 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
5923 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
5924 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
5925 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
5926 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
5927 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
5928 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
5929 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
5930 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
5931 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
5932 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
5933 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
5934 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
5935 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
5936 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
5937 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
5938 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
5939 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
5940 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
5941 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
5942 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
5943 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
5944 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
5945 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
5946 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
5947 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
5948 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
5949 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
5950 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
5951 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
5952 s-osinte-mingw.ads: Update to GPLv3 run-time license.
5953 Use GNAT instead of GNARL.
5954
5955 2011-08-01 Bob Duff <duff@adacore.com>
5956
5957 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
5958 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
5959 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
5960 reformatting.
5961
5962 2011-08-01 Yannick Moy <moy@adacore.com>
5963
5964 * debug.adb (d.D) reverve flag for the SPARK mode
5965 (d.E) reverve flag for SPARK generation mode
5966 (d.F) reverve flag for Why generation mode
5967 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
5968 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
5969 functions which return True when the corresponding modes are set
5970 (Formal_Language): return "spark" or "alfa" when in formal verification
5971 mode.
5972 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
5973 Error_Msg to prefix the error message with a tag giving the formal
5974 language
5975 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
5976 message with a tag giving the formal language
5977 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
5978 block statement
5979 (Analyze_Case_Statement): issue error in formal mode on case statement
5980 with a single "others" case alternative
5981 (Analyze_Exit_Statement): issue errors in formal mode on exit
5982 statements which do not respect SPARK restrictions
5983 (Analyze_Goto_Statement): issue error in formal mode on goto statement
5984 (Check_Unreachable_Code): always issue an error (not a warning) in
5985 formal mode on unreachable code (concerns both code after an infinite
5986 loop and after an unconditional jump, both not allowed in SPARK)
5987 * sem_ch6.adb (Analyze_Return_Statement): add call to
5988 Set_Return_Present for a procedure containing a return statement
5989 (already done for functions in Analyze_Function_Return)
5990 (Analyze_Function_Return): issue error in formal mode on extended
5991 return or if return is not last statement in function
5992 (Check_Missing_Return): issue error in formal mode if function does
5993 not end with return or if procedure contains a return
5994 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
5995 function to detect if there is an inner scope of its parameter S which
5996 is a loop.
5997
5998 2011-08-01 Thomas Quinot <quinot@adacore.com>
5999
6000 * sem_ch6.ads: Minor reformatting.
6001
6002 2011-08-01 Javier Miranda <miranda@adacore.com>
6003
6004 * sem_util.adb (Abstract_Interface_List): Complete condition when
6005 processing private type declarations to avoid reading unavailable
6006 attribute.
6007 (Is_Synchronized_Tagged_Type): Complete condition when processing
6008 private extension declaration nodes to avoid reading unavailable
6009 attribute.
6010
6011 2011-08-01 Thomas Quinot <quinot@adacore.com>
6012
6013 * sem_ch3.adb: Minor reformatting.
6014
6015 2011-08-01 Thomas Quinot <quinot@adacore.com>
6016
6017 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
6018 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
6019 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
6020 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
6021 for VMS, instead parametrize the common implementation with
6022 System.Parameters declarations.
6023
6024 2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
6025
6026 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
6027
6028 2011-08-01 Tristan Gingold <gingold@adacore.com>
6029
6030 * seh_init.c: Fix SEH handler installation on win64.
6031
6032 2011-08-01 Ed Schonberg <schonberg@adacore.com>
6033
6034 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
6035 double analysis of an anonymous access to subprogram, because it can
6036 lead to improper sharing of profiles and a back-end crash.
6037
6038 2011-08-01 Robert Dewar <dewar@adacore.com>
6039
6040 * make.adb, sem_ch4.adb: Minor reformatting.
6041 * gcc-interface/Make-lang.in: Update dependencies.
6042 * sem_util.adb, exp_ch5.adb: Minor reformatting.
6043
6044 2011-08-01 Arnaud Charlet <charlet@adacore.com>
6045
6046 * gnat_rm.texi: Fix definition of Long_Integer.
6047
6048 2011-08-01 Ed Schonberg <schonberg@adacore.com>
6049
6050 * exp_aggr.adb: check limit size of static aggregate unconditionally,
6051 to prevent storage exhaustion.
6052 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
6053 finalized is a function body, insert the cleanup code before the final
6054 return statement, to prevent spurious warnings.
6055 * s-pooglo.ads: add overriding indicator.
6056
6057 2011-08-01 Ed Schonberg <schonberg@adacore.com>
6058
6059 * sem_ch4.adb (Operator_Check): improve error message when both a
6060 with_clause and a use_clause are needed to make operator usage legal.
6061 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
6062 determine whether a compilation unit is visible within an other,
6063 either through a with_clause in the current unit, or a with_clause in
6064 its library unit or one one of its parents.
6065
6066 2011-08-01 Ed Schonberg <schonberg@adacore.com>
6067
6068 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
6069 over an arbitrary expression of an array or container type.
6070 * lib-xref.adb: clarify comment.
6071
6072 2011-08-01 Bob Duff <duff@adacore.com>
6073
6074 * einfo.ads: Minor reformatting.
6075 * debug.adb: Minor comment improvement.
6076
6077 2011-08-01 Javier Miranda <miranda@adacore.com>
6078
6079 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
6080 consider hidden subprograms as valid candidates.
6081
6082 2011-08-01 Arnaud Charlet <charlet@adacore.com>
6083
6084 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
6085
6086 2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
6087
6088 * gnat_ugn.texi: Fix typo.
6089
6090 2011-08-01 Robert Dewar <dewar@adacore.com>
6091
6092 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
6093 lib-xref.adb: Minor reformatting
6094
6095 2011-08-01 Gary Dismukes <dismukes@adacore.com>
6096
6097 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
6098 when to generate a call to Move_Final_List.
6099 (Has_Controlled_Parts): Remove this function.
6100
6101 2011-08-01 Geert Bosch <bosch@adacore.com>
6102
6103 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
6104 "," in choice list.
6105
6106 2011-08-01 Thomas Quinot <quinot@adacore.com>
6107
6108 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
6109 explicit raise of a predefined exception as Comes_From_Source if the
6110 original N_Raise_Statement comes from source.
6111
6112 2011-08-01 Robert Dewar <dewar@adacore.com>
6113
6114 * sinfo.ads: Add comment.
6115 * sem_ch6.adb: Minor reformatting.
6116
6117 2011-08-01 Robert Dewar <dewar@adacore.com>
6118
6119 * freeze.adb (Freeze_Entity): Refine check for bad component size
6120 clause to avoid rejecting confirming clause when atomic/aliased present.
6121
6122 2011-08-01 Ed Schonberg <schonberg@adacore.com>
6123
6124 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
6125 better determine whether an entity reference is a write.
6126 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
6127 subcomponent.
6128 * lib-xref.adb (Output_References): Do no suppress a read reference at
6129 the same location as an immediately preceeding modify-reference, to
6130 handle properly in-out actuals.
6131
6132 2011-08-01 Tristan Gingold <gingold@adacore.com>
6133
6134 * env.c (__gnat_setenv) [VMS]: Refine previous change.
6135
6136 2011-08-01 Quentin Ochem <ochem@adacore.com>
6137
6138 * i-cstrin.adb (New_String): Changed implementation, now uses only the
6139 heap to compute the result.
6140
6141 2011-08-01 Robert Dewar <dewar@adacore.com>
6142
6143 * atree.ads: Minor reformatting.
6144
6145 2011-08-01 Emmanuel Briot <briot@adacore.com>
6146
6147 * g-expect.adb (Get_Command_Output): Fix memory leak.
6148
6149 2011-08-01 Geert Bosch <bosch@adacore.com>
6150
6151 * cstand.adb (P_Float_Type): New procedure to print the definition of
6152 predefined fpt types.
6153 (P_Mixed_Name): New procedure to print a name using mixed case
6154 (Print_Standard): Use P_Float_Type for printing floating point types
6155 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
6156 precision IEEE float.
6157
6158 2011-08-01 Thomas Quinot <quinot@adacore.com>
6159
6160 * sem_ch3.adb: Minor reformatting.
6161
6162 2011-08-01 Ed Schonberg <schonberg@adacore.com>
6163
6164 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
6165 the completion of a generic function, insert the new body rather than
6166 rewriting the original.
6167
6168 2011-08-01 Yannick Moy <moy@adacore.com>
6169
6170 * sinfo.ads, errout.ads: Typos in comments.
6171
6172 2011-08-01 Robert Dewar <dewar@adacore.com>
6173
6174 * par-endh.adb: Minor reformatting.
6175
6176 2011-08-01 Robert Dewar <dewar@adacore.com>
6177
6178 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
6179 (Pre_Post_Aspects): New subtype.
6180 * par-ch12.adb (P_Generic): New syntax for aspects in packages
6181 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
6182 * par-ch7.adb (P_Package): Remove Decl parameter
6183 (P_Package): Handle new syntax for aspects (before IS)
6184 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
6185 new aspect syntax
6186 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
6187 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
6188 (P_Package): Remove Decl parameter
6189 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
6190 aspects
6191 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
6192 specs
6193 * sem_util.ads, sem_util.adb (Static_Boolean): New function
6194 * sinfo.ads: Document new syntax for aspects in packages etc.
6195 * sprint.adb: Handle new syntax of aspects before IS in package
6196
6197 2011-08-01 Thomas Quinot <quinot@adacore.com>
6198
6199 * atree.ads: Minor reformatting.
6200 * sem_prag.adb: Minor reformatting.
6201
6202 2011-08-01 Robert Dewar <dewar@adacore.com>
6203
6204 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
6205 case expr alternative.
6206
6207 2011-08-01 Ed Schonberg <schonberg@adacore.com>
6208
6209 * sem_ch12.adb: Fix typo.
6210
6211 2011-08-01 Geert Bosch <bosch@adacore.com>
6212
6213 * sem_prag.adb (Check_No_Link_Name): New procedure.
6214 (Process_Import_Or_Interface): Use Check_No_Link_Name.
6215 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
6216 instead of Standard_Long_Long_Float_Size global. Preparation for
6217 eventual removal of per type constants.
6218 * exp_util.ads (Get_Stream_Size): New function returning the stream
6219 size value of subtype E.
6220 * exp_util.adb (Get_Stream_Size): Implement new function.
6221 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
6222 function.
6223 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
6224 * einfo.adb:
6225 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
6226
6227 2011-08-01 Geert Bosch <bosch@adacore.com>
6228
6229 * cstand.adb: Fix comments.
6230 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
6231 count of arguments.
6232
6233 2011-08-01 Robert Dewar <dewar@adacore.com>
6234
6235 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
6236
6237 2011-08-01 Geert Bosch <bosch@adacore.com>
6238
6239 * atree.ads: Fix comment.
6240
6241 2011-08-01 Robert Dewar <dewar@adacore.com>
6242
6243 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
6244 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
6245 * par.adb: Add with for Namet.Sp.
6246 * par-tchk.adb: Minor reformatting.
6247
6248 2011-08-01 Vincent Celier <celier@adacore.com>
6249
6250 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
6251 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
6252 of the init procedure of a SAL.
6253 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
6254 New procedure.
6255
6256 2011-08-01 Thomas Quinot <quinot@adacore.com>
6257
6258 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
6259 reformatting.
6260
6261 2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6262
6263 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
6264
6265 2011-08-01 Thomas Quinot <quinot@adacore.com>
6266
6267 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
6268 conformant with its spec (return True only for types that have
6269 an overriding Initialize primitive operation that prevents them from
6270 having preelaborable initialization).
6271 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
6272 initialization for controlled types in Ada 2005 or later mode.
6273
6274 2011-08-01 Robert Dewar <dewar@adacore.com>
6275
6276 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
6277 Postcondition.
6278 (Same_Aspect): New function.
6279 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
6280 Type_Invariant, Precondition, Postcondition.
6281 * snames.ads-tmpl: Add Name_Type_Invariant.
6282
6283 2011-08-01 Robert Dewar <dewar@adacore.com>
6284
6285 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
6286 here.
6287 (Freeze_All_Ent): Fix error in handling inherited aspects.
6288 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
6289 already analyzed, but don't skip entire processing of a declaration,
6290 that's wrong in some cases of declarations being rewritten.
6291 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
6292 Don't delay for integer, string literals
6293 Treat predicates in usual manner for delay, remove special case code,
6294 not needed.
6295 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
6296 (Build_Predicate_Function): Update saved expression in aspect
6297 (Build_Invariant_Procedure): Update saved expression in aspect
6298 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
6299 of replacement of discriminant references if the reference is simple.
6300
6301 2011-08-01 Robert Dewar <dewar@adacore.com>
6302
6303 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
6304 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
6305 Static_Predicate and Dynamic_Predicate.
6306 (Build_Predicate_Function): Add processing for Static_Predicate
6307 and Dynamic_Predicate.
6308 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
6309 (From_Static_Predicate): New flag
6310 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
6311
6312 2011-08-01 Robert Dewar <dewar@adacore.com>
6313
6314 * usage.adb: Documentation cleanup for Ada version modes in usage.
6315 * expander.adb: Minor reformatting.
6316
6317 2011-08-01 Robert Dewar <dewar@adacore.com>
6318
6319 * atree.ads: Minor comment fix.
6320 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
6321 a-witeio.ads, sem_prag.adb: Minor reformatting.
6322
6323 2011-08-01 Doug Rupp <rupp@adacore.com>
6324
6325 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
6326 pointers. Use descrip.h header file for convenience. Add some
6327 comments.
6328
6329 2011-08-01 Robert Dewar <dewar@adacore.com>
6330
6331 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
6332 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
6333 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
6334 New procedure.
6335 (Check_Aspect_At_End_Of_Declarations): New procedure
6336 (Analye_Aspect_Specification): Minor changes for above procedures
6337 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
6338 specification node as well.
6339
6340 2011-08-01 Pascal Obry <obry@adacore.com>
6341
6342 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
6343 Windows files. Use GetFilesAttributes() in this case to check for file
6344 existence instead of returning with an error code.
6345
6346 2011-08-01 Vincent Celier <celier@adacore.com>
6347
6348 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
6349 High is above Source length.
6350
6351 2011-08-01 Robert Dewar <dewar@adacore.com>
6352
6353 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
6354
6355 2011-08-01 Robert Dewar <dewar@adacore.com>
6356
6357 * aspects.ads (Boolean_Aspects): New subtype.
6358 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
6359 for derived types in cases where the parent type and derived type have
6360 aspects.
6361 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
6362 with aspects when parent type also has aspects.
6363 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
6364 boolean expression at this point).
6365 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
6366 accordance with final decision on the Ada 2012 feature.
6367 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
6368
6369 2011-08-01 Matthew Heaney <heaney@adacore.com>
6370
6371 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
6372
6373 2011-08-01 Pascal Obry <obry@adacore.com>
6374
6375 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
6376 Fix Replace_Slice when High is above current string size.
6377 (Replace_Slice): Fix DL computation when High is above current
6378 string length.
6379
6380 2011-08-01 Gary Dismukes <dismukes@adacore.com>
6381
6382 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
6383
6384 2011-08-01 Matthew Heaney <heaney@adacore.com>
6385
6386 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
6387 of node.
6388
6389 2011-08-01 Pascal Obry <obry@adacore.com>
6390
6391 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
6392 reformatting.
6393
6394 2011-08-01 Ed Schonberg <schonberg@adacore.com>
6395
6396 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
6397 access to protected subprograms in generic bodies.
6398 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
6399 protected type, indicate that the convention of the subprogram is
6400 Convention_Protected, because it may be used in subsequent declarations
6401 within the protected declaration.
6402
6403 2011-08-01 Vincent Celier <celier@adacore.com>
6404
6405 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
6406 and "final" procedures when the name of the library is "ada", to avoid
6407 duplicate symbols "adainit" and "adafinal" in executables.
6408
6409 2011-08-01 Ed Schonberg <schonberg@adacore.com>
6410
6411 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
6412 quantified expression that appears within a postcondition and uses the
6413 Ada2012 'Result attribute.
6414
6415 2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6416
6417 * init.c (__gnat_error_handler): Cast reason to int.
6418 (__gnat_install_handler): Explain sa_sigaction use.
6419
6420 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
6421
6422 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
6423 subprogram has copy-in copy-out parameters, try to promote the mode of
6424 the return type if it is passed in registers.
6425
6426 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
6427
6428 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
6429 left operand as addressable.
6430
6431 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
6432
6433 * gcc-interface/gigi.h (build_function_stub): Remove.
6434 (build_return_expr): Likewise.
6435 (convert_vms_descriptor): Declare.
6436 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
6437 (build_function_stub): Move to...
6438 * gcc-interface/utils2.c (build_return_expr): Move to...
6439 * gcc-interface/trans.c (build_function_stub): ...here.
6440 (build_return_expr): ...here.
6441 (Subprogram_Body_to_gnu): Add local variable for language_function.
6442 Disconnect the parameter attributes cache, if any, once done with it.
6443 Call end_subprog_body only after setting the end_locus.
6444 Build the stub associated with the function, if any, at the very end.
6445 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
6446 variables and streamline control flow.
6447
6448 2011-07-23 Arnaud Charlet <charlet@adacore.com>
6449
6450 PR ada/49819
6451 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
6452 g-trasym-dwarf.adb.
6453
6454 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6455
6456 PR bootstrap/49794
6457 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
6458 Assign to act.sa_sigaction.
6459 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
6460 current->return_address to char * before arithmetic.
6461
6462 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6463
6464 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
6465 Correct argument types.
6466 Extract code from reason.
6467 (__gnat_install_handler): Assign to act.sa_sigaction.
6468
6469 2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
6470
6471 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
6472 (GNAT1_OBJS): ...here.
6473
6474 2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
6475
6476 PR ada/48711
6477 * g-socthi-mingw.adb (Fill): Fix formatting.
6478
6479 * gcc-interface/gigi.h: Move around comment.
6480
6481 2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6482
6483 PR ada/46350
6484 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
6485
6486 2011-07-14 Florian Weimer <fw@deneb.enyo.de>
6487
6488 PR ada/48711
6489 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
6490
6491 2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
6492
6493 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
6494 range comparison if Pmode is SImode.
6495
6496 2011-07-12 Laurent GUERBY <laurent@guerby.net>
6497 Eric Botcazou <ebotcazou@adacore.com>
6498
6499 * adadecode.c: Wrap up in extern "C" block.
6500 * adadecode.h: Likewise.
6501 * adaint.c: Likewise. Remove 'const' keyword.
6502 * adaint.h: Likewise.
6503 * argv.c: Likewise.
6504 * atree.h: Likewise.
6505 * cio.c: Likewise.
6506 * cstreams.c: Likewise.
6507 * env.c: Likewise.
6508 * exit.c: Likewise.
6509 * fe.h: Likewise.
6510 * final.c: Likewise.
6511 * init.c: Likewise.
6512 * initialize.c: Likewise.
6513 * link.c: Likewise.
6514 * namet.h: Likewise.
6515 * nlists.h: Likewise.
6516 * raise.c: Likewise.
6517 * raise.h: Likewise.
6518 * repinfo.h: Likewise.
6519 * seh_init.c: Likewise.
6520 * targext.c: Likewise.
6521 * tracebak.c: Likewise.
6522 * uintp.h: Likewise.
6523 * urealp.h: Likewise.
6524 * xeinfo.adb: Wrap up generated C code in extern "C" block.
6525 * xsinfo.adb: Likewise.
6526 * xsnamest.adb: Likewise.
6527 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
6528 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
6529 * gcc-interface/misc.c: Likewise.
6530 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
6531 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
6532 ada/targext.o here...
6533 (GNAT_ADA_OBJS): ...and not here.
6534 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
6535 (GNATBIND_OBJS): Reorder.
6536
6537 2011-07-07 Richard Henderson <rth@redhat.com>
6538
6539 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
6540 dwarf2out_frame_init.
6541
6542 2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
6543
6544 * gcc-interface/misc.c (gnat_init): Tweak previous change.
6545
6546 2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6547
6548 PR target/39150
6549 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
6550
6551 2011-07-06 Richard Guenther <rguenther@suse.de>
6552
6553 * gcc-interface/misc.c (gnat_init): Merge calls to
6554 build_common_tree_nodes and build_common_tree_nodes_2.
6555 Re-initialize boolean_false_node.
6556
6557 2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
6558 Olivier Hainque <hainque@adacore.com>
6559 Nicolas Setton <setton@adacore.com>
6560
6561 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
6562 the type according to the ARTIFICIAL_P parameter.
6563 (create_type_decl): Likewise.
6564 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
6565
6566 2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
6567
6568 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
6569 (gnatbind): Likewise.
6570
6571 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6572
6573 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
6574
6575 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
6576
6577 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
6578 local variable throughout. Remove useless call to Base_Type.
6579 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
6580 Take it also into account for the volatileness of the field. Set the
6581 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
6582
6583 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
6584
6585 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
6586 on a dereference built for a by-ref object if it has an address clause.
6587
6588 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
6589
6590 * einfo.ads (Address_Taken): Document use for the second argument of
6591 Asm_Input and Asm_Output attributes.
6592 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
6593 argument is an entity name, then set Address_Taken on it.
6594 <Attribute_Asm_Output>: Likewise.
6595 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
6596 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
6597 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
6598 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
6599
6600 2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
6601
6602 PR middle-end/46500
6603 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
6604
6605 2011-06-14 Joseph Myers <joseph@codesourcery.com>
6606
6607 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
6608 (ada/utils.o): Update dependencies.
6609 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
6610 ../../../libcpp/libcpp.a.
6611 * gcc-interface/utils.c: Include common/common-target.h.
6612 (process_attributes): Use targetm_common.have_named_sections.
6613
6614 2011-06-07 Richard Guenther <rguenther@suse.de>
6615
6616 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
6617 set_sizetype.
6618
6619 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
6620
6621 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
6622 TREE_THIS_NOTRAP flag.
6623
6624 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
6625
6626 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
6627 Fix thinko.
6628
6629 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
6630
6631 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
6632 constants whose full view has discriminants specially.
6633
6634 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
6635
6636 * gcc-interface/utils.c: Include diagnostic.h.
6637 (gnat_write_global_declarations): Output debug information for all
6638 global type declarations before finalizing the compilation unit.
6639 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
6640
6641 2011-05-25 Jakub Jelinek <jakub@redhat.com>
6642
6643 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
6644
6645 2011-05-25 Kai Tietz <ktietz@redhat.com>
6646
6647 * adaint.c (__gnat_to_canonical_file_list_next): Use array
6648 initialization instead of const/none-const pointer assignment.
6649
6650 2011-05-24 Joseph Myers <joseph@codesourcery.com>
6651
6652 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
6653 $(EXTRA_GNAT1_OBJS).
6654 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
6655 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
6656 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
6657 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
6658 libcommon-target.a instead of prefix.o.
6659
6660 2011-05-21 Joseph Myers <joseph@codesourcery.com>
6661
6662 PR ada/49097
6663 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
6664
6665 2011-05-20 Joseph Myers <joseph@codesourcery.com>
6666
6667 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
6668 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
6669 instead of version.o.
6670
6671 2011-05-18 Kai Tietz <ktietz@redhat.com>
6672
6673 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
6674 boolean_false_node instead of integer_zero_node.
6675 (convert_with_check): Likewise.
6676 * gcc-interface/decl.c (choices_to_gnu): Likewise.
6677
6678 2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
6679
6680 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
6681 type of the parameter is an unconstrained array, convert the actual to
6682 the type of the formal in the In Out and Out cases as well.
6683
6684 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
6685
6686 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
6687 call build_function_type_array or build_varargs_function_type_array
6688 instead.
6689 (create_subprog_type): Don't call build_function_type; call
6690 build_function_type_vec instead.
6691
6692 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
6693
6694 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
6695 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
6696 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
6697
6698 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
6699
6700 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
6701
6702 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
6703 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
6704
6705 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6706
6707 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
6708
6709 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6710
6711 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
6712 instead of accessing TYPE_ARG_TYPES directly.
6713 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
6714
6715 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
6716
6717 PR ada/48844
6718 * gcc-interface/gigi.h (get_variant_part): Declare.
6719 * gcc-interface/decl.c (get_variant_part): Make global.
6720 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
6721 types have the same constant size, are record types and T1 has a
6722 variant part while T2 doesn't.
6723
6724 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
6725
6726 * gcc-interface/utils.c (begin_subprog_body): Do not call
6727 get_pending_sizes.
6728 (end_subprog_body): Likewise.
6729
6730 2011-05-04 Richard Guenther <rguenther@suse.de>
6731
6732 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
6733 int_const_binop.
6734 (pos_to_constructor): Likewise.
6735
6736 2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
6737 Eric Botcazou <ebotcazou@adacore.com>
6738
6739 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
6740 of build_function_type. Adjust calls to...
6741 (build_raise_check): ...this. Do not take a void_tree parameter.
6742 Call build_function_type_list instead of build_function_type.
6743 Fix head comment and swap couple of conditional blocks.
6744
6745 2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
6746
6747 * gnatvsn.ads (Library_Version): Bump to 4.7.
6748 (Current_Year): Bump to 2011.
6749
6750 2011-04-29 Michael Matz <matz@suse.de>
6751
6752 * gcc-interface/misc.c (gnat_handle_option): Set
6753 warn_maybe_uninitialized.
6754
6755 2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
6756
6757 * gnat_ugn.texi (Complexity Metrics Control): Update link to
6758 the Watson/McCabe paper.
6759
6760 2011-04-23 Jim Meyering <meyering@redhat.com>
6761
6762 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
6763
6764 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
6765
6766 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
6767 onto the new type.
6768
6769 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
6770
6771 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
6772 parameter.
6773 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
6774 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
6775 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
6776 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
6777 <all>: Do not set flags on the reused DECL node coming from an alias.
6778 Set DECL_IGNORED_P on the DECL node built for subprograms if they
6779 don't need debug info here...
6780 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
6781 (gigi): Adjust calls to create_subprog_decl.
6782 (build_raise_check): Likewise.
6783 (establish_gnat_vms_condition_handler): Likewise.
6784 (Compilation_Unit_to_gnu): Likewise.
6785 (gnat_to_gnu): Likewise.
6786
6787 2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
6788
6789 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
6790 (NO_REORDER_ADAFLAGS): New variable.
6791 (EXTRA_GNATTOOLS): Always define.
6792 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
6793 Clean up and adjust list of files compiled with special options.
6794 * gcc-interface/Make-lang.in: Likewise.
6795 (ada/decl.o): Cosmetical change.
6796 (ada/misc.o): Remove dependency on $(PLUGIN_H).
6797
6798 2011-04-20 Jim Meyering <meyering@redhat.com>
6799
6800 * initialize.c (__gnat_initialize): Remove useless if-before-free.
6801
6802 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
6803
6804 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
6805 $(CFLAGS) on the link line.
6806
6807 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
6808
6809 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
6810 padded type built for the return type if it is unconstrained.
6811
6812 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
6813
6814 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
6815
6816 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6817
6818 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
6819 before calling TREE_CHAIN.
6820 * gcc-interface/misc.c (gnat_init_ts): New function.
6821 (LANG_HOOKS_INIT_TS): Define.
6822
6823 2011-04-12 Martin Jambor <mjambor@suse.cz>
6824
6825 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
6826 instead of cgraph_node.
6827
6828 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
6829
6830 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
6831 alignment on fields of the RETURN type built for the Copy-In Copy-Out
6832 mechanism.
6833
6834 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
6835
6836 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
6837 of aggregate types that contain a placeholder.
6838
6839 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
6840
6841 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
6842 TYPE_ARG_TYPES.
6843 (handle_type_generic_attribute): Likewise.
6844
6845 2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
6846
6847 PR ada/47163
6848 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
6849
6850 2011-04-04 Kai Tietz <ktietz@redhat.com>
6851
6852 PR ada/47163
6853 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
6854 to flag value.
6855
6856 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6857
6858 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
6859 type case, do not strip a padding type around the array type.
6860
6861 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6862
6863 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
6864 types.
6865
6866 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6867
6868 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
6869 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
6870 code for -feliminate-unused-debug-types.
6871 (gnat_post_options): Likewise.
6872
6873 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6874
6875 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
6876 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
6877 distinct copy.
6878
6879 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6880
6881 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
6882 DECL_ARTIFICIAL flag on enumeration types.
6883
6884 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6885
6886 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
6887 fat pointer types artificial unconditionally.
6888 <E_Array_Subtype>: Attach the base array type as a parallel type if it
6889 isn't artificial.
6890
6891 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6892
6893 * gcc-interface/gigi.h (get_dummy_type): Declare.
6894 (build_dummy_unc_pointer_types): Likewise.
6895 (finish_fat_pointer_type): Likewise.
6896 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
6897 fat pointer type has been built, complete it in place.
6898 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
6899 and thin pointers. Remove useless variable.
6900 (finish_fat_pointer_type): Make global and move to...
6901 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
6902 (get_dummy_type): New function.
6903 (build_dummy_unc_pointer_types): Likewise.
6904 (gnat_pushdecl): Propage the name to the anonymous variants only.
6905 (update_pointer_to): Only adjust the pointer types in the unconstrained
6906 array case.
6907
6908 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6909
6910 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
6911 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
6912 if this is a Taft amendment type and the full declaration is available.
6913 * gcc-interface/trans.c (process_type): Likewise.
6914 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
6915 (process_freeze_entity): Likewise.
6916 * gcc-interface/utils.c (dummy_global): New static variable.
6917 (gnat_write_global_declarations): If there are types declared as used
6918 at the global level, insert them in the global hash table.
6919
6920 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6921
6922 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
6923 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
6924 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
6925 copy.
6926 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
6927 flag of the type accordingly.
6928 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
6929
6930 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6931
6932 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
6933 finalizing types when updating the pointers to the designated type.
6934 <all>: Finalize the deferred types even if we didn't defer processing
6935 of incomplete types in this invocation.
6936
6937 2011-04-01 Olivier Hainque <hainque@adacore.com>
6938 Nicolas Setton <setton@adacore.com>
6939 Eric Botcazou <ebotcazou@adacore.com>
6940
6941 * gcc-interface/misc.c (gnat_descriptive_type): New function.
6942 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
6943
6944 2011-03-28 Kai Tietz <ktietz@redhat.com>
6945
6946 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
6947 Windows targets.
6948 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
6949 * system-mingw.ads (System): Change ZCX_By_Default default to True.
6950
6951 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
6952
6953 2011-03-28 Tristan Gingold <gingold@adacore.com>
6954
6955 PR ada/44431
6956 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
6957 Use ada output of gnatbind.
6958 (ada/b_gnatb.adb): Ditto.
6959 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
6960 (ada.mostlyclean, ada.stage1)
6961 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
6962 (ada.stagefeedback): Adjust.
6963 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
6964 Use ada output of gnatbind.
6965 (b_gnatm.adb): Ditto.
6966 (b_gnatl.o, b_gnatm.o): New rules.
6967
6968 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
6969
6970 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
6971 for the padded type built to support a specified size or alignment.
6972
6973 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
6974
6975 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
6976 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
6977 unconditionally to the end of the unit when the designated type is
6978 limited_with'ed.
6979 <all>: Rename local variable. Attempt to un-defer types only and do it
6980 for limited_with'ed types as well.
6981 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
6982 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
6983 consistently and remove redundant call to finalize_from_with_types.
6984
6985 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
6986
6987 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
6988 subprograms without a previous spec declared in the same unit.
6989 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
6990 subprograms at the end of the unit instead of at the beginning.
6991 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
6992 isn't public for the special handling of non-inline functions nested
6993 inside inline external functions.
6994
6995 2011-03-25 Jeff Law <law@redhat.com>
6996
6997 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
6998
6999 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
7000
7001 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
7002 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
7003 to compute Set_Size_Depends_On_Discriminant.
7004 (Layout_Type): Call it on array types in back-end layout mode.
7005 * sem_util.adb (Requires_Transient_Scope): Return true for array
7006 types only if the size depends on the value of discriminants.
7007 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
7008 type if the RHS is a call to a function that returns an unconstrained
7009 type with default discriminant.
7010
7011 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
7012
7013 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
7014 non-conversion to the nominal result type at the end.
7015
7016 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
7017
7018 * gcc-interface/trans.c (create_temporary): New function taken from...
7019 (create_init_temporary): ...here. Call it.
7020 (call_to_gnu): Create the temporary for the return value early, if any.
7021 Create it for a function with copy-in/copy-out parameters if there is
7022 no target; in other cases of copy-in/copy-out, use another temporary.
7023 Push the new binding level lazily. Add and rename local variables.
7024
7025 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
7026
7027 * gcc-interface/decl.c (validate_size): Improve comments and tweak
7028 error message.
7029 (set_rm_size): Likewise.
7030
7031 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
7032
7033 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
7034 for the padded type built in order to support a specified alignment.
7035 Fix incorrect formatting.
7036
7037 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
7038
7039 PR bootstrap/48216
7040 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
7041
7042 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
7043
7044 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
7045 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
7046 to the end of the list. Adjust recursive call. Rename local variable.
7047 If REORDER is true, reorder components of the record type.
7048 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
7049 components_to_record and adjust the parameter list.
7050
7051 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
7052
7053 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
7054 disabled, use the variable for bounds of loop iteration scheme.
7055
7056 2011-03-21 Kai Tietz <ktietz@redhat.com>
7057
7058 PR target/12171
7059 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
7060
7061 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
7062
7063 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
7064 out whether the expression is read-only. Short-circuit placeholder
7065 case and rename a couple of local variables.
7066
7067 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
7068
7069 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
7070 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
7071 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
7072 (convert): Deal with conversions from a smaller form type specially.
7073
7074 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
7075
7076 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
7077 its argument, except for the special -I- switch.
7078
7079 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
7080
7081 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
7082 "Ada Issues".
7083
7084 2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
7085
7086 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
7087
7088 2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
7089
7090 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
7091 GNAT_FORMAL.
7092 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
7093 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
7094 instead of GNAT_FORMAL. Protect the expression against multiple uses.
7095 Do not generate the check directly, instead instantiate the template
7096 check present in the descriptor.
7097 (make_descriptor_field): Move around.
7098 (build_vms_descriptor32): Build a template check in the POINTER field.
7099 (build_vms_descriptor): Remove useless suffixes.
7100 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
7101
7102 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
7103
7104 PR bootstrap/47467
7105 * targext.c: Include target files if IN_RTS is defined.
7106
7107 2011-01-26 Richard Guenther <rguenther@suse.de>
7108
7109 PR bootstrap/47467
7110 * targext.c: Include config.h.
7111 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
7112 dependency.
7113
7114 2011-01-04 Pascal Obry <obry@adacore.com>
7115 Eric Botcazou <ebotcazou@adacore.com>
7116
7117 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
7118
7119 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
7120
7121 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
7122 end-of-case on the end label and its associated gotos, if any.
7123
7124 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
7125
7126 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
7127 expressions of the parameter cache within the statement group of
7128 the CICO mechanism.
7129
7130 2011-01-04 Olivier Hainque <hainque@adacore.com>
7131 Eric Botcazou <ebotcazou@adacore.com>
7132
7133 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
7134 (set_end_locus_from_node): New function.
7135 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
7136 make and the function end_locus.
7137 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
7138 for the elaboration subprogram.
7139 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
7140 set the end_locus of the expression as well.
7141
7142 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
7143
7144 PR ada/47131
7145 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
7146 variables that are referenced in exception handlers volatile.
7147
7148
7149 \f
7150 Copyright (C) 2011 Free Software Foundation, Inc.
7151
7152 Copying and distribution of this file, with or without modification,
7153 are permitted in any medium without royalty provided the copyright
7154 notice and this notice are preserved.