OSDN Git Service

39b56f021ac06a45819cde48d066c25a835025f7
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
2
3         * exp_ch9.ads (Build_Private_Protected_Declaration): For a protected
4         operation that is only declared in a protected body, create a
5         corresponding subprogram declaration.
6         * exp_ch9.adb (Expand_N_Protected_Body): Create protected body of
7         operation in all cases, including for an operation that is only
8         declared in the body.
9         * sem_ch6.adb: Call Build_Private_Protected_Declaration
10         * exp_ch6.adb (Expand_N_Subprogram_Declaration): For an operation
11         declared in a protected body, create the declaration for the
12         corresponding protected version of the operation.
13
14 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
15
16         * gnat1drv.adb (Adjust_Global_Switches): Disable specific expansions
17         for Restrictions pragmas, to avoid tree inconsistencies between
18         compilations with different pragmas.
19
20 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
21
22         * sem_prag.adb (Check_Duplicated_Export_Name): Allow entities exported
23         to CIL to have duplicated export name.
24
25 2009-11-30  Robert Dewar  <dewar@adacore.com>
26
27         * a-tiinio.adb: Remove extraneous pragma Warnings (Off).
28
29 2009-11-30  Thomas Quinot  <quinot@adacore.com>
30
31         * par_sco.adb: Minor reformatting
32
33 2009-11-30  Ed Falis  <falis@adacore.com>
34
35         * s-vxwext.ad[s,b], system-vxworks-ppc.ads, s-stchop-vxworks.adb:
36         Comment update.
37
38 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
39
40         * par_sco.adb (Traverse_Handled_Statement_Sequence): Do not emit SCO's
41         for null statements that do not come from source.
42         * sinfo.ads: Clarify documentation of Comes_From_Source
43
44 2009-11-30  Vincent Celier  <celier@adacore.com>
45
46         * prj-nmsc.adb (Add_Source): Use Display_Name for both projects when
47         displaying the paths in error message.
48
49 2009-11-30  Emmanuel Briot  <briot@adacore.com>
50
51         * adaint.h, adaint.c (file_attributes): force the use of unsigned char.
52         On some platforms, "char" is signed, on others unsigned, so we
53         explicitly specify the one we expect
54
55 2009-11-30  Matthew Heaney  <heaney@adacore.com>
56
57         * a-coinve.adb (Insert): Move exception handler closer to point where
58         exception can occur.
59         Minor reformatting & comment additions.
60
61 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
62
63         * freeze.adb (Freeze_Entity): Disable warning on 'Foreign caller must
64         pass bounds' for VM targets, not relevant.
65
66 2009-11-30  Robert Dewar  <dewar@adacore.com>
67
68         * sem_util.adb (Wrong_Type): Diagnose additional case of modular
69         missing parens.
70         * a-tiinio.adb, a-wtinio.adb, a-ztinio.adb: Minor reformatting
71
72         * exp_util.adb (Kill_Dead_Code): Suppress warning for some additional
73         cases.
74
75         * sem_warn.adb (Set_Warning_Flag): Clean up gnatwA list and ensure
76         completeness.
77         (Set_Dot_Warning_Flag): Ditto for -gnatw.e
78         (Set_Dot_Warning_Flag): Implement -gnbatw.v/w.V
79         * usage.adb: Add lines for -gnatw.v/w.V
80
81 2009-11-30  Emmanuel Briot  <briot@adacore.com>
82
83         * make.adb (Check_Standard_Library): use Full_Source_Name instead of
84         direct call to Find_File. The former provides caching of the results, so
85         might be more efficient
86         (Start_Compile_If_Necessary): Add comment on possible optimization,
87         not done for now.
88
89 2009-11-30  Thomas Quinot  <quinot@adacore.com>
90
91         * g-sechas.adb: Minor reformatting
92
93 2009-11-30  Matthew Heaney  <heaney@adacore.com>
94
95         * a-crbtgo.adb (Delete_Fixup): Add comments explaining why predicates
96         were removed.
97         * a-cdlili.adb (Vet): Remove always-true predicates.
98
99 2009-11-30  Thomas Quinot  <quinot@adacore.com>
100
101         * s-sechas.adb, s-sechas.ads, s-shshco.adb, s-shshco.ads, s-shsh64.adb,
102         s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, s-shsh32.adb, s-shsh32.ads,
103         s-sehash.adb, s-sehash.ads, g-sechas.adb, g-sechas.ads, g-shshco.adb,
104         g-shshco.ads, g-md5.ads, g-sha256.ads, g-shsh64.adb, g-shsh64.ads,
105         g-sehamd.adb, g-sehamd.ads, g-sha512.ads, g-sha1.ads, Makefile.rtl,
106         g-sha224.ads, g-shsh32.adb, g-shsh32.ads, g-sha384.ads, g-sehash.adb,
107         g-sehash.ads: Rename System.Secure_Hashes to GNAT.Secure_Hashes.
108
109 2009-11-30  Robert Dewar  <dewar@adacore.com>
110
111         * osint.ads: Minor comment update.
112
113 2009-11-30  Thomas Quinot  <quinot@adacore.com>
114
115         * s-sechas.adb: Fix swapping error in previous checkin.
116         * g-md5.ads, g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads,
117         g-sha384.ads: Add missing documentation.
118
119 2009-11-30  Robert Dewar  <dewar@adacore.com>
120
121         * g-sha256.ads, s-sehamd.ads, s-sehamd.adb, g-sha512.ads, g-sha224.ads,
122         g-sha384.ads: Minor reformatting
123
124 2009-11-30  Emmanuel Briot  <briot@adacore.com>
125
126         * adaint.h (file_attributes): Reduce size of the structure, so that it
127         is less costly to store in records.
128         * makeutl.adb:
129         (Check_Source_Info_In_ALI): use Full_Source_Name instead of a direct
130         call to Find_File, since the former provides caching when appropriate,
131         which limits the number of system calls in some cases.
132         * osint.ads, prj.ads (Source_Data): do not store directly the timestamp,
133         but the file attributes since we also need access to the size of the
134         ALI file to parse it. This gives an opportunity for saving system calls
135         on Unix systems.
136
137 2009-11-30  Robert Dewar  <dewar@adacore.com>
138
139         * sem_prag.adb, s-sechas.ads, s-sechas.adb: Minor reformatting.
140
141 2009-11-30  Gary Dismukes  <dismukes@adacore.com>
142
143         * sem_prag.adb (Process_Convention): Change formal E to Ent. In the
144         case where the pragma's entity argument is a renaming, return the
145         entity denoted by the renaming rather than the renamed entity. Loop
146         through the homonyms of the original argument entity, rather than the
147         homonyms of any renamed entity. Correct call to Generate_Entity to
148         pass the homonym.
149
150 2009-11-30  Vincent Celier  <celier@adacore.com>
151
152         * impunit.adb: Add packages that were added to the GNAT library:
153         GNAT.SHA224, GNAT.SHA256, GNAT.SHA384 and GNAT.SHA512.
154         * s-sechas.adb (Fill_Buffer_Copy): Fixes incorrect slice index
155
156 2009-11-30  Robert Dewar  <dewar@adacore.com>
157
158         * exp_ch3.adb: Minor reformatting
159         * g-md5.ads, g-sha1.ads: Add comment.
160
161 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
162
163         * gcc-interface/Makefile.in: Remove handling of libgccprefix, no longer
164         needed.
165
166 2009-11-30  Pascal Obry  <obry@adacore.com>
167
168         * expect.c: Fix cast to avoid warnings in x86-64 Windows.
169
170 2009-11-30  Thomas Quinot  <quinot@adacore.com>
171
172         * gnat_rm.texi, s-sechas.adb, s-sechas.ads, s-shshco.adb,
173         s-shshco.ads, g-md5.adb, g-md5.ads, g-sha256.ads, s-shsh64.adb,
174         s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, g-sha512.ads, g-sha1.adb,
175         g-sha1.ads, Makefile.rtl, g-sha224.ads, g-sha384.ads, s-shsh32.adb,
176         s-shsh32.ads, s-sehash.adb, s-sehash.ads: Reimplementation of GNAT.MD5
177         and GNAT.SHA1 to factor shared code and avoid unnecessary stack copies.
178         Also introduce new functions SHA-{224,256,384,512}
179
180 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
181
182         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve comment for
183         the Value_Type case.
184
185 2009-11-30  Thomas Quinot  <quinot@adacore.com>
186
187         * a-textio.adb: Minor reformatting
188
189 2009-11-30  Pascal Obry  <obry@adacore.com>
190
191         * adaint.c: Fix bug in passing parameter.
192         * expect.c: Include io.h to get definition of _open_osfhandle
193
194 2009-11-30  Javier Miranda  <miranda@adacore.com>
195
196         * exp_ch6.adb, sem_scil.adb (Adjust_SCIL_Node): Add missing management
197         of N_Unchecked_Type_Conversion nodes when searching for SCIL nodes.
198         (Expand_Call): Adjust decoration of SCIL node associated with relocated
199         function call.
200
201 2009-11-30  Emmanuel Briot  <briot@adacore.com>
202
203         * prj-env.adb (Add_To_Source_Path): Preserve casing of directories
204
205 2009-11-30  Vincent Celier  <celier@adacore.com>
206
207         * opt.ads (No_Split_Units): New flag initialized to False
208
209 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
210
211         * exp_ch7.adb (Needs_Finalization): Add comments.
212         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve handling of
213         CIL Value types.
214
215 2009-11-30  Robert Dewar  <dewar@adacore.com>
216
217         * osint.adb, a-rttiev.adb: Minor reformatting.
218
219 2009-11-30  Robert Dewar  <dewar@adacore.com>
220
221         * gnat_rm.texi: Remove list of warning letters, and refer instead to
222         using gnatmake to get a brief list.
223
224         * debug.adb: Document -gnatd.i to disable pragma Warnings
225         * par-prag.adb, sem_prag.adb: Recognize -gnatd.i to disable Warnings
226         pragma.
227         * vms_data.ads: Add /NOWARNINGS_PRAGMS for -gnatd.i
228         
229 2009-11-30  Geert Bosch  <bosch@adacore.com>
230
231         * a-ngelfu.adb (Sin): Correct spelling of sine in comment.
232
233 2009-11-30  Vincent Celier  <celier@adacore.com>
234
235         * gnatls.adb: Do not call Get_Target_Parameters in Verbose_Mode, as it
236         is not needed and gnatls fails when called with -v -nostdinc.
237
238 2009-11-30  Emmanuel Briot  <briot@adacore.com>
239
240         * osint.adb, osint.ads (File_Time_Stamp): new subprogram.
241
242 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
243
244         * gnat_rm.texi, gnat_ugn.texi: Document new syntax for pragma Annotate
245
246 2009-11-30  Robert Dewar  <dewar@adacore.com>
247
248         * scans.ads (Wide_Wide_Character_Found): New flag
249         * scn.adb (Post_Scan): Set new flag Has_Wide_Wide_Character
250         * scng.adb (Set_String): Set new flag Wide_Wide_Character_Found
251         (Set_String): Fix failure to reset Wide_Character_Found
252         * sinfo.adb (Has_Wide_Wide_Character): New flag in N_String_Literal
253         * sinfo.ads (Has_Wide_Wide_Character): New flag in N_String_Literal
254         * a-ngelfu.adb: Minor reformatting & code reorganization.
255         * usage.adb: Fix typo in -gnatw.W line
256
257 2009-11-30  Robert Dewar  <dewar@adacore.com>
258
259         * osint.adb, prj-nmsc.adb, sem_prag.adb, sem_util.adb: Minor
260         reformatting.
261         * csinfo.adb: Terminate run if improper use of reserved flag
262         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): Don't use reserved
263         Flag12, used Flag13 instead.
264         
265 2009-11-30  Vincent Celier  <celier@adacore.com>
266
267         * gnatcmd.adb (Check_Files): Recognize documented switches that have a
268         separate parameter.
269
270 2009-11-30  Robert Dewar  <dewar@adacore.com>
271
272         * sem_util.ads: Minor reformatting
273         * errout.adb: Minor reformatting
274         Minor code reorganization (use N_Subprogram_Specification to simplify)
275         * exp_ch7.adb: Add comment.
276
277 2009-11-30  Thomas Quinot  <quinot@adacore.com>
278
279         * put_scos.adb (Put_SCOs): Do not generate a SCO unit header for a unit
280         that has no SCOs.
281         * scos.ads: Minor reformatting
282
283 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
284
285         * sem_prag.adb: Second unanalyzed parameter of Annotate is optional.
286
287 2009-11-30  Eric Botcazou  <ebotcazou@adacore.com>
288
289         * init.c (__gnat_adjust_context_for_raise, Linux version): Add guard
290         for null PC saved in the context.
291
292 2009-11-30  Hristian Kirtchev  <kirtchev@adacore.com>
293
294         * a-calend.adb (Day_Of_Week): Rewritten. The routine determines the
295         number of days from the Ada Epoch to the input date while ensuring that
296         both dates are in the same time zone.
297
298 2009-11-30  Emmanuel Briot  <briot@adacore.com>
299
300         * clean.adb ("-eL"): Also set Follow_Links_For_Dirs, to match what is
301         done in other project-aware tools like gnatmake and gprbuild.
302
303 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
304
305         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Take care of CIL
306         ValueTypes.
307         * exp_ch7.adb (Needs_Finalization): Do not finalize CIL valuetypes.
308         * sem_util.adb (Is_Value_Type): Protect against invalid calls to Chars
309         (Is_Delegate): New method used for CIL.
310         * sem_util.ads (Is_Delegate): New method for CIL handling.
311         (Is_Value_Type): Improve documentation.
312
313 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
314
315         * errout.adb (Unwind_Internal_Type): Improve error reporting if the
316         type is an anonymous access to subprogram that is the type of a formal
317         in a subprogram spec.
318
319 2009-11-30  Vincent Celier  <celier@adacore.com>
320
321         * prj-nmsc.adb (Check_Interfaces): In a Stand-Alone Library project, if
322         attribute Interfaces is not declared, then Library_Interface should
323         define the interfaces.
324
325 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
326
327         * sem_prag.adb: New semantics for Annotate.
328
329 2009-11-30  Tristan Gingold  <gingold@adacore.com>
330
331         * gcc-interface/Makefile.in: Do not link with -static-libgcc on Darwin.
332
333 2009-11-30  Emmanuel Briot  <briot@adacore.com>
334
335         * gnat_ugn.texi: Extend doc for -eL
336
337 2009-11-30  Vincent Celier  <celier@adacore.com>
338
339         * osint.adb (Executable_Name (File_Name_Type)): Put the Name in the
340         Name_Buffer before testing for a dot in the Name.
341
342 2009-11-30  Vincent Celier  <celier@adacore.com>
343
344         * prj-part.adb (Project_Path_Name_Of): Resolve links for final result
345         if -eL has been specified.
346
347 2009-11-30  Vincent Celier  <celier@adacore.com>
348
349         * osint.adb (Executable_Name): Test the name instead of the name buffer
350         to check if there is a dot in the given name.
351
352 2009-11-30  Sergey Rybin  <rybin@adacore.com>
353
354         * gnat_ugn.texi: Update gnatcheck doc.
355
356 2009-11-30  Robert Dewar  <dewar@adacore.com>
357
358         * sem_ch3.adb, sem_disp.adb, usage.adb: Minor reformatting
359
360 2009-11-30  Vasiliy Fofanov  <fofanov@adacore.com>
361
362         * gnat_ugn.texi: Minor editing.
363
364 2009-11-30  Emmanuel Briot  <briot@adacore.com>
365
366         * prj-nmsc.adb (Search_Directories): when -eL was not specified, assume
367         that no directory matches the naming scheme for sources.
368
369 2009-11-30  Emmanuel Briot  <briot@adacore.com>
370
371         * prj.adb, prj.ads, prj-nmsc.adb (Has_Multi_Unit_Sources): New field in
372         project_data.
373
374 2009-11-30  Vincent Celier  <celier@adacore.com>
375
376         * osint.adb (Executable_Name): Correctly decide if the executable
377         suffix should be added when Only_If_No_Suffix is True.
378
379 2009-11-30  Robert Dewar  <dewar@adacore.com>
380
381         * frontend.adb, gnatlink.adb, prj-conf.adb, prj-tree.adb,
382         prj-tree.ads: Minor reformatting
383
384 2009-11-30  Vincent Celier  <celier@adacore.com>
385
386         * gnatlink.adb (Process_Args): Call Executable_Name on argument of -o
387         with Only_If_No_Suffix set to True.
388         * osint.adb (Executable_Name): Do not add executable suffix if there is
389         already a suffix and Only_If_No_Suffix is True.
390         * osint.ads (Executable_Name): New Boolean parameter Only_If_No_Suffix,
391         defaulted to False.
392
393 2009-11-30  Javier Miranda  <miranda@adacore.com>
394
395         * exp_atag.adb (Build_TSD): Change argument name because the actual is
396         now the address of a tag (instead of the tag). Update implementation
397         accordingly.
398         (Build_CW_Membership): New implementation. Converted into a procedure
399         because it has an additional out mode parameter. Its implementation has
400         been rewritten to improve the generated code but also to facilitate
401         referencing the relocated object node in the caller.
402         * exp_atag.ads (Build_CW_Membership): Update profile and documentation.
403         * sinfo.ads (N_SCIL_Membership_Test) New_Node.
404         (SCIL_Tag_Value): New field of N_SCIL_Membership_Test nodes.
405         (Is_Syntactic_Field): Add entry of new node.
406         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
407         * sinfo.adb (SCIL_Related_Node, SCIL_Entity): Update assertions to
408         handle N_SCIL_Membership_Test nodes.
409         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
410         * sem.adb (Analyze): Add null management for new node.
411         * sem_scil.adb (Find_SCIL_Node): Add null management for new node.
412         (Check_SCIL_Node): Add checks of N_SCIL_Membership_Test nodes.
413         * exp_ch4.adb (Tagged_Membership): Change profile from function to
414         procedure. Add generation of SCIL node associated with class-wide
415         membership test.
416         (Expand_N_In): Complete decoration of SCIL nodes.
417         * exp_intr.adb (Expand_Dispatching_Constructor_Call): Tune call to
418         Build_CW_Membership because its profile has been changed.
419         * exp_util.adb (Insert_Actions): Add null management for new node.
420         * sprint.adb (Sprint_Node_Actual): Handle new node.
421         * gcc-interface/trans.c Add no processing for N_SCIL_Membership_Test
422         nodes.
423         * gcc-interface/Make-lang.in: Update dependencies.
424
425 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
426
427         * opt.ads: New flags Init_Or_Norm_Scalars_Config,
428         Initialize_Scalars_Config, to capture the presence of the corresponding
429         pragmas in a configuration file.
430         * opt.adb (Register_, Save_, Set_, Restore_Opt_Configuration_Switches):
431         handle new flags so that they are restored for each compilation unit.
432         * frontend.adb: At the end of compilation, scan the context of the main
433         unit to recover occurrences of pragma Initialize_Scalars, to annotate
434         the ALI file accordingly.
435
436 2009-11-30  Vincent Celier  <celier@adacore.com>
437
438         * prj-tree.ads: Minor comment updates
439         * prj-tree.adb: Minor reformatting
440
441 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
442
443         * sem_ch3.adb (Derive_Subprogram): Indicate that an inherited
444         predefined control operation is hidden if the parent type is not
445         visibly controlled.
446         * sem_ch6.adb (Check_Overriding_Indicator): Do not report error if
447         overridden operation is not visible, as may be the case with predefined
448         control operations.
449         * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on
450         non-overriding control operation when type is not visibly controlled,
451         if the subprogram has an explicit overriding indicator.
452         * sem_util.ads, sem_util.adb (Is_Visibly_Controlled): Moved here from
453         sem_disp.adb.
454
455 2009-11-30  Emmanuel Briot  <briot@adacore.com>
456
457         * prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows
458         * prj-attr.ads: Minor comment updates
459
460 2009-11-30  Robert Dewar  <dewar@adacore.com>
461
462         * gnat_rm.texi: Document pragma Short_Circuit
463
464 2009-11-30  Emmanuel Briot  <briot@adacore.com>
465
466         * prj-conf.adb, prj-tree.adb, prj-tree.ads (Create_Attribute): Now set
467         the index either on the attribute or on its value, depending on the
468         kind of the attribute. Done to match recent changes in Prj.PP that were
469         not synchronized with this function.
470
471 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
472
473         * gcc-interface/Make-lang.in: Fix typo.
474         Update dependencies.
475
476 2009-11-30  Robert Dewar  <dewar@adacore.com>
477
478         * gnat_rm.texi: Add documentation for attribute Result.
479
480 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
481
482         * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
483         s-osinte-tru64.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads
484         (Get_Page_Size): Update comment since Get_Page_Size is now required.
485
486 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
487
488         * freeze.adb: Disable Warning on VM targets concerning C Imports, not
489         relevant.
490
491 2009-11-30  Bob Duff  <duff@adacore.com>
492
493         * sprint.adb (Source_Dump): Minor comment fix.
494         (Write_Itype): When writing a string literal subtype, use Expr_Value
495         instead of Intval to get the low bound.
496
497 2009-11-30  Vincent Celier  <celier@adacore.com>
498
499         * gnatlink.adb (Process_Args): Do not call Executable_Name on arguments
500         of switch -o.
501
502 2009-11-30  Robert Dewar  <dewar@adacore.com>
503
504         * exp_ch4.adb (Expand_N_Op_And): Implement pragma Short_Circuit_And_Or
505         (Expand_N_Op_Or): Implement pragma Short_Circuit_And_Or
506         * opt.ads (Short_Circuit_And_Or): New flag
507         * par-prag.adb: Add dummy entry for pragma Short_Circuit_And_Or
508         * sem_prag.adb: Implement pragma Short_Circuit_And_Or
509         * snames.ads-tmpl: Add entries for pragma Short_Circuit_And_Or
510
511 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
512
513         * s-taprop-posix.adb: Fix casing.
514         * s-osinte-tru64.adb: Complete previous check-in.
515
516 2009-11-30  Robert Dewar  <dewar@adacore.com>
517
518         * gnat_rm.texi: Document pragma Compiler_Unit
519         * s-bitops.adb, s-restri.adb, g-htable.adb, s-restri.ads,
520         a-comlin.ads, a-strhas.ads, s-strhas.adb, s-parame.adb,
521         s-parame.ads, a-clrefi.adb, a-clrefi.ads, a-ioexce.ads: Supply missing
522         Compiler_Unit pragmas.
523         * freeze.adb (Freeze_Entity): Improve message for 8-bit boolean passed
524         to C.
525
526 2009-11-30  Robert Dewar  <dewar@adacore.com>
527
528         * makeutl.adb, makeutl.ads, prj-proc.adb, prj.adb, prj.ads: Minor
529         reformatting.
530
531 2009-11-30  Thomas Quinot  <quinot@adacore.com>
532
533         * osint.adb: Minor reformatting
534
535 2009-11-30  Vincent Celier  <celier@adacore.com>
536
537         * makeutl.ads, makeutl.adb (Base_Name_Index_For): New function to get
538         the base name of a main without the extension, with an eventual source
539         index.
540         (Mains.Get_Index): New procedure to set the source index of a main
541         (Mains.Get_Index): New function to get the source index of a main
542         * prj-attr.adb: New attributes Config_Body_File_Name_Index,
543         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
544         Multi_Unit_Switches.
545         * prj-nmsc.adb (Process_Compiler): Takle into account new attributes
546         Config_Body_File_Name_Index, Config_Spec_File_Name_Index,
547         Multi_Unit_Object_Separator and Multi_Unit_Switches.
548         Allow only one character for Multi_Unit_Object_Separator.
549         * prj-proc.adb (Process_Declarative_Items): Take into account the
550         source indexes in indexes of associative array attribute declarations.
551         * prj.adb (Object_Name): New function to get the object file name for
552         units in multi-unit sources.
553         * prj.ads (Language_Config): New components Multi_Unit_Switches,
554         Multi_Unit_Object_Separator Config_Body_Index and Config_Spec_Index.
555         (Object_Name): New function to get the object file name for units in
556         multi-unit sources.
557         * snames.ads-tmpl: New standard names Config_Body_File_Name_Index,
558         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
559         Multi_Unit_Switches.
560
561 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
562
563         * s-tassta.adb: Update comment.
564
565 2009-11-30  Robert Dewar  <dewar@adacore.com>
566
567         * a-ngelfu.adb: Minor code reorganization.
568
569 2009-11-30  Robert Dewar  <dewar@adacore.com>
570
571         * osint.ads, prj.adb, prj.ads: Minor reformatting
572         * s-stchop.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
573         s-taprop-vms.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
574         s-strxdr.adb, s-taprop-irix.adb, s-osinte-hpux-dce.adb,
575         s-osinte-tru64.adb, s-taenca.adb, s-taprop-hpux-dce.adb, s-stausa.adb,
576         s-taprop-posix.adb: Minor code reorganization (use conditional
577         expressions).
578
579 2009-11-30  Bob Duff  <duff@adacore.com>
580
581         * g-sttsne-locking.adb (Copy_Service_Entry): Complete previous change.
582
583 2009-11-30  Bob Duff  <duff@adacore.com>
584
585         * socket.c: Add more accessor functions for struct servent (need
586         setters as well as getters).
587         * g-sothco.ads (Servent): Declare interfaces to C setter functions for
588         struct servent.
589         * g-sttsne-locking.adb (Copy_Service_Entry): Use setter functions for
590         struct servent.
591
592 2009-11-30  Robert Dewar  <dewar@adacore.com>
593
594         * s-stchop-vxworks.adb: Add comment.
595
596 2009-11-30  Emmanuel Briot  <briot@adacore.com>
597
598         * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Now acts
599         on the whole tree, to better share code with gprbuild.
600         (Length): New subprogram, to share code in gprbuild.
601         (Project_Data): Remove fields that are only needed when compiling a
602         project in gprbuild (where we use local variables instead)
603         * osint.adb, osint.ads: Added minor comment on memory management
604
605 2009-11-30  Sergey Rybin  <rybin@adacore.com>
606
607         * gnat_ugn.texi: Update gnatcheck doc.
608
609 2009-11-30  Robert Dewar  <dewar@adacore.com>
610
611         make.adb, prj-makr.adb, g-sothco.ads: Minor reformattting
612         * s-taprop-dummy.adb: Minor code reorganization (raise with msgs start
613         with lower case).
614         * i-vxwoio.adb, g-dirope.adb, g-sercom-linux.adb,
615         g-enblsp-vms-alpha.adb, g-regist.adb, s-imgcha.adb, s-tarest.adb,
616         s-taprop-mingw.adb, g-exctra.adb, g-expect.adb, g-comlin.adb,
617         g-debpoo.adb, g-expect-vms.adb, g-pehage.adb, g-trasym-vms-alpha.adb,
618         g-enblsp-vms-ia64.adb, s-fatgen.adb, s-fileio.adb: Minor code
619         reorganization (use conditional expressions).
620
621 2009-11-30  Vincent Celier  <celier@adacore.com>
622
623         * prj-makr.adb (Source_Files): New hash table to keep track of source
624         file names.
625         (Finalize): Avoid putting several times the same source file name
626         in the source list file.
627         * prj-pp.adb (Print): Fix a bug in the placement of "at nn" for
628         associative array indexes.
629
630 2009-11-30  Robert Dewar  <dewar@adacore.com>
631
632         * g-dyntab.ads: Add missing pragma Compiler_Unit
633
634 2009-11-30  Thomas Quinot  <quinot@adacore.com>
635
636         * s-crtrun.ads, s-crtl.ads, g-stseme.adb, Makefile.rtl, s-fileio.adb
637         (System.CRTL.Runtime): New unit, to contain parts of s-crtl that are
638         used in the Ada runtime but can't be used in the compiler because of
639         bootstrap issues.
640         * socket.c, s-oscons-tmplt.c, g-sothco.ads
641         (System.OS_Constants.SIZEOF_struct_servent): New constant.
642         Use s-oscons constant instead of external variable to get size of
643         struct hostent.
644
645 2009-11-30  Thomas Quinot  <quinot@adacore.com>
646
647         * s-crtl.ads, g-stseme.adb, s-fileio.adb (System.CRTL.strerror): Change
648         return type to Interfaces.C.Strings.chars_ptr to eliminate need for
649         dubious unchecked conversion at call sites.
650         * s-errrep.adb, s-errrep.ads, Makefile.rtl (System.Error_Reporting):
651         Remove obsolete, unused runtime unit.
652         * gcc-interface/Make-lang.in: Update dependencies.
653         * gcc-interface/Makefile.in: Remove VMS specialization of s-crtl, not
654         required anymore.
655
656 2009-11-30  Vincent Celier  <celier@adacore.com>
657
658         * gnatlink.adb: Delete an eventual existing executable file, in case it
659         is a symbolic link, to avoid modifying the target of the symbolic link.
660
661 2009-11-30  Bob Duff  <duff@adacore.com>
662
663         * socket.c: Add accessor functions for struct servent.
664         * g-sothco.ads (Servent): Declare interfaces to C accessor functions
665         for struct servent.
666         * g-socket.adb (To_Service_Entry): Use accessor functions for struct
667         servent.
668
669 2009-11-30  Robert Dewar  <dewar@adacore.com>
670
671         * g-arrspl.adb: Minor reformatting
672         * g-dyntab.adb: Add missing pragma Compiler_Unit
673
674 2009-11-30  Thomas Quinot  <quinot@adacore.com>
675
676         * s-crtl.ads, s-oscons-tmplt.c: Fix support for VMS
677         * make.adb, g-comlin.ads, exp_ch6.adb: Minor reformatting
678
679 2009-11-30  Robert Dewar  <dewar@adacore.com>
680
681         * bcheck.adb, gnatlink.adb, make.adb, makeutl.adb, osint.adb,
682         osint.ads, prj-ext.adb, sem_case.adb: Minor reformatting
683         * g-alleve.adb: Minor code reorganization (use conditional expressions)
684
685 2009-11-30  Matthew Heaney  <heaney@adacore.com>
686
687         * a-crbtgo.adb (Delete_Fixup): Changed always-true predicates to
688         assertions.
689
690 2009-11-30  Thomas Quinot  <quinot@adacore.com>
691
692         * a-tasatt.adb, s-crtl.ads, s-taprop-dummy.adb (System.CRTL.malloc32,
693         System.CRTL.realloc32): Remove VMS-specific routines.
694         (Ada.Task_Attributes.Reference): Remove unreachable code.
695         (System.Task_Primitives.Operations.Initialize, dummy version):
696         Use plain Program_Error rather than call to
697         System.Error_Reporting.Shutdown.
698
699 2009-11-30  Thomas Quinot  <quinot@adacore.com>
700
701         * s-oscons-tmplt.c, xoscons.adb: Add new constants in preparation for
702         sharing s-crtl across all platforms.
703
704 2009-11-30  Thomas Quinot  <quinot@adacore.com>
705
706         * s-commun.adb, s-commun.ads: New internal support unit,
707         allowing code sharing between GNAT.Sockets and
708         GNAT.Serial_Communication.
709         * g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
710         g-socket.adb (GNAT.Sockets.Last_Index): Move to System.Communication.
711         (GNAT.Serial_Communication.Read): Handle correctly the case where no
712         data was read, and Buffer'First = Stream_Element_Offset'First.
713         * Makefile.rtl: Add entry for s-commun
714         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
715         g-socthi-vxworks.ads, g-stseme.adb, g-socthi-mingw.ads,
716         g-socthi.adb, g-socthi.ads (GNAT.Sockets.Thin.Socket_Error_Message):
717         Reimplement in terms of System.CRTL.strerror.
718
719 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
720
721         * gcc-interface/utils.c (copy_type): Unshare the language-specific data
722         and the contents of the language-specific slot if needed.
723
724 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
725
726         * gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location
727         of the operator on both branches of the test in the generic case.
728
729 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
730
731         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...
732         (unchecked_conversion_nop): ...this.  Handle actual parameters.
733         (gnat_to_gnu): Adjust for above renaming.
734
735 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
736
737         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
738         Translate regular boolean types into BOOLEAN_TYPEs.
739
740 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
741
742         * sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype,
743         also set the flag on the Equivalent_Type.
744         * gcc-interface/utils.c (finish_record_type): Replace DO_NOT_FINALIZE
745         parameter with DEBUG_INFO_P.  Rename FIELDLIST into FIELD_LIST.
746         (rest_of_record_type_compilation): Rename FIELDLIST into FIELD_LIST.
747         (build_vms_descriptor32): Adjust call to finish_record_type.
748         (build_vms_descriptor): Likewise.
749         (build_unc_object_type): Likewise.
750         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
751         finish_record_type and components_to_record.
752         (make_packable_type): Adjust call to finish_record_type.
753         (maybe_pad_type): Likewise.  Tweak condition.
754         (components_to_record): Likewise.  Replace DO_NOT_FINALIZE parameter
755         with MAYBE_UNUSED.  Adjust recursive call.
756         (create_variant_part_from): Adjust call to finish_record_type.  Do not
757         call rest_of_record_type_compilation on the new record types.
758         * gcc-interface/trans.c (gigi): Adjust call to finish_record_type.
759         * gcc-interface/gigi.h (finish_record_type): Adjust prototype and
760         comment.
761         (rest_of_record_type_compilation): Adjust comment.
762
763 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
764
765         * exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as
766         frozen for targets that do not require front-end layout.
767         (New_Class_Wide_Subtype): Always reset the freezing status to False.
768         * exp_ch8.adb: Do not 'with' Targparm.
769         (Expand_N_Object_Renaming_Declaration): Always freeze a class-wide
770         subtype that has been built from the expression.
771         * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
772         class wide, freeze the implicit type that has been built from the
773         expression at the dereference point.
774         * freeze.adb (Freeze_Entity): Adjust comment.
775         * gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Class_Wide_Type>:
776         Remove useless test.
777         * gcc-interface/trans.c (process_freeze_entity): Do not special-case
778         class-wide subtypes.
779
780         * s-osinte-aix.adb (clock_gettime): Fix comment.
781         * s-osinte-darwin.adb (clock_gettime): Likewise.
782
783 2009-11-23  Eric Botcazou  <ebotcazou@adacore.com>
784
785         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Pass the list
786         of attributes when building the corresponding variable of a constant.
787         * gcc-interface/utils.c (create_var_decl_1): Do not process attributes
788         for constants.
789
790 2009-11-23  Laurent GUERBY  <laurent@guerby.net>
791             Eric Botcazou  <ebotcazou@adacore.com>
792
793         PR ada/42153
794         * s-osinte-linux.ads (struct_timeval): Delete.
795         * s-osinte-hpux.ads (struct_timeval, To_Duration, To_Timeval): Delete.
796         * s-osinte-kfreebsd-gnu.ads: Likewise.
797         * s-osinte-rtems.ads: Likewise.
798         * s-osinte-aix.ads: Likewise.
799         * s-osinte-hpux-dce.ads: Likewise.
800         * s-osinte-darwin.ads: Likewise.
801         * s-osinte-solaris-posix.ads: Likewise.
802         * s-osinte-irix.ads: Likewise.
803         * s-osinte-solaris.ads: Likewise.
804         * s-osinte-hpux-dce.adb (To_Duration, To_Timeval): Delete.
805         * s-osinte-irix.adb: Likewise.
806         * s-osinte-solaris.adb: Likewise.
807         * s-osinte-rtems.adb: Likewise.  Minor reformatting.
808         * s-osinte-aix.adb (To_Duration, To_Timeval): Delete.
809         (clock_gettime): Use cal.c's timeval_to_duration.
810         * s-osinte-darwin.adb: Likewise.
811
812 2009-11-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
813
814         * adaint.h: Assume large file support on IRIX only if _LFAPI.
815
816 2009-11-21  Laurent GUERBY  <laurent@guerby.net>
817             Eric Botcazou  <ebotcazou@adacore.com>
818
819         * s-osinte-linux.ads (struct_timeval, To_Duration, To_Timeval,
820         gettimeofday): Delete.
821         * s-osinte-posix.adb (To_Duration, To_Timeval): Delete.
822         * s-osprim-posix.adb (struct_timezone, struct_timeval, gettimeofday):
823         Delete.
824         (Clock): Use cal.c's timeval_to_duration.
825         * s-taprop-linux.adb (Monotonic_Clock): Likewise.
826
827 2009-11-12  Eric Botcazou  <ebotcazou@adacore.com>
828             Laurent GUERBY  <laurent@guerby.net>
829
830         * init.c (GNU/Linux Section): Enable for all architectures.
831
832 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
833
834         PR ada/20548
835         * system-linux-alpha.ads (Stack_Check_Probes): Set to true.
836         * system-linux-hppa.ads (Stack_Check_Probes): Likewise.
837         * system-linux-sparc.ads (Stack_Check_Probes): Likewise.
838         * system-linux-sparcv9.ads (Stack_Check_Probes): Likewise.
839
840 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
841
842         * system-linux-alpha.ads (AAMP, Compiler_System_Version, OpenVMS,
843         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
844         Delete.
845         (Stack_Check_Limits, Always_Compatible_Rep): New.
846         * system-linux-mips.ads (AAMP, Compiler_System_Version, OpenVMS,
847         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
848         Delete.
849         (Stack_Check_Limits, Always_Compatible_Rep): New.
850         * system-linux-mips64el.ads (AAMP, Compiler_System_Version, OpenVMS,
851         Functions_Return_By_DSP, Front_End_ZCX_Support, High_Integrity_Mode,
852         Long_Shifts_Inlined): Delete.
853         (Stack_Check_Limits, Always_Compatible_Rep): New.
854         * system-linux-mipsel.ads (AAMP, Compiler_System_Version, OpenVMS,
855         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
856         Delete.
857         (Stack_Check_Limits, Always_Compatible_Rep): New.
858         * system-linux-s390.ads (AAMP, Compiler_System_Version, OpenVMS,
859         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
860         Delete.
861         (Stack_Check_Limits, Always_Compatible_Rep): New.
862         * system-linux-s390x.ads (AAMP, Compiler_System_Version, OpenVMS,
863         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
864         Delete.
865         (Stack_Check_Limits, Always_Compatible_Rep): New.
866         * system-linux-sh4.ads (Stack_Check_Limits, Always_Compatible_Rep):
867         New.
868         * system-linux-sparc.ads (AAMP, Compiler_System_Version, OpenVMS,
869         Front_End_ZCX_Support): Delete.
870         (Stack_Check_Limits, Always_Compatible_Rep): New.
871         * system-linux-sparcv9.ads (AAMP, Compiler_System_Version, OpenVMS,
872         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
873         Delete.
874         (Stack_Check_Limits, Always_Compatible_Rep): New.
875         * system-rtems.ads (OpenVMS): Delete.
876         (Stack_Check_Limits, Always_Compatible_Rep): New.
877
878 2009-11-08  Eric Botcazou  <ebotcazou@adacore.com>
879
880         * gcc-interface/decl.c (make_packable_type): Fix oversight.
881         (gnat_to_gnu_field): Do not attempt to change the form of the type
882         if the field requires strict alignment.  Always change the form of
883         the type if the specified size is smaller than its size.
884
885 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
886
887         * gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes.
888
889 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
890
891         * gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>:
892         New case.
893
894 2009-10-30  Eric Botcazou  <ebotcazou@adacore.com>
895
896         * gcc-interface/utils.c (MAX_FIXED_MODE_SIZE): Delete.
897         (create_field_decl): Update description.  In a packed record, round
898         the size up to a byte boundary only if the field's type has BLKmode.
899         * gcc-interface/gigi.h (create_field_decl): Update description.
900
901 2009-10-30  Emmanuel Briot  <briot@adacore.com>
902
903         * make.adb (Start_Compile_If_Possible): Compute location of resulting
904         ALI file in this procedure instead of after the compilation itself,
905         since the current directory might have changed in between when using
906         -j<n>.
907
908         * osint.ads: Addded missing alignment clause.
909
910         * adaint.c, adaint.h, osint.adb (__gnat_reset_attributes,
911         __gnat_size_of_file_attributes): Rename reset_attributes and
912         size_of_file_attributes.
913
914 2009-10-30  Javier Miranda  <miranda@adacore.com>
915
916         * sem_scil.adb (Adjust_SCIL_Node): Add missing management of sequences
917         of statements when searching for SCIL nodes.
918
919 2009-10-30  Tristan Gingold  <gingold@adacore.com>
920
921         * gnatlink.adb, link.c: By default use shared libgcc on darwin.
922
923 2009-10-30  Emmanuel Briot  <briot@adacore.com>
924
925         * make.adb, osint.adb (Add_Lib_Search_Dir): Do not add if dir is
926         already in the list.
927         This saves system calls when looking for ALI files
928         (Scan_Make_Args): The parameter to gnatmake's -D is now converted to an
929         absolute PATH (so that the above improvement properly occurs if both
930         -D<dir> and -aO<dir> are specified).
931
932 2009-10-30  Thomas Quinot  <quinot@adacore.com>
933
934         * a-direct.adb: Minor reformatting
935
936 2009-10-30  Emmanuel Briot  <briot@adacore.com>
937
938         * make.adb, adaint.c, adaint.h, osint.adb, osint.ads, bcheck.adb
939         (*_attr): new subprograms.
940         (File_Length, File_Time_Stamp, Is_Writable_File): new subprograms
941         (Read_Library_Info_From_Full, Full_Library_Info_Name,
942         Full_Source_Name): Now benefit from a previous cache of the file
943         attributes, to further save on system calls.
944         (Smart_Find_File): now also cache the file attributes. This makes the
945         package File_Stamp_Hash_Table useless, and it was removed.
946         (Compile_Sources): create subprograms for the various steps of the main
947         loop, for readibility and to avoid sharing variables between the
948         various steps.
949
950 2009-10-30  Emmanuel Briot  <briot@adacore.com>
951
952         * make.adb, osint.adb, osint.ads (Library_File_Stamp): Removed, since
953         unused.
954         (Read_Library_Info_From_Full): New subprogram.
955
956 2009-10-30  Robert Dewar  <dewar@adacore.com>
957
958         * a-tideio.adb: Minor reformatting
959         * a-wtdeio.adb, a-ztdeio.adb: Update comments, code clean up.
960
961         * a-reatim.adb, a-tideau.adb, a-ngelfu.adb, a-ztdeau.adb, a-ngrear.adb,
962         a-wtedit.adb, a-ststio.adb, a-ztedit.adb: Minor code reorganization
963         (use conditional expressions).
964
965 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
966
967         * gnat_ugn.texi: Additional info on gnatw.i and gnatw.I
968
969         * sem_case.adb: Improved error message.
970
971 2009-10-30  Emmanuel Briot  <briot@adacore.com>
972
973         * a-direct.adb, gnatcmd.adb, gnatname.adb, makeutl.adb, opt.ads,
974         osint.adb, prj-ext.adb, switch-m.adb (Follow_Links_For_Dirs): Now
975         defaults to False, and controlled by -eL.
976         * a-direct.adb: Add comments.
977         * osint.adb (File_Stamp): Avoid unneeded duplicate system call
978
979 2009-10-30  Robert Dewar  <dewar@adacore.com>
980
981         * sem_res.adb (Resolve_Type_Conversion): Avoid false positive when
982         converting non-static subtype to "identical" static subtype.
983
984 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
985
986         * usage.adb: Add -gnatw.i switch.
987
988 2009-10-30  Vincent Celier  <celier@adacore.com>
989
990         * xsnamest.adb: Update comments with regards to the template files
991         snames.*.tmpl
992
993 2009-10-30  Bob Duff  <duff@adacore.com>
994
995         * s-fileio.adb (Errno_Message): Suppress VMS-specific warning.
996
997 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
998
999         * sem_case.adb (Check_Choices): Add explanatory message when there are
1000         missing alternatives when the required range of alternatives is given
1001         by the base type of the case expression or discriminant in a variant
1002         part.
1003
1004         * opt.ads: New flag Warn_On_Overlap, to enable warnings on potentially
1005         dangerous overlap between actuals in a call, activated by -gnatw.i
1006         * sem_warn.adb (Set_Dot_Warning_Switch): set flag.
1007         (Warn_On_Overlapping_Actuals): use new flag.
1008
1009         * gnat_ugn.texi: Document -gnatw.i, warning on overlapping actuals
1010
1011 2009-10-30  Robert Dewar  <dewar@adacore.com>
1012
1013         * exp_aggr.adb, exp_ch9.adb: Minor reformatting
1014
1015 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
1016
1017         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
1018         create integer types with precision 0.
1019
1020 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
1021
1022         PR ada/41870
1023         * gcc-interface/decl.c (array_type_has_nonaliased_component): Swap
1024         parameters and rewrite comments.  For a derived type, return the
1025         setting of its parent type.
1026         (gnat_to_gnu_entity): Do an alias set copy for derived types if they
1027         are composite.  Adjust calls to above function.
1028
1029 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
1030
1031         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Object_Size>: Do not
1032         return the RM size for padded types.
1033
1034 2009-10-28  Robert Dewar  <dewar@adacore.com>
1035
1036         * sem_type.adb: Minor reformatting
1037
1038 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
1039
1040         * exp_ch9.adb (Build_Task_Proc_Specification): Generate a different
1041         suffix for task type bodies.
1042
1043 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
1044
1045         * exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a
1046         finalization list if the designated type requires no control actions,
1047         to prevent a useless semantic dependence on ada.tags.
1048
1049 2009-10-28  Bob Duff  <duff@adacore.com>
1050
1051         * s-fileio.adb: Give more information in exception messages.
1052
1053 2009-10-28  Robert Dewar  <dewar@adacore.com>
1054
1055         * gnat_ugn.texi: Document new -gnatyt requirement for space after right
1056         paren if next token starts with digit or letter.
1057         * styleg.adb (Check_Right_Paren): New rule for space after if next
1058         character is a letter or digit.
1059
1060 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1061
1062         * s-crtl.ads (System.CRTL.strerror): New function.
1063
1064 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
1065
1066         * sem_type.adb: Add guard to recover some type errors.
1067
1068 2009-10-28  Vincent Celier  <celier@adacore.com>
1069
1070         * prj-nmsc.adb (Add_To_Or_Remove_From_List): New name of procedure
1071         Add_If_Not_In_List to account to the fact that a directory may be
1072         removed from the list. Only remove directory if Removed is True.
1073
1074 2009-10-28  Gary Dismukes  <dismukes@adacore.com>
1075
1076         * a-textio.ads, a-textio.ads: Put back function EOF_Char in private
1077         part. Put back body of function EOF_Char.
1078         * a-tienau.adb: Remove with of Interfaces.C_Streams and change EOF back
1079         to EOF_Char.
1080
1081 2009-10-28  Emmanuel Briot  <briot@adacore.com>
1082
1083         * prj-tree.adb (Free): Fix memory leak.
1084
1085 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1086
1087         * s-fileio.adb: Minor reformatting
1088
1089 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
1090
1091         * gcc-interface/Make-lang.in: Update dependencies.
1092
1093 2009-10-28  Robert Dewar  <dewar@adacore.com>
1094
1095         * exp_attr.adb, exp_ch9.adb, prj-nmsc.adb, tbuild.adb, ali.adb,
1096         types.ads: Minor reformatting
1097
1098 2009-10-28  Tristan Gingold  <gingold@adacore.com>
1099
1100         * init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard)
1101
1102 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1103
1104         * exp_ch4.adb (Expand_N_Type_Conversion): Perform Integer promotion for
1105         the operand of the unary minus and ABS operators.
1106
1107         * sem_type.adb (Covers): A concurrent type and its corresponding record
1108         type are compatible.
1109         * exp_attr.adb (Expand_N_Attribute_Reference): Do not rewrite a 'Access
1110         attribute reference for the current instance of a protected type while
1111         analyzing an access discriminant constraint in a component definition.
1112         Such a reference is handled in the corresponding record's init proc,
1113         while initializing the constrained component.
1114         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
1115         corresponding record type, propagate components'
1116         Has_Per_Object_Constraint flag.
1117         * exp_ch3.adb (Build_Init_Procedure.Build_Init_Statements):
1118         For a concurrent type, set up concurrent aspects before initializing
1119         components with a per object constrain, because they may be controlled,
1120         and their initialization may call entries or protected subprograms of
1121         the enclosing concurrent object.
1122
1123 2009-10-28  Emmanuel Briot  <briot@adacore.com>
1124
1125         * prj-nmsc.adb (Add_If_Not_In_List): New subprogram, for better sharing
1126         of code.
1127         (Find_Source_Dirs): resolve links if Opt.Follow_Links_For_Dirs when
1128         processing the directories specified explicitly in the project file.
1129
1130 2009-10-28  Robert Dewar  <dewar@adacore.com>
1131
1132         * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb,
1133         a-textio.ads, a-textio.adb: Reorganize (moving specs from private part
1134         to body).
1135         (Initialize_Standard_Files): New procedure.
1136         * a-tienau.adb: Minor change to make EOF directly visible
1137         * a-tirsfi.ads, a-wrstfi.adb, a-wrstfi.ads, a-zrstfi.adb,
1138         a-zrstfi.ads, a-tirsfi.adb: New unit, initial version.
1139         * gnat_rm.texi: Add documentation for
1140         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files.
1141         * Makefile.rtl: Add entries for
1142         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files
1143
1144 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1145
1146         * exp_ch9.ads: Minor reformatting
1147         * sem_ch3.adb: Minor reformatting
1148         * sem_aggr.adb: Minor reformatting.
1149         * sem_attr.adb: Minor reformatting
1150         * tbuild.adb, tbuild.ads, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node):
1151         New subprogram.
1152         Minor code reorganization/factoring.
1153
1154 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1155
1156         * gcc-interface/decl.c (purpose_member_field): New static function.
1157         (annotate_rep): Use it instead of purpose_member.
1158
1159 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1160
1161         * raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
1162         _Unwind_GetIP if HAVE_GETIPINFO is defined.
1163         (db_action_for): Likewise.
1164
1165 2009-10-27  Robert Dewar  <dewar@adacore.com>
1166
1167         * s-fileio.adb, s-fileio.ads, sem_util.adb, sem_warn.adb,
1168         sem_warn.ads: Minor reformatting
1169
1170 2009-10-27  Robert Dewar  <dewar@adacore.com>
1171
1172         * sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add
1173         comments.
1174
1175 2009-10-27  Robert Dewar  <dewar@adacore.com>
1176
1177         * s-os_lib.ads, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor
1178         reformatting.
1179
1180 2009-10-27  Ed Schonberg  <schonberg@adacore.com>
1181
1182         * sem.util.ads, sem_util.adb (Denotes_Same_Object,
1183         Denotes_Same_Prefix): New functions to detect overlap between actuals
1184         that are not by-copy in a call, when one of them is in-out.
1185         * sem_warn.ads, sem_warn.adb (Warn_On_Overlapping_Actuals): New
1186         procedure,  called on a subprogram call to warn when an in-out actual
1187         that is not by-copy overlaps with another actual, thus leadind to
1188         potentially dangerous aliasing in the body of the called subprogram.
1189         Currently the warning is under control of the -gnatX switch.
1190         * sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals.
1191
1192 2009-10-27  Thomas Quinot  <quinot@adacore.com>
1193
1194         * sem_ch12.adb (Install_Formal_Packages): Do not omit installation of
1195         visible entities when the formal package doesn't have a box.
1196
1197         * checks.adb: Minor reformatting.
1198
1199 2009-10-27  Vincent Celier  <celier@adacore.com>
1200
1201         * prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and
1202         set Project to Empty_Node.
1203
1204 2009-10-27  Robert Dewar  <dewar@adacore.com>
1205
1206         * gnatbind.adb: Minor reformatting
1207
1208 2009-10-27  Arnaud Charlet  <charlet@adacore.com>
1209
1210         * exp_aggr.adb: Fix comment.
1211
1212 2009-10-27  Emmanuel Briot  <briot@adacore.com>
1213
1214         * prj-err.adb (Error_Msg): take into account continuation lines when
1215         computing whether we have a warning.
1216
1217 2009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>
1218
1219         * make.adb, s-os_lib.adb, s-os_lib.ads (Create_Temp_Output_File): New
1220         routine that is designed to create temp file descriptor specifically
1221         for redirecting an output stream.
1222
1223 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
1224
1225         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
1226         processing the parent type, build the COMPONENT_REF for a discriminant
1227         with the proper type.
1228
1229 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
1230
1231         * init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo.
1232         * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Add HAVE_GETIPINFO.
1233         Pass GNATLIBCFLAGS_FOR_C to recursive invocations.
1234
1235 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1236
1237         * gcc-interfaces/decl.c (build_subst_list): Convert the expression of
1238         the constraint to the type of the discriminant.
1239
1240 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1241
1242         * gcc-interfaces/decl.c (gnat_to_gnu_entity): Do not create a new
1243         TYPE_DECL when a type is padded if there is already one and reset
1244         TYPE_STUB_DECL in this case.
1245
1246 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1247
1248         * gcc-interfaces/utils.c (create_subprog_decl): Do not redefine
1249         main_identifier_node.
1250
1251 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1252
1253         * gcc-interface/utils.c (convert): When converting to a padded type
1254         with an inner type of self-referential size, pad the expression before
1255         doing the unchecked conversion.
1256
1257 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1258
1259         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Make
1260         sure the element type is consistent.
1261
1262 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1263
1264         * gcc-interface/trans.c (addressable_p): Handle bitwise operations.
1265
1266 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1267
1268         * gcc-interface/ada-tree.h (TYPE_FAT_POINTER_P): Swap with...
1269         (TYPE_IS_FAT_POINTER_P): ...this.
1270         (TYPE_THIN_POINTER_P): Rename into...
1271         (TYPE_IS_THIN_POINTER_P): ...this.
1272         (TYPE_FAT_OR_THIN_POINTER_P): Rename into...
1273         (TYPE_IS_FAT_OR_THIN_POINTER_P): ...this.
1274         (TYPE_IS_PADDING_P): Change definition, move old one to...
1275         (TYPE_PADDING_P): ...this.
1276         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
1277         (get_unpadded_type): Likewise.
1278         (gnat_to_gnu_component_type): Likewise.
1279         (gnat_to_gnu_param): Likewise.
1280         (relate_alias_sets): Likewise.
1281         (make_packable_type): Likewise.
1282         (maybe_pad_type): Likewise.
1283         (gnat_to_gnu_field): Likewise.
1284         (is_variable_size): Likewise.
1285         (annotate_object): Likewise.
1286         (validate_size): Likewise.
1287         (set_rm_size): Likewise.
1288         (make_type_from_size): Likewise.
1289         (rm_size): Likewise.
1290         * gcc-interface/misc.c (gnat_print_type): Likewise.
1291         (gnat_get_alias_set): Likewise.
1292         * gcc-interface/trans.c (Identifier_to_gnu): Likewise.
1293         (Attribute_to_gnu): Likewise.
1294         (call_to_gnu): Likewise.
1295         (gnat_to_gnu): Likewise.
1296         (add_decl_expr): Likewise.
1297         (convert_with_check): Likewise.
1298         (addressable_p): Likewise.
1299         (maybe_implicit_deref): Likewise.
1300         (protect_multiple_eval): Likewise.
1301         (gnat_stabilize_reference_1): Likewise.
1302         * gcc-interface/utils.c (gnat_pushdecl): Likewise.
1303         (finish_record_type): Likewise.
1304         (rest_of_record_type_compilation): Likewise.
1305         (create_type_decl): Likewise.
1306         (gnat_types_compatible_p): Likewise.
1307         (build_template): Likewise.
1308         (convert_vms_descriptor64): Likewise.
1309         (convert_vms_descriptor32): Likewise.
1310         (build_unc_object_type_from_ptr): Likewise.
1311         (update_pointer_to): Likewise.
1312         (convert_to_fat_pointer): Likewise.
1313         (convert_to_fat_pointer): Likewise.
1314         (convert): Likewise.
1315         (remove_conversions): Likewise.
1316         (maybe_unconstrained_array): Likewise.
1317         (unchecked_convert): Likewise.
1318         (handle_vector_type_attribute): Likewise.
1319         * gcc-interface/utils2.c (build_binary_op): Likewise.
1320         (build_unary_op): Likewise.
1321         (build_allocator): Likewise.
1322
1323 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1324
1325         * exp_dbug.ads: Adjust type names in comments.
1326         * gcc-interface/decl.c (maybe_pad_type): Remove NAME_TRAILER parameter,
1327         add new IS_COMPONENT_TYPE parameter.  Adjust.  Remove dead code.
1328         (gnat_to_gnu_entity): Adjust for above change.
1329         (gnat_to_gnu_component_type): Likewise.
1330         (gnat_to_gnu_field): Likewise.
1331         * gcc-interface/trans.c (call_to_gnu): Likewise.  Do not unnecessarily
1332         call max_size.
1333         * gcc-interface/utils.c (finish_record_type): Remove obsolete code.
1334         * gcc-interface/gigi.h (maybe_pad_type): Adjust prototype.
1335
1336 2009-10-16  Joel Sherrill <joel.sherrill@oarcorp.com>
1337
1338         * s-osinte-rtems.ads: Add mutex type to pthread_mutexattr_t
1339         * s-stchop-rtems.adb: Correct binding to rtems_stack_checker_is_blown.
1340
1341 2009-10-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1342
1343         * env.c [__alpha__ && __osf__] (AES_SOURCE): Define.
1344
1345 2009-10-10  Samuel Tardieu  <sam@rfc1149.net>
1346
1347         * sem_eval.adb: Give a more precise error message.
1348
1349 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1350
1351         PR ada/41383
1352         * a-rttiev.adb (Time_Of_Event): Return Time_First for unset event.
1353
1354 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1355
1356         PR ada/38333
1357         * sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract
1358         subprogram to be completed with a "pragma Import".
1359
1360 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1361
1362         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>:
1363         Generate an XVZ variable alongside the XVS type if the size is
1364         not constant.
1365         (maybe_pad_type): Minor tweak.
1366
1367 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1368
1369         * gcc-interface/decl.c (check_ok_for_atomic): Do nothing if the type
1370         doesn't come from source.
1371
1372 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1373
1374         * gcc-interface/decl.c (gnat_to_gnu_component_type): Force at least
1375         unit size for the component size of an array with aliased components.
1376         (maybe_pad_type): Do not warn for MAX_EXPR.
1377
1378 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1379
1380         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Factor out
1381         common code processing the component type into...
1382         <E_Array_Subtype>: Likewise.
1383         (gnat_to_gnu_component_type): ...this new static function.
1384         (maybe_pad_type): Minor cleanup.
1385
1386 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1387
1388         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Rewrite
1389         the handling of constrained discriminated record subtypes.
1390         (components_to_record): Declare the type of the variants and of the
1391         qualified union.
1392         (build_subst_list): Move around.
1393         (compute_field_positions): Rename into...
1394         (build_position_list): ...this.  Return a TREE_VEC.
1395         (annotate_rep): Adjust for above renaming.
1396         (build_variant_list): New static function.
1397         (create_field_decl_from): Likewise.
1398         (get_rep_part): Likewise.
1399         (get_variant_part): Likewise.
1400         (create_variant_part_from): Likewise.
1401         (copy_and_substitute_in_size): Likewise.
1402
1403 2009-09-28  Olivier Hainque  <hainque@adacore.com>
1404
1405         PR ada/41100
1406         * gcc-interface/targtyps.c (get_target_default_allocator_alignment):
1407         Account for observable alignments out of default allocators.
1408
1409 2009-09-28  Richard Henderson  <rth@redhat.com>
1410
1411         * gcc-interface/utils.c (gnat_install_builtins): Update call to
1412         build_common_builtin_nodes.
1413
1414 2009-09-26  Eric Botcazou  <ebotcazou@adacore.com>
1415
1416         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Filter out
1417         negative size for the array dimensions like in the constrained case.
1418         <E_Array_Subtype>: Do not create an artificially non-constant high
1419         bound if the low bound is non-constant.  Minor tweaks.
1420
1421         * gcc-interface/trans.c (lvalue_required_p): Add CONSTANT parameter
1422         and turn ALIASED into a boolean parameter.  Adjust calls to self.
1423         <N_Attribute_Reference>: Return 1 for more attributes.
1424         <N_Object_Renaming_Declaration>: Return 1 for non-constant objects.
1425         <N_Assignment_Statement>: Return 1 for the LHS.
1426         (Identifier_to_gnu): Adjust calls to lvalue_required_p.
1427         (call_to_gnu): Be prepared for wrapped boolean rvalues.
1428
1429 2009-09-25  Olivier Hainquqe  <hainque@adacore.com>
1430             Eric Botcazou  <ebotcazou@adacore.com>
1431
1432         * gcc-interface/ada-tree.h (TYPE_REPRESENTATIVE_ARRAY): New language
1433         specific node.  Representative array type for VECTOR_TYPE entities.
1434         * gcc-interface/utils.c (handle_vector_type_attribute): New handler.
1435         Turn an ARRAY_TYPE entity into a VECTOR_TYPE.   
1436         (gnat_types_compatible_p): Handle VECTOR_TYPEs.
1437         (convert): Likewise.  Arrange to produce VECTOR_CST out of constant
1438         array aggregates for VECTOR_TYPE entities.
1439         (unchecked_convert): Likewise.
1440         (maybe_vector_array): New function. If EXP has VECTOR_TYPE, return EXP
1441         converted to the associated TYPE_REPRESENTATIVE_ARRAY.
1442         (handle_pure_attribute, handle_sentinel_attribute,
1443         handle_noreturn_attribute, handle_malloc_attribute,
1444         handle_vector_size_attribute): Replace uses of qE format by qs.
1445         Remove GCC_DIAG_STYLE definition.
1446         * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Convert
1447         vector input to representative array type on entry.
1448         <N_Op_Eq, etc>: Likewise.
1449         * gcc-interface/gigi.h (maybe_vector_array): Declare.
1450         (VECTOR_TYPE_P): New predicate.
1451         * gcc-interface/misc.c (gnat_print_type): Handle VECTOR_TYPE.
1452
1453 2009-09-24  Eric Botcazou  <ebotcazou@adacore.com>
1454
1455         * gcc-interface/ada.h: Fix outdated comment.
1456         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in
1457         lieu of mark_visited.
1458         * gcc-interface/gigi.h (mark_visited): Change type of parameter.
1459         (MARK_VISITED): New macro.
1460         (gnat_truthvalue_conversion): Delete.
1461         * gcc-interface/decl.c (gnat_to_gnu_entity): Use MARK_VISITED in lieu
1462         of mark_visited.
1463         (annotate_rep): Fix formatting and tidy.
1464         (compute_field_positions): Get rid of useless variable.
1465         * gcc-interface/trans.c (gnat_to_gnu): Retrieve the Nkind of the GNAT
1466         node only once.  Use IN operator for the Nkind in more cases.
1467         Remove calls to gnat_truthvalue_conversion.
1468         (mark_visited): Change type of parameter and adjust.
1469         (mark_visited_r): Dereference TP only once.
1470         (add_decl_expr): Use MARK_VISITED in lieu of mark_visited.
1471         * gcc-interface/utils2.c (gnat_truthvalue_conversion): Delete.
1472         (build_binary_op): Remove calls to gnat_truthvalue_conversion.
1473         (build_unary_op): Likewise.
1474
1475 2009-09-24  Dave Korn  <dave.korn.cygwin@gmail.com>
1476
1477         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Simplify test for
1478         a-except% in target pairs list; don't (implicitly) compare whitespace.
1479
1480 2009-09-24  Jakub Jelinek  <jakub@redhat.com>
1481
1482         * gcc-interface/utils.c (gnat_pushdecl): Don't set
1483         DECL_NO_STATIC_CHAIN, set DECL_STATIC_CHAIN for
1484         nested functions.
1485
1486 2009-09-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
1487
1488         * s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0.
1489         Bind to getpagesize() in RTEMS 4.10 and newer.
1490
1491 2009-09-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1492
1493         * env.c [__alpha__ && __osf__] (_BSD): Define.
1494         * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
1495         to const char *.
1496
1497 2009-09-18  Pascal Obry  <obry@adacore.com>
1498
1499         * mingw32.h: Activate Unicode support for x86-64 Windows platform.
1500
1501 2009-09-18  Vadim Godunko  <godunko@adacore.com>
1502
1503         * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
1504
1505 2009-09-18  Javier Miranda  <miranda@adacore.com>
1506
1507         * exp_aggr.adb (Backend_Processing_Possible): Disable backend
1508         processing for array aggregates in the VM backend if the array has
1509         aliased components.
1510
1511 2009-09-18  Ed Schonberg  <schonberg@adacore.com>
1512
1513         * sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
1514         the prefix indicates a previous semantic error, and this is the first
1515         error in the program.
1516
1517 2009-09-18  Bob Duff  <duff@adacore.com>
1518
1519         * gnat_ugn.texi: Minor editing.
1520
1521 2009-09-18  Vincent Celier  <celier@adacore.com>
1522
1523         * prj.ads, prj.adb (Project_Data): New component
1524         Imported_Directories_Switches.
1525
1526 2009-09-18  Pascal Obry  <obry@adacore.com>
1527
1528         * mingw32.h: Include standard _mingw.h file.
1529         Define _WIN32_WINNT only if not already defined.
1530
1531 2009-09-18  Thomas Quinot  <quinot@adacore.com>
1532
1533         * g-socket.adb (Is_Open): New function indicating whether a
1534         Selector_Type object is open.
1535
1536 2009-09-18  Vincent Celier  <celier@adacore.com>
1537
1538         * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
1539         is deleted before creating it.
1540
1541 2009-09-18  Robert Dewar  <dewar@adacore.com>
1542
1543         * bindgen.adb: Minor reformatting
1544
1545 2009-09-18  Arnaud Charlet  <charlet@adacore.com>
1546
1547         * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
1548         s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
1549         signal handler is installed.
1550         * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
1551         tasks if Abort_Task_Interrupt cannot be used.
1552
1553 2009-09-18  Vincent Celier  <celier@adacore.com>
1554
1555         * prj-tree.ads: Minor comment update
1556
1557 2009-09-17  Bob Duff  <duff@adacore.com>
1558
1559         * g-socket.ads: Document the fact that Close_Selector has no effect on
1560         a closed selector.
1561         * g-socket.adb: Raise an exception when a Selector that should be open
1562         is closed.
1563         (Check_Selector): Declare RSig as a constant rather than a renames,
1564         less confusing.
1565
1566 2009-09-17  Robert Dewar  <dewar@adacore.com>
1567
1568         * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
1569         prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb,
1570         prj-tree.ads: Minor reformatting
1571
1572 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1573
1574         * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
1575         spec.
1576         (Do_Autoconf): If the object directory does not exists, create auto.cgpr
1577         in a temporary directory instead
1578
1579 2009-09-17  Bob Duff  <duff@adacore.com>
1580
1581         * a-dynpri.adb (Set_Priority): Don't do anything if the task is already
1582         terminated.
1583         (Get_Priority): Correct message for "terminated" case -- it said "null".
1584
1585 2009-09-17  Robert Dewar  <dewar@adacore.com>
1586
1587         * exp_ch6.adb: Minor reformatting
1588
1589 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1590
1591         * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
1592         switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
1593         (Project_Node_Tree_Data.Project_Path): New field.
1594
1595         * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
1596
1597 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1598
1599         * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
1600         Remove duplicate code.
1601         (Prj.Ext): Fix memory leak
1602         (Check): Now allow the syntax "-Xfoo=" to set an empty value to the
1603         variable. This was previously allowed in the code in
1604         Is_External_Assignment, and some tests rely on it
1605
1606 2009-09-17  Bob Duff  <duff@adacore.com>
1607
1608         * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
1609
1610 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1611
1612         * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
1613         makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
1614         prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
1615         prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
1616         Scenario variables are now specific to each project tree loaded in
1617         memory.
1618         Code clean ups.
1619
1620 2009-09-17  Javier Miranda  <miranda@adacore.com>
1621
1622         * exp_disp.adb (Make_DT): Remove wrong line of code that was
1623         undocumented and probably added by mistake.
1624
1625 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1626
1627         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
1628         conversions between original and packable version of types from
1629         the expression.
1630
1631 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1632
1633         * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
1634         If a padding type was made for the field, declare it.
1635         (components_to_record): Add DEBUG_INFO_P parameter.  Adjust call
1636         to gnat_to_gnu_field and call to self.
1637         (gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
1638         <E_Array_Subtype>: Likewise.
1639         Adjust calls to gnat_to_gnu_field and components_to_record.
1640
1641 2009-09-16  Robert Dewar  <dewar@adacore.com>
1642
1643         * prj-nmsc.adb: Minor reformatting
1644
1645 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1646
1647         * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
1648         expression is a by-reference type (tagged or inherently limited)
1649         introduce an access type to capture references to the values of each
1650         branch of the conditional.
1651
1652 2009-09-16  Emmanuel Briot  <briot@adacore.com>
1653
1654         * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
1655         (Project_Name_And_Node.Display_Name): new field
1656         The display name of a project (as written in the .gpr file) is now
1657         computed when the project file itself is parsed, not when it is
1658         processed.
1659
1660 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1661
1662         * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
1663         intrinsics untouched (to be expanded later on by gigi) if an external
1664         name has been specified.
1665         (Freeze_Entity): Do not generate a default external name for
1666         imported subprograms with convention Intrinsic (so that the above code
1667         can identify the case where an external name has been explicitly
1668         provided).
1669
1670         * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
1671         replaced by something else due to an existing #define clause.
1672
1673 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1674
1675         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
1676         Parameter_Association node, created for the extra actual generated for
1677         an access parameter of a function that dispatches on result, to prevent
1678         double generation of such actuals when the call is rewritten is a
1679         dispatching call.
1680         * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
1681         * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
1682         that carry this flag when rewriting the original call as a dispatching
1683         call, after propagating the controlling tag.
1684
1685 2009-09-16  Vincent Celier  <celier@adacore.com>
1686
1687         * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
1688         in the source data.
1689         (Check_File): New parameter Source_Dir_Rank, to check if a duplicate
1690         source is allowed.
1691         (Find_Source_Dirs): New parameter Rank to be recorded with the source
1692         directories.
1693         (Search_Directories): Call Check_File with the rank of the directory
1694         * prj.adb (Project_Empty): Add new component Source_Dir_Ranks
1695         (Free): Free also Number_Lists
1696         (Reset): Init also Number_Lists
1697         * prj.ads (Number_List_Table): New dynamic table for lists of numbers
1698         (Source_Data): New component Source_Dir_Rank. Remove component
1699         Known_Order_Of_Source_Dirs, no longer needed.
1700         (Project_Data): New component Source_Dir_Ranks
1701         (Project_Tree_Data): New components Number_Lists
1702
1703 2009-09-16  Vincent Celier  <celier@adacore.com>
1704
1705         * gprep.adb (Yes_No): New global constant
1706         Unix_Line_Terminators: New global Boolean variable
1707         (Process_One_File): Create the out file with a "Text_Translation=" form
1708         that depends on the use of option -T.
1709         (Scan_Command_Line): Add option -T
1710         (Usage): Add line for option -T
1711
1712 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1713
1714         * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
1715         predicate that describes a proper subset of
1716         Is_Predefined_Dispatching_Operation and excludes stream operations,
1717         which can be overridden by the user.
1718         * sem_ch6.adb (Create_Extra_Formals): use
1719         Is_Predefined_Internal_Operation, so that stream operations get extra
1720         formals.
1721         * exp_ch6.adb (Prevent double generation of extra actuals in calls to
1722         'Input, which may be expanded twice, first as a function call and then
1723         as a dispatching call.
1724
1725 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1726
1727         * s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
1728         * g-expect.adb (Set_Up_Child_Communications): Use
1729         System.OS_Constants.Target_OS to determine whether running on Windows.
1730
1731 2009-09-14  Richard Henderson  <rth@redhat.com>
1732
1733         * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
1734
1735 2009-09-14  Eric Botcazou  <ebotcazou@adacore.com>
1736
1737         * exp_dbug.ads (Packed Array Encoding): Document the new encoding for
1738         the unconstrained case.
1739         * gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
1740         the encoding.  Do not give a name to the pointer type to the XUT type.
1741         * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
1742         for fat pointer types, if any.  Make sure DECL_ARTIFICIAL is cleared
1743         on nodes with DECL_ORIGINAL_TYPE set.
1744         (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
1745         for fat pointer types.  Make sure DECL_ARTIFICIAL is cleared.
1746
1747 2009-09-14  Richard Henderson  <rth@redhat.com>
1748
1749         * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1750         default_init_unwind_resume_libfunc.
1751         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
1752         __builtin_eh_pointer.
1753         * gcc-interface/utils.c (gnat_install_builtins): Update call
1754         to build_common_builtin_nodes.
1755
1756 2009-09-13  Richard Guenther  <rguenther@suse.de>
1757             Rafael Avila de Espindola  <espindola@google.com>
1758
1759         * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
1760         eh_personality_libfunc and lang_eh_runtime_type.
1761         (LANG_HOOKS_EH_PERSONALITY): Define.
1762         (gnat_eh_personality_decl): New static variable.
1763         (gnat_eh_personality): New static function.
1764         Include gt-ada-misc.h.
1765         * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
1766         * gcc-interface/config-lang.in (gtfiles): Add misc.c.
1767
1768 2009-09-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1769
1770         PR ada/18302
1771         * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
1772
1773 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1774
1775         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
1776         flow of control.
1777         Avoid useless work when processing the Treat_As_Volatile flag.
1778
1779 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1780
1781         * gcc-interface/targtyps.c: Reorder include directives.
1782
1783 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1784
1785         * gcc-interface/targtyps.c: Add missing include for tm_p.h.
1786         * gcc-interface/Make-lang.in: Update dependencies.
1787
1788 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1789
1790         * make.adb: Add missing documentation for multilib handling.
1791         
1792 2009-09-03  Diego Novillo  <dnovillo@google.com>
1793
1794         * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
1795
1796 2009-09-02  Richard Henderson  <rth@redhat.com>
1797
1798         * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
1799
1800 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1801
1802         * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
1803         and uc arguments.
1804         
1805 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1806
1807         * gcc-interface/decl.c (cannot_be_superflat_p): Handle
1808         Signed_Integer_Type_Definition Scalar_Ranges.
1809
1810 2009-09-02  Eric Botcazou  <ebotcazou@adacore.com>
1811
1812         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
1813         SAVE_EXPR built for misaligned arguments.  Remove redundant stuff.
1814         (addressable_p): Return true for more rvalues.
1815
1816 2009-09-01  Jakub Jelinek  <jakub@redhat.com>
1817
1818         * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
1819         POINTER_SIZE to HOST_WIDE_INT.
1820
1821 2009-09-01  Richard Guenther  <rguenther@suse.de>
1822
1823         * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
1824
1825 2009-08-25  Eric Botcazou  <ebotcazou@adacore.com>
1826
1827         * gcc-interface/trans.c (call_to_gnu): Tidy.
1828         (gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
1829         non-constant size but the array itself has constant size.
1830         * gcc-interface/utils.c (convert_vms_descriptor64): Fix type
1831         consistency error.
1832         (convert_vms_descriptor32): Likewise.
1833
1834 2009-08-22  Aurelien Jarno  <aurelien@aurel32.net>
1835
1836         * gcc-interface/Makefile.in: Add Ada support for 
1837         GNU/kFreeBSD x86_64.
1838         * system-freebsd-x86_64.ads: New file based on 
1839         system-freebsd-x86.ads.
1840
1841 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1842
1843         * gcc-interface/utils.c (convert): In the padded case, do the final
1844         conversion as an unchecked conversion if the underlying types are
1845         array types with variable size.
1846
1847 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1848
1849         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
1850         as visited.
1851         * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
1852         bounds.
1853         * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
1854         fields.
1855         (gnat_gimplify_expr) <DECL_EXPR>: New case.
1856
1857 2009-08-17  Aurelien Jarno  <aurelien@aurel32.net>
1858
1859         * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
1860         (stack_t): New record type.
1861         (sigaltstack): New imported function.
1862         (Alternate_Stack): New imported variable.
1863         (Alternate_Stack_Size): New constant.
1864
1865 2009-08-17  Vasiliy Fofanov  <fofanov@adacore.com>
1866
1867         * a-calend-vms.adb: Fix typo.
1868
1869 2009-08-17  Tristan Gingold  <gingold@adacore.com>
1870
1871         * s-taprop-posix.adb: Round up the stack size to avoid failure on
1872         Darwin.
1873
1874 2009-08-17  Gary Dismukes  <dismukes@adacore.com>
1875
1876         * sem_cat.adb (Validate_Static_Object_Name): Update comment.
1877
1878 2009-08-17  Vincent Celier  <celier@adacore.com>
1879
1880         * make.adb (Arguments_Collected): Unneeded, removed
1881         (Change_To_Object_Directory): Use Project directly. Add pragma Assert to
1882         ensure caller does not pass in No_Project.
1883         (Compile): Add new parameter Project. Let procedure
1884         Collect_Arguments_And_Compile provide the proper value.
1885
1886         * switch-c.adb: Add documentation for -gnatea and -gnatez
1887
1888 2009-08-17  Ben Brosgol  <brosgol@adacore.com>
1889
1890         * gnat_ugn.texi: Changed name of package in SAL example, to avoid
1891         clash with Ada 2005 reserved word (interface).
1892
1893 2009-08-17  Robert Dewar  <dewar@adacore.com>
1894
1895         * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
1896         a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
1897         a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
1898         (use conditional expressions).
1899
1900 2009-08-17  Robert Dewar  <dewar@adacore.com>
1901
1902         * make.adb: Add ??? comment
1903         * tbuild.adb: Minor reformatting
1904
1905 2009-08-17  Thomas Quinot  <quinot@adacore.com>
1906
1907         * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
1908         Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
1909         Use Tbuild.Make_Temporary to create entity for the temporary.
1910
1911 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
1912
1913         * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
1914         and ignore -mieee switch to avoid spawning an extra gcc in this case.
1915
1916 2009-08-17  Thomas Quinot  <quinot@adacore.com>
1917
1918         * tbuild.adb: Minor reformatting
1919
1920 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
1921
1922         * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
1923         exist, as is the case for synchronized types, use the type of the
1924         discriminal in the parameter specification, to prevent a spurious
1925         subtype mismatch in gigi.
1926
1927 2009-08-17  Robert Dewar  <dewar@adacore.com>
1928
1929         * prj-env.adb: Minor reformatting
1930         * make.adb: Minor reformatting
1931         Comment updates
1932
1933 2009-08-17  Javier Miranda  <miranda@adacore.com>
1934
1935         * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
1936
1937 2009-08-17  Emmanuel Briot  <briot@adacore.com>
1938
1939         * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
1940         (Processing_Flags.Require_Obj_Dirs): new field, which controls whether
1941         object directories must be present. In the case of gprclean at least,
1942         these are optional (if they do not exist there is nothing to clean)
1943
1944 2009-08-17  Robert Dewar  <dewar@adacore.com>
1945
1946         * prj-env.adb: Minor reformatting
1947         * sem_ch3.adb: Minor reformatting
1948
1949 2009-08-17  Hristian Kirtchev  <kirtchev@adacore.com>
1950
1951         * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
1952         the time zone since VxWorks chose positive values to represent west
1953         time zones and negative for east zones.
1954
1955 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
1956
1957         * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
1958         an anonymous access type whose designated type is generic.
1959
1960 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
1961
1962         * comperr.adb (Compiler_Abort): Do not generate a bug box when in
1963         codepeer mode, friendlier.
1964
1965 2009-08-10  Laurent GUERBY  <laurent@guerby.net>
1966
1967         * make.adb: Handle multilib
1968         
1969 2009-08-10  Vincent Celier  <celier@adacore.com>
1970
1971         * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
1972         the temporary file name in the error message when the temporary file
1973         cannot be created.
1974
1975 2009-08-10  Yannick Moy  <moy@adacore.com>
1976
1977         * gnat_ugn.texi: Fix typo
1978
1979 2009-08-10  Robert Dewar  <dewar@adacore.com>
1980
1981         * exp_ch7.adb: Add ??? comment for last change
1982
1983 2009-08-10  Vincent Celier  <celier@adacore.com>
1984
1985         * prj-env.adb (Add_To_Buffer): New procedure
1986         (Create_Config_Pragmas_File): Write to temporary file in one shot
1987         (Create_Mapping_File): Ditto
1988         (Set_Ada_Paths): Ditto
1989
1990 2009-08-10  Vincent Celier  <celier@adacore.com>
1991
1992         PR ada/17566
1993         * xref_lib.adb (Print_Xref): Make sure that there is at least one space
1994         between a declaration name and its type.
1995
1996 2009-08-07  Javier Miranda  <miranda@adacore.com>
1997
1998         * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
1999         SCIL node.
2000
2001 2009-08-07  Robert Dewar  <dewar@adacore.com>
2002
2003         * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
2004
2005 2009-08-07  Vincent Celier  <celier@adacore.com>
2006
2007         * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
2008         specified on the command line and there are switches in the Compiler
2009         package of the project file, use these compilation switches to invoke
2010         the tool.
2011
2012 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
2013
2014         * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
2015
2016 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
2017
2018         * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
2019         even if not in main unit, to simplify debugging.
2020
2021 2009-08-07  Arnaud Charlet  <charlet@adacore.com>
2022
2023         * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
2024         * gcc-interface/Make-lang.in: Update dependencies.
2025
2026 2009-08-07  Robert Dewar  <dewar@adacore.com>
2027
2028         * types.ads: Minor reformatting
2029         * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
2030         * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
2031         Output_Non_Modified_In_Out_Warnings.
2032         * sem_ch13.adb: Remove ??? comment.
2033
2034 2009-08-07  Vincent Celier  <celier@adacore.com>
2035
2036         * mlib-prj.adb (Build_Library): Include binder generate object file
2037         for SAL when library name is only one character.
2038
2039 2009-08-07  Thomas Quinot  <quinot@adacore.com>
2040
2041         * targparm.adb: Minor reformatting
2042         * sem.adb: Minor reformatting
2043         * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
2044
2045 2009-08-07  Emmanuel Briot  <briot@adacore.com>
2046
2047         * prj-conf.adb: Remove duplicate directory separator in the output when
2048         an object directory does not exist.
2049
2050 2009-08-07  Robert Dewar  <dewar@adacore.com>
2051
2052         * exp_util.adb: Minor reformatting
2053
2054 2009-08-07  Vincent Celier  <celier@adacore.com>
2055
2056         * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
2057         length used).
2058
2059 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
2060
2061         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
2062         detect non-static private components that will violate restriction
2063         No_Implicit_Heap_Allocation.
2064
2065 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
2066
2067         * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
2068
2069 2009-08-02  Eric Botcazou  <ebotcazou@adacore.com>
2070
2071         * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
2072         * gcc-interface/utils.c (end_subprog_body): Likewise.
2073         * gcc-interface/trans.c (gigi): Likewise.
2074         (gnat_to_gnu): Likewise.
2075
2076 2009-07-30  Ben Brosgol  <brosgol@adacore.com>
2077
2078         * gnat_ugn.texi: Correct minor texi glitch.
2079
2080 2009-07-30  Ed Schonberg  <schonberg@adacore.com>
2081
2082         * exp_util.adb (Expand_Subtype_From_Expr): If the type of the
2083         expression has an underlying representation that is an unchecked union,
2084         there is no subtype to build.
2085
2086 2009-07-30  Robert Dewar  <dewar@adacore.com>
2087
2088         * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
2089         s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
2090         sem_ch7.adb, adaint.c: Minor reformatting
2091
2092 2009-07-29  Javier Miranda  <miranda@adacore.com>
2093
2094         * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
2095         moved from the expander to the semantic analyzer to allow the
2096         generation of these internal entities when compiling with no code
2097         generation. Required by ASIS.
2098         * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
2099         * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
2100         * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
2101         (Expand_Freeze_Record_Type): Remove call to
2102         Add_Internal_Interface_Entities because this routine is now called at
2103         early stage --when the freezing node is analyzed.
2104
2105 2009-07-29  Robert Dewar  <dewar@adacore.com>
2106
2107         * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
2108         exp_disp.adb, g-socket.adb: Minor reformatting
2109
2110 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
2111
2112         * sem_ch7.adb (New_Private_Type): Create class-wide type after other
2113         attributes have been established, so that they are all inherited by the
2114         class-wide type.
2115         * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
2116         properly named subtypes of class-wide types.
2117
2118 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
2119
2120         * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
2121         indicators on user-defined operators.
2122
2123 2009-07-29  Vadim Godunko  <godunko@adacore.com>
2124
2125         * g-socket.adb (Receive_Vector): Add comment.
2126
2127 2009-07-29  Javier Miranda  <miranda@adacore.com>
2128
2129         * frontend.adb (Frontend): Code cleanup.
2130         * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
2131         Rewriten as a procedure because it a new out-mode parameters to
2132         keep up-to-date the controlling tag node in the caller.
2133         (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
2134         new out-mode parameter to keep up-to-date the controlling tag node in
2135         the caller.
2136         * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
2137         exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
2138         package Sem_SCIL.
2139         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
2140         available in new package Sem_SCIL.
2141         (Next_Non_SCIL_Node): Ditto.
2142         * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
2143         package Sem_SCIL.
2144         (Expand_Dispatching_Call): Update call to modified Exp_Atags routines
2145         plus complete decoration of SCIL dispatching node.
2146         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
2147         * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
2148         package Sem_SCIL.
2149         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
2150         * exp_ch3.adb (Build_Init_Procedure): Fix comment.
2151         * sem_scil.ads, sem_scil.adb: New files.
2152         * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
2153         Update dependencies.
2154
2155 2009-07-28  Robert Dewar  <dewar@adacore.com>
2156
2157         * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
2158         makeutl.adb: Minor reformatting & code reorganization
2159         * sem_ch3.adb: Minor reformatting.
2160         Fix spelling error (constraint for constrain) in error msg.
2161
2162 2009-07-28  Emmanuel Briot  <briot@adacore.com>
2163
2164         * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
2165         global variable that also exists in makeutl.ads, and that some routines
2166         in that package use already.
2167         (Check): Moved part of the code to makeutl.adb for better sharing with
2168         gprbuild.
2169
2170 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2171
2172         * gcc-interface/Make-lang.in: Update dependencies.
2173
2174 2009-07-28  Emmanuel Briot  <briot@adacore.com>
2175
2176         * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
2177         importing project does not end up in the list, in the case of extending
2178         projects.
2179         * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
2180         makeutl.ads, for better sharing with gprbuild.
2181
2182 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2183
2184         * gnat_ugn.texi: Fix typo.
2185
2186 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
2187
2188         * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
2189         derivation that renames some discriminants and constrain others.
2190         * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
2191         prefix is a derived untagged type, convert to the root type to conform
2192         to the signature of the protected operations.
2193
2194 2009-07-28  Robert Dewar  <dewar@adacore.com>
2195
2196         * sinfo.ads: Update comments.
2197         * exp_attr.adb: Minor reformatting
2198
2199 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
2200
2201         * sem_aggr.adb (Get_Value): A named association in a record aggregate
2202         should be treated as a modification of the named component, not as a
2203         reference.
2204
2205 2009-07-28  Quentin Ochem  <ochem@adacore.com>
2206
2207         * prj-tree.ads, prj-tree.adb (Free): Minor editing.
2208         * prj.ads, prj.adb (Image): Ditto.
2209
2210 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2211
2212         * frontend.adb: Minor reformatting.
2213         (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
2214         for efficiency.
2215
2216 2009-07-28  Bob Duff  <duff@adacore.com>
2217
2218         * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
2219         'Address to get a pointer to the protected body wrapper.
2220
2221 2009-07-28  Javier Miranda  <miranda@adacore.com>
2222
2223         * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
2224         nodes if we are not generating code.
2225         * frontend.adb (Check_SCIL_Node): New subprogram. Used to check
2226         attribute SCIL_Related_Node of SCIL dispatching nodes.
2227         (Check_SCIL_Nodes): New instantiation of Traverse_Proc.
2228         * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
2229         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
2230         (SCIL_Entity): Update documentation.
2231         (SCIL_Related_Node): Update documentation.
2232         (SCIL_Controlling_Tag): New attribute.
2233         (SCIL_Target_Prim): Update documentation.
2234         (N_Null_Statement): Remove attributes associated with SCIL nodes.
2235         (N_SCIL_Dispatch_Table_Object_Init): New node.
2236         (N_SCIL_Dispatch_Table_Tag_Init): New node.
2237         (N_SCIL_Dispatching_Call): New node.
2238         (N_SCIL_Tag_Init): New node.
2239         * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
2240         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
2241         (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
2242         (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
2243         (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
2244         (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
2245         N_SCIL_Dispatching_Call nodes.
2246         * sem.adb (Analyze): No need to analyze SCIL nodes.
2247         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
2248         (Next_Non_SCIL_Node): New subprogram
2249         * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
2250         dispatching nodes.
2251         * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
2252         dispatching node.
2253         * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
2254         dispatching node.
2255         * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
2256         null statement nodes.
2257         (Build_Init_Procedure): Generate new SCIL node.
2258         * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
2259         node.
2260         * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
2261         they are currently implemented as special N_Null_Statement nodes.
2262         * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
2263         procedure call then check if some SCIL node references it and needs
2264         readjustment.
2265         * exp_disp.ads (SCIL_Node_Kind): Removed.
2266         (Adjust_SCIL_Node): New subprogram.
2267         (Find_SCIL_Node): New subprogram.
2268         (Get_SCIL_Node_Kind): Removed.
2269         (New_SCIL_Node): Removed.
2270         * exp_disp.adb (Adjust_SCIL_Node): New subprogram
2271         (Expand_Dispatching_Call): Generate new SCIL dispatching node including
2272         decoration of its new controlling_tag attribute.
2273         (Get_SCIL_Node_Kind): Removed.
2274         (Find_SCIL_Node): New subprogram.
2275         (Make_Secondary_DT): Generate new SCIL nodes.
2276         (Make_Tags): Generate new SCIL nodes.
2277         (New_SCIL_Node): Removed.
2278         * exp_util.adb (Insert_Actions): Handle SCIL nodes.
2279         (Remove_Side_Effects): Check if relocated nodes require readjustment
2280         of some SCIL dispatching node.
2281         * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
2282
2283 2009-07-28  Robert Dewar  <dewar@adacore.com>
2284
2285         * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
2286
2287 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2288
2289         * gnat_ugn.texi: Add section about gnatcheck rule exemption.
2290
2291 2009-07-28  Vadim Godunko  <godunko@adacore.com>
2292
2293         * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
2294         not defined by limits.h.
2295
2296         * g-socket.adb (Receive_Vector): Use minimum length from user's vector
2297         length and maximum supported length of data vector.
2298
2299 2009-07-28  Gary Dismukes  <dismukes@adacore.com>
2300
2301         * usage.adb: Inhibit printing gcc-specific switches for AAMP target.
2302         * make.adb: Call Get_Target_Parameters before calling Usage so that
2303         VM_Target and AAMP_On_Target will be set.
2304
2305 2009-07-28  Olivier Hainque  <hainque@adacore.com>
2306
2307         * g-ssinty.ads: Remove, pointless and just confusing at this stage.
2308         * gnat_rm.texi: Remove documentation.
2309         * g-sse.ads: Minor reorg along the way.
2310         * gcc-interface/Makefile.in: Remove processing for g-ssinty.
2311         * g-ssvety.ads: Minor comment updates.
2312
2313 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2314
2315         * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
2316         for the new format of the report file.
2317
2318 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2319
2320         * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
2321
2322 2009-07-28  Pascal Obry  <obry@adacore.com>
2323
2324         * g-expect.adb: Record standard handles only on Windows.
2325
2326 2009-07-27  Emmanuel Briot  <briot@adacore.com>
2327
2328         * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
2329         Add comments.
2330
2331 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2332
2333         * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
2334         rule definition the paragraph that explains that generic functions and
2335         functions from generic packages are not checked.
2336
2337 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
2338
2339         * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
2340         procedure when determining whether to set the Overridden_Operation
2341         field of a subprogram overriding an inherited subprogram.
2342         
2343 2009-07-27  Robert Dewar  <dewar@adacore.com>
2344
2345         * a-except.adb, a-except-2005.ads: Minor reformatting
2346
2347 2009-07-27  Robert Dewar  <dewar@adacore.com>
2348
2349         * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
2350
2351 2009-07-27  Javier Miranda  <miranda@adacore.com>
2352
2353         * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
2354         add some documentation explaining why the SCIL nodes must be generated
2355         at that point.
2356
2357 2009-07-27  Olivier Hainque  <hainque@adacore.com>
2358
2359         * a-except.adb: Bind to __builtin_longjmp directly.
2360         * a-except-2005.ads: Provide direct binding to __builtin_longjmp
2361         for sjlj variants.
2362         * a-exexpr.adb: Use it.
2363         * a-except-xi.adb: Likewise.
2364         * raise.c (_gnat_builtin_longjmp): Remove and update comments.
2365         * raise.h (_gnat_builtin_longjmp): Remove declaration.
2366
2367 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2368
2369         * sem_eval.adb (Compile_Time_Compare): More precise handling of
2370         Known_Valid flag, to prevent spurious range deductions when scalar
2371         variables may be uninitialized. New predicate Is_Known_Valid_Operand.
2372
2373 2009-07-27  Robert Dewar  <dewar@adacore.com>
2374
2375         * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
2376         and code clean up.
2377
2378 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2379
2380         * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
2381         Ravenscar mode. Error has already been posted on specification.
2382
2383         * sem.adb: Further code clean ups.
2384
2385 2009-07-27  Robert Dewar  <dewar@adacore.com>
2386
2387         * g-sse.ads: Minor reformatting
2388
2389 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2390
2391         * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
2392         alternate ali extension.
2393         * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
2394         account Osint.ALI_Suffix.
2395         * osint.ads (ALI_Suffix): Make visible.
2396         * gnatfind.adb (Gnatfind): Add support for --ext= switch.
2397         * gnat_ugn.texi: Document new gnatfind --ext= switch.
2398
2399 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2400
2401         * sem.adb (Walk_Library_Items): If main unit is an instance body, do
2402         its spec first.
2403
2404 2009-07-27  Javier Miranda  <miranda@adacore.com>
2405
2406         * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
2407         the dispatching call has is expanded.
2408
2409 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2410
2411         * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
2412         Is_Known_Valid flag on the temporary created for the value whose
2413         validity is being checked.
2414
2415         * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
2416         handle properly main units that are package specifications.
2417
2418 2009-07-27  Geert Bosch  <bosch@adacore.com>
2419
2420         * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
2421         * sem_aux.ads: Fix typo in comment
2422         * sem_util.ads (Is_LHS): Adjust comment to match body
2423
2424 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2425
2426         * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
2427         rule definition.
2428
2429 2009-07-27  Olivier Hainque  <hainque@adacore.com>
2430
2431         * g-sse.ads, g-ssvety.ads: Update comments.
2432
2433 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2434
2435         * gnat_ugn.texi: Update gnatcheck doc.
2436
2437 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2438
2439         * lib-xref.ads: Allocate/document 'o' char for use by references to
2440         spark 'own' variables.
2441
2442 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
2443
2444         * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
2445         objects, since these are implicitly referenced by the return statement.
2446         * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
2447         Is_Return_Object in this procedure, as return objects will never make
2448         it here since they're now marked as Referenced.
2449
2450 2009-07-27  Robert Dewar  <dewar@adacore.com>
2451
2452         * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
2453
2454 2009-07-27  Robert Dewar  <dewar@adacore.com>
2455
2456         * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
2457
2458         * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
2459
2460 2009-07-27  Geert Bosch  <bosch@adacore.com>
2461
2462         * checks.adb (Find_Check): Minor streamlining of logic.
2463         * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
2464         * debug.adb: Document -gnatdX debug flag
2465         * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
2466         list information about reads from scalar entities.
2467         Also slightly simplify condition for Expand_Current_Value.
2468         * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
2469         functions.
2470
2471 2009-07-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2472
2473         PR bootstrap/40578
2474         * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
2475         (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
2476         to these.
2477         (__gnat_stat): Adjust reference to STAT in prototype.
2478         * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
2479         __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
2480         __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
2481         __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
2482         __gnat_is_writable_file, __gnat_is_executable_file,
2483         __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
2484         __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
2485         __gnat_copy_attribs): Adjust all references to the above.
2486         * cstreams.c (__gnat_is_regular_file_fd): Likewise.
2487
2488 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2489
2490         * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
2491         done at the same time, guard against listing a body more than once.
2492
2493 2009-07-23  Robert Dewar  <dewar@adacore.com>
2494
2495         * exp_ch6.adb: Minor reformatting
2496
2497 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2498
2499         * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
2500         static expression is known valid.
2501         * sem_eval.adb (Compile_Time_Compare): Handle properly non-static
2502         operands of a subtype with a single value.
2503
2504 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2505
2506         * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
2507         are in the context of the main unit body.
2508
2509 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2510
2511         * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
2512         misprint in rule description.
2513
2514 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2515
2516         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
2517         test that the object declaration is within an extended return statement
2518         with direct test of whether the declared object associated with the
2519         build-in-place call is a return object, since the enclosing function
2520         might not even be a build-in-place function.
2521
2522 2009-07-23  Robert Dewar  <dewar@adacore.com>
2523
2524         * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
2525         Minor code reorganization
2526
2527 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2528
2529         * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
2530         for static analysis, only packed arrays are causing troubles.
2531
2532 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2533
2534         * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
2535         ancestor part is a call to a limited function with an unconstrained
2536         result subtype unless the aggregate has a null extension type.
2537         * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
2538         the parent type declaration to avoid blowups on subtype cases.
2539
2540 2009-07-23  Robert Dewar  <dewar@adacore.com>
2541
2542         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
2543         comma.
2544
2545         * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
2546
2547         * s-regexp.adb: Minor reformatting
2548         * scos.ads: Minor reformatting.
2549
2550 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2551
2552         * freeze.adb (Set_Small_Size): Remove extra space for consistency with
2553         other similar messages.
2554         * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
2555         messages/implicit packing in CodePeer mode.
2556         (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
2557         * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
2558         CodePeer mode.
2559
2560 2009-07-23  Pascal Obry  <obry@adacore.com>
2561
2562         * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
2563         systems.
2564
2565 2009-07-23  Robert Dewar  <dewar@adacore.com>
2566
2567         * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
2568         Minor reformatting.
2569
2570 2009-07-23  Yannick Moy  <moy@adacore.com>
2571
2572         * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
2573         pattern.
2574         (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
2575         string.
2576         (Raise_Exception): Ditto.
2577
2578 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2579
2580         * g-sse.ads: Simplify comment.
2581
2582 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2583
2584         * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
2585         low level internal type definitions for distinct higher level
2586         binding development activities (user type definitions and
2587         operations).
2588         * gnat_rm.texi: Document it.
2589         * g-ssvety.ads: Use it.
2590         * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
2591         g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
2592         * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
2593         for the "may_alias" attribute.
2594
2595 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2596
2597         * scos.ads: Minor typo fix
2598
2599         * gcc-interface/decl.c (validate_alignment): For the case of an
2600         implicit array base type, look for alignment clause on first subtype.
2601
2602 2009-07-23  Robert Dewar  <dewar@adacore.com>
2603
2604         * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
2605         with tagged parent if tagged parent is fully repped.
2606
2607 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2608
2609         * sem.adb (Walk_Library_Units): Handle properly the case where a unit
2610         in the context depends on the spec of the main unit, by delaying
2611         processing of the main unit body until all other units have been
2612         processed.
2613
2614 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2615
2616         * a-convec.adb: Add comments about suspicious/subtle code.
2617
2618 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2619
2620         * einfo.ads: Document use of Alias in private overriding
2621
2622 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2623
2624         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
2625         an array type, propagate alignment from first subtype to implicit base
2626         type so that other subtypes (such as the itypes for aggregates of the
2627         type) also receive the expected alignment.
2628
2629         * g-comlin.ads: Minor documentation clarification/rewording. 
2630         * scos.ads: Minor comments update.
2631         * lib-writ.ads: Minor reformatting
2632
2633 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2634
2635         * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
2636         of a class-wide interface type that is a return object of a
2637         build-in-place function, bypass the interface-related expansions into
2638         renamings with displacement conversions, etc.
2639         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
2640         for the case where a renaming occurs in a build-in-place context, to
2641         assert that the bypassing of the build-in-place treatment only occurs
2642         in the case of a renaming that is an expansion of a return expression
2643         that is itself a build-in-place function call.
2644
2645 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2646
2647         * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
2648         valid candidate interpretation in a prefixed view if it is hidden, but
2649         overrides an inherited operation declared in the visible part.
2650
2651 2009-07-23  Robert Dewar  <dewar@adacore.com>
2652
2653         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2654         division operands to 64-bit at all in any circumstances.
2655
2656 2009-07-23  Robert Dewar  <dewar@adacore.com>
2657
2658         * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
2659         checking ranges for mod/rem to see if conditional jump will be
2660         generated.
2661         (Analyze_N_Op_Rem): Don't try to check actual lower bounds for
2662         generating special -1 test for rem, generate it whenever both
2663         operands can be negative (match circuit in Sem_Res).
2664         (Analyze_N_Op_Rem): Don't go to base type, no longer needed and
2665         destroys memory of positive range.
2666         * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
2667         checking ranges for mod/rem to see if conditional jump will be generated
2668
2669 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2670
2671         * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
2672         scalar components has non-static bounds, the equivalent aggregate
2673         cannot be built, even if the expression is static, because range checks
2674         will be generated.
2675
2676 2009-07-23  Robert Dewar  <dewar@adacore.com>
2677
2678         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2679         division operands to 64-bit inside a conversion if 64-bit division not
2680         available.
2681
2682 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2683
2684         * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
2685
2686 2009-07-23  Javier Miranda  <miranda@adacore.com>
2687
2688         * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
2689         (Entity/Set_Entity): not available in N_Null_Statement nodes
2690         (Is_Scil_Node): renamed as Is_SCIL_Node
2691         (Scil_Nkind): renamed as SCIL_Nkind
2692         (Scil_Related_Node): renamed as SCIL_Related_Node
2693         (Scil_Target_Prim): renamed as SCIL_Target_Prim
2694         (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
2695         (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
2696         (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
2697         Update documentation
2698         * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
2699         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2700         (New_Scil_Node): Renamed as New_SCIL_Node
2701         * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
2702         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2703         (New_Scil_Node): Renamed as New_SCIL_Node
2704         * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
2705
2706 2009-07-23  Robert Dewar  <dewar@adacore.com>
2707
2708         * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
2709         * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
2710         * einfo.adb: Minor reformatting
2711
2712 2009-07-23  Robert Dewar  <dewar@adacore.com>
2713
2714         * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
2715         cross-referencing the new related code in
2716         Exp_Ch4.Expand_N_Type_Conversion.
2717         * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
2718
2719         * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
2720         Add comment.
2721
2722 2009-07-23  Javier Miranda  <miranda@adacore.com>
2723
2724         * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
2725         Scil_Target_Prim, N_Has_Entity): Add missing documentation.
2726         * exp_disp.ads (Scil_Node_Kind): Ditto.
2727         * exp_disp.adb (Make_DT, Make_Tags): Ditto.
2728         * exp_ch3.adb (Build_Init_Procedure): Ditto.
2729
2730 2009-07-23  Javier Miranda  <miranda@adacore.com>
2731
2732         * einfo.adb (Component_Type): Add missing assertion.
2733         * sem_res.adb (Resolve_Call): Ensure proper kind of entity before
2734         reading attribute Component_Size.
2735         * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
2736         before reading attributes Component_Size and Component_Type.
2737         * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
2738         before reading attribute Component_Type.
2739
2740 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2741
2742         * gnat_rm.texi: Document the GNAT.SSE units.
2743
2744 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2745
2746         * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
2747         not null return if it appears on a subunit.
2748
2749 2009-07-23  Robert Dewar  <dewar@adacore.com>
2750
2751         * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
2752         check right away so it does not get skipped for early returns, e.g.
2753         array assignments.
2754         (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
2755         left-side unless we really know the value is valid.
2756
2757         * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
2758         reformatting. Minor code reorganization. Add comments.
2759
2760 2009-07-23  Robert Dewar  <dewar@adacore.com>
2761
2762         * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
2763         complex condition.
2764
2765 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2766
2767         * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
2768         with test of coverage, to allow specific type objects in extended
2769         returns of class-wide functions. Remove now-unnecessary special-case
2770         tests that allowed this in certain cases of expanded extended returns.
2771
2772 2009-07-23  Javier Miranda  <miranda@adacore.com>
2773
2774         * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
2775         N_Null_Statements (for SCIL nodes).
2776         (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
2777         (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
2778         (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
2779         nodes).
2780         (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
2781         * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
2782         associated with dispatching call.
2783         (Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
2784         (Make_DT, Make_Tags): Add generation of SCIL nodes associated with
2785         initialization of dispatch tables and initialization of tags.
2786         (New_Scil_Node): New function that creates a new SCIL node.
2787         (Build_Init_Procedure): Add generation of SCIL node associated with the
2788         initialization of tags done in the IP subprogram.
2789
2790 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2791
2792         * errout.adb (Error_Msg_NEL): If the entity in the initial message has
2793         Warnings_Off, do not emit continuation messages.
2794
2795         * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
2796         spec.
2797
2798 2009-07-23  Emmanuel Briot  <briot@adacore.com>
2799
2800         * ali.adb: Minor comment update
2801
2802 2009-07-23  Vasiliy Fofanov  <fofanov@adacore.com>
2803
2804         * s-win32.ads (HANDLE): Define to be the same size as address type.
2805         Fix copyright.
2806
2807 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2808
2809         * g-sse.ads: New file. Root of the SSE facilities trees, with
2810         general description and common declarations.
2811         * g-ssvety.ads: New file. Expose user level SSE vector types.
2812         * impunit.adb (Non_Imp_File_Names_95): Register new units.
2813         * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
2814         EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
2815
2816 2009-07-23  Ben Brosgol  <brosgol@adacore.com>
2817
2818         * gnat_ugn.texi: Wordsmithing.
2819
2820 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2821
2822         * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
2823
2824 2009-07-22  Eric Botcazou  <ebotcazou@adacore.com>
2825
2826         * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
2827         they are already of the base type of the index.
2828
2829 2009-07-22  Brett Porter  <porter@adacore.com>
2830
2831         * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
2832
2833 2009-07-22  Robert Dewar  <dewar@adacore.com>
2834
2835         * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
2836         * gnat_ugn.texi: Add documentation for -gnateS switch
2837         * ug_words: Add entry for -gnateS /SCO_OUTPUT
2838         * gcc-interface/Make-lang.in: Update dependencies.
2839
2840         * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
2841         par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
2842         complete information for SCO input/output.
2843
2844 2009-07-22  Sergey Rybin  <rybin@adacore.com>
2845
2846         * gnat_ugn.texi: Update doc for some gnatcheck rules.
2847
2848 2009-07-22  Robert Dewar  <dewar@adacore.com>
2849
2850         * par_sco.adb, par_sco.ads (pscos): New debug routine to output
2851         contents of SCO tables.
2852         * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
2853         scos.adb, scos.ads: New files.
2854         * gcc-interface/Make-lang.in: Update dependencies.
2855
2856         * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
2857         fixes and reformatting.
2858
2859 2009-07-22  Robert Dewar  <dewar@adacore.com>
2860
2861         * g-socket.ads: Minor reformatting
2862
2863 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2864
2865         * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
2866         include the entity kind for following cases of unreferenced entities:
2867         E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
2868
2869 2009-07-22  Ed Falis  <falis@adacore.com>
2870
2871         * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
2872         with taskSuspend.
2873
2874 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2875
2876         * adadecode.c: Make this file compilable outside of GCC.
2877
2878 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2879
2880         * g-socket.adb, g-socket.ads (Check_Selector): Make sure that
2881         (partially) default-initialized socket sets are handled properly by
2882         clearing their Set component.
2883
2884 2009-07-22  Bob Duff  <duff@adacore.com>
2885
2886         * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
2887
2888 2009-07-22  Robert Dewar  <dewar@adacore.com>
2889
2890         * gnat_ugn.texi: Minor reformatting
2891
2892 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2893
2894         * errout.adb (Error_Msg): A style message within an instantiation
2895         should not be labelled as an error.
2896
2897 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2898
2899         * freeze.adb (Freeze_Entity): Do not generate extra formal for function
2900         in initialization expression if function does not have convention Ada.
2901
2902 2009-07-22  Sergey Rybin  <rybin@adacore.com>
2903
2904         * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
2905         '--separate-label' to control label layout.
2906
2907 2009-07-22  Robert Dewar  <dewar@adacore.com>
2908
2909         * exp_tss.ads, sem_eval.adb: Minor reformatting
2910
2911 2009-07-22  Bob Duff  <duff@adacore.com>
2912
2913         * exp_dist.adb, exp_dist.ads: Update comments.
2914
2915 2009-07-22  Brett Porter  <porter@adacore.com>
2916
2917         * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
2918         FPSCR.
2919         * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
2920
2921 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2922
2923         * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
2924         exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
2925         Minor reformatting.
2926         * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
2927         used poor terminology.
2928
2929 2009-07-22  Robert Dewar  <dewar@adacore.com>
2930
2931         * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
2932         * sem_eval.adb, exp_tss.adb: Minor comment update.
2933         * stylesw.adb: Code clean up.
2934
2935 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2936
2937         * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
2938         component size is an exact number of bytes, an array type can have a
2939         size clause that forces packing even though the array type itself is
2940         not bit-packed.
2941
2942 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2943
2944         * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
2945         if there is a previous entity with the same name in the scope, ignore
2946         it if it is the renaming declaration for a generic package introduced
2947         in instances.
2948
2949 2009-07-22  Nicolas Roche  <roche@adacore.com>
2950
2951         * seh_init.c: use RtlAddFunctionTable to register our SEH exception
2952         handler on x86_64 windows.
2953
2954 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2955
2956         * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
2957         false positives in CodePeer, so ignore this pragma in this mode.
2958
2959 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2960
2961         * sem_util.adb, sem_ch10.adb: Minor reformatting
2962
2963         * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
2964         special handling for the case of no data received and Item'First =
2965         Stream_Element_Offset'First.
2966         (Last_Index): New subprogram factoring the above special handling
2967         over the various locations where it is required.
2968
2969 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2970
2971         * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
2972         checks in CodePeer_Mode.
2973         * gcc-interface/Make-lang.in: Update dependencies.
2974
2975 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2976
2977         * sem_aggr.adb: Improve error message.
2978
2979         * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
2980         of an address representation clause.
2981         * freeze.adb (Freeze_Static_Object): An local imported object is legal
2982         if it has an address clause.
2983
2984 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2985
2986         * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
2987         expression to insert an elab check using a conditional expression, be
2988         sure to carry the original list of interpretations to the new location.
2989
2990 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2991
2992         * gnat1drv.adb: Fix spelling error.
2993
2994 2009-07-22  Javier Miranda  <miranda@adacore.com>
2995
2996         * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
2997         at the library level and fix a hidden bug in its implementation: its
2998         functionality for renaming objects was broken because
2999         N_Object_Renaming_Declarations nodes are not a subclass of
3000         N_Declaration nodes (as documented in sinfo.ads).
3001         * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
3002         check nodes that are actuals of generic instantiations.
3003
3004 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
3005
3006         * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
3007         context of a compilation unit is being analyzed. Used to detect
3008         circularities created by with_clauses that are not detected by the
3009         loading machinery.
3010         * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
3011         analyzing the context of the current compilation unit, to detect
3012         possible circularities created by with_clauses.
3013
3014 2009-07-22  Thomas Quinot  <quinot@adacore.com>
3015
3016         * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
3017
3018 2009-07-22  Robert Dewar  <dewar@adacore.com>
3019
3020         * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
3021         * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
3022         procedure.
3023         * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
3024         * gnat_ugn.texi: Add documentation of -gnatyB
3025         * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
3026
3027 2009-07-22  Robert Dewar  <dewar@adacore.com>
3028
3029         * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
3030         make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
3031         s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
3032         s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
3033         errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
3034         a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
3035         s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
3036         a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
3037         erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
3038         obey short-circuit style rule.
3039
3040 2009-07-20  Bob Duff  <duff@adacore.com>
3041
3042         * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
3043         instead of "and", because otherwise Parent_Last_Bit is read
3044         uninitialized in the case where it's not a tagged type, or the tagged
3045         parent does not have a complete rep clause.
3046
3047 2009-07-20  Robert Dewar  <dewar@adacore.com>
3048
3049         * stylesw.ads: Minor documentation change.
3050
3051         * types.ads: Minor reformatting
3052
3053 2009-07-20  Javier Miranda  <miranda@adacore.com>
3054
3055         * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
3056         generating the tag checks associated with dispatching calls.
3057         * exp_disp.adb (Apply_Access_Checks): New subprogram.
3058         (New_Value): This routine was previously local to expand dispatching
3059         calls but it is now used also by Apply_Access_Checks.
3060         (Expand_Dispatching_Calls): Cleanup code because the functionality of
3061         tag checks is now provided by Apply_Access_Checks. 
3062         * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
3063         case of dispatching calls.
3064
3065 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
3066
3067         * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
3068         CodePeer_Mode.
3069
3070 2009-07-20  Gary Dismukes  <dismukes@adacore.com>
3071
3072         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
3073         for VMS, only rewrite the first component of the associated exception's
3074         aggregate init (as 'V'), and eliminate the bogus rewrites of the second
3075         and third components  that were being replaced with 'M' and 'S'.
3076
3077 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
3078
3079         * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
3080         Also do not generate error when parsing a spec in CodePeer mode.
3081
3082 2009-07-20  Javier Miranda  <miranda@adacore.com>
3083
3084         * checks.adb (Apply_Access_Check): Avoid checks on availability of
3085         runtime function Offset_To_Top_Ptr when compiling with no tagged
3086         types expansion.
3087         * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
3088         adding code to the init proc when compiling for VM backends.
3089
3090 2009-07-20  Vincent Celier  <celier@adacore.com>
3091
3092         * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
3093         account switches -gnatw.?
3094
3095 2009-07-20  Thomas Quinot  <quinot@adacore.com>
3096
3097         * sem_dist.adb, exp_dist.adb: Minor reformatting
3098
3099         * Make-generated.in: New file.
3100
3101         * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
3102
3103 2009-07-20  Javier Miranda  <miranda@adacore.com>
3104
3105         * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
3106         subprogram.
3107         * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
3108         dynamically tagged expression.
3109         * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
3110         factorizes code.
3111         * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
3112         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
3113
3114 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
3115
3116         * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
3117         CodePeer_Mode is set, to benefit from full front-end expansion
3118         (e.g. generics).
3119
3120 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3121
3122         * sem_res.adb: Add guard.
3123
3124         * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
3125         for possible attribute definition of External_Tag, in case clause
3126         appears in the private part of a package.
3127
3128 2009-07-20  Jerome Guitton  <guitton@adacore.com>
3129
3130         * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
3131
3132 2009-07-20  Vadim Godunko  <godunko@adacore.com>
3133
3134         * a-coorma.adb: Minor reformatting.
3135
3136 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3137
3138         * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
3139         access return types.
3140         * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
3141         provide an itype reference to gigi to force elaboration of the subtype
3142         at the proper point.
3143
3144 2009-07-20  Tristan Gingold  <gingold@adacore.com>
3145
3146         * g-expect.adb: Avoid closeing already closed handle.
3147
3148 2009-07-20  Robert Dewar  <dewar@adacore.com>
3149
3150         * sprint.adb (Write_Subprogram_Name): New procedure to output
3151         subprogram name with possible preceding $ (replaces
3152         Note_Implicit_Run_Time_Call).
3153
3154 2009-07-20  Robert Dewar  <dewar@adacore.com>
3155
3156         * vms_data.ads: Minor reformatting
3157
3158         * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
3159         applies to base type.
3160         (Parent_Subtype): Now allowed on record subtype, applies to base type
3161         * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
3162         for case of fully repped tagged type.
3163         (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
3164         tag save/restore for fully repped tagged type case.
3165         * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
3166         * fe.h (Is_Fully_Repped_Tagged_Type): New function
3167         * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
3168         overlap of tagged type components with parent type if parent type is
3169         fully repped.
3170         * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
3171
3172         * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
3173         comparisons.
3174         (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
3175         (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
3176
3177         * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
3178         logical operators (AND/OR/XOR), not comparison operators.
3179
3180         * sprint.ads: Minor reformatting
3181
3182 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3183
3184         * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
3185         intrinsics, check that argument is a string literal, rather than
3186         checking for staticness.
3187
3188 2009-07-20  Robert Dewar  <dewar@adacore.com>
3189
3190         * sem_ch13.adb: Minor reformatting
3191
3192         * einfo.ads: Minor reformatting
3193         Component_Bit_Offset is no longer considered obsolescent
3194
3195 2009-07-20  Nicolas Roche  <roche@adacore.com>
3196
3197         * a-calend.adb: Redefine time_t as signed integer with same size as
3198         Address type.
3199         * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
3200         Address type
3201         * adaint.h: On Windows 64bits declare OS_Time as long long instead of
3202         long
3203
3204 2009-07-20  Javier Miranda  <miranda@adacore.com>
3205
3206         * exp_tss.adb (Init_Proc): Add missing support for non-default C++
3207         constructors that have anonymous access type formals.
3208
3209         * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
3210         class-wide arguments in case of imported C++ subprograms.
3211
3212         * exp_ch3.adb (Build_Initialization_Call): Add assertion.
3213
3214 2009-07-20  Sergey Rybin  <rybin@adacore.com>
3215
3216         * vms_data.ads: Update qualifiers.
3217
3218 2009-07-20  Robert Dewar  <dewar@adacore.com>
3219
3220         * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
3221         reformatting
3222
3223 2009-07-17  Richard Guenther  <rguenther@suse.de>
3224
3225         PR c/40401
3226         * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
3227         state.  Remove unused parameter.
3228         (gnat_gimplify_function): Do not gimplify here.
3229         Fold into its only caller and remove.
3230         (gnat_builtin_function): Adjust for end_subprog_body signature change.
3231         (gnat_write_global_declarations): Also finalize the CU.
3232         * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
3233         * gcc-interface/trans.c (gigi): Revert to pre-tuples state.
3234         (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
3235         change.
3236         * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
3237
3238 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
3239
3240         * gcc-interface/Make-lang.in: Update dependencies
3241
3242         * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
3243
3244 2009-07-15  Robert Dewar  <dewar@adacore.com>
3245
3246         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
3247         N_Label. Remove SCO table entry for entry point (not used).
3248
3249         * par_sco.ads: Remove SCO entry point type (not used)
3250
3251         * switch.adb: Minor code clean up.
3252
3253 2009-07-15  Eric Botcazou  <ebotcazou@adacore.com>
3254
3255         * exp_dbug.ads (Base Record Types): Document enhanced encoding.
3256
3257 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3258
3259         * gnatls.adb: Minor reformatting
3260
3261         * gnatcmd.adb: Minor code reorganization
3262
3263 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3264
3265         * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
3266         determine whether a component of a private type has a composite type.
3267
3268 2009-07-15  Robert Dewar  <dewar@adacore.com>
3269
3270         * sem_ch10.adb: Minor reformatting throughout
3271         Minor code reorganization (put nested subprograms in alpha order)
3272
3273 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3274
3275         * exp_ch6.adb (Expand_Call): Prevent double attachment of the result
3276         when compiling a call to a protected function that returns a controlled
3277         object.
3278
3279 2009-07-15  Hristian Kirtchev  <kirtchev@adacore.com>
3280
3281         * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
3282         one. Add task locking and unlocking around the critical region which
3283         mentions localtime_r and global variable timezone for various targets.
3284         Comment reformatting.
3285
3286 2009-07-15  Robert Dewar  <dewar@adacore.com>
3287
3288         * gnat_rm.texi: Document s-ststop.ads
3289
3290         * impunit.ad: (Map_Array): New table of alternative names
3291         (Get_Kind_Of_Unit): Return possible suggested alternative name
3292
3293         * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
3294         alternative name.
3295
3296         * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
3297         alternative unit if an implementation unit is with'ed.
3298
3299 2009-07-15  Robert Dewar  <dewar@adacore.com>
3300
3301         * gnat_ugn.texi: Minor updates.
3302
3303         * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
3304
3305 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3306
3307         * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
3308         conditions of a derived boolean type.
3309         Minor reformatting
3310
3311 2009-07-15  Robert Dewar  <dewar@adacore.com>
3312
3313         * gnat1drv.adb: Initialize SCO tables
3314
3315         * par-load.adb: Call SCO_Record for main unit spec
3316
3317         * par.adb: Make call to SCO_Record for main unit
3318
3319         * par_sco.adb (Unit_Table): Change format to facilitate sort
3320         (Process_Decisions): New procedure with list argument
3321         (Traverse_Generic_Package_Declaration): New procedure
3322         (Initialize): New procedure, replaces Init
3323         (SCO_Output): Sort unit table before output
3324         (SCO_Record): Avoid duplications
3325         (SCO_Record): Handle remaining cases of units
3326         (Traverse_Declarations_Or_Statements): Handle generics
3327
3328         * par_sco.ads (Initialize): New peocedure (replaces Init)
3329
3330         * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
3331         subunit.
3332
3333 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
3334
3335         * debug.adb: Add -gnatd.J switch for now to support scil generation in
3336         parallel. Add missing doc for -gnatd.I and -gnatd.O
3337
3338 2009-07-15  Robert Dewar  <dewar@adacore.com>
3339
3340         * lib-load.adb: Minor reformatting
3341
3342         * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
3343
3344 2009-07-15  Robert Dewar  <dewar@adacore.com>
3345
3346         * par.adb: Minor reformatting
3347         Add ??? comment for possible bad comment
3348
3349         * par-ch10.adb: Minor reformatting
3350
3351 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3352
3353         * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
3354         is a literal of a derived boolean type, it appears as an unchecked
3355         conversion. Retrieve actual value from expression of conversion.
3356
3357 2009-07-15  Robert Dewar  <dewar@adacore.com>
3358
3359         * sem_ch3.adb: Minor reformatting
3360
3361         * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
3362         lib-writ.ads, lib-writ.adb: Minor reformatting.
3363         Fix problem with SCO format in ALI files
3364
3365 2009-07-15  Robert Dewar  <dewar@adacore.com>
3366
3367         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3368         exp_aggr.adb: Minor code reorganization (better calling sequence for
3369         Make_Temporary).
3370
3371 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3372
3373         * opt.ads: Minor comment edits
3374
3375 2009-07-15  Tristan Gingold  <gingold@adacore.com>
3376
3377         * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
3378         needed.
3379
3380 2009-07-15  Robert Dewar  <dewar@adacore.com>
3381
3382         * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
3383         information.
3384
3385         * lib-writ.ads: Document addition of SCO lines to ALI file
3386
3387         * par_sco.ads, par_sco.adb: New files.
3388
3389         * opt.ads (Generate_SCO): New switch
3390
3391         * par.adb (Par): Call SCO_Record to record SCO information
3392
3393         * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
3394
3395         * switch-c.adb: Recognize -gnateS to generate SCO information
3396
3397         * usage.adb: Add line for -gnateS
3398
3399         * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
3400
3401 2009-07-15  Robert Dewar  <dewar@adacore.com>
3402
3403         * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
3404         reformatting.
3405
3406 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3407
3408         * g-socthi-mingw.adb: Minor comment addition
3409
3410         * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
3411
3412 2009-07-15  Robert Dewar  <dewar@adacore.com>
3413
3414         * g-htable.ads, s-htable.ads: Minor reformatting
3415
3416 2009-07-15  Robert Dewar  <dewar@adacore.com>
3417
3418         * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
3419         new switch -gnatw.g.
3420         (Set_GNAT_Mode_Warnings): New procedure.
3421
3422         * lib-xref.adb: Minor reformatting
3423
3424 2009-07-15  Robert Dewar  <dewar@adacore.com>
3425
3426         * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
3427         Minor code reorganization
3428
3429 2009-07-14  Taras Glek  <tglek@mozilla.com>
3430             Rafael Espindola  <espindola@google.com>
3431
3432         * gcc-interface/Make-lang.in (ada.install-plugin): New target for
3433         installing plugin headers.
3434
3435 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3436
3437         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3438         exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
3439         and link it to the expression whose value it captures.
3440
3441 2009-07-13  Robert Dewar  <dewar@adacore.com>
3442
3443         * output.adb: Minor comment addition for last change
3444
3445         * sinfo.ads: Minor reformatting
3446
3447 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3448
3449         * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
3450         spawn failed like on all other targets.
3451
3452 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3453
3454         * exp_ch7.adb: Indicate origin of temporary for transient expression.
3455
3456 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3457
3458         * s-oscons-tmplt.c: Add comment.
3459
3460 2009-07-13  Robert Dewar  <dewar@adacore.com>
3461
3462         * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
3463         reformatting. Minor code reorganization (add 9 argument version of
3464         Nkind_In).
3465
3466         * impunit.adb: Remove s-os_lib from list of system extensions.
3467
3468         * sem_util.ads: Minor reformatting
3469
3470         * output.adb: Add warnings off/on around System.OS_Lib.
3471
3472 2009-07-13  Bob Duff  <duff@adacore.com>
3473
3474         * exp_dist.adb: Minor comment updates.
3475
3476 2009-07-13  Gary Dismukes  <dismukes@adacore.com>
3477
3478         * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
3479         several references to CodePeer.
3480
3481 2009-07-13  Bob Duff  <duff@adacore.com>
3482
3483         * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
3484         Build_TypeCode_Function_All): Do not recurse if the type is the base
3485         type.
3486
3487 2009-07-13  Robert Dewar  <dewar@adacore.com>
3488
3489         * exp_ch4.adb: Minor comment change
3490
3491 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3492
3493         * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
3494         type of iteration, to prevent spurious warnings.
3495
3496 2009-07-13  Nicolas Roche  <roche@adacore.com>
3497
3498         * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
3499         included.
3500
3501 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3502
3503         * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
3504         gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
3505         Generate_SCIL.
3506         (CodePeer_Mode): New -gnatC switch.
3507         (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
3508         CodePeer_Mode.
3509
3510 2009-07-13  Eric Botcazou  <ebotcazou@adacore.com>
3511
3512         * checks.adb (Selected_Range_Checks): Do not consider that a non-static
3513         integer bound forces the check if it is compared to its subtype range.
3514
3515 2009-07-13  Robert Dewar  <dewar@adacore.com>
3516
3517         * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
3518         prj-strt.ads: Minor reformatting
3519
3520 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3521
3522         * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
3523         set the type of the From_Any call to the base type.
3524
3525 2009-07-13  Doug Rupp  <rupp@adacore.com>
3526
3527         * symbols-processing-vms-ia64.adb (Process): Add variables and
3528         constants to retrieve and check for symbol visibility.
3529
3530 2009-07-13  Javier Miranda  <miranda@adacore.com>
3531
3532         * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
3533         the identical type we remove the conversion completely because
3534         it is useless.
3535
3536 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3537
3538         * prj-err.adb (Error_Msg): One more case where a message should be
3539         considered as a warning.
3540
3541         * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
3542
3543 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3544
3545         * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
3546         calling stubs in the (library level) scope of the RCI locator, where it
3547         is attached, not in the caller's scope.
3548
3549 2009-07-13  Javier Miranda  <miranda@adacore.com>
3550
3551         * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
3552         interface object declarations we delay the generation of the equivalent
3553         record type declarations until its expansion because there are cases in
3554         which they are not required.            
3555
3556         * sem_util.adb (Implements_Interface): Add missing support for subtypes.
3557
3558         * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
3559         addition of assertion.
3560
3561         * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
3562         interface types require no equivalent constrained type declarations
3563         because the expanded code only references the tag component associated
3564         with the interface.
3565         (Find_Interface_Tag): Improve management of interfaces that are
3566         ancestors of tagged types.
3567
3568         * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
3569         class-wide object declarations to add missing support to statically
3570         displace the pointer to the object to reference the tag component
3571         associated with the interface.
3572
3573         * exp_disp.adb (Make_Tags) Avoid generation of internally generated
3574         auxiliary types associated with user-defined dispatching calls if the
3575         type has no user-defined primitives.
3576
3577 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3578
3579         * mingw32.h: Make it explicit that we need XP or later.
3580
3581         * initialize.c: Remove useless extern symbol declaration.
3582
3583         * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
3584         code reuse in expect.c.
3585
3586         * adaint.c: Changes throughout the Windows section to redesign storage
3587         of the child process list and the process identification.
3588
3589         * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
3590         for interfacing, fix errors.
3591         (__gnat_expect_portable_execvp): use function in adaint.c
3592
3593 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3594
3595         * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
3596         prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
3597         prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
3598         errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
3599         (Prj.Nmsc.Report_Error): Removed, no longer needed.
3600         Always use Prj.Err.Report_Message.
3601
3602 2009-07-13  Robert Dewar  <dewar@adacore.com>
3603
3604         * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
3605         & comment edits.
3606
3607 2009-07-13  Robert Dewar  <dewar@adacore.com>
3608
3609         * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
3610         prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
3611
3612 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3613
3614         * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
3615         mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
3616         Ada_Prj_Include_File_Set): Removed, since not needed
3617         Code clean up.
3618
3619 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3620
3621         * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
3622         Analyze_Membership_Op.
3623
3624         * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
3625         Resolve_Membership_Op.
3626
3627         * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
3628         Expand_N_In.
3629
3630 2009-07-13  Robert Dewar  <dewar@adacore.com>
3631
3632         * clean.adb: Minor reformattting
3633
3634 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3635
3636         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
3637         gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
3638         prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
3639         prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
3640         and attributes in a project tree.
3641         (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
3642         Remove last remaining mode-specific code (ada_only or
3643         multi_language). This was duplicating code
3644         (Get_Mode, Set_Mode): removed, no longer used.
3645         (Initialize_Project_Path): all tools will now take into account both
3646         GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
3647         Remove some global variables and subprograms no longer used
3648         Make temporary files tree-specific, to avoid interferences between
3649         trees loaded in memory at the same time.
3650         (Prj.Delete_Temporary_File): new subprogram
3651         (Object_Paths, Source_Paths): fields no longer stored in the project
3652         tree, since they are only needed locally in Set_Ada_Paths.
3653         (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
3654         effect in practice.
3655         (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
3656         by local variables in the appropriate subprograms
3657         (Has_Foreign_Sources): removed.
3658
3659         * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
3660
3661 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3662
3663         * gnat1drv.adb (Adjust_Global_Switches): No longer set
3664         Back_Annotate_Rep_Info in inspector mode.
3665         (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
3666
3667         * opt.ads: Update comment.
3668
3669 2009-07-13  Robert Dewar  <dewar@adacore.com>
3670
3671         * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
3672         prj.ads: Minor reformatting and code reorganization.
3673
3674         * par-ch3.adb (Check_Restricted_Expression): New procedure
3675
3676 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3677
3678         * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
3679         attribute into a call of the corresponding suprogram, create extra
3680         formals for the subprogram, because it may be a renaming whose
3681         analysis does not create extra formals.
3682
3683 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3684
3685         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
3686         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3687         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
3688         prj-tree.ads: Minor reformatting.
3689         (Processing_Flags): new record to encapsulate the set of common
3690         parameters to several subprograms in the project manager.
3691         (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
3692         Remove the need for the Current_Dir parameter in subprograms.
3693         (Look_For_Sources): minor refactoring, now that we no longer need to
3694         share subprograms between the two Ada_Only and Multi_Language modes
3695         (Processing_Flags): New field Error_On_Unknown_Language.
3696         Merge tests for library project between gnatmake and gprbuild.
3697
3698 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3699
3700         * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
3701         Minor reformatting.
3702
3703 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3704
3705         * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
3706         than units.
3707
3708 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3709
3710         * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
3711         Write,Input,Output} from private view to full view.
3712
3713         * sem_type.adb, sem_type.ads: Minor reformatting
3714
3715 2009-07-13  Nicolas Setton  <setton@adacore.com>
3716
3717         * exp_dbug.ads: Add documentation note on the utility of
3718         DW_AT_GNAT_encoding for IDEs.
3719
3720 2009-07-13  Robert Dewar  <dewar@adacore.com>
3721
3722         * g-socthi-vxworks.adb: Minor reformatting
3723
3724         * gnatcmd.adb: Minor reformatting
3725
3726 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3727
3728         * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
3729         removed, not used anymore.
3730         (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
3731         New subprogram, implements copy of an Any value into a limited object.
3732         (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
3733         Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
3734         Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
3735         of parameters of a limited type, use the above new subprogram.
3736
3737 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3738
3739         * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
3740         Location.
3741         (Copy_ALI_Files): Avoid calls to read when pointing outside of the
3742         allocated space.
3743         (Error_Report): Remove global variable, replaced by parameters.
3744
3745 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3746
3747         * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
3748         standard sendto(2) interface for connected sockets (passing a null
3749         destination address). Use send(2) instead for that case.
3750
3751 2009-07-13  Pascal Obry  <obry@adacore.com>
3752
3753         * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
3754
3755 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3756
3757         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
3758         prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
3759         variables and tables in prj-nmsc.adb.
3760         (Tree_Processing_Data): Renames Processing_Data, some new fields added
3761         (Project_Processing_Data): New record
3762         Simplify/unify check for missing sources.
3763
3764 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3765
3766         * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
3767         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3768         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
3769         prj-tree.ads (Immediate_Directory_Of): Removed.
3770         (Prj.Pars): Now parse the project simulating a default config file.
3771         (Add_Default_GNAT_Naming_Scheme): New subprogram
3772         (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
3773         Remove gnatmake-specific parsing of source files.
3774         (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
3775         the error itself to provide more precise diagnostics.
3776         (Process_Exceptions_Unit_Based): Avoid duplicate error message when
3777         a unit belongs to several projects.
3778         (Copy_Interface_Sources): Search the full path of files to copy in the
3779         list of sources of the application rather than in the list of units.
3780         (Parse_Project_And_Apply_Config): Do not reset the name of the main
3781         project file.
3782         (Check_File): Use htables to find out whether a source is duplicated.
3783         (Add_Source): check whether the source or unit were already seen earlier
3784
3785         * gcc-interface/Makefile.in: Update gnatmake dependencies.
3786
3787 2009-07-13  Robert Dewar  <dewar@adacore.com>
3788
3789         * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
3790         expression if extensions permitted.
3791
3792         * par-ch4.adb (P_Membership_Test): New procedure (implement membership
3793         set tests).
3794         (P_Relation): Use P_Membership_Test
3795
3796         * par.adb (P_Membership_Test): New procedure (implement membership set
3797         tests).
3798
3799         * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
3800
3801         * sprint.adb (Sprint_Node): Handle set form for membership tests.
3802
3803 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3804
3805         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
3806         Do not attempt to generate stubs for predefined primitives of
3807         synchronized interfaces.
3808         (Add_Stub_Type): Factor some code from the PCS-specific variants of
3809         Build_Stub_Type.
3810
3811 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3812
3813         * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
3814         Controlling_Result flag from the operation they override.
3815
3816 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3817
3818         * gcc-interface/Make-lang.in: Update dependencies
3819
3820 2009-07-13  Robert Dewar  <dewar@adacore.com>
3821
3822         * gnat_ugn.texi: The gnatf switch no longer is needed to get full
3823         details on unsupported constructs.
3824
3825         * rtsfind.adb: Remove references to All_Errors_Mode, give errors
3826         unconditionally.
3827
3828         * s-trafor-default.adb: Correct some warnings
3829
3830         * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
3831         sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
3832         Minor reformatting.
3833
3834         * par-ch4.adb (Conditional_Expression): Capture proper location for
3835         conditional expression, should point to IF.
3836
3837         * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
3838         s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
3839         g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
3840         reorganization (use conditional expressions).
3841
3842 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3843
3844         * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
3845         build-in-place function that returns an inherently limited type (not
3846         just a task type) create proper object declaration so that extra
3847         build-in-place actuals are properly added to the call.
3848
3849 2009-07-13  Robert Dewar  <dewar@adacore.com>
3850
3851         * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
3852
3853         * gnat_ugn.texi: Add documentation for -gnatw.m/.M
3854
3855         * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
3856
3857         * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
3858         Warn_On_Suspicious_Modulus_Value.
3859
3860         * ug_words: Add entries for -gnatw.m/-gnatw.M.
3861
3862         * usage.adb: Add lines for -gnatw.m/.M switches.
3863
3864         * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
3865
3866 2009-07-13  Javier Miranda  <miranda@adacore.com>
3867
3868         * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
3869         reading the Is_Interface attribute of the dispatching type.
3870
3871 2009-07-13  Robert Dewar  <dewar@adacore.com>
3872
3873         * a-convec.adb: Minor code reorganization (use conditional expressions)
3874
3875 2009-07-13  Robert Dewar  <dewar@adacore.com>
3876
3877         * freeze.adb (Check_Suspicious_Modulus): New procedure.
3878
3879 2009-07-13  Robert Dewar  <dewar@adacore.com>
3880
3881         * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
3882         warning).
3883
3884         * par-ch4.adb: Minor reformatting
3885
3886 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3887
3888         * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
3889         => Is_Atomic_Aggregate
3890
3891 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3892
3893         * prj-nmsc.adb: Avoid traversing the list of source files if
3894         we have already processed all locally removed files.
3895
3896 2009-07-13  Jose Ruiz  <ruiz@adacore.com>
3897
3898         * gnat_ugn.texi: Fix typo.
3899
3900 2009-07-13  Robert Dewar  <dewar@adacore.com>
3901
3902         * freeze.adb: Minor reformatting
3903         Minor code reorganization (use Nkind_In)
3904
3905         * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
3906
3907 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
3908
3909         * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
3910         local variable and do not test it in Compile_Time_Bad_Alignment.
3911         Do not issue size or alignment warnings for the X'Address form.
3912         * sem_util.ads (Find_Overlaid_Object): Delete.
3913         (Find_Overlaid_Entity): New procedure.
3914         * sem_util.adb (Find_Overlaid_Object): Rename to...
3915         (Find_Overlaid_Entity): ...this and turn into a procedure.  Report
3916         whether the address is offseted within the overlaid entity.
3917         (Has_Compatible_Alignment): Track the offset globally instead of
3918         passing it to Check_Offset.  For an indexed component, compute the
3919         full offset when possible.  If the resulting offset is zero, only
3920         check the prefix.
3921         (Check_Offset): Delete.
3922         * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
3923         (Address_Aliased_Entity): Delete.
3924         (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
3925         Find_Overlaid_Entity to find the overlaid entity and the offset.
3926         Adjust throughout for above change.
3927         (Validate_Address_Clauses): Always use attributes of entities, not of
3928         their type.  Tweak message for warning.  Call Has_Compatible_Alignment
3929         if the address is offseted to warn about incompatible alignments.
3930         * gcc-interface/gigi.h (annotate_object): Declare.
3931         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
3932         entity.  Call annotate_object instead of annotating manually objects.
3933         (annotate_object): New function.
3934         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
3935         at the end.
3936
3937 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
3938
3939         * gcc-interface/ada-tree.h: Minor reorganization.
3940         * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
3941         (gnat_print_type): Likewise.
3942
3943 2009-07-11  Thomas Quinot  <quinot@adacore.com>
3944
3945         * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
3946         Lvalue -> lvalue
3947
3948         * exp_ch6.adb: Minor reformatting
3949
3950 2009-07-11  Ed Schonberg  <schonberg@adacore.com>
3951
3952         * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
3953         account possible type qualification to determine whether aggregate
3954         needs a target temporary to respect atomic type or object.
3955
3956         * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
3957         Expand_Atomic_Aggregate.
3958
3959 2009-07-11  Emmanuel Briot  <briot@adacore.com>
3960
3961         * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
3962         algorithm.
3963         (Excluded_Sources_Htable): No longer a global table.
3964         Change error message to indicate which files are illegal in the list
3965         of excluded files, as opposed to only the location in the project
3966         file.
3967         (Find_Source): New subprogram.
3968
3969 2009-07-10  Thomas Quinot  <quinot@adacore.com>
3970
3971         * exp_ch7.adb: Update comments.
3972
3973 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
3974
3975         * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
3976         clause if -gnatI is set instead of crashing.
3977
3978 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3979
3980         * sem_ch11.adb (Same_Expression): Null is always equal to itself.
3981         Additional work to remove redundant successive raise statements, in
3982         this case access checks.
3983
3984 2009-07-10  Vincent Celier  <celier@adacore.com>
3985
3986         * make.adb (Compile): Always create a deep copy of the mapping file
3987         argument (-gnatem=...) as it may be deallocate/reallocate by
3988         Normalize_Arguments.
3989
3990 2009-07-10  Javier Miranda  <miranda@adacore.com>
3991
3992         * einfo.adb (Directly_Designated_Type): Add assertion.
3993         
3994         * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
3995         access types before using attribute Directly_Designated_Type.
3996
3997 2009-07-10  Emmanuel Briot  <briot@adacore.com>
3998
3999         * prj.ads: Minor typo fix
4000
4001 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4002
4003         * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
4004         special treatment.
4005
4006         * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
4007         subprogram is a function call, resolve properly, to ensure that extra
4008         actuals are added as needed.
4009
4010 2009-07-10  Thomas Quinot  <quinot@adacore.com>
4011
4012         * sem_aggr.adb: Minor comments editing
4013
4014         * exp_tss.adb, exp_ch3.adb: Minor reformatting
4015
4016 2009-07-10  Robert Dewar  <dewar@adacore.com>
4017
4018         * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
4019
4020         * exp_ch4.adb: Add ??? comment for conditional expressions on limited
4021         types.
4022
4023         * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
4024         replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
4025         case of conditional expressions that may not be elaborated.
4026
4027         * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
4028         conditional expression where we may not execute then then or else
4029         branches.
4030
4031 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
4032
4033         * i-cexten.ads (bool): New type.
4034
4035 2009-07-10  Robert Dewar  <dewar@adacore.com>
4036
4037         * sinfo.ads (N_Short_Circuit): New definition
4038         
4039         * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
4040         treepr.adb: Minor code reorganization (use N_Short_Circuit)
4041
4042 2009-07-10  Javier Miranda  <miranda@adacore.com>
4043
4044         * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
4045         non-tagged record types.
4046
4047         * sem_prag.adb
4048         (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
4049         with non-tagged types. Required to import C++ classes that have no
4050         virtual primitives.
4051         (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
4052         returning non-tagged types. For backward compatibility, if the
4053         constructor returns a class wide type we internally change the
4054         returned type to the corresponding non class-wide type.
4055
4056         * sem_aggr.adb
4057         (Valid_Ancestor_Type): CPP_Constructors code cleanup.
4058         (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
4059         (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
4060         (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
4061
4062         * sem_ch3.adb
4063         (Analyze_Object_Declaration): CPP_Constructors code cleanup.
4064
4065         * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
4066
4067         * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
4068
4069         * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
4070
4071         * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
4072         cleanup.
4073         
4074         * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
4075
4076         * gnat_rm.texi
4077         (pragma CPP_Class): Document that it can be used now with non-tagged
4078         record types.
4079         (pragma CPP_Constructor): Document that it can be used now with
4080         functions returning specific types. For backward compatibility
4081         we also support functions returning class-wide types.
4082
4083         * gnat_ugn.texi
4084         (Interfacing with C++ constructors): Update the examples to incorporate
4085         the new syntax in which the functions used to import C++ constructors
4086         return specific types.
4087         (Interfacing with C++ at the Class Level): Update the examples to
4088         incorporate the new syntax in which the functions used to import
4089         C++ constructors return specific types.
4090
4091 2009-07-10  Thomas Quinot  <quinot@adacore.com>
4092
4093         * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
4094         Make_Disp_Conditional_Select_Body,
4095         Make_Disp_Timed_Select_Body): For the case of a type that is neither an
4096         interface nor a concurrent type, the primitive body is empty. Generate
4097         a null statement so that it remains well formed.
4098
4099 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4100
4101         * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
4102         replace references to them in defaulted component expressions with
4103         references to the values of the discriminants of the target object.
4104
4105 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4106
4107         * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
4108         pragma, to capture global references if the context is generic.
4109
4110         * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
4111         appears within the initialization procedure for the corresponding
4112         record, replace it with the proper discriminal.
4113
4114 2009-07-10  Vincent Celier  <celier@adacore.com>
4115
4116         * make.adb: Do not include object directories or library ALI
4117         directories of library projects in the object path.
4118
4119 2009-07-10  Javier Miranda  <miranda@adacore.com>
4120
4121         * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
4122         Typ argument to ensure proper management of access types.
4123
4124 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4125
4126         * exp_ch7.adb (Build_Final_List): If the list is being built for a
4127         Taft-Amendment type, place the finalization list in the package body,
4128         to ensure that the tree for the spec is identical whenever it is
4129         compiled.
4130
4131 2009-07-10  Javier Miranda  <miranda@adacore.com>
4132
4133         * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
4134         inheriting attributes from a private Parent_Base.
4135
4136 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4137
4138         * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
4139         statements with the same condition.
4140
4141 2009-07-10  Robert Dewar  <dewar@adacore.com>
4142
4143         * exp_ch4.adb (Raise_Accessibility_Error): New procedure
4144
4145 2009-07-09  Tom Tromey  <tromey@redhat.com>
4146
4147         * raise-gcc.c: Include dwarf2h (unconditionally).
4148
4149 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4150
4151         * sem_ch10.adb (Install_Context): If the unit is a package body,
4152         install the private with_clauses of the corresponding package
4153         declaration.
4154
4155 2009-07-09  Robert Dewar  <dewar@adacore.com>
4156
4157         * checks.adb: Minor reformatting
4158
4159 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4160
4161         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
4162         into ug_words.
4163
4164 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4165
4166         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
4167         Do not warn for a constant overlaying any constant object
4168
4169 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4170
4171         * sem_ch10.adb (Install_Context): If the unit is a package body,
4172         install the private with_clauses of the corresponding package
4173         declaration.
4174
4175 2009-07-09  Robert Dewar  <dewar@adacore.com>
4176
4177         * checks.adb: Minor reformatting
4178
4179 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4180
4181         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
4182         into ug_words.
4183
4184 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4185
4186         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
4187         Do not warn for a constant overlaying any constant object
4188
4189 2009-07-09  Arnaud Charlet  <charlet@adacore.com>
4190
4191         * gcc-interface/Make-lang.in: Update dependencies
4192
4193 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4194
4195         * g-socket.adb (Check_Selector): Do not create local copies of the
4196         socket sets on the stack.
4197
4198 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4199
4200         * gnat_ugn.texi: Add missing VMS translations.
4201
4202 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4203
4204         * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
4205         condition, to prevent generation of visible code during expansion,
4206         when Check is not enabled.
4207
4208 2009-07-09  Gary Dismukes  <dismukes@adacore.com>
4209
4210         * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
4211         the check gets registered for any available local handler
4212         (Set_Local_Raise).
4213
4214         * sem_util.adb: Add with and use of Exp_Ch11.
4215         (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
4216         that the check gets registered for any available local handler.
4217
4218         * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
4219         on slice ranges.
4220
4221 2009-07-09  Steve Baird  <baird@adacore.com>
4222
4223         * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
4224         function.
4225         (Expand_N_Exception_Declaration): Fix handling of exceptions
4226         declared in a subprogram.
4227
4228 2009-07-09  Emmanuel Briot  <briot@adacore.com>
4229
4230         * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
4231         multi-unit files.
4232
4233 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4234
4235         * freeze.adb: Minor reformatting
4236
4237         * exp_ch3.adb: Minor comment fix.
4238
4239         * sinfo.ads: Minor comment fix
4240
4241 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4242
4243         * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
4244
4245 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4246
4247         * freeze.adb (Freeze_Expression): If the expression is the name of a
4248         function in a call, and the function has not been frozen yet, create
4249         extra formals for it to ensure that the proper actuals are created
4250         when expanding the call.
4251
4252 2009-07-09  Emmanuel Briot  <briot@adacore.com>
4253
4254         * prj-pp.adb (Print): Fix handling of source index when set on a
4255         declaration node.
4256
4257 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4258
4259         * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
4260         a temporary to the source expression whose value it captures.
4261
4262         * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
4263
4264 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4265
4266         * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
4267         EXPR_LOCATION.
4268
4269 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
4270
4271         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
4272         parameters when the subtype of the actual is not known to be a subrange
4273         of the formal's subtype.
4274         (Expand_Call): Generate a range check only in the E_In_parameter case
4275         (in out parameter range checks are now handled in Expand_Actuals).
4276
4277         * exp_ch4.adb (Expand_N_Slice): Restore code that calls
4278         Enable_Range_Check.
4279
4280 2009-07-07  Robert Dewar  <dewar@adacore.com>
4281
4282         * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
4283
4284 2009-07-07  Javier Miranda  <miranda@adacore.com>
4285
4286         * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
4287         designated type comes from a limited views.
4288
4289 2009-07-07  Emmanuel Briot  <briot@adacore.com>
4290
4291         * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
4292         locally removed files that are later made visible again in an importing
4293         project.
4294
4295 2009-07-07  Robert Dewar  <dewar@adacore.com>
4296
4297         * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
4298
4299 2009-07-07  Sergey Rybin  <rybin@adacore.com>
4300
4301         * gnat_ugn.texi: Add an example to the description of gnatcheck
4302         'Style_Checks' rule option.
4303
4304 2009-07-07  Tristan Gingold  <gingold@adacore.com>
4305
4306         * seh_init.c: Fix inline assembly statement in seh_init.c
4307
4308 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4309
4310         * sem_warn.adb (Check_References): Do not emit warnings on formals of
4311         an entry body. Only the formals of the entry declaration are traced.
4312
4313 2009-07-07  Robert Dewar  <dewar@adacore.com>
4314
4315         * s-osprim-mingw.adb: Minor code reorganization
4316
4317 2009-07-07  Robert Dewar  <dewar@adacore.com>
4318
4319         * prj-nmsc.adb: Minor reformatting
4320
4321 2009-07-07  Pascal Obry  <obry@adacore.com>
4322
4323         * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
4324         cases where Pattern is longer than Source.
4325
4326 2009-07-07  Pascal Obry  <obry@adacore.com>
4327
4328         * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
4329
4330 2009-07-07  Emmanuel Briot  <briot@adacore.com>
4331
4332         * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
4333         project file.
4334
4335 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4336
4337         * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
4338         primitive operations, in case one of them is called in the
4339         initialization procedure for the type.
4340
4341 2009-07-07  Robert Dewar  <dewar@adacore.com>
4342
4343         * a-calend.adb: Minor code reorganization (use conditional expressions)
4344
4345         * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
4346         prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
4347         s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
4348         s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
4349         s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
4350         g-comlin.adb, exp_ch11.adb: Minor reformatting.
4351
4352 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
4353
4354         * checks.adb (Generate_Range_Check): Replace type conversions with
4355         unchecked conversions to support the case of performing range checks
4356         on Enum'Val (permits integer values to be converted to enumeration).
4357
4358         * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
4359         Attribute_Succ): Set Do_Range_Check to False before calling
4360         Expand_Pred_Succ, to prevent gigi from generating any range checks.
4361         (Expand_N_Attribute_Reference, case Attribute_Val):
4362         Generate a range check when needed (and set Do_Range_Check to False).
4363
4364         * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
4365         scalar object initialization if needed.
4366
4367         * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
4368         when needed on scalar allocators.
4369         (Expand_N_Qualified_Expression): Generate range check when needed.
4370         (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
4371         Checks on slice ranges handled in Resolve_Slice.
4372
4373         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
4374         when needed, for all scalar assignments, not just discrete.
4375         (Expand_Simple_Function_Return): Resolve the conversion created for a
4376         scalar function return so that the conversion will get expanded to
4377         generate a possible constraint check.
4378
4379         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
4380         in out scalar actuals when subtypes don't match, to ensure generation
4381         of return checks (and set Do_Range_Check to False).
4382         (Expand_Call): Uncomment code to perform range checks, but make it apply
4383         only to in and in out parameters (checks on parameter returns are
4384         handled in Expand_Actuals). If a scalar actual for a call to a derived
4385         subprogram is marked as needing a range check, peform it here (and set
4386         Do_Range_Check to False).
4387
4388         * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
4389         range check on scalar component associations when needed.
4390
4391         * sem_eval.adb (In_Subrange_Of): Return False when the first type has
4392         infinities but the second type does not, as these aren't compatible
4393         floating-point types.
4394
4395         * sem_res.adb (Resolve_Slice): In the case where the prefix of the
4396         slice is itself a slice, pick up the Etype of the prefix. This handles
4397         the case where the prefix was an Image attribute expanded to a slice,
4398         and ensures that we get the subtype with the slice constraint rather
4399         than the unconstrained subbtype of the 'Image.
4400
4401 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4402
4403         * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
4404         overloaded expressions in a conditional expressions.
4405
4406         * sem_res.adb (Resolve): Handle properly overloaded conditional
4407         expressions.
4408
4409 2009-07-07  Robert Dewar  <dewar@adacore.com>
4410
4411         * scng.adb: Minor reformattting
4412
4413         * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
4414         association allows conditional expression without parens.
4415
4416         * par-ch4.adb (P_Name): Attribute arguments can be conditional
4417         expressions without enclosing parentheses, and also as parameters,
4418         indexing expressions etc.
4419         (P_Conditional_Expression): New procedure
4420         (P_Expression_If_OK): New procedure
4421
4422         * par.adb (P_Conditional_Expression): New procedure
4423         (P_Expression_If_OK): New procedure
4424
4425         * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
4426         form of conditional expression.
4427
4428         * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
4429         missing True argument if ELSE argument missing.
4430
4431         * sinfo.adb (Is_Elsif): New flag
4432
4433         * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
4434         part of the language, and the documentation is modified accordingly.
4435         (Is_Elsif): New flag
4436
4437 2009-07-06  Olivier Hainque  <hainque@adacore.com>
4438
4439         * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
4440         setjmp_longjmp): Attach the exception propagation reraise fallback
4441         to the sequence end label location when we have it.
4442
4443 2009-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
4444
4445         PR ada/40608
4446         * init.c (APPLE): Include <mach/mach_init.h>.
4447         (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
4448
4449 2009-07-04  Eric Botcazou  <ebotcazou@adacore.com>
4450
4451         * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
4452         (SET_DECL_LANG_SPECIFIC): Likewise.
4453         (TYPE_RM_VALUE): New macro.
4454         (SET_TYPE_RM_VALUE): Likewise.
4455         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
4456         (TYPE_RM_MIN_VALUE): Likewise.
4457         (TYPE_RM_MAX_VALUE): Likewise.
4458         (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
4459         (SET_TYPE_RM_MIN_VALUE): Likewise.
4460         (SET_TYPE_RM_MAX_VALUE): Likewise.
4461         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
4462
4463 2009-07-04  Laurent GUERBY  <laurent@guerby.net>
4464
4465         PR ada/40631
4466         * tracebak.c (__gnat_backtrace): Fix old-style definition.
4467
4468 2009-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4469
4470         * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
4471
4472 2009-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4473
4474         PR ada/40609
4475         * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
4476         ucontext argument.
4477
4478 2009-07-01  Eric Botcazou  <ebotcazou@adacore.com>
4479
4480         * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
4481
4482 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4483
4484         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
4485         the type of the left operand if it pads a self-referential type when
4486         the right operand is a constructor.
4487
4488         * gcc-interface/lang-specs.h: Fix copyright date.
4489
4490 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4491
4492         * gcc-interface/decl.c: Include tree-inline.h.
4493         (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
4494         * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
4495         * gcc-interface/utils2.c: Include tree-inline.
4496         (known_alignment) <CALL_EXPR>: Likewise.
4497
4498 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4499
4500         * raise-gcc.c: Include dwarf2.h conditionally.
4501         
4502 2009-06-29  Tom Tromey  <tromey@redhat.com>
4503
4504         * raise-gcc.c: Include elf/dwarf2.h.
4505
4506 2009-06-27  Laurent GUERBY  <laurent@guerby.net>
4507
4508         * tb-gcc.c (trace_callback): Add casts to silence warning.
4509
4510 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4511
4512         * tb-gcc.c: Fix copyright notice.
4513
4514 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4515
4516         * init.c (__gnat_set_globals): Add prototype.
4517         * adaint.c (__gnat_binder_supports_auto_init): Likewise.
4518         (__gnat_sals_init_using_constructors): Likewise.
4519         * gcc-interface/utils.c (gnat_pushlevel): Likewise.
4520         (get_block_jmpbuf_decl): Likewise.
4521         (gnat_poplevel): Likewise.
4522         (merge_sizes): Rename local variable.
4523         (copy_type): Likewise.
4524         (build_vms_descriptor32): Likewise.
4525         (build_vms_descriptor): Likewise.
4526         (convert_vms_descriptor64): Likewise.
4527         (convert_vms_descriptor32): Likewise.
4528         (convert_to_fat_pointer): Likewise.
4529         (maybe_unconstrained_array): Likewise.
4530         (def_fn_type): Use promoted type with va_arg.
4531         * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
4532         (substitute_in_type): Rename local variable.
4533         * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
4534
4535 2009-06-26  Laurent GUERBY  <laurent@guerby.net>
4536
4537         * tb-gcc.c (trace_callback): Use char* instead of void*.
4538         * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
4539         * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
4540         (Attribute_to_gnu): Adjust for above change.
4541         (Subprogram_Body_to_gnu): Likewise.
4542         * gcc-interface/utils.c (merge_sizes): Rename local variable.
4543         (copy_type): Likewise.
4544         (build_vms_descriptor32): Likewise.
4545         (build_vms_descriptor): Likewise.
4546         (convert_vms_descriptor64): Likewise.
4547         (convert_vms_descriptor32): Likewise.
4548         (convert_to_fat_pointer): Likewise.
4549         (maybe_unconstrained_array): Likewise.
4550         * gcc-interface/decl.c (substitute_in_type): Likewise.
4551
4552 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4553
4554         * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
4555         (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
4556         of the upper bound of the index types.
4557
4558 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4559
4560         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
4561         out common predicate.  Use the maximum to compute the upper bound of
4562         the index type only when it is not wider than sizetype.  Perform the
4563         comparison in the index type for the generic expression.  Use real
4564         precision to decide whether to generate special types for debugging
4565         information.
4566
4567 2009-06-26  Matthew Gingell  <gingell@adacore.com>
4568
4569         * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
4570
4571 2009-06-26  Vincent Celier  <celier@adacore.com>
4572
4573         * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
4574         default.
4575
4576 2009-06-26  Robert Dewar  <dewar@adacore.com>
4577
4578         * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
4579
4580 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4581
4582         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
4583         correct arguments to create_field_decl.  Remove redundant iteration.
4584         Rewrite computation of the maximum size.
4585         <E_Array_Subtype>: Reorder and simplify handling of special cases.
4586         Rewrite computation of the maximum size.  Use consistent naming.
4587         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
4588         comparison order for consistency.  Use generic integer node to
4589         build the operator and fold the result.
4590
4591 2009-06-25  Vincent Celier  <celier@adacore.com>
4592
4593         * vms_data.ads: Minor comment change
4594
4595 2009-06-25  Gary Dismukes  <dismukes@adacore.com>
4596
4597         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
4598         assignment statement to targeting a caller-provided object when the
4599         result type is an interface type.
4600
4601         * exp_ch6.adb (Expand_Call): Remove redundant test of
4602         Is_Limited_Interface (Is_Inherently_Limited is sufficient).
4603         (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
4604
4605         * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
4606         to OK_For_Limited_Init.
4607
4608         * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
4609         condition so that True is returned for all limited interfaces, not
4610         just synchronized ones. Ignore components of an interface type when
4611         checking for limited components (such a component can be a parent
4612         component).
4613
4614         * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
4615         (OK_For_Limited_Init): Add type parameter.
4616
4617         * sem_ch3.adb (Check_Initialization): Add type in call to
4618         OK_For_Limited_Init.
4619         (OK_For_Limited_Init): Add new type param in call to
4620         OK_For_Limited_Init_In_05.
4621         (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
4622         nonlimited type when the context type is a limited interface. Add type
4623         on recursive calls.
4624
4625         * sem_ch4.adb (Analyze_Allocator): Add type in call to
4626         OK_For_Limited_Init.
4627
4628         * sem_ch6.adb (Check_Limited_Return): Add type in call to
4629         OK_For_Limited_Init.
4630
4631         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
4632         OK_For_Limited_Init.
4633         (Instantiate_Object): Add type in call to OK_For_Limited_Init.
4634
4635         * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
4636         class-wide interface, get the base type before applying Etype, in order
4637         to account for class-wide subtypes.
4638
4639 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4640
4641         * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
4642         prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
4643         between gnatmake and gprbuild.
4644         (Naming_Data): Removed, no longer used
4645         (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
4646         needed locally in one subprogram, no need to store forever in the
4647         structure.
4648         (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
4649         a similar role.
4650         (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
4651         Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
4652         Spec_Suffix_Id_Of): removed, no longer used.
4653
4654 2009-06-25  Javier Miranda  <miranda@adacore.com>
4655
4656         * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
4657         types on qualified expression in calls to imported C++ constructors.
4658
4659         * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
4660         imported C++ constructors.
4661
4662 2009-06-25  Sergey Rybin  <rybin@adacore.com>
4663
4664         * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
4665
4666 2009-06-25  Vincent Celier  <celier@adacore.com>
4667
4668         * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
4669         provided, on Windows change all '/' to '\'.
4670
4671         * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
4672         used. Minor comment changes
4673
4674         * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
4675         Remove_Forbidden_File_Name.
4676
4677 2009-06-25  Quentin Ochem  <ochem@adacore.com>
4678
4679         * prj.ads (Unit_Index): Now general access type.
4680
4681 2009-06-25  Pascal Obry  <obry@adacore.com>
4682
4683         * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
4684
4685 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4686
4687         * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
4688         prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
4689         computed efficiently from the other fields.
4690         (Object_To_Global_Archive): New subprogram
4691         (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
4692         (Override_Kind): Fix handling of separates in Ada.
4693         (Create_Mapping_File): Remove duplicate code
4694         (Naming_Data.Implementation_Exception, Specification_Exception):
4695         field removed, since never used.
4696         (Naming_Data.Specs, .Bodies): field removed, since this is only
4697         used while processing the project and is not needed once the tree
4698         is in memory. This brings Naming_Data and Lang_Naming_Data
4699         closer (same content now, but different use still).
4700
4701 2009-06-25  Pascal Obry  <obry@adacore.com>
4702
4703         * sem_ch4.adb: Minor reformatting.
4704
4705         * a-strsea.adb: Fix confusion between 'Length and 'Last.
4706
4707 2009-06-25  Ed Schonberg  <schonberg@adacore.com>
4708
4709         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
4710         Unchecked_Access): If the context is an interface type, and the prefix
4711         is of the corresponding class-wide type, do not insert a conversion
4712         because the pointer displacement has already taken place, and we must
4713         retain the class-wide type in a dispatching context.
4714
4715 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4716
4717         * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
4718         the previous source file.
4719         (Create_Mapping): Iterate on sources rather than on units.
4720
4721 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4722
4723         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
4724         prj-env.adb, prj-env.ads (Slash): removed, no longer used
4725         (Source_Data): no longer use Path.Name to point to a locally removed
4726         file. Instead we use the field Locally_Removed which is clearer
4727
4728 2009-06-25  Arnaud Charlet  <charlet@adacore.com>
4729
4730         * gcc-interface/Make-lang.in: Remove references to sem_maps.o
4731
4732         * sem_maps.adb, sem_maps.ads: Removed, not used.
4733
4734 2009-06-25  Ed Falis  <falis@adacore.com>
4735
4736         * s-vxwext-rtp.ads: Add missing declaration
4737
4738 2009-06-25  Matthew Gingell  <gingell@adacore.com>
4739
4740         * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
4741         speed up unmapped case.
4742
4743 2009-06-25  Vincent Celier  <celier@adacore.com>
4744
4745         * prj-nmsc.adb (Check): Change error message for illegal abstract
4746         projects.
4747
4748 2009-06-25  Robert Dewar  <dewar@adacore.com>
4749
4750         * gnat_ugn.texi: Add note on use of -gnatct for ASIS
4751
4752 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4753
4754         * fmap.ads: Add documentation on mapping files
4755
4756 2009-06-25  Robert Dewar  <dewar@adacore.com>
4757
4758         * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
4759         reformatting
4760
4761 2009-06-24  Robert Dewar  <dewar@adacore.com>
4762
4763         * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
4764
4765         * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
4766         case.
4767         (Index): Ditto.
4768
4769 2009-06-24  Ed Schonberg  <schonberg@adacore.com>
4770
4771         * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
4772         present when checking whether a call may be interpreted as an indexing
4773         of the result of a call.
4774
4775         * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
4776         body for a null procedure on the freeze actions for the procedure, so
4777         that it will be analyzed at the proper place without premature freezing
4778         of actuals.
4779
4780         * sem_ch3.adb (Check_Completion): Code cleanup. 
4781         Do not diagnose a null procedure without a body, if previous errors
4782         have disabled expansion.
4783
4784 2009-06-24  Doug Rupp  <rupp@adacore.com>
4785
4786         * init.c [VMS] Resignal C$_SIGKILL
4787
4788 2009-06-24  Ed Falis  <falis@adacore.com>
4789
4790         * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
4791         Define ERROR in body for VxWorks 6 kernel
4792
4793 2009-06-24  Pascal Obry  <obry@adacore.com>
4794
4795         * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
4796         in [Send/Receive]_Socket.
4797
4798 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4799
4800         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
4801         prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
4802         to several subprograms.
4803         (Source_Data.Other_Part): Removed, since can be computed from the
4804         language.
4805         (Other_Part): New subprogram.
4806
4807 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4808
4809         * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
4810         the full base name of the file when the suffix doesn't start with a '.'.
4811
4812 2009-06-24  Vincent Celier  <celier@adacore.com>
4813
4814         * prj-nmsc.adb (Check): A project declared abstract is legal if no
4815         attribute Source_Dirs, Source_Files, Source_List_File or Languages is
4816         declared.
4817
4818 2009-06-24  Robert Dewar  <dewar@adacore.com>
4819
4820         * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
4821         prj-env.adb: Minor reformatting
4822
4823 2009-06-24  Ed Falis  <falis@adacore.com>
4824
4825         * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
4826         s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
4827         s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
4828         support for VxWorks SMP.
4829
4830         * gcc-interface/Make-lang.in: Update dependencies
4831
4832 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4833
4834         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
4835         prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
4836         no longer useful.
4837         (Source_Data.Lang_Kind): Removed, since it duplicates information
4838         already available through Language.Config.
4839         (Source_Data.Compile): Removed, since information is already available
4840         through the language.
4841         (Is_Compilable): New subprogram.
4842         (Source_Data.Dependency): Removed, since already available through
4843         the language.
4844         (Source_Data.Object_Exist, Object_Linked): Removed since available
4845         through the language already.
4846         (Unit_Data.File_Names): Is now also set in multi_language mode, to
4847         bring the two modes closer in the resulting data structures.
4848         (Source_Data.Unit): Now a direct pointer to the unit data, rather than
4849         just the name that would point into a hash table.
4850         (Get_Language_From_Name): New subprogram.
4851
4852 2009-06-24  Javier Miranda  <miranda@adacore.com>
4853
4854         * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
4855         visible through limited-with context clauses. In addition, avoid an
4856         extra tag check that is not required when the class-wide
4857         designated types of the operand and target types are
4858         the same entity.
4859         (Tagged_Membership): Handle entities from the limited view.
4860
4861 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4862
4863         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
4864         prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
4865         (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
4866         different vocabularies for similar concepts (Impl/Body_Part and
4867         Spec/Specification).
4868         (Unit_Data): now points directly to a Source_Id, rather than duplicating
4869         some of the information in File_Name_Data. This also saves a bit of
4870         memory. However, since we are now using a pointer we need to test
4871         for null explicitly in several places of the code
4872
4873 2009-06-24  Javier Miranda  <miranda@adacore.com>
4874
4875         * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
4876         from processing the type conversion when the node is
4877         replaced by an N_Raise_Program_Error node.
4878
4879 2009-06-24  Hristian Kirtchev  <kirtchev@adacore.com>
4880
4881         * sem_ch6.adb (Designates_From_With_Type): New routine.
4882         (Process_Formals): Since anonymous access types are no longer flagged
4883         as from with types, traverse the designated type to determine whether
4884         it is coming from a limited view.
4885
4886         * sem_res.adb: Remove with and use clauses for Sem_Ch10.
4887         (Full_Designated_Type): Use Available_View to extract the non-limited /
4888         full view of a type.
4889
4890 2009-06-24  Robert Dewar  <dewar@adacore.com>
4891
4892         * exp_ch6.adb: Minor reformatting
4893
4894         * layout.adb: Minor reformatting
4895
4896         * make.adb: Minor reformatting
4897
4898 2009-06-24  Thomas Quinot  <quinot@adacore.com>
4899
4900         * sem_ch10.adb: Minor code reorganization.
4901
4902 2009-06-24  Eric Botcazou  <ebotcazou@adacore.com>
4903
4904         * ttypes.ads: Minor editing.
4905         
4906 2009-06-24  Robert Dewar  <dewar@adacore.com>
4907
4908         * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
4909         in deciding to do call-by-copy code.
4910
4911 2009-06-24  Vincent Celier  <celier@adacore.com>
4912
4913         * make.adb (Gnatmake): To decide if an executable should be rebuilt,
4914         check if an externally built library file is more current than the
4915         executable.
4916
4917 2009-06-23  Olivier Hainque  <hainque@adacore.com>
4918
4919         * gcc-interface/utils.c (handle_vector_size_attribute): Import from
4920         c-common.c and populate in gnat_internal_attribute_table.
4921         
4922 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4923
4924         * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
4925         Available_View only when designated type of an anonymous access type
4926         is  limited view.
4927
4928 2009-06-23  Robert Dewar  <dewar@adacore.com>
4929
4930         * sem_ch10.adb: Minor reformatting
4931
4932         * ali.ads: Mino reformatting.
4933
4934         * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
4935         turning off inlining if ASIS mode active).
4936         
4937         * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
4938         This belongs in gnat1drv.adb after switches are scanned.
4939
4940 2009-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
4941
4942         * sem_attr.adb: Add with and use clauses for Sem_Ch10.
4943         (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
4944         when dealing with class-wide types. Detect a legal shadow entity and
4945         retrieve its non-limited view.
4946
4947         * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
4948         subprogram to top package level from Intall_Limited_Withed_Unit.
4949         (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
4950         Add check which prevents the installation of a limited view if the
4951         non-limited view is already visible through a with clause.
4952         (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
4953         legal shadow entity which may occur in subprogram formals of anonymous
4954         access type.
4955
4956         * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
4957
4958         * sem_ch3.adb (Access_Definition): Remove the propagation of flag
4959         From_With_Type from the designated type to the generated anonymous
4960         access type. Remove associated comment.
4961
4962         * sem_res.adb Add with and use clauses for Sem_Ch10.
4963         (Full_Designated_Type): Detect a legal shadow entity and retrieve its
4964         non-limited view. Since the shadow entity may replace a regular
4965         incomplete type, return the available full view.
4966
4967 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4968
4969         * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
4970         incomplete type declarations. Previous code was potentially quadratic
4971         in the number of visible declarations in any package appearing in a
4972         limited_with_clause.
4973
4974 2009-06-23  Robert Dewar  <dewar@adacore.com>
4975
4976         * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
4977         xref_lib.adb: Minor reformatting
4978
4979 2009-06-23  Robert Dewar  <dewar@adacore.com>
4980
4981         * a-stzhas.adb: Provide dummy body to avoid build problems with old
4982         versions which did have a body for this unit.
4983
4984 2009-06-23  Vincent Celier  <celier@adacore.com>
4985
4986         * prj-attr.adb: Attribute names Initial_Required_Switches and
4987         Final_Required_Switches changed to Leading_Required_Switches and
4988         Trailing_Required_Switches.
4989
4990         * prj-nmsc.adb (Process_Compiler): Attribute names
4991         Initial_Required_Switches and Final_Required_Switches changed to
4992         Leading_Required_Switches and Trailing_Required_Switches.
4993
4994         * prj.ads (Language_Config): Component Initial_Required_Switches and
4995         Final_Required_Switches changed to Leading_Required_Switches and
4996         Trailing_Required_Switches.
4997
4998         * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
4999         Final_Required_Switches; add standard names Leading_Required_Switches
5000         and Trailing_Required_Switches.
5001
5002 2009-06-23  Thomas Quinot  <quinot@adacore.com>
5003
5004         * prj-conf.adb: Minor reformatting
5005
5006         * xref_lib.adb: Minor cleanup
5007
5008 2009-06-23  Emmanuel Briot  <briot@adacore.com>
5009
5010         * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
5011         prj-conf.ads (Check_Configuration): New parameter
5012         Compiler_Driver_Mandatory.
5013
5014 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5015
5016         * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
5017         context of the current unit has an inline pragma, the instance is not
5018         rewritten as the declaration of the package wrapper. Handle both
5019         possibilities when retrieving the visible subprogram that renames the
5020         instantiation itself.
5021
5022 2009-06-23  Javier Miranda  <miranda@adacore.com>
5023
5024         * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
5025         designated types referencing entities from the limited view.
5026
5027 2009-06-23  Robert Dewar  <dewar@adacore.com>
5028
5029         * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
5030
5031         * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
5032         small values
5033
5034         * prj-conf.ads: Minor reformatting
5035
5036         * prj-conf.adb: Minor reformatting
5037
5038 2009-06-23  Vasiliy Fofanov  <fofanov@adacore.com>
5039
5040         * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
5041         to correspond to the log format that gnatmem now expects.
5042
5043 2009-06-23  Vincent Celier  <celier@adacore.com>
5044
5045         * prj-attr.adb: New attributes Initial_Required_Switches,
5046         Final_Required_Switches and Object_File_Switches
5047         
5048         * prj-nmsc.adb (Process_Compiler): Process new attributes
5049         Name_Final_Required_Switches, Name_Initial_Required_Switches and
5050         Name_Object_File_Switches.
5051
5052         * prj.ads (Language_Config): New component
5053         Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
5054         Compiler_Final_Required_Switches and Object_File_Switches.
5055
5056         * snames.ads-tmpl: New standard names Initial_Required_Switches,
5057         Final_Required_Switches and Object_File_Switches
5058
5059 2009-06-23  Pascal Obry  <obry@adacore.com>
5060
5061         * s-strhas.adb, s-strhas.ads: Minor reformatting.
5062
5063 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5064
5065         * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
5066         not indicate that the enclosing unit needs a body.
5067
5068 2009-06-23  Emmanuel Briot  <briot@adacore.com>
5069
5070         * prj-conf.ads, prj-conf.adb: New files part of the project manager.
5071
5072 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5073
5074         * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
5075         primitive equality include it with its source name even if the
5076         operation is currently invisible, to make sure that the corresponding
5077         slot in the dispatch table is reserved for the internal equality
5078         subsequently generated during expansion.
5079
5080 2009-06-23  Matthew Gingell  <gingell@adacore.com>
5081
5082         * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
5083
5084 2009-06-22  Jose Ruiz  <ruiz@adacore.com>
5085
5086         * sysdep.c (__gnat_localtime_tzoff for RTX):
5087         SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
5088         GetTimeZoneInformation instead.
5089
5090 2009-06-22  Robert Dewar  <dewar@adacore.com>
5091
5092         * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
5093
5094 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5095
5096         * sem_ch12.adb (Collect_Previous_Instances): Do not collect
5097         instantiations declared in a previous generic package body.
5098
5099 2009-06-22  Robert Dewar  <dewar@adacore.com>
5100
5101         * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
5102         restriction No_Direct_Boolean_Operators.
5103
5104 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5105
5106         * bindusg.adb: Minor fixes to gnatbind usage message
5107
5108         * sem_eval.adb: Minor reformatting
5109
5110 2009-06-22  Javier Miranda  <miranda@adacore.com>
5111
5112         * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
5113         freezing point the check on the use of abstract types in object
5114         declarations. Done to allow the declaration of C++ imported variables
5115         or constants whose type corresponds with an imported C++ classes for
5116         which the constructor is not imported.
5117
5118 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5119
5120         * sem_ch6.adb: Minor reformatting
5121
5122 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5123
5124         * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
5125         component is constrained with an expression rather than with a
5126         discriminant of the enclosing type, use that expression when building
5127         the call to default-initialize the component, when the call is part of
5128         an aggregate with box initialization.
5129
5130 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5131
5132         * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
5133         unconditional rather than a style check, because a formal name out of
5134         order is suspicious.
5135
5136 2009-06-22  Vincent Celier  <celier@adacore.com>
5137
5138         * prj-nmsc.adb (Locate_Directory): Indicate the project name when
5139         creating a directory automatically.
5140
5141 2009-06-22  Eric Botcazou  <ebotcazou@adacore.com>
5142
5143         * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
5144         untagged derived type, add a hidden component for every constrained
5145         discriminant of the parent type to keep record layout consistent.
5146
5147 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5148
5149         * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
5150         copy).
5151
5152 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5153
5154         * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
5155         s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
5156         g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
5157         a-swuwha.adb: New unit System.String_Hash.  
5158         Refactor redundant cut and pasted hash functions with instances of a
5159         new generic hash function.
5160         Implement a new string hashing algorithm which appears in testing to
5161         be move effective than to previous approach.
5162
5163 2009-06-22  Ed Falis  <falis@adacore.com>
5164
5165         * sysdep.c: remove include for nfsLib.h and an NFS specific error
5166         message for VxWorks 653 vThreads: not supported by the OS.
5167
5168         * gsocket.h: disable sockets for VxWorks 653 vThreads.
5169
5170 2009-06-22  Robert Dewar  <dewar@adacore.com>
5171
5172         * sem_ch6.adb: Add ??? comment for bad use of Style_Check
5173
5174 2009-06-22  Robert Dewar  <dewar@adacore.com>
5175
5176         * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
5177         by Sloc_Range.
5178
5179         * freeze.adb: Minor comment updates
5180
5181         * s-valrea.adb (Bad_Based_Value): New procedure
5182         (Scan_Real): Raise exceptions with messages
5183
5184 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5185
5186         * adaint.h: Complete previous change.
5187
5188 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5189
5190         * exp_ch7.ads, exp_ch3.adb: Minor reformatting
5191
5192 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5193
5194         * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
5195         enabled, emit warning when a non-controlling argument of the overriding
5196         operation appears out of place vis-a-vis of the formal of the
5197         overridden operation.
5198
5199 2009-06-22  Vincent Celier  <celier@adacore.com>
5200
5201         * gnatcmd.adb (Check_Files): Close temporary files after all file names
5202         have been written into it.
5203
5204 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5205
5206         * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
5207         available.
5208
5209 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5210
5211         * sem_disp.adb (Check_Direct_Call): Handle the case where the full
5212         view of the root type is visible at the point of the call.
5213
5214 2009-06-22  Pat Rogers  <rogers@adacore.com>
5215
5216         * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
5217
5218 2009-06-22  Jerome Lambourg  <lambourg@adacore.com>
5219
5220         * freeze.adb: Add comments.
5221
5222 2009-06-21  Thomas Quinot  <quinot@adacore.com>
5223
5224         * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
5225         sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
5226         Factor out code to new subprogram...
5227         (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
5228         for a default initialized variable.
5229         (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
5230         entity that has an associated freeze node.
5231         (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
5232         If there is an init call for the object, defer it to the object freeze
5233         point.
5234         (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
5235         name clash with new subprogram introduced in Exp_Util.
5236
5237 2009-06-21  Robert Dewar  <dewar@adacore.com>
5238
5239         * einfo.ads: Minor reformatting
5240
5241 2009-06-21  Ed Falis  <falis@adacore.com>
5242
5243         * env.c (__gnat_environ): return NULL for vThreads - unimplemented
5244
5245 2009-06-21  Eric Botcazou  <ebotcazou@adacore.com>
5246
5247         * einfo.ads: Update comments.
5248
5249 2009-06-21  Hristian Kirtchev  <kirtchev@adacore.com>
5250
5251         * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
5252         where the controlling formal is of private class-wide type whose
5253         completion is a synchronized type can be converted into direct calls.
5254
5255 2009-06-21  Vincent Celier  <celier@adacore.com>
5256
5257         * gnatcmd.adb (Check_Files): When all sources of the project are to be
5258         indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
5259         of sources using -files=, so that the distinction can be made by the
5260         tool of a call with no source (to display the usage) from a call with
5261         a project file that contains no source.
5262
5263 2009-06-21  Jerome Lambourg  <lambourg@adacore.com>
5264
5265         * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
5266         case of VM convention arrays.
5267
5268 2009-06-20  Robert Dewar  <dewar@adacore.com>
5269
5270         * a-nudira.adb: Minor reformatting
5271
5272 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5273
5274         * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
5275         expressions (possibly from a parent type) indicate that the scope of
5276         the new itypes is the initialization procedure being built.
5277
5278 2009-06-20  Robert Dewar  <dewar@adacore.com>
5279
5280         * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
5281         Needs_64, and now computed without anomolies for some dynamic types.
5282
5283 2009-06-20  Thomas Quinot  <quinot@adacore.com>
5284
5285         * sem_prag.adb: Minor reformatting
5286
5287         * exp_disp.ads: Minor reformatting
5288
5289 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5290
5291         * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
5292         function call is a legal expression to initialize a limited object.
5293
5294         * exp_ch3.adb: Rename various freeze operations that perform expansion
5295         actions, to prevent confusion with subprograms in the freeze package.
5296
5297 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5298
5299         * sem.adb (Walk_Library_Units): Check instantiations first.
5300
5301         * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
5302         private primitive if it is a function with a controlling result that is
5303         a type extension with progenitors.
5304
5305         * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
5306         a primitive operation of a synchronized tagged type that has a
5307         controlling result.
5308
5309 2009-06-20  Thomas Quinot  <quinot@adacore.com>
5310
5311         * einfo.ads: Fix typo.
5312
5313 2009-06-20  Ed Falis  <falis@adacore.com>
5314
5315         * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
5316
5317 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5318
5319         * gcc-interface/trans.c (emit_check): Do not wrap up the result
5320         in a SAVE_EXPR.
5321         (protect_multiple_eval): Always protect complex expressions.
5322
5323 2009-06-19  Emmanuel Briot  <briot@adacore.com>
5324
5325         * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
5326         make sure we always return a name ending with a path separator.
5327
5328 2009-06-19  Javier Miranda  <miranda@adacore.com>
5329
5330         * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
5331         Save and restore the visibility of the parent when installed.
5332
5333 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
5334
5335         * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
5336         by Common which contains all these fields.
5337
5338         * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
5339         Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
5340         Remove code duplication in this package by means of calling the
5341         equivalent code in s-taprob.
5342
5343 2009-06-19  Robert Dewar  <dewar@adacore.com>
5344
5345         * a-einuoc.ads: Minor reformatting
5346
5347 2009-06-19  Ed Falis  <falis@adacore.com>
5348
5349         * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
5350         s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
5351
5352 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5353
5354         * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
5355
5356 2009-06-19  Robert Dewar  <dewar@adacore.com>
5357
5358         * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
5359         ranges
5360
5361         * checks.adb (Determine_Range): Move the test for generic types later.
5362
5363         * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
5364         cases.
5365         (Eval_Relational_Op): Fold more cases including string compares
5366
5367         * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
5368         function.
5369
5370 2009-06-19  Robert Dewar  <dewar@adacore.com>
5371
5372         * sem_type.ads, sem_ch12.adb: Minor reformatting
5373
5374         * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
5375
5376 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5377
5378         * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
5379         primitive operation of a rivate extension whose controlling argument
5380         is an out parameter.
5381
5382         * sem.adb (Walk_Library_Units): exclude generic package declarations
5383         from check.
5384
5385 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5386
5387         * i-vxwoio.ads: Add comments
5388
5389 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5390
5391         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5392         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
5393         g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
5394         (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
5395         (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
5396         Thin_Common.Socket_Ioctl.
5397         (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
5398         __gnat_socket_ioctl.
5399         (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
5400         argument after the file descriptor and request code.
5401
5402 2009-06-19  Robert Dewar  <dewar@adacore.com>
5403
5404         * checks.adb: Minor reformatting
5405
5406 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
5407
5408         * env.c (__gnat_environ): RTX does not support this functionality.
5409
5410 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5411
5412         * sem.adb (Walk_Library_Items): Include bodies in the list of units to
5413         traverse, to account for front-end inlining and instantiations in a
5414         spec or in the main unit.
5415
5416 2009-06-19  Robert Dewar  <dewar@adacore.com>
5417
5418         * checks.adb (Determine_Range): Do not attempt to get range of generic
5419         type.
5420
5421 2009-06-19  Sergey Rybin  <rybin@adacore.com>
5422
5423         * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
5424         gnatmetric option for generating the schema file for gnatmetric XML
5425         output. Add corresponding VMS qualifier.
5426
5427 2009-06-19  Robert Dewar  <dewar@adacore.com>
5428
5429         * g-cgi.adb: Minor reformatting
5430
5431 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5432
5433         * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
5434         signal code for SIGFPE and raise Program_Error for SIGILL.
5435
5436         * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
5437
5438 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5439
5440         * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
5441         generic package if there is a visibility candidate that is declared in
5442         a regular package.
5443
5444 2009-06-18  Olivier Hainque  <hainque@adacore.com>
5445
5446         * system-aix64.ads: New file.
5447         * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
5448         64bit system.ads for ppc64 multilib variants.
5449
5450 2009-06-16  Robert Dewar  <dewar@adacore.com>
5451             Olivier Hainque  <hainque@adacore.com>
5452
5453         Relax constraints on Machine_Attribute argument types:
5454         * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
5455         missing type.
5456         (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
5457         * gcc-interface/decl.c (prepend_attributes): Accept static
5458         expressions of any type as attribute arguments, not only string
5459         literals.
5460         * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
5461         the relaxation of the restriction on the Info argument type.
5462         
5463 2009-06-13  Aldy Hernandez  <aldyh@redhat.com>
5464
5465         * gcc-interface/utils.c (record_builtin_type): Pass location
5466         argument to build_decl.
5467         (create_type_stub_decl): Same.
5468         (create_type_decl): Same.
5469         (create_var_decl_1): Same.
5470         (create_field_decl): Same.
5471         (create_param_decl): Same.
5472         (create_label_decl): Same.
5473         (create_subprog_decl): Same.
5474         * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
5475         * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
5476         argument to create_artificial_label.
5477         (Loop_Statement_to_gnu): Same.
5478         (Subprogram_Body_to_gnu): Same.
5479         (gnat_gimplify_stmt): Same.
5480
5481 2009-06-11  Richard Henderson  <rth@redhat.com>
5482
5483         * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
5484         OPT_gdwarfplus.
5485
5486 2009-06-11  Ed Schonberg  <schonberg@adacore.com>
5487
5488         * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
5489         accessibiliy check on access_to_subprogram in the context of an
5490         anonymous access that is not an access parameter.
5491
5492 2009-06-11  Eric Botcazou  <ebotcazou@adacore.com>
5493
5494         * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
5495         
5496 2009-06-11  Quentin Ochem  <ochem@adacore.com>
5497
5498         * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
5499         comments for message handled by GPS.
5500
5501 2009-06-11  Matthew Gingell  <gingell@adacore.com>
5502
5503         * adaint.c: Use fopen64 instead of fopen on platforms where we know
5504         it's supported.
5505
5506 2009-06-11  Pascal Obry  <obry@adacore.com>
5507
5508         * g-cgi.ads: Fix comment typo.
5509
5510         * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
5511
5512 2009-06-10  Eric Botcazou  <ebotcazou@adacore.com>
5513
5514         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
5515         a reference to the original type for the type of the field of the
5516         XVS type.
5517         (maybe_pad_type): Likewise.
5518
5519         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
5520         common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
5521         Pass correctly typed arguments to create_field_decl.
5522         <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
5523         case of contrained discriminants as well.  Use the padded base type
5524         in the other case as well.  Rename temporary variable.  Tweak test.
5525         Factor common access pattern.  Set GNU_SIZE only once.
5526
5527 2009-06-09  Olivier Hainque  <hainque@adacore.com>
5528
5529         * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
5530         helper for build_call_alloc_dealloc with arguments to be interpreted
5531         identically.  Process the case where a GNAT_PROC to call is provided.
5532         (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
5533         and return an allocator for DATA_SIZE bytes aimed at containing a
5534         DATA_TYPE object, using the default __gnat_malloc allocator.  Honor
5535         DATA_TYPE alignments greater than what the latter offers.
5536         (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
5537         release a DATA_TYPE object designated by DATA_PTR using the
5538         __gnat_free entry point.
5539         (build_call_alloc_dealloc): Expect object data type instead of naked
5540         alignment constraint. Use the new helpers.
5541         (build_allocator): Remove special processing for the super-aligned
5542         case, now handled by build_call_alloc_dealloc.  Pass data
5543         type instead of the former alignment argument, as expected by the new
5544         interface.
5545         * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
5546         and comment.
5547         * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
5548         Remove special processing for the super-aligned case, now handled
5549         by build_call_alloc_dealloc.  Pass data type instead of the former
5550         alignment argument, as expected by the new interface.
5551         
5552 2009-06-08  Alexandre Oliva  <aoliva@redhat.com>
5553
5554         * lib-writ.adb (flag_compare_debug): Import.
5555         (Write_ALI): Skip during -fcompare-debug-second.
5556
5557 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5558
5559         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
5560         adjusting the discriminant nodes in an extension, use the full view
5561         of the parent subtype if it is of a private kind.
5562
5563 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5564
5565         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
5566         _Parent field, if any, to the record before adding the other fields.
5567         <E_Record_Subtype>: Put the _Controller field before the other fields
5568         except for the _Tag or _Parent fields.
5569         (components_to_record): Likewise.  Retrieve the _Parent field from the
5570         record type.
5571
5572 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5573
5574         * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
5575         remove unused parameter and simplify.
5576         (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS.  Factor
5577         common predicate.  Rewrite loop for clarity.  Use GNU_TYPE directly
5578         as context for all discriminants.  Fix formatting nits.
5579         <E_Record_Subtype>: Add cosmetic 'break'.  Test Has_Discriminants
5580         before Discriminant_Constraint.  Adjust for above renaming.  Do not
5581         set GNU_TYPE more than once.
5582         (elaborate_entity): Test Has_Discriminants on the entity and use
5583         Implementation_Base_Type.
5584         (components_to_record): Rename component_list to gnat_component_list.
5585         Retrieve the _Parent field from the list.  Fix nits in comments.
5586         Clarify logic in loop.  Pass correct arguments to create_field_decl.
5587
5588 2009-06-02  Eric Botcazou  <ebotcazou@adacore.com>
5589
5590         * gcc-interface/Make-lang.in: Fix formatting.
5591
5592 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5593             Eric Botcazou  <ebotcazou@adacore.com>
5594         
5595         * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
5596         to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
5597         on the result if at least one of the input fields couldn't be output
5598         as a static constant any more.
5599
5600 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5601             Eric Botcazou  <ebotcazou@adacore.com>
5602         
5603         * gcc-interface/utils2.c (gnat_build_constructor): Factor
5604         out code.  Use initializer_constant_valid_for_bitfield_p and
5605         CONSTRUCTOR_BITFIELD_P for bit-fields.
5606
5607 2009-05-26  Ian Lance Taylor  <iant@google.com>
5608
5609         * gcc-interface/Makefile.in (COMPILER): Define.
5610         (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
5611         (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
5612         (seh_init.o, tracebak.o): Likewise.
5613         * gcc-interface/Make-lang.in (ada/targext.o): Likewise.
5614         (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
5615         (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
5616         (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
5617         (ada/utils2.o): Likewise.
5618
5619 2009-05-24  Olivier Hainque  <hainque@adacore.com>
5620
5621         * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
5622         * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
5623         Add -auxbase variants to the list of recognized internal switches.
5624         * back_end.adb (Scan_Back_End_Switches): Use the new functions and
5625         adjust comments.
5626         * lib.ads: Make comment on internal GCC switches more general.
5627         * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
5628         as for C.       
5629         
5630 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5631
5632         * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
5633
5634 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5635
5636         * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
5637         types.
5638
5639 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5640
5641         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
5642         original type because of the alignment when there is an address clause.
5643
5644 2009-05-20  Eric Botcazou  <ebotcazou@adacore.com>
5645
5646         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
5647         discriminants affect the shape of the subtype, retrieve the GCC type
5648         directly from the original field if the GNAT types for the field and
5649         the original field are the same.
5650
5651 2009-05-15  Eric Botcazou  <ebotcazou@adacore.com>
5652
5653         * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
5654         New macros.
5655         (TYPE_RM_VALUES): Likewise.
5656         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
5657         (SET_TYPE_RM_SIZE): New macro.
5658         (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
5659         (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
5660         (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
5661         * gcc-interface/gigi.h (create_range_type): Declare.
5662         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
5663         Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
5664         <E_Signed_Integer_Subtype>: Build a regular integer type first and
5665         then set the RM bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5666         <E_Floating_Point_Subtype>: Build a regular floating-point type first
5667         and then set the RM bounds.
5668         <E_Array_Type>: Use create_range_type instead of build_range_type.
5669         <E_Array_Subtype>: Build a regular integer type first and then set
5670         the RM bounds for the extra subtype.
5671         <E_String_Literal_Subtype>: Use create_range_type instead of
5672         build_range_type.
5673         <all>: Set the RM bounds for enumeration types and the GCC bounds for
5674         floating-point types.
5675         (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
5676         (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
5677         to set the bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5678         (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
5679         types and with RM bounds for subtypes.
5680         * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
5681         (gnat_print_type) <REAL_TYPE>: New case.
5682         <ENUMERAL_TYPE>: Fall through to above case.
5683         (gnat_get_subrange_bounds): New function.
5684         * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
5685         TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
5686         * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
5687         for booleans.  Adjust and use SET_TYPE_RM_SIZE to set the RM size.
5688         (create_range_type): New function.
5689         (create_param_decl): Build a regular integer type first and then set
5690         the RM bounds for the extra subtype.
5691         (unchecked_convert): Remove kludge for 'Valid.
5692         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
5693         the index to sizetype instead of TYPE_DOMAIN.
5694
5695 2009-05-14  Eric Botcazou  <ebotcazou@adacore.com>
5696
5697         * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
5698         parameter and move check for static expression to...
5699         (elaborate_expression): ...here.  Adjust call to above function.
5700         (gnat_to_gnu_entity): Likewise for all calls.  Use correct arguments
5701         in calls to elaborate_expression.
5702         (elaborate_entity): Likewise.
5703         (substitution_list): Likewise.
5704         (maybe_variable): Fix formatting.
5705         (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
5706         missing guard.
5707         * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
5708
5709 2009-05-07  Arnaud Charlet  <charlet@adacore.com>
5710
5711         * gcc-interface/Make-lang.in: Update dependencies.
5712
5713 2009-05-06  Laurent GUERBY  <laurent@guerby.net>
5714
5715         * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
5716         Define sa_handler_pos.
5717         * s-osinte-linux.ads: Use it.
5718         * s-linux-mipsel.ads: New.
5719         * system-linux-mips64el.ads: New.
5720         * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
5721         mips64el-linux.
5722
5723 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5724
5725         * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
5726         targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
5727         opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
5728         (Tagged_Type_Expansion): New flag.
5729         Replace use of VM_Target related to tagged types expansion by
5730         Tagged_Type_Expansion, since tagged type expansion is not necessarily
5731         linked to VM targets.
5732
5733 2009-05-06  Robert Dewar  <dewar@adacore.com>
5734
5735         * sem_attr.adb: Add processing for Standard'Compiler_Version
5736
5737         * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
5738         skipping.
5739         (Expr_First_Char): Add ??? comment that paren skipping needs work
5740         (Expr_Last_Char): Add ??? comment that paren skipping needs work
5741
5742         * exp_attr.adb: Add processing for Compiler_Version
5743
5744         * sem_attr.adb: New attribute Compiler_Version
5745
5746         * snames.ads-tmpl: Add entries for Compiler_Version attribute
5747
5748         * gnat_rm.texi: Document Compiler_Version attribute
5749
5750 2009-05-06  Robert Dewar  <dewar@adacore.com>
5751
5752         * errout.adb: Minor reformatting
5753
5754         * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
5755         sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
5756         styleg.adb: Add stylized comments to error messages that are included
5757         in the codefix circuitry of IDE's such as GPS.
5758
5759 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5760
5761         * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
5762         new form of the rule parameter that allows to specify the suffix for
5763         access-to-access type names.
5764
5765 2009-05-06  Robert Dewar  <dewar@adacore.com>
5766
5767         * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
5768         out parameter assigned when exception handlers are present.
5769
5770         * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
5771         assignments on exit.
5772
5773         * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
5774         sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
5775         prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
5776         par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
5777         messages that are included in the codefix circuitry of IDE's such as
5778         GPS.
5779
5780         * sinput.ads, sinput.adb (Expr_First_Char): New function
5781         (Expr_Last_Char): New function
5782
5783 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5784
5785         * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
5786         Add formal definition for extra exit point metric
5787
5788 2009-05-06  Pascal Obry  <obry@adacore.com>
5789
5790         * adaint.c: Support for setting attributes on unicode filename on
5791         Windows.
5792
5793 2009-05-06  Robert Dewar  <dewar@adacore.com>
5794
5795         * sem_warn.adb: Minor reformatting
5796
5797 2009-05-06  Javier Miranda  <miranda@adacore.com>
5798
5799         * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
5800         not have discriminants or components with default expressions.
5801         (Analyze_Pragma): For pragma CPP_Class check that imported types
5802         have no discriminants and components have no default expression.
5803
5804         * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
5805         class-wide types in the expression of a record component association.
5806
5807 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5808
5809         * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
5810
5811         * gnat_ugn.texi: Add description for the new extra exit points metric
5812         (gnatmetric section).
5813
5814 2009-05-06  Robert Dewar  <dewar@adacore.com>
5815
5816         * s-fileio.adb: Minor comment update
5817
5818         * sem_ch8.adb: Minor reformatting
5819
5820         * exp_ch3.adb: Update comments.
5821
5822 2009-05-06  Tristan Gingold  <gingold@adacore.com>
5823
5824         * init.c, s-osinte-darwin.ads: Reduce alternate stack size
5825
5826 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5827
5828         * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
5829         Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
5830
5831         * gcc-interface/Make-lang.in: Update dependencies
5832
5833 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5834
5835         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
5836         change. The context clause of a generic instance declaration must be
5837         preserved until the end of the compilation, because it may have to be
5838         installed/removed repeatedly.
5839         The latest change to sem.adb ensures that the context of both spec and
5840         body of an instance is traversed before the instance itself, making
5841         this patch redundant.
5842
5843 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5844
5845         * sem_aggr.adb: Fix typo.
5846
5847 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5848
5849         * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
5850         declaration, do not adjust if the declaration is to be rewritten into
5851         a renaming.
5852
5853 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5854
5855         * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
5856         discriminant part.
5857
5858 2009-05-06  Bob Duff  <duff@adacore.com>
5859
5860         * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
5861         otherwise the compiler would be allowed to optimize away the cleanup
5862         code.
5863
5864 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5865
5866         * gnat_ugn.texi: Fix typo.
5867
5868 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5869
5870         * g-debuti.adb: Minor reformatting
5871
5872         * exp_attr.adb: Minor reformatting
5873
5874 2009-05-06  Robert Dewar  <dewar@adacore.com>
5875
5876         * sem_aggr.adb: Minor reformatting.
5877
5878         * g-socthi-vms.adb: Minor reformatting
5879
5880 2009-05-06  Bob Duff  <duff@adacore.com>
5881
5882         * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
5883         (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
5884
5885 2009-05-06  Bob Duff  <duff@adacore.com>
5886
5887         * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
5888         flags.
5889
5890 2009-05-06  Javier Miranda  <miranda@adacore.com>
5891
5892         * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
5893         (Resolve_Extension_Aggregate): Do not reject C++ constructors in
5894         extension aggregates.
5895         (Resolve_Record_Aggregate): Add support for C++ constructors in
5896         extension aggregates.
5897
5898         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
5899         constructors in extension aggregates.
5900
5901 2009-05-06  Robert Dewar  <dewar@adacore.com>
5902
5903         * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
5904         clause.
5905
5906 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5907
5908         * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
5909         packed type, since on OpenVMS, struct msghdr is packed.
5910
5911 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5912
5913         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
5914         call returning an unconstrained composite value, create the proper
5915         subtype for it, as is done for object dclarations with unconstrained
5916         nominal subtypes. Perform this transformation regarless of whether
5917         call comes from source.
5918
5919 2009-05-06  Robert Dewar  <dewar@adacore.com>
5920
5921         * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
5922         records
5923
5924         * gnat_rm.texi:
5925         Add documentation for pragma Implicit_Packing applied to record
5926         types.
5927
5928 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5929
5930         * sem.adb (Walk_Library_Items): Place all with_clauses of an
5931         instantiation on the spec, because late instance bodies may generate
5932         with_clauses for the instance body but are inserted in the instance
5933         spec.
5934
5935 2009-05-06  Emmanuel Briot  <briot@adacore.com>
5936
5937         * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
5938         support for returning the directory even if it doesn't exist. This is
5939         used for the object directory, since we are always setting it to a
5940         non-null value, and we should set it to an absolute name rather than a
5941         relative name for the sake of external tools that might depend on it.
5942         (Check_Library_Attributes): When Project.Library_Dir is known, check
5943         that the directory exists.
5944
5945 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5946
5947         * sem_attr.adb (Check_Dereference): If the prefix of an attribute
5948         reference is an implicit dereference, do not freeze the designated type
5949         if within a default expression or when preanalyzing a pre/postcondtion.
5950
5951 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5952
5953         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
5954         call returning an unconstrained composite value, create the proper
5955         subtype for it, as is done for object dclarations with unconstrained
5956         nominal subtypes
5957
5958 2009-05-06  Robert Dewar  <dewar@adacore.com>
5959
5960         * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
5961         improvements
5962
5963         * freeze.adb: Minor reformatting
5964
5965 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5966
5967         * sem_ch3.adb (Access_Type_Declaration): An access type whose
5968         designated type is a limited view from a limited with clause (flagged
5969         From_With_Type) is not itself such a limited view.
5970
5971 2009-05-06  Emmanuel Briot  <briot@adacore.com>
5972
5973         * prj-nmsc.adb: Remove unused variable.
5974
5975         * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
5976         prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
5977         makeutl.ads, since not all users of prj.ads need this.
5978
5979 2009-05-06  Javier Miranda  <miranda@adacore.com>
5980
5981         * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
5982         constructor in case of aggregates whose type is a CPP_Class type.
5983
5984 2009-05-06  Robert Dewar  <dewar@adacore.com>
5985
5986         * sem_ch13.adb: Minor comment additions
5987
5988         * osint.adb: Minor reformatting
5989
5990 2009-05-06  Pascal Obry  <obry@adacore.com>
5991
5992         * initialize.c: On Windows, keep full pathname to expanded command
5993         line patterns.
5994
5995 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5996
5997         * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
5998         an aggregate with box default is of a discriminated private type, do
5999         not build a subaggregate for it.
6000         A proper call to the initialization procedure is generated for it.
6001
6002 2009-05-06  Thomas Quinot  <quinot@adacore.com>
6003
6004         * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
6005         (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
6006         Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
6007         use standard array code for Standard.String.
6008         (Exp_Dist): Bump PolyORB s-parint API version to 3.
6009         (Rtsfind): New entities TA_Std_String, Unbounded_String.
6010
6011 2009-05-06  Robert Dewar  <dewar@adacore.com>
6012
6013         * g-comlin.ads: Minor reformatting
6014
6015         * xoscons.adb: Minor reformatting
6016
6017 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
6018
6019         * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
6020         Underlying_Type before retrieving the type definition for gathering
6021         components, to account for the case where the type is private.
6022
6023 2009-05-06  Tristan Gingold  <gingold@adacore.com>
6024
6025         * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
6026
6027 2009-05-06  Thomas Quinot  <quinot@adacore.com>
6028
6029         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6030         g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
6031         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
6032         (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
6033         Windows versions): Fix incorrect base
6034         address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
6035         (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
6036         System.Address for the To parameter instead of a Sockaddr_In_Access, to
6037         achieve independance from AF_INET family, and also to allow this
6038         parameter to be retrieved from a Msghdr for the Windows case where
6039         these routines are used to implement C_Sendmsg and C_Recvmsg.
6040
6041 2009-05-06  Bob Duff  <duff@adacore.com>
6042
6043         * g-expect.adb, g-expect.ads: Minor reformatting
6044
6045         * sdefault.ads: Minor comment fix
6046
6047         * g-expect-vms.adb: Minor reformatting
6048
6049         * table.ads, table.adb (Append_All): New convenience procedure for
6050         appending a whole array.
6051
6052         * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
6053         box message. Call Osint.Dump_Source_File_Names to print out the file
6054         list, instead of rummaging around in various data structures.
6055
6056         * debug.adb: New switch -gnatd.n, to print source file names as they
6057         are read.
6058
6059         * alloc.ads: Add parameters for Osint.File_Name_Chars.
6060
6061         * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
6062         out source file names during a "bug box".
6063         (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
6064         (Read_Source_File): Print out the file name, if requested via -gnatd.n.
6065         If it's not part of the runtimes, store it for later printing by
6066         Dump_Source_File_Names.
6067
6068 2009-05-06  Javier Miranda  <miranda@adacore.com>
6069
6070         * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
6071         documentation and add reference to the GNAT user guide for further
6072         details.
6073
6074 2009-05-06  Javier Miranda  <miranda@adacore.com>
6075
6076         * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
6077         also wrong examples that use extension aggregates.
6078
6079 2009-05-06  Albert Lee  <lee@adacore.com>
6080
6081         * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
6082         of Msg_Iovlen_T for VMS.
6083
6084 2009-05-04  Laurent GUERBY  <laurent@guerby.net>
6085
6086         PR ada/38874
6087         * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
6088         
6089 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6090
6091         * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
6092         box-defaulted operator in an instantiation, when the type of the
6093         operands is not directly visible.
6094
6095 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6096
6097         * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
6098         (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
6099         analysis of the ancestor part. Remove prohibition against limited
6100         interpretations of the ancestor expression in the case of Ada 2005.
6101         Revise error message in overloaded case, adding a message to cover
6102         the Ada 2005 case.
6103
6104 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6105
6106         * xoscons.adb: Minor reformatting
6107
6108 2009-04-29  Bob Duff  <duff@adacore.com>
6109
6110         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
6111         attribute_definition_clauses for the following attributes when the
6112         -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
6113         Storage_Size, Write. Otherwise, we get spurious errors (for example,
6114         missing Read attribute on remote types).
6115
6116         * gnat_ugn.texi: Document the change, and add a stern warning.
6117
6118 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6119
6120         * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
6121         disabled not just for the current scope, but for the innermost dynamic
6122         scope as well.
6123
6124 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6125
6126         * gcc-interface/Make-lang.in: Update dependencies
6127
6128 2009-04-29  Vincent Celier  <celier@adacore.com>
6129
6130         * prj-part.adb: Minor comment update
6131
6132 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6133
6134         * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
6135         box-initialized records with discriminated subcomponents that are
6136         constrained by discriminants of enclosing components. New subsidiary
6137         procedures Add_Discriminant_Values, Propagate_Discriminants.
6138
6139 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6140
6141         * g-socket.adb: Code clean up.
6142
6143 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6144
6145         * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
6146         function entity, to cover the case of a parameterless function call
6147         that has not been resolved.
6148
6149 2009-04-29  Robert Dewar  <dewar@adacore.com>
6150
6151         * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
6152         reformatting and comment updates.
6153
6154 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6155
6156         * gnat_ugn.texi: Update some documentation about interfacing with C++
6157         Mention -fkeep-inline-functions.
6158
6159         * gnat_ugn.texi: Minor edits
6160
6161 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6162
6163         * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
6164         for a defaulted component of an enclosing aggregate, inherit the type
6165         from the component declaration of the enclosing type. 
6166
6167 2009-04-29  Albert Lee  <lee@adacore.com>
6168
6169         * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
6170         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
6171         (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
6172         msg_iovlen field in struct msghdr is 32 or 64 bits wide.
6173         Relocate the Msghdr record type from GNAT.Sockets.Thin to
6174         GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
6175         type for the Msg_Iovlen field.
6176
6177 2009-04-29  Vincent Celier  <celier@adacore.com>
6178
6179         * sinput-l.adb (Load_File): When preprocessing, set temporarily the
6180         Source_File_Index_Table entries for the source, to avoid crash when
6181         reporting an error.
6182
6183         * gnatcmd.adb (Test_If_Relative_Path): Use
6184         Makeutl.Test_If_Relative_Path.
6185         
6186         * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
6187         Including_RTS is True.
6188
6189         * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
6190         Including_RTS defaulted to False.
6191
6192         * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
6193         a default value.
6194
6195 2009-04-29  Javier Miranda  <miranda@adacore.com>
6196
6197         * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
6198
6199 2009-04-29  Javier Miranda  <miranda@adacore.com>
6200
6201         * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
6202         associated with dyamically tagged expressions if the expression
6203         initializing a tagged type corresponds with a non default CPP
6204         constructor.
6205         (OK_For_Limited_Init): CPP constructor calls are OK for initialization
6206         of limited type objects.
6207
6208         * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
6209         when a CPP constructor is called in an assignment. Disable also the
6210         error message associated with dyamically tagged expressions if the
6211         exporession initializing a tagged type corresponds with a non default
6212         CPP constructor.
6213
6214         * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
6215         non-default C++ constructors.
6216
6217         * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
6218
6219         * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
6220         non-default constructors.
6221         (Init_Proc): Add support for non-default constructors.
6222
6223         * exp_disp.adb (Set_Default_Constructor): Removed.
6224         (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
6225         but extending its functionality to handle non-default constructors.
6226
6227         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
6228         constructors. Minor code cleanup removing unrequired label and goto
6229         statement.
6230
6231         * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
6232         constructors.
6233         (Build_Init_Statements): Add support for non-default constructors.
6234         (Expand_N_Object_Declaration): Add support for non-default constructors.
6235         (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
6236         to Set_CPP_Constructors.
6237
6238         * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
6239         non-default constructors.
6240         Required to handle its use in build-in-place statements.
6241
6242         * gnat_rm.texi (CPP_Constructor): Document new extended use of this
6243         pragma for non-default C++ constructors and the new compiler support
6244         that allows the use of these constructors in record components, limited
6245         aggregates, and extended return statements.
6246
6247 2009-04-29  Vincent Celier  <celier@adacore.com>
6248
6249         * prj-part.adb (Parse_Single_Project): Do not attempt to find a
6250         project extending an abstract project.
6251
6252 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6253
6254         * targparm.ads: Fix oversight.
6255
6256 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6257
6258         * lib-xref.adb (Output_Overridden_Op): Follow several levels of
6259         derivation when necessary, to find the user-subprogram that is actally
6260         being overridden.
6261
6262 2009-04-29  Robert Dewar  <dewar@adacore.com>
6263
6264         * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
6265         components
6266
6267 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6268
6269         * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
6270         primitive operation, rather than source line of synchronized type, when
6271         building the wrapper for a primitive operation that overrides an
6272         operation inherited from a progenitor, to improve the error message on
6273         duplicate declarations.
6274
6275         * sem_ch3.adb (Process_Full_View): Use new signature of
6276         Build_Wrapper_Spec.
6277
6278 2009-04-29  Robert Dewar  <dewar@adacore.com>
6279
6280         * prj-nmsc.ads: Minor reformatting
6281
6282 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6283
6284         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
6285         expression on the existing parent If statement.
6286
6287 2009-04-29  Robert Dewar  <dewar@adacore.com>
6288
6289         * prj-proc.adb, prj.ads: Minor reformatting
6290
6291 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6292
6293         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
6294         existing parent If statement on the newly created one.
6295
6296 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6297
6298         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
6299         prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
6300         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
6301         (Set_In_Configuration, In_Configuration): Removed.
6302         Replaced by an extra parameter Is_Config_File in several parameter to
6303         avoid global variables to store the state of the parser.
6304
6305 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6306
6307         * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
6308         with_clauses generated for the same unit through rtsfind, and that
6309         appear in the context of different units.
6310
6311         * rtsfind.adb: New attribute First_Implicit_With, component of the
6312         Unit_Record that stores information about a unit loaded through rtsfind.
6313
6314 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6315
6316         * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
6317         (other conditions permitting), so that abstract stream subprograms will
6318         be declared for them.
6319
6320 2009-04-29  Bob Duff  <duff@adacore.com>
6321
6322         * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
6323
6324         * g-expect.ads: Minor comment fixes.
6325
6326 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6327
6328         * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
6329         dispatching operation is a body without previous spec, update the list
6330         of primitive operations to ensure that cross-reference information is
6331         up-to-date.
6332
6333 2009-04-29  Albert Lee  <lee@adacore.com>
6334
6335         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6336         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
6337         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
6338         (GNAT.Sockets.Thin.C_Readv,
6339         GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
6340         (GNAT.Sockets.Thin.C_Recvmsg,
6341         GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
6342         sendmsg(2).  
6343         (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
6344         C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
6345
6346 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6347
6348         * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
6349         operation is a body without previous spec, update the list of
6350         primitive operations to ensure that cross-reference information is
6351         up-to-date.
6352
6353         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
6354         new compilation unit node for the instance declaration, keep the
6355         context items of the original unit on it, so that the context of the
6356         instance body only holds the context inherited from the generic body.
6357
6358 2009-04-29  Bob Duff  <duff@adacore.com>
6359
6360         * sem_res.adb: Minor comment fix.
6361
6362 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6363
6364         * sem_elim.adb: Minor reformatting
6365
6366 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6367
6368         * exp_aggr.adb (Convert_To_Positional): if the current unit is a
6369         predefined unit, allow arbitrary number of components in static
6370         aggregate, to ensure that the same level of constant folding applies
6371         for Ada 95 and Ada 05 versions of the file.
6372
6373 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6374
6375         * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
6376         information: no need for full scope check.
6377         (Eliminate_Error): Do not emit error in a generic context.
6378
6379 2009-04-29  Ed Falis  <falis@adacore.com>
6380
6381         * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
6382         VxWorks 653 POS does not support rmdir.
6383
6384 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6385
6386         * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
6387         results are printed.
6388
6389 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6390
6391         * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
6392         unused assignment.
6393
6394 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6395
6396         * make.adb: Minor reformatting.
6397         Minor code reorganization throughout.
6398
6399 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6400
6401         * s-stausa.ads: Changed visibility of type Task_Result: moved to
6402         public part to give application visibility over it.
6403         This is for future improvement and to build a public API on top of it.
6404         Changed record components name of type Task_Result to reflect the new
6405         way of reporting. 
6406
6407         * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
6408         reporting Stack usage.
6409
6410         * gnat_ugn.texi: Update doc of stack usage report.
6411
6412         * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
6413
6414         * Makefile.rtl: Add new run-time files.
6415
6416 2009-04-29  Pascal Obry  <obry@adacore.com>
6417
6418         * initialize.c: Do not expand quoted arguments.
6419
6420 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6421
6422         * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
6423
6424         * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
6425          Prj.Ultimate_Extending_Project_Of
6426
6427 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6428
6429         * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
6430         Amendment type, add the with_clause for Finalization.List_Controller
6431         only if the current context is a package body.
6432
6433 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6434
6435         * sem_ch12.adb: Minor reformatting
6436
6437         * sem_aggr.adb: Minor reformatting
6438
6439         * sem_ch6.adb, sem_cat.ads: Minor reformatting
6440
6441         * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
6442
6443 2009-04-29  Quentin Ochem  <ochem@adacore.com>
6444
6445         * prj.ads (Source_Id): Now general pointer type.
6446
6447 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6448
6449         * exp_ch7.adb, rtsfind.adb: Minor reformatting
6450
6451         * sem_res.adb: Minor reformatting
6452
6453 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6454
6455         * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
6456         operands is static only if it is a predefined concatenation operator.
6457
6458         * sem_util.adb: Minor reformatting
6459
6460         * sem_ch12.adb (Save_References): When propagating semantic information
6461         from generic copy back to generic template, for the case of an
6462         identifier that has been rewritten to an explicit dereference whose
6463         prefix is either an object name or a parameterless funcion call
6464         denoting a global object or function, properly capture the denoted
6465         global entity: perform the corresponding rewriting in the template,
6466         and point the rewritten identifier to the correct global entity (not
6467         to the associated identifier in the generic copy).
6468
6469 2009-04-29  Robert Dewar  <dewar@adacore.com>
6470
6471         * rtsfind.adb, prj-env.adb: Minor reformatting
6472         Minor code reorganization
6473
6474 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6475
6476         * make.adb: Fix comment
6477
6478         * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
6479         is given as argument, as might happen in gnatmake.
6480
6481 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6482
6483         * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
6484         an abstract operation of a progenitor is not properly overridden by an
6485         operation of a derived synchronized type.
6486
6487 2009-04-29  Robert Dewar  <dewar@adacore.com>
6488
6489         * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
6490         prj-proc.adb: Minor reformatting
6491         Minor code reorganization
6492
6493 2009-04-29  Bob Duff  <duff@adacore.com>
6494
6495         * exp_ch7.adb (Build_Final_List): For an access type that designates a
6496         Taft Amendment type, if the access type needs finalization, make sure
6497         the implicit with clause for List_Controller occurs on the package spec.
6498
6499         * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
6500         with's created for the pseudo-children of Text_IO and friends. In
6501         particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
6502         Ada.Text_IO.Integer_IO both with-ing each other.
6503
6504         * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
6505         oddball cases when pragma Extend_System is used.
6506
6507         * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
6508         the case where a package spec instantiates a generic whose body with's
6509         this package, so Walk_Library_Items won't complain about cyclic with's.
6510
6511 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6512
6513         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
6514         prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
6515         mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
6516         (Project_Id): now a real pointer to Project_Data, instead of an index
6517         into the Projects_Table. This simplifies the API significantly, avoiding
6518         extra lookups in this table and the need to pass the Project_Tree_Ref
6519         parameter in several cases
6520
6521 2009-04-29  Nicolas Setton  <setton@adacore.com>
6522
6523         * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
6524         darwin.
6525
6526 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
6527
6528         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
6529         back kludge.
6530
6531 2009-04-24  Robert Dewar  <dewar@adacore.com>
6532
6533         * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
6534         clean.adb: Minor reformatting.
6535         Minor code reorganization and message improvement.
6536
6537 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6538
6539         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
6540         (Alternate_Languages): now implemented as a malloc-ed list rather
6541         than through a table.
6542
6543 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6544
6545         * sem_res.adb (Static_Concatenation): Simplify predicate to make it
6546         accurately handle cases such as "lit" & "lit" and
6547         "lit" & static_string_constant
6548
6549 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6550
6551         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
6552         prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
6553         removed. Lists of projects are now implemented via standard malloc
6554         rather than through the table.
6555
6556 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6557
6558         * sem_ch12.adb: Minor reformatting
6559
6560         * g-trasym.adb: Minor reformatting
6561
6562         * exp_ch6.adb: Minor reformatting
6563
6564 2009-04-24  Robert Dewar  <dewar@adacore.com>
6565
6566         * layout.adb (Layout_Type): For packed array type, copy unset
6567         size/alignment fields from the referenced Packed_Array_Type.
6568
6569 2009-04-24  Bob Duff  <duff@adacore.com>
6570
6571         * lib-load.adb (Make_Instance_Unit): Revert previous change, no
6572         longer needed after sem_ch12 changes.
6573
6574         * sem.adb (Walk_Library_Items): Include with's in some debugging
6575         printouts.
6576
6577 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6578
6579         * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
6580         only ever using the Project field.
6581
6582 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6583
6584         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
6585         Body_Required on the generated compilation node. The new node is linked
6586         to its body, but both share the same file, so we do not set this flag
6587         on the new unit so as not to create a spurious dependency on a
6588         non-existent body in the ali file for the instance.
6589
6590 2009-04-24  Robert Dewar  <dewar@adacore.com>
6591
6592         * make.adb: Minor reformatting
6593
6594 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6595
6596         * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
6597         Add_Source): merge some code between those. In particular change where
6598         file normalization is done to avoid a few extra calls to
6599         Canonicalize_File_Name. This also removes the need for passing
6600         Current_Dir in a number of subprograms.
6601
6602 2009-04-24  Bob Duff  <duff@adacore.com>
6603
6604         * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
6605         False, assign the correct unit to the Cunit field of the new table
6606         entry. We want the spec unit, not the body unit.
6607
6608         * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
6609         interface for these.
6610         (Maybe_Add_With): Check whether we're trying to a with on the current
6611         unit, and avoid creating such directly self-referential with clauses.
6612         (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
6613         [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
6614         and matches existing comments in the spec.
6615
6616         * sem.adb (Walk_Library_Items): Add various special cases to make the
6617         assertions pass.
6618
6619         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
6620         instead of Parent (N), for uniformity.
6621
6622 2009-04-24  Robert Dewar  <dewar@adacore.com>
6623
6624         * errout.ads: Minor reformatting
6625
6626 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6627
6628         * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
6629         behavior when the project includes sources from multiple languages
6630
6631 2009-04-24  Vincent Celier  <celier@adacore.com>
6632
6633         * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
6634         is a language other than Ada declared.
6635
6636         * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
6637         Imported_First set to True.
6638
6639 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6640
6641         * sem_res.adb: additional optimization to inhibit creation of
6642         redundant transient scopes.
6643
6644 2009-04-24  Bob Duff  <duff@adacore.com>
6645
6646         * rtsfind.ads: Minor comment fix
6647
6648 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6649
6650         * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
6651         Get_Path_Name_And_Record_Ada_Sources): merged, since these were
6652         basically doing the same work (for explicit or implicit sources).
6653         (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
6654         role. Rewritten to share some code (testing that all explicit sources
6655         have been found) between ada_only and multi_language modes.
6656
6657 2009-04-24  Jerome Lambourg  <lambourg@adacore.com>
6658
6659         * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
6660         for CLI imported types.
6661         (Analyze_Pragma): Allow CIL or Java imported functions returning
6662         access-to-subprogram types.
6663
6664 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6665
6666         * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
6667         (Project_Data.Dir_Path): field removed, since it can be computed
6668         directly from .Directory, and is needed only once when processing the
6669         project is buildgpr.adb or make.adb
6670
6671 2009-04-24  Robert Dewar  <dewar@adacore.com>
6672
6673         * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
6674         rtsfind.adb: Minor reformatting.
6675         Minor code reorganization
6676
6677 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6678
6679         * mlib-prj.adb: Use friendlier english identifier.
6680
6681         * gnatcmd.adb, make.adb: Use better english identifiers.
6682
6683 2009-04-24  Robert Dewar  <dewar@adacore.com>
6684
6685         * clean.adb: Minor reformatting
6686
6687 2009-04-24  Robert Dewar  <dewar@adacore.com>
6688
6689         * einfo.adb (OK_To_Rename): New flag
6690
6691         * einfo.ads (OK_To_Rename): New flag
6692
6693         * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
6694         OK_To_Rename set.
6695
6696         * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
6697
6698         * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
6699         OK_To_Rename.
6700
6701 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6702
6703         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
6704         clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
6705         field removed. This is not a property of the
6706         project, just a boolean used to traverse the project tree, and storing
6707         it in the structure prevents doing multiple traversal in parallel.
6708         (Project_Data.Checked): also removed, since it was playing the same role
6709         as Seen when we had two nested loops, and this is no longer necessary
6710         (For_All_Imported_Projects): removed, since in fact there was already
6711         the equivalent in For_Every_Project_Imported. The latter was rewritten
6712         to use a local hash table instead of Project_Data.Seen
6713         Various loops were rewritten to use For_Every_Project_Imported, thus
6714         removing the need for Project_Data.Seen. This avoids a lot of code
6715         duplication
6716
6717 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6718
6719         * sem_res.adb (Resolve_Actuals): Do not create blocks around code
6720         statements, even though the actual of the call is a concatenation,
6721         because the argument is static, and we want to preserve warning
6722         messages  about sequences of code statements that are not marked
6723         volatile.
6724
6725         * sem_warn.adb: remove obsolete comment about warning being obsolete
6726
6727         * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
6728         requeued and the delay has expired while within the accept statement
6729         that executes the requeue, do not perform the requeue and indicate that
6730         the timed call has been aborted.
6731
6732 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6733
6734         * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6735         (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
6736         (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
6737         since they can be computed from the above.
6738
6739 2009-04-24  Vincent Celier  <celier@adacore.com>
6740
6741         * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
6742
6743         * prj-env.adb: Move all global variables to the private part of the
6744         project tree data.
6745         Access these new components instead of the global variables no longer
6746         in existence.
6747         (Add_To_Path): New Project_Tree_Ref parameter, to access the new
6748         components that were previously global variables.
6749
6750         * prj-env.ads (Initialize): New Project_Tree_Ref parameter
6751         (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
6752         parameter.
6753
6754         * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
6755         be able to call Set_Mapping_File_Initial_State_To_Empty with it.
6756
6757         * prj.adb (Initialize): Do not call Prj.Env.Initialize
6758         (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
6759         components in the private part of the project tree data.
6760
6761         * prj.ads (Private_Project_Tree_Data): new components moved from
6762         Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
6763         Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
6764         Ada_Prj_Objects_File_Set, Fill_Mapping_File.
6765
6766 2009-04-24  Vincent Celier  <celier@adacore.com>
6767
6768         * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
6769
6770         * prj-nmsc.adb (Check_Library): No error for imports by shared library
6771         projects, when --unchecked-shared-lib-imports is used.
6772
6773 2009-04-24  Robert Dewar  <dewar@adacore.com>
6774
6775         * sem_ch7.adb: Minor reformatting
6776
6777 2009-04-24  Tristan Gingold  <gingold@adacore.com>
6778
6779         * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
6780         mach thread id.
6781
6782 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6783
6784         * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
6785         Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
6786         (For_All_Imported_Projects): new procedure
6787         (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
6788         above rather than duplicating code.
6789
6790 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6791
6792         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6793         (Source_Id, Source_Data): use a real list to store sources rather than
6794         using an external table to store the elements. This makes code more
6795         efficient and more readable.
6796
6797 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6798
6799         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6800         (Source_Iterator): new type.
6801         This removes the need for having the sources on three different
6802         lists at the project tree, project and language level. They are now
6803         on a single list.
6804
6805 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6806
6807         * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
6808
6809 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6810
6811         * sem_warn.adb: Add comment on obsolete warning
6812
6813 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6814
6815         * s-tassta.adb (Create_Task): Fix violation of locking rule.
6816
6817 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6818
6819         * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
6820         to Language_Ptr to better reflect its new implementation.
6821         (Project_Data.First_Languages_Processing): renamed to Languages now
6822         that the field with that name is no longer used
6823         (Project_Data.Languages): removed, no longer used, and duplicates
6824         information already available through First_Language_Processing.
6825         (Prj.Language_Index): now an actual pointer, instead of an index into
6826         a table. This makes the list somewhat more obvious, but more importantly
6827         removes the need to pass a pointer to the project_tree_data in a few
6828         places, and makes accessing the attributes of a languages more
6829         efficient.
6830
6831 2009-04-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6832             Thomas Quinot  <quinot@adacore.com>
6833
6834         * fe.h (Set_Identifier_Casing): Add const to second parameter.
6835         * gcc-interface/misc.c (internal_error_function): Make copy of return
6836         from pp_formatted_text before assigning BUFFER to it.
6837         (gnat_init): Likewise for main_input_filename and gnat_argv.
6838         (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
6839
6840 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6841
6842         * ttypes.ads (Target_Double_Float_Alignment): New variable.
6843         (Target_Double_Scalar_Alignment): Likewise.
6844         * get_targ.ads (Get_Strict_Alignment): Adjust external name.
6845         (Get_Double_Float_Alignment): New imported function.
6846         (Get_Double_Scalar_Alignment): Likewise.
6847         * layout.adb (Set_Elem_Alignment): Take into account specific caps for
6848         the alignment of "double" floating-point types and "double" or larger
6849         scalar types, as parameterized by Target_Double_Float_Alignment and
6850         Target_Double_Scalar_Alignment respectively.
6851         * gcc-interface/gigi.h (double_float_alignment): Declare.
6852         (double_scalar_alignment): Likewise.
6853         (is_double_float_or_array): Likewise.
6854         (is_double_scalar_or_array): Likewise.
6855         (get_target_double_float_alignment): Likewise.
6856         (get_target_double_scalar_alignment): Likewise.
6857         * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
6858         (get_target_strict_alignment): ...this.
6859         (get_target_double_float_alignment): New function.
6860         (get_target_double_scalar_alignment): Likewise.
6861         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6862         Test the presence of an alignment clause for under-aligned integer
6863         types.  Take into account specific caps for the alignment of "double"
6864         floating-point types and "double" or larger scalar types, as
6865         parameterized by Target_Double_Float_Alignment and
6866         Target_Double_Scalar_Alignment respectively.
6867         (validate_alignment): Likewise.
6868         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
6869         (gigi): Initialize double_float_alignment and double_scalar_alignment.
6870         * gcc-interface/utils.c (double_float_alignment): New global variable.
6871         (double_scalar_alignment): Likewise.
6872         (is_double_float_or_array): New predicate.
6873         (is_double_scalar_or_array): Likewise.
6874
6875 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6876
6877         * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
6878         the conditional expression only if it is common to both arms.
6879
6880 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6881
6882         * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
6883         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
6884         arguments to build_allocator.
6885         * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
6886         Remove code handling special allocator and assert its uselessness.
6887
6888 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6889
6890         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
6891         alignment is specified, do not promote that of the component type
6892         beyond it.
6893         <E_Array_Subtype>: Likewise.
6894
6895 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6896
6897         * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
6898         * sinfo.ads (Object Declaration): Likewise.
6899         (Assignment Statement): Likewise.
6900         * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
6901         Do not force Is_True_Constant to false on the temporary.
6902         (Freeze_Entity): Do not force Is_True_Constant to false on names on
6903         the RHS of object declarations.
6904         * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
6905         New case.  Return 1 if the object is atomic.
6906         <N_Assignment_Statement>: Likewise.
6907
6908 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6909
6910         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
6911         For packed array types, make the original array type a parallel type
6912         for the modular type and its JM wrapper if the type is bit-packed.
6913         <E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
6914         record type for packed array types.  Remove kludge.
6915
6916 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6917
6918         * gcc-interface/gigi.h (create_index_type): Adjust head comment.
6919         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6920         Use front-end predicates to compute signedness and precision.
6921         <E_String_Literal_Subtype>: Fold range type.
6922         Make sure to set longest_float_type_node to a scalar type.
6923         (elaborate_entity): Use consistent Constraint_Error spelling.
6924         (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
6925         * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
6926         output for the modulus, if any.
6927         <ENUMERAL_TYPE>: Likewise for the RM size.
6928         * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
6929         spelling.
6930         * gcc-interface/utils.c (finish_record_type): Really test the alignment
6931         of BLKmode bit-fields to compute their addressability.
6932         (create_index_type): Adjust comments.
6933         (create_param_decl): Create the biased subtype manually.
6934         * gcc-interface/utils2.c (build_component_ref): Use consistent
6935         Constraint_Error spelling.
6936
6937 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6938
6939         * gcc-interface/cuintp.c: Clean up include directives.
6940         * gcc-interface/targtyps.c: Likewise.
6941         * gcc-interface/decl.c: Likewise.
6942         * gcc-interface/misc.c: Likewise.
6943         * gcc-interface/trans.c: Likewise.
6944         * gcc-interface/utils.c: Likewise.
6945         * gcc-interface/utils2.c: Likewise.
6946         * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
6947
6948 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6949
6950         * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
6951         (SET_TYPE_LANG_SPECIFIC): Likewise.  Fix formatting.
6952         (SET_DECL_LANG_SPECIFIC): Likewise.
6953         Reorder macros.
6954         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6955         Update comment about use of build_range_type.
6956         <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
6957         <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
6958         check for other cases of overloading.
6959         * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
6960         * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
6961         Use size_int in lieu of build_int_cst.
6962         (build_call_alloc_dealloc): Use build_index_2_type in lieu of
6963         build_range_type.
6964
6965 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6966
6967         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
6968         type is an enumeral or a boolean type, change it to an integer type
6969         with the same mode and signedness.
6970
6971 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6972
6973         * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
6974         for an external constant whose initializer is not absolute.
6975
6976 2009-04-22  Taras Glek  <tglek@mozilla.com>
6977
6978         * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
6979         * gcc-interface/trans.c: Likewise.
6980         * gcc-interface/utils.c: Likewise.
6981
6982 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
6983
6984         * sem_res.adb: Create block around procedure call when actual is a
6985         concatenation.
6986
6987 2009-04-22  Thomas Quinot  <quinot@adacore.com>
6988
6989         * s-soflin.ads: Fix typos
6990
6991 2009-04-22  Vincent Celier  <celier@adacore.com>
6992
6993         * prj-env.adb: Minor comment change
6994
6995         * prj-nmsc.adb (Check_Common): Add guard to avoid calling
6996         Get_Name_String with No_File.
6997
6998         * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
6999         cannot be created even when not in verbose mode.
7000
7001 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7002
7003         * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
7004         prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
7005         Multi_Language modes, to avoid code duplication.
7006         (Project_Data.Include_Language): Removed.
7007
7008 2009-04-22  Vincent Celier  <celier@adacore.com>
7009
7010         * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
7011         the temporary file cannot be created, indicating the directory when the
7012         creation was attempted.
7013
7014 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7015
7016         * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
7017         the language names, not their indices.
7018
7019 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7020
7021         * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
7022         (Source_Data.Language_Name): Field removed.
7023
7024 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7025
7026         * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
7027         Two fields removed.
7028
7029 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7030
7031         * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
7032         separate_suffix to the same value as the body_suffix.
7033
7034 2009-04-22  Robert Dewar  <dewar@adacore.com>
7035
7036         * prj.adb: Minor code reorganization
7037         Code clean up.
7038
7039         * prj-proc.adb: Minor code reorganization, clean up.
7040
7041         * prj-nmsc.adb: Minor reformatting
7042         Minor code reorganization
7043
7044         * gnat_ugn.texi: Add to doc on strict aliasing
7045
7046 2009-04-22  Pascal Obry  <obry@adacore.com>
7047
7048         * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
7049         SpinCount.
7050
7051         * s-tasini.adb: Minor reformatting.
7052
7053         * s-tassta.adb: Minor reformatting.
7054
7055 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7056
7057         * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
7058         smaller subprograms.
7059         Renamed to Check_File_Naming_Schemes to avoid confusion with the
7060         other Check_Naming_Schemes functions that plays a totally different
7061         role.
7062         (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
7063         extracted from the above. These were partially rewritten to avoid
7064         unnecessary code and temporary variables.
7065         (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
7066         and Get_Unit (which for now still exist since they contain mode-specific
7067         code)
7068
7069 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7070
7071         * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
7072         Remove duplicated code.
7073         (Canonical_Case_File_Name): new subprogram
7074         (Check_And_Normalize_Unit_Names): new subprogram
7075         (Write_Attr): new subprogram
7076         Better sharing of code
7077         (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
7078         split Check_Naming and help find duplicated code
7079         (Check_Common): new subprogram, sharing code between ada_only and
7080         multi_language mode.
7081         (Naming_Data.Dot_Repl_Loc): field removed
7082
7083 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7084
7085         * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
7086         Minor refactoring to reduce the size of
7087         Process_Sources_In_Multi_Language_Mode.
7088         Avoid extra copied of Source_Data, which we found in the past could be
7089         quite slow.
7090         (Mark_Excluded_Sources): new subprogram.
7091         (Remove_Locally_Removed_Files_From_Units): merged into the above
7092         Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
7093         and allow better sharing of code between multi_lang and ada_only modes
7094         (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
7095
7096 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7097
7098         * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
7099         Removed, since unused.
7100
7101 2009-04-22  Vincent Celier  <celier@adacore.com>
7102
7103         * prj-attr.adb: New single project level attribute
7104         Separate_Run_Path_Options.
7105
7106         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
7107         attribute Seperate_Run_Path_Options.
7108
7109         * prj.ads: (Project_Configuration): New Boolean component
7110         Separate_Run_Path_Options, defaulted to False.
7111
7112         * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
7113
7114 2009-04-22  Robert Dewar  <dewar@adacore.com>
7115
7116         * sem_type.adb: Minor reformatting
7117
7118         * mlib.adb: Minor reformatting
7119
7120         * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
7121         syntax error.
7122
7123 2009-04-22  Nicolas Setton  <setton@adacore.com>
7124
7125         * link.c: Add flag __gnat_separate_run_path_options.
7126
7127         * mlib.adb (Separate_Run_Path_Options): New subprogram.
7128
7129         * mlib.ads (Separate_Run_Path_Options): Declare.
7130
7131         * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
7132         switch per directory, rather than one "rpath" switch listing all
7133         directories.
7134
7135         * gnatlink.adb (Process_Binder_File): Likewise.
7136
7137         * make.adb (Gnatmake): Likewise.
7138
7139 2009-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
7140
7141         * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
7142         Add a call to Move_Final_List when the target of the assignment is a
7143         return object that needs finalization and the expression is a
7144         controlled build-in-place function.
7145
7146 2009-04-22  Vincent Celier  <celier@adacore.com>
7147
7148         * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
7149         Including_Libraries set to True.
7150
7151 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
7152
7153         * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
7154         create a unit table entry for the subprogram declaration created for a
7155         child suprogram body that has no separate specification.
7156
7157         * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
7158         subprogram body, call Make_Child_Decl_Unit.
7159
7160         * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
7161         table can only be the created specification of a child subprogram body
7162         that is the main unit, which has not been entered in the table yet.
7163
7164         * errout.adb  (Output_Messages): Ignore created specification of a
7165         child subprogram body to prevent repeated listing of error messages.
7166
7167         * gnat1drv.adb (gnat1drv): The generated specification for a child
7168         subprogram body does not generate code.
7169
7170 2009-04-22  Arnaud Charlet  <charlet@adacore.com>
7171
7172         * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
7173         since this unit is now part of bootstrap units, so must use Ada 95
7174         syntax only.
7175
7176 2009-04-22  Thomas Quinot  <quinot@adacore.com>
7177
7178         * a-tasatt.adb: Minor reformatting
7179
7180 2009-04-22  Bob Duff  <duff@adacore.com>
7181
7182         * s-stalib.ads: Remove "with System;" since we're inside System, so
7183         it's unnecessary.
7184
7185 2009-04-22  Vincent Celier  <celier@adacore.com>
7186
7187         * prj-nmsc.adb (Add_Source): Always put the dependency file name in
7188         the source record, as there may be a dependency file even if no object
7189         file is created.
7190
7191 2009-04-22  Robert Dewar  <dewar@adacore.com>
7192
7193         * lib-load.adb: Minor reformatting
7194
7195         * lib-load.ads: Minor reformatting
7196
7197         * sinfo.ads: Minor reformatting
7198
7199 2009-04-22  Bob Duff  <duff@adacore.com>
7200
7201         * exp_pakd.adb: Minor comment fixes.
7202
7203         * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
7204         sem_ch12.adb: Change the meaning of the Library_Unit attribute to
7205         include units containing instantiations, as well as units that are
7206         generic instantiations.
7207
7208         * sem.adb: Include dependents and corresponding specs/bodies in the
7209         unit walk.
7210
7211         * gcc-interface/Make-lang.in:
7212         sem now depends on s-bitops, because of the packed array of Booleans.
7213
7214 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7215
7216         * gcc-interface/ada-tree.def: Fix formatting nits.
7217         (REGION_STMT): Delete.
7218         (HANDLER_STMT): Likewise.
7219         * gcc-interface/ada-tree.h: Fix formatting nits.
7220         (IS_STMT): Delete.
7221         (REGION_STMT_BODY): Likewise.
7222         (REGION_STMT_HANDLE): Likewise.
7223         (REGION_STMT_BLOCK): Likewise.
7224         (HANDLER_STMT_ARG): Likewise.
7225         (HANDLER_STMT_LIST): Likewise.
7226         (HANDLER_STMT_BLOCK): Likewise.
7227         * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
7228         (fp_size_to_prec): Likewise.
7229         (largest_move_alignment): Delete.
7230         (gnat_compute_largest_alignment): Likewise.
7231         Fix minor nits.
7232         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
7233         Remove redundant code.
7234         <E_Array_Type>: Remove redundant assert.
7235         <E_Array_Subtype>: Exit early from index computation in pathological
7236         cases.
7237         Rewrite conditional assignment.
7238         (make_type_from_size): Likewise.
7239         * gcc-interface/misc.c (largest_move_alignment): Delete.
7240         (gnat_finish_incomplete_decl): Likewise.
7241         (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
7242         (asm_out_file): Likewise
7243         (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
7244         (gnat_dwarf_name): Move around.
7245         * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
7246         (gigi): Remove call to gnat_compute_largest_alignment.
7247         * utils.c (create_field_decl): Rewrite conditional assignment.
7248         Fix minor nits.
7249
7250 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7251
7252         * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
7253         on entry.  Defer common processing for types.  Reorder and clean up.
7254         Compute the equivalent GNAT node and the default size for types only.
7255         <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
7256         <E_Access_Type>: For an unconstrained designated type, do not pretend
7257         that a dummy type is always made.
7258         <all> Fix nits in comments.
7259         (validate_size): Fix formatting nits and comments.
7260         (set_rm_size): Likewise.
7261         * gcc-interface/utils.c (create_param_decl): Replace bogus argument
7262         passed to TARGET_PROMOTE_PROTOTYPES hook.
7263
7264 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7265
7266         * fe.h (Get_External_Name): Declare.
7267         * gcc-interface/gigi.h (concat_id_with_name): Rename to...
7268         (concat_name): ...this.
7269         * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
7270         gnu_entity_name and adjust for above renaming.
7271         <E_Access_Type>: Use create_concat_name to get the name of the various
7272         types associated with unconstrained array types.
7273         (make_aligning_type): Adjust for above renaming.
7274         (maybe_pad_type): Likewise.
7275         (components_to_record): Likewise.  Use get_identifier_with_length for
7276         the encoding of the variant.
7277         (get_entity_name): Use get_identifier_with_length.
7278         (create_concat_name): Likewise.  Use Get_External_Name if no suffix.
7279         Do not fiddle with Name_Buffer.
7280         (concat_id_with_name): Rename to...
7281         (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
7282         with Name_Buffer.
7283         * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
7284         above renaming.
7285
7286 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
7287
7288         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
7289         license notices.
7290
7291 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7292
7293         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
7294
7295 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7296
7297         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
7298         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
7299         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
7300         Remove useless support code for packed array types and assert its
7301         uselessness.
7302         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
7303         adjust for TYPE_RM_SIZE change.
7304         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
7305         of Associated_Node_For_Itype accessor for packed array types.
7306         (make_packable_type): Likewise.
7307         (maybe_pad_type): Likewise.
7308         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
7309         TYPE_RM_SIZE change.
7310         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
7311         (rm_size): Fix nits in comments.  Rework conditional statements.
7312         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
7313         change.
7314         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
7315         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
7316         appropriate function to initialize the size_type_node.  Adjust for
7317         TYPE_RM_SIZE change.
7318
7319 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7320
7321         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
7322         for imported subprograms.
7323
7324 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7325
7326         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
7327         constant objects covered by 13.3(19) volatile.
7328
7329 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7330
7331         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
7332         of dummy fat pointer types to the debug back-end.
7333
7334 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7335
7336         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
7337         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
7338         before wrapping it up in the record type.  Do not overwrite the
7339         Ada size of the record type with the Esize.
7340
7341 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7342
7343         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
7344         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
7345         if the conversion is on the LHS of an assignment and a no-op.
7346         <all> Do not convert the result to the result type if the Parent
7347         node is such a conversion.
7348
7349 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7350
7351         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
7352         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
7353         of types with unknown discriminants.
7354         (substitute_in_type): Rewrite and restrict to formal substitutions.
7355         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
7356         (update_pointer_to): Update comment.
7357
7358 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7359
7360         * sem_ch8.adb (Use_One_Package): In an instance, if two
7361         potentially_use_visible and non-overloadable homonyms are available
7362         from  the actuals of distinct formal packages, retain the current one,
7363         which was visible in the generic, to prevent spurious visibility
7364         errors.
7365         (End_Use_Package): Restore use_visibility when needed.
7366
7367 2009-04-20  Sergey Rybin  <rybin@adacore.com>
7368
7369         * gnat_ugn.texi, vms_data.ads: Update doc.
7370
7371 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7372
7373         * gcc-interface/Make-lang.in: Update dependencies
7374
7375         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
7376         Windows.
7377
7378 2009-04-20  Robert Dewar  <dewar@adacore.com>
7379
7380         * checks.ads: Fix documentation of range check handling
7381
7382 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7383
7384         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
7385         a redundant use_type clause.
7386
7387 2009-04-20  Robert Dewar  <dewar@adacore.com>
7388
7389         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
7390         this attribute can be evaluated at compile time.
7391         (Eval_Attribute, case Range_Length): Same improvement
7392
7393         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
7394
7395 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7396
7397         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
7398         for better handling of null procedures.
7399         (Check_Overriding_Indicator): Do not emit a warning on a missing
7400         overriding indicator on an operator when the type of which the operator
7401         is a primitive is private.
7402
7403 2009-04-20  Bob Duff  <duff@adacore.com>
7404
7405         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
7406         debugging output.
7407
7408 2009-04-20  Robert Dewar  <dewar@adacore.com>
7409
7410         * sem_attr.adb: Minor reformatting
7411
7412         * gnatcmd.adb: Minor reformatting
7413
7414 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7415
7416         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
7417         overloaded and one interpretation matches the context, label the
7418         operand with the type of first formal.
7419
7420 2009-04-20  Bob Duff  <duff@adacore.com>
7421
7422         * debug.ads: Minor comment fix.
7423
7424         * debug.adb: Minor comment fixes.
7425
7426 2009-04-20  Javier Miranda  <miranda@adacore.com>
7427
7428         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
7429
7430         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
7431
7432         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
7433         is expanded into a call to Raise_Exception, avoid passing the
7434         exception-name'identity in runtimes in which this argument
7435         is not used.
7436
7437 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
7438
7439         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
7440         generated bindings for cil.
7441
7442 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7443
7444         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
7445         discriminants, collect components from the Underlying_Record_View,
7446         which will be used in the expansion of the aggregate into assignments.
7447
7448         * sem_ch3.adb: Do not label derived type with unknown discriminants as
7449         having a private declaration.
7450
7451 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7452
7453         * exp_util.adb (Expand_Subtype_From_Expr): use the
7454         underlying_record_view when available, to create the proper constrained
7455         subtype for an object of a derived type with unknown discriminants.
7456
7457 2009-04-20  Javier Miranda  <miranda@adacore.com>
7458
7459         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
7460         formals that have pragma unreferenced.
7461
7462 2009-04-20  Pascal Obry  <obry@adacore.com>
7463
7464         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
7465         Remove all calls to To_Lower_If_Case_Insensitive to preserve
7466         the pathname original casing.
7467
7468 2009-04-20  Robert Dewar  <dewar@adacore.com>
7469
7470         * g-trasym.adb: Minor reformatting
7471
7472         * s-os_lib.adb: Minor reformatting
7473
7474         * sem.adb: Minor reformatting
7475         Minor code reorganization
7476
7477         * sem_ch3.adb: Minor reformatting
7478
7479         * sem_ch4.adb: Minor reformatting
7480
7481         * sem_ch8.adb: Minor reformatting
7482
7483         * sem_type.adb: Minor reformatting
7484
7485 2009-04-20  Javier Miranda  <miranda@adacore.com>
7486
7487         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
7488         generated by derivations of tagged types use the aliased subprogram a
7489         reference to locate their controlling type.
7490
7491 2009-04-20  Tristan Gingold  <gingold@adacore.com>
7492
7493         * g-trasym.adb: Set size of result buffer before calling
7494         convert_address.
7495
7496 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7497
7498         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
7499         to a function returning an array can be interpreted as a call with
7500         defaulted parameters whose result is indexed, take into account the
7501         types of all the indices of the array result type.
7502
7503 2009-04-20  Pascal Obry  <obry@adacore.com>
7504
7505         * a-direct.adb, s-os_lib.adb: Minor reformatting.
7506
7507 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7508
7509         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
7510         null exclusion qualifiers for object renaming declarations.
7511
7512 2009-04-20  Nicolas Roche  <roche@adacore.com>
7513
7514         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
7515         unsigned long long. So compare local_time and utc_time before computing
7516         the difference.
7517
7518 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7519
7520         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
7521         of the Underlying_Record_View before that of the derived type.
7522
7523         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
7524         with unknown discriminants with regard to the parent subtype.
7525
7526 2009-04-20  Bob Duff  <duff@adacore.com>
7527
7528         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
7529         that are not included. This is necessary if the main unit is a generic
7530         instantiation.
7531
7532         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
7533         because it doesn't work if -gnatn is used.
7534
7535 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7536
7537         * rtsfind.adb (RTE, RTE_Record_Component): In
7538         Configurable_Run_Time_Mode, do not enable front-end inlining.
7539
7540 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7541
7542         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
7543         System.Address_To_Access_Conversions.
7544
7545 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7546
7547         * sem.adb: Guard against ill-formed subunits.
7548
7549 2009-04-20  Bob Duff  <duff@adacore.com>
7550
7551         * output.adb (Flush_Buffer): Do not indent blank lines.
7552         (Ignore_Output): New procedure for output suppression.
7553
7554 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7555
7556         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
7557         when it is positive.  This avoids a potential constraint error raised
7558         by the conversion to Natural.
7559
7560 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7561
7562         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
7563         involves a target that has a specified address, don't set Forward_OK
7564         and Backward_OK to False if the rhs is an aggregate, since overlap
7565         can't occur.
7566
7567 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7568
7569         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
7570         in an object renaming declaration when the expected type is an
7571         anonymous access type.
7572
7573         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
7574         ambiguity when one interpretation is an anonymous access type and the
7575         other is a named access type, and the context itself is anonymous
7576
7577 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7578
7579         * einfo.ads: Minor comment rewording
7580
7581         * sem_aggr.adb: Minor comment rewording
7582
7583         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
7584
7585 2009-04-20  Pascal Obry  <obry@adacore.com>
7586
7587         * adaint.c (__gnat_is_readable_file): Check for file existence
7588         when not using ACL (always the case on remote drives).
7589
7590 2009-04-20  Robert Dewar  <dewar@adacore.com>
7591
7592         * sinfo.ads: Minor comment fixes
7593
7594         * exp_disp.adb: Minor reformatting
7595
7596         * gnat1drv.adb: Minor reformatting
7597
7598         * output.adb: Minor reformatting
7599
7600         * s-vxwext-kernel.ads: Minor reformatting
7601
7602         * sem.ads: Minor reformatting
7603
7604         * sem.adb: Minor reformatting
7605
7606         * sem_elim.adb: Minor reformatting
7607
7608         * uname.ads: Minor reformatting
7609
7610 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7611
7612         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
7613         a small dope of 4 words to the adjustment to the stack pointer.
7614
7615 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7616
7617         * xoscons.adb: generate C header s-oscons.h in
7618         addition to s-oscons.ads.
7619
7620         * socket.c: On VMS, use s-oscons.h.
7621
7622         * sem_ch3.adb: Minor reformatting
7623
7624         * exp_ch9.adb: Minor reformatting
7625
7626 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7627
7628         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
7629         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
7630         (call_to_gnu): Likewise.
7631
7632 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7633
7634         * gcc-interface/trans.c (gigi): Declare the name of the compilation
7635         unit as the first global name at the very beginning.
7636
7637 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7638
7639         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7640         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
7641         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
7642         since HP-UX supports neither inet_aton nor inet_pton (altough the
7643         latter is part of the Single UNIX Specification!).
7644         So reorganize code, and share C implementation based on inet_addr(3)
7645         with VMS (instead of having a VMS specific Ada implementation in
7646         g-socthi-vms.adb).
7647
7648 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7649
7650         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
7651         to return the object file name saved by Set_Object_Output_File_Name.
7652
7653 2009-04-20  Emmanuel Briot  <briot@adacore.com>
7654
7655         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
7656         for the standard command line, when argc has been modified since the
7657         start of the application.
7658
7659 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7660
7661         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
7662         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
7663
7664 2009-04-20  Bob Duff  <duff@adacore.com>
7665
7666         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
7667         pragma Debug.
7668
7669 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7670
7671         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
7672         subprogram as Eliminated when source operation is.
7673         (Expand_N_Protected_Type_Declaration): Generate protected and
7674         unprotected specs for the internal operations, even if the source
7675         operation is eliminated.
7676
7677 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7678
7679         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
7680         Predefined_Primitive_Bodies): Do not create the declarations and bodies
7681         of the primitive subprograms associated with dispatching select
7682         statements when the runtime is in configurable mode.
7683
7684 2009-04-20  Ed Falis  <falis@adacore.com>
7685
7686         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
7687
7688 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7689
7690         * s-oscons-tmplt.c: Add support for generating a dummy version of
7691         s-oscons.ads providing all possible constants.
7692
7693         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
7694
7695         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
7696         ANSI version (not the UNICODE version) of WSAStringToAddress.
7697
7698 2009-04-20  Pascal Obry  <obry@adacore.com>
7699
7700         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
7701         allocated for the security descriptor and make sure all
7702         handles are closed before leaving this procedure.
7703
7704 2009-04-20  Javier Miranda  <miranda@adacore.com>
7705
7706         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
7707         (Set_Is_Underlying_Record_View): New subprogram
7708
7709         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
7710         private types with unknown discriminants use the underlying record view
7711         if available.
7712
7713         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
7714         underlying record view in the full view of private types whose parent
7715         has unknown discriminants.
7716         (Build_Derived_Record_Type): Avoid generating the class-wide entity
7717         associated with an underlying record view.
7718         (Derived_Type_Declaration): Avoid deriving parent primitives in
7719         underlying record views.
7720
7721         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
7722         records with unknown discriminants.
7723
7724         * sem_type.adb (Covers): Handle underlying record views.
7725         (Is_Ancestor): Add support for underlying record views.
7726
7727         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
7728         dispatching call if the type of the target object is tagged and has
7729         unknown discriminants.
7730
7731         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
7732         unknown discriminants.
7733
7734         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
7735         tables for internally built underlying record views.
7736
7737         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
7738         empty list of component associations.
7739
7740 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7741
7742         * sem_ch10.adb: Minor reformatting
7743
7744         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7745         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
7746         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
7747         standard inet_pton API (and emulate it on platforms that do not
7748         support it).
7749         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
7750         DECC$INET_ADDR, imported in Ada.
7751         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
7752         implementation provided by GNAT runtime.
7753         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
7754         Windows.
7755
7756 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7757
7758         * gnat_ugn.texi: Add documentation for -fno-ivopts.
7759
7760 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7761
7762         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
7763         with_clause if it is the main unit.
7764
7765 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7766
7767         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
7768         (no behaviour change): Use Append instead of Increment_Last followed
7769         by assignment.
7770
7771 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7772
7773         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
7774         declarations of all primitives associated with dispatching asynchronous,
7775         conditional and timed selects when dispaching calls are forbidden and
7776         select statements are not allowed (such as in Ravenscar).
7777         (Predefined_Primitive_Bodies): Ditto for bodies.
7778
7779         * exp_disp.ad (Make_DT): Do not create and populate the
7780         Select_Specific_Data of the dispatch table when dispatching calls are
7781         forbidden and select statements are not allowed (such as in Ravenscar).
7782
7783 2009-04-20  Robert Dewar  <dewar@adacore.com>
7784
7785         * a-tifiio.adb: Minor reformatting
7786
7787 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7788
7789         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
7790         other C library functions, report *failure* with a zero status, and
7791         success with a non-zero status.
7792
7793 2009-04-20  Bob Duff  <duff@adacore.com>
7794
7795         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
7796         (Semantics): After analyzing each unit, Append it to the
7797         Comp_Unit_List, if appropriate.
7798
7799         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
7800         purposes.
7801         (Gnat1drv): Correct comment regarding Back_End_Mode.
7802
7803 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7804
7805         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
7806
7807 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7808
7809         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
7810         output.adb, output.ads, s-taprop-hpux-dce.adb,
7811         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
7812         reformatting.
7813
7814 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7815
7816         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
7817         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
7818         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
7819         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
7820         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
7821         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
7822
7823         * debug.adb: Fix typo
7824
7825         * gnat_rm.texi: Minor doc fix.
7826
7827         * sem_ch7.adb, freeze.adb: Minor reformatting
7828
7829 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7830
7831         * g-socket.ads: Add new constants:
7832           Loopback_Inet_Addr
7833           Unspecified_Group_Inet_Addr
7834           All_Hosts_Group_Inet_Addr
7835           All_Routers_Group_Inet_Addr
7836
7837         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
7838         ERANGE (Result too large).
7839         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
7840         propagation of errno to caller.
7841
7842 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7843
7844         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
7845         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
7846         Leap_Second_Times.
7847
7848 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7849
7850         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
7851         checking for references to eliminated subprograms that should be
7852         flagged.
7853         (Eliminate_Error_Message): Update comment to say "references" rather
7854         than "calls" (since attribute cases are handled here as well).
7855
7856         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
7857         checking for references to eliminated subprograms that should be
7858         flagged.  Add with and use of Sem and Sem_Util.
7859
7860         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
7861         Add with and use of Sem_Elim.
7862
7863         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
7864         applied to eliminated subprograms.
7865         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
7866         eliminated subprograms.
7867         Add with and use of Sem_Elim.
7868
7869         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
7870         to eliminated subprograms, now handled during Resolve_Call.
7871         Remove with and use of Sem_Elim.
7872
7873         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
7874         testing Is_Eliminated, for proper handling of primitive derived from
7875         eliminated subprograms.
7876
7877 2009-04-20  Vincent Celier  <celier@adacore.com>
7878
7879         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
7880         has been declared (Library_GCC or Linker'Driver), for the driver name.
7881
7882         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
7883         Linker'Driver is, use Linker'Driver as the shared library linker.
7884         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
7885         Library_GCC is declared.
7886         (Check_Library_Attributes): Set up the shared linker driver: either
7887         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
7888         declared.
7889
7890 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7891
7892         * g-socket.ads (Send_Socket): Fix misleading comment.
7893
7894 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7895
7896         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
7897         ASIS mode.
7898
7899 2009-04-20  Geert Bosch  <bosch@adacore.com>
7900
7901         * a-tifiio.adb (Put): Avoid generating too many digits for certain
7902         fixed types with smalls that are neither integer or the reciprocal
7903         of an integer.
7904
7905 2009-04-20  Bob Duff  <duff@adacore.com>
7906
7907         * uname.ads: Minor comment fix.
7908
7909         * types.ads: Minor comment fix.
7910
7911 2009-04-20  Pascal Obry  <obry@adacore.com>
7912
7913         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
7914         avoid warning. At the same time fix a memory leak.
7915
7916         * osint.adb (Get_Libraries_From_Registry): Properly free memory
7917         returned by the above routine.
7918
7919 2009-04-20  Robert Dewar  <dewar@adacore.com>
7920
7921         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
7922         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
7923         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
7924         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
7925
7926         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
7927
7928 2009-04-20  Pascal Obry  <obry@adacore.com>
7929
7930         * initialize.c (__gnat_initialize): Add braces to kill warning.
7931
7932         * adaint.c: Minor reformatting, remove trailing spaces.
7933
7934 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
7935
7936         * gcc-interface/Make-lang.in: Update dependencies.
7937
7938 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7939
7940         * adaint.h (__gnat_lwp_self): Declare on Linux.
7941
7942         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
7943
7944 2009-04-20  Robert Dewar  <dewar@adacore.com>
7945
7946         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
7947         front-end part of -fpreserve-control-flow switch.
7948
7949 2009-04-20  Bob Duff  <duff@adacore.com>
7950
7951         * rtsfind.adb: Minor comment fix
7952
7953 2009-04-20  Robert Dewar  <dewar@adacore.com>
7954
7955         * exp_aggr.adb: Minor reformatting
7956         Minor code reorganization (use Nkind_In)
7957
7958         * g-socket.adb: Minor reformatting
7959
7960         * g-socket.ads: Minor comment fix
7961
7962         * s-auxdec.ads: Minor comment and organization update.
7963
7964         * s-auxdec-vms_64.ads: Minor comment and organization update.
7965
7966         * sem_ch10.adb: Minor addition of ??? comment
7967
7968         * sem_disp.adb: Minor reformatting
7969
7970 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7971
7972         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
7973         list a caller of an inlined subprogram, if the caller itself is not
7974         called.
7975
7976 2009-04-20  Pascal Obry  <obry@adacore.com>
7977
7978         * adaint.c: Disable use of ACL on network drives.
7979
7980 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7981
7982         * gnat_ugn.texi: Add examples.
7983
7984 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7985
7986         * g-socket.ads (Abort_Selector): Clarify documentation.
7987
7988 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7989
7990         * opt.ads (Inspector_Mode): Update documentation of this flag.
7991
7992 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7993
7994         * g-socket.ads: Minor reformatting
7995
7996         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
7997         consider S_resolvLib error codes since we only use the hostLib wrappers.
7998
7999 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
8000
8001         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
8002         of the Underlying_Record_View after that of the derived type.
8003
8004 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
8005
8006         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
8007         in inspector mode.
8008
8009 2009-04-20  Javier Miranda  <miranda@adacore.com>
8010
8011         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
8012
8013         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
8014         documentation.
8015
8016         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
8017
8018         * sem_disp.adb
8019         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
8020         in internally built overriding subprograms.
8021
8022 2009-04-20  Doug Rupp  <rupp@adacore.com>
8023
8024         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
8025
8026         * s-auxdec.ads: Likewise
8027
8028 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
8029
8030         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
8031         type by an interface.
8032
8033         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
8034         minimze difference in expanded tree when compiled as spec of the main
8035         unit, or as a spec in the context of another unit.
8036
8037 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
8038
8039         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
8040         (localtime_tzoff): This routine no longer accepts an actual of type
8041         tm_Pointer.
8042         (UTC_Time_Offset): Remove local variable Secs_TM.
8043
8044         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
8045         actual of type struct tm*. Add local variable of type struct tm for all
8046         targets that provide localtime_r and need to invoke it.
8047
8048 2009-04-20  Thomas Quinot  <quinot@adacore.com>
8049
8050         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
8051         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
8052         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
8053
8054 2009-04-20  Robert Dewar  <dewar@adacore.com>
8055
8056         * sem_ch3.adb: Minor reformatting
8057
8058         * lib-load.adb: Minor reformatting
8059
8060         * sem_ch4.adb: Minor reformatting
8061
8062 2009-04-20  Robert Dewar  <dewar@adacore.com>
8063
8064         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
8065         (equal values => False).
8066
8067 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
8068
8069         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
8070         to null procedures can be inlined unconditionally.
8071
8072 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
8073
8074         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
8075         non-addressable parameter passed by reference, do not convert the
8076         actual if its type is already the nominal type, unless it is of
8077         self-referential size.
8078
8079 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
8080
8081         * gnat_ugn.texi: Fix typos.
8082
8083 2009-04-20  Robert Dewar  <dewar@adacore.com>
8084
8085         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
8086         Validate_Unchecked_Warnings to suppress warnings about size or
8087         alignment or extra bits if either type involved has pragma Warnings
8088         (Off) set for the type entity.
8089
8090 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
8091
8092         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
8093         a builtin type and give it a name.
8094
8095 2009-04-17  Diego Novillo  <dnovillo@google.com>
8096
8097         * gcc-interface/misc.c (gnat_expand_expr): Remove.
8098         (LANG_HOOKS_EXPAND_EXPR): Remove.
8099
8100 2009-04-17  Robert Dewar  <dewar@adacore.com>
8101
8102         * sem_ch3.adb: Minor reformatting
8103
8104 2009-04-17  Pascal Obry  <obry@adacore.com>
8105
8106         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
8107
8108 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8109
8110         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
8111         illegal constraints on type derived from formal discrete types.
8112
8113 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8114
8115         PR ada/35953
8116
8117         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
8118         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
8119         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
8120         g-socket.ads (GNAT.Sockets.Thin.C_Send,
8121         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
8122         Replace calls to send(2) with equivalent sendto(2) calls.
8123         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
8124         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
8125         report an error in that case. Factor code common to the two versions
8126         (datagram and stream) in common routine Stream_Write.
8127
8128 2009-04-17  Robert Dewar  <dewar@adacore.com>
8129
8130         * exp_disp.adb: Minor reformatting
8131         Minor code reorganization (use Nkind_In)
8132
8133         * prepcomp.adb: Minor reformatting
8134
8135         * sem_ch3.adb: Minor reformatting
8136
8137         * sem_res.adb: Minor comment addition
8138
8139         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
8140         for address clause
8141
8142         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
8143         setting Is_Referenced
8144
8145         * types.ads: Minor reformatting
8146
8147 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8148
8149         * gnat_ugn.texi: Initial documentation on binding generator.
8150
8151 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8152
8153         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
8154         type extensions whose parent is a type with unknown discriminants.
8155
8156         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
8157         aggregate has unknown discriminants, use the Underlying_Record_View to
8158         obtain the discriminants of the ancestor part.
8159
8160         * exp_disp.adb (Build_Dispatch_Tables): Types that are
8161         Underlying_Record_Views share the dispatching information of the
8162         original record extension.
8163
8164         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
8165         discriminants, propagate dispach table information to the
8166         Underlying_Record_View.
8167
8168         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
8169         discriminants and declaration is not a completion, generate
8170         Underlying_Record_View to provide proper discriminant information to
8171         the front-end and to gigi.
8172
8173 2009-04-17  Robert Dewar  <dewar@adacore.com>
8174
8175         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
8176         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
8177         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
8178         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
8179         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
8180         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
8181         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
8182         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
8183         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
8184         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
8185         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
8186         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
8187         s-conca3.ads: Remove unneeded pragma Warnings
8188
8189 2009-04-17  Robert Dewar  <dewar@adacore.com>
8190
8191         * g-moreex.adb: Add comments.
8192
8193         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
8194
8195         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
8196         Warnings (Off)
8197
8198         * prepcomp.adb: Add ??? comment
8199
8200         * a-tasatt.adb: Minor reformatting
8201
8202         * g-trasym-vms-alpha.adb: Add ??? comment
8203
8204         * g-trasym-vms-ia64.adb: Add ??? comment
8205
8206         * xoscons.adb: Minor reformatting
8207
8208         * s-tassta.adb: Minor reformatting
8209
8210         * s-scaval.adb: Add ??? comment
8211
8212         * stand.ads: Minor code clean up (remove junk with of Namet)
8213
8214         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
8215         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
8216         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
8217         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
8218         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
8219         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
8220         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
8221         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
8222         Warnings off pragmas.
8223
8224 2009-04-17  Pascal Obry  <obry@adacore.com>
8225
8226         * initialize.c: Fix test for reallocating the arguments array.
8227
8228 2009-04-17  Geert Bosch  <bosch@adacore.com>
8229
8230         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
8231         conversion truncate only for decimal fixed point types.
8232
8233 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
8234
8235         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
8236         reinitialized.
8237
8238 2009-04-17  Robert Dewar  <dewar@adacore.com>
8239
8240         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
8241         Backwards_OK if either operand has an address clause.
8242
8243 2009-04-17  Pascal Obry  <obry@adacore.com>
8244
8245         * initialize.c: Code clean up, use realloc.
8246
8247 2009-04-17  Pascal Obry  <obry@adacore.com>
8248
8249         * initialize.c: Do not get Unicode command line if Unicode support not
8250         activated.
8251         Add support for wildcard expansion for Unicode parameters on Win32.
8252
8253         * mingw32.h: Add missing macros when Unicode support not activated.
8254
8255 2009-04-17  Javier Miranda  <miranda@adacore.com>
8256
8257         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
8258         avoid generating code that references the Current_Master
8259         when compiling without tasks.
8260
8261 2009-04-17  Vincent Celier  <celier@adacore.com>
8262
8263         * prj-attr.adb: New project level attribute Target
8264         
8265         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
8266         attribute Target
8267         
8268         * prj.ads (Project_Configuration): New component Target
8269
8270 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8271
8272         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
8273         case for the case of an aggregate component, the attach call for the
8274         result is actually needed.
8275
8276         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
8277         an array aggregate must be disabled if the component type requires
8278         controlled actions.
8279
8280         * exp_ch3.adb: Minor reformatting
8281
8282 2009-04-17  Bob Duff  <duff@adacore.com>
8283
8284         * output.ads (Indent,Outdent): New procedures for indenting the output.
8285         (Write_Char): Correct comment -- LF _is_ allowed.
8286
8287         * output.adb (Indent,Outdent): New procedures for indenting the output.
8288         Keep track of the indentation level, and make sure it doesn't get too
8289         high.
8290         (Flush_Buffer): Insert spaces at the beginning of each line, if
8291         indentation level is nonzero.
8292         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
8293         indentation level.
8294         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
8295         "Next_Col := 1;".  Flush_Buffer does that.
8296
8297         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
8298         controlled by the -gnatdc switch. It now occurs on entry/exit to the
8299         relevant analysis routines, and calls Indent/Outdent to make the
8300         indentation reflect the nesting level.  Add "helper" routines, since
8301         otherwise lots of "return;" statements would skip the debugging output.
8302
8303 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8304
8305         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
8306         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
8307         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
8308
8309 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8310
8311         * exp_aggr.adb: Minor code reorganization, no behaviour change.
8312
8313 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8314
8315         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
8316         clause in a unit that is a package body or a subunit, when the previous
8317         clause appears in a spec or a parent.
8318
8319 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8320
8321         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
8322
8323         * exp_ch7.adb: Minor reformatting
8324
8325 2009-04-17  Bob Duff  <duff@adacore.com>
8326
8327         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
8328         allocator, check that the expression of the qualified expression obeys
8329         the constraints of the subtype of the qualified expression.
8330
8331 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8332
8333         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
8334
8335 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8336
8337         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
8338         aggregate, using context imposed by subtype mark in allocator.
8339
8340 2009-04-17  Pascal Obry  <obry@adacore.com>
8341
8342         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
8343
8344 2009-04-17  Nicolas Roche  <roche@adacore.com>
8345
8346         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
8347         argument length.
8348
8349 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
8350
8351         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
8352         cover both calls and attribute references ("call" => "reference").
8353
8354 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8355
8356         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
8357         type for which Storage_Size is set to 0 is legal in a pure unit.
8358
8359 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8360
8361         * exp_ch7.adb: Minor reformatting
8362
8363 2009-04-17  Robert Dewar  <dewar@adacore.com>
8364
8365         * restrict.adb (Check_Restriction_No_Dependence): Don't check
8366         restriction if outside main extended source unit.
8367
8368         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
8369         for parents of child units as well as the child unit itself.
8370
8371 2009-04-17  Bob Duff  <duff@adacore.com>
8372
8373         * checks.ads: Minor comment fix
8374
8375         * exp_aggr.ads: Minor comment fix
8376
8377 2009-04-17  Nicolas Roche  <roche@adacore.com>
8378
8379         * adaint.c: Improve cross compiler detection and handling.
8380
8381 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
8382
8383         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
8384
8385 2009-04-17  Pascal Obry  <obry@adacore.com>
8386
8387         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
8388         CurrentCodePage.
8389
8390         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
8391         value when no encoding form paramter is set on Text_IO services.
8392
8393         * adaint.c: CurrentCodePage new variable on Windows.
8394         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8395         ones.
8396
8397         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8398         ones.
8399
8400         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
8401         environment variable value. Default is UTF-8.
8402
8403         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
8404         fopen and freopen encoding parameter is now set to Unspecified.
8405         The default value is in this case UTF-8 (as it was before) but
8406         use the new macros that convert to/from the code page set
8407         at runtime (CurrentCodePage).
8408
8409         * s-fileio.adb: When no encoding specified use Unspecified value.
8410
8411 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8412
8413         * atree.adb, atree.ads: Remove dead code.
8414
8415 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8416
8417         * gcc-interface/Make-lang.in: Update dependencies.
8418
8419 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8420
8421         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
8422         illegal uses of incomplete types in formal parts and return types.
8423
8424         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
8425         access to subprograms.
8426
8427         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
8428         Taft-amendment types as the return type of an access_to_function type.
8429
8430         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8431         type for access_to_subprograms. The check is performed on package exit.
8432
8433 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8434
8435         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
8436
8437         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
8438         
8439         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
8440
8441         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
8442         semantic units, because the handling of itypes in the copied tree
8443         requires semantic information that does not belong in atree.
8444
8445 2009-04-17  Robert Dewar  <dewar@adacore.com>
8446
8447         * par-ch6.adb: Minor reformatting
8448
8449         * prj.adb: Minor reformatting
8450
8451 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
8452
8453         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
8454         on protected subprogram bodies, so exclude the case where Pf_Flags is
8455         Pf_Decl_Pbod from the error check.
8456
8457         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
8458         indicators on subprograms in protected bodies, and proceed with parsing
8459         the subprogram.
8460
8461         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
8462         subprograms from the check for primitiveness on subprograms with
8463         overriding indicators.
8464         (Check_Overriding_Indicator): Include protected subprograms in the
8465         style check for missing overriding indicators.
8466
8467 2009-04-17  Tristan Gingold  <gingold@adacore.com>
8468
8469         * init.c: Fix stack checking for x86 Darwin.
8470
8471 2009-04-17  Vincent Celier  <celier@adacore.com>
8472
8473         * prj-attr.adb: New project level attribute Object_File_Suffix
8474         (<language>).
8475         
8476         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
8477         object file name
8478         (Process_Compiler): Process attribute Object_File_Suffix
8479
8480         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
8481         platform suffix, when specified.
8482
8483         * prj.ads (Language_Config): New component Object_File_Suffix,
8484         defaulted to No_Name.
8485         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
8486
8487         * snames.ads-tmpl: New standard name Object_File_Suffix
8488
8489 2009-04-17  Robert Dewar  <dewar@adacore.com>
8490
8491         * gnat_rm.texi: Add documentation about No_Streams restriction
8492
8493         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
8494         attributes when checking No_Streams restriction.
8495
8496 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8497
8498         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
8499
8500         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
8501         missing calls to RE_Request_Destroy to deallocate request objects after
8502         use.
8503
8504 2009-04-17  Nicolas Setton  <setton@adacore.com>
8505
8506         * link.c: Fix support for passing a response file under Darwin.
8507
8508 2009-04-17  Emmanuel Briot  <briot@adacore.com>
8509
8510         * prj.adb (Free): new subprogram.
8511
8512 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8513
8514         * sem_ch3.adb: additional initialization on incomplete subtypes.
8515         
8516         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
8517         part and one of the formals is an incomplete tagged type, attach to
8518         list of private dependends of the type for later validation.
8519
8520         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
8521         primitive operations of a Taft-amendmment type.
8522
8523         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8524         type. The check is performed on package exit, possibly after the
8525         subprogram is frozen.
8526
8527 2009-04-17  Vincent Celier  <celier@adacore.com>
8528
8529         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
8530         before looking for source directories, but make sure that there are nil
8531         if they are not explicitely declared and there is explicitely no
8532         sources in the project.
8533
8534 2009-04-17  Pascal Obry  <obry@adacore.com>
8535
8536         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
8537
8538         * init.c: Fix minor typo and style fix.
8539
8540 2009-04-17  Robert Dewar  <dewar@adacore.com>
8541
8542         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
8543
8544         * sem_attr.adb (Analyze_Attribute, case Address): Use
8545         PE_Address_Of_Intrinsic.
8546
8547         * types.ads: Add PE_Address_Of_Intrinsic
8548
8549         * types.h: Add PE_Address_Of_Intrinsic
8550
8551 2009-04-17  Nicolas Setton  <setton@adacore.com>
8552
8553         * gcc-interface/Makefile.in: Under darwin, build shared libraries
8554         with install_name starting with "@rpath/".
8555
8556 2009-04-17  Nicolas Setton  <setton@adacore.com>
8557
8558         * link.c: Add darwin section
8559
8560 2009-04-16  Robert Dewar  <dewar@adacore.com>
8561
8562         * g-pehage.adb: Minor reformatting
8563
8564         * sem_ch12.adb: Minor reformatting
8565
8566         * exp_dist.adb: Minor reformatting
8567
8568         * bindgen.adb: Minor style fixes.
8569
8570 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8571
8572         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
8573         indexed components to the case where the prefix is a static string
8574         literal.
8575
8576 2009-04-16  Javier Miranda  <miranda@adacore.com>
8577
8578         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
8579         objects avoid any further expansion of the expression initializing the
8580         object.
8581
8582 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8583
8584         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
8585         that hides an outer homograph, make that homograph invisible when
8586         analyzing the actuals, to to prevent illegal direct visibility on it.
8587
8588 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8589
8590         * g-pehage.adb (Initialize): Fix off-by-one error.
8591
8592 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8593
8594         * init.c: Detect real stack overflow on Darwin.
8595
8596         * system-darwin-x86.ads: Use stack probing on darwin x86.
8597
8598 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8599
8600         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
8601         take the address of an intrinsic subprogram.
8602
8603 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8604
8605         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
8606         for the targets where GNAT.Traceback.Symbolic is not supported.
8607
8608 2009-04-16  Vincent Celier  <celier@adacore.com>
8609
8610         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
8611
8612         * g-trasym.ads: Update comments.
8613
8614 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8615
8616         * tracebak.c (STOP_FRAME): Verify validity of the current address
8617         before dereferencing.
8618
8619 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8620
8621         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
8622         the original location of the index expressions and the index subtypes,
8623         to prevent spurious out-of-scope references in gigi.
8624
8625 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8626
8627         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
8628         Add support for stack checking on darwin.
8629
8630 2009-04-16  Vincent Celier  <celier@adacore.com>
8631
8632         * prj-attr.adb: New attribute Runtime_Source_Dir
8633
8634         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
8635         attribute Runtime_Source_Dir.
8636         (Check_Naming_Schemes): Give default values to out parameters to avoid
8637         invalid data.
8638
8639         * prj.ads (Language_Config): New component Runtime_Source_Dir
8640
8641         * snames.ads-tmpl: New standard name Runtime_Source_Dir
8642
8643 2009-04-16  Pascal Obry  <obry@adacore.com>
8644
8645         * adaint.h, adaint.c (__gnat_rmdir): New routine.
8646         Simple wrapper routines used to convert to proper encoding on
8647         Windows.
8648
8649         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
8650
8651         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
8652         twice.
8653
8654 2009-04-16  Pascal Obry  <obry@adacore.com>
8655
8656         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
8657
8658 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8659
8660         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
8661         integrated preprocessor.
8662
8663         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
8664         (Initialize): Split into two subprograms, Initialize (to be called
8665         prior to compiler command line processing) and Setup_Hooks (to be called
8666         later on when the first source file is loaded).
8667
8668         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
8669         Add call to Prep.Initialize.
8670
8671         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
8672         to Prep.Setup_Hooks.
8673
8674 2009-04-16  Pascal Obry  <obry@adacore.com>
8675
8676         * adaint.h, adaint.c (__gnat_chdir): New routine.
8677         Simple wrapper routines used to convert to proper encoding on
8678         Windows.
8679
8680         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
8681
8682         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
8683
8684 2009-04-16  Quentin Ochem  <ochem@adacore.com>
8685
8686         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
8687         of Source.Init.
8688
8689 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8690
8691         * a-convec.ads (Is_Empty): Mark inline.
8692
8693 2009-04-16  Nicolas Roche  <roche@adacore.com>
8694
8695         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
8696
8697 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8698
8699         * prepcomp.adb: Minor reformatting
8700
8701 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8702
8703         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
8704         Access_Subprogram types can also be imported.
8705         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
8706         names.
8707
8708 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8709
8710         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
8711         preserve homonym chain when the declaration is rewritten into a
8712         renaming declaration, in order to preserve visibility structure.
8713
8714 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8715
8716         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
8717         taken into account for VM targets.
8718
8719 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8720
8721         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
8722         Year_Week_In_Year.
8723         (Year_Week_In_Year): New routine which contains the original code from
8724         Week_In_Year. Add the missing special case for January 1st falling on
8725         a Monday.
8726
8727 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8728
8729         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
8730         actual type, use the base type to build the To_Any function.
8731         (Build_From_Any_Function): Remove junk, useless subtype conversion.
8732
8733 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8734
8735         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
8736         restrict.adb: Minor code reorganization (use
8737         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
8738
8739 2009-04-16  Bob Duff  <duff@adacore.com>
8740
8741         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
8742         unused.
8743
8744 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8745
8746         * sem_ch4.adb: Minor reformatting
8747
8748         * adaint.c: Remove junk duplicated code.
8749
8750         * sem_ch3.adb: Minor reformatting
8751
8752         * exp_dist.adb: Minor comment rewording
8753
8754 2009-04-16  Robert Dewar  <dewar@adacore.com>
8755
8756         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
8757         used together.
8758
8759 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8760
8761         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
8762         usable before calling Add_One_Interp, to resolve spurious ambiguities.
8763
8764 2009-04-16  Robert Dewar  <dewar@adacore.com>
8765
8766         * Make-lang.in: Add entries for s-conca?.o
8767
8768         * Makefile.rtl: Add entries for s-conca?
8769
8770         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
8771         of concatenation expansion
8772
8773         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
8774         string cases instead of expanding assignments inline.
8775
8776         * opt.ads (Optimize_Size): New flag
8777
8778         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
8779         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
8780         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
8781         s-conca9.adb, s-conca9.ads: New file.
8782
8783 2009-04-16  Robert Dewar  <dewar@adacore.com>
8784
8785         * exp_ch6.adb: Add comments
8786
8787         * rtsfind.ads: Add entries for s-conca? routines
8788
8789 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8790
8791         * gcc-interface/Make-lang.in: Update dependencies.
8792
8793         * gcc-interface/Makefile.in: Update translation for vms.
8794
8795 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8796
8797         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
8798         and made global, to be used when installing parents of a child
8799         instance, to provide mappings for entities declared in formal packages
8800         of ancestor units. Now called from Install_Formal_Packages.
8801
8802 2009-04-16  Doug Rupp  <rupp@adacore.com>
8803
8804         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
8805         notation for clarity.
8806
8807         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
8808         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
8809         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
8810         (Initialize): Initialize Known_Tasks with Environment task.
8811
8812         * s-taskin.ads (Task_States): Move new states to end for the sake of
8813         GDB compatibility.
8814
8815         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
8816
8817 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8818
8819         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
8820         operation has an inline pragma, propagate the flag to the internal
8821         unprotected subprogram.
8822
8823 2009-04-16  Doug Rupp  <rupp@adacore.com>
8824
8825         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
8826         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
8827         s-taprop-hpux-dce.adb, s-taprop-posix.adb
8828         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
8829
8830         * s-taprop-vms.adb (Enter_Task): Likewise.
8831         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
8832
8833         * s-tassta.adb (Activate_Tasks): After task creation set state to
8834         Activating, vice Runnable. Initialize Known_Tasks, moved here from
8835         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
8836         Set state to Runnable after above.
8837         (Task_Wrapper): Set Debug_Event_Run. In exception block set
8838         Debug_Event_Terminated.
8839
8840         * s-taskin.ads (Task_States): Add new states Activiting and
8841         Activator_Delay_Sleep.
8842         (Bit_Array, Debug_Event_Array): New types.
8843         (Global_Task_Debug_Event_Set: New flag.
8844         (Common_ATCB): New field Debug_Events.
8845
8846         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
8847
8848         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
8849         Activator_Sleep.
8850
8851         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
8852         Activating and when Acceptor_Delay_Sleep.
8853
8854         * s-tasdeb.ads: Add constants for Debug_Events.
8855         (Debug_Event_Kind_Type): New subtype.
8856         (Signal_Debug_Event): New subprogram.
8857
8858         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
8859
8860 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8861
8862         * sem_elim.adb: Minor reformatting
8863
8864         * freeze.adb: Minor reformatting
8865
8866         * exp_ch4.adb: Minor reformatting
8867
8868 2009-04-16  Emmanuel Briot  <briot@adacore.com>
8869
8870         * prj-nmsc.adb (Path_Name_Of): fix memory leak
8871
8872 2009-04-16  Robert Dewar  <dewar@adacore.com>
8873
8874         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
8875
8876 2009-04-16  Vincent Celier  <celier@adacore.com>
8877
8878         * fmap.adb (Initialize): Show the current line when the mapping file
8879         is detected as "incorrectly formatted".
8880
8881 2009-04-16  Robert Dewar  <dewar@adacore.com>
8882
8883         * sem_ch12.adb: Minor reformatting
8884
8885         * sem_ch5.adb: Minor comment addition
8886
8887         * sem_util.adb: Minor reformatting
8888
8889         * sinput-p.adb: Minor reformatting
8890         Add missing pragma Warnings (On)
8891
8892 2009-04-16  Ed Falis  <falis@adacore.com>
8893
8894         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
8895
8896 2009-04-16  Vincent Celier  <celier@adacore.com>
8897
8898         * ali-util.adb: Minor comment spelling error fix
8899
8900 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8901
8902         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
8903         generate an assignment loop in case of overlap.
8904
8905 2009-04-16  Olivier Hainque  <hainque@adacore.com>
8906
8907         * gnat_ugn.texi (gnatmem description): Make it explicit that
8908         gnatmem is designed to work in association with static runtime
8909         library only.
8910
8911 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8912
8913         * sem_type.adb: Minor reformatting
8914
8915 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8916
8917         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
8918         concerning return codes of gettimeofday and return value check.
8919
8920 2009-04-16  Ed Falis  <falis@adacore.com>
8921
8922         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
8923         body can be renaming of imported routines.
8924
8925 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8926
8927         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
8928         targeted fashion.
8929
8930 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8931
8932         * exp_ch9.adb: Comment improvements.
8933         (Build_Entry_Family_Name): Add parentheses around the index of a entry
8934         family member.
8935
8936 2009-04-15  Bob Duff  <duff@adacore.com>
8937
8938         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
8939         "while X /= null loop" where X is unchanged inside the loop. We were
8940         not warning in this case, because of the pointers -- we feared that the
8941         loop variable could be updated via a pointer, if there are any pointers
8942         around the place. But that is impossible in this case.
8943
8944         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
8945         the case of dereferences. In X.all, X cannot be an l-value. We now
8946         catch that case (and implicit dereferences, too).
8947
8948 2009-04-15  Vincent Celier  <celier@adacore.com>
8949
8950         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
8951
8952 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8953
8954         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
8955         From code reading.
8956         (Analyze_Package_Instantiation): If generic unit in child instance is
8957         the same as generic unit in parent instance, look for an outer homonym
8958         to locate the desired generic.
8959
8960 2009-04-15  Bob Duff  <duff@adacore.com>
8961
8962         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
8963         warnings unless the loop comes from source, because checking generated
8964         loops is a waste of time, and makes it harder to debug
8965         Check_Infinite_Loop_Warning.
8966
8967         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
8968         tested in the while loop is a renaming, do not warn. Otherwise, we get
8969         false alarms, because it's usually renaming something that we can't
8970         deal with (an indexed component, a global variable, ...).
8971
8972         * gnat_rm.texi: Fix typo
8973
8974 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8975
8976         * sem_ch6.adb: Minor reformatting
8977
8978 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8979
8980         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
8981         immediate parent of the controlled function call is a component
8982         association.
8983
8984 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8985
8986         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
8987         corresponding class-wide type is also in use.
8988
8989 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8990
8991         * frontend.adb: Minor comment fix
8992
8993 2009-04-15  Robert Dewar  <dewar@adacore.com>
8994
8995         * gnatchop.adb (BOM_Length): New global variable
8996         (Write_Unit): Add new parameter Write_BOM
8997         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
8998         to Write_Unit
8999
9000         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
9001
9002 2009-04-15  Geert Bosch  <bosch@adacore.com>
9003
9004         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
9005         (Backend_Overflow_Checks): Set to True.
9006
9007 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
9008
9009         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
9010         keyword is given in a record extension.
9011
9012 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9013
9014         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
9015         of a controlled function call in the context of a record aggregate.
9016         This does not apply to array aggregates since the call will be expanded
9017         into assignments.
9018
9019 2009-04-15  Ed Falis  <falis@adacore.com>
9020
9021         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
9022         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
9023         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
9024         s-osinte-vxworks* and s-vxwext*.
9025
9026 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9027
9028         * gcc-interface/Make-lang.in: Update dependencies.
9029
9030         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
9031         and s-vxwext*.
9032
9033 2009-04-15  Robert Dewar  <dewar@adacore.com>
9034
9035         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
9036         of node for location for warning messages.
9037
9038         * gnatchop.adb: Minor reformatting
9039
9040 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9041
9042         * exp_ch6.adb: additional guard for renaming declarations for in
9043         parameters of an array type.
9044
9045 2009-04-15  Robert Dewar  <dewar@adacore.com>
9046
9047         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
9048         in case they were rewritten by expander (Force_Evaluation).
9049
9050         * targparm.adb (Get_Target_Parameters): Correct check for
9051         Suppress_Exception_Locations.
9052
9053 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9054
9055         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
9056         inlined  is of an array type that is not bit-packed, use a renaming
9057         declaration to capture its value, rather than a constant declaration.
9058
9059 2009-04-15  Robert Dewar  <dewar@adacore.com>
9060
9061         * rtsfind.adb: Minor reformatting.
9062
9063 2009-04-15  Emmanuel Briot  <briot@adacore.com>
9064
9065         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
9066         Restore, and free the saved context.
9067
9068 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
9069
9070         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
9071         for illegal private extension from a synchronized interface parent in
9072         front of check for illegal limited extension so that limited extension
9073         from a synchronized interface will be rejected.
9074         (Check_Ifaces): Check that a private extension that has a synchronized
9075         interface as a progenitor must be explicitly declared synchronized.
9076         Also check that a record extension cannot derive from a synchronized
9077         interface.
9078
9079 2009-04-15  Pascal Obry  <obry@adacore.com>
9080
9081         * adaint.h (__gnat_unlink): Add spec.
9082         (__gnat_rename): Likewise.
9083
9084 2009-04-15  Vincent Celier  <celier@adacore.com>
9085
9086         * prj-nmsc.adb: Minor spelling error corrections in error messages
9087
9088 2009-04-15  Robert Dewar  <dewar@adacore.com>
9089
9090         * sinfo.ads: Minor comment update
9091
9092         * opt.ads: Minor comment updates
9093
9094         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
9095         modular type.
9096
9097 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9098
9099         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
9100         that generates the code needed to update a dispatch table when a
9101         primitive operation is declared with a subprogram body without previous
9102         spec. Insertion of the generated code is responsibility of the caller.
9103         (Make_DT): When building static tables, append the code created by
9104         Register_Primitive to update a secondary table after it has been
9105         constructed.
9106
9107         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
9108
9109         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
9110         on an overriding operation that implements an interface operation only
9111         if not building static dispatch tables.
9112
9113 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9114
9115         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
9116         does not cause overflow when converted to Duration. Use the safe value
9117         as the maximum allowable time delay..
9118
9119 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
9120
9121         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
9122         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
9123         translated to "-j 2".
9124
9125 2009-04-15  Bob Duff  <duff@adacore.com>
9126
9127         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
9128         with_clauses, to avoid code duplication. Change this processing so we
9129         always add a with_clause on the main unit if needed.
9130
9131 2009-04-15  Pascal Obry  <obry@adacore.com>
9132
9133         Add support for Win32 native encoding for delete/rename routines.
9134         
9135         * adaint.c (__gnat_unlink): New routine.
9136         (__gnat_rename): New routine.
9137         Simple wrapper routines used to convert to proper encoding on
9138         Windows.
9139
9140         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
9141         call to the C library.
9142
9143         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
9144
9145 2009-04-15  Robert Dewar  <dewar@adacore.com>
9146
9147         * s-tassta.adb: Minor reformatting
9148
9149 2009-04-15  Robert Dewar  <dewar@adacore.com>
9150
9151         * frontend.adb (Frontend): Set proper default for
9152         Warn_On_Non_Local_Exception.
9153
9154         * opt.ads (Exception_Handler_Encountered): New flag
9155         (No_Warn_On_Non_Local_Exception): New flag
9156
9157         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
9158
9159         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
9160         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
9161
9162 2009-04-15  Cyrille Comar  <comar@adacore.com>
9163
9164         * s-tassta.adb, a-exextr.adb, a-elchha.adb
9165         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
9166         message when exception traces are active since it would generate
9167         redundant information.
9168         (Exception_Traces.Notify_Exception): put message output by a critical
9169         section to avoid unsynchronized output.
9170         (Trace_Unhandled_Exception_In_Task): put message output by a critical
9171         section to avoid unsynchronized output.
9172
9173 2009-04-15  Emmanuel Briot  <briot@adacore.com>
9174
9175         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
9176         (Free): New subprogram.
9177
9178 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9179
9180         * a-calend.adb: Add new constant Nanos_In_Four_Years.
9181         (Formatting_Operations.Time_Of): Change the way four year chunks of
9182         nanoseconds are added to the intermediate result.
9183
9184 2009-04-15  Nicolas Setton  <setton@adacore.com>
9185
9186         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
9187         does not need to wait for a carriage return.
9188
9189 2009-04-15  Tristan Gingold  <gingold@adacore.com>
9190
9191         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
9192         is set.
9193
9194 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9195
9196         * freeze.adb (Freeze_Entity): improve error message for improper use of
9197         incomplete types.
9198         Diagnose additional illegal uses of incomplete types in formal parts.
9199         appearing in formal parts.
9200
9201         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
9202
9203 2009-04-15  Robert Dewar  <dewar@adacore.com>
9204
9205         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
9206
9207 2009-04-15  Nicolas Roche  <roche@adacore.com>
9208
9209         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
9210         current thread.
9211
9212         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
9213
9214         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
9215
9216 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9217
9218         * sem_ch4.adb: improve error message on exponentiation.
9219
9220 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9221
9222         * a-calend.adb: Move constant Epoch_Offset from package
9223         Conversion_Operations to top level.
9224         (Delay_Operations.To_Duration): Define a constant which represents
9225         "end of time" and use it as a guard against very distant delay dates.
9226         Protect the code against overflow when performing the origin shift to
9227         Unix time.
9228
9229 2009-04-15  Robert Dewar  <dewar@adacore.com>
9230
9231         * sem_prag.adb: Minor reformatting.
9232
9233         * sem_type.adb: Minor reformatting
9234
9235 2009-04-15  Javier Miranda  <miranda@adacore.com>
9236
9237         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
9238         support to check eliminated subprograms.
9239
9240         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
9241
9242         * sem_elim.adb (Set_Eliminated): Add support for elimination of
9243         dispatching subprograms.
9244
9245         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
9246         operations. Initialize with "null" the slots of eliminated dispaching
9247         primitives.
9248         (Write_DT): Add output for eliminated primitives.
9249
9250         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
9251
9252 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9253
9254         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
9255         the second is redundant, regardless of scopes.
9256
9257 2009-04-15  Vincent Celier  <celier@adacore.com>
9258
9259         * prj-nmsc.adb (Get_Directories): Check for sources before checking
9260         the object directory as when there are no sources, they may not be any
9261         object directory.
9262
9263         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
9264         directory, when there are no exec directory.
9265
9266 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9267
9268         * sem_type.adb (Remove_Conversions): In order to resolve spurious
9269         ambiguities, refine removal of universal interpretations from complex
9270         expressions with literal arguments, when some numeric operators have
9271         been declared abstract.
9272
9273 2009-04-15  Ed Falis  <falis@adacore.com>
9274
9275         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
9276         and backward compatibility for targets using probing for stack overflow
9277
9278 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9279
9280         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
9281         after any declaration, including renaming declarations.
9282
9283 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9284
9285         * gcc-interface/Make-lang.in: Update dependencies.
9286
9287         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
9288         Update xenomai target pairs.
9289
9290 2009-04-15  Javier Miranda  <miranda@adacore.com>
9291
9292         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
9293
9294         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
9295         functions returning anonymous access to class-wide limited types. Mark
9296         also the containing scope as a task master.
9297
9298         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
9299         limited-withed packages. Required to restore their visibility after
9300         processing packages associated with implicit with-clauses.
9301
9302         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
9303         associated with return statements because this work is now done by
9304         Check_Anonymous_Return.
9305         (Build_Master): Code cleanup.
9306
9307 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9308
9309         * sem_warn.ads: Minor reformatting
9310
9311 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9312
9313         * sem_ch3.adb: better error message for illegal interfaces
9314
9315         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
9316         formal is an incomplete type from a limited_with clause.
9317
9318 2009-04-15  Vincent Celier  <celier@adacore.com>
9319
9320         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
9321         Externally_Built indicating if the project is externally built. If it
9322         is, and --subdirs is specified, but the subdir does not exist, look
9323         for the specified directory, without the subdir.
9324
9325 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
9326
9327         * a-tasatt.adb: Fix typo, plus minor reformatting
9328
9329         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
9330
9331         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
9332
9333 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9334
9335         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
9336         private extension whose parent is a synchronized interface carries an
9337         explicit synchronized keyword.
9338
9339 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9340
9341         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
9342         instantiate generic shared object package with the corresponding
9343         record type.
9344
9345 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9346
9347         * system-linux-sparc.ads: Remove obsolete entries.
9348
9349 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9350
9351         * s-tasuti.ads: Add ??? comment
9352
9353 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9354
9355         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
9356         type even if the designated type comes from a limited_with clause, to
9357         ensure that the symbol for the finalization list of the access type is
9358         created.
9359
9360 2009-04-10  Robert Dewar  <dewar@adacore.com>
9361
9362         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
9363         for warning suppression.
9364
9365 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9366
9367         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
9368         identical, there is no redudancy to check.
9369
9370 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9371
9372         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
9373         calls initializing SS_Allocator (which is initialized in following
9374         code).
9375         (Expand_Simple_Function_Return): Add comment about False value for
9376         Comes_From_Source on secondary-stack allocator.
9377
9378         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
9379         (Build_Entry_Name): Add comment.
9380
9381 2009-04-10  Robert Dewar  <dewar@adacore.com>
9382
9383         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
9384
9385         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
9386         bound tested, since this is now done more generally in Sem_Res.
9387
9388         * sem_res.adb (Resolve_Comparison_Op): Add call to
9389         Check_Lower_Bound_Tested.
9390         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
9391
9392         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
9393         (Low_Bound_Tested): New name for Low_Bound_Known flag
9394
9395         * exp_ch5.adb: Minor reformatting
9396
9397         * exp_ch4.adb:
9398         Add comments on copying the Comes_From_Source flag for allocators
9399
9400         * sinfo.ads:
9401         Add comments on copying the Comes_From_Source flag for allocators
9402
9403         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
9404         Comes_From_Source flag from old allocator to new one.
9405
9406 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9407
9408         * sem_ch6.ads: Address missing documentation query
9409
9410 2009-04-10  Vincent Celier  <celier@adacore.com>
9411
9412         * prj-attr.adb:
9413         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
9414         and Response_File_Switches.
9415
9416         * prj-nmsc.adb (Process_Linker): Process new attributes
9417         Max_Command_Line_Length, Response_File_Format and
9418         Response_File_Switches.
9419
9420         * prj.ads (Response_File_Format): New enumeration type
9421         (Project_Configuration): New componants Max_Command_Line_Length,
9422         Resp_File_Format and Resp_File_Options.
9423
9424         * snames.ads-tmpl: Add new standard names for linking response files
9425         for gprbuild: GNU, None, Object_List, Option_List,
9426         Max_Command_Line_Length, Response_File_Format and
9427         Response_File_Switches.
9428
9429 2009-04-10  Geert Bosch  <bosch@adacore.com>
9430
9431         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
9432         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
9433         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
9434         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
9435         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
9436         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
9437         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
9438         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
9439         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
9440         system-vxworks-arm.ads, system-vxworks-m68k.ads,
9441         system-vxworks-mips.ads, system-vxworks-ppc.ads,
9442         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
9443         (Backend_Overflow_Checks): Set to True.
9444
9445 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9446
9447         * exp_attr.adb: Minor reformatting
9448
9449 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9450
9451         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
9452         analyze the expression for a postcondition, even if the compiler mode
9453         is Generate_Code.
9454
9455 2009-04-10  Robert Dewar  <dewar@adacore.com>
9456
9457         * sem_aux.adb: Minor reformatting
9458
9459 2009-04-10  Ed Falis  <falis@adacore.com>
9460
9461         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
9462
9463         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
9464
9465 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9466
9467         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
9468         undocumented formal.
9469         Minor reformatting
9470
9471         * a-direio.ads: Fix typo in comment
9472
9473         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
9474         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
9475         Use uniform phrasing for comment at start of subprogram body.
9476
9477         * xsnamest.adb: Add note to explain why we use specific names for the
9478         newly generated files instead of generating snames.{ads,adb,h} directly
9479
9480 2009-04-10  Sergey Rybin  <rybin@adacore.com>
9481
9482         * vms_data.ads:
9483         Add qualifier for new gnatstub option '--no-exception'
9484
9485         * gnat_ugn.texi:
9486         Add the description of the new gnatstub option '--no-exception'
9487
9488 2009-04-10  Robert Dewar  <dewar@adacore.com>
9489
9490         * rtsfind.adb: Minor reformatting
9491
9492 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9493
9494         * sem_disp.adb: Minor reformatting.
9495         Add comment pointing to RM clause for the case of warning against a
9496         (failed) attempt at declaring a primitive operation elsewhere than in a
9497         package spec.
9498
9499 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9500
9501         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
9502         an actual for a previous formal package of the current instance.
9503
9504 2009-04-10  Bob Duff  <duff@adacore.com>
9505
9506         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
9507         them first, rather than on the extended main unit.
9508
9509 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9510
9511         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
9512         specification of full view carries a null exclusion indicator, create
9513         an itype for it, to check for conformance with partial view.
9514
9515 2009-04-10  Bob Duff  <duff@adacore.com>
9516
9517         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
9518
9519         * rtsfind.adb: Minor comment changes, and remove useless code.
9520
9521         * sinfo.ads: Add ??? comment.
9522
9523 2009-04-10  Vincent Celier  <celier@adacore.com>
9524
9525         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
9526
9527 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9528
9529         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
9530         type is a synchronized type, retrieve tag information from the
9531         corresponding record, which has the dispatch table link.
9532
9533 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
9534
9535         * g-comlin.adb (Group_Analysis): Take care of switches that might be
9536         decomposed afterwards, but are present as-is in the command line
9537         configuration, and thus should be kept as-is.
9538
9539 2009-04-10  Robert Dewar  <dewar@adacore.com>
9540
9541         * gnat_rm.texi: Document that postconditions are tested on implicit
9542         returns.
9543
9544         * sem_aux.adb: Minor reformatting
9545
9546 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9547
9548         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
9549         setting Etype.
9550         
9551         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
9552         Null_Exclusion_In_Return_Present when an access-to-function type has a
9553         result type with an explicit not null.
9554
9555         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
9556         given on the result type, then create a null-excluding itype for the
9557         function.
9558
9559         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
9560         the case where a null exclusion is imposed on a named access type.
9561         (Analyze_Subprogram_Specification): Push and pop the scope of the
9562         function around the call to Analyze_Return_Type in the case of no
9563         formals, for consistency with handling when formals are present
9564         (Process_Formals does this). Ensures that any itype created for the
9565         return type will be associated with the proper scope.
9566
9567         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
9568         exclusion is given on a generic function's result type, then create a
9569         null-excluding itype for the generic function.
9570         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
9571         for an actual for a formal in object according to the setting on the
9572         formal. Ensures null exclusion checks are done when the association is
9573         elaborated.
9574
9575         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
9576         N_Access_Function_Definition.
9577
9578         * sinfo.adb: Add Get_ and Set_ operations for
9579         Null_Exclusion_In_Return_Present.
9580
9581 2009-04-10  Bob Duff  <duff@adacore.com>
9582
9583         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
9584         call to the _Postconditions procedure in the case of implicit returns
9585         from analysis to expansion. This eliminates some duplicated code. Use
9586         the Postcondition_Proc to find the identity of this procedure during
9587         expansion.
9588
9589 2009-04-10  Robert Dewar  <dewar@adacore.com>
9590
9591         * sem_ch6.adb: Minor code clean up.
9592
9593         * einfo.ads, sem_attr.adb: Minor comment fixes.
9594
9595 2009-04-10  Robert Dewar  <dewar@adacore.com>
9596
9597         * sem_ch8.adb: Minor reformatting
9598
9599 2009-04-10  Robert Dewar  <dewar@adacore.com>
9600
9601         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
9602         procedures.
9603
9604         * sem_ch6.adb: Minor code clean up.
9605
9606 2009-04-10  Robert Dewar  <dewar@adacore.com>
9607
9608         * mlib-tgt-specific-xi.adb: Minor reformatting
9609
9610 2009-04-10  Bob Duff  <duff@adacore.com>
9611
9612         * einfo.ads: Minor comment fixes
9613
9614 2009-04-10  Vincent Celier  <celier@adacore.com>
9615
9616         * snames.ads-tmpl: Remove names that are no longer used in the
9617         Project Manager.
9618         Mark specifically those that are used only in gprbuild
9619
9620 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
9621
9622         * init.c: Adjust EH support code on Alpha/Tru64.
9623
9624 2009-04-10  Bob Duff  <duff@adacore.com>
9625
9626         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
9627         procedure on every path that could return implicitly (not via a return
9628         statement) from a procedure.
9629
9630 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9631
9632         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
9633         valid scope for a task declarations and therefore for a master id.
9634
9635 2009-04-10  Robert Dewar  <dewar@adacore.com>
9636
9637         * sem_aux.adb: Minor reformatting
9638
9639 2009-04-10  Vincent Celier  <celier@adacore.com>
9640
9641         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
9642         True.
9643         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
9644         (Set_Obsolescent_Check): New procedure to change the value of
9645         Obsolescent_Check_Flag.
9646
9647         * scn.ads (Set_Obsolescent_Check): New procedure to control
9648         Obsolescent_Check.
9649
9650         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
9651         obsolescent features while preprocessing.
9652
9653 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9654
9655         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
9656         generated files on all platforms.
9657
9658 2009-04-10  Robert Dewar  <dewar@adacore.com>
9659
9660         * sem_aux.adb: Minor reformatting
9661
9662 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9663
9664         * sem_ch3.adb (Access_Definition): Handle properly the case of a
9665         protected function with formals that returns an anonymous access type.
9666
9667 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9668
9669         * sem_disp.adb: Minor reformatting
9670
9671 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
9672
9673         * seh_init.c: Do not use the 32-bit specific implementation of
9674         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
9675         version TBD).
9676
9677 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9678
9679         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
9680         a '/' at the end so we better use the complete target name to determine
9681         whether it is a PowerPC 55xx target.
9682
9683 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9684
9685         * sem_eval.adb: Minor reformatting
9686
9687 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9688
9689         * snames.h, snames.ads, snames.adb: Remove files, now generated from
9690         templates.
9691
9692         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
9693         above.
9694
9695         * xsnamest.adb: New file.
9696
9697         * gcc-interface/Make-lang.in: New target for automated generation of
9698         snames.ads, snames.adb and snames.h
9699
9700 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9701
9702         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
9703         avoid compile time warnings.
9704         Do not add gcc/config in include search list while compiling the RTS.
9705         Pragma Thread_Local_Storage is available on any target.
9706
9707 2009-04-10  Bob Duff  <duff@adacore.com>
9708
9709         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
9710
9711 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9712
9713         * init.c: Install signal handler on Darwin.
9714
9715 2009-04-10  Robert Dewar  <dewar@adacore.com>
9716
9717         * sem_prag.adb: Minor reformatting
9718
9719         * exp_util.adb (Make_Non_Empty_Check): New function
9720         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
9721         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
9722
9723 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
9724
9725         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
9726
9727 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9728
9729         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
9730         tool prefix for AVR and PowerPC 55xx targets.
9731
9732 2009-04-10  Robert Dewar  <dewar@adacore.com>
9733
9734         * sem_warn.adb (Within_Postcondition): New function
9735         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
9736
9737 2009-04-10  Robert Dewar  <dewar@adacore.com>
9738
9739         * sem_warn.adb: Minor reformatting
9740
9741         * make.adb: Minor reformatting.
9742
9743 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9744
9745         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
9746         entity and the scope is a subprogram, retrieve the Sloc of the
9747         subprogram's body rather than using the sloc of the spec, for better
9748         line-stepping behavior in gdb.
9749         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
9750         controller, use the Sloc of the first declaration of the containing list
9751         rather than that of the node that triggered creation of the list
9752         controller.
9753
9754 2009-04-10  Vincent Celier  <celier@adacore.com>
9755
9756         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
9757         to avoid gcc warning.
9758
9759 2009-04-10  Robert Dewar  <dewar@adacore.com>
9760
9761         * g-comlin.adb: Add ??? comment
9762
9763 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9764
9765         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
9766         unreferenced entities for a package with no visible declarations.
9767
9768 2009-04-10  Robert Dewar  <dewar@adacore.com>
9769
9770         * exp_ch9.adb: Minor reformatting
9771
9772 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9773
9774         * sem_prag.adb: Minor reformatting
9775
9776 2009-04-10  Vincent Celier  <celier@adacore.com>
9777
9778         * prj-nmsc.adb:
9779         (Check_Library_Attributes): For a project qualified as a library project
9780         that is not a library project, indicate in the error message which
9781         attributes are missing (Library_Dir and/or Library_Name).
9782
9783 2009-04-10  Bob Duff  <duff@adacore.com>
9784
9785         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
9786         generated nodes, because it might confuse various circuits in the FE.
9787
9788 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9789
9790         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
9791         of pragma. It will be recopied and analyzed when used in call to
9792         Create_Task.
9793
9794         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
9795         initialization operations and recognize use of it in procedure calls
9796         within init_procs.
9797
9798         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
9799         argument, because it may have side-effects.
9800
9801         * exp_ch2.adb: Remove obsolete comments on default functions
9802
9803 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9804
9805         * adaint.c (RTX section): Do for RTX the same thing as we do for
9806         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
9807
9808 2009-04-10  Robert Dewar  <dewar@adacore.com>
9809
9810         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
9811
9812         * sem_res.adb (Resolve_Call): Fix test for
9813         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
9814         a non-dynamic scope).
9815
9816 2009-04-10  Robert Dewar  <dewar@adacore.com>
9817
9818         * make.adb: Add comment.
9819         Minor reformatting
9820
9821 2009-04-10  Nicolas Setton  <setton@adacore.com>
9822
9823         * s-osprim-darwin.adb: New file.
9824
9825         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
9826
9827 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9828
9829         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
9830
9831 2009-04-09  Nick Clifton  <nickc@redhat.com>
9832
9833         * adadecode.h: Change copyright header to refer to version
9834         3 of the GNU General Public License with version 3.1 of the
9835         GCC Runtime Library Exception and to point readers at the
9836         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
9837         page.
9838         * 9drpc.adb: Likewise.
9839         * a-assert.adb: Likewise.
9840         * a-astaco.adb: Likewise.
9841         * a-calari.adb: Likewise.
9842         * a-calcon.adb: Likewise.
9843         * a-calcon.ads: Likewise.
9844         * a-caldel.ads: Likewise.
9845         * a-calend-vms.adb: Likewise.
9846         * a-calend-vms.ads: Likewise.
9847         * a-calend.adb: Likewise.
9848         * a-calend.ads: Likewise.
9849         * a-calfor.adb: Likewise.
9850         * a-catizo.adb: Likewise.
9851         * a-cdlili.adb: Likewise.
9852         * a-cdlili.ads: Likewise.
9853         * a-cgaaso.adb: Likewise.
9854         * a-cgaaso.ads: Likewise.
9855         * a-cgarso.adb: Likewise.
9856         * a-cgcaso.adb: Likewise.
9857         * a-chacon.adb: Likewise.
9858         * a-chacon.ads: Likewise.
9859         * a-chahan.adb: Likewise.
9860         * a-chahan.ads: Likewise.
9861         * a-chlat9.ads: Likewise.
9862         * a-chtgke.adb: Likewise.
9863         * a-chtgke.ads: Likewise.
9864         * a-chtgop.adb: Likewise.
9865         * a-chtgop.ads: Likewise.
9866         * a-chzla1.ads: Likewise.
9867         * a-chzla9.ads: Likewise.
9868         * a-cidlli.adb: Likewise.
9869         * a-cidlli.ads: Likewise.
9870         * a-cihama.adb: Likewise.
9871         * a-cihama.ads: Likewise.
9872         * a-cihase.adb: Likewise.
9873         * a-cihase.ads: Likewise.
9874         * a-ciorma.adb: Likewise.
9875         * a-ciorma.ads: Likewise.
9876         * a-ciormu.adb: Likewise.
9877         * a-ciormu.ads: Likewise.
9878         * a-ciorse.adb: Likewise.
9879         * a-ciorse.ads: Likewise.
9880         * a-clrefi.adb: Likewise.
9881         * a-clrefi.ads: Likewise.
9882         * a-cohama.adb: Likewise.
9883         * a-cohama.ads: Likewise.
9884         * a-cohase.adb: Likewise.
9885         * a-cohase.ads: Likewise.
9886         * a-cohata.ads: Likewise.
9887         * a-coinve.adb: Likewise.
9888         * a-coinve.ads: Likewise.
9889         * a-colien.adb: Likewise.
9890         * a-colien.ads: Likewise.
9891         * a-colire.adb: Likewise.
9892         * a-colire.ads: Likewise.
9893         * a-comlin.adb: Likewise.
9894         * a-comlin.ads: Likewise.
9895         * a-convec.adb: Likewise.
9896         * a-convec.ads: Likewise.
9897         * a-coorma.adb: Likewise.
9898         * a-coorma.ads: Likewise.
9899         * a-coormu.adb: Likewise.
9900         * a-coormu.ads: Likewise.
9901         * a-coorse.adb: Likewise.
9902         * a-coorse.ads: Likewise.
9903         * a-coprnu.adb: Likewise.
9904         * a-coprnu.ads: Likewise.
9905         * a-crbltr.ads: Likewise.
9906         * a-crbtgk.adb: Likewise.
9907         * a-crbtgk.ads: Likewise.
9908         * a-crbtgo.adb: Likewise.
9909         * a-crbtgo.ads: Likewise.
9910         * a-crdlli.adb: Likewise.
9911         * a-crdlli.ads: Likewise.
9912         * a-cwila1.ads: Likewise.
9913         * a-cwila9.ads: Likewise.
9914         * a-decima.adb: Likewise.
9915         * a-decima.ads: Likewise.
9916         * a-diocst.adb: Likewise.
9917         * a-diocst.ads: Likewise.
9918         * a-direct.adb: Likewise.
9919         * a-direct.ads: Likewise.
9920         * a-direio.adb: Likewise.
9921         * a-direio.ads: Likewise.
9922         * a-dirval-mingw.adb: Likewise.
9923         * a-dirval-vms.adb: Likewise.
9924         * a-dirval.adb: Likewise.
9925         * a-dirval.ads: Likewise.
9926         * a-dynpri.adb: Likewise.
9927         * a-einuoc.adb: Likewise.
9928         * a-einuoc.ads: Likewise.
9929         * a-elchha.adb: Likewise.
9930         * a-elchha.ads: Likewise.
9931         * a-envvar.adb: Likewise.
9932         * a-excach.adb: Likewise.
9933         * a-except-2005.adb: Likewise.
9934         * a-except-2005.ads: Likewise.
9935         * a-except.adb: Likewise.
9936         * a-except.ads: Likewise.
9937         * a-excpol-abort.adb: Likewise.
9938         * a-excpol.adb: Likewise.
9939         * a-exctra.adb: Likewise.
9940         * a-exctra.ads: Likewise.
9941         * a-exetim-mingw.adb: Likewise.
9942         * a-exetim-mingw.ads: Likewise.
9943         * a-exexda.adb: Likewise.
9944         * a-exexpr-gcc.adb: Likewise.
9945         * a-exexpr.adb: Likewise.
9946         * a-exextr.adb: Likewise.
9947         * a-exstat.adb: Likewise.
9948         * a-filico.adb: Likewise.
9949         * a-filico.ads: Likewise.
9950         * a-finali.adb: Likewise.
9951         * a-finali.ads: Likewise.
9952         * a-interr.ads: Likewise.
9953         * a-intnam-aix.ads: Likewise.
9954         * a-intnam-darwin.ads: Likewise.
9955         * a-intnam-dummy.ads: Likewise.
9956         * a-intnam-freebsd.ads: Likewise.
9957         * a-intnam-hpux.ads: Likewise.
9958         * a-intnam-irix.ads: Likewise.
9959         * a-intnam-linux.ads: Likewise.
9960         * a-intnam-lynxos.ads: Likewise.
9961         * a-intnam-mingw.ads: Likewise.
9962         * a-intnam-rtems.ads: Likewise.
9963         * a-intnam-solaris.ads: Likewise.
9964         * a-intnam-tru64.ads: Likewise.
9965         * a-intnam-vms.ads: Likewise.
9966         * a-intnam-vxworks.ads: Likewise.
9967         * a-intsig.adb: Likewise.
9968         * a-intsig.ads: Likewise.
9969         * a-ngcefu.adb: Likewise.
9970         * a-ngcoar.adb: Likewise.
9971         * a-ngcoty.adb: Likewise.
9972         * a-ngcoty.ads: Likewise.
9973         * a-ngelfu.adb: Likewise.
9974         * a-ngrear.adb: Likewise.
9975         * a-ngrear.ads: Likewise.
9976         * a-nudira.adb: Likewise.
9977         * a-nudira.ads: Likewise.
9978         * a-nuflra.adb: Likewise.
9979         * a-nuflra.ads: Likewise.
9980         * a-numaux-darwin.adb: Likewise.
9981         * a-numaux-darwin.ads: Likewise.
9982         * a-numaux-libc-x86.ads: Likewise.
9983         * a-numaux-vxworks.ads: Likewise.
9984         * a-numaux-x86.adb: Likewise.
9985         * a-numaux-x86.ads: Likewise.
9986         * a-numaux.ads: Likewise.
9987         * a-rbtgso.adb: Likewise.
9988         * a-rbtgso.ads: Likewise.
9989         * a-reatim.ads: Likewise.
9990         * a-retide.adb: Likewise.
9991         * a-retide.ads: Likewise.
9992         * a-rttiev.adb: Likewise.
9993         * a-rttiev.ads: Likewise.
9994         * a-secain.adb: Likewise.
9995         * a-secain.ads: Likewise.
9996         * a-sequio.adb: Likewise.
9997         * a-sequio.ads: Likewise.
9998         * a-shcain.adb: Likewise.
9999         * a-shcain.ads: Likewise.
10000         * a-siocst.adb: Likewise.
10001         * a-siocst.ads: Likewise.
10002         * a-slcain.adb: Likewise.
10003         * a-slcain.ads: Likewise.
10004         * a-ssicst.adb: Likewise.
10005         * a-ssicst.ads: Likewise.
10006         * a-stboha.adb: Likewise.
10007         * a-stmaco.ads: Likewise.
10008         * a-storio.adb: Likewise.
10009         * a-strbou.adb: Likewise.
10010         * a-strbou.ads: Likewise.
10011         * a-stream.ads: Likewise.
10012         * a-strfix.adb: Likewise.
10013         * a-strhas.adb: Likewise.
10014         * a-strmap.adb: Likewise.
10015         * a-strmap.ads: Likewise.
10016         * a-strsea.adb: Likewise.
10017         * a-strsea.ads: Likewise.
10018         * a-strsup.adb: Likewise.
10019         * a-strsup.ads: Likewise.
10020         * a-strunb.adb: Likewise.
10021         * a-strunb.ads: Likewise.
10022         * a-ststio.adb: Likewise.
10023         * a-ststio.ads: Likewise.
10024         * a-stunau.adb: Likewise.
10025         * a-stunau.ads: Likewise.
10026         * a-stunha.adb: Likewise.
10027         * a-stwibo.adb: Likewise.
10028         * a-stwibo.ads: Likewise.
10029         * a-stwifi.adb: Likewise.
10030         * a-stwiha.adb: Likewise.
10031         * a-stwima.adb: Likewise.
10032         * a-stwima.ads: Likewise.
10033         * a-stwise.adb: Likewise.
10034         * a-stwise.ads: Likewise.
10035         * a-stwisu.adb: Likewise.
10036         * a-stwisu.ads: Likewise.
10037         * a-stwiun.adb: Likewise.
10038         * a-stwiun.ads: Likewise.
10039         * a-stzbou.adb: Likewise.
10040         * a-stzbou.ads: Likewise.
10041         * a-stzfix.adb: Likewise.
10042         * a-stzhas.adb: Likewise.
10043         * a-stzmap.adb: Likewise.
10044         * a-stzmap.ads: Likewise.
10045         * a-stzsea.adb: Likewise.
10046         * a-stzsea.ads: Likewise.
10047         * a-stzsup.adb: Likewise.
10048         * a-stzsup.ads: Likewise.
10049         * a-stzunb.adb: Likewise.
10050         * a-stzunb.ads: Likewise.
10051         * a-suteio.adb: Likewise.
10052         * a-suteio.ads: Likewise.
10053         * a-swbwha.adb: Likewise.
10054         * a-swmwco.ads: Likewise.
10055         * a-swunau.adb: Likewise.
10056         * a-swunau.ads: Likewise.
10057         * a-swuwha.adb: Likewise.
10058         * a-swuwti.adb: Likewise.
10059         * a-swuwti.ads: Likewise.
10060         * a-sytaco.adb: Likewise.
10061         * a-sytaco.ads: Likewise.
10062         * a-szbzha.adb: Likewise.
10063         * a-szmzco.ads: Likewise.
10064         * a-szunau.adb: Likewise.
10065         * a-szunau.ads: Likewise.
10066         * a-szuzha.adb: Likewise.
10067         * a-szuzti.adb: Likewise.
10068         * a-szuzti.ads: Likewise.
10069         * a-tags.adb: Likewise.
10070         * a-tags.ads: Likewise.
10071         * a-tasatt.ads: Likewise.
10072         * a-taside.adb: Likewise.
10073         * a-taside.ads: Likewise.
10074         * a-taster.adb: Likewise.
10075         * a-teioed.adb: Likewise.
10076         * a-teioed.ads: Likewise.
10077         * a-textio.adb: Likewise.
10078         * a-textio.ads: Likewise.
10079         * a-tiboio.adb: Likewise.
10080         * a-ticoau.adb: Likewise.
10081         * a-ticoau.ads: Likewise.
10082         * a-ticoio.adb: Likewise.
10083         * a-ticoio.ads: Likewise.
10084         * a-tideau.adb: Likewise.
10085         * a-tideau.ads: Likewise.
10086         * a-tideio.adb: Likewise.
10087         * a-tideio.ads: Likewise.
10088         * a-tienau.adb: Likewise.
10089         * a-tienau.ads: Likewise.
10090         * a-tienio.adb: Likewise.
10091         * a-tienio.ads: Likewise.
10092         * a-tifiio.adb: Likewise.
10093         * a-tifiio.ads: Likewise.
10094         * a-tiflau.adb: Likewise.
10095         * a-tiflau.ads: Likewise.
10096         * a-tiflio.adb: Likewise.
10097         * a-tiflio.ads: Likewise.
10098         * a-tigeau.adb: Likewise.
10099         * a-tigeau.ads: Likewise.
10100         * a-tiinau.adb: Likewise.
10101         * a-tiinau.ads: Likewise.
10102         * a-tiinio.adb: Likewise.
10103         * a-tiinio.ads: Likewise.
10104         * a-timoau.adb: Likewise.
10105         * a-timoau.ads: Likewise.
10106         * a-timoio.adb: Likewise.
10107         * a-timoio.ads: Likewise.
10108         * a-tiocst.adb: Likewise.
10109         * a-tiocst.ads: Likewise.
10110         * a-titest.adb: Likewise.
10111         * a-wichun.adb: Likewise.
10112         * a-wichun.ads: Likewise.
10113         * a-witeio.adb: Likewise.
10114         * a-witeio.ads: Likewise.
10115         * a-wtcoau.adb: Likewise.
10116         * a-wtcoau.ads: Likewise.
10117         * a-wtcoio.adb: Likewise.
10118         * a-wtcstr.adb: Likewise.
10119         * a-wtcstr.ads: Likewise.
10120         * a-wtdeau.adb: Likewise.
10121         * a-wtdeau.ads: Likewise.
10122         * a-wtdeio.adb: Likewise.
10123         * a-wtdeio.ads: Likewise.
10124         * a-wtedit.adb: Likewise.
10125         * a-wtedit.ads: Likewise.
10126         * a-wtenau.adb: Likewise.
10127         * a-wtenau.ads: Likewise.
10128         * a-wtenio.adb: Likewise.
10129         * a-wtenio.ads: Likewise.
10130         * a-wtfiio.adb: Likewise.
10131         * a-wtfiio.ads: Likewise.
10132         * a-wtflau.adb: Likewise.
10133         * a-wtflau.ads: Likewise.
10134         * a-wtflio.adb: Likewise.
10135         * a-wtflio.ads: Likewise.
10136         * a-wtgeau.adb: Likewise.
10137         * a-wtgeau.ads: Likewise.
10138         * a-wtinau.adb: Likewise.
10139         * a-wtinau.ads: Likewise.
10140         * a-wtinio.adb: Likewise.
10141         * a-wtmoau.adb: Likewise.
10142         * a-wtmoau.ads: Likewise.
10143         * a-wtmoio.adb: Likewise.
10144         * a-wtmoio.ads: Likewise.
10145         * a-wttest.adb: Likewise.
10146         * a-wwboio.adb: Likewise.
10147         * a-zchuni.adb: Likewise.
10148         * a-zchuni.ads: Likewise.
10149         * a-ztcoau.adb: Likewise.
10150         * a-ztcoau.ads: Likewise.
10151         * a-ztcoio.adb: Likewise.
10152         * a-ztcstr.adb: Likewise.
10153         * a-ztcstr.ads: Likewise.
10154         * a-ztdeau.adb: Likewise.
10155         * a-ztdeau.ads: Likewise.
10156         * a-ztdeio.adb: Likewise.
10157         * a-ztdeio.ads: Likewise.
10158         * a-ztedit.adb: Likewise.
10159         * a-ztedit.ads: Likewise.
10160         * a-ztenau.adb: Likewise.
10161         * a-ztenau.ads: Likewise.
10162         * a-ztenio.adb: Likewise.
10163         * a-ztenio.ads: Likewise.
10164         * a-ztexio.adb: Likewise.
10165         * a-ztexio.ads: Likewise.
10166         * a-ztfiio.adb: Likewise.
10167         * a-ztfiio.ads: Likewise.
10168         * a-ztflau.adb: Likewise.
10169         * a-ztflau.ads: Likewise.
10170         * a-ztflio.adb: Likewise.
10171         * a-ztflio.ads: Likewise.
10172         * a-ztgeau.adb: Likewise.
10173         * a-ztgeau.ads: Likewise.
10174         * a-ztinau.adb: Likewise.
10175         * a-ztinau.ads: Likewise.
10176         * a-ztinio.adb: Likewise.
10177         * a-ztmoau.adb: Likewise.
10178         * a-ztmoau.ads: Likewise.
10179         * a-ztmoio.adb: Likewise.
10180         * a-ztmoio.ads: Likewise.
10181         * a-zttest.adb: Likewise.
10182         * a-zzboio.adb: Likewise.
10183         * adadecode.c: Likewise.
10184         * adaint.c: Likewise.
10185         * adaint.h: Likewise.
10186         * alloc.ads: Likewise.
10187         * argv.c: Likewise.
10188         * arit64.c: Likewise.
10189         * atree.adb: Likewise.
10190         * atree.ads: Likewise.
10191         * aux-io.c: Likewise.
10192         * cal.c: Likewise.
10193         * casing.adb: Likewise.
10194         * casing.ads: Likewise.
10195         * cio.c: Likewise.
10196         * csets.adb: Likewise.
10197         * csets.ads: Likewise.
10198         * cstreams.c: Likewise.
10199         * ctrl_c.c: Likewise.
10200         * debug.adb: Likewise.
10201         * debug.ads: Likewise.
10202         * dec.ads: Likewise.
10203         * einfo.adb: Likewise.
10204         * einfo.ads: Likewise.
10205         * elists.adb: Likewise.
10206         * elists.ads: Likewise.
10207         * env.c: Likewise.
10208         * env.h: Likewise.
10209         * errno.c: Likewise.
10210         * exit.c: Likewise.
10211         * fe.h: Likewise.
10212         * final.c: Likewise.
10213         * fname.adb: Likewise.
10214         * fname.ads: Likewise.
10215         * g-allein.ads: Likewise.
10216         * g-alleve.adb: Likewise.
10217         * g-alleve.ads: Likewise.
10218         * g-altcon.adb: Likewise.
10219         * g-altcon.ads: Likewise.
10220         * g-altive.ads: Likewise.
10221         * g-alveop.adb: Likewise.
10222         * g-alveop.ads: Likewise.
10223         * g-alvety.ads: Likewise.
10224         * g-alvevi.ads: Likewise.
10225         * g-arrspl.adb: Likewise.
10226         * g-arrspl.ads: Likewise.
10227         * g-calend.ads: Likewise.
10228         * g-comlin.adb: Likewise.
10229         * g-debpoo.adb: Likewise.
10230         * g-debpoo.ads: Likewise.
10231         * g-eacodu-vms.adb: Likewise.
10232         * g-eacodu.adb: Likewise.
10233         * g-excact.adb: Likewise.
10234         * g-excact.ads: Likewise.
10235         * g-locfil.adb: Likewise.
10236         * g-os_lib.ads: Likewise.
10237         * g-rannum.adb: Likewise.
10238         * g-rannum.ads: Likewise.
10239         * g-regist.adb: Likewise.
10240         * g-regist.ads: Likewise.
10241         * g-signal.adb: Likewise.
10242         * g-signal.ads: Likewise.
10243         * g-soccon.ads: Likewise.
10244         * g-string.adb: Likewise.
10245         * g-string.ads: Likewise.
10246         * g-strspl.ads: Likewise.
10247         * g-timsta.adb: Likewise.
10248         * g-timsta.ads: Likewise.
10249         * g-trasym-vms-alpha.adb: Likewise.
10250         * g-trasym-vms-ia64.adb: Likewise.
10251         * g-utf_32.adb: Likewise.
10252         * g-utf_32.ads: Likewise.
10253         * g-wistsp.ads: Likewise.
10254         * g-zstspl.ads: Likewise.
10255         * gmem.c: Likewise.
10256         * gnatvsn.adb: Likewise.
10257         * gnatvsn.ads: Likewise.
10258         * gsocket.h: Likewise.
10259         * hostparm.ads: Likewise.
10260         * i-c.adb: Likewise.
10261         * i-cexten.ads: Likewise.
10262         * i-cobol.adb: Likewise.
10263         * i-cobol.ads: Likewise.
10264         * i-cpoint.adb: Likewise.
10265         * i-cpoint.ads: Likewise.
10266         * i-cpp.adb: Likewise.
10267         * i-cpp.ads: Likewise.
10268         * i-cstrea-vms.adb: Likewise.
10269         * i-cstrea.adb: Likewise.
10270         * i-cstrea.ads: Likewise.
10271         * i-cstrin.adb: Likewise.
10272         * i-cstrin.ads: Likewise.
10273         * i-forbla-darwin.adb: Likewise.
10274         * i-forbla-unimplemented.ads: Likewise.
10275         * i-forbla.adb: Likewise.
10276         * i-forbla.ads: Likewise.
10277         * i-forlap.ads: Likewise.
10278         * i-fortra.adb: Likewise.
10279         * i-pacdec.adb: Likewise.
10280         * i-pacdec.ads: Likewise.
10281         * i-vxwoio.adb: Likewise.
10282         * i-vxwoio.ads: Likewise.
10283         * indepsw-aix.adb: Likewise.
10284         * indepsw-gnu.adb: Likewise.
10285         * indepsw-mingw.adb: Likewise.
10286         * indepsw.adb: Likewise.
10287         * indepsw.ads: Likewise.
10288         * init.c: Likewise.
10289         * initialize.c: Likewise.
10290         * interfac.ads: Likewise.
10291         * krunch.adb: Likewise.
10292         * krunch.ads: Likewise.
10293         * lib-list.adb: Likewise.
10294         * lib-sort.adb: Likewise.
10295         * lib.adb: Likewise.
10296         * lib.ads: Likewise.
10297         * link.c: Likewise.
10298         * math_lib.adb: Likewise.
10299         * memtrack.adb: Likewise.
10300         * mingw32.h: Likewise.
10301         * mkdir.c: Likewise.
10302         * namet-sp.adb: Likewise.
10303         * namet-sp.ads: Likewise.
10304         * namet.adb: Likewise.
10305         * namet.ads: Likewise.
10306         * nlists.adb: Likewise.
10307         * nlists.ads: Likewise.
10308         * opt.adb: Likewise.
10309         * opt.ads: Likewise.
10310         * output.adb: Likewise.
10311         * output.ads: Likewise.
10312         * raise-gcc.c: Likewise.
10313         * raise.c: Likewise.
10314         * raise.h: Likewise.
10315         * repinfo.adb: Likewise.
10316         * repinfo.ads: Likewise.
10317         * repinfo.h: Likewise.
10318         * rident.ads: Likewise.
10319         * s-addima.adb: Likewise.
10320         * s-addima.ads: Likewise.
10321         * s-addope.adb: Likewise.
10322         * s-addope.ads: Likewise.
10323         * s-arit64.adb: Likewise.
10324         * s-arit64.ads: Likewise.
10325         * s-assert.adb: Likewise.
10326         * s-assert.ads: Likewise.
10327         * s-asthan-vms-alpha.adb: Likewise.
10328         * s-asthan.adb: Likewise.
10329         * s-asthan.ads: Likewise.
10330         * s-atacco.adb: Likewise.
10331         * s-atacco.ads: Likewise.
10332         * s-auxdec-empty.adb: Likewise.
10333         * s-auxdec-empty.ads: Likewise.
10334         * s-auxdec-vms_64.ads: Likewise.
10335         * s-auxdec.adb: Likewise.
10336         * s-auxdec.ads: Likewise.
10337         * s-bitops.adb: Likewise.
10338         * s-bitops.ads: Likewise.
10339         * s-boarop.ads: Likewise.
10340         * s-carsi8.adb: Likewise.
10341         * s-carsi8.ads: Likewise.
10342         * s-carun8.adb: Likewise.
10343         * s-carun8.ads: Likewise.
10344         * s-casi16.adb: Likewise.
10345         * s-casi16.ads: Likewise.
10346         * s-casi32.adb: Likewise.
10347         * s-casi32.ads: Likewise.
10348         * s-casi64.adb: Likewise.
10349         * s-casi64.ads: Likewise.
10350         * s-casuti.ads: Likewise.
10351         * s-caun16.adb: Likewise.
10352         * s-caun16.ads: Likewise.
10353         * s-caun32.adb: Likewise.
10354         * s-caun32.ads: Likewise.
10355         * s-caun64.adb: Likewise.
10356         * s-caun64.ads: Likewise.
10357         * s-chepoo.ads: Likewise.
10358         * s-crc32.adb: Likewise.
10359         * s-crc32.ads: Likewise.
10360         * s-crtl.ads: Likewise.
10361         * s-direio.adb: Likewise.
10362         * s-direio.ads: Likewise.
10363         * s-dsaser.ads: Likewise.
10364         * s-except.adb: Likewise.
10365         * s-except.ads: Likewise.
10366         * s-exctab.adb: Likewise.
10367         * s-exctab.ads: Likewise.
10368         * s-exnint.adb: Likewise.
10369         * s-exnint.ads: Likewise.
10370         * s-exnllf.adb: Likewise.
10371         * s-exnllf.ads: Likewise.
10372         * s-exnlli.adb: Likewise.
10373         * s-exnlli.ads: Likewise.
10374         * s-expint.adb: Likewise.
10375         * s-expint.ads: Likewise.
10376         * s-explli.adb: Likewise.
10377         * s-explli.ads: Likewise.
10378         * s-expllu.adb: Likewise.
10379         * s-expllu.ads: Likewise.
10380         * s-expmod.adb: Likewise.
10381         * s-expmod.ads: Likewise.
10382         * s-expuns.adb: Likewise.
10383         * s-expuns.ads: Likewise.
10384         * s-fatflt.ads: Likewise.
10385         * s-fatgen.adb: Likewise.
10386         * s-fatgen.ads: Likewise.
10387         * s-fatlfl.ads: Likewise.
10388         * s-fatllf.ads: Likewise.
10389         * s-fatsfl.ads: Likewise.
10390         * s-ficobl.ads: Likewise.
10391         * s-fileio.adb: Likewise.
10392         * s-fileio.ads: Likewise.
10393         * s-filofl.ads: Likewise.
10394         * s-finimp.adb: Likewise.
10395         * s-finimp.ads: Likewise.
10396         * s-finroo.adb: Likewise.
10397         * s-finroo.ads: Likewise.
10398         * s-fishfl.ads: Likewise.
10399         * s-fore.adb: Likewise.
10400         * s-fore.ads: Likewise.
10401         * s-fvadfl.ads: Likewise.
10402         * s-fvaffl.ads: Likewise.
10403         * s-fvagfl.ads: Likewise.
10404         * s-gearop.adb: Likewise.
10405         * s-gearop.ads: Likewise.
10406         * s-gecobl.adb: Likewise.
10407         * s-gecobl.ads: Likewise.
10408         * s-gecola.adb: Likewise.
10409         * s-gecola.ads: Likewise.
10410         * s-gerebl.adb: Likewise.
10411         * s-gerebl.ads: Likewise.
10412         * s-gerela.adb: Likewise.
10413         * s-gerela.ads: Likewise.
10414         * s-geveop.adb: Likewise.
10415         * s-geveop.ads: Likewise.
10416         * s-gloloc.adb: Likewise.
10417         * s-gloloc.ads: Likewise.
10418         * s-hibaen.ads: Likewise.
10419         * s-imenne.adb: Likewise.
10420         * s-imenne.ads: Likewise.
10421         * s-imgbiu.adb: Likewise.
10422         * s-imgbiu.ads: Likewise.
10423         * s-imgboo.adb: Likewise.
10424         * s-imgboo.ads: Likewise.
10425         * s-imgcha.adb: Likewise.
10426         * s-imgcha.ads: Likewise.
10427         * s-imgdec.adb: Likewise.
10428         * s-imgdec.ads: Likewise.
10429         * s-imgenu.adb: Likewise.
10430         * s-imgenu.ads: Likewise.
10431         * s-imgint.adb: Likewise.
10432         * s-imgint.ads: Likewise.
10433         * s-imgllb.adb: Likewise.
10434         * s-imgllb.ads: Likewise.
10435         * s-imglld.adb: Likewise.
10436         * s-imglld.ads: Likewise.
10437         * s-imglli.adb: Likewise.
10438         * s-imglli.ads: Likewise.
10439         * s-imgllu.adb: Likewise.
10440         * s-imgllu.ads: Likewise.
10441         * s-imgllw.adb: Likewise.
10442         * s-imgllw.ads: Likewise.
10443         * s-imgrea.adb: Likewise.
10444         * s-imgrea.ads: Likewise.
10445         * s-imguns.adb: Likewise.
10446         * s-imguns.ads: Likewise.
10447         * s-imgwch.adb: Likewise.
10448         * s-imgwch.ads: Likewise.
10449         * s-imgwiu.adb: Likewise.
10450         * s-imgwiu.ads: Likewise.
10451         * s-inmaop-dummy.adb: Likewise.
10452         * s-inmaop-vms.adb: Likewise.
10453         * s-inmaop.ads: Likewise.
10454         * s-interr-hwint.adb: Likewise.
10455         * s-interr-sigaction.adb: Likewise.
10456         * s-interr-vms.adb: Likewise.
10457         * s-interr.adb: Likewise.
10458         * s-interr.ads: Likewise.
10459         * s-intman-dummy.adb: Likewise.
10460         * s-intman-mingw.adb: Likewise.
10461         * s-intman-posix.adb: Likewise.
10462         * s-intman-solaris.adb: Likewise.
10463         * s-intman-vms.adb: Likewise.
10464         * s-intman-vms.ads: Likewise.
10465         * s-intman-vxworks.adb: Likewise.
10466         * s-intman-vxworks.ads: Likewise.
10467         * s-intman.ads: Likewise.
10468         * s-io.adb: Likewise.
10469         * s-io.ads: Likewise.
10470         * s-linux-alpha.ads: Likewise.
10471         * s-linux-hppa.ads: Likewise.
10472         * s-linux.ads: Likewise.
10473         * s-maccod.ads: Likewise.
10474         * s-mantis.adb: Likewise.
10475         * s-mantis.ads: Likewise.
10476         * s-mastop-irix.adb: Likewise.
10477         * s-mastop.adb: Likewise.
10478         * s-mastop.ads: Likewise.
10479         * s-memcop.ads: Likewise.
10480         * s-memory-mingw.adb: Likewise.
10481         * s-memory.adb: Likewise.
10482         * s-memory.ads: Likewise.
10483         * s-os_lib.ads: Likewise.
10484         * s-oscons-tmplt.c: Likewise.
10485         * s-osinte-aix.adb: Likewise.
10486         * s-osinte-darwin.adb: Likewise.
10487         * s-osinte-freebsd.adb: Likewise.
10488         * s-osinte-irix.adb: Likewise.
10489         * s-osinte-lynxos-3.adb: Likewise.
10490         * s-osinte-rtems.ads: Likewise.
10491         * s-osinte-tru64.adb: Likewise.
10492         * s-osinte-vxworks-kernel.adb: Likewise.
10493         * s-osinte-vxworks.adb: Likewise.
10494         * s-osprim-mingw.adb: Likewise.
10495         * s-osprim-posix.adb: Likewise.
10496         * s-osprim-solaris.adb: Likewise.
10497         * s-osprim-unix.adb: Likewise.
10498         * s-osprim-vms.adb: Likewise.
10499         * s-osprim-vms.ads: Likewise.
10500         * s-osprim-vxworks.adb: Likewise.
10501         * s-osprim.ads: Likewise.
10502         * s-pack03.adb: Likewise.
10503         * s-pack03.ads: Likewise.
10504         * s-pack05.adb: Likewise.
10505         * s-pack05.ads: Likewise.
10506         * s-pack06.adb: Likewise.
10507         * s-pack06.ads: Likewise.
10508         * s-pack07.adb: Likewise.
10509         * s-pack07.ads: Likewise.
10510         * s-pack09.adb: Likewise.
10511         * s-pack09.ads: Likewise.
10512         * s-pack10.adb: Likewise.
10513         * s-pack10.ads: Likewise.
10514         * s-pack11.adb: Likewise.
10515         * s-pack11.ads: Likewise.
10516         * s-pack12.adb: Likewise.
10517         * s-pack12.ads: Likewise.
10518         * s-pack13.adb: Likewise.
10519         * s-pack13.ads: Likewise.
10520         * s-pack14.adb: Likewise.
10521         * s-pack14.ads: Likewise.
10522         * s-pack15.adb: Likewise.
10523         * s-pack15.ads: Likewise.
10524         * s-pack17.adb: Likewise.
10525         * s-pack17.ads: Likewise.
10526         * s-pack18.adb: Likewise.
10527         * s-pack18.ads: Likewise.
10528         * s-pack19.adb: Likewise.
10529         * s-pack19.ads: Likewise.
10530         * s-pack20.adb: Likewise.
10531         * s-pack20.ads: Likewise.
10532         * s-pack21.adb: Likewise.
10533         * s-pack21.ads: Likewise.
10534         * s-pack22.adb: Likewise.
10535         * s-pack22.ads: Likewise.
10536         * s-pack23.adb: Likewise.
10537         * s-pack23.ads: Likewise.
10538         * s-pack24.adb: Likewise.
10539         * s-pack24.ads: Likewise.
10540         * s-pack25.adb: Likewise.
10541         * s-pack25.ads: Likewise.
10542         * s-pack26.adb: Likewise.
10543         * s-pack26.ads: Likewise.
10544         * s-pack27.adb: Likewise.
10545         * s-pack27.ads: Likewise.
10546         * s-pack28.adb: Likewise.
10547         * s-pack28.ads: Likewise.
10548         * s-pack29.adb: Likewise.
10549         * s-pack29.ads: Likewise.
10550         * s-pack30.adb: Likewise.
10551         * s-pack30.ads: Likewise.
10552         * s-pack31.adb: Likewise.
10553         * s-pack31.ads: Likewise.
10554         * s-pack33.adb: Likewise.
10555         * s-pack33.ads: Likewise.
10556         * s-pack34.adb: Likewise.
10557         * s-pack34.ads: Likewise.
10558         * s-pack35.adb: Likewise.
10559         * s-pack35.ads: Likewise.
10560         * s-pack36.adb: Likewise.
10561         * s-pack36.ads: Likewise.
10562         * s-pack37.adb: Likewise.
10563         * s-pack37.ads: Likewise.
10564         * s-pack38.adb: Likewise.
10565         * s-pack38.ads: Likewise.
10566         * s-pack39.adb: Likewise.
10567         * s-pack39.ads: Likewise.
10568         * s-pack40.adb: Likewise.
10569         * s-pack40.ads: Likewise.
10570         * s-pack41.adb: Likewise.
10571         * s-pack41.ads: Likewise.
10572         * s-pack42.adb: Likewise.
10573         * s-pack42.ads: Likewise.
10574         * s-pack43.adb: Likewise.
10575         * s-pack43.ads: Likewise.
10576         * s-pack44.adb: Likewise.
10577         * s-pack44.ads: Likewise.
10578         * s-pack45.adb: Likewise.
10579         * s-pack45.ads: Likewise.
10580         * s-pack46.adb: Likewise.
10581         * s-pack46.ads: Likewise.
10582         * s-pack47.adb: Likewise.
10583         * s-pack47.ads: Likewise.
10584         * s-pack48.adb: Likewise.
10585         * s-pack48.ads: Likewise.
10586         * s-pack49.adb: Likewise.
10587         * s-pack49.ads: Likewise.
10588         * s-pack50.adb: Likewise.
10589         * s-pack50.ads: Likewise.
10590         * s-pack51.adb: Likewise.
10591         * s-pack51.ads: Likewise.
10592         * s-pack52.adb: Likewise.
10593         * s-pack52.ads: Likewise.
10594         * s-pack53.adb: Likewise.
10595         * s-pack53.ads: Likewise.
10596         * s-pack54.adb: Likewise.
10597         * s-pack54.ads: Likewise.
10598         * s-pack55.adb: Likewise.
10599         * s-pack55.ads: Likewise.
10600         * s-pack56.adb: Likewise.
10601         * s-pack56.ads: Likewise.
10602         * s-pack57.adb: Likewise.
10603         * s-pack57.ads: Likewise.
10604         * s-pack58.adb: Likewise.
10605         * s-pack58.ads: Likewise.
10606         * s-pack59.adb: Likewise.
10607         * s-pack59.ads: Likewise.
10608         * s-pack60.adb: Likewise.
10609         * s-pack60.ads: Likewise.
10610         * s-pack61.adb: Likewise.
10611         * s-pack61.ads: Likewise.
10612         * s-pack62.adb: Likewise.
10613         * s-pack62.ads: Likewise.
10614         * s-pack63.adb: Likewise.
10615         * s-pack63.ads: Likewise.
10616         * s-parame-ae653.ads: Likewise.
10617         * s-parame-hpux.ads: Likewise.
10618         * s-parame-rtems.adb: Likewise.
10619         * s-parame-vms-alpha.ads: Likewise.
10620         * s-parame-vms-ia64.ads: Likewise.
10621         * s-parame-vms-restrict.ads: Likewise.
10622         * s-parame-vxworks.adb: Likewise.
10623         * s-parame-vxworks.ads: Likewise.
10624         * s-parame.adb: Likewise.
10625         * s-parame.ads: Likewise.
10626         * s-parint.adb: Likewise.
10627         * s-parint.ads: Likewise.
10628         * s-pooglo.adb: Likewise.
10629         * s-pooglo.ads: Likewise.
10630         * s-pooloc.adb: Likewise.
10631         * s-pooloc.ads: Likewise.
10632         * s-poosiz.adb: Likewise.
10633         * s-poosiz.ads: Likewise.
10634         * s-powtab.ads: Likewise.
10635         * s-proinf-irix-athread.adb: Likewise.
10636         * s-proinf-irix-athread.ads: Likewise.
10637         * s-proinf.adb: Likewise.
10638         * s-proinf.ads: Likewise.
10639         * s-purexc.ads: Likewise.
10640         * s-rannum.adb: Likewise.
10641         * s-rannum.ads: Likewise.
10642         * s-restri.adb: Likewise.
10643         * s-restri.ads: Likewise.
10644         * s-rident.ads: Likewise.
10645         * s-rpc.adb: Likewise.
10646         * s-rpc.ads: Likewise.
10647         * s-scaval.adb: Likewise.
10648         * s-scaval.ads: Likewise.
10649         * s-secsta.adb: Likewise.
10650         * s-secsta.ads: Likewise.
10651         * s-sequio.adb: Likewise.
10652         * s-sequio.ads: Likewise.
10653         * s-shasto.adb: Likewise.
10654         * s-shasto.ads: Likewise.
10655         * s-soflin.adb: Likewise.
10656         * s-soflin.ads: Likewise.
10657         * s-solita.adb: Likewise.
10658         * s-solita.ads: Likewise.
10659         * s-sopco3.adb: Likewise.
10660         * s-sopco3.ads: Likewise.
10661         * s-sopco4.adb: Likewise.
10662         * s-sopco4.ads: Likewise.
10663         * s-sopco5.adb: Likewise.
10664         * s-sopco5.ads: Likewise.
10665         * s-stache.adb: Likewise.
10666         * s-stache.ads: Likewise.
10667         * s-stalib.adb: Likewise.
10668         * s-stalib.ads: Likewise.
10669         * s-stausa.adb: Likewise.
10670         * s-stausa.ads: Likewise.
10671         * s-stchop-limit.ads: Likewise.
10672         * s-stchop-rtems.adb: Likewise.
10673         * s-stchop-vxworks.adb: Likewise.
10674         * s-stchop.adb: Likewise.
10675         * s-stchop.ads: Likewise.
10676         * s-stoele.adb: Likewise.
10677         * s-stoele.ads: Likewise.
10678         * s-stopoo.adb: Likewise.
10679         * s-stopoo.ads: Likewise.
10680         * s-stratt.adb: Likewise.
10681         * s-stratt.ads: Likewise.
10682         * s-strcom.adb: Likewise.
10683         * s-strcom.ads: Likewise.
10684         * s-string.adb: Likewise.
10685         * s-string.ads: Likewise.
10686         * s-strops.adb: Likewise.
10687         * s-strops.ads: Likewise.
10688         * s-strxdr.adb: Likewise.
10689         * s-ststop.adb: Likewise.
10690         * s-ststop.ads: Likewise.
10691         * s-taasde.adb: Likewise.
10692         * s-taasde.ads: Likewise.
10693         * s-tadeca.adb: Likewise.
10694         * s-tadeca.ads: Likewise.
10695         * s-tadert.adb: Likewise.
10696         * s-tadert.ads: Likewise.
10697         * s-taenca.adb: Likewise.
10698         * s-taenca.ads: Likewise.
10699         * s-taprob.ads: Likewise.
10700         * s-taprop-dummy.adb: Likewise.
10701         * s-taprop-hpux-dce.adb: Likewise.
10702         * s-taprop-irix.adb: Likewise.
10703         * s-taprop-linux.adb: Likewise.
10704         * s-taprop-lynxos.adb: Likewise.
10705         * s-taprop-mingw.adb: Likewise.
10706         * s-taprop-posix.adb: Likewise.
10707         * s-taprop-solaris.adb: Likewise.
10708         * s-taprop-tru64.adb: Likewise.
10709         * s-taprop-vms.adb: Likewise.
10710         * s-taprop-vxworks.adb: Likewise.
10711         * s-taprop.ads: Likewise.
10712         * s-tarest.adb: Likewise.
10713         * s-tarest.ads: Likewise.
10714         * s-tasdeb.adb: Likewise.
10715         * s-tasdeb.ads: Likewise.
10716         * s-tasinf-irix.ads: Likewise.
10717         * s-tasinf-linux.adb: Likewise.
10718         * s-tasinf-linux.ads: Likewise.
10719         * s-tasinf-mingw.adb: Likewise.
10720         * s-tasinf-mingw.ads: Likewise.
10721         * s-tasinf-solaris.adb: Likewise.
10722         * s-tasinf-solaris.ads: Likewise.
10723         * s-tasinf-tru64.ads: Likewise.
10724         * s-tasinf.adb: Likewise.
10725         * s-tasinf.ads: Likewise.
10726         * s-tasini.adb: Likewise.
10727         * s-tasini.ads: Likewise.
10728         * s-taskin.adb: Likewise.
10729         * s-taskin.ads: Likewise.
10730         * s-taspri-dummy.ads: Likewise.
10731         * s-taspri-hpux-dce.ads: Likewise.
10732         * s-taspri-mingw.ads: Likewise.
10733         * s-taspri-solaris.ads: Likewise.
10734         * s-taspri-tru64.ads: Likewise.
10735         * s-taspri-vms.ads: Likewise.
10736         * s-taspri-vxworks.ads: Likewise.
10737         * s-tasque.adb: Likewise.
10738         * s-tasque.ads: Likewise.
10739         * s-tasren.adb: Likewise.
10740         * s-tasren.ads: Likewise.
10741         * s-tasres.ads: Likewise.
10742         * s-tassta.adb: Likewise.
10743         * s-tassta.ads: Likewise.
10744         * s-tasuti.adb: Likewise.
10745         * s-tasuti.ads: Likewise.
10746         * s-tfsetr-default.adb: Likewise.
10747         * s-tfsetr-vxworks.adb: Likewise.
10748         * s-tpinop.adb: Likewise.
10749         * s-tpinop.ads: Likewise.
10750         * s-tpoben.adb: Likewise.
10751         * s-tpoben.ads: Likewise.
10752         * s-tpobop.adb: Likewise.
10753         * s-tpobop.ads: Likewise.
10754         * s-tpopde-vms.adb: Likewise.
10755         * s-tpopde-vms.ads: Likewise.
10756         * s-tpopsp-lynxos.adb: Likewise.
10757         * s-tpopsp-posix-foreign.adb: Likewise.
10758         * s-tpopsp-posix.adb: Likewise.
10759         * s-tpopsp-solaris.adb: Likewise.
10760         * s-tpopsp-vxworks.adb: Likewise.
10761         * s-tporft.adb: Likewise.
10762         * s-tposen.adb: Likewise.
10763         * s-tposen.ads: Likewise.
10764         * s-traceb.adb: Likewise.
10765         * s-traceb.ads: Likewise.
10766         * s-traces-default.adb: Likewise.
10767         * s-traces.adb: Likewise.
10768         * s-traces.ads: Likewise.
10769         * s-traent-vms.adb: Likewise.
10770         * s-traent-vms.ads: Likewise.
10771         * s-traent.adb: Likewise.
10772         * s-traent.ads: Likewise.
10773         * s-trafor-default.adb: Likewise.
10774         * s-trafor-default.ads: Likewise.
10775         * s-tratas-default.adb: Likewise.
10776         * s-tratas.adb: Likewise.
10777         * s-tratas.ads: Likewise.
10778         * s-unstyp.ads: Likewise.
10779         * s-utf_32.adb: Likewise.
10780         * s-utf_32.ads: Likewise.
10781         * s-vaflop-vms-alpha.adb: Likewise.
10782         * s-vaflop.adb: Likewise.
10783         * s-vaflop.ads: Likewise.
10784         * s-valboo.adb: Likewise.
10785         * s-valboo.ads: Likewise.
10786         * s-valcha.adb: Likewise.
10787         * s-valcha.ads: Likewise.
10788         * s-valdec.adb: Likewise.
10789         * s-valdec.ads: Likewise.
10790         * s-valenu.adb: Likewise.
10791         * s-valenu.ads: Likewise.
10792         * s-valint.adb: Likewise.
10793         * s-valint.ads: Likewise.
10794         * s-vallld.adb: Likewise.
10795         * s-vallld.ads: Likewise.
10796         * s-vallli.adb: Likewise.
10797         * s-vallli.ads: Likewise.
10798         * s-valllu.adb: Likewise.
10799         * s-valllu.ads: Likewise.
10800         * s-valrea.adb: Likewise.
10801         * s-valrea.ads: Likewise.
10802         * s-valuns.adb: Likewise.
10803         * s-valuns.ads: Likewise.
10804         * s-valuti.adb: Likewise.
10805         * s-valuti.ads: Likewise.
10806         * s-valwch.adb: Likewise.
10807         * s-valwch.ads: Likewise.
10808         * s-veboop.adb: Likewise.
10809         * s-veboop.ads: Likewise.
10810         * s-vector.ads: Likewise.
10811         * s-vercon.adb: Likewise.
10812         * s-vercon.ads: Likewise.
10813         * s-vmexta.adb: Likewise.
10814         * s-vmexta.ads: Likewise.
10815         * s-vxwext-kernel.ads: Likewise.
10816         * s-vxwext-rtp.adb: Likewise.
10817         * s-vxwext-rtp.ads: Likewise.
10818         * s-vxwext.ads: Likewise.
10819         * s-vxwork-arm.ads: Likewise.
10820         * s-vxwork-m68k.ads: Likewise.
10821         * s-vxwork-mips.ads: Likewise.
10822         * s-vxwork-ppc.ads: Likewise.
10823         * s-vxwork-sparcv9.ads: Likewise.
10824         * s-vxwork-x86.ads: Likewise.
10825         * s-wchcnv.adb: Likewise.
10826         * s-wchcnv.ads: Likewise.
10827         * s-wchcon.adb: Likewise.
10828         * s-wchcon.ads: Likewise.
10829         * s-wchjis.adb: Likewise.
10830         * s-wchjis.ads: Likewise.
10831         * s-wchstw.adb: Likewise.
10832         * s-wchstw.ads: Likewise.
10833         * s-wchwts.adb: Likewise.
10834         * s-wchwts.ads: Likewise.
10835         * s-widboo.adb: Likewise.
10836         * s-widboo.ads: Likewise.
10837         * s-widcha.adb: Likewise.
10838         * s-widcha.ads: Likewise.
10839         * s-widenu.adb: Likewise.
10840         * s-widenu.ads: Likewise.
10841         * s-widlli.adb: Likewise.
10842         * s-widlli.ads: Likewise.
10843         * s-widllu.adb: Likewise.
10844         * s-widllu.ads: Likewise.
10845         * s-widwch.adb: Likewise.
10846         * s-widwch.ads: Likewise.
10847         * s-win32.ads: Likewise.
10848         * s-winext.ads: Likewise.
10849         * s-wwdcha.adb: Likewise.
10850         * s-wwdcha.ads: Likewise.
10851         * s-wwdenu.adb: Likewise.
10852         * s-wwdenu.ads: Likewise.
10853         * s-wwdwch.adb: Likewise.
10854         * s-wwdwch.ads: Likewise.
10855         * scans.adb: Likewise.
10856         * scans.ads: Likewise.
10857         * seh_init.c: Likewise.
10858         * sfn_scan.adb: Likewise.
10859         * sinfo.adb: Likewise.
10860         * sinfo.ads: Likewise.
10861         * sinput.adb: Likewise.
10862         * sinput.ads: Likewise.
10863         * snames.adb: Likewise.
10864         * snames.ads: Likewise.
10865         * socket.c: Likewise.
10866         * stand.adb: Likewise.
10867         * stand.ads: Likewise.
10868         * stringt.adb: Likewise.
10869         * stringt.ads: Likewise.
10870         * sysdep.c: Likewise.
10871         * system-aix.ads: Likewise.
10872         * system-darwin-ppc.ads: Likewise.
10873         * system-darwin-x86.ads: Likewise.
10874         * system-darwin-x86_64.ads: Likewise.
10875         * system-freebsd-x86.ads: Likewise.
10876         * system-hpux-ia64.ads: Likewise.
10877         * system-hpux.ads: Likewise.
10878         * system-irix-n32.ads: Likewise.
10879         * system-irix-n64.ads: Likewise.
10880         * system-irix-o32.ads: Likewise.
10881         * system-linux-alpha.ads: Likewise.
10882         * system-linux-hppa.ads: Likewise.
10883         * system-linux-ia64.ads: Likewise.
10884         * system-linux-mips.ads: Likewise.
10885         * system-linux-mipsel.ads: Likewise.
10886         * system-linux-ppc.ads: Likewise.
10887         * system-linux-ppc64.ads: Likewise.
10888         * system-linux-s390.ads: Likewise.
10889         * system-linux-s390x.ads: Likewise.
10890         * system-linux-sh4.ads: Likewise.
10891         * system-linux-sparc.ads: Likewise.
10892         * system-linux-sparcv9.ads: Likewise.
10893         * system-linux-x86.ads: Likewise.
10894         * system-linux-x86_64.ads: Likewise.
10895         * system-lynxos-ppc.ads: Likewise.
10896         * system-lynxos-x86.ads: Likewise.
10897         * system-mingw-x86_64.ads: Likewise.
10898         * system-mingw.ads: Likewise.
10899         * system-rtems.ads: Likewise.
10900         * system-solaris-sparc.ads: Likewise.
10901         * system-solaris-sparcv9.ads: Likewise.
10902         * system-solaris-x86.ads: Likewise.
10903         * system-solaris-x86_64.ads: Likewise.
10904         * system-tru64.ads: Likewise.
10905         * system-vms-ia64.ads: Likewise.
10906         * system-vms-zcx.ads: Likewise.
10907         * system-vms.ads: Likewise.
10908         * system-vms_64.ads: Likewise.
10909         * system-vxworks-arm.ads: Likewise.
10910         * system-vxworks-m68k.ads: Likewise.
10911         * system-vxworks-mips.ads: Likewise.
10912         * system-vxworks-ppc.ads: Likewise.
10913         * system-vxworks-sparcv9.ads: Likewise.
10914         * system-vxworks-x86.ads: Likewise.
10915         * system.ads: Likewise.
10916         * table.adb: Likewise.
10917         * table.ads: Likewise.
10918         * targext.c: Likewise.
10919         * targparm.ads: Likewise.
10920         * tree_in.adb: Likewise.
10921         * tree_in.ads: Likewise.
10922         * tree_io.adb: Likewise.
10923         * tree_io.ads: Likewise.
10924         * types.adb: Likewise.
10925         * types.ads: Likewise.
10926         * uintp.adb: Likewise.
10927         * uintp.ads: Likewise.
10928         * uname.adb: Likewise.
10929         * uname.ads: Likewise.
10930         * urealp.adb: Likewise.
10931         * urealp.ads: Likewise.
10932         * vx_stack_info.c: Likewise.
10933         * widechar.adb: Likewise.
10934         * widechar.ads: Likewise.
10935         * exp_attr.adb: Change copyright header to refer to version
10936         3 of the GNU General Public License and to point readers at the
10937         COPYING3 file and the FSF's license web page.
10938         * sem.adb: Likewise.
10939         * sem_attr.ads: Likewise.
10940         * freeze.adb: Likewise.
10941         * freeze.ads: Likewise.
10942         * errout.ads: Likewise.
10943         * erroutc.adb: Likewise.
10944         * exp_ch11.ads: Likewise.
10945
10946 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
10947
10948         * config-lang.in: Change copyright header to refer to version
10949         3 of the GNU General Public License and to point readers at the
10950         COPYING3 file and the FSF's license web page.
10951         * gcc-interface/trans.c: Likewise.
10952         * gnathtml.pl: Likewise.
10953         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
10954         * gcc-interface/gigi.h: Likewise.
10955         * gcc-interface/misc.c: Likewise.
10956         * gcc-interface/targtyps.c: Likewise.
10957
10958 2009-04-09  Nicolas Setton  <setton@adacore.com>
10959
10960         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
10961
10962         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
10963         struct_timeval.
10964
10965 2009-04-09  Bob Duff  <duff@adacore.com>
10966
10967         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
10968         internally-generated nodes related to select statements to avoid
10969         confusing the debugger.
10970
10971 2009-04-09  Pascal Obry  <obry@adacore.com>
10972
10973         * make.adb: Ensure that all linker arguments are duplicated.
10974
10975 2009-04-09  Robert Dewar  <dewar@adacore.com>
10976
10977         * sem_ch5.adb: Minor reformatting
10978
10979 2009-04-09  Vincent Celier  <celier@adacore.com>
10980
10981         * vms_data.ads:
10982         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
10983         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
10984         New qualifier /LXDEBUG=nnn for -gnatDnnn
10985         For H820-010
10986
10987         * gnat_ugn.texi:
10988         Update documentation for VMS qualifiers equivalent to -gnatGnn and
10989         -gnatDnn
10990
10991 2009-04-09  Nicolas Setton  <setton@adacore.com>
10992
10993         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
10994         to match layout of siginfo_t in sys/signal.h.
10995
10996         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
10997
10998 2009-04-09  Thomas Quinot  <quinot@adacore.com>
10999
11000         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
11001
11002 2009-04-09  Nicolas Setton  <setton@adacore.com>
11003
11004         * s-oscons-tmplt.c: Allow long lines in the generated spec.
11005         Add generation of Darwin-specific constants needed when binding to the
11006         pthread library.
11007
11008 2009-04-09  Robert Dewar  <dewar@adacore.com>
11009
11010         * checks.adb:
11011         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
11012         when no invalid values exist, Avoid duplicate read of atomic variable.
11013
11014         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
11015         (Standard_Unsigned): Set Is_Known_Valid
11016
11017         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
11018         subtype declaration if no constraint.
11019         (Set_Modular_Size): Set Is_Known_Valid if appropriate
11020         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
11021
11022 2009-04-09  Robert Dewar  <dewar@adacore.com>
11023
11024         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
11025         switch.ads: for numeric switches, an optional equal sign is always
11026         allowed.
11027
11028 2009-04-09  Vincent Celier  <celier@adacore.com>
11029
11030         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
11031         the case of file names is not significant.
11032
11033 2009-04-09  Vincent Celier  <celier@adacore.com>
11034
11035         * errout.adb: Remove dependency on package Style
11036
11037         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
11038         moved to Stylesw.
11039         
11040         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
11041         Styleg.
11042
11043         * errutil.adb, par.adb: Import Stylesw
11044
11045 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
11046
11047         * opt.ads: Fix typos.
11048
11049 2009-04-09  Robert Dewar  <dewar@adacore.com>
11050
11051         * einfo.adb: Minor reformatting
11052
11053 2009-04-09  Robert Dewar  <dewar@adacore.com>
11054
11055         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
11056         units.
11057
11058         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
11059
11060 2009-04-09  Robert Dewar  <dewar@adacore.com>
11061
11062         * g-comver.adb: Minor reformatting.
11063
11064 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11065
11066         * lib-load.ads (Load_Unit): Update documentation.
11067
11068 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
11069
11070         * lib-load.adb (Load_Unit): When loading the parent of a child unit
11071         named in a with_clause, retain the with_clause to preserve a
11072         limited_with indication.
11073
11074 2009-04-09  Robert Dewar  <dewar@adacore.com>
11075
11076         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
11077         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
11078         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
11079         possible to replace an OR of two separate tests.
11080
11081 2009-04-09  Robert Dewar  <dewar@adacore.com>
11082
11083         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
11084         Maximum_Messages.
11085         
11086         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
11087         warning status as well.
11088         
11089         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
11090         
11091         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
11092         Maximum_Messages.
11093         
11094         * bindusg.adb, usage.adb: Update line for -gnatm switch
11095
11096         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
11097         -mnn binder switch.
11098
11099 2009-04-09  Robert Dewar  <dewar@adacore.com>
11100
11101         * sem_ch10.adb: Minor reformatting.
11102
11103 2009-04-09  Bob Duff  <duff@adacore.com>
11104
11105         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
11106         Set Sloc of generated nodes for calls to Undefer_Aborts and
11107         Save_Occurrence to No_Location, so the debugger ignores them and
11108         therefore does not jump back and forth when single stepping.
11109
11110 2009-04-09  Robert Dewar  <dewar@adacore.com>
11111
11112         * switch-b.adb: Minor reformatting.
11113
11114 2009-04-09  Robert Dewar  <dewar@adacore.com>
11115
11116         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
11117         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
11118         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
11119         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
11120         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
11121         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
11122         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
11123         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
11124         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
11125         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
11126         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
11127
11128 2009-04-09  Robert Dewar  <dewar@adacore.com>
11129
11130         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
11131
11132         * atree.h: Add Elist26
11133
11134         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
11135         backends.
11136
11137 2009-04-09  Javier Miranda  <miranda@adacore.com>
11138
11139         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
11140         retrieve from the Dispatch_Table_Wrappers list the external name.
11141         Addition of documentation.
11142         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
11143         used to export secondary dispatch tables (in the previous version of
11144         the frontend only primary dispatch tables were exported). Addition of
11145         documentation.
11146         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
11147         dispatch table of a given tagged type. 
11148         (Make_Tags): Modified to import secondary dispatch tables.
11149
11150         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
11151         (Constant_Redeclaration): Code cleanup.
11152
11153         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
11154         Dispatch_Table_Wrappers.  Update documentation.
11155
11156         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
11157         Renamed to Dispatch_Table_Wrappers.
11158
11159         * sem_util.adb (Collect_Interface_Components): Improve handling of
11160         private types.
11161
11162         * atree.ads (Elist26, Set_Elist26): New subprograms
11163
11164         * atree.adb (Elist26, Set_Elist26): New subprograms
11165
11166 2009-04-09  Javier Miranda  <miranda@adacore.com>
11167
11168         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
11169         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
11170         tagged types.
11171
11172 2009-04-09  Robert Dewar  <dewar@adacore.com>
11173
11174         * s-direio.adb: Minor reformatting
11175
11176         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
11177
11178 2009-04-09  Robert Dewar  <dewar@adacore.com>
11179
11180         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
11181
11182 2009-04-09  Pascal Obry  <obry@adacore.com>
11183
11184         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
11185         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
11186         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
11187         a-filico.ads: Add some missing overriding keywords.
11188
11189 2009-04-09  Pascal Obry  <obry@adacore.com>
11190
11191         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
11192         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
11193         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
11194         reformatting.
11195
11196 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
11197
11198         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
11199         missing overriding indicator if the new declaration is not seen as
11200         primitive.
11201
11202 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11203
11204         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
11205         overflows in computation of bounds.
11206
11207 2009-04-09  Pascal Obry  <obry@adacore.com>
11208
11209         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
11210         typos in comment.
11211
11212 2009-04-09  Robert Dewar  <dewar@adacore.com>
11213
11214         * sem_attr.adb (Check_Stream_Attribute): Check violation of
11215         restriction No_Streams
11216
11217         * gnat_rm.texi: Clarify No_Streams restriction
11218
11219         * g-socket.adb: Minor reformatting.
11220
11221 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11222
11223         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
11224
11225 2009-04-09  Geert Bosch  <bosch@adacore.com>
11226
11227         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
11228         (Set_Result): Likewise.
11229         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
11230         conversion, as required by RM 4.6(31).
11231
11232 2009-04-08  Robert Dewar  <dewar@adacore.com>
11233
11234         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
11235         suppressed.
11236         
11237         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
11238         resolution steps.
11239
11240 2009-04-08  Robert Dewar  <dewar@adacore.com>
11241
11242         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
11243         No_Local_Allocators restriction preventing local instantiation.
11244
11245 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11246
11247         * sem_eval.adb: Minor comment fix
11248
11249 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11250
11251         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
11252         New limited controlled type used to automate the initialization and
11253         finalization of the sockets implementation.
11254         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
11255
11256 2009-04-08  Vincent Celier  <celier@adacore.com>
11257
11258         * prj-attr.adb: New read-only project-level attribute Project_Dir
11259
11260         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
11261         read-only attribute of the same name.
11262         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
11263         (Recursive_Process): Ditto
11264
11265         * snames.adb: Add new standard name Project_Dir
11266
11267         * snames.ads: Add new standard name Project_Dir
11268
11269 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11270
11271         * checks.adb: Minor reformatting
11272
11273 2009-04-08  Vincent Celier  <celier@adacore.com>
11274
11275         * vms_data.ads: Add documentation for new style keyword
11276         OVERRIDING_INDICATORS
11277
11278 2009-04-08  Robert Dewar  <dewar@adacore.com>
11279
11280         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
11281         spec is in the current unit.
11282
11283 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11284
11285         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
11286         presence of entity.
11287
11288         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
11289
11290 2009-04-08  Vincent Celier  <celier@adacore.com>
11291
11292         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
11293
11294 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11295
11296         * checks.ads: Minor reformatting
11297
11298 2009-04-08  Robert Dewar  <dewar@adacore.com>
11299
11300         * gnat_rm.texi: Update documentation of pragma Obsolescent
11301         
11302         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
11303         be omitted, and allow Entity parameter to be omitted.
11304
11305 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11306
11307         * exp_util.adb: Minor comment fix
11308
11309 2009-04-08  Robert Dewar  <dewar@adacore.com>
11310
11311         * g-socket.ads: Fix bad syntax in pragma Obsolescent
11312
11313         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
11314         argument with no identifier following one that has an identifier. Was
11315         missed in some cases.
11316
11317         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
11318         identifier.
11319         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
11320
11321         * snames.adb: Add Name_Policy
11322
11323         * snames.ads: Add Name_Policy
11324
11325 2009-04-08  Robert Dewar  <dewar@adacore.com>
11326
11327         * gnat_rm.texi: Minor reformatting
11328
11329         * par-ch2.adb: Minor reformatting
11330
11331 2009-04-08  Robert Dewar  <dewar@adacore.com>
11332
11333         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
11334
11335 2009-04-08  Robert Dewar  <dewar@adacore.com>
11336
11337         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
11338         properly in the presence of Remote_Types or Remote_Call_Interface.
11339
11340         * sem_util.adb: Add comment.
11341
11342 2009-04-08  Robert Dewar  <dewar@adacore.com>
11343
11344         * ug_words: Add /ASSUME_VALID for -gnatB
11345
11346         * vms_data.ads: Add /ASSUME_VALID for -gnatB
11347
11348         * sem_cat.adb: Add clarifying commment
11349
11350         * a-direio.ads (Bytes): Make sure value is non-zero
11351
11352 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11353
11354         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
11355         that does not come from source, check for a rewritten function call in
11356         prefixed notation before other forms of rewriting.
11357
11358 2009-04-08  Robert Dewar  <dewar@adacore.com>
11359
11360         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
11361         these are now obsolescent units used only for bootrapping with an
11362         older compiler.
11363
11364 2009-04-08  Robert Dewar  <dewar@adacore.com>
11365
11366         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
11367
11368         * sem_ch3.adb: Minor comment updates
11369
11370 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11371
11372         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
11373         that come from source.
11374
11375 2009-04-08  Tristan Gingold  <gingold@adacore.com>
11376
11377         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
11378         * gcc-interface/decl.c (prepend_attributes): New case
11379         Pragma_Thread_Local_Storage.
11380         * gcc-interface/utils.c (process_attributes): New case
11381         ATTR_THREAD_LOCAL_STORAGE.
11382
11383 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11384
11385         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
11386         by the back-end if it contains a call to a subprogram without a
11387         previous spec that is declared in the same unit.
11388
11389         * errout.ads: Update comments on uses of dirs
11390
11391 2009-04-08  Robert Dewar  <dewar@adacore.com>
11392
11393         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
11394
11395 2009-04-08  Tristan Gingold  <gingold@adacore.com>
11396
11397         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
11398         variables.
11399         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
11400
11401 2009-04-08  Vincent Celier  <celier@adacore.com>
11402
11403         * prj-nmsc.adb:
11404         (Add_Source): Add the mapping of the unit name to source file name in
11405         the Unit_Sources_HT hash table, if the unit name is not null.
11406
11407         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
11408
11409         * prj.ads (Unit_Sources_Htable): New hash table instantiation
11410         (Project_Tree_Data): New component Unit_Sources_HT
11411
11412 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11413
11414         * sem_ch8.adb: Minor reformatting.
11415         Minor code reorganization.
11416
11417 2009-04-08  Robert Dewar  <dewar@adacore.com>
11418
11419         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
11420         snames.ads, freeze.adb, par-prag.adb: Add implementation of
11421         pragma Thread_Local_Storage, setting new flag
11422         Has_Pragma_Thread_Local_Storage in corresponding entities.
11423
11424 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11425
11426         * prj.ads: Update comment on switches file
11427
11428         * prj-nmsc.adb: Code clean up. Use renaming clauses.
11429
11430 2009-04-08  Robert Dewar  <dewar@adacore.com>
11431
11432         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
11433
11434 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11435
11436         * ali-util.adb: Minor comment fix
11437
11438 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11439
11440         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
11441         appears in a context clause, and the enclosing package is mentioned in
11442         a limited_with_clause.
11443         (Use_One_Type): Reject clause if type is still incomplete.
11444
11445 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11446
11447         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
11448         avoid copies of Source_Data variables when possible, since these
11449         involve calls to memcpy() which are done too many times.
11450
11451 2009-04-08  Robert Dewar  <dewar@adacore.com>
11452
11453         * exp_ch4.adb (Expand_Concatenate): Clean up code
11454
11455 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11456
11457         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
11458         type for the case of concatenating a constrained array indexed by an
11459         enumeration type.
11460
11461 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11462
11463         * sem_ch6.adb (Check_Conformance): when checking conformance of an
11464         operation that overrides an abstract operation inherited from an
11465         interface, return False if only one of the controlling formals is an
11466         access parameter.
11467
11468 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11469
11470         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
11471         mandated by AI05-105.
11472
11473 2009-04-07  Vincent Celier  <celier@adacore.com>
11474
11475         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
11476
11477 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11478
11479         * usage.adb: Minor fix in usage message.
11480
11481         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
11482         match declaration; the correct subtype is Node_Id, not Entity_Id,
11483         because the expected node kind is an identifier, not a defining
11484         identifier.
11485
11486         * switch-c.adb: Minor reformatting.
11487
11488         * uintp.adb: Minor reformatting.
11489
11490 2009-04-07  Robert Dewar  <dewar@adacore.com>
11491
11492         * exp_ch13.adb: Minor reformatting
11493
11494 2009-04-07  Robert Dewar  <dewar@adacore.com>
11495
11496         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
11497         against missing parent.
11498
11499 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11500
11501         * xoscons.adb: Minor reformatting
11502
11503 2009-04-07  Robert Dewar  <dewar@adacore.com>
11504
11505         * rtsfind.ads: Remove obsolete string concatenation entries
11506
11507 2009-04-07  Robert Dewar  <dewar@adacore.com>
11508
11509         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
11510
11511 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11512
11513         * sem_ch10.adb (Check_Body_Required): Handle properly imported
11514         subprograms.
11515
11516 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
11517
11518         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
11519         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
11520         is of a scalar or string type then suppress the setting of the
11521         expression to Empty.
11522
11523         * freeze.adb (Warn_Overlay): Also emit the warnings about default
11524         initialization for the cases of scalar and string objects when
11525         Init_Or_Norm_Scalars is True.
11526
11527 2009-04-07  Bob Duff  <duff@adacore.com>
11528
11529         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
11530
11531 2009-04-07  Bob Duff  <duff@adacore.com>
11532
11533         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
11534         Form parameter of Text_Translation=No allows binary mode for Text_IO
11535         files.
11536
11537         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
11538
11539 2009-04-07  Javier Miranda  <miranda@adacore.com>
11540
11541         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
11542         processing the bounds for bit packed arrays or VM target machines.
11543
11544 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11545
11546         * g-sothco.ads (Int_Access): Remove extraneous access type (use
11547         anonymous access instead).
11548         (Get_Socket_From_Set): Fix incorrectly reverted formals
11549         Last and Socket to match the underlying C routine.
11550
11551         * g-socket.adb, g-socket.ads
11552         (Get): Use named parameter associations instead of positional ones in
11553         call go Get_Socket_From_Set, since this routine has two formals of the
11554         same type.
11555         (Image): New procedure.
11556
11557         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11558         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
11559         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
11560         for type of Arg formal.
11561
11562         * sem_warn.adb: Minor reformatting
11563
11564 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11565
11566         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
11567         over record components.
11568
11569 2009-04-07  Nicolas Roche  <roche@adacore.com>
11570
11571         * gsocket.h:
11572         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
11573         has disappeared between VxWorks 6.4 and VxWorks 6.5
11574         In RTP mode use time.h instead of times.h
11575
11576 2009-04-07  Robert Dewar  <dewar@adacore.com>
11577
11578         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
11579
11580 2009-04-07  Kevin Pouget  <pouget@adacore.com>
11581
11582         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
11583         expanded code for constrained types.
11584
11585 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11586
11587         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
11588         AI05-105: in an object renaming declaration, anonymousness is a name
11589         resolution rule.
11590
11591         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
11592
11593 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11594
11595         * g-comlin.adb (Expansion): Fix old regression: also return directory
11596         names when matching.
11597
11598 2009-04-07  Robert Dewar  <dewar@adacore.com>
11599
11600         * exp_ch4.adb:
11601         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
11602         (Expand_Concatenate): New name for Expand_Concatenate_String which has
11603         been rewritten to handle all types.
11604         (Expand_Concatenate_Other): Remove
11605
11606 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11607
11608         * lib-xref.adb (Generate_Reference): A default subprogram in an
11609         instance appears within the tree for the instance, but generates an
11610         implicit reference in the ALI.
11611
11612 2009-04-07  Javier Miranda  <miranda@adacore.com>
11613
11614         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
11615         derived type that has discriminants, propagate the list of interfaces
11616         to the corresponding new base type. In addition, propagate also
11617         attribute Limited_Present (found working in this patch).
11618
11619 2009-04-07  Robert Dewar  <dewar@adacore.com>
11620
11621         * exp_ch4.adb: Rewrite concatenation expansion.
11622
11623 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11624
11625         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
11626         relevant to packages.
11627
11628 2009-04-07  Robert Dewar  <dewar@adacore.com>
11629
11630         * sem_attr.adb: Minor reformatting
11631
11632         * sem_ch6.adb: Minor reformatting
11633
11634 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11635
11636         * socket.c: Add more protections against S_resolvLib_ macros.
11637
11638 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11639
11640         * sem_attr.adb: Minor reformatting
11641
11642 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11643
11644         * sem_ch6.adb (New_Overloaded_Entity): New predicate
11645         Is_Overriding_Alias to handle properly types that inherit two homonym
11646         operations that have distinct dispatch table entries.
11647
11648 2009-04-07  Emmanuel Briot  <briot@adacore.com>
11649
11650         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
11651         looking for the end of a parenthesis group
11652
11653 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11654
11655         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
11656
11657         * socket.c Don't use resolvLib_ macros if not defined.
11658
11659 2009-04-07  Robert Dewar  <dewar@adacore.com>
11660
11661         * g-socket.adb: Minor reformatting.
11662
11663         * g-socthi-mingw.adb: Minor reformatting
11664
11665         * g-sothco.ads: Minor reformatting
11666
11667         * exp_ch4.adb:
11668         (Expand_Concatenate_String): Complete rewrite to generate efficient code
11669         inline instead of relying on external library routines.
11670
11671         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
11672         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
11673         obsolescent
11674
11675 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11676
11677         * sem_attr.adb:
11678         (Eval_Attribute): for attributes of array objects that are not strings,
11679         attributes are not static if nominal subtype of object is unconstrained.
11680
11681 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11682
11683         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
11684         operations for a type T in an instance do not override each other,
11685         when T is derived from a formal private type, the corresponding
11686         operations inherited by a type derived from T outside
11687         of the instance do not override each other either.
11688
11689 2009-04-07  Robert Dewar  <dewar@adacore.com>
11690
11691         (Osint.Fail): Change calling sequence to have one string arg
11692         (Make.Make_Failed): Same change
11693         All callers are adjusted to use concatenation
11694
11695 2009-04-07  Robert Dewar  <dewar@adacore.com>
11696
11697         * exp_ch4.adb: Fix documentation typo
11698
11699 2009-04-07  Robert Dewar  <dewar@adacore.com>
11700
11701         * tbuild.ads: Minor reformatting
11702
11703 2009-04-07  Javier Miranda  <miranda@adacore.com>
11704
11705         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
11706         when compiling under ZFP runtime.
11707
11708 2009-04-07  Robert Dewar  <dewar@adacore.com>
11709
11710         * g-comlin.adb: Minor reformatting
11711
11712 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11713
11714         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11715         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
11716         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
11717         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
11718
11719 2009-04-07  Robert Dewar  <dewar@adacore.com>
11720
11721         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
11722
11723         * opt.ads (Sprint_Line_Limit): New parameter
11724         
11725         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
11726         
11727         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
11728         
11729         * usage.adb: Output information for -gnatGnn -gnatDnn
11730
11731 2009-04-07  Robert Dewar  <dewar@adacore.com>
11732
11733         * make.adb: Minor reformatting
11734
11735 2009-04-07  Robert Dewar  <dewar@adacore.com>
11736
11737         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
11738
11739 2009-04-07  Robert Dewar  <dewar@adacore.com>
11740
11741         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
11742
11743 2009-04-07  Robert Dewar  <dewar@adacore.com>
11744
11745         * checks.adb:
11746         Remove Assume_Valid parameter from In_Subrange_Of calls
11747         
11748         * sem_eval.adb:
11749         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11750         (Is_In_Range): Remove incorrect use of Assume_Valid
11751         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
11752         
11753         * sem_eval.ads:
11754         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11755         (Is_In_Range): Documentation cleanup
11756         (Is_Out_Of_Range): Documentation cleanup
11757
11758         * gnat_rm.texi:
11759         Add documentation for Assume_No_Invalid_Values pragma
11760
11761         * sem_ch12.adb: Minor reformatting
11762
11763         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
11764
11765         * sem_prag.adb: Improve error message.
11766
11767         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
11768         LF/CR no longer recognized as line terminator
11769
11770         * switch.ads: Minor documentation improvement
11771
11772         * vms_data.ads: Minor reformatting
11773
11774 2009-04-07  Robert Dewar  <dewar@adacore.com>
11775
11776         * checks.adb (Determine_Range): Add Assume_Valid parameter
11777         
11778         * checks.ads (Determine_Range): Add Assume_Valid parameter
11779         
11780         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
11781          Is_Null_Loop to suppress warnings in a loop body.
11782         
11783         * exp_ch4.adb:
11784         (Rewrite_Comparison): Major rewrite to accomodate invalid values
11785         
11786         * exp_ch5.adb:
11787         (Expand_N_Loop_Statement): Delete loop known not to execute
11788         
11789         * opt.ads:
11790         (Assume_No_Invalid_Values): Now set to False, and as documented, this
11791          fully enables the proper handling of invalid values.
11792         
11793         * sem_attr.adb:
11794         New calling sequence for Is_In_Range
11795         
11796         * sem_ch5.adb:
11797         (Analyze_Iteration_Scheme): Accomodate possible invalid values
11798          in determining if a loop range is null.
11799         
11800         * sem_eval.adb:
11801         (Is_In_Range): Add Assume_Valid parameter
11802         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11803         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
11804          also to do more accurate and complete range analysis, catching more
11805          cases.
11806         
11807         * sem_eval.ads:
11808         (Is_In_Range): Add Assume_Valid parameter
11809         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11810         
11811         * sem_util.adb:
11812         New calling sequence for Is_In_Range
11813         
11814         * sinfo.adb:
11815         (Suppress_Loop_Warnings): New flag
11816         
11817         * sinfo.ads:
11818         (Is_Null_Loop): Update documentation
11819         (Suppress_Loop_Warnings): New flag
11820         
11821         * gnat_ugn.texi: Document -gnatB switch
11822
11823 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11824
11825         * gnatvsn.ads: Bump version number.
11826
11827 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11828
11829         * exp_ch3.adb: Minor rewording (comments)
11830
11831 2009-04-07  Robert Dewar  <dewar@adacore.com>
11832
11833         * exp_disp.adb: Minor reformatting
11834
11835 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11836
11837         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
11838         underlying type.
11839         * gcc-interface/trans.c (lvalue_required_p): Likewise.
11840
11841 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11842
11843         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
11844         Do not convert the result.  Remove obsolete comment.
11845
11846 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11847
11848         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
11849         DECL_CONTEXT.
11850         (Subprogram_Body_to_gnu): Fix pasto.
11851
11852 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11853
11854         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
11855         (void_type_decl_node): Remove.
11856         (init_gigi_decls): Likewise.
11857         (gnat_install_builtins): Declare.
11858         (record_builtin_type): Likewise.
11859         (create_type_stub_decl): Likewise.
11860         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
11861         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
11862         artificial.
11863         <E_Array_Subtype>: Use the index types, not only their name, in the
11864         record giving the names of the bounds, if any.
11865         For a packed array type, make it artificial only if the base type
11866         was artificial as well.  Remove redundant statement.
11867         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
11868         dummy types.
11869         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
11870         (rest_of_type_decl_compilation_no_defer): Likewise.
11871         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
11872         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
11873         and use create_type_stub_decl to build it.
11874         (gnat_pushdecl): Rewrite condition.
11875         (gnat_install_builtins): Remove bogus declaration.
11876         (record_builtin_type): New function.
11877         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
11878         of types.
11879         (create_type_stub_decl): New function.
11880         (create_type_decl): Assert that the type is not dummy.  If the type
11881         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
11882         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
11883         (build_vms_descriptor): Likewise.
11884         (init_gigi_decls): Delete and move bulk of code to...
11885         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
11886         (emit_range_check): Add gnat_node parameter.
11887         (emit_index_check): Likewise.
11888         (emit_check): Likewise.
11889         (build_unary_op_trapv): Likewise.
11890         (build_binary_op_trapv): Likewise.
11891         (convert_with_check): Likewise.
11892         (Attribute_to_gnu): Adjust calls for above changes.
11893         (call_to_gnu): Likewise.
11894         (gnat_to_gnu): Likewise.
11895         (assoc_to_constructor): Likewise.
11896         (pos_to_constructor): Likewise.
11897         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
11898         (process_type): Do not create TYPE_DECL for dummy types.
11899
11900 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11901
11902         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
11903         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
11904         * gcc-interface/utils.c: Fix comments.
11905
11906 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11907
11908         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
11909         move around.
11910         (gnat_to_gnu_type): Move around.
11911         (get_unpadded_type): Likewise.
11912         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
11913         Tidy comments.
11914
11915 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11916
11917         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
11918         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
11919         (call_to_gnu): Invoke it instead of manually checking.
11920
11921 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
11922
11923         * gcc-interface/utils.c (finish_record_type): Force structural equality
11924         checks if the record type is discriminated.
11925
11926 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
11927
11928         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
11929         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
11930         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
11931         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
11932         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
11933         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
11934         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
11935
11936 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
11937
11938         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
11939         of TREE_CONSTANT_OVERFLOW.
11940
11941 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
11942
11943         PR rtl-optimization/323
11944         * gcc-interface/misc.c (gnat_post_options): Set
11945         flag_excess_precision_cmdline.  Give an error for
11946         -fexcess-precision=standard for processors where the option is
11947         significant.
11948
11949 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
11950
11951         PR c/39323
11952         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
11953         on bit_align.
11954
11955 2009-03-11  Olivier Hainque  <hainque@adacore.com>
11956
11957         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
11958         checks processing, remove unintended TREE_TYPE walk on index type.
11959
11960 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
11961
11962         PR ada/39264
11963         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
11964         call make_packable_type on fat pointer types.
11965         <E_Array_Subtype>: Likewise.
11966         <E_Record_Subtype>: Call make_packable_type on all record types
11967         except for fat pointer types.
11968         (make_packable_type): Likewise.
11969         (gnat_to_gnu_field): Likewise.
11970
11971 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
11972
11973         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
11974         EH_MECHANISM change made on 2007-12-06.
11975
11976 2009-02-26  Andreas Schwab  <schwab@suse.de>
11977
11978         PR ada/39172
11979         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
11980         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
11981         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
11982         (AWK): Substitute.
11983         (target_cpu_default): Substitute.
11984
11985 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
11986
11987         PR ada/39221
11988         * a-teioed.adb (Expand): Fix Result overflow.
11989
11990 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
11991
11992         * gcc-interface/Makefile.in: Fix multilib handling for
11993         sparc64-linux.
11994
11995 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11996
11997         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
11998
11999 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
12000
12001         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
12002
12003 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
12004
12005         * gcc-interface/deftarg.c: Remove.
12006
12007 2009-02-10  Olivier Hainque  <hainque@adacore.com>
12008             Eric Botcazou  <ebotcazou@adacore.com>
12009
12010         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
12011         (copy_alias_set): Rename into...
12012         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
12013         underlying array of unconstrained arrays for the new type as well.
12014         If the old and new alias sets don't conflict, make one a subset of
12015         the other as per the OP parameter.
12016         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
12017         <E_Record_Type>: Do not copy the alias set for derived types.
12018         For all types, make the alias set of derived types a superset of
12019         that of their parent type.
12020         (make_aligning_type): Adjust calls to copy_alias_set.
12021         (make_packable_type): Likewise.
12022         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
12023         Check for alias set conflict instead of strict equality to issue the
12024         warning.
12025
12026 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
12027
12028         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
12029         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
12030         (copy_alias_set): Assert that arrays have the same aliasing settings.
12031         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
12032
12033 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
12034
12035         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
12036         Set TYPE_NONALIASED_COMPONENT on the array type.
12037
12038 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
12039
12040         * gcc-interface/Makefile.in: Fix mipsel linux handling.
12041
12042 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
12043
12044         * gcc-interface/Makefile.in: Fix multilib handling for
12045         powerpc64-linux.
12046
12047 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
12048
12049         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
12050         only useless conversions around renamed objects.
12051
12052 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
12053
12054         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
12055         the _Tag field before any discriminants in the field list.
12056         (components_to_record): Remove obsolete comment.
12057
12058
12059 \f
12060 Copyright (C) 2009 Free Software Foundation, Inc.
12061
12062 Copying and distribution of this file, with or without modification,
12063 are permitted in any medium without royalty provided the copyright
12064 notice and this notice are preserved.