OSDN Git Service

4c3e00770eca9e09fc0e1bee9f7ddb3b6c0c6e0b
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2009-11-30  Thomas Quinot  <quinot@adacore.com>
2
3         * s-sechas.adb, s-sechas.ads, s-shshco.adb, s-shshco.ads, s-shsh64.adb,
4         s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, s-shsh32.adb, s-shsh32.ads,
5         s-sehash.adb, s-sehash.ads, g-sechas.adb, g-sechas.ads, g-shshco.adb,
6         g-shshco.ads, g-md5.ads, g-sha256.ads, g-shsh64.adb, g-shsh64.ads,
7         g-sehamd.adb, g-sehamd.ads, g-sha512.ads, g-sha1.ads, Makefile.rtl,
8         g-sha224.ads, g-shsh32.adb, g-shsh32.ads, g-sha384.ads, g-sehash.adb,
9         g-sehash.ads: Rename System.Secure_Hashes to GNAT.Secure_Hashes.
10
11 2009-11-30  Robert Dewar  <dewar@adacore.com>
12
13         * osint.ads: Minor comment update.
14
15 2009-11-30  Thomas Quinot  <quinot@adacore.com>
16
17         * s-sechas.adb: Fix swapping error in previous checkin.
18         * g-md5.ads, g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads,
19         g-sha384.ads: Add missing documentation.
20
21 2009-11-30  Robert Dewar  <dewar@adacore.com>
22
23         * g-sha256.ads, s-sehamd.ads, s-sehamd.adb, g-sha512.ads, g-sha224.ads,
24         g-sha384.ads: Minor reformatting
25
26 2009-11-30  Emmanuel Briot  <briot@adacore.com>
27
28         * adaint.h (file_attributes): Reduce size of the structure, so that it
29         is less costly to store in records.
30         * makeutl.adb:
31         (Check_Source_Info_In_ALI): use Full_Source_Name instead of a direct
32         call to Find_File, since the former provides caching when appropriate,
33         which limits the number of system calls in some cases.
34         * osint.ads, prj.ads (Source_Data): do not store directly the timestamp,
35         but the file attributes since we also need access to the size of the
36         ALI file to parse it. This gives an opportunity for saving system calls
37         on Unix systems.
38
39 2009-11-30  Robert Dewar  <dewar@adacore.com>
40
41         * sem_prag.adb, s-sechas.ads, s-sechas.adb: Minor reformatting.
42
43 2009-11-30  Gary Dismukes  <dismukes@adacore.com>
44
45         * sem_prag.adb (Process_Convention): Change formal E to Ent. In the
46         case where the pragma's entity argument is a renaming, return the
47         entity denoted by the renaming rather than the renamed entity. Loop
48         through the homonyms of the original argument entity, rather than the
49         homonyms of any renamed entity. Correct call to Generate_Entity to
50         pass the homonym.
51
52 2009-11-30  Vincent Celier  <celier@adacore.com>
53
54         * impunit.adb: Add packages that were added to the GNAT library:
55         GNAT.SHA224, GNAT.SHA256, GNAT.SHA384 and GNAT.SHA512.
56         * s-sechas.adb (Fill_Buffer_Copy): Fixes incorrect slice index
57
58 2009-11-30  Robert Dewar  <dewar@adacore.com>
59
60         * exp_ch3.adb: Minor reformatting
61         * g-md5.ads, g-sha1.ads: Add comment.
62
63 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
64
65         * gcc-interface/Makefile.in: Remove handling of libgccprefix, no longer
66         needed.
67
68 2009-11-30  Pascal Obry  <obry@adacore.com>
69
70         * expect.c: Fix cast to avoid warnings in x86-64 Windows.
71
72 2009-11-30  Thomas Quinot  <quinot@adacore.com>
73
74         * gnat_rm.texi, s-sechas.adb, s-sechas.ads, s-shshco.adb,
75         s-shshco.ads, g-md5.adb, g-md5.ads, g-sha256.ads, s-shsh64.adb,
76         s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, g-sha512.ads, g-sha1.adb,
77         g-sha1.ads, Makefile.rtl, g-sha224.ads, g-sha384.ads, s-shsh32.adb,
78         s-shsh32.ads, s-sehash.adb, s-sehash.ads: Reimplementation of GNAT.MD5
79         and GNAT.SHA1 to factor shared code and avoid unnecessary stack copies.
80         Also introduce new functions SHA-{224,256,384,512}
81
82 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
83
84         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve comment for
85         the Value_Type case.
86
87 2009-11-30  Thomas Quinot  <quinot@adacore.com>
88
89         * a-textio.adb: Minor reformatting
90
91 2009-11-30  Pascal Obry  <obry@adacore.com>
92
93         * adaint.c: Fix bug in passing parameter.
94         * expect.c: Include io.h to get definition of _open_osfhandle
95
96 2009-11-30  Javier Miranda  <miranda@adacore.com>
97
98         * exp_ch6.adb, sem_scil.adb (Adjust_SCIL_Node): Add missing management
99         of N_Unchecked_Type_Conversion nodes when searching for SCIL nodes.
100         (Expand_Call): Adjust decoration of SCIL node associated with relocated
101         function call.
102
103 2009-11-30  Emmanuel Briot  <briot@adacore.com>
104
105         * prj-env.adb (Add_To_Source_Path): Preserve casing of directories
106
107 2009-11-30  Vincent Celier  <celier@adacore.com>
108
109         * opt.ads (No_Split_Units): New flag initialized to False
110
111 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
112
113         * exp_ch7.adb (Needs_Finalization): Add comments.
114         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve handling of
115         CIL Value types.
116
117 2009-11-30  Robert Dewar  <dewar@adacore.com>
118
119         * osint.adb, a-rttiev.adb: Minor reformatting.
120
121 2009-11-30  Robert Dewar  <dewar@adacore.com>
122
123         * gnat_rm.texi: Remove list of warning letters, and refer instead to
124         using gnatmake to get a brief list.
125
126         * debug.adb: Document -gnatd.i to disable pragma Warnings
127         * par-prag.adb, sem_prag.adb: Recognize -gnatd.i to disable Warnings
128         pragma.
129         * vms_data.ads: Add /NOWARNINGS_PRAGMS for -gnatd.i
130         
131 2009-11-30  Geert Bosch  <bosch@adacore.com>
132
133         * a-ngelfu.adb (Sin): Correct spelling of sine in comment.
134
135 2009-11-30  Vincent Celier  <celier@adacore.com>
136
137         * gnatls.adb: Do not call Get_Target_Parameters in Verbose_Mode, as it
138         is not needed and gnatls fails when called with -v -nostdinc.
139
140 2009-11-30  Emmanuel Briot  <briot@adacore.com>
141
142         * osint.adb, osint.ads (File_Time_Stamp): new subprogram.
143
144 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
145
146         * gnat_rm.texi, gnat_ugn.texi: Document new syntax for pragma Annotate
147
148 2009-11-30  Robert Dewar  <dewar@adacore.com>
149
150         * scans.ads (Wide_Wide_Character_Found): New flag
151         * scn.adb (Post_Scan): Set new flag Has_Wide_Wide_Character
152         * scng.adb (Set_String): Set new flag Wide_Wide_Character_Found
153         (Set_String): Fix failure to reset Wide_Character_Found
154         * sinfo.adb (Has_Wide_Wide_Character): New flag in N_String_Literal
155         * sinfo.ads (Has_Wide_Wide_Character): New flag in N_String_Literal
156         * a-ngelfu.adb: Minor reformatting & code reorganization.
157         * usage.adb: Fix typo in -gnatw.W line
158
159 2009-11-30  Robert Dewar  <dewar@adacore.com>
160
161         * osint.adb, prj-nmsc.adb, sem_prag.adb, sem_util.adb: Minor
162         reformatting.
163         * csinfo.adb: Terminate run if improper use of reserved flag
164         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): Don't use reserved
165         Flag12, used Flag13 instead.
166         
167 2009-11-30  Vincent Celier  <celier@adacore.com>
168
169         * gnatcmd.adb (Check_Files): Recognize documented switches that have a
170         separate parameter.
171
172 2009-11-30  Robert Dewar  <dewar@adacore.com>
173
174         * sem_util.ads: Minor reformatting
175         * errout.adb: Minor reformatting
176         Minor code reorganization (use N_Subprogram_Specification to simplify)
177         * exp_ch7.adb: Add comment.
178
179 2009-11-30  Thomas Quinot  <quinot@adacore.com>
180
181         * put_scos.adb (Put_SCOs): Do not generate a SCO unit header for a unit
182         that has no SCOs.
183         * scos.ads: Minor reformatting
184
185 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
186
187         * sem_prag.adb: Second unanalyzed parameter of Annotate is optional.
188
189 2009-11-30  Eric Botcazou  <ebotcazou@adacore.com>
190
191         * init.c (__gnat_adjust_context_for_raise, Linux version): Add guard
192         for null PC saved in the context.
193
194 2009-11-30  Hristian Kirtchev  <kirtchev@adacore.com>
195
196         * a-calend.adb (Day_Of_Week): Rewritten. The routine determines the
197         number of days from the Ada Epoch to the input date while ensuring that
198         both dates are in the same time zone.
199
200 2009-11-30  Emmanuel Briot  <briot@adacore.com>
201
202         * clean.adb ("-eL"): Also set Follow_Links_For_Dirs, to match what is
203         done in other project-aware tools like gnatmake and gprbuild.
204
205 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
206
207         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Take care of CIL
208         ValueTypes.
209         * exp_ch7.adb (Needs_Finalization): Do not finalize CIL valuetypes.
210         * sem_util.adb (Is_Value_Type): Protect against invalid calls to Chars
211         (Is_Delegate): New method used for CIL.
212         * sem_util.ads (Is_Delegate): New method for CIL handling.
213         (Is_Value_Type): Improve documentation.
214
215 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
216
217         * errout.adb (Unwind_Internal_Type): Improve error reporting if the
218         type is an anonymous access to subprogram that is the type of a formal
219         in a subprogram spec.
220
221 2009-11-30  Vincent Celier  <celier@adacore.com>
222
223         * prj-nmsc.adb (Check_Interfaces): In a Stand-Alone Library project, if
224         attribute Interfaces is not declared, then Library_Interface should
225         define the interfaces.
226
227 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
228
229         * sem_prag.adb: New semantics for Annotate.
230
231 2009-11-30  Tristan Gingold  <gingold@adacore.com>
232
233         * gcc-interface/Makefile.in: Do not link with -static-libgcc on Darwin.
234
235 2009-11-30  Emmanuel Briot  <briot@adacore.com>
236
237         * gnat_ugn.texi: Extend doc for -eL
238
239 2009-11-30  Vincent Celier  <celier@adacore.com>
240
241         * osint.adb (Executable_Name (File_Name_Type)): Put the Name in the
242         Name_Buffer before testing for a dot in the Name.
243
244 2009-11-30  Vincent Celier  <celier@adacore.com>
245
246         * prj-part.adb (Project_Path_Name_Of): Resolve links for final result
247         if -eL has been specified.
248
249 2009-11-30  Vincent Celier  <celier@adacore.com>
250
251         * osint.adb (Executable_Name): Test the name instead of the name buffer
252         to check if there is a dot in the given name.
253
254 2009-11-30  Sergey Rybin  <rybin@adacore.com>
255
256         * gnat_ugn.texi: Update gnatcheck doc.
257
258 2009-11-30  Robert Dewar  <dewar@adacore.com>
259
260         * sem_ch3.adb, sem_disp.adb, usage.adb: Minor reformatting
261
262 2009-11-30  Vasiliy Fofanov  <fofanov@adacore.com>
263
264         * gnat_ugn.texi: Minor editing.
265
266 2009-11-30  Emmanuel Briot  <briot@adacore.com>
267
268         * prj-nmsc.adb (Search_Directories): when -eL was not specified, assume
269         that no directory matches the naming scheme for sources.
270
271 2009-11-30  Emmanuel Briot  <briot@adacore.com>
272
273         * prj.adb, prj.ads, prj-nmsc.adb (Has_Multi_Unit_Sources): New field in
274         project_data.
275
276 2009-11-30  Vincent Celier  <celier@adacore.com>
277
278         * osint.adb (Executable_Name): Correctly decide if the executable
279         suffix should be added when Only_If_No_Suffix is True.
280
281 2009-11-30  Robert Dewar  <dewar@adacore.com>
282
283         * frontend.adb, gnatlink.adb, prj-conf.adb, prj-tree.adb,
284         prj-tree.ads: Minor reformatting
285
286 2009-11-30  Vincent Celier  <celier@adacore.com>
287
288         * gnatlink.adb (Process_Args): Call Executable_Name on argument of -o
289         with Only_If_No_Suffix set to True.
290         * osint.adb (Executable_Name): Do not add executable suffix if there is
291         already a suffix and Only_If_No_Suffix is True.
292         * osint.ads (Executable_Name): New Boolean parameter Only_If_No_Suffix,
293         defaulted to False.
294
295 2009-11-30  Javier Miranda  <miranda@adacore.com>
296
297         * exp_atag.adb (Build_TSD): Change argument name because the actual is
298         now the address of a tag (instead of the tag). Update implementation
299         accordingly.
300         (Build_CW_Membership): New implementation. Converted into a procedure
301         because it has an additional out mode parameter. Its implementation has
302         been rewritten to improve the generated code but also to facilitate
303         referencing the relocated object node in the caller.
304         * exp_atag.ads (Build_CW_Membership): Update profile and documentation.
305         * sinfo.ads (N_SCIL_Membership_Test) New_Node.
306         (SCIL_Tag_Value): New field of N_SCIL_Membership_Test nodes.
307         (Is_Syntactic_Field): Add entry of new node.
308         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
309         * sinfo.adb (SCIL_Related_Node, SCIL_Entity): Update assertions to
310         handle N_SCIL_Membership_Test nodes.
311         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
312         * sem.adb (Analyze): Add null management for new node.
313         * sem_scil.adb (Find_SCIL_Node): Add null management for new node.
314         (Check_SCIL_Node): Add checks of N_SCIL_Membership_Test nodes.
315         * exp_ch4.adb (Tagged_Membership): Change profile from function to
316         procedure. Add generation of SCIL node associated with class-wide
317         membership test.
318         (Expand_N_In): Complete decoration of SCIL nodes.
319         * exp_intr.adb (Expand_Dispatching_Constructor_Call): Tune call to
320         Build_CW_Membership because its profile has been changed.
321         * exp_util.adb (Insert_Actions): Add null management for new node.
322         * sprint.adb (Sprint_Node_Actual): Handle new node.
323         * gcc-interface/trans.c Add no processing for N_SCIL_Membership_Test
324         nodes.
325         * gcc-interface/Make-lang.in: Update dependencies.
326
327 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
328
329         * opt.ads: New flags Init_Or_Norm_Scalars_Config,
330         Initialize_Scalars_Config, to capture the presence of the corresponding
331         pragmas in a configuration file.
332         * opt.adb (Register_, Save_, Set_, Restore_Opt_Configuration_Switches):
333         handle new flags so that they are restored for each compilation unit.
334         * frontend.adb: At the end of compilation, scan the context of the main
335         unit to recover occurrences of pragma Initialize_Scalars, to annotate
336         the ALI file accordingly.
337
338 2009-11-30  Vincent Celier  <celier@adacore.com>
339
340         * prj-tree.ads: Minor comment updates
341         * prj-tree.adb: Minor reformatting
342
343 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
344
345         * sem_ch3.adb (Derive_Subprogram): Indicate that an inherited
346         predefined control operation is hidden if the parent type is not
347         visibly controlled.
348         * sem_ch6.adb (Check_Overriding_Indicator): Do not report error if
349         overridden operation is not visible, as may be the case with predefined
350         control operations.
351         * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on
352         non-overriding control operation when type is not visibly controlled,
353         if the subprogram has an explicit overriding indicator.
354         * sem_util.ads, sem_util.adb (Is_Visibly_Controlled): Moved here from
355         sem_disp.adb.
356
357 2009-11-30  Emmanuel Briot  <briot@adacore.com>
358
359         * prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows
360         * prj-attr.ads: Minor comment updates
361
362 2009-11-30  Robert Dewar  <dewar@adacore.com>
363
364         * gnat_rm.texi: Document pragma Short_Circuit
365
366 2009-11-30  Emmanuel Briot  <briot@adacore.com>
367
368         * prj-conf.adb, prj-tree.adb, prj-tree.ads (Create_Attribute): Now set
369         the index either on the attribute or on its value, depending on the
370         kind of the attribute. Done to match recent changes in Prj.PP that were
371         not synchronized with this function.
372
373 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
374
375         * gcc-interface/Make-lang.in: Fix typo.
376         Update dependencies.
377
378 2009-11-30  Robert Dewar  <dewar@adacore.com>
379
380         * gnat_rm.texi: Add documentation for attribute Result.
381
382 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
383
384         * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
385         s-osinte-tru64.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads
386         (Get_Page_Size): Update comment since Get_Page_Size is now required.
387
388 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
389
390         * freeze.adb: Disable Warning on VM targets concerning C Imports, not
391         relevant.
392
393 2009-11-30  Bob Duff  <duff@adacore.com>
394
395         * sprint.adb (Source_Dump): Minor comment fix.
396         (Write_Itype): When writing a string literal subtype, use Expr_Value
397         instead of Intval to get the low bound.
398
399 2009-11-30  Vincent Celier  <celier@adacore.com>
400
401         * gnatlink.adb (Process_Args): Do not call Executable_Name on arguments
402         of switch -o.
403
404 2009-11-30  Robert Dewar  <dewar@adacore.com>
405
406         * exp_ch4.adb (Expand_N_Op_And): Implement pragma Short_Circuit_And_Or
407         (Expand_N_Op_Or): Implement pragma Short_Circuit_And_Or
408         * opt.ads (Short_Circuit_And_Or): New flag
409         * par-prag.adb: Add dummy entry for pragma Short_Circuit_And_Or
410         * sem_prag.adb: Implement pragma Short_Circuit_And_Or
411         * snames.ads-tmpl: Add entries for pragma Short_Circuit_And_Or
412
413 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
414
415         * s-taprop-posix.adb: Fix casing.
416         * s-osinte-tru64.adb: Complete previous check-in.
417
418 2009-11-30  Robert Dewar  <dewar@adacore.com>
419
420         * gnat_rm.texi: Document pragma Compiler_Unit
421         * s-bitops.adb, s-restri.adb, g-htable.adb, s-restri.ads,
422         a-comlin.ads, a-strhas.ads, s-strhas.adb, s-parame.adb,
423         s-parame.ads, a-clrefi.adb, a-clrefi.ads, a-ioexce.ads: Supply missing
424         Compiler_Unit pragmas.
425         * freeze.adb (Freeze_Entity): Improve message for 8-bit boolean passed
426         to C.
427
428 2009-11-30  Robert Dewar  <dewar@adacore.com>
429
430         * makeutl.adb, makeutl.ads, prj-proc.adb, prj.adb, prj.ads: Minor
431         reformatting.
432
433 2009-11-30  Thomas Quinot  <quinot@adacore.com>
434
435         * osint.adb: Minor reformatting
436
437 2009-11-30  Vincent Celier  <celier@adacore.com>
438
439         * makeutl.ads, makeutl.adb (Base_Name_Index_For): New function to get
440         the base name of a main without the extension, with an eventual source
441         index.
442         (Mains.Get_Index): New procedure to set the source index of a main
443         (Mains.Get_Index): New function to get the source index of a main
444         * prj-attr.adb: New attributes Config_Body_File_Name_Index,
445         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
446         Multi_Unit_Switches.
447         * prj-nmsc.adb (Process_Compiler): Takle into account new attributes
448         Config_Body_File_Name_Index, Config_Spec_File_Name_Index,
449         Multi_Unit_Object_Separator and Multi_Unit_Switches.
450         Allow only one character for Multi_Unit_Object_Separator.
451         * prj-proc.adb (Process_Declarative_Items): Take into account the
452         source indexes in indexes of associative array attribute declarations.
453         * prj.adb (Object_Name): New function to get the object file name for
454         units in multi-unit sources.
455         * prj.ads (Language_Config): New components Multi_Unit_Switches,
456         Multi_Unit_Object_Separator Config_Body_Index and Config_Spec_Index.
457         (Object_Name): New function to get the object file name for units in
458         multi-unit sources.
459         * snames.ads-tmpl: New standard names Config_Body_File_Name_Index,
460         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
461         Multi_Unit_Switches.
462
463 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
464
465         * s-tassta.adb: Update comment.
466
467 2009-11-30  Robert Dewar  <dewar@adacore.com>
468
469         * a-ngelfu.adb: Minor code reorganization.
470
471 2009-11-30  Robert Dewar  <dewar@adacore.com>
472
473         * osint.ads, prj.adb, prj.ads: Minor reformatting
474         * s-stchop.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
475         s-taprop-vms.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
476         s-strxdr.adb, s-taprop-irix.adb, s-osinte-hpux-dce.adb,
477         s-osinte-tru64.adb, s-taenca.adb, s-taprop-hpux-dce.adb, s-stausa.adb,
478         s-taprop-posix.adb: Minor code reorganization (use conditional
479         expressions).
480
481 2009-11-30  Bob Duff  <duff@adacore.com>
482
483         * g-sttsne-locking.adb (Copy_Service_Entry): Complete previous change.
484
485 2009-11-30  Bob Duff  <duff@adacore.com>
486
487         * socket.c: Add more accessor functions for struct servent (need
488         setters as well as getters).
489         * g-sothco.ads (Servent): Declare interfaces to C setter functions for
490         struct servent.
491         * g-sttsne-locking.adb (Copy_Service_Entry): Use setter functions for
492         struct servent.
493
494 2009-11-30  Robert Dewar  <dewar@adacore.com>
495
496         * s-stchop-vxworks.adb: Add comment.
497
498 2009-11-30  Emmanuel Briot  <briot@adacore.com>
499
500         * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Now acts
501         on the whole tree, to better share code with gprbuild.
502         (Length): New subprogram, to share code in gprbuild.
503         (Project_Data): Remove fields that are only needed when compiling a
504         project in gprbuild (where we use local variables instead)
505         * osint.adb, osint.ads: Added minor comment on memory management
506
507 2009-11-30  Sergey Rybin  <rybin@adacore.com>
508
509         * gnat_ugn.texi: Update gnatcheck doc.
510
511 2009-11-30  Robert Dewar  <dewar@adacore.com>
512
513         make.adb, prj-makr.adb, g-sothco.ads: Minor reformattting
514         * s-taprop-dummy.adb: Minor code reorganization (raise with msgs start
515         with lower case).
516         * i-vxwoio.adb, g-dirope.adb, g-sercom-linux.adb,
517         g-enblsp-vms-alpha.adb, g-regist.adb, s-imgcha.adb, s-tarest.adb,
518         s-taprop-mingw.adb, g-exctra.adb, g-expect.adb, g-comlin.adb,
519         g-debpoo.adb, g-expect-vms.adb, g-pehage.adb, g-trasym-vms-alpha.adb,
520         g-enblsp-vms-ia64.adb, s-fatgen.adb, s-fileio.adb: Minor code
521         reorganization (use conditional expressions).
522
523 2009-11-30  Vincent Celier  <celier@adacore.com>
524
525         * prj-makr.adb (Source_Files): New hash table to keep track of source
526         file names.
527         (Finalize): Avoid putting several times the same source file name
528         in the source list file.
529         * prj-pp.adb (Print): Fix a bug in the placement of "at nn" for
530         associative array indexes.
531
532 2009-11-30  Robert Dewar  <dewar@adacore.com>
533
534         * g-dyntab.ads: Add missing pragma Compiler_Unit
535
536 2009-11-30  Thomas Quinot  <quinot@adacore.com>
537
538         * s-crtrun.ads, s-crtl.ads, g-stseme.adb, Makefile.rtl, s-fileio.adb
539         (System.CRTL.Runtime): New unit, to contain parts of s-crtl that are
540         used in the Ada runtime but can't be used in the compiler because of
541         bootstrap issues.
542         * socket.c, s-oscons-tmplt.c, g-sothco.ads
543         (System.OS_Constants.SIZEOF_struct_servent): New constant.
544         Use s-oscons constant instead of external variable to get size of
545         struct hostent.
546
547 2009-11-30  Thomas Quinot  <quinot@adacore.com>
548
549         * s-crtl.ads, g-stseme.adb, s-fileio.adb (System.CRTL.strerror): Change
550         return type to Interfaces.C.Strings.chars_ptr to eliminate need for
551         dubious unchecked conversion at call sites.
552         * s-errrep.adb, s-errrep.ads, Makefile.rtl (System.Error_Reporting):
553         Remove obsolete, unused runtime unit.
554         * gcc-interface/Make-lang.in: Update dependencies.
555         * gcc-interface/Makefile.in: Remove VMS specialization of s-crtl, not
556         required anymore.
557
558 2009-11-30  Vincent Celier  <celier@adacore.com>
559
560         * gnatlink.adb: Delete an eventual existing executable file, in case it
561         is a symbolic link, to avoid modifying the target of the symbolic link.
562
563 2009-11-30  Bob Duff  <duff@adacore.com>
564
565         * socket.c: Add accessor functions for struct servent.
566         * g-sothco.ads (Servent): Declare interfaces to C accessor functions
567         for struct servent.
568         * g-socket.adb (To_Service_Entry): Use accessor functions for struct
569         servent.
570
571 2009-11-30  Robert Dewar  <dewar@adacore.com>
572
573         * g-arrspl.adb: Minor reformatting
574         * g-dyntab.adb: Add missing pragma Compiler_Unit
575
576 2009-11-30  Thomas Quinot  <quinot@adacore.com>
577
578         * s-crtl.ads, s-oscons-tmplt.c: Fix support for VMS
579         * make.adb, g-comlin.ads, exp_ch6.adb: Minor reformatting
580
581 2009-11-30  Robert Dewar  <dewar@adacore.com>
582
583         * bcheck.adb, gnatlink.adb, make.adb, makeutl.adb, osint.adb,
584         osint.ads, prj-ext.adb, sem_case.adb: Minor reformatting
585         * g-alleve.adb: Minor code reorganization (use conditional expressions)
586
587 2009-11-30  Matthew Heaney  <heaney@adacore.com>
588
589         * a-crbtgo.adb (Delete_Fixup): Changed always-true predicates to
590         assertions.
591
592 2009-11-30  Thomas Quinot  <quinot@adacore.com>
593
594         * a-tasatt.adb, s-crtl.ads, s-taprop-dummy.adb (System.CRTL.malloc32,
595         System.CRTL.realloc32): Remove VMS-specific routines.
596         (Ada.Task_Attributes.Reference): Remove unreachable code.
597         (System.Task_Primitives.Operations.Initialize, dummy version):
598         Use plain Program_Error rather than call to
599         System.Error_Reporting.Shutdown.
600
601 2009-11-30  Thomas Quinot  <quinot@adacore.com>
602
603         * s-oscons-tmplt.c, xoscons.adb: Add new constants in preparation for
604         sharing s-crtl across all platforms.
605
606 2009-11-30  Thomas Quinot  <quinot@adacore.com>
607
608         * s-commun.adb, s-commun.ads: New internal support unit,
609         allowing code sharing between GNAT.Sockets and
610         GNAT.Serial_Communication.
611         * g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
612         g-socket.adb (GNAT.Sockets.Last_Index): Move to System.Communication.
613         (GNAT.Serial_Communication.Read): Handle correctly the case where no
614         data was read, and Buffer'First = Stream_Element_Offset'First.
615         * Makefile.rtl: Add entry for s-commun
616         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
617         g-socthi-vxworks.ads, g-stseme.adb, g-socthi-mingw.ads,
618         g-socthi.adb, g-socthi.ads (GNAT.Sockets.Thin.Socket_Error_Message):
619         Reimplement in terms of System.CRTL.strerror.
620
621 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
622
623         * gcc-interface/utils.c (copy_type): Unshare the language-specific data
624         and the contents of the language-specific slot if needed.
625
626 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
627
628         * gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location
629         of the operator on both branches of the test in the generic case.
630
631 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
632
633         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...
634         (unchecked_conversion_nop): ...this.  Handle actual parameters.
635         (gnat_to_gnu): Adjust for above renaming.
636
637 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
638
639         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
640         Translate regular boolean types into BOOLEAN_TYPEs.
641
642 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
643
644         * sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype,
645         also set the flag on the Equivalent_Type.
646         * gcc-interface/utils.c (finish_record_type): Replace DO_NOT_FINALIZE
647         parameter with DEBUG_INFO_P.  Rename FIELDLIST into FIELD_LIST.
648         (rest_of_record_type_compilation): Rename FIELDLIST into FIELD_LIST.
649         (build_vms_descriptor32): Adjust call to finish_record_type.
650         (build_vms_descriptor): Likewise.
651         (build_unc_object_type): Likewise.
652         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
653         finish_record_type and components_to_record.
654         (make_packable_type): Adjust call to finish_record_type.
655         (maybe_pad_type): Likewise.  Tweak condition.
656         (components_to_record): Likewise.  Replace DO_NOT_FINALIZE parameter
657         with MAYBE_UNUSED.  Adjust recursive call.
658         (create_variant_part_from): Adjust call to finish_record_type.  Do not
659         call rest_of_record_type_compilation on the new record types.
660         * gcc-interface/trans.c (gigi): Adjust call to finish_record_type.
661         * gcc-interface/gigi.h (finish_record_type): Adjust prototype and
662         comment.
663         (rest_of_record_type_compilation): Adjust comment.
664
665 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
666
667         * exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as
668         frozen for targets that do not require front-end layout.
669         (New_Class_Wide_Subtype): Always reset the freezing status to False.
670         * exp_ch8.adb: Do not 'with' Targparm.
671         (Expand_N_Object_Renaming_Declaration): Always freeze a class-wide
672         subtype that has been built from the expression.
673         * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
674         class wide, freeze the implicit type that has been built from the
675         expression at the dereference point.
676         * freeze.adb (Freeze_Entity): Adjust comment.
677         * gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Class_Wide_Type>:
678         Remove useless test.
679         * gcc-interface/trans.c (process_freeze_entity): Do not special-case
680         class-wide subtypes.
681
682         * s-osinte-aix.adb (clock_gettime): Fix comment.
683         * s-osinte-darwin.adb (clock_gettime): Likewise.
684
685 2009-11-23  Eric Botcazou  <ebotcazou@adacore.com>
686
687         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Pass the list
688         of attributes when building the corresponding variable of a constant.
689         * gcc-interface/utils.c (create_var_decl_1): Do not process attributes
690         for constants.
691
692 2009-11-23  Laurent GUERBY  <laurent@guerby.net>
693             Eric Botcazou  <ebotcazou@adacore.com>
694
695         PR ada/42153
696         * s-osinte-linux.ads (struct_timeval): Delete.
697         * s-osinte-hpux.ads (struct_timeval, To_Duration, To_Timeval): Delete.
698         * s-osinte-kfreebsd-gnu.ads: Likewise.
699         * s-osinte-rtems.ads: Likewise.
700         * s-osinte-aix.ads: Likewise.
701         * s-osinte-hpux-dce.ads: Likewise.
702         * s-osinte-darwin.ads: Likewise.
703         * s-osinte-solaris-posix.ads: Likewise.
704         * s-osinte-irix.ads: Likewise.
705         * s-osinte-solaris.ads: Likewise.
706         * s-osinte-hpux-dce.adb (To_Duration, To_Timeval): Delete.
707         * s-osinte-irix.adb: Likewise.
708         * s-osinte-solaris.adb: Likewise.
709         * s-osinte-rtems.adb: Likewise.  Minor reformatting.
710         * s-osinte-aix.adb (To_Duration, To_Timeval): Delete.
711         (clock_gettime): Use cal.c's timeval_to_duration.
712         * s-osinte-darwin.adb: Likewise.
713
714 2009-11-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
715
716         * adaint.h: Assume large file support on IRIX only if _LFAPI.
717
718 2009-11-21  Laurent GUERBY  <laurent@guerby.net>
719             Eric Botcazou  <ebotcazou@adacore.com>
720
721         * s-osinte-linux.ads (struct_timeval, To_Duration, To_Timeval,
722         gettimeofday): Delete.
723         * s-osinte-posix.adb (To_Duration, To_Timeval): Delete.
724         * s-osprim-posix.adb (struct_timezone, struct_timeval, gettimeofday):
725         Delete.
726         (Clock): Use cal.c's timeval_to_duration.
727         * s-taprop-linux.adb (Monotonic_Clock): Likewise.
728
729 2009-11-12  Eric Botcazou  <ebotcazou@adacore.com>
730             Laurent GUERBY  <laurent@guerby.net>
731
732         * init.c (GNU/Linux Section): Enable for all architectures.
733
734 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
735
736         PR ada/20548
737         * system-linux-alpha.ads (Stack_Check_Probes): Set to true.
738         * system-linux-hppa.ads (Stack_Check_Probes): Likewise.
739         * system-linux-sparc.ads (Stack_Check_Probes): Likewise.
740         * system-linux-sparcv9.ads (Stack_Check_Probes): Likewise.
741
742 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
743
744         * system-linux-alpha.ads (AAMP, Compiler_System_Version, OpenVMS,
745         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
746         Delete.
747         (Stack_Check_Limits, Always_Compatible_Rep): New.
748         * system-linux-mips.ads (AAMP, Compiler_System_Version, OpenVMS,
749         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
750         Delete.
751         (Stack_Check_Limits, Always_Compatible_Rep): New.
752         * system-linux-mips64el.ads (AAMP, Compiler_System_Version, OpenVMS,
753         Functions_Return_By_DSP, Front_End_ZCX_Support, High_Integrity_Mode,
754         Long_Shifts_Inlined): Delete.
755         (Stack_Check_Limits, Always_Compatible_Rep): New.
756         * system-linux-mipsel.ads (AAMP, Compiler_System_Version, OpenVMS,
757         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
758         Delete.
759         (Stack_Check_Limits, Always_Compatible_Rep): New.
760         * system-linux-s390.ads (AAMP, Compiler_System_Version, OpenVMS,
761         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
762         Delete.
763         (Stack_Check_Limits, Always_Compatible_Rep): New.
764         * system-linux-s390x.ads (AAMP, Compiler_System_Version, OpenVMS,
765         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
766         Delete.
767         (Stack_Check_Limits, Always_Compatible_Rep): New.
768         * system-linux-sh4.ads (Stack_Check_Limits, Always_Compatible_Rep):
769         New.
770         * system-linux-sparc.ads (AAMP, Compiler_System_Version, OpenVMS,
771         Front_End_ZCX_Support): Delete.
772         (Stack_Check_Limits, Always_Compatible_Rep): New.
773         * system-linux-sparcv9.ads (AAMP, Compiler_System_Version, OpenVMS,
774         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
775         Delete.
776         (Stack_Check_Limits, Always_Compatible_Rep): New.
777         * system-rtems.ads (OpenVMS): Delete.
778         (Stack_Check_Limits, Always_Compatible_Rep): New.
779
780 2009-11-08  Eric Botcazou  <ebotcazou@adacore.com>
781
782         * gcc-interface/decl.c (make_packable_type): Fix oversight.
783         (gnat_to_gnu_field): Do not attempt to change the form of the type
784         if the field requires strict alignment.  Always change the form of
785         the type if the specified size is smaller than its size.
786
787 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
788
789         * gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes.
790
791 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
792
793         * gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>:
794         New case.
795
796 2009-10-30  Eric Botcazou  <ebotcazou@adacore.com>
797
798         * gcc-interface/utils.c (MAX_FIXED_MODE_SIZE): Delete.
799         (create_field_decl): Update description.  In a packed record, round
800         the size up to a byte boundary only if the field's type has BLKmode.
801         * gcc-interface/gigi.h (create_field_decl): Update description.
802
803 2009-10-30  Emmanuel Briot  <briot@adacore.com>
804
805         * make.adb (Start_Compile_If_Possible): Compute location of resulting
806         ALI file in this procedure instead of after the compilation itself,
807         since the current directory might have changed in between when using
808         -j<n>.
809
810         * osint.ads: Addded missing alignment clause.
811
812         * adaint.c, adaint.h, osint.adb (__gnat_reset_attributes,
813         __gnat_size_of_file_attributes): Rename reset_attributes and
814         size_of_file_attributes.
815
816 2009-10-30  Javier Miranda  <miranda@adacore.com>
817
818         * sem_scil.adb (Adjust_SCIL_Node): Add missing management of sequences
819         of statements when searching for SCIL nodes.
820
821 2009-10-30  Tristan Gingold  <gingold@adacore.com>
822
823         * gnatlink.adb, link.c: By default use shared libgcc on darwin.
824
825 2009-10-30  Emmanuel Briot  <briot@adacore.com>
826
827         * make.adb, osint.adb (Add_Lib_Search_Dir): Do not add if dir is
828         already in the list.
829         This saves system calls when looking for ALI files
830         (Scan_Make_Args): The parameter to gnatmake's -D is now converted to an
831         absolute PATH (so that the above improvement properly occurs if both
832         -D<dir> and -aO<dir> are specified).
833
834 2009-10-30  Thomas Quinot  <quinot@adacore.com>
835
836         * a-direct.adb: Minor reformatting
837
838 2009-10-30  Emmanuel Briot  <briot@adacore.com>
839
840         * make.adb, adaint.c, adaint.h, osint.adb, osint.ads, bcheck.adb
841         (*_attr): new subprograms.
842         (File_Length, File_Time_Stamp, Is_Writable_File): new subprograms
843         (Read_Library_Info_From_Full, Full_Library_Info_Name,
844         Full_Source_Name): Now benefit from a previous cache of the file
845         attributes, to further save on system calls.
846         (Smart_Find_File): now also cache the file attributes. This makes the
847         package File_Stamp_Hash_Table useless, and it was removed.
848         (Compile_Sources): create subprograms for the various steps of the main
849         loop, for readibility and to avoid sharing variables between the
850         various steps.
851
852 2009-10-30  Emmanuel Briot  <briot@adacore.com>
853
854         * make.adb, osint.adb, osint.ads (Library_File_Stamp): Removed, since
855         unused.
856         (Read_Library_Info_From_Full): New subprogram.
857
858 2009-10-30  Robert Dewar  <dewar@adacore.com>
859
860         * a-tideio.adb: Minor reformatting
861         * a-wtdeio.adb, a-ztdeio.adb: Update comments, code clean up.
862
863         * a-reatim.adb, a-tideau.adb, a-ngelfu.adb, a-ztdeau.adb, a-ngrear.adb,
864         a-wtedit.adb, a-ststio.adb, a-ztedit.adb: Minor code reorganization
865         (use conditional expressions).
866
867 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
868
869         * gnat_ugn.texi: Additional info on gnatw.i and gnatw.I
870
871         * sem_case.adb: Improved error message.
872
873 2009-10-30  Emmanuel Briot  <briot@adacore.com>
874
875         * a-direct.adb, gnatcmd.adb, gnatname.adb, makeutl.adb, opt.ads,
876         osint.adb, prj-ext.adb, switch-m.adb (Follow_Links_For_Dirs): Now
877         defaults to False, and controlled by -eL.
878         * a-direct.adb: Add comments.
879         * osint.adb (File_Stamp): Avoid unneeded duplicate system call
880
881 2009-10-30  Robert Dewar  <dewar@adacore.com>
882
883         * sem_res.adb (Resolve_Type_Conversion): Avoid false positive when
884         converting non-static subtype to "identical" static subtype.
885
886 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
887
888         * usage.adb: Add -gnatw.i switch.
889
890 2009-10-30  Vincent Celier  <celier@adacore.com>
891
892         * xsnamest.adb: Update comments with regards to the template files
893         snames.*.tmpl
894
895 2009-10-30  Bob Duff  <duff@adacore.com>
896
897         * s-fileio.adb (Errno_Message): Suppress VMS-specific warning.
898
899 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
900
901         * sem_case.adb (Check_Choices): Add explanatory message when there are
902         missing alternatives when the required range of alternatives is given
903         by the base type of the case expression or discriminant in a variant
904         part.
905
906         * opt.ads: New flag Warn_On_Overlap, to enable warnings on potentially
907         dangerous overlap between actuals in a call, activated by -gnatw.i
908         * sem_warn.adb (Set_Dot_Warning_Switch): set flag.
909         (Warn_On_Overlapping_Actuals): use new flag.
910
911         * gnat_ugn.texi: Document -gnatw.i, warning on overlapping actuals
912
913 2009-10-30  Robert Dewar  <dewar@adacore.com>
914
915         * exp_aggr.adb, exp_ch9.adb: Minor reformatting
916
917 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
918
919         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
920         create integer types with precision 0.
921
922 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
923
924         PR ada/41870
925         * gcc-interface/decl.c (array_type_has_nonaliased_component): Swap
926         parameters and rewrite comments.  For a derived type, return the
927         setting of its parent type.
928         (gnat_to_gnu_entity): Do an alias set copy for derived types if they
929         are composite.  Adjust calls to above function.
930
931 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
932
933         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Object_Size>: Do not
934         return the RM size for padded types.
935
936 2009-10-28  Robert Dewar  <dewar@adacore.com>
937
938         * sem_type.adb: Minor reformatting
939
940 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
941
942         * exp_ch9.adb (Build_Task_Proc_Specification): Generate a different
943         suffix for task type bodies.
944
945 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
946
947         * exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a
948         finalization list if the designated type requires no control actions,
949         to prevent a useless semantic dependence on ada.tags.
950
951 2009-10-28  Bob Duff  <duff@adacore.com>
952
953         * s-fileio.adb: Give more information in exception messages.
954
955 2009-10-28  Robert Dewar  <dewar@adacore.com>
956
957         * gnat_ugn.texi: Document new -gnatyt requirement for space after right
958         paren if next token starts with digit or letter.
959         * styleg.adb (Check_Right_Paren): New rule for space after if next
960         character is a letter or digit.
961
962 2009-10-28  Thomas Quinot  <quinot@adacore.com>
963
964         * s-crtl.ads (System.CRTL.strerror): New function.
965
966 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
967
968         * sem_type.adb: Add guard to recover some type errors.
969
970 2009-10-28  Vincent Celier  <celier@adacore.com>
971
972         * prj-nmsc.adb (Add_To_Or_Remove_From_List): New name of procedure
973         Add_If_Not_In_List to account to the fact that a directory may be
974         removed from the list. Only remove directory if Removed is True.
975
976 2009-10-28  Gary Dismukes  <dismukes@adacore.com>
977
978         * a-textio.ads, a-textio.ads: Put back function EOF_Char in private
979         part. Put back body of function EOF_Char.
980         * a-tienau.adb: Remove with of Interfaces.C_Streams and change EOF back
981         to EOF_Char.
982
983 2009-10-28  Emmanuel Briot  <briot@adacore.com>
984
985         * prj-tree.adb (Free): Fix memory leak.
986
987 2009-10-28  Thomas Quinot  <quinot@adacore.com>
988
989         * s-fileio.adb: Minor reformatting
990
991 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
992
993         * gcc-interface/Make-lang.in: Update dependencies.
994
995 2009-10-28  Robert Dewar  <dewar@adacore.com>
996
997         * exp_attr.adb, exp_ch9.adb, prj-nmsc.adb, tbuild.adb, ali.adb,
998         types.ads: Minor reformatting
999
1000 2009-10-28  Tristan Gingold  <gingold@adacore.com>
1001
1002         * init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard)
1003
1004 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1005
1006         * exp_ch4.adb (Expand_N_Type_Conversion): Perform Integer promotion for
1007         the operand of the unary minus and ABS operators.
1008
1009         * sem_type.adb (Covers): A concurrent type and its corresponding record
1010         type are compatible.
1011         * exp_attr.adb (Expand_N_Attribute_Reference): Do not rewrite a 'Access
1012         attribute reference for the current instance of a protected type while
1013         analyzing an access discriminant constraint in a component definition.
1014         Such a reference is handled in the corresponding record's init proc,
1015         while initializing the constrained component.
1016         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
1017         corresponding record type, propagate components'
1018         Has_Per_Object_Constraint flag.
1019         * exp_ch3.adb (Build_Init_Procedure.Build_Init_Statements):
1020         For a concurrent type, set up concurrent aspects before initializing
1021         components with a per object constrain, because they may be controlled,
1022         and their initialization may call entries or protected subprograms of
1023         the enclosing concurrent object.
1024
1025 2009-10-28  Emmanuel Briot  <briot@adacore.com>
1026
1027         * prj-nmsc.adb (Add_If_Not_In_List): New subprogram, for better sharing
1028         of code.
1029         (Find_Source_Dirs): resolve links if Opt.Follow_Links_For_Dirs when
1030         processing the directories specified explicitly in the project file.
1031
1032 2009-10-28  Robert Dewar  <dewar@adacore.com>
1033
1034         * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb,
1035         a-textio.ads, a-textio.adb: Reorganize (moving specs from private part
1036         to body).
1037         (Initialize_Standard_Files): New procedure.
1038         * a-tienau.adb: Minor change to make EOF directly visible
1039         * a-tirsfi.ads, a-wrstfi.adb, a-wrstfi.ads, a-zrstfi.adb,
1040         a-zrstfi.ads, a-tirsfi.adb: New unit, initial version.
1041         * gnat_rm.texi: Add documentation for
1042         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files.
1043         * Makefile.rtl: Add entries for
1044         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files
1045
1046 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1047
1048         * exp_ch9.ads: Minor reformatting
1049         * sem_ch3.adb: Minor reformatting
1050         * sem_aggr.adb: Minor reformatting.
1051         * sem_attr.adb: Minor reformatting
1052         * tbuild.adb, tbuild.ads, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node):
1053         New subprogram.
1054         Minor code reorganization/factoring.
1055
1056 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1057
1058         * gcc-interface/decl.c (purpose_member_field): New static function.
1059         (annotate_rep): Use it instead of purpose_member.
1060
1061 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1062
1063         * raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
1064         _Unwind_GetIP if HAVE_GETIPINFO is defined.
1065         (db_action_for): Likewise.
1066
1067 2009-10-27  Robert Dewar  <dewar@adacore.com>
1068
1069         * s-fileio.adb, s-fileio.ads, sem_util.adb, sem_warn.adb,
1070         sem_warn.ads: Minor reformatting
1071
1072 2009-10-27  Robert Dewar  <dewar@adacore.com>
1073
1074         * sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add
1075         comments.
1076
1077 2009-10-27  Robert Dewar  <dewar@adacore.com>
1078
1079         * s-os_lib.ads, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor
1080         reformatting.
1081
1082 2009-10-27  Ed Schonberg  <schonberg@adacore.com>
1083
1084         * sem.util.ads, sem_util.adb (Denotes_Same_Object,
1085         Denotes_Same_Prefix): New functions to detect overlap between actuals
1086         that are not by-copy in a call, when one of them is in-out.
1087         * sem_warn.ads, sem_warn.adb (Warn_On_Overlapping_Actuals): New
1088         procedure,  called on a subprogram call to warn when an in-out actual
1089         that is not by-copy overlaps with another actual, thus leadind to
1090         potentially dangerous aliasing in the body of the called subprogram.
1091         Currently the warning is under control of the -gnatX switch.
1092         * sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals.
1093
1094 2009-10-27  Thomas Quinot  <quinot@adacore.com>
1095
1096         * sem_ch12.adb (Install_Formal_Packages): Do not omit installation of
1097         visible entities when the formal package doesn't have a box.
1098
1099         * checks.adb: Minor reformatting.
1100
1101 2009-10-27  Vincent Celier  <celier@adacore.com>
1102
1103         * prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and
1104         set Project to Empty_Node.
1105
1106 2009-10-27  Robert Dewar  <dewar@adacore.com>
1107
1108         * gnatbind.adb: Minor reformatting
1109
1110 2009-10-27  Arnaud Charlet  <charlet@adacore.com>
1111
1112         * exp_aggr.adb: Fix comment.
1113
1114 2009-10-27  Emmanuel Briot  <briot@adacore.com>
1115
1116         * prj-err.adb (Error_Msg): take into account continuation lines when
1117         computing whether we have a warning.
1118
1119 2009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>
1120
1121         * make.adb, s-os_lib.adb, s-os_lib.ads (Create_Temp_Output_File): New
1122         routine that is designed to create temp file descriptor specifically
1123         for redirecting an output stream.
1124
1125 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
1126
1127         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
1128         processing the parent type, build the COMPONENT_REF for a discriminant
1129         with the proper type.
1130
1131 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
1132
1133         * init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo.
1134         * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Add HAVE_GETIPINFO.
1135         Pass GNATLIBCFLAGS_FOR_C to recursive invocations.
1136
1137 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1138
1139         * gcc-interfaces/decl.c (build_subst_list): Convert the expression of
1140         the constraint to the type of the discriminant.
1141
1142 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1143
1144         * gcc-interfaces/decl.c (gnat_to_gnu_entity): Do not create a new
1145         TYPE_DECL when a type is padded if there is already one and reset
1146         TYPE_STUB_DECL in this case.
1147
1148 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1149
1150         * gcc-interfaces/utils.c (create_subprog_decl): Do not redefine
1151         main_identifier_node.
1152
1153 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1154
1155         * gcc-interface/utils.c (convert): When converting to a padded type
1156         with an inner type of self-referential size, pad the expression before
1157         doing the unchecked conversion.
1158
1159 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1160
1161         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Make
1162         sure the element type is consistent.
1163
1164 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1165
1166         * gcc-interface/trans.c (addressable_p): Handle bitwise operations.
1167
1168 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1169
1170         * gcc-interface/ada-tree.h (TYPE_FAT_POINTER_P): Swap with...
1171         (TYPE_IS_FAT_POINTER_P): ...this.
1172         (TYPE_THIN_POINTER_P): Rename into...
1173         (TYPE_IS_THIN_POINTER_P): ...this.
1174         (TYPE_FAT_OR_THIN_POINTER_P): Rename into...
1175         (TYPE_IS_FAT_OR_THIN_POINTER_P): ...this.
1176         (TYPE_IS_PADDING_P): Change definition, move old one to...
1177         (TYPE_PADDING_P): ...this.
1178         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
1179         (get_unpadded_type): Likewise.
1180         (gnat_to_gnu_component_type): Likewise.
1181         (gnat_to_gnu_param): Likewise.
1182         (relate_alias_sets): Likewise.
1183         (make_packable_type): Likewise.
1184         (maybe_pad_type): Likewise.
1185         (gnat_to_gnu_field): Likewise.
1186         (is_variable_size): Likewise.
1187         (annotate_object): Likewise.
1188         (validate_size): Likewise.
1189         (set_rm_size): Likewise.
1190         (make_type_from_size): Likewise.
1191         (rm_size): Likewise.
1192         * gcc-interface/misc.c (gnat_print_type): Likewise.
1193         (gnat_get_alias_set): Likewise.
1194         * gcc-interface/trans.c (Identifier_to_gnu): Likewise.
1195         (Attribute_to_gnu): Likewise.
1196         (call_to_gnu): Likewise.
1197         (gnat_to_gnu): Likewise.
1198         (add_decl_expr): Likewise.
1199         (convert_with_check): Likewise.
1200         (addressable_p): Likewise.
1201         (maybe_implicit_deref): Likewise.
1202         (protect_multiple_eval): Likewise.
1203         (gnat_stabilize_reference_1): Likewise.
1204         * gcc-interface/utils.c (gnat_pushdecl): Likewise.
1205         (finish_record_type): Likewise.
1206         (rest_of_record_type_compilation): Likewise.
1207         (create_type_decl): Likewise.
1208         (gnat_types_compatible_p): Likewise.
1209         (build_template): Likewise.
1210         (convert_vms_descriptor64): Likewise.
1211         (convert_vms_descriptor32): Likewise.
1212         (build_unc_object_type_from_ptr): Likewise.
1213         (update_pointer_to): Likewise.
1214         (convert_to_fat_pointer): Likewise.
1215         (convert_to_fat_pointer): Likewise.
1216         (convert): Likewise.
1217         (remove_conversions): Likewise.
1218         (maybe_unconstrained_array): Likewise.
1219         (unchecked_convert): Likewise.
1220         (handle_vector_type_attribute): Likewise.
1221         * gcc-interface/utils2.c (build_binary_op): Likewise.
1222         (build_unary_op): Likewise.
1223         (build_allocator): Likewise.
1224
1225 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1226
1227         * exp_dbug.ads: Adjust type names in comments.
1228         * gcc-interface/decl.c (maybe_pad_type): Remove NAME_TRAILER parameter,
1229         add new IS_COMPONENT_TYPE parameter.  Adjust.  Remove dead code.
1230         (gnat_to_gnu_entity): Adjust for above change.
1231         (gnat_to_gnu_component_type): Likewise.
1232         (gnat_to_gnu_field): Likewise.
1233         * gcc-interface/trans.c (call_to_gnu): Likewise.  Do not unnecessarily
1234         call max_size.
1235         * gcc-interface/utils.c (finish_record_type): Remove obsolete code.
1236         * gcc-interface/gigi.h (maybe_pad_type): Adjust prototype.
1237
1238 2009-10-16  Joel Sherrill <joel.sherrill@oarcorp.com>
1239
1240         * s-osinte-rtems.ads: Add mutex type to pthread_mutexattr_t
1241         * s-stchop-rtems.adb: Correct binding to rtems_stack_checker_is_blown.
1242
1243 2009-10-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1244
1245         * env.c [__alpha__ && __osf__] (AES_SOURCE): Define.
1246
1247 2009-10-10  Samuel Tardieu  <sam@rfc1149.net>
1248
1249         * sem_eval.adb: Give a more precise error message.
1250
1251 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1252
1253         PR ada/41383
1254         * a-rttiev.adb (Time_Of_Event): Return Time_First for unset event.
1255
1256 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1257
1258         PR ada/38333
1259         * sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract
1260         subprogram to be completed with a "pragma Import".
1261
1262 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1263
1264         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>:
1265         Generate an XVZ variable alongside the XVS type if the size is
1266         not constant.
1267         (maybe_pad_type): Minor tweak.
1268
1269 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1270
1271         * gcc-interface/decl.c (check_ok_for_atomic): Do nothing if the type
1272         doesn't come from source.
1273
1274 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1275
1276         * gcc-interface/decl.c (gnat_to_gnu_component_type): Force at least
1277         unit size for the component size of an array with aliased components.
1278         (maybe_pad_type): Do not warn for MAX_EXPR.
1279
1280 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1281
1282         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Factor out
1283         common code processing the component type into...
1284         <E_Array_Subtype>: Likewise.
1285         (gnat_to_gnu_component_type): ...this new static function.
1286         (maybe_pad_type): Minor cleanup.
1287
1288 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1289
1290         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Rewrite
1291         the handling of constrained discriminated record subtypes.
1292         (components_to_record): Declare the type of the variants and of the
1293         qualified union.
1294         (build_subst_list): Move around.
1295         (compute_field_positions): Rename into...
1296         (build_position_list): ...this.  Return a TREE_VEC.
1297         (annotate_rep): Adjust for above renaming.
1298         (build_variant_list): New static function.
1299         (create_field_decl_from): Likewise.
1300         (get_rep_part): Likewise.
1301         (get_variant_part): Likewise.
1302         (create_variant_part_from): Likewise.
1303         (copy_and_substitute_in_size): Likewise.
1304
1305 2009-09-28  Olivier Hainque  <hainque@adacore.com>
1306
1307         PR ada/41100
1308         * gcc-interface/targtyps.c (get_target_default_allocator_alignment):
1309         Account for observable alignments out of default allocators.
1310
1311 2009-09-28  Richard Henderson  <rth@redhat.com>
1312
1313         * gcc-interface/utils.c (gnat_install_builtins): Update call to
1314         build_common_builtin_nodes.
1315
1316 2009-09-26  Eric Botcazou  <ebotcazou@adacore.com>
1317
1318         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Filter out
1319         negative size for the array dimensions like in the constrained case.
1320         <E_Array_Subtype>: Do not create an artificially non-constant high
1321         bound if the low bound is non-constant.  Minor tweaks.
1322
1323         * gcc-interface/trans.c (lvalue_required_p): Add CONSTANT parameter
1324         and turn ALIASED into a boolean parameter.  Adjust calls to self.
1325         <N_Attribute_Reference>: Return 1 for more attributes.
1326         <N_Object_Renaming_Declaration>: Return 1 for non-constant objects.
1327         <N_Assignment_Statement>: Return 1 for the LHS.
1328         (Identifier_to_gnu): Adjust calls to lvalue_required_p.
1329         (call_to_gnu): Be prepared for wrapped boolean rvalues.
1330
1331 2009-09-25  Olivier Hainquqe  <hainque@adacore.com>
1332             Eric Botcazou  <ebotcazou@adacore.com>
1333
1334         * gcc-interface/ada-tree.h (TYPE_REPRESENTATIVE_ARRAY): New language
1335         specific node.  Representative array type for VECTOR_TYPE entities.
1336         * gcc-interface/utils.c (handle_vector_type_attribute): New handler.
1337         Turn an ARRAY_TYPE entity into a VECTOR_TYPE.   
1338         (gnat_types_compatible_p): Handle VECTOR_TYPEs.
1339         (convert): Likewise.  Arrange to produce VECTOR_CST out of constant
1340         array aggregates for VECTOR_TYPE entities.
1341         (unchecked_convert): Likewise.
1342         (maybe_vector_array): New function. If EXP has VECTOR_TYPE, return EXP
1343         converted to the associated TYPE_REPRESENTATIVE_ARRAY.
1344         (handle_pure_attribute, handle_sentinel_attribute,
1345         handle_noreturn_attribute, handle_malloc_attribute,
1346         handle_vector_size_attribute): Replace uses of qE format by qs.
1347         Remove GCC_DIAG_STYLE definition.
1348         * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Convert
1349         vector input to representative array type on entry.
1350         <N_Op_Eq, etc>: Likewise.
1351         * gcc-interface/gigi.h (maybe_vector_array): Declare.
1352         (VECTOR_TYPE_P): New predicate.
1353         * gcc-interface/misc.c (gnat_print_type): Handle VECTOR_TYPE.
1354
1355 2009-09-24  Eric Botcazou  <ebotcazou@adacore.com>
1356
1357         * gcc-interface/ada.h: Fix outdated comment.
1358         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in
1359         lieu of mark_visited.
1360         * gcc-interface/gigi.h (mark_visited): Change type of parameter.
1361         (MARK_VISITED): New macro.
1362         (gnat_truthvalue_conversion): Delete.
1363         * gcc-interface/decl.c (gnat_to_gnu_entity): Use MARK_VISITED in lieu
1364         of mark_visited.
1365         (annotate_rep): Fix formatting and tidy.
1366         (compute_field_positions): Get rid of useless variable.
1367         * gcc-interface/trans.c (gnat_to_gnu): Retrieve the Nkind of the GNAT
1368         node only once.  Use IN operator for the Nkind in more cases.
1369         Remove calls to gnat_truthvalue_conversion.
1370         (mark_visited): Change type of parameter and adjust.
1371         (mark_visited_r): Dereference TP only once.
1372         (add_decl_expr): Use MARK_VISITED in lieu of mark_visited.
1373         * gcc-interface/utils2.c (gnat_truthvalue_conversion): Delete.
1374         (build_binary_op): Remove calls to gnat_truthvalue_conversion.
1375         (build_unary_op): Likewise.
1376
1377 2009-09-24  Dave Korn  <dave.korn.cygwin@gmail.com>
1378
1379         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Simplify test for
1380         a-except% in target pairs list; don't (implicitly) compare whitespace.
1381
1382 2009-09-24  Jakub Jelinek  <jakub@redhat.com>
1383
1384         * gcc-interface/utils.c (gnat_pushdecl): Don't set
1385         DECL_NO_STATIC_CHAIN, set DECL_STATIC_CHAIN for
1386         nested functions.
1387
1388 2009-09-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
1389
1390         * s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0.
1391         Bind to getpagesize() in RTEMS 4.10 and newer.
1392
1393 2009-09-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1394
1395         * env.c [__alpha__ && __osf__] (_BSD): Define.
1396         * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
1397         to const char *.
1398
1399 2009-09-18  Pascal Obry  <obry@adacore.com>
1400
1401         * mingw32.h: Activate Unicode support for x86-64 Windows platform.
1402
1403 2009-09-18  Vadim Godunko  <godunko@adacore.com>
1404
1405         * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
1406
1407 2009-09-18  Javier Miranda  <miranda@adacore.com>
1408
1409         * exp_aggr.adb (Backend_Processing_Possible): Disable backend
1410         processing for array aggregates in the VM backend if the array has
1411         aliased components.
1412
1413 2009-09-18  Ed Schonberg  <schonberg@adacore.com>
1414
1415         * sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
1416         the prefix indicates a previous semantic error, and this is the first
1417         error in the program.
1418
1419 2009-09-18  Bob Duff  <duff@adacore.com>
1420
1421         * gnat_ugn.texi: Minor editing.
1422
1423 2009-09-18  Vincent Celier  <celier@adacore.com>
1424
1425         * prj.ads, prj.adb (Project_Data): New component
1426         Imported_Directories_Switches.
1427
1428 2009-09-18  Pascal Obry  <obry@adacore.com>
1429
1430         * mingw32.h: Include standard _mingw.h file.
1431         Define _WIN32_WINNT only if not already defined.
1432
1433 2009-09-18  Thomas Quinot  <quinot@adacore.com>
1434
1435         * g-socket.adb (Is_Open): New function indicating whether a
1436         Selector_Type object is open.
1437
1438 2009-09-18  Vincent Celier  <celier@adacore.com>
1439
1440         * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
1441         is deleted before creating it.
1442
1443 2009-09-18  Robert Dewar  <dewar@adacore.com>
1444
1445         * bindgen.adb: Minor reformatting
1446
1447 2009-09-18  Arnaud Charlet  <charlet@adacore.com>
1448
1449         * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
1450         s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
1451         signal handler is installed.
1452         * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
1453         tasks if Abort_Task_Interrupt cannot be used.
1454
1455 2009-09-18  Vincent Celier  <celier@adacore.com>
1456
1457         * prj-tree.ads: Minor comment update
1458
1459 2009-09-17  Bob Duff  <duff@adacore.com>
1460
1461         * g-socket.ads: Document the fact that Close_Selector has no effect on
1462         a closed selector.
1463         * g-socket.adb: Raise an exception when a Selector that should be open
1464         is closed.
1465         (Check_Selector): Declare RSig as a constant rather than a renames,
1466         less confusing.
1467
1468 2009-09-17  Robert Dewar  <dewar@adacore.com>
1469
1470         * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
1471         prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb,
1472         prj-tree.ads: Minor reformatting
1473
1474 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1475
1476         * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
1477         spec.
1478         (Do_Autoconf): If the object directory does not exists, create auto.cgpr
1479         in a temporary directory instead
1480
1481 2009-09-17  Bob Duff  <duff@adacore.com>
1482
1483         * a-dynpri.adb (Set_Priority): Don't do anything if the task is already
1484         terminated.
1485         (Get_Priority): Correct message for "terminated" case -- it said "null".
1486
1487 2009-09-17  Robert Dewar  <dewar@adacore.com>
1488
1489         * exp_ch6.adb: Minor reformatting
1490
1491 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1492
1493         * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
1494         switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
1495         (Project_Node_Tree_Data.Project_Path): New field.
1496
1497         * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
1498
1499 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1500
1501         * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
1502         Remove duplicate code.
1503         (Prj.Ext): Fix memory leak
1504         (Check): Now allow the syntax "-Xfoo=" to set an empty value to the
1505         variable. This was previously allowed in the code in
1506         Is_External_Assignment, and some tests rely on it
1507
1508 2009-09-17  Bob Duff  <duff@adacore.com>
1509
1510         * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
1511
1512 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1513
1514         * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
1515         makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
1516         prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
1517         prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
1518         Scenario variables are now specific to each project tree loaded in
1519         memory.
1520         Code clean ups.
1521
1522 2009-09-17  Javier Miranda  <miranda@adacore.com>
1523
1524         * exp_disp.adb (Make_DT): Remove wrong line of code that was
1525         undocumented and probably added by mistake.
1526
1527 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1528
1529         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
1530         conversions between original and packable version of types from
1531         the expression.
1532
1533 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1534
1535         * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
1536         If a padding type was made for the field, declare it.
1537         (components_to_record): Add DEBUG_INFO_P parameter.  Adjust call
1538         to gnat_to_gnu_field and call to self.
1539         (gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
1540         <E_Array_Subtype>: Likewise.
1541         Adjust calls to gnat_to_gnu_field and components_to_record.
1542
1543 2009-09-16  Robert Dewar  <dewar@adacore.com>
1544
1545         * prj-nmsc.adb: Minor reformatting
1546
1547 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1548
1549         * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
1550         expression is a by-reference type (tagged or inherently limited)
1551         introduce an access type to capture references to the values of each
1552         branch of the conditional.
1553
1554 2009-09-16  Emmanuel Briot  <briot@adacore.com>
1555
1556         * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
1557         (Project_Name_And_Node.Display_Name): new field
1558         The display name of a project (as written in the .gpr file) is now
1559         computed when the project file itself is parsed, not when it is
1560         processed.
1561
1562 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1563
1564         * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
1565         intrinsics untouched (to be expanded later on by gigi) if an external
1566         name has been specified.
1567         (Freeze_Entity): Do not generate a default external name for
1568         imported subprograms with convention Intrinsic (so that the above code
1569         can identify the case where an external name has been explicitly
1570         provided).
1571
1572         * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
1573         replaced by something else due to an existing #define clause.
1574
1575 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1576
1577         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
1578         Parameter_Association node, created for the extra actual generated for
1579         an access parameter of a function that dispatches on result, to prevent
1580         double generation of such actuals when the call is rewritten is a
1581         dispatching call.
1582         * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
1583         * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
1584         that carry this flag when rewriting the original call as a dispatching
1585         call, after propagating the controlling tag.
1586
1587 2009-09-16  Vincent Celier  <celier@adacore.com>
1588
1589         * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
1590         in the source data.
1591         (Check_File): New parameter Source_Dir_Rank, to check if a duplicate
1592         source is allowed.
1593         (Find_Source_Dirs): New parameter Rank to be recorded with the source
1594         directories.
1595         (Search_Directories): Call Check_File with the rank of the directory
1596         * prj.adb (Project_Empty): Add new component Source_Dir_Ranks
1597         (Free): Free also Number_Lists
1598         (Reset): Init also Number_Lists
1599         * prj.ads (Number_List_Table): New dynamic table for lists of numbers
1600         (Source_Data): New component Source_Dir_Rank. Remove component
1601         Known_Order_Of_Source_Dirs, no longer needed.
1602         (Project_Data): New component Source_Dir_Ranks
1603         (Project_Tree_Data): New components Number_Lists
1604
1605 2009-09-16  Vincent Celier  <celier@adacore.com>
1606
1607         * gprep.adb (Yes_No): New global constant
1608         Unix_Line_Terminators: New global Boolean variable
1609         (Process_One_File): Create the out file with a "Text_Translation=" form
1610         that depends on the use of option -T.
1611         (Scan_Command_Line): Add option -T
1612         (Usage): Add line for option -T
1613
1614 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1615
1616         * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
1617         predicate that describes a proper subset of
1618         Is_Predefined_Dispatching_Operation and excludes stream operations,
1619         which can be overridden by the user.
1620         * sem_ch6.adb (Create_Extra_Formals): use
1621         Is_Predefined_Internal_Operation, so that stream operations get extra
1622         formals.
1623         * exp_ch6.adb (Prevent double generation of extra actuals in calls to
1624         'Input, which may be expanded twice, first as a function call and then
1625         as a dispatching call.
1626
1627 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1628
1629         * s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
1630         * g-expect.adb (Set_Up_Child_Communications): Use
1631         System.OS_Constants.Target_OS to determine whether running on Windows.
1632
1633 2009-09-14  Richard Henderson  <rth@redhat.com>
1634
1635         * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
1636
1637 2009-09-14  Eric Botcazou  <ebotcazou@adacore.com>
1638
1639         * exp_dbug.ads (Packed Array Encoding): Document the new encoding for
1640         the unconstrained case.
1641         * gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
1642         the encoding.  Do not give a name to the pointer type to the XUT type.
1643         * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
1644         for fat pointer types, if any.  Make sure DECL_ARTIFICIAL is cleared
1645         on nodes with DECL_ORIGINAL_TYPE set.
1646         (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
1647         for fat pointer types.  Make sure DECL_ARTIFICIAL is cleared.
1648
1649 2009-09-14  Richard Henderson  <rth@redhat.com>
1650
1651         * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1652         default_init_unwind_resume_libfunc.
1653         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
1654         __builtin_eh_pointer.
1655         * gcc-interface/utils.c (gnat_install_builtins): Update call
1656         to build_common_builtin_nodes.
1657
1658 2009-09-13  Richard Guenther  <rguenther@suse.de>
1659             Rafael Avila de Espindola  <espindola@google.com>
1660
1661         * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
1662         eh_personality_libfunc and lang_eh_runtime_type.
1663         (LANG_HOOKS_EH_PERSONALITY): Define.
1664         (gnat_eh_personality_decl): New static variable.
1665         (gnat_eh_personality): New static function.
1666         Include gt-ada-misc.h.
1667         * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
1668         * gcc-interface/config-lang.in (gtfiles): Add misc.c.
1669
1670 2009-09-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1671
1672         PR ada/18302
1673         * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
1674
1675 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1676
1677         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
1678         flow of control.
1679         Avoid useless work when processing the Treat_As_Volatile flag.
1680
1681 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1682
1683         * gcc-interface/targtyps.c: Reorder include directives.
1684
1685 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1686
1687         * gcc-interface/targtyps.c: Add missing include for tm_p.h.
1688         * gcc-interface/Make-lang.in: Update dependencies.
1689
1690 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1691
1692         * make.adb: Add missing documentation for multilib handling.
1693         
1694 2009-09-03  Diego Novillo  <dnovillo@google.com>
1695
1696         * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
1697
1698 2009-09-02  Richard Henderson  <rth@redhat.com>
1699
1700         * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
1701
1702 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1703
1704         * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
1705         and uc arguments.
1706         
1707 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1708
1709         * gcc-interface/decl.c (cannot_be_superflat_p): Handle
1710         Signed_Integer_Type_Definition Scalar_Ranges.
1711
1712 2009-09-02  Eric Botcazou  <ebotcazou@adacore.com>
1713
1714         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
1715         SAVE_EXPR built for misaligned arguments.  Remove redundant stuff.
1716         (addressable_p): Return true for more rvalues.
1717
1718 2009-09-01  Jakub Jelinek  <jakub@redhat.com>
1719
1720         * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
1721         POINTER_SIZE to HOST_WIDE_INT.
1722
1723 2009-09-01  Richard Guenther  <rguenther@suse.de>
1724
1725         * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
1726
1727 2009-08-25  Eric Botcazou  <ebotcazou@adacore.com>
1728
1729         * gcc-interface/trans.c (call_to_gnu): Tidy.
1730         (gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
1731         non-constant size but the array itself has constant size.
1732         * gcc-interface/utils.c (convert_vms_descriptor64): Fix type
1733         consistency error.
1734         (convert_vms_descriptor32): Likewise.
1735
1736 2009-08-22  Aurelien Jarno  <aurelien@aurel32.net>
1737
1738         * gcc-interface/Makefile.in: Add Ada support for 
1739         GNU/kFreeBSD x86_64.
1740         * system-freebsd-x86_64.ads: New file based on 
1741         system-freebsd-x86.ads.
1742
1743 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1744
1745         * gcc-interface/utils.c (convert): In the padded case, do the final
1746         conversion as an unchecked conversion if the underlying types are
1747         array types with variable size.
1748
1749 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1750
1751         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
1752         as visited.
1753         * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
1754         bounds.
1755         * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
1756         fields.
1757         (gnat_gimplify_expr) <DECL_EXPR>: New case.
1758
1759 2009-08-17  Aurelien Jarno  <aurelien@aurel32.net>
1760
1761         * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
1762         (stack_t): New record type.
1763         (sigaltstack): New imported function.
1764         (Alternate_Stack): New imported variable.
1765         (Alternate_Stack_Size): New constant.
1766
1767 2009-08-17  Vasiliy Fofanov  <fofanov@adacore.com>
1768
1769         * a-calend-vms.adb: Fix typo.
1770
1771 2009-08-17  Tristan Gingold  <gingold@adacore.com>
1772
1773         * s-taprop-posix.adb: Round up the stack size to avoid failure on
1774         Darwin.
1775
1776 2009-08-17  Gary Dismukes  <dismukes@adacore.com>
1777
1778         * sem_cat.adb (Validate_Static_Object_Name): Update comment.
1779
1780 2009-08-17  Vincent Celier  <celier@adacore.com>
1781
1782         * make.adb (Arguments_Collected): Unneeded, removed
1783         (Change_To_Object_Directory): Use Project directly. Add pragma Assert to
1784         ensure caller does not pass in No_Project.
1785         (Compile): Add new parameter Project. Let procedure
1786         Collect_Arguments_And_Compile provide the proper value.
1787
1788         * switch-c.adb: Add documentation for -gnatea and -gnatez
1789
1790 2009-08-17  Ben Brosgol  <brosgol@adacore.com>
1791
1792         * gnat_ugn.texi: Changed name of package in SAL example, to avoid
1793         clash with Ada 2005 reserved word (interface).
1794
1795 2009-08-17  Robert Dewar  <dewar@adacore.com>
1796
1797         * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
1798         a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
1799         a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
1800         (use conditional expressions).
1801
1802 2009-08-17  Robert Dewar  <dewar@adacore.com>
1803
1804         * make.adb: Add ??? comment
1805         * tbuild.adb: Minor reformatting
1806
1807 2009-08-17  Thomas Quinot  <quinot@adacore.com>
1808
1809         * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
1810         Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
1811         Use Tbuild.Make_Temporary to create entity for the temporary.
1812
1813 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
1814
1815         * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
1816         and ignore -mieee switch to avoid spawning an extra gcc in this case.
1817
1818 2009-08-17  Thomas Quinot  <quinot@adacore.com>
1819
1820         * tbuild.adb: Minor reformatting
1821
1822 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
1823
1824         * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
1825         exist, as is the case for synchronized types, use the type of the
1826         discriminal in the parameter specification, to prevent a spurious
1827         subtype mismatch in gigi.
1828
1829 2009-08-17  Robert Dewar  <dewar@adacore.com>
1830
1831         * prj-env.adb: Minor reformatting
1832         * make.adb: Minor reformatting
1833         Comment updates
1834
1835 2009-08-17  Javier Miranda  <miranda@adacore.com>
1836
1837         * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
1838
1839 2009-08-17  Emmanuel Briot  <briot@adacore.com>
1840
1841         * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
1842         (Processing_Flags.Require_Obj_Dirs): new field, which controls whether
1843         object directories must be present. In the case of gprclean at least,
1844         these are optional (if they do not exist there is nothing to clean)
1845
1846 2009-08-17  Robert Dewar  <dewar@adacore.com>
1847
1848         * prj-env.adb: Minor reformatting
1849         * sem_ch3.adb: Minor reformatting
1850
1851 2009-08-17  Hristian Kirtchev  <kirtchev@adacore.com>
1852
1853         * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
1854         the time zone since VxWorks chose positive values to represent west
1855         time zones and negative for east zones.
1856
1857 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
1858
1859         * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
1860         an anonymous access type whose designated type is generic.
1861
1862 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
1863
1864         * comperr.adb (Compiler_Abort): Do not generate a bug box when in
1865         codepeer mode, friendlier.
1866
1867 2009-08-10  Laurent GUERBY  <laurent@guerby.net>
1868
1869         * make.adb: Handle multilib
1870         
1871 2009-08-10  Vincent Celier  <celier@adacore.com>
1872
1873         * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
1874         the temporary file name in the error message when the temporary file
1875         cannot be created.
1876
1877 2009-08-10  Yannick Moy  <moy@adacore.com>
1878
1879         * gnat_ugn.texi: Fix typo
1880
1881 2009-08-10  Robert Dewar  <dewar@adacore.com>
1882
1883         * exp_ch7.adb: Add ??? comment for last change
1884
1885 2009-08-10  Vincent Celier  <celier@adacore.com>
1886
1887         * prj-env.adb (Add_To_Buffer): New procedure
1888         (Create_Config_Pragmas_File): Write to temporary file in one shot
1889         (Create_Mapping_File): Ditto
1890         (Set_Ada_Paths): Ditto
1891
1892 2009-08-10  Vincent Celier  <celier@adacore.com>
1893
1894         PR ada/17566
1895         * xref_lib.adb (Print_Xref): Make sure that there is at least one space
1896         between a declaration name and its type.
1897
1898 2009-08-07  Javier Miranda  <miranda@adacore.com>
1899
1900         * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
1901         SCIL node.
1902
1903 2009-08-07  Robert Dewar  <dewar@adacore.com>
1904
1905         * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
1906
1907 2009-08-07  Vincent Celier  <celier@adacore.com>
1908
1909         * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
1910         specified on the command line and there are switches in the Compiler
1911         package of the project file, use these compilation switches to invoke
1912         the tool.
1913
1914 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
1915
1916         * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
1917
1918 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
1919
1920         * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
1921         even if not in main unit, to simplify debugging.
1922
1923 2009-08-07  Arnaud Charlet  <charlet@adacore.com>
1924
1925         * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
1926         * gcc-interface/Make-lang.in: Update dependencies.
1927
1928 2009-08-07  Robert Dewar  <dewar@adacore.com>
1929
1930         * types.ads: Minor reformatting
1931         * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
1932         * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
1933         Output_Non_Modified_In_Out_Warnings.
1934         * sem_ch13.adb: Remove ??? comment.
1935
1936 2009-08-07  Vincent Celier  <celier@adacore.com>
1937
1938         * mlib-prj.adb (Build_Library): Include binder generate object file
1939         for SAL when library name is only one character.
1940
1941 2009-08-07  Thomas Quinot  <quinot@adacore.com>
1942
1943         * targparm.adb: Minor reformatting
1944         * sem.adb: Minor reformatting
1945         * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
1946
1947 2009-08-07  Emmanuel Briot  <briot@adacore.com>
1948
1949         * prj-conf.adb: Remove duplicate directory separator in the output when
1950         an object directory does not exist.
1951
1952 2009-08-07  Robert Dewar  <dewar@adacore.com>
1953
1954         * exp_util.adb: Minor reformatting
1955
1956 2009-08-07  Vincent Celier  <celier@adacore.com>
1957
1958         * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
1959         length used).
1960
1961 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
1962
1963         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
1964         detect non-static private components that will violate restriction
1965         No_Implicit_Heap_Allocation.
1966
1967 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
1968
1969         * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
1970
1971 2009-08-02  Eric Botcazou  <ebotcazou@adacore.com>
1972
1973         * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
1974         * gcc-interface/utils.c (end_subprog_body): Likewise.
1975         * gcc-interface/trans.c (gigi): Likewise.
1976         (gnat_to_gnu): Likewise.
1977
1978 2009-07-30  Ben Brosgol  <brosgol@adacore.com>
1979
1980         * gnat_ugn.texi: Correct minor texi glitch.
1981
1982 2009-07-30  Ed Schonberg  <schonberg@adacore.com>
1983
1984         * exp_util.adb (Expand_Subtype_From_Expr): If the type of the
1985         expression has an underlying representation that is an unchecked union,
1986         there is no subtype to build.
1987
1988 2009-07-30  Robert Dewar  <dewar@adacore.com>
1989
1990         * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
1991         s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
1992         sem_ch7.adb, adaint.c: Minor reformatting
1993
1994 2009-07-29  Javier Miranda  <miranda@adacore.com>
1995
1996         * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
1997         moved from the expander to the semantic analyzer to allow the
1998         generation of these internal entities when compiling with no code
1999         generation. Required by ASIS.
2000         * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
2001         * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
2002         * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
2003         (Expand_Freeze_Record_Type): Remove call to
2004         Add_Internal_Interface_Entities because this routine is now called at
2005         early stage --when the freezing node is analyzed.
2006
2007 2009-07-29  Robert Dewar  <dewar@adacore.com>
2008
2009         * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
2010         exp_disp.adb, g-socket.adb: Minor reformatting
2011
2012 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
2013
2014         * sem_ch7.adb (New_Private_Type): Create class-wide type after other
2015         attributes have been established, so that they are all inherited by the
2016         class-wide type.
2017         * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
2018         properly named subtypes of class-wide types.
2019
2020 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
2021
2022         * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
2023         indicators on user-defined operators.
2024
2025 2009-07-29  Vadim Godunko  <godunko@adacore.com>
2026
2027         * g-socket.adb (Receive_Vector): Add comment.
2028
2029 2009-07-29  Javier Miranda  <miranda@adacore.com>
2030
2031         * frontend.adb (Frontend): Code cleanup.
2032         * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
2033         Rewriten as a procedure because it a new out-mode parameters to
2034         keep up-to-date the controlling tag node in the caller.
2035         (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
2036         new out-mode parameter to keep up-to-date the controlling tag node in
2037         the caller.
2038         * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
2039         exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
2040         package Sem_SCIL.
2041         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
2042         available in new package Sem_SCIL.
2043         (Next_Non_SCIL_Node): Ditto.
2044         * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
2045         package Sem_SCIL.
2046         (Expand_Dispatching_Call): Update call to modified Exp_Atags routines
2047         plus complete decoration of SCIL dispatching node.
2048         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
2049         * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
2050         package Sem_SCIL.
2051         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
2052         * exp_ch3.adb (Build_Init_Procedure): Fix comment.
2053         * sem_scil.ads, sem_scil.adb: New files.
2054         * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
2055         Update dependencies.
2056
2057 2009-07-28  Robert Dewar  <dewar@adacore.com>
2058
2059         * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
2060         makeutl.adb: Minor reformatting & code reorganization
2061         * sem_ch3.adb: Minor reformatting.
2062         Fix spelling error (constraint for constrain) in error msg.
2063
2064 2009-07-28  Emmanuel Briot  <briot@adacore.com>
2065
2066         * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
2067         global variable that also exists in makeutl.ads, and that some routines
2068         in that package use already.
2069         (Check): Moved part of the code to makeutl.adb for better sharing with
2070         gprbuild.
2071
2072 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2073
2074         * gcc-interface/Make-lang.in: Update dependencies.
2075
2076 2009-07-28  Emmanuel Briot  <briot@adacore.com>
2077
2078         * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
2079         importing project does not end up in the list, in the case of extending
2080         projects.
2081         * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
2082         makeutl.ads, for better sharing with gprbuild.
2083
2084 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2085
2086         * gnat_ugn.texi: Fix typo.
2087
2088 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
2089
2090         * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
2091         derivation that renames some discriminants and constrain others.
2092         * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
2093         prefix is a derived untagged type, convert to the root type to conform
2094         to the signature of the protected operations.
2095
2096 2009-07-28  Robert Dewar  <dewar@adacore.com>
2097
2098         * sinfo.ads: Update comments.
2099         * exp_attr.adb: Minor reformatting
2100
2101 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
2102
2103         * sem_aggr.adb (Get_Value): A named association in a record aggregate
2104         should be treated as a modification of the named component, not as a
2105         reference.
2106
2107 2009-07-28  Quentin Ochem  <ochem@adacore.com>
2108
2109         * prj-tree.ads, prj-tree.adb (Free): Minor editing.
2110         * prj.ads, prj.adb (Image): Ditto.
2111
2112 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2113
2114         * frontend.adb: Minor reformatting.
2115         (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
2116         for efficiency.
2117
2118 2009-07-28  Bob Duff  <duff@adacore.com>
2119
2120         * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
2121         'Address to get a pointer to the protected body wrapper.
2122
2123 2009-07-28  Javier Miranda  <miranda@adacore.com>
2124
2125         * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
2126         nodes if we are not generating code.
2127         * frontend.adb (Check_SCIL_Node): New subprogram. Used to check
2128         attribute SCIL_Related_Node of SCIL dispatching nodes.
2129         (Check_SCIL_Nodes): New instantiation of Traverse_Proc.
2130         * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
2131         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
2132         (SCIL_Entity): Update documentation.
2133         (SCIL_Related_Node): Update documentation.
2134         (SCIL_Controlling_Tag): New attribute.
2135         (SCIL_Target_Prim): Update documentation.
2136         (N_Null_Statement): Remove attributes associated with SCIL nodes.
2137         (N_SCIL_Dispatch_Table_Object_Init): New node.
2138         (N_SCIL_Dispatch_Table_Tag_Init): New node.
2139         (N_SCIL_Dispatching_Call): New node.
2140         (N_SCIL_Tag_Init): New node.
2141         * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
2142         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
2143         (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
2144         (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
2145         (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
2146         (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
2147         N_SCIL_Dispatching_Call nodes.
2148         * sem.adb (Analyze): No need to analyze SCIL nodes.
2149         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
2150         (Next_Non_SCIL_Node): New subprogram
2151         * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
2152         dispatching nodes.
2153         * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
2154         dispatching node.
2155         * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
2156         dispatching node.
2157         * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
2158         null statement nodes.
2159         (Build_Init_Procedure): Generate new SCIL node.
2160         * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
2161         node.
2162         * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
2163         they are currently implemented as special N_Null_Statement nodes.
2164         * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
2165         procedure call then check if some SCIL node references it and needs
2166         readjustment.
2167         * exp_disp.ads (SCIL_Node_Kind): Removed.
2168         (Adjust_SCIL_Node): New subprogram.
2169         (Find_SCIL_Node): New subprogram.
2170         (Get_SCIL_Node_Kind): Removed.
2171         (New_SCIL_Node): Removed.
2172         * exp_disp.adb (Adjust_SCIL_Node): New subprogram
2173         (Expand_Dispatching_Call): Generate new SCIL dispatching node including
2174         decoration of its new controlling_tag attribute.
2175         (Get_SCIL_Node_Kind): Removed.
2176         (Find_SCIL_Node): New subprogram.
2177         (Make_Secondary_DT): Generate new SCIL nodes.
2178         (Make_Tags): Generate new SCIL nodes.
2179         (New_SCIL_Node): Removed.
2180         * exp_util.adb (Insert_Actions): Handle SCIL nodes.
2181         (Remove_Side_Effects): Check if relocated nodes require readjustment
2182         of some SCIL dispatching node.
2183         * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
2184
2185 2009-07-28  Robert Dewar  <dewar@adacore.com>
2186
2187         * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
2188
2189 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2190
2191         * gnat_ugn.texi: Add section about gnatcheck rule exemption.
2192
2193 2009-07-28  Vadim Godunko  <godunko@adacore.com>
2194
2195         * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
2196         not defined by limits.h.
2197
2198         * g-socket.adb (Receive_Vector): Use minimum length from user's vector
2199         length and maximum supported length of data vector.
2200
2201 2009-07-28  Gary Dismukes  <dismukes@adacore.com>
2202
2203         * usage.adb: Inhibit printing gcc-specific switches for AAMP target.
2204         * make.adb: Call Get_Target_Parameters before calling Usage so that
2205         VM_Target and AAMP_On_Target will be set.
2206
2207 2009-07-28  Olivier Hainque  <hainque@adacore.com>
2208
2209         * g-ssinty.ads: Remove, pointless and just confusing at this stage.
2210         * gnat_rm.texi: Remove documentation.
2211         * g-sse.ads: Minor reorg along the way.
2212         * gcc-interface/Makefile.in: Remove processing for g-ssinty.
2213         * g-ssvety.ads: Minor comment updates.
2214
2215 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2216
2217         * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
2218         for the new format of the report file.
2219
2220 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2221
2222         * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
2223
2224 2009-07-28  Pascal Obry  <obry@adacore.com>
2225
2226         * g-expect.adb: Record standard handles only on Windows.
2227
2228 2009-07-27  Emmanuel Briot  <briot@adacore.com>
2229
2230         * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
2231         Add comments.
2232
2233 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2234
2235         * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
2236         rule definition the paragraph that explains that generic functions and
2237         functions from generic packages are not checked.
2238
2239 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
2240
2241         * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
2242         procedure when determining whether to set the Overridden_Operation
2243         field of a subprogram overriding an inherited subprogram.
2244         
2245 2009-07-27  Robert Dewar  <dewar@adacore.com>
2246
2247         * a-except.adb, a-except-2005.ads: Minor reformatting
2248
2249 2009-07-27  Robert Dewar  <dewar@adacore.com>
2250
2251         * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
2252
2253 2009-07-27  Javier Miranda  <miranda@adacore.com>
2254
2255         * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
2256         add some documentation explaining why the SCIL nodes must be generated
2257         at that point.
2258
2259 2009-07-27  Olivier Hainque  <hainque@adacore.com>
2260
2261         * a-except.adb: Bind to __builtin_longjmp directly.
2262         * a-except-2005.ads: Provide direct binding to __builtin_longjmp
2263         for sjlj variants.
2264         * a-exexpr.adb: Use it.
2265         * a-except-xi.adb: Likewise.
2266         * raise.c (_gnat_builtin_longjmp): Remove and update comments.
2267         * raise.h (_gnat_builtin_longjmp): Remove declaration.
2268
2269 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2270
2271         * sem_eval.adb (Compile_Time_Compare): More precise handling of
2272         Known_Valid flag, to prevent spurious range deductions when scalar
2273         variables may be uninitialized. New predicate Is_Known_Valid_Operand.
2274
2275 2009-07-27  Robert Dewar  <dewar@adacore.com>
2276
2277         * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
2278         and code clean up.
2279
2280 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2281
2282         * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
2283         Ravenscar mode. Error has already been posted on specification.
2284
2285         * sem.adb: Further code clean ups.
2286
2287 2009-07-27  Robert Dewar  <dewar@adacore.com>
2288
2289         * g-sse.ads: Minor reformatting
2290
2291 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2292
2293         * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
2294         alternate ali extension.
2295         * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
2296         account Osint.ALI_Suffix.
2297         * osint.ads (ALI_Suffix): Make visible.
2298         * gnatfind.adb (Gnatfind): Add support for --ext= switch.
2299         * gnat_ugn.texi: Document new gnatfind --ext= switch.
2300
2301 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2302
2303         * sem.adb (Walk_Library_Items): If main unit is an instance body, do
2304         its spec first.
2305
2306 2009-07-27  Javier Miranda  <miranda@adacore.com>
2307
2308         * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
2309         the dispatching call has is expanded.
2310
2311 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2312
2313         * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
2314         Is_Known_Valid flag on the temporary created for the value whose
2315         validity is being checked.
2316
2317         * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
2318         handle properly main units that are package specifications.
2319
2320 2009-07-27  Geert Bosch  <bosch@adacore.com>
2321
2322         * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
2323         * sem_aux.ads: Fix typo in comment
2324         * sem_util.ads (Is_LHS): Adjust comment to match body
2325
2326 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2327
2328         * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
2329         rule definition.
2330
2331 2009-07-27  Olivier Hainque  <hainque@adacore.com>
2332
2333         * g-sse.ads, g-ssvety.ads: Update comments.
2334
2335 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2336
2337         * gnat_ugn.texi: Update gnatcheck doc.
2338
2339 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2340
2341         * lib-xref.ads: Allocate/document 'o' char for use by references to
2342         spark 'own' variables.
2343
2344 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
2345
2346         * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
2347         objects, since these are implicitly referenced by the return statement.
2348         * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
2349         Is_Return_Object in this procedure, as return objects will never make
2350         it here since they're now marked as Referenced.
2351
2352 2009-07-27  Robert Dewar  <dewar@adacore.com>
2353
2354         * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
2355
2356 2009-07-27  Robert Dewar  <dewar@adacore.com>
2357
2358         * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
2359
2360         * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
2361
2362 2009-07-27  Geert Bosch  <bosch@adacore.com>
2363
2364         * checks.adb (Find_Check): Minor streamlining of logic.
2365         * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
2366         * debug.adb: Document -gnatdX debug flag
2367         * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
2368         list information about reads from scalar entities.
2369         Also slightly simplify condition for Expand_Current_Value.
2370         * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
2371         functions.
2372
2373 2009-07-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2374
2375         PR bootstrap/40578
2376         * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
2377         (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
2378         to these.
2379         (__gnat_stat): Adjust reference to STAT in prototype.
2380         * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
2381         __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
2382         __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
2383         __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
2384         __gnat_is_writable_file, __gnat_is_executable_file,
2385         __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
2386         __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
2387         __gnat_copy_attribs): Adjust all references to the above.
2388         * cstreams.c (__gnat_is_regular_file_fd): Likewise.
2389
2390 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2391
2392         * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
2393         done at the same time, guard against listing a body more than once.
2394
2395 2009-07-23  Robert Dewar  <dewar@adacore.com>
2396
2397         * exp_ch6.adb: Minor reformatting
2398
2399 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2400
2401         * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
2402         static expression is known valid.
2403         * sem_eval.adb (Compile_Time_Compare): Handle properly non-static
2404         operands of a subtype with a single value.
2405
2406 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2407
2408         * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
2409         are in the context of the main unit body.
2410
2411 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2412
2413         * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
2414         misprint in rule description.
2415
2416 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2417
2418         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
2419         test that the object declaration is within an extended return statement
2420         with direct test of whether the declared object associated with the
2421         build-in-place call is a return object, since the enclosing function
2422         might not even be a build-in-place function.
2423
2424 2009-07-23  Robert Dewar  <dewar@adacore.com>
2425
2426         * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
2427         Minor code reorganization
2428
2429 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2430
2431         * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
2432         for static analysis, only packed arrays are causing troubles.
2433
2434 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2435
2436         * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
2437         ancestor part is a call to a limited function with an unconstrained
2438         result subtype unless the aggregate has a null extension type.
2439         * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
2440         the parent type declaration to avoid blowups on subtype cases.
2441
2442 2009-07-23  Robert Dewar  <dewar@adacore.com>
2443
2444         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
2445         comma.
2446
2447         * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
2448
2449         * s-regexp.adb: Minor reformatting
2450         * scos.ads: Minor reformatting.
2451
2452 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2453
2454         * freeze.adb (Set_Small_Size): Remove extra space for consistency with
2455         other similar messages.
2456         * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
2457         messages/implicit packing in CodePeer mode.
2458         (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
2459         * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
2460         CodePeer mode.
2461
2462 2009-07-23  Pascal Obry  <obry@adacore.com>
2463
2464         * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
2465         systems.
2466
2467 2009-07-23  Robert Dewar  <dewar@adacore.com>
2468
2469         * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
2470         Minor reformatting.
2471
2472 2009-07-23  Yannick Moy  <moy@adacore.com>
2473
2474         * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
2475         pattern.
2476         (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
2477         string.
2478         (Raise_Exception): Ditto.
2479
2480 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2481
2482         * g-sse.ads: Simplify comment.
2483
2484 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2485
2486         * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
2487         low level internal type definitions for distinct higher level
2488         binding development activities (user type definitions and
2489         operations).
2490         * gnat_rm.texi: Document it.
2491         * g-ssvety.ads: Use it.
2492         * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
2493         g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
2494         * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
2495         for the "may_alias" attribute.
2496
2497 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2498
2499         * scos.ads: Minor typo fix
2500
2501         * gcc-interface/decl.c (validate_alignment): For the case of an
2502         implicit array base type, look for alignment clause on first subtype.
2503
2504 2009-07-23  Robert Dewar  <dewar@adacore.com>
2505
2506         * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
2507         with tagged parent if tagged parent is fully repped.
2508
2509 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2510
2511         * sem.adb (Walk_Library_Units): Handle properly the case where a unit
2512         in the context depends on the spec of the main unit, by delaying
2513         processing of the main unit body until all other units have been
2514         processed.
2515
2516 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2517
2518         * a-convec.adb: Add comments about suspicious/subtle code.
2519
2520 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2521
2522         * einfo.ads: Document use of Alias in private overriding
2523
2524 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2525
2526         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
2527         an array type, propagate alignment from first subtype to implicit base
2528         type so that other subtypes (such as the itypes for aggregates of the
2529         type) also receive the expected alignment.
2530
2531         * g-comlin.ads: Minor documentation clarification/rewording. 
2532         * scos.ads: Minor comments update.
2533         * lib-writ.ads: Minor reformatting
2534
2535 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2536
2537         * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
2538         of a class-wide interface type that is a return object of a
2539         build-in-place function, bypass the interface-related expansions into
2540         renamings with displacement conversions, etc.
2541         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
2542         for the case where a renaming occurs in a build-in-place context, to
2543         assert that the bypassing of the build-in-place treatment only occurs
2544         in the case of a renaming that is an expansion of a return expression
2545         that is itself a build-in-place function call.
2546
2547 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2548
2549         * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
2550         valid candidate interpretation in a prefixed view if it is hidden, but
2551         overrides an inherited operation declared in the visible part.
2552
2553 2009-07-23  Robert Dewar  <dewar@adacore.com>
2554
2555         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2556         division operands to 64-bit at all in any circumstances.
2557
2558 2009-07-23  Robert Dewar  <dewar@adacore.com>
2559
2560         * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
2561         checking ranges for mod/rem to see if conditional jump will be
2562         generated.
2563         (Analyze_N_Op_Rem): Don't try to check actual lower bounds for
2564         generating special -1 test for rem, generate it whenever both
2565         operands can be negative (match circuit in Sem_Res).
2566         (Analyze_N_Op_Rem): Don't go to base type, no longer needed and
2567         destroys memory of positive range.
2568         * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
2569         checking ranges for mod/rem to see if conditional jump will be generated
2570
2571 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2572
2573         * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
2574         scalar components has non-static bounds, the equivalent aggregate
2575         cannot be built, even if the expression is static, because range checks
2576         will be generated.
2577
2578 2009-07-23  Robert Dewar  <dewar@adacore.com>
2579
2580         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2581         division operands to 64-bit inside a conversion if 64-bit division not
2582         available.
2583
2584 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2585
2586         * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
2587
2588 2009-07-23  Javier Miranda  <miranda@adacore.com>
2589
2590         * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
2591         (Entity/Set_Entity): not available in N_Null_Statement nodes
2592         (Is_Scil_Node): renamed as Is_SCIL_Node
2593         (Scil_Nkind): renamed as SCIL_Nkind
2594         (Scil_Related_Node): renamed as SCIL_Related_Node
2595         (Scil_Target_Prim): renamed as SCIL_Target_Prim
2596         (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
2597         (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
2598         (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
2599         Update documentation
2600         * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
2601         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2602         (New_Scil_Node): Renamed as New_SCIL_Node
2603         * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
2604         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2605         (New_Scil_Node): Renamed as New_SCIL_Node
2606         * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
2607
2608 2009-07-23  Robert Dewar  <dewar@adacore.com>
2609
2610         * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
2611         * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
2612         * einfo.adb: Minor reformatting
2613
2614 2009-07-23  Robert Dewar  <dewar@adacore.com>
2615
2616         * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
2617         cross-referencing the new related code in
2618         Exp_Ch4.Expand_N_Type_Conversion.
2619         * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
2620
2621         * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
2622         Add comment.
2623
2624 2009-07-23  Javier Miranda  <miranda@adacore.com>
2625
2626         * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
2627         Scil_Target_Prim, N_Has_Entity): Add missing documentation.
2628         * exp_disp.ads (Scil_Node_Kind): Ditto.
2629         * exp_disp.adb (Make_DT, Make_Tags): Ditto.
2630         * exp_ch3.adb (Build_Init_Procedure): Ditto.
2631
2632 2009-07-23  Javier Miranda  <miranda@adacore.com>
2633
2634         * einfo.adb (Component_Type): Add missing assertion.
2635         * sem_res.adb (Resolve_Call): Ensure proper kind of entity before
2636         reading attribute Component_Size.
2637         * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
2638         before reading attributes Component_Size and Component_Type.
2639         * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
2640         before reading attribute Component_Type.
2641
2642 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2643
2644         * gnat_rm.texi: Document the GNAT.SSE units.
2645
2646 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2647
2648         * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
2649         not null return if it appears on a subunit.
2650
2651 2009-07-23  Robert Dewar  <dewar@adacore.com>
2652
2653         * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
2654         check right away so it does not get skipped for early returns, e.g.
2655         array assignments.
2656         (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
2657         left-side unless we really know the value is valid.
2658
2659         * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
2660         reformatting. Minor code reorganization. Add comments.
2661
2662 2009-07-23  Robert Dewar  <dewar@adacore.com>
2663
2664         * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
2665         complex condition.
2666
2667 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2668
2669         * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
2670         with test of coverage, to allow specific type objects in extended
2671         returns of class-wide functions. Remove now-unnecessary special-case
2672         tests that allowed this in certain cases of expanded extended returns.
2673
2674 2009-07-23  Javier Miranda  <miranda@adacore.com>
2675
2676         * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
2677         N_Null_Statements (for SCIL nodes).
2678         (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
2679         (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
2680         (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
2681         nodes).
2682         (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
2683         * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
2684         associated with dispatching call.
2685         (Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
2686         (Make_DT, Make_Tags): Add generation of SCIL nodes associated with
2687         initialization of dispatch tables and initialization of tags.
2688         (New_Scil_Node): New function that creates a new SCIL node.
2689         (Build_Init_Procedure): Add generation of SCIL node associated with the
2690         initialization of tags done in the IP subprogram.
2691
2692 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2693
2694         * errout.adb (Error_Msg_NEL): If the entity in the initial message has
2695         Warnings_Off, do not emit continuation messages.
2696
2697         * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
2698         spec.
2699
2700 2009-07-23  Emmanuel Briot  <briot@adacore.com>
2701
2702         * ali.adb: Minor comment update
2703
2704 2009-07-23  Vasiliy Fofanov  <fofanov@adacore.com>
2705
2706         * s-win32.ads (HANDLE): Define to be the same size as address type.
2707         Fix copyright.
2708
2709 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2710
2711         * g-sse.ads: New file. Root of the SSE facilities trees, with
2712         general description and common declarations.
2713         * g-ssvety.ads: New file. Expose user level SSE vector types.
2714         * impunit.adb (Non_Imp_File_Names_95): Register new units.
2715         * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
2716         EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
2717
2718 2009-07-23  Ben Brosgol  <brosgol@adacore.com>
2719
2720         * gnat_ugn.texi: Wordsmithing.
2721
2722 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2723
2724         * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
2725
2726 2009-07-22  Eric Botcazou  <ebotcazou@adacore.com>
2727
2728         * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
2729         they are already of the base type of the index.
2730
2731 2009-07-22  Brett Porter  <porter@adacore.com>
2732
2733         * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
2734
2735 2009-07-22  Robert Dewar  <dewar@adacore.com>
2736
2737         * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
2738         * gnat_ugn.texi: Add documentation for -gnateS switch
2739         * ug_words: Add entry for -gnateS /SCO_OUTPUT
2740         * gcc-interface/Make-lang.in: Update dependencies.
2741
2742         * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
2743         par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
2744         complete information for SCO input/output.
2745
2746 2009-07-22  Sergey Rybin  <rybin@adacore.com>
2747
2748         * gnat_ugn.texi: Update doc for some gnatcheck rules.
2749
2750 2009-07-22  Robert Dewar  <dewar@adacore.com>
2751
2752         * par_sco.adb, par_sco.ads (pscos): New debug routine to output
2753         contents of SCO tables.
2754         * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
2755         scos.adb, scos.ads: New files.
2756         * gcc-interface/Make-lang.in: Update dependencies.
2757
2758         * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
2759         fixes and reformatting.
2760
2761 2009-07-22  Robert Dewar  <dewar@adacore.com>
2762
2763         * g-socket.ads: Minor reformatting
2764
2765 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2766
2767         * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
2768         include the entity kind for following cases of unreferenced entities:
2769         E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
2770
2771 2009-07-22  Ed Falis  <falis@adacore.com>
2772
2773         * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
2774         with taskSuspend.
2775
2776 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2777
2778         * adadecode.c: Make this file compilable outside of GCC.
2779
2780 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2781
2782         * g-socket.adb, g-socket.ads (Check_Selector): Make sure that
2783         (partially) default-initialized socket sets are handled properly by
2784         clearing their Set component.
2785
2786 2009-07-22  Bob Duff  <duff@adacore.com>
2787
2788         * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
2789
2790 2009-07-22  Robert Dewar  <dewar@adacore.com>
2791
2792         * gnat_ugn.texi: Minor reformatting
2793
2794 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2795
2796         * errout.adb (Error_Msg): A style message within an instantiation
2797         should not be labelled as an error.
2798
2799 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2800
2801         * freeze.adb (Freeze_Entity): Do not generate extra formal for function
2802         in initialization expression if function does not have convention Ada.
2803
2804 2009-07-22  Sergey Rybin  <rybin@adacore.com>
2805
2806         * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
2807         '--separate-label' to control label layout.
2808
2809 2009-07-22  Robert Dewar  <dewar@adacore.com>
2810
2811         * exp_tss.ads, sem_eval.adb: Minor reformatting
2812
2813 2009-07-22  Bob Duff  <duff@adacore.com>
2814
2815         * exp_dist.adb, exp_dist.ads: Update comments.
2816
2817 2009-07-22  Brett Porter  <porter@adacore.com>
2818
2819         * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
2820         FPSCR.
2821         * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
2822
2823 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2824
2825         * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
2826         exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
2827         Minor reformatting.
2828         * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
2829         used poor terminology.
2830
2831 2009-07-22  Robert Dewar  <dewar@adacore.com>
2832
2833         * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
2834         * sem_eval.adb, exp_tss.adb: Minor comment update.
2835         * stylesw.adb: Code clean up.
2836
2837 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2838
2839         * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
2840         component size is an exact number of bytes, an array type can have a
2841         size clause that forces packing even though the array type itself is
2842         not bit-packed.
2843
2844 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2845
2846         * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
2847         if there is a previous entity with the same name in the scope, ignore
2848         it if it is the renaming declaration for a generic package introduced
2849         in instances.
2850
2851 2009-07-22  Nicolas Roche  <roche@adacore.com>
2852
2853         * seh_init.c: use RtlAddFunctionTable to register our SEH exception
2854         handler on x86_64 windows.
2855
2856 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2857
2858         * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
2859         false positives in CodePeer, so ignore this pragma in this mode.
2860
2861 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2862
2863         * sem_util.adb, sem_ch10.adb: Minor reformatting
2864
2865         * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
2866         special handling for the case of no data received and Item'First =
2867         Stream_Element_Offset'First.
2868         (Last_Index): New subprogram factoring the above special handling
2869         over the various locations where it is required.
2870
2871 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2872
2873         * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
2874         checks in CodePeer_Mode.
2875         * gcc-interface/Make-lang.in: Update dependencies.
2876
2877 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2878
2879         * sem_aggr.adb: Improve error message.
2880
2881         * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
2882         of an address representation clause.
2883         * freeze.adb (Freeze_Static_Object): An local imported object is legal
2884         if it has an address clause.
2885
2886 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2887
2888         * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
2889         expression to insert an elab check using a conditional expression, be
2890         sure to carry the original list of interpretations to the new location.
2891
2892 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2893
2894         * gnat1drv.adb: Fix spelling error.
2895
2896 2009-07-22  Javier Miranda  <miranda@adacore.com>
2897
2898         * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
2899         at the library level and fix a hidden bug in its implementation: its
2900         functionality for renaming objects was broken because
2901         N_Object_Renaming_Declarations nodes are not a subclass of
2902         N_Declaration nodes (as documented in sinfo.ads).
2903         * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
2904         check nodes that are actuals of generic instantiations.
2905
2906 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2907
2908         * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
2909         context of a compilation unit is being analyzed. Used to detect
2910         circularities created by with_clauses that are not detected by the
2911         loading machinery.
2912         * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
2913         analyzing the context of the current compilation unit, to detect
2914         possible circularities created by with_clauses.
2915
2916 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2917
2918         * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
2919
2920 2009-07-22  Robert Dewar  <dewar@adacore.com>
2921
2922         * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
2923         * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
2924         procedure.
2925         * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
2926         * gnat_ugn.texi: Add documentation of -gnatyB
2927         * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
2928
2929 2009-07-22  Robert Dewar  <dewar@adacore.com>
2930
2931         * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
2932         make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
2933         s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
2934         s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
2935         errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
2936         a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
2937         s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
2938         a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
2939         erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
2940         obey short-circuit style rule.
2941
2942 2009-07-20  Bob Duff  <duff@adacore.com>
2943
2944         * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
2945         instead of "and", because otherwise Parent_Last_Bit is read
2946         uninitialized in the case where it's not a tagged type, or the tagged
2947         parent does not have a complete rep clause.
2948
2949 2009-07-20  Robert Dewar  <dewar@adacore.com>
2950
2951         * stylesw.ads: Minor documentation change.
2952
2953         * types.ads: Minor reformatting
2954
2955 2009-07-20  Javier Miranda  <miranda@adacore.com>
2956
2957         * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
2958         generating the tag checks associated with dispatching calls.
2959         * exp_disp.adb (Apply_Access_Checks): New subprogram.
2960         (New_Value): This routine was previously local to expand dispatching
2961         calls but it is now used also by Apply_Access_Checks.
2962         (Expand_Dispatching_Calls): Cleanup code because the functionality of
2963         tag checks is now provided by Apply_Access_Checks. 
2964         * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
2965         case of dispatching calls.
2966
2967 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
2968
2969         * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
2970         CodePeer_Mode.
2971
2972 2009-07-20  Gary Dismukes  <dismukes@adacore.com>
2973
2974         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
2975         for VMS, only rewrite the first component of the associated exception's
2976         aggregate init (as 'V'), and eliminate the bogus rewrites of the second
2977         and third components  that were being replaced with 'M' and 'S'.
2978
2979 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
2980
2981         * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
2982         Also do not generate error when parsing a spec in CodePeer mode.
2983
2984 2009-07-20  Javier Miranda  <miranda@adacore.com>
2985
2986         * checks.adb (Apply_Access_Check): Avoid checks on availability of
2987         runtime function Offset_To_Top_Ptr when compiling with no tagged
2988         types expansion.
2989         * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
2990         adding code to the init proc when compiling for VM backends.
2991
2992 2009-07-20  Vincent Celier  <celier@adacore.com>
2993
2994         * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
2995         account switches -gnatw.?
2996
2997 2009-07-20  Thomas Quinot  <quinot@adacore.com>
2998
2999         * sem_dist.adb, exp_dist.adb: Minor reformatting
3000
3001         * Make-generated.in: New file.
3002
3003         * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
3004
3005 2009-07-20  Javier Miranda  <miranda@adacore.com>
3006
3007         * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
3008         subprogram.
3009         * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
3010         dynamically tagged expression.
3011         * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
3012         factorizes code.
3013         * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
3014         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
3015
3016 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
3017
3018         * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
3019         CodePeer_Mode is set, to benefit from full front-end expansion
3020         (e.g. generics).
3021
3022 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3023
3024         * sem_res.adb: Add guard.
3025
3026         * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
3027         for possible attribute definition of External_Tag, in case clause
3028         appears in the private part of a package.
3029
3030 2009-07-20  Jerome Guitton  <guitton@adacore.com>
3031
3032         * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
3033
3034 2009-07-20  Vadim Godunko  <godunko@adacore.com>
3035
3036         * a-coorma.adb: Minor reformatting.
3037
3038 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3039
3040         * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
3041         access return types.
3042         * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
3043         provide an itype reference to gigi to force elaboration of the subtype
3044         at the proper point.
3045
3046 2009-07-20  Tristan Gingold  <gingold@adacore.com>
3047
3048         * g-expect.adb: Avoid closeing already closed handle.
3049
3050 2009-07-20  Robert Dewar  <dewar@adacore.com>
3051
3052         * sprint.adb (Write_Subprogram_Name): New procedure to output
3053         subprogram name with possible preceding $ (replaces
3054         Note_Implicit_Run_Time_Call).
3055
3056 2009-07-20  Robert Dewar  <dewar@adacore.com>
3057
3058         * vms_data.ads: Minor reformatting
3059
3060         * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
3061         applies to base type.
3062         (Parent_Subtype): Now allowed on record subtype, applies to base type
3063         * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
3064         for case of fully repped tagged type.
3065         (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
3066         tag save/restore for fully repped tagged type case.
3067         * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
3068         * fe.h (Is_Fully_Repped_Tagged_Type): New function
3069         * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
3070         overlap of tagged type components with parent type if parent type is
3071         fully repped.
3072         * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
3073
3074         * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
3075         comparisons.
3076         (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
3077         (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
3078
3079         * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
3080         logical operators (AND/OR/XOR), not comparison operators.
3081
3082         * sprint.ads: Minor reformatting
3083
3084 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3085
3086         * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
3087         intrinsics, check that argument is a string literal, rather than
3088         checking for staticness.
3089
3090 2009-07-20  Robert Dewar  <dewar@adacore.com>
3091
3092         * sem_ch13.adb: Minor reformatting
3093
3094         * einfo.ads: Minor reformatting
3095         Component_Bit_Offset is no longer considered obsolescent
3096
3097 2009-07-20  Nicolas Roche  <roche@adacore.com>
3098
3099         * a-calend.adb: Redefine time_t as signed integer with same size as
3100         Address type.
3101         * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
3102         Address type
3103         * adaint.h: On Windows 64bits declare OS_Time as long long instead of
3104         long
3105
3106 2009-07-20  Javier Miranda  <miranda@adacore.com>
3107
3108         * exp_tss.adb (Init_Proc): Add missing support for non-default C++
3109         constructors that have anonymous access type formals.
3110
3111         * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
3112         class-wide arguments in case of imported C++ subprograms.
3113
3114         * exp_ch3.adb (Build_Initialization_Call): Add assertion.
3115
3116 2009-07-20  Sergey Rybin  <rybin@adacore.com>
3117
3118         * vms_data.ads: Update qualifiers.
3119
3120 2009-07-20  Robert Dewar  <dewar@adacore.com>
3121
3122         * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
3123         reformatting
3124
3125 2009-07-17  Richard Guenther  <rguenther@suse.de>
3126
3127         PR c/40401
3128         * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
3129         state.  Remove unused parameter.
3130         (gnat_gimplify_function): Do not gimplify here.
3131         Fold into its only caller and remove.
3132         (gnat_builtin_function): Adjust for end_subprog_body signature change.
3133         (gnat_write_global_declarations): Also finalize the CU.
3134         * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
3135         * gcc-interface/trans.c (gigi): Revert to pre-tuples state.
3136         (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
3137         change.
3138         * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
3139
3140 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
3141
3142         * gcc-interface/Make-lang.in: Update dependencies
3143
3144         * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
3145
3146 2009-07-15  Robert Dewar  <dewar@adacore.com>
3147
3148         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
3149         N_Label. Remove SCO table entry for entry point (not used).
3150
3151         * par_sco.ads: Remove SCO entry point type (not used)
3152
3153         * switch.adb: Minor code clean up.
3154
3155 2009-07-15  Eric Botcazou  <ebotcazou@adacore.com>
3156
3157         * exp_dbug.ads (Base Record Types): Document enhanced encoding.
3158
3159 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3160
3161         * gnatls.adb: Minor reformatting
3162
3163         * gnatcmd.adb: Minor code reorganization
3164
3165 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3166
3167         * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
3168         determine whether a component of a private type has a composite type.
3169
3170 2009-07-15  Robert Dewar  <dewar@adacore.com>
3171
3172         * sem_ch10.adb: Minor reformatting throughout
3173         Minor code reorganization (put nested subprograms in alpha order)
3174
3175 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3176
3177         * exp_ch6.adb (Expand_Call): Prevent double attachment of the result
3178         when compiling a call to a protected function that returns a controlled
3179         object.
3180
3181 2009-07-15  Hristian Kirtchev  <kirtchev@adacore.com>
3182
3183         * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
3184         one. Add task locking and unlocking around the critical region which
3185         mentions localtime_r and global variable timezone for various targets.
3186         Comment reformatting.
3187
3188 2009-07-15  Robert Dewar  <dewar@adacore.com>
3189
3190         * gnat_rm.texi: Document s-ststop.ads
3191
3192         * impunit.ad: (Map_Array): New table of alternative names
3193         (Get_Kind_Of_Unit): Return possible suggested alternative name
3194
3195         * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
3196         alternative name.
3197
3198         * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
3199         alternative unit if an implementation unit is with'ed.
3200
3201 2009-07-15  Robert Dewar  <dewar@adacore.com>
3202
3203         * gnat_ugn.texi: Minor updates.
3204
3205         * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
3206
3207 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3208
3209         * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
3210         conditions of a derived boolean type.
3211         Minor reformatting
3212
3213 2009-07-15  Robert Dewar  <dewar@adacore.com>
3214
3215         * gnat1drv.adb: Initialize SCO tables
3216
3217         * par-load.adb: Call SCO_Record for main unit spec
3218
3219         * par.adb: Make call to SCO_Record for main unit
3220
3221         * par_sco.adb (Unit_Table): Change format to facilitate sort
3222         (Process_Decisions): New procedure with list argument
3223         (Traverse_Generic_Package_Declaration): New procedure
3224         (Initialize): New procedure, replaces Init
3225         (SCO_Output): Sort unit table before output
3226         (SCO_Record): Avoid duplications
3227         (SCO_Record): Handle remaining cases of units
3228         (Traverse_Declarations_Or_Statements): Handle generics
3229
3230         * par_sco.ads (Initialize): New peocedure (replaces Init)
3231
3232         * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
3233         subunit.
3234
3235 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
3236
3237         * debug.adb: Add -gnatd.J switch for now to support scil generation in
3238         parallel. Add missing doc for -gnatd.I and -gnatd.O
3239
3240 2009-07-15  Robert Dewar  <dewar@adacore.com>
3241
3242         * lib-load.adb: Minor reformatting
3243
3244         * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
3245
3246 2009-07-15  Robert Dewar  <dewar@adacore.com>
3247
3248         * par.adb: Minor reformatting
3249         Add ??? comment for possible bad comment
3250
3251         * par-ch10.adb: Minor reformatting
3252
3253 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3254
3255         * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
3256         is a literal of a derived boolean type, it appears as an unchecked
3257         conversion. Retrieve actual value from expression of conversion.
3258
3259 2009-07-15  Robert Dewar  <dewar@adacore.com>
3260
3261         * sem_ch3.adb: Minor reformatting
3262
3263         * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
3264         lib-writ.ads, lib-writ.adb: Minor reformatting.
3265         Fix problem with SCO format in ALI files
3266
3267 2009-07-15  Robert Dewar  <dewar@adacore.com>
3268
3269         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3270         exp_aggr.adb: Minor code reorganization (better calling sequence for
3271         Make_Temporary).
3272
3273 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3274
3275         * opt.ads: Minor comment edits
3276
3277 2009-07-15  Tristan Gingold  <gingold@adacore.com>
3278
3279         * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
3280         needed.
3281
3282 2009-07-15  Robert Dewar  <dewar@adacore.com>
3283
3284         * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
3285         information.
3286
3287         * lib-writ.ads: Document addition of SCO lines to ALI file
3288
3289         * par_sco.ads, par_sco.adb: New files.
3290
3291         * opt.ads (Generate_SCO): New switch
3292
3293         * par.adb (Par): Call SCO_Record to record SCO information
3294
3295         * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
3296
3297         * switch-c.adb: Recognize -gnateS to generate SCO information
3298
3299         * usage.adb: Add line for -gnateS
3300
3301         * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
3302
3303 2009-07-15  Robert Dewar  <dewar@adacore.com>
3304
3305         * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
3306         reformatting.
3307
3308 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3309
3310         * g-socthi-mingw.adb: Minor comment addition
3311
3312         * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
3313
3314 2009-07-15  Robert Dewar  <dewar@adacore.com>
3315
3316         * g-htable.ads, s-htable.ads: Minor reformatting
3317
3318 2009-07-15  Robert Dewar  <dewar@adacore.com>
3319
3320         * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
3321         new switch -gnatw.g.
3322         (Set_GNAT_Mode_Warnings): New procedure.
3323
3324         * lib-xref.adb: Minor reformatting
3325
3326 2009-07-15  Robert Dewar  <dewar@adacore.com>
3327
3328         * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
3329         Minor code reorganization
3330
3331 2009-07-14  Taras Glek  <tglek@mozilla.com>
3332             Rafael Espindola  <espindola@google.com>
3333
3334         * gcc-interface/Make-lang.in (ada.install-plugin): New target for
3335         installing plugin headers.
3336
3337 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3338
3339         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3340         exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
3341         and link it to the expression whose value it captures.
3342
3343 2009-07-13  Robert Dewar  <dewar@adacore.com>
3344
3345         * output.adb: Minor comment addition for last change
3346
3347         * sinfo.ads: Minor reformatting
3348
3349 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3350
3351         * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
3352         spawn failed like on all other targets.
3353
3354 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3355
3356         * exp_ch7.adb: Indicate origin of temporary for transient expression.
3357
3358 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3359
3360         * s-oscons-tmplt.c: Add comment.
3361
3362 2009-07-13  Robert Dewar  <dewar@adacore.com>
3363
3364         * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
3365         reformatting. Minor code reorganization (add 9 argument version of
3366         Nkind_In).
3367
3368         * impunit.adb: Remove s-os_lib from list of system extensions.
3369
3370         * sem_util.ads: Minor reformatting
3371
3372         * output.adb: Add warnings off/on around System.OS_Lib.
3373
3374 2009-07-13  Bob Duff  <duff@adacore.com>
3375
3376         * exp_dist.adb: Minor comment updates.
3377
3378 2009-07-13  Gary Dismukes  <dismukes@adacore.com>
3379
3380         * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
3381         several references to CodePeer.
3382
3383 2009-07-13  Bob Duff  <duff@adacore.com>
3384
3385         * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
3386         Build_TypeCode_Function_All): Do not recurse if the type is the base
3387         type.
3388
3389 2009-07-13  Robert Dewar  <dewar@adacore.com>
3390
3391         * exp_ch4.adb: Minor comment change
3392
3393 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3394
3395         * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
3396         type of iteration, to prevent spurious warnings.
3397
3398 2009-07-13  Nicolas Roche  <roche@adacore.com>
3399
3400         * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
3401         included.
3402
3403 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3404
3405         * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
3406         gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
3407         Generate_SCIL.
3408         (CodePeer_Mode): New -gnatC switch.
3409         (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
3410         CodePeer_Mode.
3411
3412 2009-07-13  Eric Botcazou  <ebotcazou@adacore.com>
3413
3414         * checks.adb (Selected_Range_Checks): Do not consider that a non-static
3415         integer bound forces the check if it is compared to its subtype range.
3416
3417 2009-07-13  Robert Dewar  <dewar@adacore.com>
3418
3419         * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
3420         prj-strt.ads: Minor reformatting
3421
3422 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3423
3424         * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
3425         set the type of the From_Any call to the base type.
3426
3427 2009-07-13  Doug Rupp  <rupp@adacore.com>
3428
3429         * symbols-processing-vms-ia64.adb (Process): Add variables and
3430         constants to retrieve and check for symbol visibility.
3431
3432 2009-07-13  Javier Miranda  <miranda@adacore.com>
3433
3434         * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
3435         the identical type we remove the conversion completely because
3436         it is useless.
3437
3438 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3439
3440         * prj-err.adb (Error_Msg): One more case where a message should be
3441         considered as a warning.
3442
3443         * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
3444
3445 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3446
3447         * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
3448         calling stubs in the (library level) scope of the RCI locator, where it
3449         is attached, not in the caller's scope.
3450
3451 2009-07-13  Javier Miranda  <miranda@adacore.com>
3452
3453         * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
3454         interface object declarations we delay the generation of the equivalent
3455         record type declarations until its expansion because there are cases in
3456         which they are not required.            
3457
3458         * sem_util.adb (Implements_Interface): Add missing support for subtypes.
3459
3460         * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
3461         addition of assertion.
3462
3463         * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
3464         interface types require no equivalent constrained type declarations
3465         because the expanded code only references the tag component associated
3466         with the interface.
3467         (Find_Interface_Tag): Improve management of interfaces that are
3468         ancestors of tagged types.
3469
3470         * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
3471         class-wide object declarations to add missing support to statically
3472         displace the pointer to the object to reference the tag component
3473         associated with the interface.
3474
3475         * exp_disp.adb (Make_Tags) Avoid generation of internally generated
3476         auxiliary types associated with user-defined dispatching calls if the
3477         type has no user-defined primitives.
3478
3479 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3480
3481         * mingw32.h: Make it explicit that we need XP or later.
3482
3483         * initialize.c: Remove useless extern symbol declaration.
3484
3485         * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
3486         code reuse in expect.c.
3487
3488         * adaint.c: Changes throughout the Windows section to redesign storage
3489         of the child process list and the process identification.
3490
3491         * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
3492         for interfacing, fix errors.
3493         (__gnat_expect_portable_execvp): use function in adaint.c
3494
3495 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3496
3497         * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
3498         prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
3499         prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
3500         errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
3501         (Prj.Nmsc.Report_Error): Removed, no longer needed.
3502         Always use Prj.Err.Report_Message.
3503
3504 2009-07-13  Robert Dewar  <dewar@adacore.com>
3505
3506         * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
3507         & comment edits.
3508
3509 2009-07-13  Robert Dewar  <dewar@adacore.com>
3510
3511         * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
3512         prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
3513
3514 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3515
3516         * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
3517         mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
3518         Ada_Prj_Include_File_Set): Removed, since not needed
3519         Code clean up.
3520
3521 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3522
3523         * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
3524         Analyze_Membership_Op.
3525
3526         * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
3527         Resolve_Membership_Op.
3528
3529         * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
3530         Expand_N_In.
3531
3532 2009-07-13  Robert Dewar  <dewar@adacore.com>
3533
3534         * clean.adb: Minor reformattting
3535
3536 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3537
3538         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
3539         gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
3540         prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
3541         prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
3542         and attributes in a project tree.
3543         (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
3544         Remove last remaining mode-specific code (ada_only or
3545         multi_language). This was duplicating code
3546         (Get_Mode, Set_Mode): removed, no longer used.
3547         (Initialize_Project_Path): all tools will now take into account both
3548         GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
3549         Remove some global variables and subprograms no longer used
3550         Make temporary files tree-specific, to avoid interferences between
3551         trees loaded in memory at the same time.
3552         (Prj.Delete_Temporary_File): new subprogram
3553         (Object_Paths, Source_Paths): fields no longer stored in the project
3554         tree, since they are only needed locally in Set_Ada_Paths.
3555         (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
3556         effect in practice.
3557         (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
3558         by local variables in the appropriate subprograms
3559         (Has_Foreign_Sources): removed.
3560
3561         * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
3562
3563 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3564
3565         * gnat1drv.adb (Adjust_Global_Switches): No longer set
3566         Back_Annotate_Rep_Info in inspector mode.
3567         (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
3568
3569         * opt.ads: Update comment.
3570
3571 2009-07-13  Robert Dewar  <dewar@adacore.com>
3572
3573         * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
3574         prj.ads: Minor reformatting and code reorganization.
3575
3576         * par-ch3.adb (Check_Restricted_Expression): New procedure
3577
3578 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3579
3580         * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
3581         attribute into a call of the corresponding suprogram, create extra
3582         formals for the subprogram, because it may be a renaming whose
3583         analysis does not create extra formals.
3584
3585 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3586
3587         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
3588         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3589         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
3590         prj-tree.ads: Minor reformatting.
3591         (Processing_Flags): new record to encapsulate the set of common
3592         parameters to several subprograms in the project manager.
3593         (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
3594         Remove the need for the Current_Dir parameter in subprograms.
3595         (Look_For_Sources): minor refactoring, now that we no longer need to
3596         share subprograms between the two Ada_Only and Multi_Language modes
3597         (Processing_Flags): New field Error_On_Unknown_Language.
3598         Merge tests for library project between gnatmake and gprbuild.
3599
3600 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3601
3602         * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
3603         Minor reformatting.
3604
3605 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3606
3607         * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
3608         than units.
3609
3610 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3611
3612         * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
3613         Write,Input,Output} from private view to full view.
3614
3615         * sem_type.adb, sem_type.ads: Minor reformatting
3616
3617 2009-07-13  Nicolas Setton  <setton@adacore.com>
3618
3619         * exp_dbug.ads: Add documentation note on the utility of
3620         DW_AT_GNAT_encoding for IDEs.
3621
3622 2009-07-13  Robert Dewar  <dewar@adacore.com>
3623
3624         * g-socthi-vxworks.adb: Minor reformatting
3625
3626         * gnatcmd.adb: Minor reformatting
3627
3628 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3629
3630         * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
3631         removed, not used anymore.
3632         (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
3633         New subprogram, implements copy of an Any value into a limited object.
3634         (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
3635         Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
3636         Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
3637         of parameters of a limited type, use the above new subprogram.
3638
3639 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3640
3641         * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
3642         Location.
3643         (Copy_ALI_Files): Avoid calls to read when pointing outside of the
3644         allocated space.
3645         (Error_Report): Remove global variable, replaced by parameters.
3646
3647 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3648
3649         * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
3650         standard sendto(2) interface for connected sockets (passing a null
3651         destination address). Use send(2) instead for that case.
3652
3653 2009-07-13  Pascal Obry  <obry@adacore.com>
3654
3655         * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
3656
3657 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3658
3659         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
3660         prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
3661         variables and tables in prj-nmsc.adb.
3662         (Tree_Processing_Data): Renames Processing_Data, some new fields added
3663         (Project_Processing_Data): New record
3664         Simplify/unify check for missing sources.
3665
3666 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3667
3668         * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
3669         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3670         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
3671         prj-tree.ads (Immediate_Directory_Of): Removed.
3672         (Prj.Pars): Now parse the project simulating a default config file.
3673         (Add_Default_GNAT_Naming_Scheme): New subprogram
3674         (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
3675         Remove gnatmake-specific parsing of source files.
3676         (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
3677         the error itself to provide more precise diagnostics.
3678         (Process_Exceptions_Unit_Based): Avoid duplicate error message when
3679         a unit belongs to several projects.
3680         (Copy_Interface_Sources): Search the full path of files to copy in the
3681         list of sources of the application rather than in the list of units.
3682         (Parse_Project_And_Apply_Config): Do not reset the name of the main
3683         project file.
3684         (Check_File): Use htables to find out whether a source is duplicated.
3685         (Add_Source): check whether the source or unit were already seen earlier
3686
3687         * gcc-interface/Makefile.in: Update gnatmake dependencies.
3688
3689 2009-07-13  Robert Dewar  <dewar@adacore.com>
3690
3691         * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
3692         expression if extensions permitted.
3693
3694         * par-ch4.adb (P_Membership_Test): New procedure (implement membership
3695         set tests).
3696         (P_Relation): Use P_Membership_Test
3697
3698         * par.adb (P_Membership_Test): New procedure (implement membership set
3699         tests).
3700
3701         * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
3702
3703         * sprint.adb (Sprint_Node): Handle set form for membership tests.
3704
3705 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3706
3707         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
3708         Do not attempt to generate stubs for predefined primitives of
3709         synchronized interfaces.
3710         (Add_Stub_Type): Factor some code from the PCS-specific variants of
3711         Build_Stub_Type.
3712
3713 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3714
3715         * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
3716         Controlling_Result flag from the operation they override.
3717
3718 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3719
3720         * gcc-interface/Make-lang.in: Update dependencies
3721
3722 2009-07-13  Robert Dewar  <dewar@adacore.com>
3723
3724         * gnat_ugn.texi: The gnatf switch no longer is needed to get full
3725         details on unsupported constructs.
3726
3727         * rtsfind.adb: Remove references to All_Errors_Mode, give errors
3728         unconditionally.
3729
3730         * s-trafor-default.adb: Correct some warnings
3731
3732         * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
3733         sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
3734         Minor reformatting.
3735
3736         * par-ch4.adb (Conditional_Expression): Capture proper location for
3737         conditional expression, should point to IF.
3738
3739         * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
3740         s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
3741         g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
3742         reorganization (use conditional expressions).
3743
3744 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3745
3746         * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
3747         build-in-place function that returns an inherently limited type (not
3748         just a task type) create proper object declaration so that extra
3749         build-in-place actuals are properly added to the call.
3750
3751 2009-07-13  Robert Dewar  <dewar@adacore.com>
3752
3753         * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
3754
3755         * gnat_ugn.texi: Add documentation for -gnatw.m/.M
3756
3757         * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
3758
3759         * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
3760         Warn_On_Suspicious_Modulus_Value.
3761
3762         * ug_words: Add entries for -gnatw.m/-gnatw.M.
3763
3764         * usage.adb: Add lines for -gnatw.m/.M switches.
3765
3766         * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
3767
3768 2009-07-13  Javier Miranda  <miranda@adacore.com>
3769
3770         * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
3771         reading the Is_Interface attribute of the dispatching type.
3772
3773 2009-07-13  Robert Dewar  <dewar@adacore.com>
3774
3775         * a-convec.adb: Minor code reorganization (use conditional expressions)
3776
3777 2009-07-13  Robert Dewar  <dewar@adacore.com>
3778
3779         * freeze.adb (Check_Suspicious_Modulus): New procedure.
3780
3781 2009-07-13  Robert Dewar  <dewar@adacore.com>
3782
3783         * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
3784         warning).
3785
3786         * par-ch4.adb: Minor reformatting
3787
3788 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3789
3790         * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
3791         => Is_Atomic_Aggregate
3792
3793 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3794
3795         * prj-nmsc.adb: Avoid traversing the list of source files if
3796         we have already processed all locally removed files.
3797
3798 2009-07-13  Jose Ruiz  <ruiz@adacore.com>
3799
3800         * gnat_ugn.texi: Fix typo.
3801
3802 2009-07-13  Robert Dewar  <dewar@adacore.com>
3803
3804         * freeze.adb: Minor reformatting
3805         Minor code reorganization (use Nkind_In)
3806
3807         * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
3808
3809 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
3810
3811         * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
3812         local variable and do not test it in Compile_Time_Bad_Alignment.
3813         Do not issue size or alignment warnings for the X'Address form.
3814         * sem_util.ads (Find_Overlaid_Object): Delete.
3815         (Find_Overlaid_Entity): New procedure.
3816         * sem_util.adb (Find_Overlaid_Object): Rename to...
3817         (Find_Overlaid_Entity): ...this and turn into a procedure.  Report
3818         whether the address is offseted within the overlaid entity.
3819         (Has_Compatible_Alignment): Track the offset globally instead of
3820         passing it to Check_Offset.  For an indexed component, compute the
3821         full offset when possible.  If the resulting offset is zero, only
3822         check the prefix.
3823         (Check_Offset): Delete.
3824         * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
3825         (Address_Aliased_Entity): Delete.
3826         (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
3827         Find_Overlaid_Entity to find the overlaid entity and the offset.
3828         Adjust throughout for above change.
3829         (Validate_Address_Clauses): Always use attributes of entities, not of
3830         their type.  Tweak message for warning.  Call Has_Compatible_Alignment
3831         if the address is offseted to warn about incompatible alignments.
3832         * gcc-interface/gigi.h (annotate_object): Declare.
3833         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
3834         entity.  Call annotate_object instead of annotating manually objects.
3835         (annotate_object): New function.
3836         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
3837         at the end.
3838
3839 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
3840
3841         * gcc-interface/ada-tree.h: Minor reorganization.
3842         * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
3843         (gnat_print_type): Likewise.
3844
3845 2009-07-11  Thomas Quinot  <quinot@adacore.com>
3846
3847         * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
3848         Lvalue -> lvalue
3849
3850         * exp_ch6.adb: Minor reformatting
3851
3852 2009-07-11  Ed Schonberg  <schonberg@adacore.com>
3853
3854         * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
3855         account possible type qualification to determine whether aggregate
3856         needs a target temporary to respect atomic type or object.
3857
3858         * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
3859         Expand_Atomic_Aggregate.
3860
3861 2009-07-11  Emmanuel Briot  <briot@adacore.com>
3862
3863         * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
3864         algorithm.
3865         (Excluded_Sources_Htable): No longer a global table.
3866         Change error message to indicate which files are illegal in the list
3867         of excluded files, as opposed to only the location in the project
3868         file.
3869         (Find_Source): New subprogram.
3870
3871 2009-07-10  Thomas Quinot  <quinot@adacore.com>
3872
3873         * exp_ch7.adb: Update comments.
3874
3875 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
3876
3877         * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
3878         clause if -gnatI is set instead of crashing.
3879
3880 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3881
3882         * sem_ch11.adb (Same_Expression): Null is always equal to itself.
3883         Additional work to remove redundant successive raise statements, in
3884         this case access checks.
3885
3886 2009-07-10  Vincent Celier  <celier@adacore.com>
3887
3888         * make.adb (Compile): Always create a deep copy of the mapping file
3889         argument (-gnatem=...) as it may be deallocate/reallocate by
3890         Normalize_Arguments.
3891
3892 2009-07-10  Javier Miranda  <miranda@adacore.com>
3893
3894         * einfo.adb (Directly_Designated_Type): Add assertion.
3895         
3896         * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
3897         access types before using attribute Directly_Designated_Type.
3898
3899 2009-07-10  Emmanuel Briot  <briot@adacore.com>
3900
3901         * prj.ads: Minor typo fix
3902
3903 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3904
3905         * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
3906         special treatment.
3907
3908         * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
3909         subprogram is a function call, resolve properly, to ensure that extra
3910         actuals are added as needed.
3911
3912 2009-07-10  Thomas Quinot  <quinot@adacore.com>
3913
3914         * sem_aggr.adb: Minor comments editing
3915
3916         * exp_tss.adb, exp_ch3.adb: Minor reformatting
3917
3918 2009-07-10  Robert Dewar  <dewar@adacore.com>
3919
3920         * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
3921
3922         * exp_ch4.adb: Add ??? comment for conditional expressions on limited
3923         types.
3924
3925         * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
3926         replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
3927         case of conditional expressions that may not be elaborated.
3928
3929         * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
3930         conditional expression where we may not execute then then or else
3931         branches.
3932
3933 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
3934
3935         * i-cexten.ads (bool): New type.
3936
3937 2009-07-10  Robert Dewar  <dewar@adacore.com>
3938
3939         * sinfo.ads (N_Short_Circuit): New definition
3940         
3941         * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
3942         treepr.adb: Minor code reorganization (use N_Short_Circuit)
3943
3944 2009-07-10  Javier Miranda  <miranda@adacore.com>
3945
3946         * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
3947         non-tagged record types.
3948
3949         * sem_prag.adb
3950         (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
3951         with non-tagged types. Required to import C++ classes that have no
3952         virtual primitives.
3953         (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
3954         returning non-tagged types. For backward compatibility, if the
3955         constructor returns a class wide type we internally change the
3956         returned type to the corresponding non class-wide type.
3957
3958         * sem_aggr.adb
3959         (Valid_Ancestor_Type): CPP_Constructors code cleanup.
3960         (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
3961         (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
3962         (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
3963
3964         * sem_ch3.adb
3965         (Analyze_Object_Declaration): CPP_Constructors code cleanup.
3966
3967         * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
3968
3969         * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
3970
3971         * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
3972
3973         * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
3974         cleanup.
3975         
3976         * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
3977
3978         * gnat_rm.texi
3979         (pragma CPP_Class): Document that it can be used now with non-tagged
3980         record types.
3981         (pragma CPP_Constructor): Document that it can be used now with
3982         functions returning specific types. For backward compatibility
3983         we also support functions returning class-wide types.
3984
3985         * gnat_ugn.texi
3986         (Interfacing with C++ constructors): Update the examples to incorporate
3987         the new syntax in which the functions used to import C++ constructors
3988         return specific types.
3989         (Interfacing with C++ at the Class Level): Update the examples to
3990         incorporate the new syntax in which the functions used to import
3991         C++ constructors return specific types.
3992
3993 2009-07-10  Thomas Quinot  <quinot@adacore.com>
3994
3995         * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
3996         Make_Disp_Conditional_Select_Body,
3997         Make_Disp_Timed_Select_Body): For the case of a type that is neither an
3998         interface nor a concurrent type, the primitive body is empty. Generate
3999         a null statement so that it remains well formed.
4000
4001 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4002
4003         * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
4004         replace references to them in defaulted component expressions with
4005         references to the values of the discriminants of the target object.
4006
4007 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4008
4009         * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
4010         pragma, to capture global references if the context is generic.
4011
4012         * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
4013         appears within the initialization procedure for the corresponding
4014         record, replace it with the proper discriminal.
4015
4016 2009-07-10  Vincent Celier  <celier@adacore.com>
4017
4018         * make.adb: Do not include object directories or library ALI
4019         directories of library projects in the object path.
4020
4021 2009-07-10  Javier Miranda  <miranda@adacore.com>
4022
4023         * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
4024         Typ argument to ensure proper management of access types.
4025
4026 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4027
4028         * exp_ch7.adb (Build_Final_List): If the list is being built for a
4029         Taft-Amendment type, place the finalization list in the package body,
4030         to ensure that the tree for the spec is identical whenever it is
4031         compiled.
4032
4033 2009-07-10  Javier Miranda  <miranda@adacore.com>
4034
4035         * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
4036         inheriting attributes from a private Parent_Base.
4037
4038 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4039
4040         * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
4041         statements with the same condition.
4042
4043 2009-07-10  Robert Dewar  <dewar@adacore.com>
4044
4045         * exp_ch4.adb (Raise_Accessibility_Error): New procedure
4046
4047 2009-07-09  Tom Tromey  <tromey@redhat.com>
4048
4049         * raise-gcc.c: Include dwarf2h (unconditionally).
4050
4051 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4052
4053         * sem_ch10.adb (Install_Context): If the unit is a package body,
4054         install the private with_clauses of the corresponding package
4055         declaration.
4056
4057 2009-07-09  Robert Dewar  <dewar@adacore.com>
4058
4059         * checks.adb: Minor reformatting
4060
4061 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4062
4063         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
4064         into ug_words.
4065
4066 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4067
4068         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
4069         Do not warn for a constant overlaying any constant object
4070
4071 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4072
4073         * sem_ch10.adb (Install_Context): If the unit is a package body,
4074         install the private with_clauses of the corresponding package
4075         declaration.
4076
4077 2009-07-09  Robert Dewar  <dewar@adacore.com>
4078
4079         * checks.adb: Minor reformatting
4080
4081 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4082
4083         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
4084         into ug_words.
4085
4086 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4087
4088         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
4089         Do not warn for a constant overlaying any constant object
4090
4091 2009-07-09  Arnaud Charlet  <charlet@adacore.com>
4092
4093         * gcc-interface/Make-lang.in: Update dependencies
4094
4095 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4096
4097         * g-socket.adb (Check_Selector): Do not create local copies of the
4098         socket sets on the stack.
4099
4100 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4101
4102         * gnat_ugn.texi: Add missing VMS translations.
4103
4104 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4105
4106         * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
4107         condition, to prevent generation of visible code during expansion,
4108         when Check is not enabled.
4109
4110 2009-07-09  Gary Dismukes  <dismukes@adacore.com>
4111
4112         * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
4113         the check gets registered for any available local handler
4114         (Set_Local_Raise).
4115
4116         * sem_util.adb: Add with and use of Exp_Ch11.
4117         (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
4118         that the check gets registered for any available local handler.
4119
4120         * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
4121         on slice ranges.
4122
4123 2009-07-09  Steve Baird  <baird@adacore.com>
4124
4125         * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
4126         function.
4127         (Expand_N_Exception_Declaration): Fix handling of exceptions
4128         declared in a subprogram.
4129
4130 2009-07-09  Emmanuel Briot  <briot@adacore.com>
4131
4132         * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
4133         multi-unit files.
4134
4135 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4136
4137         * freeze.adb: Minor reformatting
4138
4139         * exp_ch3.adb: Minor comment fix.
4140
4141         * sinfo.ads: Minor comment fix
4142
4143 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4144
4145         * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
4146
4147 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4148
4149         * freeze.adb (Freeze_Expression): If the expression is the name of a
4150         function in a call, and the function has not been frozen yet, create
4151         extra formals for it to ensure that the proper actuals are created
4152         when expanding the call.
4153
4154 2009-07-09  Emmanuel Briot  <briot@adacore.com>
4155
4156         * prj-pp.adb (Print): Fix handling of source index when set on a
4157         declaration node.
4158
4159 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4160
4161         * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
4162         a temporary to the source expression whose value it captures.
4163
4164         * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
4165
4166 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4167
4168         * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
4169         EXPR_LOCATION.
4170
4171 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
4172
4173         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
4174         parameters when the subtype of the actual is not known to be a subrange
4175         of the formal's subtype.
4176         (Expand_Call): Generate a range check only in the E_In_parameter case
4177         (in out parameter range checks are now handled in Expand_Actuals).
4178
4179         * exp_ch4.adb (Expand_N_Slice): Restore code that calls
4180         Enable_Range_Check.
4181
4182 2009-07-07  Robert Dewar  <dewar@adacore.com>
4183
4184         * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
4185
4186 2009-07-07  Javier Miranda  <miranda@adacore.com>
4187
4188         * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
4189         designated type comes from a limited views.
4190
4191 2009-07-07  Emmanuel Briot  <briot@adacore.com>
4192
4193         * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
4194         locally removed files that are later made visible again in an importing
4195         project.
4196
4197 2009-07-07  Robert Dewar  <dewar@adacore.com>
4198
4199         * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
4200
4201 2009-07-07  Sergey Rybin  <rybin@adacore.com>
4202
4203         * gnat_ugn.texi: Add an example to the description of gnatcheck
4204         'Style_Checks' rule option.
4205
4206 2009-07-07  Tristan Gingold  <gingold@adacore.com>
4207
4208         * seh_init.c: Fix inline assembly statement in seh_init.c
4209
4210 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4211
4212         * sem_warn.adb (Check_References): Do not emit warnings on formals of
4213         an entry body. Only the formals of the entry declaration are traced.
4214
4215 2009-07-07  Robert Dewar  <dewar@adacore.com>
4216
4217         * s-osprim-mingw.adb: Minor code reorganization
4218
4219 2009-07-07  Robert Dewar  <dewar@adacore.com>
4220
4221         * prj-nmsc.adb: Minor reformatting
4222
4223 2009-07-07  Pascal Obry  <obry@adacore.com>
4224
4225         * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
4226         cases where Pattern is longer than Source.
4227
4228 2009-07-07  Pascal Obry  <obry@adacore.com>
4229
4230         * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
4231
4232 2009-07-07  Emmanuel Briot  <briot@adacore.com>
4233
4234         * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
4235         project file.
4236
4237 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4238
4239         * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
4240         primitive operations, in case one of them is called in the
4241         initialization procedure for the type.
4242
4243 2009-07-07  Robert Dewar  <dewar@adacore.com>
4244
4245         * a-calend.adb: Minor code reorganization (use conditional expressions)
4246
4247         * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
4248         prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
4249         s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
4250         s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
4251         s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
4252         g-comlin.adb, exp_ch11.adb: Minor reformatting.
4253
4254 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
4255
4256         * checks.adb (Generate_Range_Check): Replace type conversions with
4257         unchecked conversions to support the case of performing range checks
4258         on Enum'Val (permits integer values to be converted to enumeration).
4259
4260         * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
4261         Attribute_Succ): Set Do_Range_Check to False before calling
4262         Expand_Pred_Succ, to prevent gigi from generating any range checks.
4263         (Expand_N_Attribute_Reference, case Attribute_Val):
4264         Generate a range check when needed (and set Do_Range_Check to False).
4265
4266         * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
4267         scalar object initialization if needed.
4268
4269         * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
4270         when needed on scalar allocators.
4271         (Expand_N_Qualified_Expression): Generate range check when needed.
4272         (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
4273         Checks on slice ranges handled in Resolve_Slice.
4274
4275         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
4276         when needed, for all scalar assignments, not just discrete.
4277         (Expand_Simple_Function_Return): Resolve the conversion created for a
4278         scalar function return so that the conversion will get expanded to
4279         generate a possible constraint check.
4280
4281         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
4282         in out scalar actuals when subtypes don't match, to ensure generation
4283         of return checks (and set Do_Range_Check to False).
4284         (Expand_Call): Uncomment code to perform range checks, but make it apply
4285         only to in and in out parameters (checks on parameter returns are
4286         handled in Expand_Actuals). If a scalar actual for a call to a derived
4287         subprogram is marked as needing a range check, peform it here (and set
4288         Do_Range_Check to False).
4289
4290         * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
4291         range check on scalar component associations when needed.
4292
4293         * sem_eval.adb (In_Subrange_Of): Return False when the first type has
4294         infinities but the second type does not, as these aren't compatible
4295         floating-point types.
4296
4297         * sem_res.adb (Resolve_Slice): In the case where the prefix of the
4298         slice is itself a slice, pick up the Etype of the prefix. This handles
4299         the case where the prefix was an Image attribute expanded to a slice,
4300         and ensures that we get the subtype with the slice constraint rather
4301         than the unconstrained subbtype of the 'Image.
4302
4303 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4304
4305         * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
4306         overloaded expressions in a conditional expressions.
4307
4308         * sem_res.adb (Resolve): Handle properly overloaded conditional
4309         expressions.
4310
4311 2009-07-07  Robert Dewar  <dewar@adacore.com>
4312
4313         * scng.adb: Minor reformattting
4314
4315         * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
4316         association allows conditional expression without parens.
4317
4318         * par-ch4.adb (P_Name): Attribute arguments can be conditional
4319         expressions without enclosing parentheses, and also as parameters,
4320         indexing expressions etc.
4321         (P_Conditional_Expression): New procedure
4322         (P_Expression_If_OK): New procedure
4323
4324         * par.adb (P_Conditional_Expression): New procedure
4325         (P_Expression_If_OK): New procedure
4326
4327         * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
4328         form of conditional expression.
4329
4330         * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
4331         missing True argument if ELSE argument missing.
4332
4333         * sinfo.adb (Is_Elsif): New flag
4334
4335         * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
4336         part of the language, and the documentation is modified accordingly.
4337         (Is_Elsif): New flag
4338
4339 2009-07-06  Olivier Hainque  <hainque@adacore.com>
4340
4341         * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
4342         setjmp_longjmp): Attach the exception propagation reraise fallback
4343         to the sequence end label location when we have it.
4344
4345 2009-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
4346
4347         PR ada/40608
4348         * init.c (APPLE): Include <mach/mach_init.h>.
4349         (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
4350
4351 2009-07-04  Eric Botcazou  <ebotcazou@adacore.com>
4352
4353         * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
4354         (SET_DECL_LANG_SPECIFIC): Likewise.
4355         (TYPE_RM_VALUE): New macro.
4356         (SET_TYPE_RM_VALUE): Likewise.
4357         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
4358         (TYPE_RM_MIN_VALUE): Likewise.
4359         (TYPE_RM_MAX_VALUE): Likewise.
4360         (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
4361         (SET_TYPE_RM_MIN_VALUE): Likewise.
4362         (SET_TYPE_RM_MAX_VALUE): Likewise.
4363         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
4364
4365 2009-07-04  Laurent GUERBY  <laurent@guerby.net>
4366
4367         PR ada/40631
4368         * tracebak.c (__gnat_backtrace): Fix old-style definition.
4369
4370 2009-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4371
4372         * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
4373
4374 2009-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4375
4376         PR ada/40609
4377         * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
4378         ucontext argument.
4379
4380 2009-07-01  Eric Botcazou  <ebotcazou@adacore.com>
4381
4382         * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
4383
4384 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4385
4386         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
4387         the type of the left operand if it pads a self-referential type when
4388         the right operand is a constructor.
4389
4390         * gcc-interface/lang-specs.h: Fix copyright date.
4391
4392 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4393
4394         * gcc-interface/decl.c: Include tree-inline.h.
4395         (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
4396         * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
4397         * gcc-interface/utils2.c: Include tree-inline.
4398         (known_alignment) <CALL_EXPR>: Likewise.
4399
4400 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4401
4402         * raise-gcc.c: Include dwarf2.h conditionally.
4403         
4404 2009-06-29  Tom Tromey  <tromey@redhat.com>
4405
4406         * raise-gcc.c: Include elf/dwarf2.h.
4407
4408 2009-06-27  Laurent GUERBY  <laurent@guerby.net>
4409
4410         * tb-gcc.c (trace_callback): Add casts to silence warning.
4411
4412 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4413
4414         * tb-gcc.c: Fix copyright notice.
4415
4416 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4417
4418         * init.c (__gnat_set_globals): Add prototype.
4419         * adaint.c (__gnat_binder_supports_auto_init): Likewise.
4420         (__gnat_sals_init_using_constructors): Likewise.
4421         * gcc-interface/utils.c (gnat_pushlevel): Likewise.
4422         (get_block_jmpbuf_decl): Likewise.
4423         (gnat_poplevel): Likewise.
4424         (merge_sizes): Rename local variable.
4425         (copy_type): Likewise.
4426         (build_vms_descriptor32): Likewise.
4427         (build_vms_descriptor): Likewise.
4428         (convert_vms_descriptor64): Likewise.
4429         (convert_vms_descriptor32): Likewise.
4430         (convert_to_fat_pointer): Likewise.
4431         (maybe_unconstrained_array): Likewise.
4432         (def_fn_type): Use promoted type with va_arg.
4433         * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
4434         (substitute_in_type): Rename local variable.
4435         * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
4436
4437 2009-06-26  Laurent GUERBY  <laurent@guerby.net>
4438
4439         * tb-gcc.c (trace_callback): Use char* instead of void*.
4440         * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
4441         * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
4442         (Attribute_to_gnu): Adjust for above change.
4443         (Subprogram_Body_to_gnu): Likewise.
4444         * gcc-interface/utils.c (merge_sizes): Rename local variable.
4445         (copy_type): Likewise.
4446         (build_vms_descriptor32): Likewise.
4447         (build_vms_descriptor): Likewise.
4448         (convert_vms_descriptor64): Likewise.
4449         (convert_vms_descriptor32): Likewise.
4450         (convert_to_fat_pointer): Likewise.
4451         (maybe_unconstrained_array): Likewise.
4452         * gcc-interface/decl.c (substitute_in_type): Likewise.
4453
4454 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4455
4456         * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
4457         (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
4458         of the upper bound of the index types.
4459
4460 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4461
4462         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
4463         out common predicate.  Use the maximum to compute the upper bound of
4464         the index type only when it is not wider than sizetype.  Perform the
4465         comparison in the index type for the generic expression.  Use real
4466         precision to decide whether to generate special types for debugging
4467         information.
4468
4469 2009-06-26  Matthew Gingell  <gingell@adacore.com>
4470
4471         * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
4472
4473 2009-06-26  Vincent Celier  <celier@adacore.com>
4474
4475         * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
4476         default.
4477
4478 2009-06-26  Robert Dewar  <dewar@adacore.com>
4479
4480         * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
4481
4482 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4483
4484         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
4485         correct arguments to create_field_decl.  Remove redundant iteration.
4486         Rewrite computation of the maximum size.
4487         <E_Array_Subtype>: Reorder and simplify handling of special cases.
4488         Rewrite computation of the maximum size.  Use consistent naming.
4489         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
4490         comparison order for consistency.  Use generic integer node to
4491         build the operator and fold the result.
4492
4493 2009-06-25  Vincent Celier  <celier@adacore.com>
4494
4495         * vms_data.ads: Minor comment change
4496
4497 2009-06-25  Gary Dismukes  <dismukes@adacore.com>
4498
4499         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
4500         assignment statement to targeting a caller-provided object when the
4501         result type is an interface type.
4502
4503         * exp_ch6.adb (Expand_Call): Remove redundant test of
4504         Is_Limited_Interface (Is_Inherently_Limited is sufficient).
4505         (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
4506
4507         * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
4508         to OK_For_Limited_Init.
4509
4510         * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
4511         condition so that True is returned for all limited interfaces, not
4512         just synchronized ones. Ignore components of an interface type when
4513         checking for limited components (such a component can be a parent
4514         component).
4515
4516         * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
4517         (OK_For_Limited_Init): Add type parameter.
4518
4519         * sem_ch3.adb (Check_Initialization): Add type in call to
4520         OK_For_Limited_Init.
4521         (OK_For_Limited_Init): Add new type param in call to
4522         OK_For_Limited_Init_In_05.
4523         (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
4524         nonlimited type when the context type is a limited interface. Add type
4525         on recursive calls.
4526
4527         * sem_ch4.adb (Analyze_Allocator): Add type in call to
4528         OK_For_Limited_Init.
4529
4530         * sem_ch6.adb (Check_Limited_Return): Add type in call to
4531         OK_For_Limited_Init.
4532
4533         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
4534         OK_For_Limited_Init.
4535         (Instantiate_Object): Add type in call to OK_For_Limited_Init.
4536
4537         * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
4538         class-wide interface, get the base type before applying Etype, in order
4539         to account for class-wide subtypes.
4540
4541 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4542
4543         * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
4544         prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
4545         between gnatmake and gprbuild.
4546         (Naming_Data): Removed, no longer used
4547         (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
4548         needed locally in one subprogram, no need to store forever in the
4549         structure.
4550         (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
4551         a similar role.
4552         (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
4553         Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
4554         Spec_Suffix_Id_Of): removed, no longer used.
4555
4556 2009-06-25  Javier Miranda  <miranda@adacore.com>
4557
4558         * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
4559         types on qualified expression in calls to imported C++ constructors.
4560
4561         * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
4562         imported C++ constructors.
4563
4564 2009-06-25  Sergey Rybin  <rybin@adacore.com>
4565
4566         * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
4567
4568 2009-06-25  Vincent Celier  <celier@adacore.com>
4569
4570         * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
4571         provided, on Windows change all '/' to '\'.
4572
4573         * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
4574         used. Minor comment changes
4575
4576         * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
4577         Remove_Forbidden_File_Name.
4578
4579 2009-06-25  Quentin Ochem  <ochem@adacore.com>
4580
4581         * prj.ads (Unit_Index): Now general access type.
4582
4583 2009-06-25  Pascal Obry  <obry@adacore.com>
4584
4585         * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
4586
4587 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4588
4589         * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
4590         prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
4591         computed efficiently from the other fields.
4592         (Object_To_Global_Archive): New subprogram
4593         (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
4594         (Override_Kind): Fix handling of separates in Ada.
4595         (Create_Mapping_File): Remove duplicate code
4596         (Naming_Data.Implementation_Exception, Specification_Exception):
4597         field removed, since never used.
4598         (Naming_Data.Specs, .Bodies): field removed, since this is only
4599         used while processing the project and is not needed once the tree
4600         is in memory. This brings Naming_Data and Lang_Naming_Data
4601         closer (same content now, but different use still).
4602
4603 2009-06-25  Pascal Obry  <obry@adacore.com>
4604
4605         * sem_ch4.adb: Minor reformatting.
4606
4607         * a-strsea.adb: Fix confusion between 'Length and 'Last.
4608
4609 2009-06-25  Ed Schonberg  <schonberg@adacore.com>
4610
4611         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
4612         Unchecked_Access): If the context is an interface type, and the prefix
4613         is of the corresponding class-wide type, do not insert a conversion
4614         because the pointer displacement has already taken place, and we must
4615         retain the class-wide type in a dispatching context.
4616
4617 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4618
4619         * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
4620         the previous source file.
4621         (Create_Mapping): Iterate on sources rather than on units.
4622
4623 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4624
4625         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
4626         prj-env.adb, prj-env.ads (Slash): removed, no longer used
4627         (Source_Data): no longer use Path.Name to point to a locally removed
4628         file. Instead we use the field Locally_Removed which is clearer
4629
4630 2009-06-25  Arnaud Charlet  <charlet@adacore.com>
4631
4632         * gcc-interface/Make-lang.in: Remove references to sem_maps.o
4633
4634         * sem_maps.adb, sem_maps.ads: Removed, not used.
4635
4636 2009-06-25  Ed Falis  <falis@adacore.com>
4637
4638         * s-vxwext-rtp.ads: Add missing declaration
4639
4640 2009-06-25  Matthew Gingell  <gingell@adacore.com>
4641
4642         * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
4643         speed up unmapped case.
4644
4645 2009-06-25  Vincent Celier  <celier@adacore.com>
4646
4647         * prj-nmsc.adb (Check): Change error message for illegal abstract
4648         projects.
4649
4650 2009-06-25  Robert Dewar  <dewar@adacore.com>
4651
4652         * gnat_ugn.texi: Add note on use of -gnatct for ASIS
4653
4654 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4655
4656         * fmap.ads: Add documentation on mapping files
4657
4658 2009-06-25  Robert Dewar  <dewar@adacore.com>
4659
4660         * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
4661         reformatting
4662
4663 2009-06-24  Robert Dewar  <dewar@adacore.com>
4664
4665         * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
4666
4667         * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
4668         case.
4669         (Index): Ditto.
4670
4671 2009-06-24  Ed Schonberg  <schonberg@adacore.com>
4672
4673         * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
4674         present when checking whether a call may be interpreted as an indexing
4675         of the result of a call.
4676
4677         * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
4678         body for a null procedure on the freeze actions for the procedure, so
4679         that it will be analyzed at the proper place without premature freezing
4680         of actuals.
4681
4682         * sem_ch3.adb (Check_Completion): Code cleanup. 
4683         Do not diagnose a null procedure without a body, if previous errors
4684         have disabled expansion.
4685
4686 2009-06-24  Doug Rupp  <rupp@adacore.com>
4687
4688         * init.c [VMS] Resignal C$_SIGKILL
4689
4690 2009-06-24  Ed Falis  <falis@adacore.com>
4691
4692         * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
4693         Define ERROR in body for VxWorks 6 kernel
4694
4695 2009-06-24  Pascal Obry  <obry@adacore.com>
4696
4697         * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
4698         in [Send/Receive]_Socket.
4699
4700 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4701
4702         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
4703         prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
4704         to several subprograms.
4705         (Source_Data.Other_Part): Removed, since can be computed from the
4706         language.
4707         (Other_Part): New subprogram.
4708
4709 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4710
4711         * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
4712         the full base name of the file when the suffix doesn't start with a '.'.
4713
4714 2009-06-24  Vincent Celier  <celier@adacore.com>
4715
4716         * prj-nmsc.adb (Check): A project declared abstract is legal if no
4717         attribute Source_Dirs, Source_Files, Source_List_File or Languages is
4718         declared.
4719
4720 2009-06-24  Robert Dewar  <dewar@adacore.com>
4721
4722         * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
4723         prj-env.adb: Minor reformatting
4724
4725 2009-06-24  Ed Falis  <falis@adacore.com>
4726
4727         * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
4728         s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
4729         s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
4730         support for VxWorks SMP.
4731
4732         * gcc-interface/Make-lang.in: Update dependencies
4733
4734 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4735
4736         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
4737         prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
4738         no longer useful.
4739         (Source_Data.Lang_Kind): Removed, since it duplicates information
4740         already available through Language.Config.
4741         (Source_Data.Compile): Removed, since information is already available
4742         through the language.
4743         (Is_Compilable): New subprogram.
4744         (Source_Data.Dependency): Removed, since already available through
4745         the language.
4746         (Source_Data.Object_Exist, Object_Linked): Removed since available
4747         through the language already.
4748         (Unit_Data.File_Names): Is now also set in multi_language mode, to
4749         bring the two modes closer in the resulting data structures.
4750         (Source_Data.Unit): Now a direct pointer to the unit data, rather than
4751         just the name that would point into a hash table.
4752         (Get_Language_From_Name): New subprogram.
4753
4754 2009-06-24  Javier Miranda  <miranda@adacore.com>
4755
4756         * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
4757         visible through limited-with context clauses. In addition, avoid an
4758         extra tag check that is not required when the class-wide
4759         designated types of the operand and target types are
4760         the same entity.
4761         (Tagged_Membership): Handle entities from the limited view.
4762
4763 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4764
4765         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
4766         prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
4767         (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
4768         different vocabularies for similar concepts (Impl/Body_Part and
4769         Spec/Specification).
4770         (Unit_Data): now points directly to a Source_Id, rather than duplicating
4771         some of the information in File_Name_Data. This also saves a bit of
4772         memory. However, since we are now using a pointer we need to test
4773         for null explicitly in several places of the code
4774
4775 2009-06-24  Javier Miranda  <miranda@adacore.com>
4776
4777         * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
4778         from processing the type conversion when the node is
4779         replaced by an N_Raise_Program_Error node.
4780
4781 2009-06-24  Hristian Kirtchev  <kirtchev@adacore.com>
4782
4783         * sem_ch6.adb (Designates_From_With_Type): New routine.
4784         (Process_Formals): Since anonymous access types are no longer flagged
4785         as from with types, traverse the designated type to determine whether
4786         it is coming from a limited view.
4787
4788         * sem_res.adb: Remove with and use clauses for Sem_Ch10.
4789         (Full_Designated_Type): Use Available_View to extract the non-limited /
4790         full view of a type.
4791
4792 2009-06-24  Robert Dewar  <dewar@adacore.com>
4793
4794         * exp_ch6.adb: Minor reformatting
4795
4796         * layout.adb: Minor reformatting
4797
4798         * make.adb: Minor reformatting
4799
4800 2009-06-24  Thomas Quinot  <quinot@adacore.com>
4801
4802         * sem_ch10.adb: Minor code reorganization.
4803
4804 2009-06-24  Eric Botcazou  <ebotcazou@adacore.com>
4805
4806         * ttypes.ads: Minor editing.
4807         
4808 2009-06-24  Robert Dewar  <dewar@adacore.com>
4809
4810         * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
4811         in deciding to do call-by-copy code.
4812
4813 2009-06-24  Vincent Celier  <celier@adacore.com>
4814
4815         * make.adb (Gnatmake): To decide if an executable should be rebuilt,
4816         check if an externally built library file is more current than the
4817         executable.
4818
4819 2009-06-23  Olivier Hainque  <hainque@adacore.com>
4820
4821         * gcc-interface/utils.c (handle_vector_size_attribute): Import from
4822         c-common.c and populate in gnat_internal_attribute_table.
4823         
4824 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4825
4826         * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
4827         Available_View only when designated type of an anonymous access type
4828         is  limited view.
4829
4830 2009-06-23  Robert Dewar  <dewar@adacore.com>
4831
4832         * sem_ch10.adb: Minor reformatting
4833
4834         * ali.ads: Mino reformatting.
4835
4836         * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
4837         turning off inlining if ASIS mode active).
4838         
4839         * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
4840         This belongs in gnat1drv.adb after switches are scanned.
4841
4842 2009-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
4843
4844         * sem_attr.adb: Add with and use clauses for Sem_Ch10.
4845         (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
4846         when dealing with class-wide types. Detect a legal shadow entity and
4847         retrieve its non-limited view.
4848
4849         * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
4850         subprogram to top package level from Intall_Limited_Withed_Unit.
4851         (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
4852         Add check which prevents the installation of a limited view if the
4853         non-limited view is already visible through a with clause.
4854         (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
4855         legal shadow entity which may occur in subprogram formals of anonymous
4856         access type.
4857
4858         * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
4859
4860         * sem_ch3.adb (Access_Definition): Remove the propagation of flag
4861         From_With_Type from the designated type to the generated anonymous
4862         access type. Remove associated comment.
4863
4864         * sem_res.adb Add with and use clauses for Sem_Ch10.
4865         (Full_Designated_Type): Detect a legal shadow entity and retrieve its
4866         non-limited view. Since the shadow entity may replace a regular
4867         incomplete type, return the available full view.
4868
4869 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4870
4871         * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
4872         incomplete type declarations. Previous code was potentially quadratic
4873         in the number of visible declarations in any package appearing in a
4874         limited_with_clause.
4875
4876 2009-06-23  Robert Dewar  <dewar@adacore.com>
4877
4878         * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
4879         xref_lib.adb: Minor reformatting
4880
4881 2009-06-23  Robert Dewar  <dewar@adacore.com>
4882
4883         * a-stzhas.adb: Provide dummy body to avoid build problems with old
4884         versions which did have a body for this unit.
4885
4886 2009-06-23  Vincent Celier  <celier@adacore.com>
4887
4888         * prj-attr.adb: Attribute names Initial_Required_Switches and
4889         Final_Required_Switches changed to Leading_Required_Switches and
4890         Trailing_Required_Switches.
4891
4892         * prj-nmsc.adb (Process_Compiler): Attribute names
4893         Initial_Required_Switches and Final_Required_Switches changed to
4894         Leading_Required_Switches and Trailing_Required_Switches.
4895
4896         * prj.ads (Language_Config): Component Initial_Required_Switches and
4897         Final_Required_Switches changed to Leading_Required_Switches and
4898         Trailing_Required_Switches.
4899
4900         * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
4901         Final_Required_Switches; add standard names Leading_Required_Switches
4902         and Trailing_Required_Switches.
4903
4904 2009-06-23  Thomas Quinot  <quinot@adacore.com>
4905
4906         * prj-conf.adb: Minor reformatting
4907
4908         * xref_lib.adb: Minor cleanup
4909
4910 2009-06-23  Emmanuel Briot  <briot@adacore.com>
4911
4912         * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
4913         prj-conf.ads (Check_Configuration): New parameter
4914         Compiler_Driver_Mandatory.
4915
4916 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4917
4918         * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
4919         context of the current unit has an inline pragma, the instance is not
4920         rewritten as the declaration of the package wrapper. Handle both
4921         possibilities when retrieving the visible subprogram that renames the
4922         instantiation itself.
4923
4924 2009-06-23  Javier Miranda  <miranda@adacore.com>
4925
4926         * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
4927         designated types referencing entities from the limited view.
4928
4929 2009-06-23  Robert Dewar  <dewar@adacore.com>
4930
4931         * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
4932
4933         * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
4934         small values
4935
4936         * prj-conf.ads: Minor reformatting
4937
4938         * prj-conf.adb: Minor reformatting
4939
4940 2009-06-23  Vasiliy Fofanov  <fofanov@adacore.com>
4941
4942         * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
4943         to correspond to the log format that gnatmem now expects.
4944
4945 2009-06-23  Vincent Celier  <celier@adacore.com>
4946
4947         * prj-attr.adb: New attributes Initial_Required_Switches,
4948         Final_Required_Switches and Object_File_Switches
4949         
4950         * prj-nmsc.adb (Process_Compiler): Process new attributes
4951         Name_Final_Required_Switches, Name_Initial_Required_Switches and
4952         Name_Object_File_Switches.
4953
4954         * prj.ads (Language_Config): New component
4955         Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
4956         Compiler_Final_Required_Switches and Object_File_Switches.
4957
4958         * snames.ads-tmpl: New standard names Initial_Required_Switches,
4959         Final_Required_Switches and Object_File_Switches
4960
4961 2009-06-23  Pascal Obry  <obry@adacore.com>
4962
4963         * s-strhas.adb, s-strhas.ads: Minor reformatting.
4964
4965 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4966
4967         * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
4968         not indicate that the enclosing unit needs a body.
4969
4970 2009-06-23  Emmanuel Briot  <briot@adacore.com>
4971
4972         * prj-conf.ads, prj-conf.adb: New files part of the project manager.
4973
4974 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4975
4976         * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
4977         primitive equality include it with its source name even if the
4978         operation is currently invisible, to make sure that the corresponding
4979         slot in the dispatch table is reserved for the internal equality
4980         subsequently generated during expansion.
4981
4982 2009-06-23  Matthew Gingell  <gingell@adacore.com>
4983
4984         * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
4985
4986 2009-06-22  Jose Ruiz  <ruiz@adacore.com>
4987
4988         * sysdep.c (__gnat_localtime_tzoff for RTX):
4989         SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
4990         GetTimeZoneInformation instead.
4991
4992 2009-06-22  Robert Dewar  <dewar@adacore.com>
4993
4994         * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
4995
4996 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
4997
4998         * sem_ch12.adb (Collect_Previous_Instances): Do not collect
4999         instantiations declared in a previous generic package body.
5000
5001 2009-06-22  Robert Dewar  <dewar@adacore.com>
5002
5003         * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
5004         restriction No_Direct_Boolean_Operators.
5005
5006 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5007
5008         * bindusg.adb: Minor fixes to gnatbind usage message
5009
5010         * sem_eval.adb: Minor reformatting
5011
5012 2009-06-22  Javier Miranda  <miranda@adacore.com>
5013
5014         * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
5015         freezing point the check on the use of abstract types in object
5016         declarations. Done to allow the declaration of C++ imported variables
5017         or constants whose type corresponds with an imported C++ classes for
5018         which the constructor is not imported.
5019
5020 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5021
5022         * sem_ch6.adb: Minor reformatting
5023
5024 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5025
5026         * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
5027         component is constrained with an expression rather than with a
5028         discriminant of the enclosing type, use that expression when building
5029         the call to default-initialize the component, when the call is part of
5030         an aggregate with box initialization.
5031
5032 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5033
5034         * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
5035         unconditional rather than a style check, because a formal name out of
5036         order is suspicious.
5037
5038 2009-06-22  Vincent Celier  <celier@adacore.com>
5039
5040         * prj-nmsc.adb (Locate_Directory): Indicate the project name when
5041         creating a directory automatically.
5042
5043 2009-06-22  Eric Botcazou  <ebotcazou@adacore.com>
5044
5045         * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
5046         untagged derived type, add a hidden component for every constrained
5047         discriminant of the parent type to keep record layout consistent.
5048
5049 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5050
5051         * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
5052         copy).
5053
5054 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5055
5056         * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
5057         s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
5058         g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
5059         a-swuwha.adb: New unit System.String_Hash.  
5060         Refactor redundant cut and pasted hash functions with instances of a
5061         new generic hash function.
5062         Implement a new string hashing algorithm which appears in testing to
5063         be move effective than to previous approach.
5064
5065 2009-06-22  Ed Falis  <falis@adacore.com>
5066
5067         * sysdep.c: remove include for nfsLib.h and an NFS specific error
5068         message for VxWorks 653 vThreads: not supported by the OS.
5069
5070         * gsocket.h: disable sockets for VxWorks 653 vThreads.
5071
5072 2009-06-22  Robert Dewar  <dewar@adacore.com>
5073
5074         * sem_ch6.adb: Add ??? comment for bad use of Style_Check
5075
5076 2009-06-22  Robert Dewar  <dewar@adacore.com>
5077
5078         * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
5079         by Sloc_Range.
5080
5081         * freeze.adb: Minor comment updates
5082
5083         * s-valrea.adb (Bad_Based_Value): New procedure
5084         (Scan_Real): Raise exceptions with messages
5085
5086 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5087
5088         * adaint.h: Complete previous change.
5089
5090 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5091
5092         * exp_ch7.ads, exp_ch3.adb: Minor reformatting
5093
5094 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5095
5096         * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
5097         enabled, emit warning when a non-controlling argument of the overriding
5098         operation appears out of place vis-a-vis of the formal of the
5099         overridden operation.
5100
5101 2009-06-22  Vincent Celier  <celier@adacore.com>
5102
5103         * gnatcmd.adb (Check_Files): Close temporary files after all file names
5104         have been written into it.
5105
5106 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5107
5108         * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
5109         available.
5110
5111 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5112
5113         * sem_disp.adb (Check_Direct_Call): Handle the case where the full
5114         view of the root type is visible at the point of the call.
5115
5116 2009-06-22  Pat Rogers  <rogers@adacore.com>
5117
5118         * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
5119
5120 2009-06-22  Jerome Lambourg  <lambourg@adacore.com>
5121
5122         * freeze.adb: Add comments.
5123
5124 2009-06-21  Thomas Quinot  <quinot@adacore.com>
5125
5126         * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
5127         sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
5128         Factor out code to new subprogram...
5129         (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
5130         for a default initialized variable.
5131         (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
5132         entity that has an associated freeze node.
5133         (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
5134         If there is an init call for the object, defer it to the object freeze
5135         point.
5136         (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
5137         name clash with new subprogram introduced in Exp_Util.
5138
5139 2009-06-21  Robert Dewar  <dewar@adacore.com>
5140
5141         * einfo.ads: Minor reformatting
5142
5143 2009-06-21  Ed Falis  <falis@adacore.com>
5144
5145         * env.c (__gnat_environ): return NULL for vThreads - unimplemented
5146
5147 2009-06-21  Eric Botcazou  <ebotcazou@adacore.com>
5148
5149         * einfo.ads: Update comments.
5150
5151 2009-06-21  Hristian Kirtchev  <kirtchev@adacore.com>
5152
5153         * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
5154         where the controlling formal is of private class-wide type whose
5155         completion is a synchronized type can be converted into direct calls.
5156
5157 2009-06-21  Vincent Celier  <celier@adacore.com>
5158
5159         * gnatcmd.adb (Check_Files): When all sources of the project are to be
5160         indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
5161         of sources using -files=, so that the distinction can be made by the
5162         tool of a call with no source (to display the usage) from a call with
5163         a project file that contains no source.
5164
5165 2009-06-21  Jerome Lambourg  <lambourg@adacore.com>
5166
5167         * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
5168         case of VM convention arrays.
5169
5170 2009-06-20  Robert Dewar  <dewar@adacore.com>
5171
5172         * a-nudira.adb: Minor reformatting
5173
5174 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5175
5176         * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
5177         expressions (possibly from a parent type) indicate that the scope of
5178         the new itypes is the initialization procedure being built.
5179
5180 2009-06-20  Robert Dewar  <dewar@adacore.com>
5181
5182         * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
5183         Needs_64, and now computed without anomolies for some dynamic types.
5184
5185 2009-06-20  Thomas Quinot  <quinot@adacore.com>
5186
5187         * sem_prag.adb: Minor reformatting
5188
5189         * exp_disp.ads: Minor reformatting
5190
5191 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5192
5193         * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
5194         function call is a legal expression to initialize a limited object.
5195
5196         * exp_ch3.adb: Rename various freeze operations that perform expansion
5197         actions, to prevent confusion with subprograms in the freeze package.
5198
5199 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5200
5201         * sem.adb (Walk_Library_Units): Check instantiations first.
5202
5203         * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
5204         private primitive if it is a function with a controlling result that is
5205         a type extension with progenitors.
5206
5207         * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
5208         a primitive operation of a synchronized tagged type that has a
5209         controlling result.
5210
5211 2009-06-20  Thomas Quinot  <quinot@adacore.com>
5212
5213         * einfo.ads: Fix typo.
5214
5215 2009-06-20  Ed Falis  <falis@adacore.com>
5216
5217         * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
5218
5219 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5220
5221         * gcc-interface/trans.c (emit_check): Do not wrap up the result
5222         in a SAVE_EXPR.
5223         (protect_multiple_eval): Always protect complex expressions.
5224
5225 2009-06-19  Emmanuel Briot  <briot@adacore.com>
5226
5227         * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
5228         make sure we always return a name ending with a path separator.
5229
5230 2009-06-19  Javier Miranda  <miranda@adacore.com>
5231
5232         * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
5233         Save and restore the visibility of the parent when installed.
5234
5235 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
5236
5237         * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
5238         by Common which contains all these fields.
5239
5240         * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
5241         Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
5242         Remove code duplication in this package by means of calling the
5243         equivalent code in s-taprob.
5244
5245 2009-06-19  Robert Dewar  <dewar@adacore.com>
5246
5247         * a-einuoc.ads: Minor reformatting
5248
5249 2009-06-19  Ed Falis  <falis@adacore.com>
5250
5251         * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
5252         s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
5253
5254 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5255
5256         * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
5257
5258 2009-06-19  Robert Dewar  <dewar@adacore.com>
5259
5260         * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
5261         ranges
5262
5263         * checks.adb (Determine_Range): Move the test for generic types later.
5264
5265         * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
5266         cases.
5267         (Eval_Relational_Op): Fold more cases including string compares
5268
5269         * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
5270         function.
5271
5272 2009-06-19  Robert Dewar  <dewar@adacore.com>
5273
5274         * sem_type.ads, sem_ch12.adb: Minor reformatting
5275
5276         * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
5277
5278 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5279
5280         * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
5281         primitive operation of a rivate extension whose controlling argument
5282         is an out parameter.
5283
5284         * sem.adb (Walk_Library_Units): exclude generic package declarations
5285         from check.
5286
5287 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5288
5289         * i-vxwoio.ads: Add comments
5290
5291 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5292
5293         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5294         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
5295         g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
5296         (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
5297         (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
5298         Thin_Common.Socket_Ioctl.
5299         (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
5300         __gnat_socket_ioctl.
5301         (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
5302         argument after the file descriptor and request code.
5303
5304 2009-06-19  Robert Dewar  <dewar@adacore.com>
5305
5306         * checks.adb: Minor reformatting
5307
5308 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
5309
5310         * env.c (__gnat_environ): RTX does not support this functionality.
5311
5312 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5313
5314         * sem.adb (Walk_Library_Items): Include bodies in the list of units to
5315         traverse, to account for front-end inlining and instantiations in a
5316         spec or in the main unit.
5317
5318 2009-06-19  Robert Dewar  <dewar@adacore.com>
5319
5320         * checks.adb (Determine_Range): Do not attempt to get range of generic
5321         type.
5322
5323 2009-06-19  Sergey Rybin  <rybin@adacore.com>
5324
5325         * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
5326         gnatmetric option for generating the schema file for gnatmetric XML
5327         output. Add corresponding VMS qualifier.
5328
5329 2009-06-19  Robert Dewar  <dewar@adacore.com>
5330
5331         * g-cgi.adb: Minor reformatting
5332
5333 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5334
5335         * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
5336         signal code for SIGFPE and raise Program_Error for SIGILL.
5337
5338         * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
5339
5340 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5341
5342         * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
5343         generic package if there is a visibility candidate that is declared in
5344         a regular package.
5345
5346 2009-06-18  Olivier Hainque  <hainque@adacore.com>
5347
5348         * system-aix64.ads: New file.
5349         * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
5350         64bit system.ads for ppc64 multilib variants.
5351
5352 2009-06-16  Robert Dewar  <dewar@adacore.com>
5353             Olivier Hainque  <hainque@adacore.com>
5354
5355         Relax constraints on Machine_Attribute argument types:
5356         * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
5357         missing type.
5358         (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
5359         * gcc-interface/decl.c (prepend_attributes): Accept static
5360         expressions of any type as attribute arguments, not only string
5361         literals.
5362         * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
5363         the relaxation of the restriction on the Info argument type.
5364         
5365 2009-06-13  Aldy Hernandez  <aldyh@redhat.com>
5366
5367         * gcc-interface/utils.c (record_builtin_type): Pass location
5368         argument to build_decl.
5369         (create_type_stub_decl): Same.
5370         (create_type_decl): Same.
5371         (create_var_decl_1): Same.
5372         (create_field_decl): Same.
5373         (create_param_decl): Same.
5374         (create_label_decl): Same.
5375         (create_subprog_decl): Same.
5376         * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
5377         * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
5378         argument to create_artificial_label.
5379         (Loop_Statement_to_gnu): Same.
5380         (Subprogram_Body_to_gnu): Same.
5381         (gnat_gimplify_stmt): Same.
5382
5383 2009-06-11  Richard Henderson  <rth@redhat.com>
5384
5385         * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
5386         OPT_gdwarfplus.
5387
5388 2009-06-11  Ed Schonberg  <schonberg@adacore.com>
5389
5390         * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
5391         accessibiliy check on access_to_subprogram in the context of an
5392         anonymous access that is not an access parameter.
5393
5394 2009-06-11  Eric Botcazou  <ebotcazou@adacore.com>
5395
5396         * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
5397         
5398 2009-06-11  Quentin Ochem  <ochem@adacore.com>
5399
5400         * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
5401         comments for message handled by GPS.
5402
5403 2009-06-11  Matthew Gingell  <gingell@adacore.com>
5404
5405         * adaint.c: Use fopen64 instead of fopen on platforms where we know
5406         it's supported.
5407
5408 2009-06-11  Pascal Obry  <obry@adacore.com>
5409
5410         * g-cgi.ads: Fix comment typo.
5411
5412         * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
5413
5414 2009-06-10  Eric Botcazou  <ebotcazou@adacore.com>
5415
5416         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
5417         a reference to the original type for the type of the field of the
5418         XVS type.
5419         (maybe_pad_type): Likewise.
5420
5421         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
5422         common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
5423         Pass correctly typed arguments to create_field_decl.
5424         <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
5425         case of contrained discriminants as well.  Use the padded base type
5426         in the other case as well.  Rename temporary variable.  Tweak test.
5427         Factor common access pattern.  Set GNU_SIZE only once.
5428
5429 2009-06-09  Olivier Hainque  <hainque@adacore.com>
5430
5431         * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
5432         helper for build_call_alloc_dealloc with arguments to be interpreted
5433         identically.  Process the case where a GNAT_PROC to call is provided.
5434         (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
5435         and return an allocator for DATA_SIZE bytes aimed at containing a
5436         DATA_TYPE object, using the default __gnat_malloc allocator.  Honor
5437         DATA_TYPE alignments greater than what the latter offers.
5438         (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
5439         release a DATA_TYPE object designated by DATA_PTR using the
5440         __gnat_free entry point.
5441         (build_call_alloc_dealloc): Expect object data type instead of naked
5442         alignment constraint. Use the new helpers.
5443         (build_allocator): Remove special processing for the super-aligned
5444         case, now handled by build_call_alloc_dealloc.  Pass data
5445         type instead of the former alignment argument, as expected by the new
5446         interface.
5447         * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
5448         and comment.
5449         * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
5450         Remove special processing for the super-aligned case, now handled
5451         by build_call_alloc_dealloc.  Pass data type instead of the former
5452         alignment argument, as expected by the new interface.
5453         
5454 2009-06-08  Alexandre Oliva  <aoliva@redhat.com>
5455
5456         * lib-writ.adb (flag_compare_debug): Import.
5457         (Write_ALI): Skip during -fcompare-debug-second.
5458
5459 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5460
5461         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
5462         adjusting the discriminant nodes in an extension, use the full view
5463         of the parent subtype if it is of a private kind.
5464
5465 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5466
5467         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
5468         _Parent field, if any, to the record before adding the other fields.
5469         <E_Record_Subtype>: Put the _Controller field before the other fields
5470         except for the _Tag or _Parent fields.
5471         (components_to_record): Likewise.  Retrieve the _Parent field from the
5472         record type.
5473
5474 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5475
5476         * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
5477         remove unused parameter and simplify.
5478         (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS.  Factor
5479         common predicate.  Rewrite loop for clarity.  Use GNU_TYPE directly
5480         as context for all discriminants.  Fix formatting nits.
5481         <E_Record_Subtype>: Add cosmetic 'break'.  Test Has_Discriminants
5482         before Discriminant_Constraint.  Adjust for above renaming.  Do not
5483         set GNU_TYPE more than once.
5484         (elaborate_entity): Test Has_Discriminants on the entity and use
5485         Implementation_Base_Type.
5486         (components_to_record): Rename component_list to gnat_component_list.
5487         Retrieve the _Parent field from the list.  Fix nits in comments.
5488         Clarify logic in loop.  Pass correct arguments to create_field_decl.
5489
5490 2009-06-02  Eric Botcazou  <ebotcazou@adacore.com>
5491
5492         * gcc-interface/Make-lang.in: Fix formatting.
5493
5494 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5495             Eric Botcazou  <ebotcazou@adacore.com>
5496         
5497         * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
5498         to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
5499         on the result if at least one of the input fields couldn't be output
5500         as a static constant any more.
5501
5502 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5503             Eric Botcazou  <ebotcazou@adacore.com>
5504         
5505         * gcc-interface/utils2.c (gnat_build_constructor): Factor
5506         out code.  Use initializer_constant_valid_for_bitfield_p and
5507         CONSTRUCTOR_BITFIELD_P for bit-fields.
5508
5509 2009-05-26  Ian Lance Taylor  <iant@google.com>
5510
5511         * gcc-interface/Makefile.in (COMPILER): Define.
5512         (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
5513         (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
5514         (seh_init.o, tracebak.o): Likewise.
5515         * gcc-interface/Make-lang.in (ada/targext.o): Likewise.
5516         (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
5517         (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
5518         (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
5519         (ada/utils2.o): Likewise.
5520
5521 2009-05-24  Olivier Hainque  <hainque@adacore.com>
5522
5523         * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
5524         * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
5525         Add -auxbase variants to the list of recognized internal switches.
5526         * back_end.adb (Scan_Back_End_Switches): Use the new functions and
5527         adjust comments.
5528         * lib.ads: Make comment on internal GCC switches more general.
5529         * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
5530         as for C.       
5531         
5532 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5533
5534         * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
5535
5536 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5537
5538         * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
5539         types.
5540
5541 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5542
5543         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
5544         original type because of the alignment when there is an address clause.
5545
5546 2009-05-20  Eric Botcazou  <ebotcazou@adacore.com>
5547
5548         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
5549         discriminants affect the shape of the subtype, retrieve the GCC type
5550         directly from the original field if the GNAT types for the field and
5551         the original field are the same.
5552
5553 2009-05-15  Eric Botcazou  <ebotcazou@adacore.com>
5554
5555         * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
5556         New macros.
5557         (TYPE_RM_VALUES): Likewise.
5558         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
5559         (SET_TYPE_RM_SIZE): New macro.
5560         (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
5561         (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
5562         (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
5563         * gcc-interface/gigi.h (create_range_type): Declare.
5564         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
5565         Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
5566         <E_Signed_Integer_Subtype>: Build a regular integer type first and
5567         then set the RM bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5568         <E_Floating_Point_Subtype>: Build a regular floating-point type first
5569         and then set the RM bounds.
5570         <E_Array_Type>: Use create_range_type instead of build_range_type.
5571         <E_Array_Subtype>: Build a regular integer type first and then set
5572         the RM bounds for the extra subtype.
5573         <E_String_Literal_Subtype>: Use create_range_type instead of
5574         build_range_type.
5575         <all>: Set the RM bounds for enumeration types and the GCC bounds for
5576         floating-point types.
5577         (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
5578         (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
5579         to set the bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5580         (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
5581         types and with RM bounds for subtypes.
5582         * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
5583         (gnat_print_type) <REAL_TYPE>: New case.
5584         <ENUMERAL_TYPE>: Fall through to above case.
5585         (gnat_get_subrange_bounds): New function.
5586         * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
5587         TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
5588         * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
5589         for booleans.  Adjust and use SET_TYPE_RM_SIZE to set the RM size.
5590         (create_range_type): New function.
5591         (create_param_decl): Build a regular integer type first and then set
5592         the RM bounds for the extra subtype.
5593         (unchecked_convert): Remove kludge for 'Valid.
5594         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
5595         the index to sizetype instead of TYPE_DOMAIN.
5596
5597 2009-05-14  Eric Botcazou  <ebotcazou@adacore.com>
5598
5599         * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
5600         parameter and move check for static expression to...
5601         (elaborate_expression): ...here.  Adjust call to above function.
5602         (gnat_to_gnu_entity): Likewise for all calls.  Use correct arguments
5603         in calls to elaborate_expression.
5604         (elaborate_entity): Likewise.
5605         (substitution_list): Likewise.
5606         (maybe_variable): Fix formatting.
5607         (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
5608         missing guard.
5609         * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
5610
5611 2009-05-07  Arnaud Charlet  <charlet@adacore.com>
5612
5613         * gcc-interface/Make-lang.in: Update dependencies.
5614
5615 2009-05-06  Laurent GUERBY  <laurent@guerby.net>
5616
5617         * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
5618         Define sa_handler_pos.
5619         * s-osinte-linux.ads: Use it.
5620         * s-linux-mipsel.ads: New.
5621         * system-linux-mips64el.ads: New.
5622         * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
5623         mips64el-linux.
5624
5625 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5626
5627         * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
5628         targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
5629         opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
5630         (Tagged_Type_Expansion): New flag.
5631         Replace use of VM_Target related to tagged types expansion by
5632         Tagged_Type_Expansion, since tagged type expansion is not necessarily
5633         linked to VM targets.
5634
5635 2009-05-06  Robert Dewar  <dewar@adacore.com>
5636
5637         * sem_attr.adb: Add processing for Standard'Compiler_Version
5638
5639         * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
5640         skipping.
5641         (Expr_First_Char): Add ??? comment that paren skipping needs work
5642         (Expr_Last_Char): Add ??? comment that paren skipping needs work
5643
5644         * exp_attr.adb: Add processing for Compiler_Version
5645
5646         * sem_attr.adb: New attribute Compiler_Version
5647
5648         * snames.ads-tmpl: Add entries for Compiler_Version attribute
5649
5650         * gnat_rm.texi: Document Compiler_Version attribute
5651
5652 2009-05-06  Robert Dewar  <dewar@adacore.com>
5653
5654         * errout.adb: Minor reformatting
5655
5656         * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
5657         sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
5658         styleg.adb: Add stylized comments to error messages that are included
5659         in the codefix circuitry of IDE's such as GPS.
5660
5661 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5662
5663         * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
5664         new form of the rule parameter that allows to specify the suffix for
5665         access-to-access type names.
5666
5667 2009-05-06  Robert Dewar  <dewar@adacore.com>
5668
5669         * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
5670         out parameter assigned when exception handlers are present.
5671
5672         * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
5673         assignments on exit.
5674
5675         * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
5676         sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
5677         prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
5678         par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
5679         messages that are included in the codefix circuitry of IDE's such as
5680         GPS.
5681
5682         * sinput.ads, sinput.adb (Expr_First_Char): New function
5683         (Expr_Last_Char): New function
5684
5685 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5686
5687         * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
5688         Add formal definition for extra exit point metric
5689
5690 2009-05-06  Pascal Obry  <obry@adacore.com>
5691
5692         * adaint.c: Support for setting attributes on unicode filename on
5693         Windows.
5694
5695 2009-05-06  Robert Dewar  <dewar@adacore.com>
5696
5697         * sem_warn.adb: Minor reformatting
5698
5699 2009-05-06  Javier Miranda  <miranda@adacore.com>
5700
5701         * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
5702         not have discriminants or components with default expressions.
5703         (Analyze_Pragma): For pragma CPP_Class check that imported types
5704         have no discriminants and components have no default expression.
5705
5706         * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
5707         class-wide types in the expression of a record component association.
5708
5709 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5710
5711         * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
5712
5713         * gnat_ugn.texi: Add description for the new extra exit points metric
5714         (gnatmetric section).
5715
5716 2009-05-06  Robert Dewar  <dewar@adacore.com>
5717
5718         * s-fileio.adb: Minor comment update
5719
5720         * sem_ch8.adb: Minor reformatting
5721
5722         * exp_ch3.adb: Update comments.
5723
5724 2009-05-06  Tristan Gingold  <gingold@adacore.com>
5725
5726         * init.c, s-osinte-darwin.ads: Reduce alternate stack size
5727
5728 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5729
5730         * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
5731         Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
5732
5733         * gcc-interface/Make-lang.in: Update dependencies
5734
5735 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5736
5737         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
5738         change. The context clause of a generic instance declaration must be
5739         preserved until the end of the compilation, because it may have to be
5740         installed/removed repeatedly.
5741         The latest change to sem.adb ensures that the context of both spec and
5742         body of an instance is traversed before the instance itself, making
5743         this patch redundant.
5744
5745 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5746
5747         * sem_aggr.adb: Fix typo.
5748
5749 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5750
5751         * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
5752         declaration, do not adjust if the declaration is to be rewritten into
5753         a renaming.
5754
5755 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5756
5757         * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
5758         discriminant part.
5759
5760 2009-05-06  Bob Duff  <duff@adacore.com>
5761
5762         * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
5763         otherwise the compiler would be allowed to optimize away the cleanup
5764         code.
5765
5766 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5767
5768         * gnat_ugn.texi: Fix typo.
5769
5770 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5771
5772         * g-debuti.adb: Minor reformatting
5773
5774         * exp_attr.adb: Minor reformatting
5775
5776 2009-05-06  Robert Dewar  <dewar@adacore.com>
5777
5778         * sem_aggr.adb: Minor reformatting.
5779
5780         * g-socthi-vms.adb: Minor reformatting
5781
5782 2009-05-06  Bob Duff  <duff@adacore.com>
5783
5784         * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
5785         (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
5786
5787 2009-05-06  Bob Duff  <duff@adacore.com>
5788
5789         * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
5790         flags.
5791
5792 2009-05-06  Javier Miranda  <miranda@adacore.com>
5793
5794         * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
5795         (Resolve_Extension_Aggregate): Do not reject C++ constructors in
5796         extension aggregates.
5797         (Resolve_Record_Aggregate): Add support for C++ constructors in
5798         extension aggregates.
5799
5800         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
5801         constructors in extension aggregates.
5802
5803 2009-05-06  Robert Dewar  <dewar@adacore.com>
5804
5805         * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
5806         clause.
5807
5808 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5809
5810         * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
5811         packed type, since on OpenVMS, struct msghdr is packed.
5812
5813 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5814
5815         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
5816         call returning an unconstrained composite value, create the proper
5817         subtype for it, as is done for object dclarations with unconstrained
5818         nominal subtypes. Perform this transformation regarless of whether
5819         call comes from source.
5820
5821 2009-05-06  Robert Dewar  <dewar@adacore.com>
5822
5823         * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
5824         records
5825
5826         * gnat_rm.texi:
5827         Add documentation for pragma Implicit_Packing applied to record
5828         types.
5829
5830 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5831
5832         * sem.adb (Walk_Library_Items): Place all with_clauses of an
5833         instantiation on the spec, because late instance bodies may generate
5834         with_clauses for the instance body but are inserted in the instance
5835         spec.
5836
5837 2009-05-06  Emmanuel Briot  <briot@adacore.com>
5838
5839         * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
5840         support for returning the directory even if it doesn't exist. This is
5841         used for the object directory, since we are always setting it to a
5842         non-null value, and we should set it to an absolute name rather than a
5843         relative name for the sake of external tools that might depend on it.
5844         (Check_Library_Attributes): When Project.Library_Dir is known, check
5845         that the directory exists.
5846
5847 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5848
5849         * sem_attr.adb (Check_Dereference): If the prefix of an attribute
5850         reference is an implicit dereference, do not freeze the designated type
5851         if within a default expression or when preanalyzing a pre/postcondtion.
5852
5853 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5854
5855         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
5856         call returning an unconstrained composite value, create the proper
5857         subtype for it, as is done for object dclarations with unconstrained
5858         nominal subtypes
5859
5860 2009-05-06  Robert Dewar  <dewar@adacore.com>
5861
5862         * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
5863         improvements
5864
5865         * freeze.adb: Minor reformatting
5866
5867 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5868
5869         * sem_ch3.adb (Access_Type_Declaration): An access type whose
5870         designated type is a limited view from a limited with clause (flagged
5871         From_With_Type) is not itself such a limited view.
5872
5873 2009-05-06  Emmanuel Briot  <briot@adacore.com>
5874
5875         * prj-nmsc.adb: Remove unused variable.
5876
5877         * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
5878         prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
5879         makeutl.ads, since not all users of prj.ads need this.
5880
5881 2009-05-06  Javier Miranda  <miranda@adacore.com>
5882
5883         * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
5884         constructor in case of aggregates whose type is a CPP_Class type.
5885
5886 2009-05-06  Robert Dewar  <dewar@adacore.com>
5887
5888         * sem_ch13.adb: Minor comment additions
5889
5890         * osint.adb: Minor reformatting
5891
5892 2009-05-06  Pascal Obry  <obry@adacore.com>
5893
5894         * initialize.c: On Windows, keep full pathname to expanded command
5895         line patterns.
5896
5897 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5898
5899         * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
5900         an aggregate with box default is of a discriminated private type, do
5901         not build a subaggregate for it.
5902         A proper call to the initialization procedure is generated for it.
5903
5904 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5905
5906         * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
5907         (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
5908         Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
5909         use standard array code for Standard.String.
5910         (Exp_Dist): Bump PolyORB s-parint API version to 3.
5911         (Rtsfind): New entities TA_Std_String, Unbounded_String.
5912
5913 2009-05-06  Robert Dewar  <dewar@adacore.com>
5914
5915         * g-comlin.ads: Minor reformatting
5916
5917         * xoscons.adb: Minor reformatting
5918
5919 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5920
5921         * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
5922         Underlying_Type before retrieving the type definition for gathering
5923         components, to account for the case where the type is private.
5924
5925 2009-05-06  Tristan Gingold  <gingold@adacore.com>
5926
5927         * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
5928
5929 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5930
5931         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5932         g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
5933         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
5934         (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
5935         Windows versions): Fix incorrect base
5936         address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
5937         (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
5938         System.Address for the To parameter instead of a Sockaddr_In_Access, to
5939         achieve independance from AF_INET family, and also to allow this
5940         parameter to be retrieved from a Msghdr for the Windows case where
5941         these routines are used to implement C_Sendmsg and C_Recvmsg.
5942
5943 2009-05-06  Bob Duff  <duff@adacore.com>
5944
5945         * g-expect.adb, g-expect.ads: Minor reformatting
5946
5947         * sdefault.ads: Minor comment fix
5948
5949         * g-expect-vms.adb: Minor reformatting
5950
5951         * table.ads, table.adb (Append_All): New convenience procedure for
5952         appending a whole array.
5953
5954         * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
5955         box message. Call Osint.Dump_Source_File_Names to print out the file
5956         list, instead of rummaging around in various data structures.
5957
5958         * debug.adb: New switch -gnatd.n, to print source file names as they
5959         are read.
5960
5961         * alloc.ads: Add parameters for Osint.File_Name_Chars.
5962
5963         * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
5964         out source file names during a "bug box".
5965         (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
5966         (Read_Source_File): Print out the file name, if requested via -gnatd.n.
5967         If it's not part of the runtimes, store it for later printing by
5968         Dump_Source_File_Names.
5969
5970 2009-05-06  Javier Miranda  <miranda@adacore.com>
5971
5972         * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
5973         documentation and add reference to the GNAT user guide for further
5974         details.
5975
5976 2009-05-06  Javier Miranda  <miranda@adacore.com>
5977
5978         * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
5979         also wrong examples that use extension aggregates.
5980
5981 2009-05-06  Albert Lee  <lee@adacore.com>
5982
5983         * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
5984         of Msg_Iovlen_T for VMS.
5985
5986 2009-05-04  Laurent GUERBY  <laurent@guerby.net>
5987
5988         PR ada/38874
5989         * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
5990         
5991 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5992
5993         * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
5994         box-defaulted operator in an instantiation, when the type of the
5995         operands is not directly visible.
5996
5997 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
5998
5999         * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
6000         (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
6001         analysis of the ancestor part. Remove prohibition against limited
6002         interpretations of the ancestor expression in the case of Ada 2005.
6003         Revise error message in overloaded case, adding a message to cover
6004         the Ada 2005 case.
6005
6006 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6007
6008         * xoscons.adb: Minor reformatting
6009
6010 2009-04-29  Bob Duff  <duff@adacore.com>
6011
6012         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
6013         attribute_definition_clauses for the following attributes when the
6014         -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
6015         Storage_Size, Write. Otherwise, we get spurious errors (for example,
6016         missing Read attribute on remote types).
6017
6018         * gnat_ugn.texi: Document the change, and add a stern warning.
6019
6020 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6021
6022         * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
6023         disabled not just for the current scope, but for the innermost dynamic
6024         scope as well.
6025
6026 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6027
6028         * gcc-interface/Make-lang.in: Update dependencies
6029
6030 2009-04-29  Vincent Celier  <celier@adacore.com>
6031
6032         * prj-part.adb: Minor comment update
6033
6034 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6035
6036         * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
6037         box-initialized records with discriminated subcomponents that are
6038         constrained by discriminants of enclosing components. New subsidiary
6039         procedures Add_Discriminant_Values, Propagate_Discriminants.
6040
6041 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6042
6043         * g-socket.adb: Code clean up.
6044
6045 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6046
6047         * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
6048         function entity, to cover the case of a parameterless function call
6049         that has not been resolved.
6050
6051 2009-04-29  Robert Dewar  <dewar@adacore.com>
6052
6053         * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
6054         reformatting and comment updates.
6055
6056 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6057
6058         * gnat_ugn.texi: Update some documentation about interfacing with C++
6059         Mention -fkeep-inline-functions.
6060
6061         * gnat_ugn.texi: Minor edits
6062
6063 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6064
6065         * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
6066         for a defaulted component of an enclosing aggregate, inherit the type
6067         from the component declaration of the enclosing type. 
6068
6069 2009-04-29  Albert Lee  <lee@adacore.com>
6070
6071         * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
6072         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
6073         (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
6074         msg_iovlen field in struct msghdr is 32 or 64 bits wide.
6075         Relocate the Msghdr record type from GNAT.Sockets.Thin to
6076         GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
6077         type for the Msg_Iovlen field.
6078
6079 2009-04-29  Vincent Celier  <celier@adacore.com>
6080
6081         * sinput-l.adb (Load_File): When preprocessing, set temporarily the
6082         Source_File_Index_Table entries for the source, to avoid crash when
6083         reporting an error.
6084
6085         * gnatcmd.adb (Test_If_Relative_Path): Use
6086         Makeutl.Test_If_Relative_Path.
6087         
6088         * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
6089         Including_RTS is True.
6090
6091         * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
6092         Including_RTS defaulted to False.
6093
6094         * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
6095         a default value.
6096
6097 2009-04-29  Javier Miranda  <miranda@adacore.com>
6098
6099         * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
6100
6101 2009-04-29  Javier Miranda  <miranda@adacore.com>
6102
6103         * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
6104         associated with dyamically tagged expressions if the expression
6105         initializing a tagged type corresponds with a non default CPP
6106         constructor.
6107         (OK_For_Limited_Init): CPP constructor calls are OK for initialization
6108         of limited type objects.
6109
6110         * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
6111         when a CPP constructor is called in an assignment. Disable also the
6112         error message associated with dyamically tagged expressions if the
6113         exporession initializing a tagged type corresponds with a non default
6114         CPP constructor.
6115
6116         * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
6117         non-default C++ constructors.
6118
6119         * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
6120
6121         * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
6122         non-default constructors.
6123         (Init_Proc): Add support for non-default constructors.
6124
6125         * exp_disp.adb (Set_Default_Constructor): Removed.
6126         (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
6127         but extending its functionality to handle non-default constructors.
6128
6129         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
6130         constructors. Minor code cleanup removing unrequired label and goto
6131         statement.
6132
6133         * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
6134         constructors.
6135         (Build_Init_Statements): Add support for non-default constructors.
6136         (Expand_N_Object_Declaration): Add support for non-default constructors.
6137         (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
6138         to Set_CPP_Constructors.
6139
6140         * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
6141         non-default constructors.
6142         Required to handle its use in build-in-place statements.
6143
6144         * gnat_rm.texi (CPP_Constructor): Document new extended use of this
6145         pragma for non-default C++ constructors and the new compiler support
6146         that allows the use of these constructors in record components, limited
6147         aggregates, and extended return statements.
6148
6149 2009-04-29  Vincent Celier  <celier@adacore.com>
6150
6151         * prj-part.adb (Parse_Single_Project): Do not attempt to find a
6152         project extending an abstract project.
6153
6154 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6155
6156         * targparm.ads: Fix oversight.
6157
6158 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6159
6160         * lib-xref.adb (Output_Overridden_Op): Follow several levels of
6161         derivation when necessary, to find the user-subprogram that is actally
6162         being overridden.
6163
6164 2009-04-29  Robert Dewar  <dewar@adacore.com>
6165
6166         * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
6167         components
6168
6169 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6170
6171         * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
6172         primitive operation, rather than source line of synchronized type, when
6173         building the wrapper for a primitive operation that overrides an
6174         operation inherited from a progenitor, to improve the error message on
6175         duplicate declarations.
6176
6177         * sem_ch3.adb (Process_Full_View): Use new signature of
6178         Build_Wrapper_Spec.
6179
6180 2009-04-29  Robert Dewar  <dewar@adacore.com>
6181
6182         * prj-nmsc.ads: Minor reformatting
6183
6184 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6185
6186         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
6187         expression on the existing parent If statement.
6188
6189 2009-04-29  Robert Dewar  <dewar@adacore.com>
6190
6191         * prj-proc.adb, prj.ads: Minor reformatting
6192
6193 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6194
6195         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
6196         existing parent If statement on the newly created one.
6197
6198 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6199
6200         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
6201         prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
6202         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
6203         (Set_In_Configuration, In_Configuration): Removed.
6204         Replaced by an extra parameter Is_Config_File in several parameter to
6205         avoid global variables to store the state of the parser.
6206
6207 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6208
6209         * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
6210         with_clauses generated for the same unit through rtsfind, and that
6211         appear in the context of different units.
6212
6213         * rtsfind.adb: New attribute First_Implicit_With, component of the
6214         Unit_Record that stores information about a unit loaded through rtsfind.
6215
6216 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6217
6218         * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
6219         (other conditions permitting), so that abstract stream subprograms will
6220         be declared for them.
6221
6222 2009-04-29  Bob Duff  <duff@adacore.com>
6223
6224         * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
6225
6226         * g-expect.ads: Minor comment fixes.
6227
6228 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6229
6230         * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
6231         dispatching operation is a body without previous spec, update the list
6232         of primitive operations to ensure that cross-reference information is
6233         up-to-date.
6234
6235 2009-04-29  Albert Lee  <lee@adacore.com>
6236
6237         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6238         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
6239         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
6240         (GNAT.Sockets.Thin.C_Readv,
6241         GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
6242         (GNAT.Sockets.Thin.C_Recvmsg,
6243         GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
6244         sendmsg(2).  
6245         (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
6246         C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
6247
6248 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6249
6250         * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
6251         operation is a body without previous spec, update the list of
6252         primitive operations to ensure that cross-reference information is
6253         up-to-date.
6254
6255         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
6256         new compilation unit node for the instance declaration, keep the
6257         context items of the original unit on it, so that the context of the
6258         instance body only holds the context inherited from the generic body.
6259
6260 2009-04-29  Bob Duff  <duff@adacore.com>
6261
6262         * sem_res.adb: Minor comment fix.
6263
6264 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6265
6266         * sem_elim.adb: Minor reformatting
6267
6268 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6269
6270         * exp_aggr.adb (Convert_To_Positional): if the current unit is a
6271         predefined unit, allow arbitrary number of components in static
6272         aggregate, to ensure that the same level of constant folding applies
6273         for Ada 95 and Ada 05 versions of the file.
6274
6275 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6276
6277         * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
6278         information: no need for full scope check.
6279         (Eliminate_Error): Do not emit error in a generic context.
6280
6281 2009-04-29  Ed Falis  <falis@adacore.com>
6282
6283         * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
6284         VxWorks 653 POS does not support rmdir.
6285
6286 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6287
6288         * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
6289         results are printed.
6290
6291 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6292
6293         * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
6294         unused assignment.
6295
6296 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6297
6298         * make.adb: Minor reformatting.
6299         Minor code reorganization throughout.
6300
6301 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6302
6303         * s-stausa.ads: Changed visibility of type Task_Result: moved to
6304         public part to give application visibility over it.
6305         This is for future improvement and to build a public API on top of it.
6306         Changed record components name of type Task_Result to reflect the new
6307         way of reporting. 
6308
6309         * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
6310         reporting Stack usage.
6311
6312         * gnat_ugn.texi: Update doc of stack usage report.
6313
6314         * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
6315
6316         * Makefile.rtl: Add new run-time files.
6317
6318 2009-04-29  Pascal Obry  <obry@adacore.com>
6319
6320         * initialize.c: Do not expand quoted arguments.
6321
6322 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6323
6324         * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
6325
6326         * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
6327          Prj.Ultimate_Extending_Project_Of
6328
6329 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6330
6331         * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
6332         Amendment type, add the with_clause for Finalization.List_Controller
6333         only if the current context is a package body.
6334
6335 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6336
6337         * sem_ch12.adb: Minor reformatting
6338
6339         * sem_aggr.adb: Minor reformatting
6340
6341         * sem_ch6.adb, sem_cat.ads: Minor reformatting
6342
6343         * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
6344
6345 2009-04-29  Quentin Ochem  <ochem@adacore.com>
6346
6347         * prj.ads (Source_Id): Now general pointer type.
6348
6349 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6350
6351         * exp_ch7.adb, rtsfind.adb: Minor reformatting
6352
6353         * sem_res.adb: Minor reformatting
6354
6355 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6356
6357         * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
6358         operands is static only if it is a predefined concatenation operator.
6359
6360         * sem_util.adb: Minor reformatting
6361
6362         * sem_ch12.adb (Save_References): When propagating semantic information
6363         from generic copy back to generic template, for the case of an
6364         identifier that has been rewritten to an explicit dereference whose
6365         prefix is either an object name or a parameterless funcion call
6366         denoting a global object or function, properly capture the denoted
6367         global entity: perform the corresponding rewriting in the template,
6368         and point the rewritten identifier to the correct global entity (not
6369         to the associated identifier in the generic copy).
6370
6371 2009-04-29  Robert Dewar  <dewar@adacore.com>
6372
6373         * rtsfind.adb, prj-env.adb: Minor reformatting
6374         Minor code reorganization
6375
6376 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6377
6378         * make.adb: Fix comment
6379
6380         * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
6381         is given as argument, as might happen in gnatmake.
6382
6383 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6384
6385         * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
6386         an abstract operation of a progenitor is not properly overridden by an
6387         operation of a derived synchronized type.
6388
6389 2009-04-29  Robert Dewar  <dewar@adacore.com>
6390
6391         * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
6392         prj-proc.adb: Minor reformatting
6393         Minor code reorganization
6394
6395 2009-04-29  Bob Duff  <duff@adacore.com>
6396
6397         * exp_ch7.adb (Build_Final_List): For an access type that designates a
6398         Taft Amendment type, if the access type needs finalization, make sure
6399         the implicit with clause for List_Controller occurs on the package spec.
6400
6401         * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
6402         with's created for the pseudo-children of Text_IO and friends. In
6403         particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
6404         Ada.Text_IO.Integer_IO both with-ing each other.
6405
6406         * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
6407         oddball cases when pragma Extend_System is used.
6408
6409         * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
6410         the case where a package spec instantiates a generic whose body with's
6411         this package, so Walk_Library_Items won't complain about cyclic with's.
6412
6413 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6414
6415         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
6416         prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
6417         mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
6418         (Project_Id): now a real pointer to Project_Data, instead of an index
6419         into the Projects_Table. This simplifies the API significantly, avoiding
6420         extra lookups in this table and the need to pass the Project_Tree_Ref
6421         parameter in several cases
6422
6423 2009-04-29  Nicolas Setton  <setton@adacore.com>
6424
6425         * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
6426         darwin.
6427
6428 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
6429
6430         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
6431         back kludge.
6432
6433 2009-04-24  Robert Dewar  <dewar@adacore.com>
6434
6435         * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
6436         clean.adb: Minor reformatting.
6437         Minor code reorganization and message improvement.
6438
6439 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6440
6441         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
6442         (Alternate_Languages): now implemented as a malloc-ed list rather
6443         than through a table.
6444
6445 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6446
6447         * sem_res.adb (Static_Concatenation): Simplify predicate to make it
6448         accurately handle cases such as "lit" & "lit" and
6449         "lit" & static_string_constant
6450
6451 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6452
6453         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
6454         prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
6455         removed. Lists of projects are now implemented via standard malloc
6456         rather than through the table.
6457
6458 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6459
6460         * sem_ch12.adb: Minor reformatting
6461
6462         * g-trasym.adb: Minor reformatting
6463
6464         * exp_ch6.adb: Minor reformatting
6465
6466 2009-04-24  Robert Dewar  <dewar@adacore.com>
6467
6468         * layout.adb (Layout_Type): For packed array type, copy unset
6469         size/alignment fields from the referenced Packed_Array_Type.
6470
6471 2009-04-24  Bob Duff  <duff@adacore.com>
6472
6473         * lib-load.adb (Make_Instance_Unit): Revert previous change, no
6474         longer needed after sem_ch12 changes.
6475
6476         * sem.adb (Walk_Library_Items): Include with's in some debugging
6477         printouts.
6478
6479 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6480
6481         * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
6482         only ever using the Project field.
6483
6484 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6485
6486         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
6487         Body_Required on the generated compilation node. The new node is linked
6488         to its body, but both share the same file, so we do not set this flag
6489         on the new unit so as not to create a spurious dependency on a
6490         non-existent body in the ali file for the instance.
6491
6492 2009-04-24  Robert Dewar  <dewar@adacore.com>
6493
6494         * make.adb: Minor reformatting
6495
6496 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6497
6498         * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
6499         Add_Source): merge some code between those. In particular change where
6500         file normalization is done to avoid a few extra calls to
6501         Canonicalize_File_Name. This also removes the need for passing
6502         Current_Dir in a number of subprograms.
6503
6504 2009-04-24  Bob Duff  <duff@adacore.com>
6505
6506         * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
6507         False, assign the correct unit to the Cunit field of the new table
6508         entry. We want the spec unit, not the body unit.
6509
6510         * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
6511         interface for these.
6512         (Maybe_Add_With): Check whether we're trying to a with on the current
6513         unit, and avoid creating such directly self-referential with clauses.
6514         (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
6515         [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
6516         and matches existing comments in the spec.
6517
6518         * sem.adb (Walk_Library_Items): Add various special cases to make the
6519         assertions pass.
6520
6521         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
6522         instead of Parent (N), for uniformity.
6523
6524 2009-04-24  Robert Dewar  <dewar@adacore.com>
6525
6526         * errout.ads: Minor reformatting
6527
6528 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6529
6530         * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
6531         behavior when the project includes sources from multiple languages
6532
6533 2009-04-24  Vincent Celier  <celier@adacore.com>
6534
6535         * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
6536         is a language other than Ada declared.
6537
6538         * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
6539         Imported_First set to True.
6540
6541 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6542
6543         * sem_res.adb: additional optimization to inhibit creation of
6544         redundant transient scopes.
6545
6546 2009-04-24  Bob Duff  <duff@adacore.com>
6547
6548         * rtsfind.ads: Minor comment fix
6549
6550 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6551
6552         * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
6553         Get_Path_Name_And_Record_Ada_Sources): merged, since these were
6554         basically doing the same work (for explicit or implicit sources).
6555         (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
6556         role. Rewritten to share some code (testing that all explicit sources
6557         have been found) between ada_only and multi_language modes.
6558
6559 2009-04-24  Jerome Lambourg  <lambourg@adacore.com>
6560
6561         * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
6562         for CLI imported types.
6563         (Analyze_Pragma): Allow CIL or Java imported functions returning
6564         access-to-subprogram types.
6565
6566 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6567
6568         * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
6569         (Project_Data.Dir_Path): field removed, since it can be computed
6570         directly from .Directory, and is needed only once when processing the
6571         project is buildgpr.adb or make.adb
6572
6573 2009-04-24  Robert Dewar  <dewar@adacore.com>
6574
6575         * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
6576         rtsfind.adb: Minor reformatting.
6577         Minor code reorganization
6578
6579 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6580
6581         * mlib-prj.adb: Use friendlier english identifier.
6582
6583         * gnatcmd.adb, make.adb: Use better english identifiers.
6584
6585 2009-04-24  Robert Dewar  <dewar@adacore.com>
6586
6587         * clean.adb: Minor reformatting
6588
6589 2009-04-24  Robert Dewar  <dewar@adacore.com>
6590
6591         * einfo.adb (OK_To_Rename): New flag
6592
6593         * einfo.ads (OK_To_Rename): New flag
6594
6595         * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
6596         OK_To_Rename set.
6597
6598         * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
6599
6600         * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
6601         OK_To_Rename.
6602
6603 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6604
6605         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
6606         clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
6607         field removed. This is not a property of the
6608         project, just a boolean used to traverse the project tree, and storing
6609         it in the structure prevents doing multiple traversal in parallel.
6610         (Project_Data.Checked): also removed, since it was playing the same role
6611         as Seen when we had two nested loops, and this is no longer necessary
6612         (For_All_Imported_Projects): removed, since in fact there was already
6613         the equivalent in For_Every_Project_Imported. The latter was rewritten
6614         to use a local hash table instead of Project_Data.Seen
6615         Various loops were rewritten to use For_Every_Project_Imported, thus
6616         removing the need for Project_Data.Seen. This avoids a lot of code
6617         duplication
6618
6619 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6620
6621         * sem_res.adb (Resolve_Actuals): Do not create blocks around code
6622         statements, even though the actual of the call is a concatenation,
6623         because the argument is static, and we want to preserve warning
6624         messages  about sequences of code statements that are not marked
6625         volatile.
6626
6627         * sem_warn.adb: remove obsolete comment about warning being obsolete
6628
6629         * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
6630         requeued and the delay has expired while within the accept statement
6631         that executes the requeue, do not perform the requeue and indicate that
6632         the timed call has been aborted.
6633
6634 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6635
6636         * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6637         (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
6638         (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
6639         since they can be computed from the above.
6640
6641 2009-04-24  Vincent Celier  <celier@adacore.com>
6642
6643         * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
6644
6645         * prj-env.adb: Move all global variables to the private part of the
6646         project tree data.
6647         Access these new components instead of the global variables no longer
6648         in existence.
6649         (Add_To_Path): New Project_Tree_Ref parameter, to access the new
6650         components that were previously global variables.
6651
6652         * prj-env.ads (Initialize): New Project_Tree_Ref parameter
6653         (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
6654         parameter.
6655
6656         * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
6657         be able to call Set_Mapping_File_Initial_State_To_Empty with it.
6658
6659         * prj.adb (Initialize): Do not call Prj.Env.Initialize
6660         (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
6661         components in the private part of the project tree data.
6662
6663         * prj.ads (Private_Project_Tree_Data): new components moved from
6664         Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
6665         Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
6666         Ada_Prj_Objects_File_Set, Fill_Mapping_File.
6667
6668 2009-04-24  Vincent Celier  <celier@adacore.com>
6669
6670         * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
6671
6672         * prj-nmsc.adb (Check_Library): No error for imports by shared library
6673         projects, when --unchecked-shared-lib-imports is used.
6674
6675 2009-04-24  Robert Dewar  <dewar@adacore.com>
6676
6677         * sem_ch7.adb: Minor reformatting
6678
6679 2009-04-24  Tristan Gingold  <gingold@adacore.com>
6680
6681         * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
6682         mach thread id.
6683
6684 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6685
6686         * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
6687         Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
6688         (For_All_Imported_Projects): new procedure
6689         (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
6690         above rather than duplicating code.
6691
6692 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6693
6694         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6695         (Source_Id, Source_Data): use a real list to store sources rather than
6696         using an external table to store the elements. This makes code more
6697         efficient and more readable.
6698
6699 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6700
6701         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6702         (Source_Iterator): new type.
6703         This removes the need for having the sources on three different
6704         lists at the project tree, project and language level. They are now
6705         on a single list.
6706
6707 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6708
6709         * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
6710
6711 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6712
6713         * sem_warn.adb: Add comment on obsolete warning
6714
6715 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6716
6717         * s-tassta.adb (Create_Task): Fix violation of locking rule.
6718
6719 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6720
6721         * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
6722         to Language_Ptr to better reflect its new implementation.
6723         (Project_Data.First_Languages_Processing): renamed to Languages now
6724         that the field with that name is no longer used
6725         (Project_Data.Languages): removed, no longer used, and duplicates
6726         information already available through First_Language_Processing.
6727         (Prj.Language_Index): now an actual pointer, instead of an index into
6728         a table. This makes the list somewhat more obvious, but more importantly
6729         removes the need to pass a pointer to the project_tree_data in a few
6730         places, and makes accessing the attributes of a languages more
6731         efficient.
6732
6733 2009-04-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6734             Thomas Quinot  <quinot@adacore.com>
6735
6736         * fe.h (Set_Identifier_Casing): Add const to second parameter.
6737         * gcc-interface/misc.c (internal_error_function): Make copy of return
6738         from pp_formatted_text before assigning BUFFER to it.
6739         (gnat_init): Likewise for main_input_filename and gnat_argv.
6740         (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
6741
6742 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6743
6744         * ttypes.ads (Target_Double_Float_Alignment): New variable.
6745         (Target_Double_Scalar_Alignment): Likewise.
6746         * get_targ.ads (Get_Strict_Alignment): Adjust external name.
6747         (Get_Double_Float_Alignment): New imported function.
6748         (Get_Double_Scalar_Alignment): Likewise.
6749         * layout.adb (Set_Elem_Alignment): Take into account specific caps for
6750         the alignment of "double" floating-point types and "double" or larger
6751         scalar types, as parameterized by Target_Double_Float_Alignment and
6752         Target_Double_Scalar_Alignment respectively.
6753         * gcc-interface/gigi.h (double_float_alignment): Declare.
6754         (double_scalar_alignment): Likewise.
6755         (is_double_float_or_array): Likewise.
6756         (is_double_scalar_or_array): Likewise.
6757         (get_target_double_float_alignment): Likewise.
6758         (get_target_double_scalar_alignment): Likewise.
6759         * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
6760         (get_target_strict_alignment): ...this.
6761         (get_target_double_float_alignment): New function.
6762         (get_target_double_scalar_alignment): Likewise.
6763         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6764         Test the presence of an alignment clause for under-aligned integer
6765         types.  Take into account specific caps for the alignment of "double"
6766         floating-point types and "double" or larger scalar types, as
6767         parameterized by Target_Double_Float_Alignment and
6768         Target_Double_Scalar_Alignment respectively.
6769         (validate_alignment): Likewise.
6770         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
6771         (gigi): Initialize double_float_alignment and double_scalar_alignment.
6772         * gcc-interface/utils.c (double_float_alignment): New global variable.
6773         (double_scalar_alignment): Likewise.
6774         (is_double_float_or_array): New predicate.
6775         (is_double_scalar_or_array): Likewise.
6776
6777 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6778
6779         * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
6780         the conditional expression only if it is common to both arms.
6781
6782 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6783
6784         * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
6785         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
6786         arguments to build_allocator.
6787         * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
6788         Remove code handling special allocator and assert its uselessness.
6789
6790 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6791
6792         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
6793         alignment is specified, do not promote that of the component type
6794         beyond it.
6795         <E_Array_Subtype>: Likewise.
6796
6797 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6798
6799         * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
6800         * sinfo.ads (Object Declaration): Likewise.
6801         (Assignment Statement): Likewise.
6802         * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
6803         Do not force Is_True_Constant to false on the temporary.
6804         (Freeze_Entity): Do not force Is_True_Constant to false on names on
6805         the RHS of object declarations.
6806         * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
6807         New case.  Return 1 if the object is atomic.
6808         <N_Assignment_Statement>: Likewise.
6809
6810 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6811
6812         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
6813         For packed array types, make the original array type a parallel type
6814         for the modular type and its JM wrapper if the type is bit-packed.
6815         <E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
6816         record type for packed array types.  Remove kludge.
6817
6818 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6819
6820         * gcc-interface/gigi.h (create_index_type): Adjust head comment.
6821         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6822         Use front-end predicates to compute signedness and precision.
6823         <E_String_Literal_Subtype>: Fold range type.
6824         Make sure to set longest_float_type_node to a scalar type.
6825         (elaborate_entity): Use consistent Constraint_Error spelling.
6826         (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
6827         * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
6828         output for the modulus, if any.
6829         <ENUMERAL_TYPE>: Likewise for the RM size.
6830         * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
6831         spelling.
6832         * gcc-interface/utils.c (finish_record_type): Really test the alignment
6833         of BLKmode bit-fields to compute their addressability.
6834         (create_index_type): Adjust comments.
6835         (create_param_decl): Create the biased subtype manually.
6836         * gcc-interface/utils2.c (build_component_ref): Use consistent
6837         Constraint_Error spelling.
6838
6839 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6840
6841         * gcc-interface/cuintp.c: Clean up include directives.
6842         * gcc-interface/targtyps.c: Likewise.
6843         * gcc-interface/decl.c: Likewise.
6844         * gcc-interface/misc.c: Likewise.
6845         * gcc-interface/trans.c: Likewise.
6846         * gcc-interface/utils.c: Likewise.
6847         * gcc-interface/utils2.c: Likewise.
6848         * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
6849
6850 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6851
6852         * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
6853         (SET_TYPE_LANG_SPECIFIC): Likewise.  Fix formatting.
6854         (SET_DECL_LANG_SPECIFIC): Likewise.
6855         Reorder macros.
6856         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6857         Update comment about use of build_range_type.
6858         <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
6859         <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
6860         check for other cases of overloading.
6861         * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
6862         * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
6863         Use size_int in lieu of build_int_cst.
6864         (build_call_alloc_dealloc): Use build_index_2_type in lieu of
6865         build_range_type.
6866
6867 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6868
6869         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
6870         type is an enumeral or a boolean type, change it to an integer type
6871         with the same mode and signedness.
6872
6873 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6874
6875         * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
6876         for an external constant whose initializer is not absolute.
6877
6878 2009-04-22  Taras Glek  <tglek@mozilla.com>
6879
6880         * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
6881         * gcc-interface/trans.c: Likewise.
6882         * gcc-interface/utils.c: Likewise.
6883
6884 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
6885
6886         * sem_res.adb: Create block around procedure call when actual is a
6887         concatenation.
6888
6889 2009-04-22  Thomas Quinot  <quinot@adacore.com>
6890
6891         * s-soflin.ads: Fix typos
6892
6893 2009-04-22  Vincent Celier  <celier@adacore.com>
6894
6895         * prj-env.adb: Minor comment change
6896
6897         * prj-nmsc.adb (Check_Common): Add guard to avoid calling
6898         Get_Name_String with No_File.
6899
6900         * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
6901         cannot be created even when not in verbose mode.
6902
6903 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6904
6905         * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
6906         prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
6907         Multi_Language modes, to avoid code duplication.
6908         (Project_Data.Include_Language): Removed.
6909
6910 2009-04-22  Vincent Celier  <celier@adacore.com>
6911
6912         * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
6913         the temporary file cannot be created, indicating the directory when the
6914         creation was attempted.
6915
6916 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6917
6918         * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
6919         the language names, not their indices.
6920
6921 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6922
6923         * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
6924         (Source_Data.Language_Name): Field removed.
6925
6926 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6927
6928         * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
6929         Two fields removed.
6930
6931 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6932
6933         * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
6934         separate_suffix to the same value as the body_suffix.
6935
6936 2009-04-22  Robert Dewar  <dewar@adacore.com>
6937
6938         * prj.adb: Minor code reorganization
6939         Code clean up.
6940
6941         * prj-proc.adb: Minor code reorganization, clean up.
6942
6943         * prj-nmsc.adb: Minor reformatting
6944         Minor code reorganization
6945
6946         * gnat_ugn.texi: Add to doc on strict aliasing
6947
6948 2009-04-22  Pascal Obry  <obry@adacore.com>
6949
6950         * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
6951         SpinCount.
6952
6953         * s-tasini.adb: Minor reformatting.
6954
6955         * s-tassta.adb: Minor reformatting.
6956
6957 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6958
6959         * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
6960         smaller subprograms.
6961         Renamed to Check_File_Naming_Schemes to avoid confusion with the
6962         other Check_Naming_Schemes functions that plays a totally different
6963         role.
6964         (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
6965         extracted from the above. These were partially rewritten to avoid
6966         unnecessary code and temporary variables.
6967         (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
6968         and Get_Unit (which for now still exist since they contain mode-specific
6969         code)
6970
6971 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6972
6973         * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
6974         Remove duplicated code.
6975         (Canonical_Case_File_Name): new subprogram
6976         (Check_And_Normalize_Unit_Names): new subprogram
6977         (Write_Attr): new subprogram
6978         Better sharing of code
6979         (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
6980         split Check_Naming and help find duplicated code
6981         (Check_Common): new subprogram, sharing code between ada_only and
6982         multi_language mode.
6983         (Naming_Data.Dot_Repl_Loc): field removed
6984
6985 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6986
6987         * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
6988         Minor refactoring to reduce the size of
6989         Process_Sources_In_Multi_Language_Mode.
6990         Avoid extra copied of Source_Data, which we found in the past could be
6991         quite slow.
6992         (Mark_Excluded_Sources): new subprogram.
6993         (Remove_Locally_Removed_Files_From_Units): merged into the above
6994         Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
6995         and allow better sharing of code between multi_lang and ada_only modes
6996         (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
6997
6998 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6999
7000         * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
7001         Removed, since unused.
7002
7003 2009-04-22  Vincent Celier  <celier@adacore.com>
7004
7005         * prj-attr.adb: New single project level attribute
7006         Separate_Run_Path_Options.
7007
7008         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
7009         attribute Seperate_Run_Path_Options.
7010
7011         * prj.ads: (Project_Configuration): New Boolean component
7012         Separate_Run_Path_Options, defaulted to False.
7013
7014         * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
7015
7016 2009-04-22  Robert Dewar  <dewar@adacore.com>
7017
7018         * sem_type.adb: Minor reformatting
7019
7020         * mlib.adb: Minor reformatting
7021
7022         * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
7023         syntax error.
7024
7025 2009-04-22  Nicolas Setton  <setton@adacore.com>
7026
7027         * link.c: Add flag __gnat_separate_run_path_options.
7028
7029         * mlib.adb (Separate_Run_Path_Options): New subprogram.
7030
7031         * mlib.ads (Separate_Run_Path_Options): Declare.
7032
7033         * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
7034         switch per directory, rather than one "rpath" switch listing all
7035         directories.
7036
7037         * gnatlink.adb (Process_Binder_File): Likewise.
7038
7039         * make.adb (Gnatmake): Likewise.
7040
7041 2009-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
7042
7043         * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
7044         Add a call to Move_Final_List when the target of the assignment is a
7045         return object that needs finalization and the expression is a
7046         controlled build-in-place function.
7047
7048 2009-04-22  Vincent Celier  <celier@adacore.com>
7049
7050         * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
7051         Including_Libraries set to True.
7052
7053 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
7054
7055         * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
7056         create a unit table entry for the subprogram declaration created for a
7057         child suprogram body that has no separate specification.
7058
7059         * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
7060         subprogram body, call Make_Child_Decl_Unit.
7061
7062         * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
7063         table can only be the created specification of a child subprogram body
7064         that is the main unit, which has not been entered in the table yet.
7065
7066         * errout.adb  (Output_Messages): Ignore created specification of a
7067         child subprogram body to prevent repeated listing of error messages.
7068
7069         * gnat1drv.adb (gnat1drv): The generated specification for a child
7070         subprogram body does not generate code.
7071
7072 2009-04-22  Arnaud Charlet  <charlet@adacore.com>
7073
7074         * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
7075         since this unit is now part of bootstrap units, so must use Ada 95
7076         syntax only.
7077
7078 2009-04-22  Thomas Quinot  <quinot@adacore.com>
7079
7080         * a-tasatt.adb: Minor reformatting
7081
7082 2009-04-22  Bob Duff  <duff@adacore.com>
7083
7084         * s-stalib.ads: Remove "with System;" since we're inside System, so
7085         it's unnecessary.
7086
7087 2009-04-22  Vincent Celier  <celier@adacore.com>
7088
7089         * prj-nmsc.adb (Add_Source): Always put the dependency file name in
7090         the source record, as there may be a dependency file even if no object
7091         file is created.
7092
7093 2009-04-22  Robert Dewar  <dewar@adacore.com>
7094
7095         * lib-load.adb: Minor reformatting
7096
7097         * lib-load.ads: Minor reformatting
7098
7099         * sinfo.ads: Minor reformatting
7100
7101 2009-04-22  Bob Duff  <duff@adacore.com>
7102
7103         * exp_pakd.adb: Minor comment fixes.
7104
7105         * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
7106         sem_ch12.adb: Change the meaning of the Library_Unit attribute to
7107         include units containing instantiations, as well as units that are
7108         generic instantiations.
7109
7110         * sem.adb: Include dependents and corresponding specs/bodies in the
7111         unit walk.
7112
7113         * gcc-interface/Make-lang.in:
7114         sem now depends on s-bitops, because of the packed array of Booleans.
7115
7116 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7117
7118         * gcc-interface/ada-tree.def: Fix formatting nits.
7119         (REGION_STMT): Delete.
7120         (HANDLER_STMT): Likewise.
7121         * gcc-interface/ada-tree.h: Fix formatting nits.
7122         (IS_STMT): Delete.
7123         (REGION_STMT_BODY): Likewise.
7124         (REGION_STMT_HANDLE): Likewise.
7125         (REGION_STMT_BLOCK): Likewise.
7126         (HANDLER_STMT_ARG): Likewise.
7127         (HANDLER_STMT_LIST): Likewise.
7128         (HANDLER_STMT_BLOCK): Likewise.
7129         * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
7130         (fp_size_to_prec): Likewise.
7131         (largest_move_alignment): Delete.
7132         (gnat_compute_largest_alignment): Likewise.
7133         Fix minor nits.
7134         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
7135         Remove redundant code.
7136         <E_Array_Type>: Remove redundant assert.
7137         <E_Array_Subtype>: Exit early from index computation in pathological
7138         cases.
7139         Rewrite conditional assignment.
7140         (make_type_from_size): Likewise.
7141         * gcc-interface/misc.c (largest_move_alignment): Delete.
7142         (gnat_finish_incomplete_decl): Likewise.
7143         (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
7144         (asm_out_file): Likewise
7145         (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
7146         (gnat_dwarf_name): Move around.
7147         * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
7148         (gigi): Remove call to gnat_compute_largest_alignment.
7149         * utils.c (create_field_decl): Rewrite conditional assignment.
7150         Fix minor nits.
7151
7152 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7153
7154         * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
7155         on entry.  Defer common processing for types.  Reorder and clean up.
7156         Compute the equivalent GNAT node and the default size for types only.
7157         <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
7158         <E_Access_Type>: For an unconstrained designated type, do not pretend
7159         that a dummy type is always made.
7160         <all> Fix nits in comments.
7161         (validate_size): Fix formatting nits and comments.
7162         (set_rm_size): Likewise.
7163         * gcc-interface/utils.c (create_param_decl): Replace bogus argument
7164         passed to TARGET_PROMOTE_PROTOTYPES hook.
7165
7166 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7167
7168         * fe.h (Get_External_Name): Declare.
7169         * gcc-interface/gigi.h (concat_id_with_name): Rename to...
7170         (concat_name): ...this.
7171         * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
7172         gnu_entity_name and adjust for above renaming.
7173         <E_Access_Type>: Use create_concat_name to get the name of the various
7174         types associated with unconstrained array types.
7175         (make_aligning_type): Adjust for above renaming.
7176         (maybe_pad_type): Likewise.
7177         (components_to_record): Likewise.  Use get_identifier_with_length for
7178         the encoding of the variant.
7179         (get_entity_name): Use get_identifier_with_length.
7180         (create_concat_name): Likewise.  Use Get_External_Name if no suffix.
7181         Do not fiddle with Name_Buffer.
7182         (concat_id_with_name): Rename to...
7183         (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
7184         with Name_Buffer.
7185         * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
7186         above renaming.
7187
7188 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
7189
7190         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
7191         license notices.
7192
7193 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7194
7195         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
7196
7197 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7198
7199         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
7200         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
7201         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
7202         Remove useless support code for packed array types and assert its
7203         uselessness.
7204         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
7205         adjust for TYPE_RM_SIZE change.
7206         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
7207         of Associated_Node_For_Itype accessor for packed array types.
7208         (make_packable_type): Likewise.
7209         (maybe_pad_type): Likewise.
7210         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
7211         TYPE_RM_SIZE change.
7212         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
7213         (rm_size): Fix nits in comments.  Rework conditional statements.
7214         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
7215         change.
7216         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
7217         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
7218         appropriate function to initialize the size_type_node.  Adjust for
7219         TYPE_RM_SIZE change.
7220
7221 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7222
7223         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
7224         for imported subprograms.
7225
7226 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7227
7228         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
7229         constant objects covered by 13.3(19) volatile.
7230
7231 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7232
7233         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
7234         of dummy fat pointer types to the debug back-end.
7235
7236 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7237
7238         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
7239         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
7240         before wrapping it up in the record type.  Do not overwrite the
7241         Ada size of the record type with the Esize.
7242
7243 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7244
7245         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
7246         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
7247         if the conversion is on the LHS of an assignment and a no-op.
7248         <all> Do not convert the result to the result type if the Parent
7249         node is such a conversion.
7250
7251 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7252
7253         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
7254         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
7255         of types with unknown discriminants.
7256         (substitute_in_type): Rewrite and restrict to formal substitutions.
7257         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
7258         (update_pointer_to): Update comment.
7259
7260 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7261
7262         * sem_ch8.adb (Use_One_Package): In an instance, if two
7263         potentially_use_visible and non-overloadable homonyms are available
7264         from  the actuals of distinct formal packages, retain the current one,
7265         which was visible in the generic, to prevent spurious visibility
7266         errors.
7267         (End_Use_Package): Restore use_visibility when needed.
7268
7269 2009-04-20  Sergey Rybin  <rybin@adacore.com>
7270
7271         * gnat_ugn.texi, vms_data.ads: Update doc.
7272
7273 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7274
7275         * gcc-interface/Make-lang.in: Update dependencies
7276
7277         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
7278         Windows.
7279
7280 2009-04-20  Robert Dewar  <dewar@adacore.com>
7281
7282         * checks.ads: Fix documentation of range check handling
7283
7284 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7285
7286         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
7287         a redundant use_type clause.
7288
7289 2009-04-20  Robert Dewar  <dewar@adacore.com>
7290
7291         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
7292         this attribute can be evaluated at compile time.
7293         (Eval_Attribute, case Range_Length): Same improvement
7294
7295         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
7296
7297 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7298
7299         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
7300         for better handling of null procedures.
7301         (Check_Overriding_Indicator): Do not emit a warning on a missing
7302         overriding indicator on an operator when the type of which the operator
7303         is a primitive is private.
7304
7305 2009-04-20  Bob Duff  <duff@adacore.com>
7306
7307         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
7308         debugging output.
7309
7310 2009-04-20  Robert Dewar  <dewar@adacore.com>
7311
7312         * sem_attr.adb: Minor reformatting
7313
7314         * gnatcmd.adb: Minor reformatting
7315
7316 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7317
7318         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
7319         overloaded and one interpretation matches the context, label the
7320         operand with the type of first formal.
7321
7322 2009-04-20  Bob Duff  <duff@adacore.com>
7323
7324         * debug.ads: Minor comment fix.
7325
7326         * debug.adb: Minor comment fixes.
7327
7328 2009-04-20  Javier Miranda  <miranda@adacore.com>
7329
7330         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
7331
7332         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
7333
7334         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
7335         is expanded into a call to Raise_Exception, avoid passing the
7336         exception-name'identity in runtimes in which this argument
7337         is not used.
7338
7339 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
7340
7341         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
7342         generated bindings for cil.
7343
7344 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7345
7346         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
7347         discriminants, collect components from the Underlying_Record_View,
7348         which will be used in the expansion of the aggregate into assignments.
7349
7350         * sem_ch3.adb: Do not label derived type with unknown discriminants as
7351         having a private declaration.
7352
7353 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7354
7355         * exp_util.adb (Expand_Subtype_From_Expr): use the
7356         underlying_record_view when available, to create the proper constrained
7357         subtype for an object of a derived type with unknown discriminants.
7358
7359 2009-04-20  Javier Miranda  <miranda@adacore.com>
7360
7361         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
7362         formals that have pragma unreferenced.
7363
7364 2009-04-20  Pascal Obry  <obry@adacore.com>
7365
7366         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
7367         Remove all calls to To_Lower_If_Case_Insensitive to preserve
7368         the pathname original casing.
7369
7370 2009-04-20  Robert Dewar  <dewar@adacore.com>
7371
7372         * g-trasym.adb: Minor reformatting
7373
7374         * s-os_lib.adb: Minor reformatting
7375
7376         * sem.adb: Minor reformatting
7377         Minor code reorganization
7378
7379         * sem_ch3.adb: Minor reformatting
7380
7381         * sem_ch4.adb: Minor reformatting
7382
7383         * sem_ch8.adb: Minor reformatting
7384
7385         * sem_type.adb: Minor reformatting
7386
7387 2009-04-20  Javier Miranda  <miranda@adacore.com>
7388
7389         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
7390         generated by derivations of tagged types use the aliased subprogram a
7391         reference to locate their controlling type.
7392
7393 2009-04-20  Tristan Gingold  <gingold@adacore.com>
7394
7395         * g-trasym.adb: Set size of result buffer before calling
7396         convert_address.
7397
7398 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7399
7400         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
7401         to a function returning an array can be interpreted as a call with
7402         defaulted parameters whose result is indexed, take into account the
7403         types of all the indices of the array result type.
7404
7405 2009-04-20  Pascal Obry  <obry@adacore.com>
7406
7407         * a-direct.adb, s-os_lib.adb: Minor reformatting.
7408
7409 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7410
7411         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
7412         null exclusion qualifiers for object renaming declarations.
7413
7414 2009-04-20  Nicolas Roche  <roche@adacore.com>
7415
7416         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
7417         unsigned long long. So compare local_time and utc_time before computing
7418         the difference.
7419
7420 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7421
7422         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
7423         of the Underlying_Record_View before that of the derived type.
7424
7425         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
7426         with unknown discriminants with regard to the parent subtype.
7427
7428 2009-04-20  Bob Duff  <duff@adacore.com>
7429
7430         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
7431         that are not included. This is necessary if the main unit is a generic
7432         instantiation.
7433
7434         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
7435         because it doesn't work if -gnatn is used.
7436
7437 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7438
7439         * rtsfind.adb (RTE, RTE_Record_Component): In
7440         Configurable_Run_Time_Mode, do not enable front-end inlining.
7441
7442 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7443
7444         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
7445         System.Address_To_Access_Conversions.
7446
7447 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7448
7449         * sem.adb: Guard against ill-formed subunits.
7450
7451 2009-04-20  Bob Duff  <duff@adacore.com>
7452
7453         * output.adb (Flush_Buffer): Do not indent blank lines.
7454         (Ignore_Output): New procedure for output suppression.
7455
7456 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7457
7458         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
7459         when it is positive.  This avoids a potential constraint error raised
7460         by the conversion to Natural.
7461
7462 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7463
7464         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
7465         involves a target that has a specified address, don't set Forward_OK
7466         and Backward_OK to False if the rhs is an aggregate, since overlap
7467         can't occur.
7468
7469 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7470
7471         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
7472         in an object renaming declaration when the expected type is an
7473         anonymous access type.
7474
7475         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
7476         ambiguity when one interpretation is an anonymous access type and the
7477         other is a named access type, and the context itself is anonymous
7478
7479 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7480
7481         * einfo.ads: Minor comment rewording
7482
7483         * sem_aggr.adb: Minor comment rewording
7484
7485         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
7486
7487 2009-04-20  Pascal Obry  <obry@adacore.com>
7488
7489         * adaint.c (__gnat_is_readable_file): Check for file existence
7490         when not using ACL (always the case on remote drives).
7491
7492 2009-04-20  Robert Dewar  <dewar@adacore.com>
7493
7494         * sinfo.ads: Minor comment fixes
7495
7496         * exp_disp.adb: Minor reformatting
7497
7498         * gnat1drv.adb: Minor reformatting
7499
7500         * output.adb: Minor reformatting
7501
7502         * s-vxwext-kernel.ads: Minor reformatting
7503
7504         * sem.ads: Minor reformatting
7505
7506         * sem.adb: Minor reformatting
7507
7508         * sem_elim.adb: Minor reformatting
7509
7510         * uname.ads: Minor reformatting
7511
7512 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7513
7514         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
7515         a small dope of 4 words to the adjustment to the stack pointer.
7516
7517 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7518
7519         * xoscons.adb: generate C header s-oscons.h in
7520         addition to s-oscons.ads.
7521
7522         * socket.c: On VMS, use s-oscons.h.
7523
7524         * sem_ch3.adb: Minor reformatting
7525
7526         * exp_ch9.adb: Minor reformatting
7527
7528 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7529
7530         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
7531         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
7532         (call_to_gnu): Likewise.
7533
7534 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7535
7536         * gcc-interface/trans.c (gigi): Declare the name of the compilation
7537         unit as the first global name at the very beginning.
7538
7539 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7540
7541         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7542         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
7543         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
7544         since HP-UX supports neither inet_aton nor inet_pton (altough the
7545         latter is part of the Single UNIX Specification!).
7546         So reorganize code, and share C implementation based on inet_addr(3)
7547         with VMS (instead of having a VMS specific Ada implementation in
7548         g-socthi-vms.adb).
7549
7550 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7551
7552         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
7553         to return the object file name saved by Set_Object_Output_File_Name.
7554
7555 2009-04-20  Emmanuel Briot  <briot@adacore.com>
7556
7557         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
7558         for the standard command line, when argc has been modified since the
7559         start of the application.
7560
7561 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7562
7563         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
7564         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
7565
7566 2009-04-20  Bob Duff  <duff@adacore.com>
7567
7568         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
7569         pragma Debug.
7570
7571 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7572
7573         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
7574         subprogram as Eliminated when source operation is.
7575         (Expand_N_Protected_Type_Declaration): Generate protected and
7576         unprotected specs for the internal operations, even if the source
7577         operation is eliminated.
7578
7579 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7580
7581         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
7582         Predefined_Primitive_Bodies): Do not create the declarations and bodies
7583         of the primitive subprograms associated with dispatching select
7584         statements when the runtime is in configurable mode.
7585
7586 2009-04-20  Ed Falis  <falis@adacore.com>
7587
7588         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
7589
7590 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7591
7592         * s-oscons-tmplt.c: Add support for generating a dummy version of
7593         s-oscons.ads providing all possible constants.
7594
7595         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
7596
7597         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
7598         ANSI version (not the UNICODE version) of WSAStringToAddress.
7599
7600 2009-04-20  Pascal Obry  <obry@adacore.com>
7601
7602         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
7603         allocated for the security descriptor and make sure all
7604         handles are closed before leaving this procedure.
7605
7606 2009-04-20  Javier Miranda  <miranda@adacore.com>
7607
7608         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
7609         (Set_Is_Underlying_Record_View): New subprogram
7610
7611         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
7612         private types with unknown discriminants use the underlying record view
7613         if available.
7614
7615         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
7616         underlying record view in the full view of private types whose parent
7617         has unknown discriminants.
7618         (Build_Derived_Record_Type): Avoid generating the class-wide entity
7619         associated with an underlying record view.
7620         (Derived_Type_Declaration): Avoid deriving parent primitives in
7621         underlying record views.
7622
7623         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
7624         records with unknown discriminants.
7625
7626         * sem_type.adb (Covers): Handle underlying record views.
7627         (Is_Ancestor): Add support for underlying record views.
7628
7629         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
7630         dispatching call if the type of the target object is tagged and has
7631         unknown discriminants.
7632
7633         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
7634         unknown discriminants.
7635
7636         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
7637         tables for internally built underlying record views.
7638
7639         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
7640         empty list of component associations.
7641
7642 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7643
7644         * sem_ch10.adb: Minor reformatting
7645
7646         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7647         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
7648         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
7649         standard inet_pton API (and emulate it on platforms that do not
7650         support it).
7651         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
7652         DECC$INET_ADDR, imported in Ada.
7653         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
7654         implementation provided by GNAT runtime.
7655         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
7656         Windows.
7657
7658 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7659
7660         * gnat_ugn.texi: Add documentation for -fno-ivopts.
7661
7662 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7663
7664         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
7665         with_clause if it is the main unit.
7666
7667 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7668
7669         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
7670         (no behaviour change): Use Append instead of Increment_Last followed
7671         by assignment.
7672
7673 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7674
7675         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
7676         declarations of all primitives associated with dispatching asynchronous,
7677         conditional and timed selects when dispaching calls are forbidden and
7678         select statements are not allowed (such as in Ravenscar).
7679         (Predefined_Primitive_Bodies): Ditto for bodies.
7680
7681         * exp_disp.ad (Make_DT): Do not create and populate the
7682         Select_Specific_Data of the dispatch table when dispatching calls are
7683         forbidden and select statements are not allowed (such as in Ravenscar).
7684
7685 2009-04-20  Robert Dewar  <dewar@adacore.com>
7686
7687         * a-tifiio.adb: Minor reformatting
7688
7689 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7690
7691         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
7692         other C library functions, report *failure* with a zero status, and
7693         success with a non-zero status.
7694
7695 2009-04-20  Bob Duff  <duff@adacore.com>
7696
7697         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
7698         (Semantics): After analyzing each unit, Append it to the
7699         Comp_Unit_List, if appropriate.
7700
7701         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
7702         purposes.
7703         (Gnat1drv): Correct comment regarding Back_End_Mode.
7704
7705 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7706
7707         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
7708
7709 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7710
7711         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
7712         output.adb, output.ads, s-taprop-hpux-dce.adb,
7713         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
7714         reformatting.
7715
7716 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7717
7718         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
7719         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
7720         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
7721         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
7722         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
7723         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
7724
7725         * debug.adb: Fix typo
7726
7727         * gnat_rm.texi: Minor doc fix.
7728
7729         * sem_ch7.adb, freeze.adb: Minor reformatting
7730
7731 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7732
7733         * g-socket.ads: Add new constants:
7734           Loopback_Inet_Addr
7735           Unspecified_Group_Inet_Addr
7736           All_Hosts_Group_Inet_Addr
7737           All_Routers_Group_Inet_Addr
7738
7739         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
7740         ERANGE (Result too large).
7741         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
7742         propagation of errno to caller.
7743
7744 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7745
7746         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
7747         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
7748         Leap_Second_Times.
7749
7750 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7751
7752         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
7753         checking for references to eliminated subprograms that should be
7754         flagged.
7755         (Eliminate_Error_Message): Update comment to say "references" rather
7756         than "calls" (since attribute cases are handled here as well).
7757
7758         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
7759         checking for references to eliminated subprograms that should be
7760         flagged.  Add with and use of Sem and Sem_Util.
7761
7762         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
7763         Add with and use of Sem_Elim.
7764
7765         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
7766         applied to eliminated subprograms.
7767         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
7768         eliminated subprograms.
7769         Add with and use of Sem_Elim.
7770
7771         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
7772         to eliminated subprograms, now handled during Resolve_Call.
7773         Remove with and use of Sem_Elim.
7774
7775         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
7776         testing Is_Eliminated, for proper handling of primitive derived from
7777         eliminated subprograms.
7778
7779 2009-04-20  Vincent Celier  <celier@adacore.com>
7780
7781         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
7782         has been declared (Library_GCC or Linker'Driver), for the driver name.
7783
7784         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
7785         Linker'Driver is, use Linker'Driver as the shared library linker.
7786         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
7787         Library_GCC is declared.
7788         (Check_Library_Attributes): Set up the shared linker driver: either
7789         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
7790         declared.
7791
7792 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7793
7794         * g-socket.ads (Send_Socket): Fix misleading comment.
7795
7796 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7797
7798         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
7799         ASIS mode.
7800
7801 2009-04-20  Geert Bosch  <bosch@adacore.com>
7802
7803         * a-tifiio.adb (Put): Avoid generating too many digits for certain
7804         fixed types with smalls that are neither integer or the reciprocal
7805         of an integer.
7806
7807 2009-04-20  Bob Duff  <duff@adacore.com>
7808
7809         * uname.ads: Minor comment fix.
7810
7811         * types.ads: Minor comment fix.
7812
7813 2009-04-20  Pascal Obry  <obry@adacore.com>
7814
7815         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
7816         avoid warning. At the same time fix a memory leak.
7817
7818         * osint.adb (Get_Libraries_From_Registry): Properly free memory
7819         returned by the above routine.
7820
7821 2009-04-20  Robert Dewar  <dewar@adacore.com>
7822
7823         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
7824         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
7825         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
7826         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
7827
7828         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
7829
7830 2009-04-20  Pascal Obry  <obry@adacore.com>
7831
7832         * initialize.c (__gnat_initialize): Add braces to kill warning.
7833
7834         * adaint.c: Minor reformatting, remove trailing spaces.
7835
7836 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
7837
7838         * gcc-interface/Make-lang.in: Update dependencies.
7839
7840 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7841
7842         * adaint.h (__gnat_lwp_self): Declare on Linux.
7843
7844         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
7845
7846 2009-04-20  Robert Dewar  <dewar@adacore.com>
7847
7848         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
7849         front-end part of -fpreserve-control-flow switch.
7850
7851 2009-04-20  Bob Duff  <duff@adacore.com>
7852
7853         * rtsfind.adb: Minor comment fix
7854
7855 2009-04-20  Robert Dewar  <dewar@adacore.com>
7856
7857         * exp_aggr.adb: Minor reformatting
7858         Minor code reorganization (use Nkind_In)
7859
7860         * g-socket.adb: Minor reformatting
7861
7862         * g-socket.ads: Minor comment fix
7863
7864         * s-auxdec.ads: Minor comment and organization update.
7865
7866         * s-auxdec-vms_64.ads: Minor comment and organization update.
7867
7868         * sem_ch10.adb: Minor addition of ??? comment
7869
7870         * sem_disp.adb: Minor reformatting
7871
7872 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7873
7874         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
7875         list a caller of an inlined subprogram, if the caller itself is not
7876         called.
7877
7878 2009-04-20  Pascal Obry  <obry@adacore.com>
7879
7880         * adaint.c: Disable use of ACL on network drives.
7881
7882 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7883
7884         * gnat_ugn.texi: Add examples.
7885
7886 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7887
7888         * g-socket.ads (Abort_Selector): Clarify documentation.
7889
7890 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7891
7892         * opt.ads (Inspector_Mode): Update documentation of this flag.
7893
7894 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7895
7896         * g-socket.ads: Minor reformatting
7897
7898         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
7899         consider S_resolvLib error codes since we only use the hostLib wrappers.
7900
7901 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7902
7903         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
7904         of the Underlying_Record_View after that of the derived type.
7905
7906 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7907
7908         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
7909         in inspector mode.
7910
7911 2009-04-20  Javier Miranda  <miranda@adacore.com>
7912
7913         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
7914
7915         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
7916         documentation.
7917
7918         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
7919
7920         * sem_disp.adb
7921         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
7922         in internally built overriding subprograms.
7923
7924 2009-04-20  Doug Rupp  <rupp@adacore.com>
7925
7926         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
7927
7928         * s-auxdec.ads: Likewise
7929
7930 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7931
7932         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
7933         type by an interface.
7934
7935         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
7936         minimze difference in expanded tree when compiled as spec of the main
7937         unit, or as a spec in the context of another unit.
7938
7939 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7940
7941         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
7942         (localtime_tzoff): This routine no longer accepts an actual of type
7943         tm_Pointer.
7944         (UTC_Time_Offset): Remove local variable Secs_TM.
7945
7946         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
7947         actual of type struct tm*. Add local variable of type struct tm for all
7948         targets that provide localtime_r and need to invoke it.
7949
7950 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7951
7952         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
7953         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
7954         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
7955
7956 2009-04-20  Robert Dewar  <dewar@adacore.com>
7957
7958         * sem_ch3.adb: Minor reformatting
7959
7960         * lib-load.adb: Minor reformatting
7961
7962         * sem_ch4.adb: Minor reformatting
7963
7964 2009-04-20  Robert Dewar  <dewar@adacore.com>
7965
7966         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
7967         (equal values => False).
7968
7969 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7970
7971         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
7972         to null procedures can be inlined unconditionally.
7973
7974 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7975
7976         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
7977         non-addressable parameter passed by reference, do not convert the
7978         actual if its type is already the nominal type, unless it is of
7979         self-referential size.
7980
7981 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7982
7983         * gnat_ugn.texi: Fix typos.
7984
7985 2009-04-20  Robert Dewar  <dewar@adacore.com>
7986
7987         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
7988         Validate_Unchecked_Warnings to suppress warnings about size or
7989         alignment or extra bits if either type involved has pragma Warnings
7990         (Off) set for the type entity.
7991
7992 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
7993
7994         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
7995         a builtin type and give it a name.
7996
7997 2009-04-17  Diego Novillo  <dnovillo@google.com>
7998
7999         * gcc-interface/misc.c (gnat_expand_expr): Remove.
8000         (LANG_HOOKS_EXPAND_EXPR): Remove.
8001
8002 2009-04-17  Robert Dewar  <dewar@adacore.com>
8003
8004         * sem_ch3.adb: Minor reformatting
8005
8006 2009-04-17  Pascal Obry  <obry@adacore.com>
8007
8008         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
8009
8010 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8011
8012         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
8013         illegal constraints on type derived from formal discrete types.
8014
8015 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8016
8017         PR ada/35953
8018
8019         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
8020         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
8021         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
8022         g-socket.ads (GNAT.Sockets.Thin.C_Send,
8023         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
8024         Replace calls to send(2) with equivalent sendto(2) calls.
8025         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
8026         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
8027         report an error in that case. Factor code common to the two versions
8028         (datagram and stream) in common routine Stream_Write.
8029
8030 2009-04-17  Robert Dewar  <dewar@adacore.com>
8031
8032         * exp_disp.adb: Minor reformatting
8033         Minor code reorganization (use Nkind_In)
8034
8035         * prepcomp.adb: Minor reformatting
8036
8037         * sem_ch3.adb: Minor reformatting
8038
8039         * sem_res.adb: Minor comment addition
8040
8041         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
8042         for address clause
8043
8044         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
8045         setting Is_Referenced
8046
8047         * types.ads: Minor reformatting
8048
8049 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8050
8051         * gnat_ugn.texi: Initial documentation on binding generator.
8052
8053 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8054
8055         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
8056         type extensions whose parent is a type with unknown discriminants.
8057
8058         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
8059         aggregate has unknown discriminants, use the Underlying_Record_View to
8060         obtain the discriminants of the ancestor part.
8061
8062         * exp_disp.adb (Build_Dispatch_Tables): Types that are
8063         Underlying_Record_Views share the dispatching information of the
8064         original record extension.
8065
8066         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
8067         discriminants, propagate dispach table information to the
8068         Underlying_Record_View.
8069
8070         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
8071         discriminants and declaration is not a completion, generate
8072         Underlying_Record_View to provide proper discriminant information to
8073         the front-end and to gigi.
8074
8075 2009-04-17  Robert Dewar  <dewar@adacore.com>
8076
8077         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
8078         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
8079         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
8080         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
8081         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
8082         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
8083         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
8084         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
8085         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
8086         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
8087         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
8088         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
8089         s-conca3.ads: Remove unneeded pragma Warnings
8090
8091 2009-04-17  Robert Dewar  <dewar@adacore.com>
8092
8093         * g-moreex.adb: Add comments.
8094
8095         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
8096
8097         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
8098         Warnings (Off)
8099
8100         * prepcomp.adb: Add ??? comment
8101
8102         * a-tasatt.adb: Minor reformatting
8103
8104         * g-trasym-vms-alpha.adb: Add ??? comment
8105
8106         * g-trasym-vms-ia64.adb: Add ??? comment
8107
8108         * xoscons.adb: Minor reformatting
8109
8110         * s-tassta.adb: Minor reformatting
8111
8112         * s-scaval.adb: Add ??? comment
8113
8114         * stand.ads: Minor code clean up (remove junk with of Namet)
8115
8116         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
8117         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
8118         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
8119         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
8120         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
8121         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
8122         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
8123         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
8124         Warnings off pragmas.
8125
8126 2009-04-17  Pascal Obry  <obry@adacore.com>
8127
8128         * initialize.c: Fix test for reallocating the arguments array.
8129
8130 2009-04-17  Geert Bosch  <bosch@adacore.com>
8131
8132         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
8133         conversion truncate only for decimal fixed point types.
8134
8135 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
8136
8137         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
8138         reinitialized.
8139
8140 2009-04-17  Robert Dewar  <dewar@adacore.com>
8141
8142         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
8143         Backwards_OK if either operand has an address clause.
8144
8145 2009-04-17  Pascal Obry  <obry@adacore.com>
8146
8147         * initialize.c: Code clean up, use realloc.
8148
8149 2009-04-17  Pascal Obry  <obry@adacore.com>
8150
8151         * initialize.c: Do not get Unicode command line if Unicode support not
8152         activated.
8153         Add support for wildcard expansion for Unicode parameters on Win32.
8154
8155         * mingw32.h: Add missing macros when Unicode support not activated.
8156
8157 2009-04-17  Javier Miranda  <miranda@adacore.com>
8158
8159         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
8160         avoid generating code that references the Current_Master
8161         when compiling without tasks.
8162
8163 2009-04-17  Vincent Celier  <celier@adacore.com>
8164
8165         * prj-attr.adb: New project level attribute Target
8166         
8167         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
8168         attribute Target
8169         
8170         * prj.ads (Project_Configuration): New component Target
8171
8172 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8173
8174         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
8175         case for the case of an aggregate component, the attach call for the
8176         result is actually needed.
8177
8178         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
8179         an array aggregate must be disabled if the component type requires
8180         controlled actions.
8181
8182         * exp_ch3.adb: Minor reformatting
8183
8184 2009-04-17  Bob Duff  <duff@adacore.com>
8185
8186         * output.ads (Indent,Outdent): New procedures for indenting the output.
8187         (Write_Char): Correct comment -- LF _is_ allowed.
8188
8189         * output.adb (Indent,Outdent): New procedures for indenting the output.
8190         Keep track of the indentation level, and make sure it doesn't get too
8191         high.
8192         (Flush_Buffer): Insert spaces at the beginning of each line, if
8193         indentation level is nonzero.
8194         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
8195         indentation level.
8196         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
8197         "Next_Col := 1;".  Flush_Buffer does that.
8198
8199         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
8200         controlled by the -gnatdc switch. It now occurs on entry/exit to the
8201         relevant analysis routines, and calls Indent/Outdent to make the
8202         indentation reflect the nesting level.  Add "helper" routines, since
8203         otherwise lots of "return;" statements would skip the debugging output.
8204
8205 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8206
8207         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
8208         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
8209         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
8210
8211 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8212
8213         * exp_aggr.adb: Minor code reorganization, no behaviour change.
8214
8215 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8216
8217         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
8218         clause in a unit that is a package body or a subunit, when the previous
8219         clause appears in a spec or a parent.
8220
8221 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8222
8223         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
8224
8225         * exp_ch7.adb: Minor reformatting
8226
8227 2009-04-17  Bob Duff  <duff@adacore.com>
8228
8229         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
8230         allocator, check that the expression of the qualified expression obeys
8231         the constraints of the subtype of the qualified expression.
8232
8233 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8234
8235         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
8236
8237 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8238
8239         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
8240         aggregate, using context imposed by subtype mark in allocator.
8241
8242 2009-04-17  Pascal Obry  <obry@adacore.com>
8243
8244         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
8245
8246 2009-04-17  Nicolas Roche  <roche@adacore.com>
8247
8248         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
8249         argument length.
8250
8251 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
8252
8253         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
8254         cover both calls and attribute references ("call" => "reference").
8255
8256 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8257
8258         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
8259         type for which Storage_Size is set to 0 is legal in a pure unit.
8260
8261 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8262
8263         * exp_ch7.adb: Minor reformatting
8264
8265 2009-04-17  Robert Dewar  <dewar@adacore.com>
8266
8267         * restrict.adb (Check_Restriction_No_Dependence): Don't check
8268         restriction if outside main extended source unit.
8269
8270         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
8271         for parents of child units as well as the child unit itself.
8272
8273 2009-04-17  Bob Duff  <duff@adacore.com>
8274
8275         * checks.ads: Minor comment fix
8276
8277         * exp_aggr.ads: Minor comment fix
8278
8279 2009-04-17  Nicolas Roche  <roche@adacore.com>
8280
8281         * adaint.c: Improve cross compiler detection and handling.
8282
8283 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
8284
8285         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
8286
8287 2009-04-17  Pascal Obry  <obry@adacore.com>
8288
8289         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
8290         CurrentCodePage.
8291
8292         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
8293         value when no encoding form paramter is set on Text_IO services.
8294
8295         * adaint.c: CurrentCodePage new variable on Windows.
8296         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8297         ones.
8298
8299         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8300         ones.
8301
8302         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
8303         environment variable value. Default is UTF-8.
8304
8305         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
8306         fopen and freopen encoding parameter is now set to Unspecified.
8307         The default value is in this case UTF-8 (as it was before) but
8308         use the new macros that convert to/from the code page set
8309         at runtime (CurrentCodePage).
8310
8311         * s-fileio.adb: When no encoding specified use Unspecified value.
8312
8313 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8314
8315         * atree.adb, atree.ads: Remove dead code.
8316
8317 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8318
8319         * gcc-interface/Make-lang.in: Update dependencies.
8320
8321 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8322
8323         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
8324         illegal uses of incomplete types in formal parts and return types.
8325
8326         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
8327         access to subprograms.
8328
8329         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
8330         Taft-amendment types as the return type of an access_to_function type.
8331
8332         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8333         type for access_to_subprograms. The check is performed on package exit.
8334
8335 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8336
8337         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
8338
8339         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
8340         
8341         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
8342
8343         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
8344         semantic units, because the handling of itypes in the copied tree
8345         requires semantic information that does not belong in atree.
8346
8347 2009-04-17  Robert Dewar  <dewar@adacore.com>
8348
8349         * par-ch6.adb: Minor reformatting
8350
8351         * prj.adb: Minor reformatting
8352
8353 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
8354
8355         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
8356         on protected subprogram bodies, so exclude the case where Pf_Flags is
8357         Pf_Decl_Pbod from the error check.
8358
8359         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
8360         indicators on subprograms in protected bodies, and proceed with parsing
8361         the subprogram.
8362
8363         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
8364         subprograms from the check for primitiveness on subprograms with
8365         overriding indicators.
8366         (Check_Overriding_Indicator): Include protected subprograms in the
8367         style check for missing overriding indicators.
8368
8369 2009-04-17  Tristan Gingold  <gingold@adacore.com>
8370
8371         * init.c: Fix stack checking for x86 Darwin.
8372
8373 2009-04-17  Vincent Celier  <celier@adacore.com>
8374
8375         * prj-attr.adb: New project level attribute Object_File_Suffix
8376         (<language>).
8377         
8378         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
8379         object file name
8380         (Process_Compiler): Process attribute Object_File_Suffix
8381
8382         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
8383         platform suffix, when specified.
8384
8385         * prj.ads (Language_Config): New component Object_File_Suffix,
8386         defaulted to No_Name.
8387         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
8388
8389         * snames.ads-tmpl: New standard name Object_File_Suffix
8390
8391 2009-04-17  Robert Dewar  <dewar@adacore.com>
8392
8393         * gnat_rm.texi: Add documentation about No_Streams restriction
8394
8395         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
8396         attributes when checking No_Streams restriction.
8397
8398 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8399
8400         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
8401
8402         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
8403         missing calls to RE_Request_Destroy to deallocate request objects after
8404         use.
8405
8406 2009-04-17  Nicolas Setton  <setton@adacore.com>
8407
8408         * link.c: Fix support for passing a response file under Darwin.
8409
8410 2009-04-17  Emmanuel Briot  <briot@adacore.com>
8411
8412         * prj.adb (Free): new subprogram.
8413
8414 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8415
8416         * sem_ch3.adb: additional initialization on incomplete subtypes.
8417         
8418         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
8419         part and one of the formals is an incomplete tagged type, attach to
8420         list of private dependends of the type for later validation.
8421
8422         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
8423         primitive operations of a Taft-amendmment type.
8424
8425         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8426         type. The check is performed on package exit, possibly after the
8427         subprogram is frozen.
8428
8429 2009-04-17  Vincent Celier  <celier@adacore.com>
8430
8431         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
8432         before looking for source directories, but make sure that there are nil
8433         if they are not explicitely declared and there is explicitely no
8434         sources in the project.
8435
8436 2009-04-17  Pascal Obry  <obry@adacore.com>
8437
8438         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
8439
8440         * init.c: Fix minor typo and style fix.
8441
8442 2009-04-17  Robert Dewar  <dewar@adacore.com>
8443
8444         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
8445
8446         * sem_attr.adb (Analyze_Attribute, case Address): Use
8447         PE_Address_Of_Intrinsic.
8448
8449         * types.ads: Add PE_Address_Of_Intrinsic
8450
8451         * types.h: Add PE_Address_Of_Intrinsic
8452
8453 2009-04-17  Nicolas Setton  <setton@adacore.com>
8454
8455         * gcc-interface/Makefile.in: Under darwin, build shared libraries
8456         with install_name starting with "@rpath/".
8457
8458 2009-04-17  Nicolas Setton  <setton@adacore.com>
8459
8460         * link.c: Add darwin section
8461
8462 2009-04-16  Robert Dewar  <dewar@adacore.com>
8463
8464         * g-pehage.adb: Minor reformatting
8465
8466         * sem_ch12.adb: Minor reformatting
8467
8468         * exp_dist.adb: Minor reformatting
8469
8470         * bindgen.adb: Minor style fixes.
8471
8472 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8473
8474         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
8475         indexed components to the case where the prefix is a static string
8476         literal.
8477
8478 2009-04-16  Javier Miranda  <miranda@adacore.com>
8479
8480         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
8481         objects avoid any further expansion of the expression initializing the
8482         object.
8483
8484 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8485
8486         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
8487         that hides an outer homograph, make that homograph invisible when
8488         analyzing the actuals, to to prevent illegal direct visibility on it.
8489
8490 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8491
8492         * g-pehage.adb (Initialize): Fix off-by-one error.
8493
8494 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8495
8496         * init.c: Detect real stack overflow on Darwin.
8497
8498         * system-darwin-x86.ads: Use stack probing on darwin x86.
8499
8500 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8501
8502         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
8503         take the address of an intrinsic subprogram.
8504
8505 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8506
8507         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
8508         for the targets where GNAT.Traceback.Symbolic is not supported.
8509
8510 2009-04-16  Vincent Celier  <celier@adacore.com>
8511
8512         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
8513
8514         * g-trasym.ads: Update comments.
8515
8516 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8517
8518         * tracebak.c (STOP_FRAME): Verify validity of the current address
8519         before dereferencing.
8520
8521 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8522
8523         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
8524         the original location of the index expressions and the index subtypes,
8525         to prevent spurious out-of-scope references in gigi.
8526
8527 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8528
8529         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
8530         Add support for stack checking on darwin.
8531
8532 2009-04-16  Vincent Celier  <celier@adacore.com>
8533
8534         * prj-attr.adb: New attribute Runtime_Source_Dir
8535
8536         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
8537         attribute Runtime_Source_Dir.
8538         (Check_Naming_Schemes): Give default values to out parameters to avoid
8539         invalid data.
8540
8541         * prj.ads (Language_Config): New component Runtime_Source_Dir
8542
8543         * snames.ads-tmpl: New standard name Runtime_Source_Dir
8544
8545 2009-04-16  Pascal Obry  <obry@adacore.com>
8546
8547         * adaint.h, adaint.c (__gnat_rmdir): New routine.
8548         Simple wrapper routines used to convert to proper encoding on
8549         Windows.
8550
8551         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
8552
8553         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
8554         twice.
8555
8556 2009-04-16  Pascal Obry  <obry@adacore.com>
8557
8558         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
8559
8560 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8561
8562         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
8563         integrated preprocessor.
8564
8565         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
8566         (Initialize): Split into two subprograms, Initialize (to be called
8567         prior to compiler command line processing) and Setup_Hooks (to be called
8568         later on when the first source file is loaded).
8569
8570         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
8571         Add call to Prep.Initialize.
8572
8573         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
8574         to Prep.Setup_Hooks.
8575
8576 2009-04-16  Pascal Obry  <obry@adacore.com>
8577
8578         * adaint.h, adaint.c (__gnat_chdir): New routine.
8579         Simple wrapper routines used to convert to proper encoding on
8580         Windows.
8581
8582         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
8583
8584         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
8585
8586 2009-04-16  Quentin Ochem  <ochem@adacore.com>
8587
8588         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
8589         of Source.Init.
8590
8591 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8592
8593         * a-convec.ads (Is_Empty): Mark inline.
8594
8595 2009-04-16  Nicolas Roche  <roche@adacore.com>
8596
8597         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
8598
8599 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8600
8601         * prepcomp.adb: Minor reformatting
8602
8603 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8604
8605         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
8606         Access_Subprogram types can also be imported.
8607         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
8608         names.
8609
8610 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8611
8612         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
8613         preserve homonym chain when the declaration is rewritten into a
8614         renaming declaration, in order to preserve visibility structure.
8615
8616 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8617
8618         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
8619         taken into account for VM targets.
8620
8621 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8622
8623         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
8624         Year_Week_In_Year.
8625         (Year_Week_In_Year): New routine which contains the original code from
8626         Week_In_Year. Add the missing special case for January 1st falling on
8627         a Monday.
8628
8629 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8630
8631         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
8632         actual type, use the base type to build the To_Any function.
8633         (Build_From_Any_Function): Remove junk, useless subtype conversion.
8634
8635 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8636
8637         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
8638         restrict.adb: Minor code reorganization (use
8639         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
8640
8641 2009-04-16  Bob Duff  <duff@adacore.com>
8642
8643         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
8644         unused.
8645
8646 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8647
8648         * sem_ch4.adb: Minor reformatting
8649
8650         * adaint.c: Remove junk duplicated code.
8651
8652         * sem_ch3.adb: Minor reformatting
8653
8654         * exp_dist.adb: Minor comment rewording
8655
8656 2009-04-16  Robert Dewar  <dewar@adacore.com>
8657
8658         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
8659         used together.
8660
8661 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8662
8663         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
8664         usable before calling Add_One_Interp, to resolve spurious ambiguities.
8665
8666 2009-04-16  Robert Dewar  <dewar@adacore.com>
8667
8668         * Make-lang.in: Add entries for s-conca?.o
8669
8670         * Makefile.rtl: Add entries for s-conca?
8671
8672         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
8673         of concatenation expansion
8674
8675         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
8676         string cases instead of expanding assignments inline.
8677
8678         * opt.ads (Optimize_Size): New flag
8679
8680         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
8681         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
8682         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
8683         s-conca9.adb, s-conca9.ads: New file.
8684
8685 2009-04-16  Robert Dewar  <dewar@adacore.com>
8686
8687         * exp_ch6.adb: Add comments
8688
8689         * rtsfind.ads: Add entries for s-conca? routines
8690
8691 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8692
8693         * gcc-interface/Make-lang.in: Update dependencies.
8694
8695         * gcc-interface/Makefile.in: Update translation for vms.
8696
8697 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8698
8699         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
8700         and made global, to be used when installing parents of a child
8701         instance, to provide mappings for entities declared in formal packages
8702         of ancestor units. Now called from Install_Formal_Packages.
8703
8704 2009-04-16  Doug Rupp  <rupp@adacore.com>
8705
8706         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
8707         notation for clarity.
8708
8709         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
8710         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
8711         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
8712         (Initialize): Initialize Known_Tasks with Environment task.
8713
8714         * s-taskin.ads (Task_States): Move new states to end for the sake of
8715         GDB compatibility.
8716
8717         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
8718
8719 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8720
8721         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
8722         operation has an inline pragma, propagate the flag to the internal
8723         unprotected subprogram.
8724
8725 2009-04-16  Doug Rupp  <rupp@adacore.com>
8726
8727         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
8728         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
8729         s-taprop-hpux-dce.adb, s-taprop-posix.adb
8730         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
8731
8732         * s-taprop-vms.adb (Enter_Task): Likewise.
8733         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
8734
8735         * s-tassta.adb (Activate_Tasks): After task creation set state to
8736         Activating, vice Runnable. Initialize Known_Tasks, moved here from
8737         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
8738         Set state to Runnable after above.
8739         (Task_Wrapper): Set Debug_Event_Run. In exception block set
8740         Debug_Event_Terminated.
8741
8742         * s-taskin.ads (Task_States): Add new states Activiting and
8743         Activator_Delay_Sleep.
8744         (Bit_Array, Debug_Event_Array): New types.
8745         (Global_Task_Debug_Event_Set: New flag.
8746         (Common_ATCB): New field Debug_Events.
8747
8748         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
8749
8750         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
8751         Activator_Sleep.
8752
8753         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
8754         Activating and when Acceptor_Delay_Sleep.
8755
8756         * s-tasdeb.ads: Add constants for Debug_Events.
8757         (Debug_Event_Kind_Type): New subtype.
8758         (Signal_Debug_Event): New subprogram.
8759
8760         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
8761
8762 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8763
8764         * sem_elim.adb: Minor reformatting
8765
8766         * freeze.adb: Minor reformatting
8767
8768         * exp_ch4.adb: Minor reformatting
8769
8770 2009-04-16  Emmanuel Briot  <briot@adacore.com>
8771
8772         * prj-nmsc.adb (Path_Name_Of): fix memory leak
8773
8774 2009-04-16  Robert Dewar  <dewar@adacore.com>
8775
8776         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
8777
8778 2009-04-16  Vincent Celier  <celier@adacore.com>
8779
8780         * fmap.adb (Initialize): Show the current line when the mapping file
8781         is detected as "incorrectly formatted".
8782
8783 2009-04-16  Robert Dewar  <dewar@adacore.com>
8784
8785         * sem_ch12.adb: Minor reformatting
8786
8787         * sem_ch5.adb: Minor comment addition
8788
8789         * sem_util.adb: Minor reformatting
8790
8791         * sinput-p.adb: Minor reformatting
8792         Add missing pragma Warnings (On)
8793
8794 2009-04-16  Ed Falis  <falis@adacore.com>
8795
8796         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
8797
8798 2009-04-16  Vincent Celier  <celier@adacore.com>
8799
8800         * ali-util.adb: Minor comment spelling error fix
8801
8802 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8803
8804         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
8805         generate an assignment loop in case of overlap.
8806
8807 2009-04-16  Olivier Hainque  <hainque@adacore.com>
8808
8809         * gnat_ugn.texi (gnatmem description): Make it explicit that
8810         gnatmem is designed to work in association with static runtime
8811         library only.
8812
8813 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8814
8815         * sem_type.adb: Minor reformatting
8816
8817 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8818
8819         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
8820         concerning return codes of gettimeofday and return value check.
8821
8822 2009-04-16  Ed Falis  <falis@adacore.com>
8823
8824         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
8825         body can be renaming of imported routines.
8826
8827 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8828
8829         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
8830         targeted fashion.
8831
8832 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8833
8834         * exp_ch9.adb: Comment improvements.
8835         (Build_Entry_Family_Name): Add parentheses around the index of a entry
8836         family member.
8837
8838 2009-04-15  Bob Duff  <duff@adacore.com>
8839
8840         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
8841         "while X /= null loop" where X is unchanged inside the loop. We were
8842         not warning in this case, because of the pointers -- we feared that the
8843         loop variable could be updated via a pointer, if there are any pointers
8844         around the place. But that is impossible in this case.
8845
8846         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
8847         the case of dereferences. In X.all, X cannot be an l-value. We now
8848         catch that case (and implicit dereferences, too).
8849
8850 2009-04-15  Vincent Celier  <celier@adacore.com>
8851
8852         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
8853
8854 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8855
8856         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
8857         From code reading.
8858         (Analyze_Package_Instantiation): If generic unit in child instance is
8859         the same as generic unit in parent instance, look for an outer homonym
8860         to locate the desired generic.
8861
8862 2009-04-15  Bob Duff  <duff@adacore.com>
8863
8864         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
8865         warnings unless the loop comes from source, because checking generated
8866         loops is a waste of time, and makes it harder to debug
8867         Check_Infinite_Loop_Warning.
8868
8869         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
8870         tested in the while loop is a renaming, do not warn. Otherwise, we get
8871         false alarms, because it's usually renaming something that we can't
8872         deal with (an indexed component, a global variable, ...).
8873
8874         * gnat_rm.texi: Fix typo
8875
8876 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8877
8878         * sem_ch6.adb: Minor reformatting
8879
8880 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8881
8882         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
8883         immediate parent of the controlled function call is a component
8884         association.
8885
8886 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8887
8888         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
8889         corresponding class-wide type is also in use.
8890
8891 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8892
8893         * frontend.adb: Minor comment fix
8894
8895 2009-04-15  Robert Dewar  <dewar@adacore.com>
8896
8897         * gnatchop.adb (BOM_Length): New global variable
8898         (Write_Unit): Add new parameter Write_BOM
8899         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
8900         to Write_Unit
8901
8902         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
8903
8904 2009-04-15  Geert Bosch  <bosch@adacore.com>
8905
8906         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
8907         (Backend_Overflow_Checks): Set to True.
8908
8909 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
8910
8911         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
8912         keyword is given in a record extension.
8913
8914 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8915
8916         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
8917         of a controlled function call in the context of a record aggregate.
8918         This does not apply to array aggregates since the call will be expanded
8919         into assignments.
8920
8921 2009-04-15  Ed Falis  <falis@adacore.com>
8922
8923         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
8924         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
8925         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
8926         s-osinte-vxworks* and s-vxwext*.
8927
8928 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
8929
8930         * gcc-interface/Make-lang.in: Update dependencies.
8931
8932         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
8933         and s-vxwext*.
8934
8935 2009-04-15  Robert Dewar  <dewar@adacore.com>
8936
8937         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
8938         of node for location for warning messages.
8939
8940         * gnatchop.adb: Minor reformatting
8941
8942 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8943
8944         * exp_ch6.adb: additional guard for renaming declarations for in
8945         parameters of an array type.
8946
8947 2009-04-15  Robert Dewar  <dewar@adacore.com>
8948
8949         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
8950         in case they were rewritten by expander (Force_Evaluation).
8951
8952         * targparm.adb (Get_Target_Parameters): Correct check for
8953         Suppress_Exception_Locations.
8954
8955 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8956
8957         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
8958         inlined  is of an array type that is not bit-packed, use a renaming
8959         declaration to capture its value, rather than a constant declaration.
8960
8961 2009-04-15  Robert Dewar  <dewar@adacore.com>
8962
8963         * rtsfind.adb: Minor reformatting.
8964
8965 2009-04-15  Emmanuel Briot  <briot@adacore.com>
8966
8967         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
8968         Restore, and free the saved context.
8969
8970 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
8971
8972         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
8973         for illegal private extension from a synchronized interface parent in
8974         front of check for illegal limited extension so that limited extension
8975         from a synchronized interface will be rejected.
8976         (Check_Ifaces): Check that a private extension that has a synchronized
8977         interface as a progenitor must be explicitly declared synchronized.
8978         Also check that a record extension cannot derive from a synchronized
8979         interface.
8980
8981 2009-04-15  Pascal Obry  <obry@adacore.com>
8982
8983         * adaint.h (__gnat_unlink): Add spec.
8984         (__gnat_rename): Likewise.
8985
8986 2009-04-15  Vincent Celier  <celier@adacore.com>
8987
8988         * prj-nmsc.adb: Minor spelling error corrections in error messages
8989
8990 2009-04-15  Robert Dewar  <dewar@adacore.com>
8991
8992         * sinfo.ads: Minor comment update
8993
8994         * opt.ads: Minor comment updates
8995
8996         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
8997         modular type.
8998
8999 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9000
9001         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
9002         that generates the code needed to update a dispatch table when a
9003         primitive operation is declared with a subprogram body without previous
9004         spec. Insertion of the generated code is responsibility of the caller.
9005         (Make_DT): When building static tables, append the code created by
9006         Register_Primitive to update a secondary table after it has been
9007         constructed.
9008
9009         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
9010
9011         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
9012         on an overriding operation that implements an interface operation only
9013         if not building static dispatch tables.
9014
9015 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9016
9017         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
9018         does not cause overflow when converted to Duration. Use the safe value
9019         as the maximum allowable time delay..
9020
9021 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
9022
9023         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
9024         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
9025         translated to "-j 2".
9026
9027 2009-04-15  Bob Duff  <duff@adacore.com>
9028
9029         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
9030         with_clauses, to avoid code duplication. Change this processing so we
9031         always add a with_clause on the main unit if needed.
9032
9033 2009-04-15  Pascal Obry  <obry@adacore.com>
9034
9035         Add support for Win32 native encoding for delete/rename routines.
9036         
9037         * adaint.c (__gnat_unlink): New routine.
9038         (__gnat_rename): New routine.
9039         Simple wrapper routines used to convert to proper encoding on
9040         Windows.
9041
9042         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
9043         call to the C library.
9044
9045         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
9046
9047 2009-04-15  Robert Dewar  <dewar@adacore.com>
9048
9049         * s-tassta.adb: Minor reformatting
9050
9051 2009-04-15  Robert Dewar  <dewar@adacore.com>
9052
9053         * frontend.adb (Frontend): Set proper default for
9054         Warn_On_Non_Local_Exception.
9055
9056         * opt.ads (Exception_Handler_Encountered): New flag
9057         (No_Warn_On_Non_Local_Exception): New flag
9058
9059         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
9060
9061         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
9062         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
9063
9064 2009-04-15  Cyrille Comar  <comar@adacore.com>
9065
9066         * s-tassta.adb, a-exextr.adb, a-elchha.adb
9067         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
9068         message when exception traces are active since it would generate
9069         redundant information.
9070         (Exception_Traces.Notify_Exception): put message output by a critical
9071         section to avoid unsynchronized output.
9072         (Trace_Unhandled_Exception_In_Task): put message output by a critical
9073         section to avoid unsynchronized output.
9074
9075 2009-04-15  Emmanuel Briot  <briot@adacore.com>
9076
9077         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
9078         (Free): New subprogram.
9079
9080 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9081
9082         * a-calend.adb: Add new constant Nanos_In_Four_Years.
9083         (Formatting_Operations.Time_Of): Change the way four year chunks of
9084         nanoseconds are added to the intermediate result.
9085
9086 2009-04-15  Nicolas Setton  <setton@adacore.com>
9087
9088         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
9089         does not need to wait for a carriage return.
9090
9091 2009-04-15  Tristan Gingold  <gingold@adacore.com>
9092
9093         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
9094         is set.
9095
9096 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9097
9098         * freeze.adb (Freeze_Entity): improve error message for improper use of
9099         incomplete types.
9100         Diagnose additional illegal uses of incomplete types in formal parts.
9101         appearing in formal parts.
9102
9103         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
9104
9105 2009-04-15  Robert Dewar  <dewar@adacore.com>
9106
9107         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
9108
9109 2009-04-15  Nicolas Roche  <roche@adacore.com>
9110
9111         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
9112         current thread.
9113
9114         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
9115
9116         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
9117
9118 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9119
9120         * sem_ch4.adb: improve error message on exponentiation.
9121
9122 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9123
9124         * a-calend.adb: Move constant Epoch_Offset from package
9125         Conversion_Operations to top level.
9126         (Delay_Operations.To_Duration): Define a constant which represents
9127         "end of time" and use it as a guard against very distant delay dates.
9128         Protect the code against overflow when performing the origin shift to
9129         Unix time.
9130
9131 2009-04-15  Robert Dewar  <dewar@adacore.com>
9132
9133         * sem_prag.adb: Minor reformatting.
9134
9135         * sem_type.adb: Minor reformatting
9136
9137 2009-04-15  Javier Miranda  <miranda@adacore.com>
9138
9139         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
9140         support to check eliminated subprograms.
9141
9142         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
9143
9144         * sem_elim.adb (Set_Eliminated): Add support for elimination of
9145         dispatching subprograms.
9146
9147         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
9148         operations. Initialize with "null" the slots of eliminated dispaching
9149         primitives.
9150         (Write_DT): Add output for eliminated primitives.
9151
9152         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
9153
9154 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9155
9156         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
9157         the second is redundant, regardless of scopes.
9158
9159 2009-04-15  Vincent Celier  <celier@adacore.com>
9160
9161         * prj-nmsc.adb (Get_Directories): Check for sources before checking
9162         the object directory as when there are no sources, they may not be any
9163         object directory.
9164
9165         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
9166         directory, when there are no exec directory.
9167
9168 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9169
9170         * sem_type.adb (Remove_Conversions): In order to resolve spurious
9171         ambiguities, refine removal of universal interpretations from complex
9172         expressions with literal arguments, when some numeric operators have
9173         been declared abstract.
9174
9175 2009-04-15  Ed Falis  <falis@adacore.com>
9176
9177         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
9178         and backward compatibility for targets using probing for stack overflow
9179
9180 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9181
9182         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
9183         after any declaration, including renaming declarations.
9184
9185 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9186
9187         * gcc-interface/Make-lang.in: Update dependencies.
9188
9189         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
9190         Update xenomai target pairs.
9191
9192 2009-04-15  Javier Miranda  <miranda@adacore.com>
9193
9194         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
9195
9196         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
9197         functions returning anonymous access to class-wide limited types. Mark
9198         also the containing scope as a task master.
9199
9200         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
9201         limited-withed packages. Required to restore their visibility after
9202         processing packages associated with implicit with-clauses.
9203
9204         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
9205         associated with return statements because this work is now done by
9206         Check_Anonymous_Return.
9207         (Build_Master): Code cleanup.
9208
9209 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9210
9211         * sem_warn.ads: Minor reformatting
9212
9213 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9214
9215         * sem_ch3.adb: better error message for illegal interfaces
9216
9217         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
9218         formal is an incomplete type from a limited_with clause.
9219
9220 2009-04-15  Vincent Celier  <celier@adacore.com>
9221
9222         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
9223         Externally_Built indicating if the project is externally built. If it
9224         is, and --subdirs is specified, but the subdir does not exist, look
9225         for the specified directory, without the subdir.
9226
9227 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
9228
9229         * a-tasatt.adb: Fix typo, plus minor reformatting
9230
9231         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
9232
9233         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
9234
9235 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9236
9237         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
9238         private extension whose parent is a synchronized interface carries an
9239         explicit synchronized keyword.
9240
9241 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9242
9243         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
9244         instantiate generic shared object package with the corresponding
9245         record type.
9246
9247 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9248
9249         * system-linux-sparc.ads: Remove obsolete entries.
9250
9251 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9252
9253         * s-tasuti.ads: Add ??? comment
9254
9255 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9256
9257         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
9258         type even if the designated type comes from a limited_with clause, to
9259         ensure that the symbol for the finalization list of the access type is
9260         created.
9261
9262 2009-04-10  Robert Dewar  <dewar@adacore.com>
9263
9264         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
9265         for warning suppression.
9266
9267 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9268
9269         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
9270         identical, there is no redudancy to check.
9271
9272 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9273
9274         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
9275         calls initializing SS_Allocator (which is initialized in following
9276         code).
9277         (Expand_Simple_Function_Return): Add comment about False value for
9278         Comes_From_Source on secondary-stack allocator.
9279
9280         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
9281         (Build_Entry_Name): Add comment.
9282
9283 2009-04-10  Robert Dewar  <dewar@adacore.com>
9284
9285         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
9286
9287         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
9288         bound tested, since this is now done more generally in Sem_Res.
9289
9290         * sem_res.adb (Resolve_Comparison_Op): Add call to
9291         Check_Lower_Bound_Tested.
9292         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
9293
9294         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
9295         (Low_Bound_Tested): New name for Low_Bound_Known flag
9296
9297         * exp_ch5.adb: Minor reformatting
9298
9299         * exp_ch4.adb:
9300         Add comments on copying the Comes_From_Source flag for allocators
9301
9302         * sinfo.ads:
9303         Add comments on copying the Comes_From_Source flag for allocators
9304
9305         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
9306         Comes_From_Source flag from old allocator to new one.
9307
9308 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9309
9310         * sem_ch6.ads: Address missing documentation query
9311
9312 2009-04-10  Vincent Celier  <celier@adacore.com>
9313
9314         * prj-attr.adb:
9315         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
9316         and Response_File_Switches.
9317
9318         * prj-nmsc.adb (Process_Linker): Process new attributes
9319         Max_Command_Line_Length, Response_File_Format and
9320         Response_File_Switches.
9321
9322         * prj.ads (Response_File_Format): New enumeration type
9323         (Project_Configuration): New componants Max_Command_Line_Length,
9324         Resp_File_Format and Resp_File_Options.
9325
9326         * snames.ads-tmpl: Add new standard names for linking response files
9327         for gprbuild: GNU, None, Object_List, Option_List,
9328         Max_Command_Line_Length, Response_File_Format and
9329         Response_File_Switches.
9330
9331 2009-04-10  Geert Bosch  <bosch@adacore.com>
9332
9333         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
9334         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
9335         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
9336         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
9337         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
9338         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
9339         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
9340         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
9341         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
9342         system-vxworks-arm.ads, system-vxworks-m68k.ads,
9343         system-vxworks-mips.ads, system-vxworks-ppc.ads,
9344         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
9345         (Backend_Overflow_Checks): Set to True.
9346
9347 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9348
9349         * exp_attr.adb: Minor reformatting
9350
9351 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9352
9353         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
9354         analyze the expression for a postcondition, even if the compiler mode
9355         is Generate_Code.
9356
9357 2009-04-10  Robert Dewar  <dewar@adacore.com>
9358
9359         * sem_aux.adb: Minor reformatting
9360
9361 2009-04-10  Ed Falis  <falis@adacore.com>
9362
9363         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
9364
9365         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
9366
9367 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9368
9369         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
9370         undocumented formal.
9371         Minor reformatting
9372
9373         * a-direio.ads: Fix typo in comment
9374
9375         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
9376         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
9377         Use uniform phrasing for comment at start of subprogram body.
9378
9379         * xsnamest.adb: Add note to explain why we use specific names for the
9380         newly generated files instead of generating snames.{ads,adb,h} directly
9381
9382 2009-04-10  Sergey Rybin  <rybin@adacore.com>
9383
9384         * vms_data.ads:
9385         Add qualifier for new gnatstub option '--no-exception'
9386
9387         * gnat_ugn.texi:
9388         Add the description of the new gnatstub option '--no-exception'
9389
9390 2009-04-10  Robert Dewar  <dewar@adacore.com>
9391
9392         * rtsfind.adb: Minor reformatting
9393
9394 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9395
9396         * sem_disp.adb: Minor reformatting.
9397         Add comment pointing to RM clause for the case of warning against a
9398         (failed) attempt at declaring a primitive operation elsewhere than in a
9399         package spec.
9400
9401 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9402
9403         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
9404         an actual for a previous formal package of the current instance.
9405
9406 2009-04-10  Bob Duff  <duff@adacore.com>
9407
9408         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
9409         them first, rather than on the extended main unit.
9410
9411 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9412
9413         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
9414         specification of full view carries a null exclusion indicator, create
9415         an itype for it, to check for conformance with partial view.
9416
9417 2009-04-10  Bob Duff  <duff@adacore.com>
9418
9419         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
9420
9421         * rtsfind.adb: Minor comment changes, and remove useless code.
9422
9423         * sinfo.ads: Add ??? comment.
9424
9425 2009-04-10  Vincent Celier  <celier@adacore.com>
9426
9427         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
9428
9429 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9430
9431         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
9432         type is a synchronized type, retrieve tag information from the
9433         corresponding record, which has the dispatch table link.
9434
9435 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
9436
9437         * g-comlin.adb (Group_Analysis): Take care of switches that might be
9438         decomposed afterwards, but are present as-is in the command line
9439         configuration, and thus should be kept as-is.
9440
9441 2009-04-10  Robert Dewar  <dewar@adacore.com>
9442
9443         * gnat_rm.texi: Document that postconditions are tested on implicit
9444         returns.
9445
9446         * sem_aux.adb: Minor reformatting
9447
9448 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9449
9450         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
9451         setting Etype.
9452         
9453         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
9454         Null_Exclusion_In_Return_Present when an access-to-function type has a
9455         result type with an explicit not null.
9456
9457         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
9458         given on the result type, then create a null-excluding itype for the
9459         function.
9460
9461         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
9462         the case where a null exclusion is imposed on a named access type.
9463         (Analyze_Subprogram_Specification): Push and pop the scope of the
9464         function around the call to Analyze_Return_Type in the case of no
9465         formals, for consistency with handling when formals are present
9466         (Process_Formals does this). Ensures that any itype created for the
9467         return type will be associated with the proper scope.
9468
9469         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
9470         exclusion is given on a generic function's result type, then create a
9471         null-excluding itype for the generic function.
9472         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
9473         for an actual for a formal in object according to the setting on the
9474         formal. Ensures null exclusion checks are done when the association is
9475         elaborated.
9476
9477         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
9478         N_Access_Function_Definition.
9479
9480         * sinfo.adb: Add Get_ and Set_ operations for
9481         Null_Exclusion_In_Return_Present.
9482
9483 2009-04-10  Bob Duff  <duff@adacore.com>
9484
9485         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
9486         call to the _Postconditions procedure in the case of implicit returns
9487         from analysis to expansion. This eliminates some duplicated code. Use
9488         the Postcondition_Proc to find the identity of this procedure during
9489         expansion.
9490
9491 2009-04-10  Robert Dewar  <dewar@adacore.com>
9492
9493         * sem_ch6.adb: Minor code clean up.
9494
9495         * einfo.ads, sem_attr.adb: Minor comment fixes.
9496
9497 2009-04-10  Robert Dewar  <dewar@adacore.com>
9498
9499         * sem_ch8.adb: Minor reformatting
9500
9501 2009-04-10  Robert Dewar  <dewar@adacore.com>
9502
9503         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
9504         procedures.
9505
9506         * sem_ch6.adb: Minor code clean up.
9507
9508 2009-04-10  Robert Dewar  <dewar@adacore.com>
9509
9510         * mlib-tgt-specific-xi.adb: Minor reformatting
9511
9512 2009-04-10  Bob Duff  <duff@adacore.com>
9513
9514         * einfo.ads: Minor comment fixes
9515
9516 2009-04-10  Vincent Celier  <celier@adacore.com>
9517
9518         * snames.ads-tmpl: Remove names that are no longer used in the
9519         Project Manager.
9520         Mark specifically those that are used only in gprbuild
9521
9522 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
9523
9524         * init.c: Adjust EH support code on Alpha/Tru64.
9525
9526 2009-04-10  Bob Duff  <duff@adacore.com>
9527
9528         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
9529         procedure on every path that could return implicitly (not via a return
9530         statement) from a procedure.
9531
9532 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9533
9534         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
9535         valid scope for a task declarations and therefore for a master id.
9536
9537 2009-04-10  Robert Dewar  <dewar@adacore.com>
9538
9539         * sem_aux.adb: Minor reformatting
9540
9541 2009-04-10  Vincent Celier  <celier@adacore.com>
9542
9543         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
9544         True.
9545         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
9546         (Set_Obsolescent_Check): New procedure to change the value of
9547         Obsolescent_Check_Flag.
9548
9549         * scn.ads (Set_Obsolescent_Check): New procedure to control
9550         Obsolescent_Check.
9551
9552         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
9553         obsolescent features while preprocessing.
9554
9555 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9556
9557         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
9558         generated files on all platforms.
9559
9560 2009-04-10  Robert Dewar  <dewar@adacore.com>
9561
9562         * sem_aux.adb: Minor reformatting
9563
9564 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9565
9566         * sem_ch3.adb (Access_Definition): Handle properly the case of a
9567         protected function with formals that returns an anonymous access type.
9568
9569 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9570
9571         * sem_disp.adb: Minor reformatting
9572
9573 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
9574
9575         * seh_init.c: Do not use the 32-bit specific implementation of
9576         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
9577         version TBD).
9578
9579 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9580
9581         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
9582         a '/' at the end so we better use the complete target name to determine
9583         whether it is a PowerPC 55xx target.
9584
9585 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9586
9587         * sem_eval.adb: Minor reformatting
9588
9589 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9590
9591         * snames.h, snames.ads, snames.adb: Remove files, now generated from
9592         templates.
9593
9594         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
9595         above.
9596
9597         * xsnamest.adb: New file.
9598
9599         * gcc-interface/Make-lang.in: New target for automated generation of
9600         snames.ads, snames.adb and snames.h
9601
9602 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9603
9604         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
9605         avoid compile time warnings.
9606         Do not add gcc/config in include search list while compiling the RTS.
9607         Pragma Thread_Local_Storage is available on any target.
9608
9609 2009-04-10  Bob Duff  <duff@adacore.com>
9610
9611         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
9612
9613 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9614
9615         * init.c: Install signal handler on Darwin.
9616
9617 2009-04-10  Robert Dewar  <dewar@adacore.com>
9618
9619         * sem_prag.adb: Minor reformatting
9620
9621         * exp_util.adb (Make_Non_Empty_Check): New function
9622         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
9623         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
9624
9625 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
9626
9627         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
9628
9629 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9630
9631         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
9632         tool prefix for AVR and PowerPC 55xx targets.
9633
9634 2009-04-10  Robert Dewar  <dewar@adacore.com>
9635
9636         * sem_warn.adb (Within_Postcondition): New function
9637         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
9638
9639 2009-04-10  Robert Dewar  <dewar@adacore.com>
9640
9641         * sem_warn.adb: Minor reformatting
9642
9643         * make.adb: Minor reformatting.
9644
9645 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9646
9647         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
9648         entity and the scope is a subprogram, retrieve the Sloc of the
9649         subprogram's body rather than using the sloc of the spec, for better
9650         line-stepping behavior in gdb.
9651         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
9652         controller, use the Sloc of the first declaration of the containing list
9653         rather than that of the node that triggered creation of the list
9654         controller.
9655
9656 2009-04-10  Vincent Celier  <celier@adacore.com>
9657
9658         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
9659         to avoid gcc warning.
9660
9661 2009-04-10  Robert Dewar  <dewar@adacore.com>
9662
9663         * g-comlin.adb: Add ??? comment
9664
9665 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9666
9667         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
9668         unreferenced entities for a package with no visible declarations.
9669
9670 2009-04-10  Robert Dewar  <dewar@adacore.com>
9671
9672         * exp_ch9.adb: Minor reformatting
9673
9674 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9675
9676         * sem_prag.adb: Minor reformatting
9677
9678 2009-04-10  Vincent Celier  <celier@adacore.com>
9679
9680         * prj-nmsc.adb:
9681         (Check_Library_Attributes): For a project qualified as a library project
9682         that is not a library project, indicate in the error message which
9683         attributes are missing (Library_Dir and/or Library_Name).
9684
9685 2009-04-10  Bob Duff  <duff@adacore.com>
9686
9687         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
9688         generated nodes, because it might confuse various circuits in the FE.
9689
9690 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9691
9692         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
9693         of pragma. It will be recopied and analyzed when used in call to
9694         Create_Task.
9695
9696         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
9697         initialization operations and recognize use of it in procedure calls
9698         within init_procs.
9699
9700         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
9701         argument, because it may have side-effects.
9702
9703         * exp_ch2.adb: Remove obsolete comments on default functions
9704
9705 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9706
9707         * adaint.c (RTX section): Do for RTX the same thing as we do for
9708         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
9709
9710 2009-04-10  Robert Dewar  <dewar@adacore.com>
9711
9712         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
9713
9714         * sem_res.adb (Resolve_Call): Fix test for
9715         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
9716         a non-dynamic scope).
9717
9718 2009-04-10  Robert Dewar  <dewar@adacore.com>
9719
9720         * make.adb: Add comment.
9721         Minor reformatting
9722
9723 2009-04-10  Nicolas Setton  <setton@adacore.com>
9724
9725         * s-osprim-darwin.adb: New file.
9726
9727         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
9728
9729 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9730
9731         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
9732
9733 2009-04-09  Nick Clifton  <nickc@redhat.com>
9734
9735         * adadecode.h: Change copyright header to refer to version
9736         3 of the GNU General Public License with version 3.1 of the
9737         GCC Runtime Library Exception and to point readers at the
9738         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
9739         page.
9740         * 9drpc.adb: Likewise.
9741         * a-assert.adb: Likewise.
9742         * a-astaco.adb: Likewise.
9743         * a-calari.adb: Likewise.
9744         * a-calcon.adb: Likewise.
9745         * a-calcon.ads: Likewise.
9746         * a-caldel.ads: Likewise.
9747         * a-calend-vms.adb: Likewise.
9748         * a-calend-vms.ads: Likewise.
9749         * a-calend.adb: Likewise.
9750         * a-calend.ads: Likewise.
9751         * a-calfor.adb: Likewise.
9752         * a-catizo.adb: Likewise.
9753         * a-cdlili.adb: Likewise.
9754         * a-cdlili.ads: Likewise.
9755         * a-cgaaso.adb: Likewise.
9756         * a-cgaaso.ads: Likewise.
9757         * a-cgarso.adb: Likewise.
9758         * a-cgcaso.adb: Likewise.
9759         * a-chacon.adb: Likewise.
9760         * a-chacon.ads: Likewise.
9761         * a-chahan.adb: Likewise.
9762         * a-chahan.ads: Likewise.
9763         * a-chlat9.ads: Likewise.
9764         * a-chtgke.adb: Likewise.
9765         * a-chtgke.ads: Likewise.
9766         * a-chtgop.adb: Likewise.
9767         * a-chtgop.ads: Likewise.
9768         * a-chzla1.ads: Likewise.
9769         * a-chzla9.ads: Likewise.
9770         * a-cidlli.adb: Likewise.
9771         * a-cidlli.ads: Likewise.
9772         * a-cihama.adb: Likewise.
9773         * a-cihama.ads: Likewise.
9774         * a-cihase.adb: Likewise.
9775         * a-cihase.ads: Likewise.
9776         * a-ciorma.adb: Likewise.
9777         * a-ciorma.ads: Likewise.
9778         * a-ciormu.adb: Likewise.
9779         * a-ciormu.ads: Likewise.
9780         * a-ciorse.adb: Likewise.
9781         * a-ciorse.ads: Likewise.
9782         * a-clrefi.adb: Likewise.
9783         * a-clrefi.ads: Likewise.
9784         * a-cohama.adb: Likewise.
9785         * a-cohama.ads: Likewise.
9786         * a-cohase.adb: Likewise.
9787         * a-cohase.ads: Likewise.
9788         * a-cohata.ads: Likewise.
9789         * a-coinve.adb: Likewise.
9790         * a-coinve.ads: Likewise.
9791         * a-colien.adb: Likewise.
9792         * a-colien.ads: Likewise.
9793         * a-colire.adb: Likewise.
9794         * a-colire.ads: Likewise.
9795         * a-comlin.adb: Likewise.
9796         * a-comlin.ads: Likewise.
9797         * a-convec.adb: Likewise.
9798         * a-convec.ads: Likewise.
9799         * a-coorma.adb: Likewise.
9800         * a-coorma.ads: Likewise.
9801         * a-coormu.adb: Likewise.
9802         * a-coormu.ads: Likewise.
9803         * a-coorse.adb: Likewise.
9804         * a-coorse.ads: Likewise.
9805         * a-coprnu.adb: Likewise.
9806         * a-coprnu.ads: Likewise.
9807         * a-crbltr.ads: Likewise.
9808         * a-crbtgk.adb: Likewise.
9809         * a-crbtgk.ads: Likewise.
9810         * a-crbtgo.adb: Likewise.
9811         * a-crbtgo.ads: Likewise.
9812         * a-crdlli.adb: Likewise.
9813         * a-crdlli.ads: Likewise.
9814         * a-cwila1.ads: Likewise.
9815         * a-cwila9.ads: Likewise.
9816         * a-decima.adb: Likewise.
9817         * a-decima.ads: Likewise.
9818         * a-diocst.adb: Likewise.
9819         * a-diocst.ads: Likewise.
9820         * a-direct.adb: Likewise.
9821         * a-direct.ads: Likewise.
9822         * a-direio.adb: Likewise.
9823         * a-direio.ads: Likewise.
9824         * a-dirval-mingw.adb: Likewise.
9825         * a-dirval-vms.adb: Likewise.
9826         * a-dirval.adb: Likewise.
9827         * a-dirval.ads: Likewise.
9828         * a-dynpri.adb: Likewise.
9829         * a-einuoc.adb: Likewise.
9830         * a-einuoc.ads: Likewise.
9831         * a-elchha.adb: Likewise.
9832         * a-elchha.ads: Likewise.
9833         * a-envvar.adb: Likewise.
9834         * a-excach.adb: Likewise.
9835         * a-except-2005.adb: Likewise.
9836         * a-except-2005.ads: Likewise.
9837         * a-except.adb: Likewise.
9838         * a-except.ads: Likewise.
9839         * a-excpol-abort.adb: Likewise.
9840         * a-excpol.adb: Likewise.
9841         * a-exctra.adb: Likewise.
9842         * a-exctra.ads: Likewise.
9843         * a-exetim-mingw.adb: Likewise.
9844         * a-exetim-mingw.ads: Likewise.
9845         * a-exexda.adb: Likewise.
9846         * a-exexpr-gcc.adb: Likewise.
9847         * a-exexpr.adb: Likewise.
9848         * a-exextr.adb: Likewise.
9849         * a-exstat.adb: Likewise.
9850         * a-filico.adb: Likewise.
9851         * a-filico.ads: Likewise.
9852         * a-finali.adb: Likewise.
9853         * a-finali.ads: Likewise.
9854         * a-interr.ads: Likewise.
9855         * a-intnam-aix.ads: Likewise.
9856         * a-intnam-darwin.ads: Likewise.
9857         * a-intnam-dummy.ads: Likewise.
9858         * a-intnam-freebsd.ads: Likewise.
9859         * a-intnam-hpux.ads: Likewise.
9860         * a-intnam-irix.ads: Likewise.
9861         * a-intnam-linux.ads: Likewise.
9862         * a-intnam-lynxos.ads: Likewise.
9863         * a-intnam-mingw.ads: Likewise.
9864         * a-intnam-rtems.ads: Likewise.
9865         * a-intnam-solaris.ads: Likewise.
9866         * a-intnam-tru64.ads: Likewise.
9867         * a-intnam-vms.ads: Likewise.
9868         * a-intnam-vxworks.ads: Likewise.
9869         * a-intsig.adb: Likewise.
9870         * a-intsig.ads: Likewise.
9871         * a-ngcefu.adb: Likewise.
9872         * a-ngcoar.adb: Likewise.
9873         * a-ngcoty.adb: Likewise.
9874         * a-ngcoty.ads: Likewise.
9875         * a-ngelfu.adb: Likewise.
9876         * a-ngrear.adb: Likewise.
9877         * a-ngrear.ads: Likewise.
9878         * a-nudira.adb: Likewise.
9879         * a-nudira.ads: Likewise.
9880         * a-nuflra.adb: Likewise.
9881         * a-nuflra.ads: Likewise.
9882         * a-numaux-darwin.adb: Likewise.
9883         * a-numaux-darwin.ads: Likewise.
9884         * a-numaux-libc-x86.ads: Likewise.
9885         * a-numaux-vxworks.ads: Likewise.
9886         * a-numaux-x86.adb: Likewise.
9887         * a-numaux-x86.ads: Likewise.
9888         * a-numaux.ads: Likewise.
9889         * a-rbtgso.adb: Likewise.
9890         * a-rbtgso.ads: Likewise.
9891         * a-reatim.ads: Likewise.
9892         * a-retide.adb: Likewise.
9893         * a-retide.ads: Likewise.
9894         * a-rttiev.adb: Likewise.
9895         * a-rttiev.ads: Likewise.
9896         * a-secain.adb: Likewise.
9897         * a-secain.ads: Likewise.
9898         * a-sequio.adb: Likewise.
9899         * a-sequio.ads: Likewise.
9900         * a-shcain.adb: Likewise.
9901         * a-shcain.ads: Likewise.
9902         * a-siocst.adb: Likewise.
9903         * a-siocst.ads: Likewise.
9904         * a-slcain.adb: Likewise.
9905         * a-slcain.ads: Likewise.
9906         * a-ssicst.adb: Likewise.
9907         * a-ssicst.ads: Likewise.
9908         * a-stboha.adb: Likewise.
9909         * a-stmaco.ads: Likewise.
9910         * a-storio.adb: Likewise.
9911         * a-strbou.adb: Likewise.
9912         * a-strbou.ads: Likewise.
9913         * a-stream.ads: Likewise.
9914         * a-strfix.adb: Likewise.
9915         * a-strhas.adb: Likewise.
9916         * a-strmap.adb: Likewise.
9917         * a-strmap.ads: Likewise.
9918         * a-strsea.adb: Likewise.
9919         * a-strsea.ads: Likewise.
9920         * a-strsup.adb: Likewise.
9921         * a-strsup.ads: Likewise.
9922         * a-strunb.adb: Likewise.
9923         * a-strunb.ads: Likewise.
9924         * a-ststio.adb: Likewise.
9925         * a-ststio.ads: Likewise.
9926         * a-stunau.adb: Likewise.
9927         * a-stunau.ads: Likewise.
9928         * a-stunha.adb: Likewise.
9929         * a-stwibo.adb: Likewise.
9930         * a-stwibo.ads: Likewise.
9931         * a-stwifi.adb: Likewise.
9932         * a-stwiha.adb: Likewise.
9933         * a-stwima.adb: Likewise.
9934         * a-stwima.ads: Likewise.
9935         * a-stwise.adb: Likewise.
9936         * a-stwise.ads: Likewise.
9937         * a-stwisu.adb: Likewise.
9938         * a-stwisu.ads: Likewise.
9939         * a-stwiun.adb: Likewise.
9940         * a-stwiun.ads: Likewise.
9941         * a-stzbou.adb: Likewise.
9942         * a-stzbou.ads: Likewise.
9943         * a-stzfix.adb: Likewise.
9944         * a-stzhas.adb: Likewise.
9945         * a-stzmap.adb: Likewise.
9946         * a-stzmap.ads: Likewise.
9947         * a-stzsea.adb: Likewise.
9948         * a-stzsea.ads: Likewise.
9949         * a-stzsup.adb: Likewise.
9950         * a-stzsup.ads: Likewise.
9951         * a-stzunb.adb: Likewise.
9952         * a-stzunb.ads: Likewise.
9953         * a-suteio.adb: Likewise.
9954         * a-suteio.ads: Likewise.
9955         * a-swbwha.adb: Likewise.
9956         * a-swmwco.ads: Likewise.
9957         * a-swunau.adb: Likewise.
9958         * a-swunau.ads: Likewise.
9959         * a-swuwha.adb: Likewise.
9960         * a-swuwti.adb: Likewise.
9961         * a-swuwti.ads: Likewise.
9962         * a-sytaco.adb: Likewise.
9963         * a-sytaco.ads: Likewise.
9964         * a-szbzha.adb: Likewise.
9965         * a-szmzco.ads: Likewise.
9966         * a-szunau.adb: Likewise.
9967         * a-szunau.ads: Likewise.
9968         * a-szuzha.adb: Likewise.
9969         * a-szuzti.adb: Likewise.
9970         * a-szuzti.ads: Likewise.
9971         * a-tags.adb: Likewise.
9972         * a-tags.ads: Likewise.
9973         * a-tasatt.ads: Likewise.
9974         * a-taside.adb: Likewise.
9975         * a-taside.ads: Likewise.
9976         * a-taster.adb: Likewise.
9977         * a-teioed.adb: Likewise.
9978         * a-teioed.ads: Likewise.
9979         * a-textio.adb: Likewise.
9980         * a-textio.ads: Likewise.
9981         * a-tiboio.adb: Likewise.
9982         * a-ticoau.adb: Likewise.
9983         * a-ticoau.ads: Likewise.
9984         * a-ticoio.adb: Likewise.
9985         * a-ticoio.ads: Likewise.
9986         * a-tideau.adb: Likewise.
9987         * a-tideau.ads: Likewise.
9988         * a-tideio.adb: Likewise.
9989         * a-tideio.ads: Likewise.
9990         * a-tienau.adb: Likewise.
9991         * a-tienau.ads: Likewise.
9992         * a-tienio.adb: Likewise.
9993         * a-tienio.ads: Likewise.
9994         * a-tifiio.adb: Likewise.
9995         * a-tifiio.ads: Likewise.
9996         * a-tiflau.adb: Likewise.
9997         * a-tiflau.ads: Likewise.
9998         * a-tiflio.adb: Likewise.
9999         * a-tiflio.ads: Likewise.
10000         * a-tigeau.adb: Likewise.
10001         * a-tigeau.ads: Likewise.
10002         * a-tiinau.adb: Likewise.
10003         * a-tiinau.ads: Likewise.
10004         * a-tiinio.adb: Likewise.
10005         * a-tiinio.ads: Likewise.
10006         * a-timoau.adb: Likewise.
10007         * a-timoau.ads: Likewise.
10008         * a-timoio.adb: Likewise.
10009         * a-timoio.ads: Likewise.
10010         * a-tiocst.adb: Likewise.
10011         * a-tiocst.ads: Likewise.
10012         * a-titest.adb: Likewise.
10013         * a-wichun.adb: Likewise.
10014         * a-wichun.ads: Likewise.
10015         * a-witeio.adb: Likewise.
10016         * a-witeio.ads: Likewise.
10017         * a-wtcoau.adb: Likewise.
10018         * a-wtcoau.ads: Likewise.
10019         * a-wtcoio.adb: Likewise.
10020         * a-wtcstr.adb: Likewise.
10021         * a-wtcstr.ads: Likewise.
10022         * a-wtdeau.adb: Likewise.
10023         * a-wtdeau.ads: Likewise.
10024         * a-wtdeio.adb: Likewise.
10025         * a-wtdeio.ads: Likewise.
10026         * a-wtedit.adb: Likewise.
10027         * a-wtedit.ads: Likewise.
10028         * a-wtenau.adb: Likewise.
10029         * a-wtenau.ads: Likewise.
10030         * a-wtenio.adb: Likewise.
10031         * a-wtenio.ads: Likewise.
10032         * a-wtfiio.adb: Likewise.
10033         * a-wtfiio.ads: Likewise.
10034         * a-wtflau.adb: Likewise.
10035         * a-wtflau.ads: Likewise.
10036         * a-wtflio.adb: Likewise.
10037         * a-wtflio.ads: Likewise.
10038         * a-wtgeau.adb: Likewise.
10039         * a-wtgeau.ads: Likewise.
10040         * a-wtinau.adb: Likewise.
10041         * a-wtinau.ads: Likewise.
10042         * a-wtinio.adb: Likewise.
10043         * a-wtmoau.adb: Likewise.
10044         * a-wtmoau.ads: Likewise.
10045         * a-wtmoio.adb: Likewise.
10046         * a-wtmoio.ads: Likewise.
10047         * a-wttest.adb: Likewise.
10048         * a-wwboio.adb: Likewise.
10049         * a-zchuni.adb: Likewise.
10050         * a-zchuni.ads: Likewise.
10051         * a-ztcoau.adb: Likewise.
10052         * a-ztcoau.ads: Likewise.
10053         * a-ztcoio.adb: Likewise.
10054         * a-ztcstr.adb: Likewise.
10055         * a-ztcstr.ads: Likewise.
10056         * a-ztdeau.adb: Likewise.
10057         * a-ztdeau.ads: Likewise.
10058         * a-ztdeio.adb: Likewise.
10059         * a-ztdeio.ads: Likewise.
10060         * a-ztedit.adb: Likewise.
10061         * a-ztedit.ads: Likewise.
10062         * a-ztenau.adb: Likewise.
10063         * a-ztenau.ads: Likewise.
10064         * a-ztenio.adb: Likewise.
10065         * a-ztenio.ads: Likewise.
10066         * a-ztexio.adb: Likewise.
10067         * a-ztexio.ads: Likewise.
10068         * a-ztfiio.adb: Likewise.
10069         * a-ztfiio.ads: Likewise.
10070         * a-ztflau.adb: Likewise.
10071         * a-ztflau.ads: Likewise.
10072         * a-ztflio.adb: Likewise.
10073         * a-ztflio.ads: Likewise.
10074         * a-ztgeau.adb: Likewise.
10075         * a-ztgeau.ads: Likewise.
10076         * a-ztinau.adb: Likewise.
10077         * a-ztinau.ads: Likewise.
10078         * a-ztinio.adb: Likewise.
10079         * a-ztmoau.adb: Likewise.
10080         * a-ztmoau.ads: Likewise.
10081         * a-ztmoio.adb: Likewise.
10082         * a-ztmoio.ads: Likewise.
10083         * a-zttest.adb: Likewise.
10084         * a-zzboio.adb: Likewise.
10085         * adadecode.c: Likewise.
10086         * adaint.c: Likewise.
10087         * adaint.h: Likewise.
10088         * alloc.ads: Likewise.
10089         * argv.c: Likewise.
10090         * arit64.c: Likewise.
10091         * atree.adb: Likewise.
10092         * atree.ads: Likewise.
10093         * aux-io.c: Likewise.
10094         * cal.c: Likewise.
10095         * casing.adb: Likewise.
10096         * casing.ads: Likewise.
10097         * cio.c: Likewise.
10098         * csets.adb: Likewise.
10099         * csets.ads: Likewise.
10100         * cstreams.c: Likewise.
10101         * ctrl_c.c: Likewise.
10102         * debug.adb: Likewise.
10103         * debug.ads: Likewise.
10104         * dec.ads: Likewise.
10105         * einfo.adb: Likewise.
10106         * einfo.ads: Likewise.
10107         * elists.adb: Likewise.
10108         * elists.ads: Likewise.
10109         * env.c: Likewise.
10110         * env.h: Likewise.
10111         * errno.c: Likewise.
10112         * exit.c: Likewise.
10113         * fe.h: Likewise.
10114         * final.c: Likewise.
10115         * fname.adb: Likewise.
10116         * fname.ads: Likewise.
10117         * g-allein.ads: Likewise.
10118         * g-alleve.adb: Likewise.
10119         * g-alleve.ads: Likewise.
10120         * g-altcon.adb: Likewise.
10121         * g-altcon.ads: Likewise.
10122         * g-altive.ads: Likewise.
10123         * g-alveop.adb: Likewise.
10124         * g-alveop.ads: Likewise.
10125         * g-alvety.ads: Likewise.
10126         * g-alvevi.ads: Likewise.
10127         * g-arrspl.adb: Likewise.
10128         * g-arrspl.ads: Likewise.
10129         * g-calend.ads: Likewise.
10130         * g-comlin.adb: Likewise.
10131         * g-debpoo.adb: Likewise.
10132         * g-debpoo.ads: Likewise.
10133         * g-eacodu-vms.adb: Likewise.
10134         * g-eacodu.adb: Likewise.
10135         * g-excact.adb: Likewise.
10136         * g-excact.ads: Likewise.
10137         * g-locfil.adb: Likewise.
10138         * g-os_lib.ads: Likewise.
10139         * g-rannum.adb: Likewise.
10140         * g-rannum.ads: Likewise.
10141         * g-regist.adb: Likewise.
10142         * g-regist.ads: Likewise.
10143         * g-signal.adb: Likewise.
10144         * g-signal.ads: Likewise.
10145         * g-soccon.ads: Likewise.
10146         * g-string.adb: Likewise.
10147         * g-string.ads: Likewise.
10148         * g-strspl.ads: Likewise.
10149         * g-timsta.adb: Likewise.
10150         * g-timsta.ads: Likewise.
10151         * g-trasym-vms-alpha.adb: Likewise.
10152         * g-trasym-vms-ia64.adb: Likewise.
10153         * g-utf_32.adb: Likewise.
10154         * g-utf_32.ads: Likewise.
10155         * g-wistsp.ads: Likewise.
10156         * g-zstspl.ads: Likewise.
10157         * gmem.c: Likewise.
10158         * gnatvsn.adb: Likewise.
10159         * gnatvsn.ads: Likewise.
10160         * gsocket.h: Likewise.
10161         * hostparm.ads: Likewise.
10162         * i-c.adb: Likewise.
10163         * i-cexten.ads: Likewise.
10164         * i-cobol.adb: Likewise.
10165         * i-cobol.ads: Likewise.
10166         * i-cpoint.adb: Likewise.
10167         * i-cpoint.ads: Likewise.
10168         * i-cpp.adb: Likewise.
10169         * i-cpp.ads: Likewise.
10170         * i-cstrea-vms.adb: Likewise.
10171         * i-cstrea.adb: Likewise.
10172         * i-cstrea.ads: Likewise.
10173         * i-cstrin.adb: Likewise.
10174         * i-cstrin.ads: Likewise.
10175         * i-forbla-darwin.adb: Likewise.
10176         * i-forbla-unimplemented.ads: Likewise.
10177         * i-forbla.adb: Likewise.
10178         * i-forbla.ads: Likewise.
10179         * i-forlap.ads: Likewise.
10180         * i-fortra.adb: Likewise.
10181         * i-pacdec.adb: Likewise.
10182         * i-pacdec.ads: Likewise.
10183         * i-vxwoio.adb: Likewise.
10184         * i-vxwoio.ads: Likewise.
10185         * indepsw-aix.adb: Likewise.
10186         * indepsw-gnu.adb: Likewise.
10187         * indepsw-mingw.adb: Likewise.
10188         * indepsw.adb: Likewise.
10189         * indepsw.ads: Likewise.
10190         * init.c: Likewise.
10191         * initialize.c: Likewise.
10192         * interfac.ads: Likewise.
10193         * krunch.adb: Likewise.
10194         * krunch.ads: Likewise.
10195         * lib-list.adb: Likewise.
10196         * lib-sort.adb: Likewise.
10197         * lib.adb: Likewise.
10198         * lib.ads: Likewise.
10199         * link.c: Likewise.
10200         * math_lib.adb: Likewise.
10201         * memtrack.adb: Likewise.
10202         * mingw32.h: Likewise.
10203         * mkdir.c: Likewise.
10204         * namet-sp.adb: Likewise.
10205         * namet-sp.ads: Likewise.
10206         * namet.adb: Likewise.
10207         * namet.ads: Likewise.
10208         * nlists.adb: Likewise.
10209         * nlists.ads: Likewise.
10210         * opt.adb: Likewise.
10211         * opt.ads: Likewise.
10212         * output.adb: Likewise.
10213         * output.ads: Likewise.
10214         * raise-gcc.c: Likewise.
10215         * raise.c: Likewise.
10216         * raise.h: Likewise.
10217         * repinfo.adb: Likewise.
10218         * repinfo.ads: Likewise.
10219         * repinfo.h: Likewise.
10220         * rident.ads: Likewise.
10221         * s-addima.adb: Likewise.
10222         * s-addima.ads: Likewise.
10223         * s-addope.adb: Likewise.
10224         * s-addope.ads: Likewise.
10225         * s-arit64.adb: Likewise.
10226         * s-arit64.ads: Likewise.
10227         * s-assert.adb: Likewise.
10228         * s-assert.ads: Likewise.
10229         * s-asthan-vms-alpha.adb: Likewise.
10230         * s-asthan.adb: Likewise.
10231         * s-asthan.ads: Likewise.
10232         * s-atacco.adb: Likewise.
10233         * s-atacco.ads: Likewise.
10234         * s-auxdec-empty.adb: Likewise.
10235         * s-auxdec-empty.ads: Likewise.
10236         * s-auxdec-vms_64.ads: Likewise.
10237         * s-auxdec.adb: Likewise.
10238         * s-auxdec.ads: Likewise.
10239         * s-bitops.adb: Likewise.
10240         * s-bitops.ads: Likewise.
10241         * s-boarop.ads: Likewise.
10242         * s-carsi8.adb: Likewise.
10243         * s-carsi8.ads: Likewise.
10244         * s-carun8.adb: Likewise.
10245         * s-carun8.ads: Likewise.
10246         * s-casi16.adb: Likewise.
10247         * s-casi16.ads: Likewise.
10248         * s-casi32.adb: Likewise.
10249         * s-casi32.ads: Likewise.
10250         * s-casi64.adb: Likewise.
10251         * s-casi64.ads: Likewise.
10252         * s-casuti.ads: Likewise.
10253         * s-caun16.adb: Likewise.
10254         * s-caun16.ads: Likewise.
10255         * s-caun32.adb: Likewise.
10256         * s-caun32.ads: Likewise.
10257         * s-caun64.adb: Likewise.
10258         * s-caun64.ads: Likewise.
10259         * s-chepoo.ads: Likewise.
10260         * s-crc32.adb: Likewise.
10261         * s-crc32.ads: Likewise.
10262         * s-crtl.ads: Likewise.
10263         * s-direio.adb: Likewise.
10264         * s-direio.ads: Likewise.
10265         * s-dsaser.ads: Likewise.
10266         * s-except.adb: Likewise.
10267         * s-except.ads: Likewise.
10268         * s-exctab.adb: Likewise.
10269         * s-exctab.ads: Likewise.
10270         * s-exnint.adb: Likewise.
10271         * s-exnint.ads: Likewise.
10272         * s-exnllf.adb: Likewise.
10273         * s-exnllf.ads: Likewise.
10274         * s-exnlli.adb: Likewise.
10275         * s-exnlli.ads: Likewise.
10276         * s-expint.adb: Likewise.
10277         * s-expint.ads: Likewise.
10278         * s-explli.adb: Likewise.
10279         * s-explli.ads: Likewise.
10280         * s-expllu.adb: Likewise.
10281         * s-expllu.ads: Likewise.
10282         * s-expmod.adb: Likewise.
10283         * s-expmod.ads: Likewise.
10284         * s-expuns.adb: Likewise.
10285         * s-expuns.ads: Likewise.
10286         * s-fatflt.ads: Likewise.
10287         * s-fatgen.adb: Likewise.
10288         * s-fatgen.ads: Likewise.
10289         * s-fatlfl.ads: Likewise.
10290         * s-fatllf.ads: Likewise.
10291         * s-fatsfl.ads: Likewise.
10292         * s-ficobl.ads: Likewise.
10293         * s-fileio.adb: Likewise.
10294         * s-fileio.ads: Likewise.
10295         * s-filofl.ads: Likewise.
10296         * s-finimp.adb: Likewise.
10297         * s-finimp.ads: Likewise.
10298         * s-finroo.adb: Likewise.
10299         * s-finroo.ads: Likewise.
10300         * s-fishfl.ads: Likewise.
10301         * s-fore.adb: Likewise.
10302         * s-fore.ads: Likewise.
10303         * s-fvadfl.ads: Likewise.
10304         * s-fvaffl.ads: Likewise.
10305         * s-fvagfl.ads: Likewise.
10306         * s-gearop.adb: Likewise.
10307         * s-gearop.ads: Likewise.
10308         * s-gecobl.adb: Likewise.
10309         * s-gecobl.ads: Likewise.
10310         * s-gecola.adb: Likewise.
10311         * s-gecola.ads: Likewise.
10312         * s-gerebl.adb: Likewise.
10313         * s-gerebl.ads: Likewise.
10314         * s-gerela.adb: Likewise.
10315         * s-gerela.ads: Likewise.
10316         * s-geveop.adb: Likewise.
10317         * s-geveop.ads: Likewise.
10318         * s-gloloc.adb: Likewise.
10319         * s-gloloc.ads: Likewise.
10320         * s-hibaen.ads: Likewise.
10321         * s-imenne.adb: Likewise.
10322         * s-imenne.ads: Likewise.
10323         * s-imgbiu.adb: Likewise.
10324         * s-imgbiu.ads: Likewise.
10325         * s-imgboo.adb: Likewise.
10326         * s-imgboo.ads: Likewise.
10327         * s-imgcha.adb: Likewise.
10328         * s-imgcha.ads: Likewise.
10329         * s-imgdec.adb: Likewise.
10330         * s-imgdec.ads: Likewise.
10331         * s-imgenu.adb: Likewise.
10332         * s-imgenu.ads: Likewise.
10333         * s-imgint.adb: Likewise.
10334         * s-imgint.ads: Likewise.
10335         * s-imgllb.adb: Likewise.
10336         * s-imgllb.ads: Likewise.
10337         * s-imglld.adb: Likewise.
10338         * s-imglld.ads: Likewise.
10339         * s-imglli.adb: Likewise.
10340         * s-imglli.ads: Likewise.
10341         * s-imgllu.adb: Likewise.
10342         * s-imgllu.ads: Likewise.
10343         * s-imgllw.adb: Likewise.
10344         * s-imgllw.ads: Likewise.
10345         * s-imgrea.adb: Likewise.
10346         * s-imgrea.ads: Likewise.
10347         * s-imguns.adb: Likewise.
10348         * s-imguns.ads: Likewise.
10349         * s-imgwch.adb: Likewise.
10350         * s-imgwch.ads: Likewise.
10351         * s-imgwiu.adb: Likewise.
10352         * s-imgwiu.ads: Likewise.
10353         * s-inmaop-dummy.adb: Likewise.
10354         * s-inmaop-vms.adb: Likewise.
10355         * s-inmaop.ads: Likewise.
10356         * s-interr-hwint.adb: Likewise.
10357         * s-interr-sigaction.adb: Likewise.
10358         * s-interr-vms.adb: Likewise.
10359         * s-interr.adb: Likewise.
10360         * s-interr.ads: Likewise.
10361         * s-intman-dummy.adb: Likewise.
10362         * s-intman-mingw.adb: Likewise.
10363         * s-intman-posix.adb: Likewise.
10364         * s-intman-solaris.adb: Likewise.
10365         * s-intman-vms.adb: Likewise.
10366         * s-intman-vms.ads: Likewise.
10367         * s-intman-vxworks.adb: Likewise.
10368         * s-intman-vxworks.ads: Likewise.
10369         * s-intman.ads: Likewise.
10370         * s-io.adb: Likewise.
10371         * s-io.ads: Likewise.
10372         * s-linux-alpha.ads: Likewise.
10373         * s-linux-hppa.ads: Likewise.
10374         * s-linux.ads: Likewise.
10375         * s-maccod.ads: Likewise.
10376         * s-mantis.adb: Likewise.
10377         * s-mantis.ads: Likewise.
10378         * s-mastop-irix.adb: Likewise.
10379         * s-mastop.adb: Likewise.
10380         * s-mastop.ads: Likewise.
10381         * s-memcop.ads: Likewise.
10382         * s-memory-mingw.adb: Likewise.
10383         * s-memory.adb: Likewise.
10384         * s-memory.ads: Likewise.
10385         * s-os_lib.ads: Likewise.
10386         * s-oscons-tmplt.c: Likewise.
10387         * s-osinte-aix.adb: Likewise.
10388         * s-osinte-darwin.adb: Likewise.
10389         * s-osinte-freebsd.adb: Likewise.
10390         * s-osinte-irix.adb: Likewise.
10391         * s-osinte-lynxos-3.adb: Likewise.
10392         * s-osinte-rtems.ads: Likewise.
10393         * s-osinte-tru64.adb: Likewise.
10394         * s-osinte-vxworks-kernel.adb: Likewise.
10395         * s-osinte-vxworks.adb: Likewise.
10396         * s-osprim-mingw.adb: Likewise.
10397         * s-osprim-posix.adb: Likewise.
10398         * s-osprim-solaris.adb: Likewise.
10399         * s-osprim-unix.adb: Likewise.
10400         * s-osprim-vms.adb: Likewise.
10401         * s-osprim-vms.ads: Likewise.
10402         * s-osprim-vxworks.adb: Likewise.
10403         * s-osprim.ads: Likewise.
10404         * s-pack03.adb: Likewise.
10405         * s-pack03.ads: Likewise.
10406         * s-pack05.adb: Likewise.
10407         * s-pack05.ads: Likewise.
10408         * s-pack06.adb: Likewise.
10409         * s-pack06.ads: Likewise.
10410         * s-pack07.adb: Likewise.
10411         * s-pack07.ads: Likewise.
10412         * s-pack09.adb: Likewise.
10413         * s-pack09.ads: Likewise.
10414         * s-pack10.adb: Likewise.
10415         * s-pack10.ads: Likewise.
10416         * s-pack11.adb: Likewise.
10417         * s-pack11.ads: Likewise.
10418         * s-pack12.adb: Likewise.
10419         * s-pack12.ads: Likewise.
10420         * s-pack13.adb: Likewise.
10421         * s-pack13.ads: Likewise.
10422         * s-pack14.adb: Likewise.
10423         * s-pack14.ads: Likewise.
10424         * s-pack15.adb: Likewise.
10425         * s-pack15.ads: Likewise.
10426         * s-pack17.adb: Likewise.
10427         * s-pack17.ads: Likewise.
10428         * s-pack18.adb: Likewise.
10429         * s-pack18.ads: Likewise.
10430         * s-pack19.adb: Likewise.
10431         * s-pack19.ads: Likewise.
10432         * s-pack20.adb: Likewise.
10433         * s-pack20.ads: Likewise.
10434         * s-pack21.adb: Likewise.
10435         * s-pack21.ads: Likewise.
10436         * s-pack22.adb: Likewise.
10437         * s-pack22.ads: Likewise.
10438         * s-pack23.adb: Likewise.
10439         * s-pack23.ads: Likewise.
10440         * s-pack24.adb: Likewise.
10441         * s-pack24.ads: Likewise.
10442         * s-pack25.adb: Likewise.
10443         * s-pack25.ads: Likewise.
10444         * s-pack26.adb: Likewise.
10445         * s-pack26.ads: Likewise.
10446         * s-pack27.adb: Likewise.
10447         * s-pack27.ads: Likewise.
10448         * s-pack28.adb: Likewise.
10449         * s-pack28.ads: Likewise.
10450         * s-pack29.adb: Likewise.
10451         * s-pack29.ads: Likewise.
10452         * s-pack30.adb: Likewise.
10453         * s-pack30.ads: Likewise.
10454         * s-pack31.adb: Likewise.
10455         * s-pack31.ads: Likewise.
10456         * s-pack33.adb: Likewise.
10457         * s-pack33.ads: Likewise.
10458         * s-pack34.adb: Likewise.
10459         * s-pack34.ads: Likewise.
10460         * s-pack35.adb: Likewise.
10461         * s-pack35.ads: Likewise.
10462         * s-pack36.adb: Likewise.
10463         * s-pack36.ads: Likewise.
10464         * s-pack37.adb: Likewise.
10465         * s-pack37.ads: Likewise.
10466         * s-pack38.adb: Likewise.
10467         * s-pack38.ads: Likewise.
10468         * s-pack39.adb: Likewise.
10469         * s-pack39.ads: Likewise.
10470         * s-pack40.adb: Likewise.
10471         * s-pack40.ads: Likewise.
10472         * s-pack41.adb: Likewise.
10473         * s-pack41.ads: Likewise.
10474         * s-pack42.adb: Likewise.
10475         * s-pack42.ads: Likewise.
10476         * s-pack43.adb: Likewise.
10477         * s-pack43.ads: Likewise.
10478         * s-pack44.adb: Likewise.
10479         * s-pack44.ads: Likewise.
10480         * s-pack45.adb: Likewise.
10481         * s-pack45.ads: Likewise.
10482         * s-pack46.adb: Likewise.
10483         * s-pack46.ads: Likewise.
10484         * s-pack47.adb: Likewise.
10485         * s-pack47.ads: Likewise.
10486         * s-pack48.adb: Likewise.
10487         * s-pack48.ads: Likewise.
10488         * s-pack49.adb: Likewise.
10489         * s-pack49.ads: Likewise.
10490         * s-pack50.adb: Likewise.
10491         * s-pack50.ads: Likewise.
10492         * s-pack51.adb: Likewise.
10493         * s-pack51.ads: Likewise.
10494         * s-pack52.adb: Likewise.
10495         * s-pack52.ads: Likewise.
10496         * s-pack53.adb: Likewise.
10497         * s-pack53.ads: Likewise.
10498         * s-pack54.adb: Likewise.
10499         * s-pack54.ads: Likewise.
10500         * s-pack55.adb: Likewise.
10501         * s-pack55.ads: Likewise.
10502         * s-pack56.adb: Likewise.
10503         * s-pack56.ads: Likewise.
10504         * s-pack57.adb: Likewise.
10505         * s-pack57.ads: Likewise.
10506         * s-pack58.adb: Likewise.
10507         * s-pack58.ads: Likewise.
10508         * s-pack59.adb: Likewise.
10509         * s-pack59.ads: Likewise.
10510         * s-pack60.adb: Likewise.
10511         * s-pack60.ads: Likewise.
10512         * s-pack61.adb: Likewise.
10513         * s-pack61.ads: Likewise.
10514         * s-pack62.adb: Likewise.
10515         * s-pack62.ads: Likewise.
10516         * s-pack63.adb: Likewise.
10517         * s-pack63.ads: Likewise.
10518         * s-parame-ae653.ads: Likewise.
10519         * s-parame-hpux.ads: Likewise.
10520         * s-parame-rtems.adb: Likewise.
10521         * s-parame-vms-alpha.ads: Likewise.
10522         * s-parame-vms-ia64.ads: Likewise.
10523         * s-parame-vms-restrict.ads: Likewise.
10524         * s-parame-vxworks.adb: Likewise.
10525         * s-parame-vxworks.ads: Likewise.
10526         * s-parame.adb: Likewise.
10527         * s-parame.ads: Likewise.
10528         * s-parint.adb: Likewise.
10529         * s-parint.ads: Likewise.
10530         * s-pooglo.adb: Likewise.
10531         * s-pooglo.ads: Likewise.
10532         * s-pooloc.adb: Likewise.
10533         * s-pooloc.ads: Likewise.
10534         * s-poosiz.adb: Likewise.
10535         * s-poosiz.ads: Likewise.
10536         * s-powtab.ads: Likewise.
10537         * s-proinf-irix-athread.adb: Likewise.
10538         * s-proinf-irix-athread.ads: Likewise.
10539         * s-proinf.adb: Likewise.
10540         * s-proinf.ads: Likewise.
10541         * s-purexc.ads: Likewise.
10542         * s-rannum.adb: Likewise.
10543         * s-rannum.ads: Likewise.
10544         * s-restri.adb: Likewise.
10545         * s-restri.ads: Likewise.
10546         * s-rident.ads: Likewise.
10547         * s-rpc.adb: Likewise.
10548         * s-rpc.ads: Likewise.
10549         * s-scaval.adb: Likewise.
10550         * s-scaval.ads: Likewise.
10551         * s-secsta.adb: Likewise.
10552         * s-secsta.ads: Likewise.
10553         * s-sequio.adb: Likewise.
10554         * s-sequio.ads: Likewise.
10555         * s-shasto.adb: Likewise.
10556         * s-shasto.ads: Likewise.
10557         * s-soflin.adb: Likewise.
10558         * s-soflin.ads: Likewise.
10559         * s-solita.adb: Likewise.
10560         * s-solita.ads: Likewise.
10561         * s-sopco3.adb: Likewise.
10562         * s-sopco3.ads: Likewise.
10563         * s-sopco4.adb: Likewise.
10564         * s-sopco4.ads: Likewise.
10565         * s-sopco5.adb: Likewise.
10566         * s-sopco5.ads: Likewise.
10567         * s-stache.adb: Likewise.
10568         * s-stache.ads: Likewise.
10569         * s-stalib.adb: Likewise.
10570         * s-stalib.ads: Likewise.
10571         * s-stausa.adb: Likewise.
10572         * s-stausa.ads: Likewise.
10573         * s-stchop-limit.ads: Likewise.
10574         * s-stchop-rtems.adb: Likewise.
10575         * s-stchop-vxworks.adb: Likewise.
10576         * s-stchop.adb: Likewise.
10577         * s-stchop.ads: Likewise.
10578         * s-stoele.adb: Likewise.
10579         * s-stoele.ads: Likewise.
10580         * s-stopoo.adb: Likewise.
10581         * s-stopoo.ads: Likewise.
10582         * s-stratt.adb: Likewise.
10583         * s-stratt.ads: Likewise.
10584         * s-strcom.adb: Likewise.
10585         * s-strcom.ads: Likewise.
10586         * s-string.adb: Likewise.
10587         * s-string.ads: Likewise.
10588         * s-strops.adb: Likewise.
10589         * s-strops.ads: Likewise.
10590         * s-strxdr.adb: Likewise.
10591         * s-ststop.adb: Likewise.
10592         * s-ststop.ads: Likewise.
10593         * s-taasde.adb: Likewise.
10594         * s-taasde.ads: Likewise.
10595         * s-tadeca.adb: Likewise.
10596         * s-tadeca.ads: Likewise.
10597         * s-tadert.adb: Likewise.
10598         * s-tadert.ads: Likewise.
10599         * s-taenca.adb: Likewise.
10600         * s-taenca.ads: Likewise.
10601         * s-taprob.ads: Likewise.
10602         * s-taprop-dummy.adb: Likewise.
10603         * s-taprop-hpux-dce.adb: Likewise.
10604         * s-taprop-irix.adb: Likewise.
10605         * s-taprop-linux.adb: Likewise.
10606         * s-taprop-lynxos.adb: Likewise.
10607         * s-taprop-mingw.adb: Likewise.
10608         * s-taprop-posix.adb: Likewise.
10609         * s-taprop-solaris.adb: Likewise.
10610         * s-taprop-tru64.adb: Likewise.
10611         * s-taprop-vms.adb: Likewise.
10612         * s-taprop-vxworks.adb: Likewise.
10613         * s-taprop.ads: Likewise.
10614         * s-tarest.adb: Likewise.
10615         * s-tarest.ads: Likewise.
10616         * s-tasdeb.adb: Likewise.
10617         * s-tasdeb.ads: Likewise.
10618         * s-tasinf-irix.ads: Likewise.
10619         * s-tasinf-linux.adb: Likewise.
10620         * s-tasinf-linux.ads: Likewise.
10621         * s-tasinf-mingw.adb: Likewise.
10622         * s-tasinf-mingw.ads: Likewise.
10623         * s-tasinf-solaris.adb: Likewise.
10624         * s-tasinf-solaris.ads: Likewise.
10625         * s-tasinf-tru64.ads: Likewise.
10626         * s-tasinf.adb: Likewise.
10627         * s-tasinf.ads: Likewise.
10628         * s-tasini.adb: Likewise.
10629         * s-tasini.ads: Likewise.
10630         * s-taskin.adb: Likewise.
10631         * s-taskin.ads: Likewise.
10632         * s-taspri-dummy.ads: Likewise.
10633         * s-taspri-hpux-dce.ads: Likewise.
10634         * s-taspri-mingw.ads: Likewise.
10635         * s-taspri-solaris.ads: Likewise.
10636         * s-taspri-tru64.ads: Likewise.
10637         * s-taspri-vms.ads: Likewise.
10638         * s-taspri-vxworks.ads: Likewise.
10639         * s-tasque.adb: Likewise.
10640         * s-tasque.ads: Likewise.
10641         * s-tasren.adb: Likewise.
10642         * s-tasren.ads: Likewise.
10643         * s-tasres.ads: Likewise.
10644         * s-tassta.adb: Likewise.
10645         * s-tassta.ads: Likewise.
10646         * s-tasuti.adb: Likewise.
10647         * s-tasuti.ads: Likewise.
10648         * s-tfsetr-default.adb: Likewise.
10649         * s-tfsetr-vxworks.adb: Likewise.
10650         * s-tpinop.adb: Likewise.
10651         * s-tpinop.ads: Likewise.
10652         * s-tpoben.adb: Likewise.
10653         * s-tpoben.ads: Likewise.
10654         * s-tpobop.adb: Likewise.
10655         * s-tpobop.ads: Likewise.
10656         * s-tpopde-vms.adb: Likewise.
10657         * s-tpopde-vms.ads: Likewise.
10658         * s-tpopsp-lynxos.adb: Likewise.
10659         * s-tpopsp-posix-foreign.adb: Likewise.
10660         * s-tpopsp-posix.adb: Likewise.
10661         * s-tpopsp-solaris.adb: Likewise.
10662         * s-tpopsp-vxworks.adb: Likewise.
10663         * s-tporft.adb: Likewise.
10664         * s-tposen.adb: Likewise.
10665         * s-tposen.ads: Likewise.
10666         * s-traceb.adb: Likewise.
10667         * s-traceb.ads: Likewise.
10668         * s-traces-default.adb: Likewise.
10669         * s-traces.adb: Likewise.
10670         * s-traces.ads: Likewise.
10671         * s-traent-vms.adb: Likewise.
10672         * s-traent-vms.ads: Likewise.
10673         * s-traent.adb: Likewise.
10674         * s-traent.ads: Likewise.
10675         * s-trafor-default.adb: Likewise.
10676         * s-trafor-default.ads: Likewise.
10677         * s-tratas-default.adb: Likewise.
10678         * s-tratas.adb: Likewise.
10679         * s-tratas.ads: Likewise.
10680         * s-unstyp.ads: Likewise.
10681         * s-utf_32.adb: Likewise.
10682         * s-utf_32.ads: Likewise.
10683         * s-vaflop-vms-alpha.adb: Likewise.
10684         * s-vaflop.adb: Likewise.
10685         * s-vaflop.ads: Likewise.
10686         * s-valboo.adb: Likewise.
10687         * s-valboo.ads: Likewise.
10688         * s-valcha.adb: Likewise.
10689         * s-valcha.ads: Likewise.
10690         * s-valdec.adb: Likewise.
10691         * s-valdec.ads: Likewise.
10692         * s-valenu.adb: Likewise.
10693         * s-valenu.ads: Likewise.
10694         * s-valint.adb: Likewise.
10695         * s-valint.ads: Likewise.
10696         * s-vallld.adb: Likewise.
10697         * s-vallld.ads: Likewise.
10698         * s-vallli.adb: Likewise.
10699         * s-vallli.ads: Likewise.
10700         * s-valllu.adb: Likewise.
10701         * s-valllu.ads: Likewise.
10702         * s-valrea.adb: Likewise.
10703         * s-valrea.ads: Likewise.
10704         * s-valuns.adb: Likewise.
10705         * s-valuns.ads: Likewise.
10706         * s-valuti.adb: Likewise.
10707         * s-valuti.ads: Likewise.
10708         * s-valwch.adb: Likewise.
10709         * s-valwch.ads: Likewise.
10710         * s-veboop.adb: Likewise.
10711         * s-veboop.ads: Likewise.
10712         * s-vector.ads: Likewise.
10713         * s-vercon.adb: Likewise.
10714         * s-vercon.ads: Likewise.
10715         * s-vmexta.adb: Likewise.
10716         * s-vmexta.ads: Likewise.
10717         * s-vxwext-kernel.ads: Likewise.
10718         * s-vxwext-rtp.adb: Likewise.
10719         * s-vxwext-rtp.ads: Likewise.
10720         * s-vxwext.ads: Likewise.
10721         * s-vxwork-arm.ads: Likewise.
10722         * s-vxwork-m68k.ads: Likewise.
10723         * s-vxwork-mips.ads: Likewise.
10724         * s-vxwork-ppc.ads: Likewise.
10725         * s-vxwork-sparcv9.ads: Likewise.
10726         * s-vxwork-x86.ads: Likewise.
10727         * s-wchcnv.adb: Likewise.
10728         * s-wchcnv.ads: Likewise.
10729         * s-wchcon.adb: Likewise.
10730         * s-wchcon.ads: Likewise.
10731         * s-wchjis.adb: Likewise.
10732         * s-wchjis.ads: Likewise.
10733         * s-wchstw.adb: Likewise.
10734         * s-wchstw.ads: Likewise.
10735         * s-wchwts.adb: Likewise.
10736         * s-wchwts.ads: Likewise.
10737         * s-widboo.adb: Likewise.
10738         * s-widboo.ads: Likewise.
10739         * s-widcha.adb: Likewise.
10740         * s-widcha.ads: Likewise.
10741         * s-widenu.adb: Likewise.
10742         * s-widenu.ads: Likewise.
10743         * s-widlli.adb: Likewise.
10744         * s-widlli.ads: Likewise.
10745         * s-widllu.adb: Likewise.
10746         * s-widllu.ads: Likewise.
10747         * s-widwch.adb: Likewise.
10748         * s-widwch.ads: Likewise.
10749         * s-win32.ads: Likewise.
10750         * s-winext.ads: Likewise.
10751         * s-wwdcha.adb: Likewise.
10752         * s-wwdcha.ads: Likewise.
10753         * s-wwdenu.adb: Likewise.
10754         * s-wwdenu.ads: Likewise.
10755         * s-wwdwch.adb: Likewise.
10756         * s-wwdwch.ads: Likewise.
10757         * scans.adb: Likewise.
10758         * scans.ads: Likewise.
10759         * seh_init.c: Likewise.
10760         * sfn_scan.adb: Likewise.
10761         * sinfo.adb: Likewise.
10762         * sinfo.ads: Likewise.
10763         * sinput.adb: Likewise.
10764         * sinput.ads: Likewise.
10765         * snames.adb: Likewise.
10766         * snames.ads: Likewise.
10767         * socket.c: Likewise.
10768         * stand.adb: Likewise.
10769         * stand.ads: Likewise.
10770         * stringt.adb: Likewise.
10771         * stringt.ads: Likewise.
10772         * sysdep.c: Likewise.
10773         * system-aix.ads: Likewise.
10774         * system-darwin-ppc.ads: Likewise.
10775         * system-darwin-x86.ads: Likewise.
10776         * system-darwin-x86_64.ads: Likewise.
10777         * system-freebsd-x86.ads: Likewise.
10778         * system-hpux-ia64.ads: Likewise.
10779         * system-hpux.ads: Likewise.
10780         * system-irix-n32.ads: Likewise.
10781         * system-irix-n64.ads: Likewise.
10782         * system-irix-o32.ads: Likewise.
10783         * system-linux-alpha.ads: Likewise.
10784         * system-linux-hppa.ads: Likewise.
10785         * system-linux-ia64.ads: Likewise.
10786         * system-linux-mips.ads: Likewise.
10787         * system-linux-mipsel.ads: Likewise.
10788         * system-linux-ppc.ads: Likewise.
10789         * system-linux-ppc64.ads: Likewise.
10790         * system-linux-s390.ads: Likewise.
10791         * system-linux-s390x.ads: Likewise.
10792         * system-linux-sh4.ads: Likewise.
10793         * system-linux-sparc.ads: Likewise.
10794         * system-linux-sparcv9.ads: Likewise.
10795         * system-linux-x86.ads: Likewise.
10796         * system-linux-x86_64.ads: Likewise.
10797         * system-lynxos-ppc.ads: Likewise.
10798         * system-lynxos-x86.ads: Likewise.
10799         * system-mingw-x86_64.ads: Likewise.
10800         * system-mingw.ads: Likewise.
10801         * system-rtems.ads: Likewise.
10802         * system-solaris-sparc.ads: Likewise.
10803         * system-solaris-sparcv9.ads: Likewise.
10804         * system-solaris-x86.ads: Likewise.
10805         * system-solaris-x86_64.ads: Likewise.
10806         * system-tru64.ads: Likewise.
10807         * system-vms-ia64.ads: Likewise.
10808         * system-vms-zcx.ads: Likewise.
10809         * system-vms.ads: Likewise.
10810         * system-vms_64.ads: Likewise.
10811         * system-vxworks-arm.ads: Likewise.
10812         * system-vxworks-m68k.ads: Likewise.
10813         * system-vxworks-mips.ads: Likewise.
10814         * system-vxworks-ppc.ads: Likewise.
10815         * system-vxworks-sparcv9.ads: Likewise.
10816         * system-vxworks-x86.ads: Likewise.
10817         * system.ads: Likewise.
10818         * table.adb: Likewise.
10819         * table.ads: Likewise.
10820         * targext.c: Likewise.
10821         * targparm.ads: Likewise.
10822         * tree_in.adb: Likewise.
10823         * tree_in.ads: Likewise.
10824         * tree_io.adb: Likewise.
10825         * tree_io.ads: Likewise.
10826         * types.adb: Likewise.
10827         * types.ads: Likewise.
10828         * uintp.adb: Likewise.
10829         * uintp.ads: Likewise.
10830         * uname.adb: Likewise.
10831         * uname.ads: Likewise.
10832         * urealp.adb: Likewise.
10833         * urealp.ads: Likewise.
10834         * vx_stack_info.c: Likewise.
10835         * widechar.adb: Likewise.
10836         * widechar.ads: Likewise.
10837         * exp_attr.adb: Change copyright header to refer to version
10838         3 of the GNU General Public License and to point readers at the
10839         COPYING3 file and the FSF's license web page.
10840         * sem.adb: Likewise.
10841         * sem_attr.ads: Likewise.
10842         * freeze.adb: Likewise.
10843         * freeze.ads: Likewise.
10844         * errout.ads: Likewise.
10845         * erroutc.adb: Likewise.
10846         * exp_ch11.ads: Likewise.
10847
10848 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
10849
10850         * config-lang.in: Change copyright header to refer to version
10851         3 of the GNU General Public License and to point readers at the
10852         COPYING3 file and the FSF's license web page.
10853         * gcc-interface/trans.c: Likewise.
10854         * gnathtml.pl: Likewise.
10855         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
10856         * gcc-interface/gigi.h: Likewise.
10857         * gcc-interface/misc.c: Likewise.
10858         * gcc-interface/targtyps.c: Likewise.
10859
10860 2009-04-09  Nicolas Setton  <setton@adacore.com>
10861
10862         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
10863
10864         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
10865         struct_timeval.
10866
10867 2009-04-09  Bob Duff  <duff@adacore.com>
10868
10869         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
10870         internally-generated nodes related to select statements to avoid
10871         confusing the debugger.
10872
10873 2009-04-09  Pascal Obry  <obry@adacore.com>
10874
10875         * make.adb: Ensure that all linker arguments are duplicated.
10876
10877 2009-04-09  Robert Dewar  <dewar@adacore.com>
10878
10879         * sem_ch5.adb: Minor reformatting
10880
10881 2009-04-09  Vincent Celier  <celier@adacore.com>
10882
10883         * vms_data.ads:
10884         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
10885         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
10886         New qualifier /LXDEBUG=nnn for -gnatDnnn
10887         For H820-010
10888
10889         * gnat_ugn.texi:
10890         Update documentation for VMS qualifiers equivalent to -gnatGnn and
10891         -gnatDnn
10892
10893 2009-04-09  Nicolas Setton  <setton@adacore.com>
10894
10895         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
10896         to match layout of siginfo_t in sys/signal.h.
10897
10898         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
10899
10900 2009-04-09  Thomas Quinot  <quinot@adacore.com>
10901
10902         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
10903
10904 2009-04-09  Nicolas Setton  <setton@adacore.com>
10905
10906         * s-oscons-tmplt.c: Allow long lines in the generated spec.
10907         Add generation of Darwin-specific constants needed when binding to the
10908         pthread library.
10909
10910 2009-04-09  Robert Dewar  <dewar@adacore.com>
10911
10912         * checks.adb:
10913         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
10914         when no invalid values exist, Avoid duplicate read of atomic variable.
10915
10916         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
10917         (Standard_Unsigned): Set Is_Known_Valid
10918
10919         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
10920         subtype declaration if no constraint.
10921         (Set_Modular_Size): Set Is_Known_Valid if appropriate
10922         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
10923
10924 2009-04-09  Robert Dewar  <dewar@adacore.com>
10925
10926         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
10927         switch.ads: for numeric switches, an optional equal sign is always
10928         allowed.
10929
10930 2009-04-09  Vincent Celier  <celier@adacore.com>
10931
10932         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
10933         the case of file names is not significant.
10934
10935 2009-04-09  Vincent Celier  <celier@adacore.com>
10936
10937         * errout.adb: Remove dependency on package Style
10938
10939         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
10940         moved to Stylesw.
10941         
10942         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
10943         Styleg.
10944
10945         * errutil.adb, par.adb: Import Stylesw
10946
10947 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
10948
10949         * opt.ads: Fix typos.
10950
10951 2009-04-09  Robert Dewar  <dewar@adacore.com>
10952
10953         * einfo.adb: Minor reformatting
10954
10955 2009-04-09  Robert Dewar  <dewar@adacore.com>
10956
10957         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
10958         units.
10959
10960         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
10961
10962 2009-04-09  Robert Dewar  <dewar@adacore.com>
10963
10964         * g-comver.adb: Minor reformatting.
10965
10966 2009-04-09  Thomas Quinot  <quinot@adacore.com>
10967
10968         * lib-load.ads (Load_Unit): Update documentation.
10969
10970 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
10971
10972         * lib-load.adb (Load_Unit): When loading the parent of a child unit
10973         named in a with_clause, retain the with_clause to preserve a
10974         limited_with indication.
10975
10976 2009-04-09  Robert Dewar  <dewar@adacore.com>
10977
10978         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
10979         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
10980         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
10981         possible to replace an OR of two separate tests.
10982
10983 2009-04-09  Robert Dewar  <dewar@adacore.com>
10984
10985         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
10986         Maximum_Messages.
10987         
10988         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
10989         warning status as well.
10990         
10991         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
10992         
10993         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
10994         Maximum_Messages.
10995         
10996         * bindusg.adb, usage.adb: Update line for -gnatm switch
10997
10998         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
10999         -mnn binder switch.
11000
11001 2009-04-09  Robert Dewar  <dewar@adacore.com>
11002
11003         * sem_ch10.adb: Minor reformatting.
11004
11005 2009-04-09  Bob Duff  <duff@adacore.com>
11006
11007         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
11008         Set Sloc of generated nodes for calls to Undefer_Aborts and
11009         Save_Occurrence to No_Location, so the debugger ignores them and
11010         therefore does not jump back and forth when single stepping.
11011
11012 2009-04-09  Robert Dewar  <dewar@adacore.com>
11013
11014         * switch-b.adb: Minor reformatting.
11015
11016 2009-04-09  Robert Dewar  <dewar@adacore.com>
11017
11018         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
11019         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
11020         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
11021         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
11022         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
11023         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
11024         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
11025         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
11026         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
11027         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
11028         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
11029
11030 2009-04-09  Robert Dewar  <dewar@adacore.com>
11031
11032         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
11033
11034         * atree.h: Add Elist26
11035
11036         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
11037         backends.
11038
11039 2009-04-09  Javier Miranda  <miranda@adacore.com>
11040
11041         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
11042         retrieve from the Dispatch_Table_Wrappers list the external name.
11043         Addition of documentation.
11044         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
11045         used to export secondary dispatch tables (in the previous version of
11046         the frontend only primary dispatch tables were exported). Addition of
11047         documentation.
11048         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
11049         dispatch table of a given tagged type. 
11050         (Make_Tags): Modified to import secondary dispatch tables.
11051
11052         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
11053         (Constant_Redeclaration): Code cleanup.
11054
11055         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
11056         Dispatch_Table_Wrappers.  Update documentation.
11057
11058         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
11059         Renamed to Dispatch_Table_Wrappers.
11060
11061         * sem_util.adb (Collect_Interface_Components): Improve handling of
11062         private types.
11063
11064         * atree.ads (Elist26, Set_Elist26): New subprograms
11065
11066         * atree.adb (Elist26, Set_Elist26): New subprograms
11067
11068 2009-04-09  Javier Miranda  <miranda@adacore.com>
11069
11070         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
11071         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
11072         tagged types.
11073
11074 2009-04-09  Robert Dewar  <dewar@adacore.com>
11075
11076         * s-direio.adb: Minor reformatting
11077
11078         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
11079
11080 2009-04-09  Robert Dewar  <dewar@adacore.com>
11081
11082         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
11083
11084 2009-04-09  Pascal Obry  <obry@adacore.com>
11085
11086         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
11087         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
11088         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
11089         a-filico.ads: Add some missing overriding keywords.
11090
11091 2009-04-09  Pascal Obry  <obry@adacore.com>
11092
11093         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
11094         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
11095         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
11096         reformatting.
11097
11098 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
11099
11100         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
11101         missing overriding indicator if the new declaration is not seen as
11102         primitive.
11103
11104 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11105
11106         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
11107         overflows in computation of bounds.
11108
11109 2009-04-09  Pascal Obry  <obry@adacore.com>
11110
11111         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
11112         typos in comment.
11113
11114 2009-04-09  Robert Dewar  <dewar@adacore.com>
11115
11116         * sem_attr.adb (Check_Stream_Attribute): Check violation of
11117         restriction No_Streams
11118
11119         * gnat_rm.texi: Clarify No_Streams restriction
11120
11121         * g-socket.adb: Minor reformatting.
11122
11123 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11124
11125         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
11126
11127 2009-04-09  Geert Bosch  <bosch@adacore.com>
11128
11129         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
11130         (Set_Result): Likewise.
11131         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
11132         conversion, as required by RM 4.6(31).
11133
11134 2009-04-08  Robert Dewar  <dewar@adacore.com>
11135
11136         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
11137         suppressed.
11138         
11139         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
11140         resolution steps.
11141
11142 2009-04-08  Robert Dewar  <dewar@adacore.com>
11143
11144         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
11145         No_Local_Allocators restriction preventing local instantiation.
11146
11147 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11148
11149         * sem_eval.adb: Minor comment fix
11150
11151 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11152
11153         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
11154         New limited controlled type used to automate the initialization and
11155         finalization of the sockets implementation.
11156         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
11157
11158 2009-04-08  Vincent Celier  <celier@adacore.com>
11159
11160         * prj-attr.adb: New read-only project-level attribute Project_Dir
11161
11162         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
11163         read-only attribute of the same name.
11164         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
11165         (Recursive_Process): Ditto
11166
11167         * snames.adb: Add new standard name Project_Dir
11168
11169         * snames.ads: Add new standard name Project_Dir
11170
11171 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11172
11173         * checks.adb: Minor reformatting
11174
11175 2009-04-08  Vincent Celier  <celier@adacore.com>
11176
11177         * vms_data.ads: Add documentation for new style keyword
11178         OVERRIDING_INDICATORS
11179
11180 2009-04-08  Robert Dewar  <dewar@adacore.com>
11181
11182         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
11183         spec is in the current unit.
11184
11185 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11186
11187         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
11188         presence of entity.
11189
11190         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
11191
11192 2009-04-08  Vincent Celier  <celier@adacore.com>
11193
11194         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
11195
11196 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11197
11198         * checks.ads: Minor reformatting
11199
11200 2009-04-08  Robert Dewar  <dewar@adacore.com>
11201
11202         * gnat_rm.texi: Update documentation of pragma Obsolescent
11203         
11204         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
11205         be omitted, and allow Entity parameter to be omitted.
11206
11207 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11208
11209         * exp_util.adb: Minor comment fix
11210
11211 2009-04-08  Robert Dewar  <dewar@adacore.com>
11212
11213         * g-socket.ads: Fix bad syntax in pragma Obsolescent
11214
11215         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
11216         argument with no identifier following one that has an identifier. Was
11217         missed in some cases.
11218
11219         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
11220         identifier.
11221         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
11222
11223         * snames.adb: Add Name_Policy
11224
11225         * snames.ads: Add Name_Policy
11226
11227 2009-04-08  Robert Dewar  <dewar@adacore.com>
11228
11229         * gnat_rm.texi: Minor reformatting
11230
11231         * par-ch2.adb: Minor reformatting
11232
11233 2009-04-08  Robert Dewar  <dewar@adacore.com>
11234
11235         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
11236
11237 2009-04-08  Robert Dewar  <dewar@adacore.com>
11238
11239         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
11240         properly in the presence of Remote_Types or Remote_Call_Interface.
11241
11242         * sem_util.adb: Add comment.
11243
11244 2009-04-08  Robert Dewar  <dewar@adacore.com>
11245
11246         * ug_words: Add /ASSUME_VALID for -gnatB
11247
11248         * vms_data.ads: Add /ASSUME_VALID for -gnatB
11249
11250         * sem_cat.adb: Add clarifying commment
11251
11252         * a-direio.ads (Bytes): Make sure value is non-zero
11253
11254 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11255
11256         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
11257         that does not come from source, check for a rewritten function call in
11258         prefixed notation before other forms of rewriting.
11259
11260 2009-04-08  Robert Dewar  <dewar@adacore.com>
11261
11262         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
11263         these are now obsolescent units used only for bootrapping with an
11264         older compiler.
11265
11266 2009-04-08  Robert Dewar  <dewar@adacore.com>
11267
11268         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
11269
11270         * sem_ch3.adb: Minor comment updates
11271
11272 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11273
11274         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
11275         that come from source.
11276
11277 2009-04-08  Tristan Gingold  <gingold@adacore.com>
11278
11279         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
11280         * gcc-interface/decl.c (prepend_attributes): New case
11281         Pragma_Thread_Local_Storage.
11282         * gcc-interface/utils.c (process_attributes): New case
11283         ATTR_THREAD_LOCAL_STORAGE.
11284
11285 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11286
11287         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
11288         by the back-end if it contains a call to a subprogram without a
11289         previous spec that is declared in the same unit.
11290
11291         * errout.ads: Update comments on uses of dirs
11292
11293 2009-04-08  Robert Dewar  <dewar@adacore.com>
11294
11295         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
11296
11297 2009-04-08  Tristan Gingold  <gingold@adacore.com>
11298
11299         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
11300         variables.
11301         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
11302
11303 2009-04-08  Vincent Celier  <celier@adacore.com>
11304
11305         * prj-nmsc.adb:
11306         (Add_Source): Add the mapping of the unit name to source file name in
11307         the Unit_Sources_HT hash table, if the unit name is not null.
11308
11309         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
11310
11311         * prj.ads (Unit_Sources_Htable): New hash table instantiation
11312         (Project_Tree_Data): New component Unit_Sources_HT
11313
11314 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11315
11316         * sem_ch8.adb: Minor reformatting.
11317         Minor code reorganization.
11318
11319 2009-04-08  Robert Dewar  <dewar@adacore.com>
11320
11321         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
11322         snames.ads, freeze.adb, par-prag.adb: Add implementation of
11323         pragma Thread_Local_Storage, setting new flag
11324         Has_Pragma_Thread_Local_Storage in corresponding entities.
11325
11326 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11327
11328         * prj.ads: Update comment on switches file
11329
11330         * prj-nmsc.adb: Code clean up. Use renaming clauses.
11331
11332 2009-04-08  Robert Dewar  <dewar@adacore.com>
11333
11334         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
11335
11336 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11337
11338         * ali-util.adb: Minor comment fix
11339
11340 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11341
11342         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
11343         appears in a context clause, and the enclosing package is mentioned in
11344         a limited_with_clause.
11345         (Use_One_Type): Reject clause if type is still incomplete.
11346
11347 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11348
11349         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
11350         avoid copies of Source_Data variables when possible, since these
11351         involve calls to memcpy() which are done too many times.
11352
11353 2009-04-08  Robert Dewar  <dewar@adacore.com>
11354
11355         * exp_ch4.adb (Expand_Concatenate): Clean up code
11356
11357 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11358
11359         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
11360         type for the case of concatenating a constrained array indexed by an
11361         enumeration type.
11362
11363 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11364
11365         * sem_ch6.adb (Check_Conformance): when checking conformance of an
11366         operation that overrides an abstract operation inherited from an
11367         interface, return False if only one of the controlling formals is an
11368         access parameter.
11369
11370 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11371
11372         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
11373         mandated by AI05-105.
11374
11375 2009-04-07  Vincent Celier  <celier@adacore.com>
11376
11377         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
11378
11379 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11380
11381         * usage.adb: Minor fix in usage message.
11382
11383         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
11384         match declaration; the correct subtype is Node_Id, not Entity_Id,
11385         because the expected node kind is an identifier, not a defining
11386         identifier.
11387
11388         * switch-c.adb: Minor reformatting.
11389
11390         * uintp.adb: Minor reformatting.
11391
11392 2009-04-07  Robert Dewar  <dewar@adacore.com>
11393
11394         * exp_ch13.adb: Minor reformatting
11395
11396 2009-04-07  Robert Dewar  <dewar@adacore.com>
11397
11398         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
11399         against missing parent.
11400
11401 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11402
11403         * xoscons.adb: Minor reformatting
11404
11405 2009-04-07  Robert Dewar  <dewar@adacore.com>
11406
11407         * rtsfind.ads: Remove obsolete string concatenation entries
11408
11409 2009-04-07  Robert Dewar  <dewar@adacore.com>
11410
11411         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
11412
11413 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11414
11415         * sem_ch10.adb (Check_Body_Required): Handle properly imported
11416         subprograms.
11417
11418 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
11419
11420         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
11421         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
11422         is of a scalar or string type then suppress the setting of the
11423         expression to Empty.
11424
11425         * freeze.adb (Warn_Overlay): Also emit the warnings about default
11426         initialization for the cases of scalar and string objects when
11427         Init_Or_Norm_Scalars is True.
11428
11429 2009-04-07  Bob Duff  <duff@adacore.com>
11430
11431         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
11432
11433 2009-04-07  Bob Duff  <duff@adacore.com>
11434
11435         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
11436         Form parameter of Text_Translation=No allows binary mode for Text_IO
11437         files.
11438
11439         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
11440
11441 2009-04-07  Javier Miranda  <miranda@adacore.com>
11442
11443         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
11444         processing the bounds for bit packed arrays or VM target machines.
11445
11446 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11447
11448         * g-sothco.ads (Int_Access): Remove extraneous access type (use
11449         anonymous access instead).
11450         (Get_Socket_From_Set): Fix incorrectly reverted formals
11451         Last and Socket to match the underlying C routine.
11452
11453         * g-socket.adb, g-socket.ads
11454         (Get): Use named parameter associations instead of positional ones in
11455         call go Get_Socket_From_Set, since this routine has two formals of the
11456         same type.
11457         (Image): New procedure.
11458
11459         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11460         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
11461         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
11462         for type of Arg formal.
11463
11464         * sem_warn.adb: Minor reformatting
11465
11466 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11467
11468         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
11469         over record components.
11470
11471 2009-04-07  Nicolas Roche  <roche@adacore.com>
11472
11473         * gsocket.h:
11474         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
11475         has disappeared between VxWorks 6.4 and VxWorks 6.5
11476         In RTP mode use time.h instead of times.h
11477
11478 2009-04-07  Robert Dewar  <dewar@adacore.com>
11479
11480         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
11481
11482 2009-04-07  Kevin Pouget  <pouget@adacore.com>
11483
11484         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
11485         expanded code for constrained types.
11486
11487 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11488
11489         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
11490         AI05-105: in an object renaming declaration, anonymousness is a name
11491         resolution rule.
11492
11493         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
11494
11495 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11496
11497         * g-comlin.adb (Expansion): Fix old regression: also return directory
11498         names when matching.
11499
11500 2009-04-07  Robert Dewar  <dewar@adacore.com>
11501
11502         * exp_ch4.adb:
11503         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
11504         (Expand_Concatenate): New name for Expand_Concatenate_String which has
11505         been rewritten to handle all types.
11506         (Expand_Concatenate_Other): Remove
11507
11508 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11509
11510         * lib-xref.adb (Generate_Reference): A default subprogram in an
11511         instance appears within the tree for the instance, but generates an
11512         implicit reference in the ALI.
11513
11514 2009-04-07  Javier Miranda  <miranda@adacore.com>
11515
11516         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
11517         derived type that has discriminants, propagate the list of interfaces
11518         to the corresponding new base type. In addition, propagate also
11519         attribute Limited_Present (found working in this patch).
11520
11521 2009-04-07  Robert Dewar  <dewar@adacore.com>
11522
11523         * exp_ch4.adb: Rewrite concatenation expansion.
11524
11525 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11526
11527         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
11528         relevant to packages.
11529
11530 2009-04-07  Robert Dewar  <dewar@adacore.com>
11531
11532         * sem_attr.adb: Minor reformatting
11533
11534         * sem_ch6.adb: Minor reformatting
11535
11536 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11537
11538         * socket.c: Add more protections against S_resolvLib_ macros.
11539
11540 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11541
11542         * sem_attr.adb: Minor reformatting
11543
11544 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11545
11546         * sem_ch6.adb (New_Overloaded_Entity): New predicate
11547         Is_Overriding_Alias to handle properly types that inherit two homonym
11548         operations that have distinct dispatch table entries.
11549
11550 2009-04-07  Emmanuel Briot  <briot@adacore.com>
11551
11552         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
11553         looking for the end of a parenthesis group
11554
11555 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11556
11557         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
11558
11559         * socket.c Don't use resolvLib_ macros if not defined.
11560
11561 2009-04-07  Robert Dewar  <dewar@adacore.com>
11562
11563         * g-socket.adb: Minor reformatting.
11564
11565         * g-socthi-mingw.adb: Minor reformatting
11566
11567         * g-sothco.ads: Minor reformatting
11568
11569         * exp_ch4.adb:
11570         (Expand_Concatenate_String): Complete rewrite to generate efficient code
11571         inline instead of relying on external library routines.
11572
11573         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
11574         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
11575         obsolescent
11576
11577 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11578
11579         * sem_attr.adb:
11580         (Eval_Attribute): for attributes of array objects that are not strings,
11581         attributes are not static if nominal subtype of object is unconstrained.
11582
11583 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11584
11585         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
11586         operations for a type T in an instance do not override each other,
11587         when T is derived from a formal private type, the corresponding
11588         operations inherited by a type derived from T outside
11589         of the instance do not override each other either.
11590
11591 2009-04-07  Robert Dewar  <dewar@adacore.com>
11592
11593         (Osint.Fail): Change calling sequence to have one string arg
11594         (Make.Make_Failed): Same change
11595         All callers are adjusted to use concatenation
11596
11597 2009-04-07  Robert Dewar  <dewar@adacore.com>
11598
11599         * exp_ch4.adb: Fix documentation typo
11600
11601 2009-04-07  Robert Dewar  <dewar@adacore.com>
11602
11603         * tbuild.ads: Minor reformatting
11604
11605 2009-04-07  Javier Miranda  <miranda@adacore.com>
11606
11607         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
11608         when compiling under ZFP runtime.
11609
11610 2009-04-07  Robert Dewar  <dewar@adacore.com>
11611
11612         * g-comlin.adb: Minor reformatting
11613
11614 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11615
11616         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11617         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
11618         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
11619         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
11620
11621 2009-04-07  Robert Dewar  <dewar@adacore.com>
11622
11623         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
11624
11625         * opt.ads (Sprint_Line_Limit): New parameter
11626         
11627         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
11628         
11629         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
11630         
11631         * usage.adb: Output information for -gnatGnn -gnatDnn
11632
11633 2009-04-07  Robert Dewar  <dewar@adacore.com>
11634
11635         * make.adb: Minor reformatting
11636
11637 2009-04-07  Robert Dewar  <dewar@adacore.com>
11638
11639         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
11640
11641 2009-04-07  Robert Dewar  <dewar@adacore.com>
11642
11643         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
11644
11645 2009-04-07  Robert Dewar  <dewar@adacore.com>
11646
11647         * checks.adb:
11648         Remove Assume_Valid parameter from In_Subrange_Of calls
11649         
11650         * sem_eval.adb:
11651         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11652         (Is_In_Range): Remove incorrect use of Assume_Valid
11653         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
11654         
11655         * sem_eval.ads:
11656         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11657         (Is_In_Range): Documentation cleanup
11658         (Is_Out_Of_Range): Documentation cleanup
11659
11660         * gnat_rm.texi:
11661         Add documentation for Assume_No_Invalid_Values pragma
11662
11663         * sem_ch12.adb: Minor reformatting
11664
11665         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
11666
11667         * sem_prag.adb: Improve error message.
11668
11669         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
11670         LF/CR no longer recognized as line terminator
11671
11672         * switch.ads: Minor documentation improvement
11673
11674         * vms_data.ads: Minor reformatting
11675
11676 2009-04-07  Robert Dewar  <dewar@adacore.com>
11677
11678         * checks.adb (Determine_Range): Add Assume_Valid parameter
11679         
11680         * checks.ads (Determine_Range): Add Assume_Valid parameter
11681         
11682         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
11683          Is_Null_Loop to suppress warnings in a loop body.
11684         
11685         * exp_ch4.adb:
11686         (Rewrite_Comparison): Major rewrite to accomodate invalid values
11687         
11688         * exp_ch5.adb:
11689         (Expand_N_Loop_Statement): Delete loop known not to execute
11690         
11691         * opt.ads:
11692         (Assume_No_Invalid_Values): Now set to False, and as documented, this
11693          fully enables the proper handling of invalid values.
11694         
11695         * sem_attr.adb:
11696         New calling sequence for Is_In_Range
11697         
11698         * sem_ch5.adb:
11699         (Analyze_Iteration_Scheme): Accomodate possible invalid values
11700          in determining if a loop range is null.
11701         
11702         * sem_eval.adb:
11703         (Is_In_Range): Add Assume_Valid parameter
11704         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11705         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
11706          also to do more accurate and complete range analysis, catching more
11707          cases.
11708         
11709         * sem_eval.ads:
11710         (Is_In_Range): Add Assume_Valid parameter
11711         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11712         
11713         * sem_util.adb:
11714         New calling sequence for Is_In_Range
11715         
11716         * sinfo.adb:
11717         (Suppress_Loop_Warnings): New flag
11718         
11719         * sinfo.ads:
11720         (Is_Null_Loop): Update documentation
11721         (Suppress_Loop_Warnings): New flag
11722         
11723         * gnat_ugn.texi: Document -gnatB switch
11724
11725 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11726
11727         * gnatvsn.ads: Bump version number.
11728
11729 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11730
11731         * exp_ch3.adb: Minor rewording (comments)
11732
11733 2009-04-07  Robert Dewar  <dewar@adacore.com>
11734
11735         * exp_disp.adb: Minor reformatting
11736
11737 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11738
11739         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
11740         underlying type.
11741         * gcc-interface/trans.c (lvalue_required_p): Likewise.
11742
11743 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11744
11745         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
11746         Do not convert the result.  Remove obsolete comment.
11747
11748 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11749
11750         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
11751         DECL_CONTEXT.
11752         (Subprogram_Body_to_gnu): Fix pasto.
11753
11754 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11755
11756         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
11757         (void_type_decl_node): Remove.
11758         (init_gigi_decls): Likewise.
11759         (gnat_install_builtins): Declare.
11760         (record_builtin_type): Likewise.
11761         (create_type_stub_decl): Likewise.
11762         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
11763         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
11764         artificial.
11765         <E_Array_Subtype>: Use the index types, not only their name, in the
11766         record giving the names of the bounds, if any.
11767         For a packed array type, make it artificial only if the base type
11768         was artificial as well.  Remove redundant statement.
11769         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
11770         dummy types.
11771         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
11772         (rest_of_type_decl_compilation_no_defer): Likewise.
11773         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
11774         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
11775         and use create_type_stub_decl to build it.
11776         (gnat_pushdecl): Rewrite condition.
11777         (gnat_install_builtins): Remove bogus declaration.
11778         (record_builtin_type): New function.
11779         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
11780         of types.
11781         (create_type_stub_decl): New function.
11782         (create_type_decl): Assert that the type is not dummy.  If the type
11783         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
11784         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
11785         (build_vms_descriptor): Likewise.
11786         (init_gigi_decls): Delete and move bulk of code to...
11787         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
11788         (emit_range_check): Add gnat_node parameter.
11789         (emit_index_check): Likewise.
11790         (emit_check): Likewise.
11791         (build_unary_op_trapv): Likewise.
11792         (build_binary_op_trapv): Likewise.
11793         (convert_with_check): Likewise.
11794         (Attribute_to_gnu): Adjust calls for above changes.
11795         (call_to_gnu): Likewise.
11796         (gnat_to_gnu): Likewise.
11797         (assoc_to_constructor): Likewise.
11798         (pos_to_constructor): Likewise.
11799         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
11800         (process_type): Do not create TYPE_DECL for dummy types.
11801
11802 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11803
11804         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
11805         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
11806         * gcc-interface/utils.c: Fix comments.
11807
11808 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11809
11810         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
11811         move around.
11812         (gnat_to_gnu_type): Move around.
11813         (get_unpadded_type): Likewise.
11814         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
11815         Tidy comments.
11816
11817 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11818
11819         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
11820         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
11821         (call_to_gnu): Invoke it instead of manually checking.
11822
11823 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
11824
11825         * gcc-interface/utils.c (finish_record_type): Force structural equality
11826         checks if the record type is discriminated.
11827
11828 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
11829
11830         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
11831         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
11832         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
11833         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
11834         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
11835         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
11836         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
11837
11838 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
11839
11840         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
11841         of TREE_CONSTANT_OVERFLOW.
11842
11843 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
11844
11845         PR rtl-optimization/323
11846         * gcc-interface/misc.c (gnat_post_options): Set
11847         flag_excess_precision_cmdline.  Give an error for
11848         -fexcess-precision=standard for processors where the option is
11849         significant.
11850
11851 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
11852
11853         PR c/39323
11854         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
11855         on bit_align.
11856
11857 2009-03-11  Olivier Hainque  <hainque@adacore.com>
11858
11859         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
11860         checks processing, remove unintended TREE_TYPE walk on index type.
11861
11862 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
11863
11864         PR ada/39264
11865         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
11866         call make_packable_type on fat pointer types.
11867         <E_Array_Subtype>: Likewise.
11868         <E_Record_Subtype>: Call make_packable_type on all record types
11869         except for fat pointer types.
11870         (make_packable_type): Likewise.
11871         (gnat_to_gnu_field): Likewise.
11872
11873 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
11874
11875         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
11876         EH_MECHANISM change made on 2007-12-06.
11877
11878 2009-02-26  Andreas Schwab  <schwab@suse.de>
11879
11880         PR ada/39172
11881         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
11882         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
11883         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
11884         (AWK): Substitute.
11885         (target_cpu_default): Substitute.
11886
11887 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
11888
11889         PR ada/39221
11890         * a-teioed.adb (Expand): Fix Result overflow.
11891
11892 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
11893
11894         * gcc-interface/Makefile.in: Fix multilib handling for
11895         sparc64-linux.
11896
11897 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11898
11899         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
11900
11901 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
11902
11903         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
11904
11905 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
11906
11907         * gcc-interface/deftarg.c: Remove.
11908
11909 2009-02-10  Olivier Hainque  <hainque@adacore.com>
11910             Eric Botcazou  <ebotcazou@adacore.com>
11911
11912         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
11913         (copy_alias_set): Rename into...
11914         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
11915         underlying array of unconstrained arrays for the new type as well.
11916         If the old and new alias sets don't conflict, make one a subset of
11917         the other as per the OP parameter.
11918         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
11919         <E_Record_Type>: Do not copy the alias set for derived types.
11920         For all types, make the alias set of derived types a superset of
11921         that of their parent type.
11922         (make_aligning_type): Adjust calls to copy_alias_set.
11923         (make_packable_type): Likewise.
11924         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
11925         Check for alias set conflict instead of strict equality to issue the
11926         warning.
11927
11928 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
11929
11930         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
11931         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
11932         (copy_alias_set): Assert that arrays have the same aliasing settings.
11933         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
11934
11935 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
11936
11937         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
11938         Set TYPE_NONALIASED_COMPONENT on the array type.
11939
11940 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
11941
11942         * gcc-interface/Makefile.in: Fix mipsel linux handling.
11943
11944 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
11945
11946         * gcc-interface/Makefile.in: Fix multilib handling for
11947         powerpc64-linux.
11948
11949 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
11950
11951         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
11952         only useless conversions around renamed objects.
11953
11954 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
11955
11956         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
11957         the _Tag field before any discriminants in the field list.
11958         (components_to_record): Remove obsolete comment.
11959
11960
11961 \f
11962 Copyright (C) 2009 Free Software Foundation, Inc.
11963
11964 Copying and distribution of this file, with or without modification,
11965 are permitted in any medium without royalty provided the copyright
11966 notice and this notice are preserved.