OSDN Git Service

2009-11-30 Matthew Heaney <heaney@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2009-11-30  Matthew Heaney  <heaney@adacore.com>
2
3         * a-coinve.adb (Insert): Move exception handler closer to point where
4         exception can occur.
5         Minor reformatting & comment additions.
6
7 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
8
9         * freeze.adb (Freeze_Entity): Disable warning on 'Foreign caller must
10         pass bounds' for VM targets, not relevant.
11
12 2009-11-30  Robert Dewar  <dewar@adacore.com>
13
14         * sem_util.adb (Wrong_Type): Diagnose additional case of modular
15         missing parens.
16         * a-tiinio.adb, a-wtinio.adb, a-ztinio.adb: Minor reformatting
17
18         * exp_util.adb (Kill_Dead_Code): Suppress warning for some additional
19         cases.
20
21         * sem_warn.adb (Set_Warning_Flag): Clean up gnatwA list and ensure
22         completeness.
23         (Set_Dot_Warning_Flag): Ditto for -gnatw.e
24         (Set_Dot_Warning_Flag): Implement -gnbatw.v/w.V
25         * usage.adb: Add lines for -gnatw.v/w.V
26
27 2009-11-30  Emmanuel Briot  <briot@adacore.com>
28
29         * make.adb (Check_Standard_Library): use Full_Source_Name instead of
30         direct call to Find_File. The former provides caching of the results, so
31         might be more efficient
32         (Start_Compile_If_Necessary): Add comment on possible optimization,
33         not done for now.
34
35 2009-11-30  Thomas Quinot  <quinot@adacore.com>
36
37         * g-sechas.adb: Minor reformatting
38
39 2009-11-30  Matthew Heaney  <heaney@adacore.com>
40
41         * a-crbtgo.adb (Delete_Fixup): Add comments explaining why predicates
42         were removed.
43         * a-cdlili.adb (Vet): Remove always-true predicates.
44
45 2009-11-30  Thomas Quinot  <quinot@adacore.com>
46
47         * s-sechas.adb, s-sechas.ads, s-shshco.adb, s-shshco.ads, s-shsh64.adb,
48         s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, s-shsh32.adb, s-shsh32.ads,
49         s-sehash.adb, s-sehash.ads, g-sechas.adb, g-sechas.ads, g-shshco.adb,
50         g-shshco.ads, g-md5.ads, g-sha256.ads, g-shsh64.adb, g-shsh64.ads,
51         g-sehamd.adb, g-sehamd.ads, g-sha512.ads, g-sha1.ads, Makefile.rtl,
52         g-sha224.ads, g-shsh32.adb, g-shsh32.ads, g-sha384.ads, g-sehash.adb,
53         g-sehash.ads: Rename System.Secure_Hashes to GNAT.Secure_Hashes.
54
55 2009-11-30  Robert Dewar  <dewar@adacore.com>
56
57         * osint.ads: Minor comment update.
58
59 2009-11-30  Thomas Quinot  <quinot@adacore.com>
60
61         * s-sechas.adb: Fix swapping error in previous checkin.
62         * g-md5.ads, g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads,
63         g-sha384.ads: Add missing documentation.
64
65 2009-11-30  Robert Dewar  <dewar@adacore.com>
66
67         * g-sha256.ads, s-sehamd.ads, s-sehamd.adb, g-sha512.ads, g-sha224.ads,
68         g-sha384.ads: Minor reformatting
69
70 2009-11-30  Emmanuel Briot  <briot@adacore.com>
71
72         * adaint.h (file_attributes): Reduce size of the structure, so that it
73         is less costly to store in records.
74         * makeutl.adb:
75         (Check_Source_Info_In_ALI): use Full_Source_Name instead of a direct
76         call to Find_File, since the former provides caching when appropriate,
77         which limits the number of system calls in some cases.
78         * osint.ads, prj.ads (Source_Data): do not store directly the timestamp,
79         but the file attributes since we also need access to the size of the
80         ALI file to parse it. This gives an opportunity for saving system calls
81         on Unix systems.
82
83 2009-11-30  Robert Dewar  <dewar@adacore.com>
84
85         * sem_prag.adb, s-sechas.ads, s-sechas.adb: Minor reformatting.
86
87 2009-11-30  Gary Dismukes  <dismukes@adacore.com>
88
89         * sem_prag.adb (Process_Convention): Change formal E to Ent. In the
90         case where the pragma's entity argument is a renaming, return the
91         entity denoted by the renaming rather than the renamed entity. Loop
92         through the homonyms of the original argument entity, rather than the
93         homonyms of any renamed entity. Correct call to Generate_Entity to
94         pass the homonym.
95
96 2009-11-30  Vincent Celier  <celier@adacore.com>
97
98         * impunit.adb: Add packages that were added to the GNAT library:
99         GNAT.SHA224, GNAT.SHA256, GNAT.SHA384 and GNAT.SHA512.
100         * s-sechas.adb (Fill_Buffer_Copy): Fixes incorrect slice index
101
102 2009-11-30  Robert Dewar  <dewar@adacore.com>
103
104         * exp_ch3.adb: Minor reformatting
105         * g-md5.ads, g-sha1.ads: Add comment.
106
107 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
108
109         * gcc-interface/Makefile.in: Remove handling of libgccprefix, no longer
110         needed.
111
112 2009-11-30  Pascal Obry  <obry@adacore.com>
113
114         * expect.c: Fix cast to avoid warnings in x86-64 Windows.
115
116 2009-11-30  Thomas Quinot  <quinot@adacore.com>
117
118         * gnat_rm.texi, s-sechas.adb, s-sechas.ads, s-shshco.adb,
119         s-shshco.ads, g-md5.adb, g-md5.ads, g-sha256.ads, s-shsh64.adb,
120         s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, g-sha512.ads, g-sha1.adb,
121         g-sha1.ads, Makefile.rtl, g-sha224.ads, g-sha384.ads, s-shsh32.adb,
122         s-shsh32.ads, s-sehash.adb, s-sehash.ads: Reimplementation of GNAT.MD5
123         and GNAT.SHA1 to factor shared code and avoid unnecessary stack copies.
124         Also introduce new functions SHA-{224,256,384,512}
125
126 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
127
128         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve comment for
129         the Value_Type case.
130
131 2009-11-30  Thomas Quinot  <quinot@adacore.com>
132
133         * a-textio.adb: Minor reformatting
134
135 2009-11-30  Pascal Obry  <obry@adacore.com>
136
137         * adaint.c: Fix bug in passing parameter.
138         * expect.c: Include io.h to get definition of _open_osfhandle
139
140 2009-11-30  Javier Miranda  <miranda@adacore.com>
141
142         * exp_ch6.adb, sem_scil.adb (Adjust_SCIL_Node): Add missing management
143         of N_Unchecked_Type_Conversion nodes when searching for SCIL nodes.
144         (Expand_Call): Adjust decoration of SCIL node associated with relocated
145         function call.
146
147 2009-11-30  Emmanuel Briot  <briot@adacore.com>
148
149         * prj-env.adb (Add_To_Source_Path): Preserve casing of directories
150
151 2009-11-30  Vincent Celier  <celier@adacore.com>
152
153         * opt.ads (No_Split_Units): New flag initialized to False
154
155 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
156
157         * exp_ch7.adb (Needs_Finalization): Add comments.
158         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve handling of
159         CIL Value types.
160
161 2009-11-30  Robert Dewar  <dewar@adacore.com>
162
163         * osint.adb, a-rttiev.adb: Minor reformatting.
164
165 2009-11-30  Robert Dewar  <dewar@adacore.com>
166
167         * gnat_rm.texi: Remove list of warning letters, and refer instead to
168         using gnatmake to get a brief list.
169
170         * debug.adb: Document -gnatd.i to disable pragma Warnings
171         * par-prag.adb, sem_prag.adb: Recognize -gnatd.i to disable Warnings
172         pragma.
173         * vms_data.ads: Add /NOWARNINGS_PRAGMS for -gnatd.i
174         
175 2009-11-30  Geert Bosch  <bosch@adacore.com>
176
177         * a-ngelfu.adb (Sin): Correct spelling of sine in comment.
178
179 2009-11-30  Vincent Celier  <celier@adacore.com>
180
181         * gnatls.adb: Do not call Get_Target_Parameters in Verbose_Mode, as it
182         is not needed and gnatls fails when called with -v -nostdinc.
183
184 2009-11-30  Emmanuel Briot  <briot@adacore.com>
185
186         * osint.adb, osint.ads (File_Time_Stamp): new subprogram.
187
188 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
189
190         * gnat_rm.texi, gnat_ugn.texi: Document new syntax for pragma Annotate
191
192 2009-11-30  Robert Dewar  <dewar@adacore.com>
193
194         * scans.ads (Wide_Wide_Character_Found): New flag
195         * scn.adb (Post_Scan): Set new flag Has_Wide_Wide_Character
196         * scng.adb (Set_String): Set new flag Wide_Wide_Character_Found
197         (Set_String): Fix failure to reset Wide_Character_Found
198         * sinfo.adb (Has_Wide_Wide_Character): New flag in N_String_Literal
199         * sinfo.ads (Has_Wide_Wide_Character): New flag in N_String_Literal
200         * a-ngelfu.adb: Minor reformatting & code reorganization.
201         * usage.adb: Fix typo in -gnatw.W line
202
203 2009-11-30  Robert Dewar  <dewar@adacore.com>
204
205         * osint.adb, prj-nmsc.adb, sem_prag.adb, sem_util.adb: Minor
206         reformatting.
207         * csinfo.adb: Terminate run if improper use of reserved flag
208         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): Don't use reserved
209         Flag12, used Flag13 instead.
210         
211 2009-11-30  Vincent Celier  <celier@adacore.com>
212
213         * gnatcmd.adb (Check_Files): Recognize documented switches that have a
214         separate parameter.
215
216 2009-11-30  Robert Dewar  <dewar@adacore.com>
217
218         * sem_util.ads: Minor reformatting
219         * errout.adb: Minor reformatting
220         Minor code reorganization (use N_Subprogram_Specification to simplify)
221         * exp_ch7.adb: Add comment.
222
223 2009-11-30  Thomas Quinot  <quinot@adacore.com>
224
225         * put_scos.adb (Put_SCOs): Do not generate a SCO unit header for a unit
226         that has no SCOs.
227         * scos.ads: Minor reformatting
228
229 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
230
231         * sem_prag.adb: Second unanalyzed parameter of Annotate is optional.
232
233 2009-11-30  Eric Botcazou  <ebotcazou@adacore.com>
234
235         * init.c (__gnat_adjust_context_for_raise, Linux version): Add guard
236         for null PC saved in the context.
237
238 2009-11-30  Hristian Kirtchev  <kirtchev@adacore.com>
239
240         * a-calend.adb (Day_Of_Week): Rewritten. The routine determines the
241         number of days from the Ada Epoch to the input date while ensuring that
242         both dates are in the same time zone.
243
244 2009-11-30  Emmanuel Briot  <briot@adacore.com>
245
246         * clean.adb ("-eL"): Also set Follow_Links_For_Dirs, to match what is
247         done in other project-aware tools like gnatmake and gprbuild.
248
249 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
250
251         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Take care of CIL
252         ValueTypes.
253         * exp_ch7.adb (Needs_Finalization): Do not finalize CIL valuetypes.
254         * sem_util.adb (Is_Value_Type): Protect against invalid calls to Chars
255         (Is_Delegate): New method used for CIL.
256         * sem_util.ads (Is_Delegate): New method for CIL handling.
257         (Is_Value_Type): Improve documentation.
258
259 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
260
261         * errout.adb (Unwind_Internal_Type): Improve error reporting if the
262         type is an anonymous access to subprogram that is the type of a formal
263         in a subprogram spec.
264
265 2009-11-30  Vincent Celier  <celier@adacore.com>
266
267         * prj-nmsc.adb (Check_Interfaces): In a Stand-Alone Library project, if
268         attribute Interfaces is not declared, then Library_Interface should
269         define the interfaces.
270
271 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
272
273         * sem_prag.adb: New semantics for Annotate.
274
275 2009-11-30  Tristan Gingold  <gingold@adacore.com>
276
277         * gcc-interface/Makefile.in: Do not link with -static-libgcc on Darwin.
278
279 2009-11-30  Emmanuel Briot  <briot@adacore.com>
280
281         * gnat_ugn.texi: Extend doc for -eL
282
283 2009-11-30  Vincent Celier  <celier@adacore.com>
284
285         * osint.adb (Executable_Name (File_Name_Type)): Put the Name in the
286         Name_Buffer before testing for a dot in the Name.
287
288 2009-11-30  Vincent Celier  <celier@adacore.com>
289
290         * prj-part.adb (Project_Path_Name_Of): Resolve links for final result
291         if -eL has been specified.
292
293 2009-11-30  Vincent Celier  <celier@adacore.com>
294
295         * osint.adb (Executable_Name): Test the name instead of the name buffer
296         to check if there is a dot in the given name.
297
298 2009-11-30  Sergey Rybin  <rybin@adacore.com>
299
300         * gnat_ugn.texi: Update gnatcheck doc.
301
302 2009-11-30  Robert Dewar  <dewar@adacore.com>
303
304         * sem_ch3.adb, sem_disp.adb, usage.adb: Minor reformatting
305
306 2009-11-30  Vasiliy Fofanov  <fofanov@adacore.com>
307
308         * gnat_ugn.texi: Minor editing.
309
310 2009-11-30  Emmanuel Briot  <briot@adacore.com>
311
312         * prj-nmsc.adb (Search_Directories): when -eL was not specified, assume
313         that no directory matches the naming scheme for sources.
314
315 2009-11-30  Emmanuel Briot  <briot@adacore.com>
316
317         * prj.adb, prj.ads, prj-nmsc.adb (Has_Multi_Unit_Sources): New field in
318         project_data.
319
320 2009-11-30  Vincent Celier  <celier@adacore.com>
321
322         * osint.adb (Executable_Name): Correctly decide if the executable
323         suffix should be added when Only_If_No_Suffix is True.
324
325 2009-11-30  Robert Dewar  <dewar@adacore.com>
326
327         * frontend.adb, gnatlink.adb, prj-conf.adb, prj-tree.adb,
328         prj-tree.ads: Minor reformatting
329
330 2009-11-30  Vincent Celier  <celier@adacore.com>
331
332         * gnatlink.adb (Process_Args): Call Executable_Name on argument of -o
333         with Only_If_No_Suffix set to True.
334         * osint.adb (Executable_Name): Do not add executable suffix if there is
335         already a suffix and Only_If_No_Suffix is True.
336         * osint.ads (Executable_Name): New Boolean parameter Only_If_No_Suffix,
337         defaulted to False.
338
339 2009-11-30  Javier Miranda  <miranda@adacore.com>
340
341         * exp_atag.adb (Build_TSD): Change argument name because the actual is
342         now the address of a tag (instead of the tag). Update implementation
343         accordingly.
344         (Build_CW_Membership): New implementation. Converted into a procedure
345         because it has an additional out mode parameter. Its implementation has
346         been rewritten to improve the generated code but also to facilitate
347         referencing the relocated object node in the caller.
348         * exp_atag.ads (Build_CW_Membership): Update profile and documentation.
349         * sinfo.ads (N_SCIL_Membership_Test) New_Node.
350         (SCIL_Tag_Value): New field of N_SCIL_Membership_Test nodes.
351         (Is_Syntactic_Field): Add entry of new node.
352         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
353         * sinfo.adb (SCIL_Related_Node, SCIL_Entity): Update assertions to
354         handle N_SCIL_Membership_Test nodes.
355         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
356         * sem.adb (Analyze): Add null management for new node.
357         * sem_scil.adb (Find_SCIL_Node): Add null management for new node.
358         (Check_SCIL_Node): Add checks of N_SCIL_Membership_Test nodes.
359         * exp_ch4.adb (Tagged_Membership): Change profile from function to
360         procedure. Add generation of SCIL node associated with class-wide
361         membership test.
362         (Expand_N_In): Complete decoration of SCIL nodes.
363         * exp_intr.adb (Expand_Dispatching_Constructor_Call): Tune call to
364         Build_CW_Membership because its profile has been changed.
365         * exp_util.adb (Insert_Actions): Add null management for new node.
366         * sprint.adb (Sprint_Node_Actual): Handle new node.
367         * gcc-interface/trans.c Add no processing for N_SCIL_Membership_Test
368         nodes.
369         * gcc-interface/Make-lang.in: Update dependencies.
370
371 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
372
373         * opt.ads: New flags Init_Or_Norm_Scalars_Config,
374         Initialize_Scalars_Config, to capture the presence of the corresponding
375         pragmas in a configuration file.
376         * opt.adb (Register_, Save_, Set_, Restore_Opt_Configuration_Switches):
377         handle new flags so that they are restored for each compilation unit.
378         * frontend.adb: At the end of compilation, scan the context of the main
379         unit to recover occurrences of pragma Initialize_Scalars, to annotate
380         the ALI file accordingly.
381
382 2009-11-30  Vincent Celier  <celier@adacore.com>
383
384         * prj-tree.ads: Minor comment updates
385         * prj-tree.adb: Minor reformatting
386
387 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
388
389         * sem_ch3.adb (Derive_Subprogram): Indicate that an inherited
390         predefined control operation is hidden if the parent type is not
391         visibly controlled.
392         * sem_ch6.adb (Check_Overriding_Indicator): Do not report error if
393         overridden operation is not visible, as may be the case with predefined
394         control operations.
395         * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on
396         non-overriding control operation when type is not visibly controlled,
397         if the subprogram has an explicit overriding indicator.
398         * sem_util.ads, sem_util.adb (Is_Visibly_Controlled): Moved here from
399         sem_disp.adb.
400
401 2009-11-30  Emmanuel Briot  <briot@adacore.com>
402
403         * prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows
404         * prj-attr.ads: Minor comment updates
405
406 2009-11-30  Robert Dewar  <dewar@adacore.com>
407
408         * gnat_rm.texi: Document pragma Short_Circuit
409
410 2009-11-30  Emmanuel Briot  <briot@adacore.com>
411
412         * prj-conf.adb, prj-tree.adb, prj-tree.ads (Create_Attribute): Now set
413         the index either on the attribute or on its value, depending on the
414         kind of the attribute. Done to match recent changes in Prj.PP that were
415         not synchronized with this function.
416
417 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
418
419         * gcc-interface/Make-lang.in: Fix typo.
420         Update dependencies.
421
422 2009-11-30  Robert Dewar  <dewar@adacore.com>
423
424         * gnat_rm.texi: Add documentation for attribute Result.
425
426 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
427
428         * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
429         s-osinte-tru64.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads
430         (Get_Page_Size): Update comment since Get_Page_Size is now required.
431
432 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
433
434         * freeze.adb: Disable Warning on VM targets concerning C Imports, not
435         relevant.
436
437 2009-11-30  Bob Duff  <duff@adacore.com>
438
439         * sprint.adb (Source_Dump): Minor comment fix.
440         (Write_Itype): When writing a string literal subtype, use Expr_Value
441         instead of Intval to get the low bound.
442
443 2009-11-30  Vincent Celier  <celier@adacore.com>
444
445         * gnatlink.adb (Process_Args): Do not call Executable_Name on arguments
446         of switch -o.
447
448 2009-11-30  Robert Dewar  <dewar@adacore.com>
449
450         * exp_ch4.adb (Expand_N_Op_And): Implement pragma Short_Circuit_And_Or
451         (Expand_N_Op_Or): Implement pragma Short_Circuit_And_Or
452         * opt.ads (Short_Circuit_And_Or): New flag
453         * par-prag.adb: Add dummy entry for pragma Short_Circuit_And_Or
454         * sem_prag.adb: Implement pragma Short_Circuit_And_Or
455         * snames.ads-tmpl: Add entries for pragma Short_Circuit_And_Or
456
457 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
458
459         * s-taprop-posix.adb: Fix casing.
460         * s-osinte-tru64.adb: Complete previous check-in.
461
462 2009-11-30  Robert Dewar  <dewar@adacore.com>
463
464         * gnat_rm.texi: Document pragma Compiler_Unit
465         * s-bitops.adb, s-restri.adb, g-htable.adb, s-restri.ads,
466         a-comlin.ads, a-strhas.ads, s-strhas.adb, s-parame.adb,
467         s-parame.ads, a-clrefi.adb, a-clrefi.ads, a-ioexce.ads: Supply missing
468         Compiler_Unit pragmas.
469         * freeze.adb (Freeze_Entity): Improve message for 8-bit boolean passed
470         to C.
471
472 2009-11-30  Robert Dewar  <dewar@adacore.com>
473
474         * makeutl.adb, makeutl.ads, prj-proc.adb, prj.adb, prj.ads: Minor
475         reformatting.
476
477 2009-11-30  Thomas Quinot  <quinot@adacore.com>
478
479         * osint.adb: Minor reformatting
480
481 2009-11-30  Vincent Celier  <celier@adacore.com>
482
483         * makeutl.ads, makeutl.adb (Base_Name_Index_For): New function to get
484         the base name of a main without the extension, with an eventual source
485         index.
486         (Mains.Get_Index): New procedure to set the source index of a main
487         (Mains.Get_Index): New function to get the source index of a main
488         * prj-attr.adb: New attributes Config_Body_File_Name_Index,
489         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
490         Multi_Unit_Switches.
491         * prj-nmsc.adb (Process_Compiler): Takle into account new attributes
492         Config_Body_File_Name_Index, Config_Spec_File_Name_Index,
493         Multi_Unit_Object_Separator and Multi_Unit_Switches.
494         Allow only one character for Multi_Unit_Object_Separator.
495         * prj-proc.adb (Process_Declarative_Items): Take into account the
496         source indexes in indexes of associative array attribute declarations.
497         * prj.adb (Object_Name): New function to get the object file name for
498         units in multi-unit sources.
499         * prj.ads (Language_Config): New components Multi_Unit_Switches,
500         Multi_Unit_Object_Separator Config_Body_Index and Config_Spec_Index.
501         (Object_Name): New function to get the object file name for units in
502         multi-unit sources.
503         * snames.ads-tmpl: New standard names Config_Body_File_Name_Index,
504         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
505         Multi_Unit_Switches.
506
507 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
508
509         * s-tassta.adb: Update comment.
510
511 2009-11-30  Robert Dewar  <dewar@adacore.com>
512
513         * a-ngelfu.adb: Minor code reorganization.
514
515 2009-11-30  Robert Dewar  <dewar@adacore.com>
516
517         * osint.ads, prj.adb, prj.ads: Minor reformatting
518         * s-stchop.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
519         s-taprop-vms.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
520         s-strxdr.adb, s-taprop-irix.adb, s-osinte-hpux-dce.adb,
521         s-osinte-tru64.adb, s-taenca.adb, s-taprop-hpux-dce.adb, s-stausa.adb,
522         s-taprop-posix.adb: Minor code reorganization (use conditional
523         expressions).
524
525 2009-11-30  Bob Duff  <duff@adacore.com>
526
527         * g-sttsne-locking.adb (Copy_Service_Entry): Complete previous change.
528
529 2009-11-30  Bob Duff  <duff@adacore.com>
530
531         * socket.c: Add more accessor functions for struct servent (need
532         setters as well as getters).
533         * g-sothco.ads (Servent): Declare interfaces to C setter functions for
534         struct servent.
535         * g-sttsne-locking.adb (Copy_Service_Entry): Use setter functions for
536         struct servent.
537
538 2009-11-30  Robert Dewar  <dewar@adacore.com>
539
540         * s-stchop-vxworks.adb: Add comment.
541
542 2009-11-30  Emmanuel Briot  <briot@adacore.com>
543
544         * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Now acts
545         on the whole tree, to better share code with gprbuild.
546         (Length): New subprogram, to share code in gprbuild.
547         (Project_Data): Remove fields that are only needed when compiling a
548         project in gprbuild (where we use local variables instead)
549         * osint.adb, osint.ads: Added minor comment on memory management
550
551 2009-11-30  Sergey Rybin  <rybin@adacore.com>
552
553         * gnat_ugn.texi: Update gnatcheck doc.
554
555 2009-11-30  Robert Dewar  <dewar@adacore.com>
556
557         make.adb, prj-makr.adb, g-sothco.ads: Minor reformattting
558         * s-taprop-dummy.adb: Minor code reorganization (raise with msgs start
559         with lower case).
560         * i-vxwoio.adb, g-dirope.adb, g-sercom-linux.adb,
561         g-enblsp-vms-alpha.adb, g-regist.adb, s-imgcha.adb, s-tarest.adb,
562         s-taprop-mingw.adb, g-exctra.adb, g-expect.adb, g-comlin.adb,
563         g-debpoo.adb, g-expect-vms.adb, g-pehage.adb, g-trasym-vms-alpha.adb,
564         g-enblsp-vms-ia64.adb, s-fatgen.adb, s-fileio.adb: Minor code
565         reorganization (use conditional expressions).
566
567 2009-11-30  Vincent Celier  <celier@adacore.com>
568
569         * prj-makr.adb (Source_Files): New hash table to keep track of source
570         file names.
571         (Finalize): Avoid putting several times the same source file name
572         in the source list file.
573         * prj-pp.adb (Print): Fix a bug in the placement of "at nn" for
574         associative array indexes.
575
576 2009-11-30  Robert Dewar  <dewar@adacore.com>
577
578         * g-dyntab.ads: Add missing pragma Compiler_Unit
579
580 2009-11-30  Thomas Quinot  <quinot@adacore.com>
581
582         * s-crtrun.ads, s-crtl.ads, g-stseme.adb, Makefile.rtl, s-fileio.adb
583         (System.CRTL.Runtime): New unit, to contain parts of s-crtl that are
584         used in the Ada runtime but can't be used in the compiler because of
585         bootstrap issues.
586         * socket.c, s-oscons-tmplt.c, g-sothco.ads
587         (System.OS_Constants.SIZEOF_struct_servent): New constant.
588         Use s-oscons constant instead of external variable to get size of
589         struct hostent.
590
591 2009-11-30  Thomas Quinot  <quinot@adacore.com>
592
593         * s-crtl.ads, g-stseme.adb, s-fileio.adb (System.CRTL.strerror): Change
594         return type to Interfaces.C.Strings.chars_ptr to eliminate need for
595         dubious unchecked conversion at call sites.
596         * s-errrep.adb, s-errrep.ads, Makefile.rtl (System.Error_Reporting):
597         Remove obsolete, unused runtime unit.
598         * gcc-interface/Make-lang.in: Update dependencies.
599         * gcc-interface/Makefile.in: Remove VMS specialization of s-crtl, not
600         required anymore.
601
602 2009-11-30  Vincent Celier  <celier@adacore.com>
603
604         * gnatlink.adb: Delete an eventual existing executable file, in case it
605         is a symbolic link, to avoid modifying the target of the symbolic link.
606
607 2009-11-30  Bob Duff  <duff@adacore.com>
608
609         * socket.c: Add accessor functions for struct servent.
610         * g-sothco.ads (Servent): Declare interfaces to C accessor functions
611         for struct servent.
612         * g-socket.adb (To_Service_Entry): Use accessor functions for struct
613         servent.
614
615 2009-11-30  Robert Dewar  <dewar@adacore.com>
616
617         * g-arrspl.adb: Minor reformatting
618         * g-dyntab.adb: Add missing pragma Compiler_Unit
619
620 2009-11-30  Thomas Quinot  <quinot@adacore.com>
621
622         * s-crtl.ads, s-oscons-tmplt.c: Fix support for VMS
623         * make.adb, g-comlin.ads, exp_ch6.adb: Minor reformatting
624
625 2009-11-30  Robert Dewar  <dewar@adacore.com>
626
627         * bcheck.adb, gnatlink.adb, make.adb, makeutl.adb, osint.adb,
628         osint.ads, prj-ext.adb, sem_case.adb: Minor reformatting
629         * g-alleve.adb: Minor code reorganization (use conditional expressions)
630
631 2009-11-30  Matthew Heaney  <heaney@adacore.com>
632
633         * a-crbtgo.adb (Delete_Fixup): Changed always-true predicates to
634         assertions.
635
636 2009-11-30  Thomas Quinot  <quinot@adacore.com>
637
638         * a-tasatt.adb, s-crtl.ads, s-taprop-dummy.adb (System.CRTL.malloc32,
639         System.CRTL.realloc32): Remove VMS-specific routines.
640         (Ada.Task_Attributes.Reference): Remove unreachable code.
641         (System.Task_Primitives.Operations.Initialize, dummy version):
642         Use plain Program_Error rather than call to
643         System.Error_Reporting.Shutdown.
644
645 2009-11-30  Thomas Quinot  <quinot@adacore.com>
646
647         * s-oscons-tmplt.c, xoscons.adb: Add new constants in preparation for
648         sharing s-crtl across all platforms.
649
650 2009-11-30  Thomas Quinot  <quinot@adacore.com>
651
652         * s-commun.adb, s-commun.ads: New internal support unit,
653         allowing code sharing between GNAT.Sockets and
654         GNAT.Serial_Communication.
655         * g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
656         g-socket.adb (GNAT.Sockets.Last_Index): Move to System.Communication.
657         (GNAT.Serial_Communication.Read): Handle correctly the case where no
658         data was read, and Buffer'First = Stream_Element_Offset'First.
659         * Makefile.rtl: Add entry for s-commun
660         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
661         g-socthi-vxworks.ads, g-stseme.adb, g-socthi-mingw.ads,
662         g-socthi.adb, g-socthi.ads (GNAT.Sockets.Thin.Socket_Error_Message):
663         Reimplement in terms of System.CRTL.strerror.
664
665 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
666
667         * gcc-interface/utils.c (copy_type): Unshare the language-specific data
668         and the contents of the language-specific slot if needed.
669
670 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
671
672         * gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location
673         of the operator on both branches of the test in the generic case.
674
675 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
676
677         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...
678         (unchecked_conversion_nop): ...this.  Handle actual parameters.
679         (gnat_to_gnu): Adjust for above renaming.
680
681 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
682
683         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
684         Translate regular boolean types into BOOLEAN_TYPEs.
685
686 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
687
688         * sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype,
689         also set the flag on the Equivalent_Type.
690         * gcc-interface/utils.c (finish_record_type): Replace DO_NOT_FINALIZE
691         parameter with DEBUG_INFO_P.  Rename FIELDLIST into FIELD_LIST.
692         (rest_of_record_type_compilation): Rename FIELDLIST into FIELD_LIST.
693         (build_vms_descriptor32): Adjust call to finish_record_type.
694         (build_vms_descriptor): Likewise.
695         (build_unc_object_type): Likewise.
696         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
697         finish_record_type and components_to_record.
698         (make_packable_type): Adjust call to finish_record_type.
699         (maybe_pad_type): Likewise.  Tweak condition.
700         (components_to_record): Likewise.  Replace DO_NOT_FINALIZE parameter
701         with MAYBE_UNUSED.  Adjust recursive call.
702         (create_variant_part_from): Adjust call to finish_record_type.  Do not
703         call rest_of_record_type_compilation on the new record types.
704         * gcc-interface/trans.c (gigi): Adjust call to finish_record_type.
705         * gcc-interface/gigi.h (finish_record_type): Adjust prototype and
706         comment.
707         (rest_of_record_type_compilation): Adjust comment.
708
709 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
710
711         * exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as
712         frozen for targets that do not require front-end layout.
713         (New_Class_Wide_Subtype): Always reset the freezing status to False.
714         * exp_ch8.adb: Do not 'with' Targparm.
715         (Expand_N_Object_Renaming_Declaration): Always freeze a class-wide
716         subtype that has been built from the expression.
717         * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
718         class wide, freeze the implicit type that has been built from the
719         expression at the dereference point.
720         * freeze.adb (Freeze_Entity): Adjust comment.
721         * gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Class_Wide_Type>:
722         Remove useless test.
723         * gcc-interface/trans.c (process_freeze_entity): Do not special-case
724         class-wide subtypes.
725
726         * s-osinte-aix.adb (clock_gettime): Fix comment.
727         * s-osinte-darwin.adb (clock_gettime): Likewise.
728
729 2009-11-23  Eric Botcazou  <ebotcazou@adacore.com>
730
731         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Pass the list
732         of attributes when building the corresponding variable of a constant.
733         * gcc-interface/utils.c (create_var_decl_1): Do not process attributes
734         for constants.
735
736 2009-11-23  Laurent GUERBY  <laurent@guerby.net>
737             Eric Botcazou  <ebotcazou@adacore.com>
738
739         PR ada/42153
740         * s-osinte-linux.ads (struct_timeval): Delete.
741         * s-osinte-hpux.ads (struct_timeval, To_Duration, To_Timeval): Delete.
742         * s-osinte-kfreebsd-gnu.ads: Likewise.
743         * s-osinte-rtems.ads: Likewise.
744         * s-osinte-aix.ads: Likewise.
745         * s-osinte-hpux-dce.ads: Likewise.
746         * s-osinte-darwin.ads: Likewise.
747         * s-osinte-solaris-posix.ads: Likewise.
748         * s-osinte-irix.ads: Likewise.
749         * s-osinte-solaris.ads: Likewise.
750         * s-osinte-hpux-dce.adb (To_Duration, To_Timeval): Delete.
751         * s-osinte-irix.adb: Likewise.
752         * s-osinte-solaris.adb: Likewise.
753         * s-osinte-rtems.adb: Likewise.  Minor reformatting.
754         * s-osinte-aix.adb (To_Duration, To_Timeval): Delete.
755         (clock_gettime): Use cal.c's timeval_to_duration.
756         * s-osinte-darwin.adb: Likewise.
757
758 2009-11-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
759
760         * adaint.h: Assume large file support on IRIX only if _LFAPI.
761
762 2009-11-21  Laurent GUERBY  <laurent@guerby.net>
763             Eric Botcazou  <ebotcazou@adacore.com>
764
765         * s-osinte-linux.ads (struct_timeval, To_Duration, To_Timeval,
766         gettimeofday): Delete.
767         * s-osinte-posix.adb (To_Duration, To_Timeval): Delete.
768         * s-osprim-posix.adb (struct_timezone, struct_timeval, gettimeofday):
769         Delete.
770         (Clock): Use cal.c's timeval_to_duration.
771         * s-taprop-linux.adb (Monotonic_Clock): Likewise.
772
773 2009-11-12  Eric Botcazou  <ebotcazou@adacore.com>
774             Laurent GUERBY  <laurent@guerby.net>
775
776         * init.c (GNU/Linux Section): Enable for all architectures.
777
778 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
779
780         PR ada/20548
781         * system-linux-alpha.ads (Stack_Check_Probes): Set to true.
782         * system-linux-hppa.ads (Stack_Check_Probes): Likewise.
783         * system-linux-sparc.ads (Stack_Check_Probes): Likewise.
784         * system-linux-sparcv9.ads (Stack_Check_Probes): Likewise.
785
786 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
787
788         * system-linux-alpha.ads (AAMP, Compiler_System_Version, OpenVMS,
789         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
790         Delete.
791         (Stack_Check_Limits, Always_Compatible_Rep): New.
792         * system-linux-mips.ads (AAMP, Compiler_System_Version, OpenVMS,
793         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
794         Delete.
795         (Stack_Check_Limits, Always_Compatible_Rep): New.
796         * system-linux-mips64el.ads (AAMP, Compiler_System_Version, OpenVMS,
797         Functions_Return_By_DSP, Front_End_ZCX_Support, High_Integrity_Mode,
798         Long_Shifts_Inlined): Delete.
799         (Stack_Check_Limits, Always_Compatible_Rep): New.
800         * system-linux-mipsel.ads (AAMP, Compiler_System_Version, OpenVMS,
801         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
802         Delete.
803         (Stack_Check_Limits, Always_Compatible_Rep): New.
804         * system-linux-s390.ads (AAMP, Compiler_System_Version, OpenVMS,
805         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
806         Delete.
807         (Stack_Check_Limits, Always_Compatible_Rep): New.
808         * system-linux-s390x.ads (AAMP, Compiler_System_Version, OpenVMS,
809         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
810         Delete.
811         (Stack_Check_Limits, Always_Compatible_Rep): New.
812         * system-linux-sh4.ads (Stack_Check_Limits, Always_Compatible_Rep):
813         New.
814         * system-linux-sparc.ads (AAMP, Compiler_System_Version, OpenVMS,
815         Front_End_ZCX_Support): Delete.
816         (Stack_Check_Limits, Always_Compatible_Rep): New.
817         * system-linux-sparcv9.ads (AAMP, Compiler_System_Version, OpenVMS,
818         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
819         Delete.
820         (Stack_Check_Limits, Always_Compatible_Rep): New.
821         * system-rtems.ads (OpenVMS): Delete.
822         (Stack_Check_Limits, Always_Compatible_Rep): New.
823
824 2009-11-08  Eric Botcazou  <ebotcazou@adacore.com>
825
826         * gcc-interface/decl.c (make_packable_type): Fix oversight.
827         (gnat_to_gnu_field): Do not attempt to change the form of the type
828         if the field requires strict alignment.  Always change the form of
829         the type if the specified size is smaller than its size.
830
831 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
832
833         * gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes.
834
835 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
836
837         * gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>:
838         New case.
839
840 2009-10-30  Eric Botcazou  <ebotcazou@adacore.com>
841
842         * gcc-interface/utils.c (MAX_FIXED_MODE_SIZE): Delete.
843         (create_field_decl): Update description.  In a packed record, round
844         the size up to a byte boundary only if the field's type has BLKmode.
845         * gcc-interface/gigi.h (create_field_decl): Update description.
846
847 2009-10-30  Emmanuel Briot  <briot@adacore.com>
848
849         * make.adb (Start_Compile_If_Possible): Compute location of resulting
850         ALI file in this procedure instead of after the compilation itself,
851         since the current directory might have changed in between when using
852         -j<n>.
853
854         * osint.ads: Addded missing alignment clause.
855
856         * adaint.c, adaint.h, osint.adb (__gnat_reset_attributes,
857         __gnat_size_of_file_attributes): Rename reset_attributes and
858         size_of_file_attributes.
859
860 2009-10-30  Javier Miranda  <miranda@adacore.com>
861
862         * sem_scil.adb (Adjust_SCIL_Node): Add missing management of sequences
863         of statements when searching for SCIL nodes.
864
865 2009-10-30  Tristan Gingold  <gingold@adacore.com>
866
867         * gnatlink.adb, link.c: By default use shared libgcc on darwin.
868
869 2009-10-30  Emmanuel Briot  <briot@adacore.com>
870
871         * make.adb, osint.adb (Add_Lib_Search_Dir): Do not add if dir is
872         already in the list.
873         This saves system calls when looking for ALI files
874         (Scan_Make_Args): The parameter to gnatmake's -D is now converted to an
875         absolute PATH (so that the above improvement properly occurs if both
876         -D<dir> and -aO<dir> are specified).
877
878 2009-10-30  Thomas Quinot  <quinot@adacore.com>
879
880         * a-direct.adb: Minor reformatting
881
882 2009-10-30  Emmanuel Briot  <briot@adacore.com>
883
884         * make.adb, adaint.c, adaint.h, osint.adb, osint.ads, bcheck.adb
885         (*_attr): new subprograms.
886         (File_Length, File_Time_Stamp, Is_Writable_File): new subprograms
887         (Read_Library_Info_From_Full, Full_Library_Info_Name,
888         Full_Source_Name): Now benefit from a previous cache of the file
889         attributes, to further save on system calls.
890         (Smart_Find_File): now also cache the file attributes. This makes the
891         package File_Stamp_Hash_Table useless, and it was removed.
892         (Compile_Sources): create subprograms for the various steps of the main
893         loop, for readibility and to avoid sharing variables between the
894         various steps.
895
896 2009-10-30  Emmanuel Briot  <briot@adacore.com>
897
898         * make.adb, osint.adb, osint.ads (Library_File_Stamp): Removed, since
899         unused.
900         (Read_Library_Info_From_Full): New subprogram.
901
902 2009-10-30  Robert Dewar  <dewar@adacore.com>
903
904         * a-tideio.adb: Minor reformatting
905         * a-wtdeio.adb, a-ztdeio.adb: Update comments, code clean up.
906
907         * a-reatim.adb, a-tideau.adb, a-ngelfu.adb, a-ztdeau.adb, a-ngrear.adb,
908         a-wtedit.adb, a-ststio.adb, a-ztedit.adb: Minor code reorganization
909         (use conditional expressions).
910
911 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
912
913         * gnat_ugn.texi: Additional info on gnatw.i and gnatw.I
914
915         * sem_case.adb: Improved error message.
916
917 2009-10-30  Emmanuel Briot  <briot@adacore.com>
918
919         * a-direct.adb, gnatcmd.adb, gnatname.adb, makeutl.adb, opt.ads,
920         osint.adb, prj-ext.adb, switch-m.adb (Follow_Links_For_Dirs): Now
921         defaults to False, and controlled by -eL.
922         * a-direct.adb: Add comments.
923         * osint.adb (File_Stamp): Avoid unneeded duplicate system call
924
925 2009-10-30  Robert Dewar  <dewar@adacore.com>
926
927         * sem_res.adb (Resolve_Type_Conversion): Avoid false positive when
928         converting non-static subtype to "identical" static subtype.
929
930 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
931
932         * usage.adb: Add -gnatw.i switch.
933
934 2009-10-30  Vincent Celier  <celier@adacore.com>
935
936         * xsnamest.adb: Update comments with regards to the template files
937         snames.*.tmpl
938
939 2009-10-30  Bob Duff  <duff@adacore.com>
940
941         * s-fileio.adb (Errno_Message): Suppress VMS-specific warning.
942
943 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
944
945         * sem_case.adb (Check_Choices): Add explanatory message when there are
946         missing alternatives when the required range of alternatives is given
947         by the base type of the case expression or discriminant in a variant
948         part.
949
950         * opt.ads: New flag Warn_On_Overlap, to enable warnings on potentially
951         dangerous overlap between actuals in a call, activated by -gnatw.i
952         * sem_warn.adb (Set_Dot_Warning_Switch): set flag.
953         (Warn_On_Overlapping_Actuals): use new flag.
954
955         * gnat_ugn.texi: Document -gnatw.i, warning on overlapping actuals
956
957 2009-10-30  Robert Dewar  <dewar@adacore.com>
958
959         * exp_aggr.adb, exp_ch9.adb: Minor reformatting
960
961 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
962
963         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
964         create integer types with precision 0.
965
966 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
967
968         PR ada/41870
969         * gcc-interface/decl.c (array_type_has_nonaliased_component): Swap
970         parameters and rewrite comments.  For a derived type, return the
971         setting of its parent type.
972         (gnat_to_gnu_entity): Do an alias set copy for derived types if they
973         are composite.  Adjust calls to above function.
974
975 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
976
977         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Object_Size>: Do not
978         return the RM size for padded types.
979
980 2009-10-28  Robert Dewar  <dewar@adacore.com>
981
982         * sem_type.adb: Minor reformatting
983
984 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
985
986         * exp_ch9.adb (Build_Task_Proc_Specification): Generate a different
987         suffix for task type bodies.
988
989 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
990
991         * exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a
992         finalization list if the designated type requires no control actions,
993         to prevent a useless semantic dependence on ada.tags.
994
995 2009-10-28  Bob Duff  <duff@adacore.com>
996
997         * s-fileio.adb: Give more information in exception messages.
998
999 2009-10-28  Robert Dewar  <dewar@adacore.com>
1000
1001         * gnat_ugn.texi: Document new -gnatyt requirement for space after right
1002         paren if next token starts with digit or letter.
1003         * styleg.adb (Check_Right_Paren): New rule for space after if next
1004         character is a letter or digit.
1005
1006 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1007
1008         * s-crtl.ads (System.CRTL.strerror): New function.
1009
1010 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
1011
1012         * sem_type.adb: Add guard to recover some type errors.
1013
1014 2009-10-28  Vincent Celier  <celier@adacore.com>
1015
1016         * prj-nmsc.adb (Add_To_Or_Remove_From_List): New name of procedure
1017         Add_If_Not_In_List to account to the fact that a directory may be
1018         removed from the list. Only remove directory if Removed is True.
1019
1020 2009-10-28  Gary Dismukes  <dismukes@adacore.com>
1021
1022         * a-textio.ads, a-textio.ads: Put back function EOF_Char in private
1023         part. Put back body of function EOF_Char.
1024         * a-tienau.adb: Remove with of Interfaces.C_Streams and change EOF back
1025         to EOF_Char.
1026
1027 2009-10-28  Emmanuel Briot  <briot@adacore.com>
1028
1029         * prj-tree.adb (Free): Fix memory leak.
1030
1031 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1032
1033         * s-fileio.adb: Minor reformatting
1034
1035 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
1036
1037         * gcc-interface/Make-lang.in: Update dependencies.
1038
1039 2009-10-28  Robert Dewar  <dewar@adacore.com>
1040
1041         * exp_attr.adb, exp_ch9.adb, prj-nmsc.adb, tbuild.adb, ali.adb,
1042         types.ads: Minor reformatting
1043
1044 2009-10-28  Tristan Gingold  <gingold@adacore.com>
1045
1046         * init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard)
1047
1048 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1049
1050         * exp_ch4.adb (Expand_N_Type_Conversion): Perform Integer promotion for
1051         the operand of the unary minus and ABS operators.
1052
1053         * sem_type.adb (Covers): A concurrent type and its corresponding record
1054         type are compatible.
1055         * exp_attr.adb (Expand_N_Attribute_Reference): Do not rewrite a 'Access
1056         attribute reference for the current instance of a protected type while
1057         analyzing an access discriminant constraint in a component definition.
1058         Such a reference is handled in the corresponding record's init proc,
1059         while initializing the constrained component.
1060         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
1061         corresponding record type, propagate components'
1062         Has_Per_Object_Constraint flag.
1063         * exp_ch3.adb (Build_Init_Procedure.Build_Init_Statements):
1064         For a concurrent type, set up concurrent aspects before initializing
1065         components with a per object constrain, because they may be controlled,
1066         and their initialization may call entries or protected subprograms of
1067         the enclosing concurrent object.
1068
1069 2009-10-28  Emmanuel Briot  <briot@adacore.com>
1070
1071         * prj-nmsc.adb (Add_If_Not_In_List): New subprogram, for better sharing
1072         of code.
1073         (Find_Source_Dirs): resolve links if Opt.Follow_Links_For_Dirs when
1074         processing the directories specified explicitly in the project file.
1075
1076 2009-10-28  Robert Dewar  <dewar@adacore.com>
1077
1078         * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb,
1079         a-textio.ads, a-textio.adb: Reorganize (moving specs from private part
1080         to body).
1081         (Initialize_Standard_Files): New procedure.
1082         * a-tienau.adb: Minor change to make EOF directly visible
1083         * a-tirsfi.ads, a-wrstfi.adb, a-wrstfi.ads, a-zrstfi.adb,
1084         a-zrstfi.ads, a-tirsfi.adb: New unit, initial version.
1085         * gnat_rm.texi: Add documentation for
1086         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files.
1087         * Makefile.rtl: Add entries for
1088         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files
1089
1090 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1091
1092         * exp_ch9.ads: Minor reformatting
1093         * sem_ch3.adb: Minor reformatting
1094         * sem_aggr.adb: Minor reformatting.
1095         * sem_attr.adb: Minor reformatting
1096         * tbuild.adb, tbuild.ads, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node):
1097         New subprogram.
1098         Minor code reorganization/factoring.
1099
1100 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1101
1102         * gcc-interface/decl.c (purpose_member_field): New static function.
1103         (annotate_rep): Use it instead of purpose_member.
1104
1105 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1106
1107         * raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
1108         _Unwind_GetIP if HAVE_GETIPINFO is defined.
1109         (db_action_for): Likewise.
1110
1111 2009-10-27  Robert Dewar  <dewar@adacore.com>
1112
1113         * s-fileio.adb, s-fileio.ads, sem_util.adb, sem_warn.adb,
1114         sem_warn.ads: Minor reformatting
1115
1116 2009-10-27  Robert Dewar  <dewar@adacore.com>
1117
1118         * sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add
1119         comments.
1120
1121 2009-10-27  Robert Dewar  <dewar@adacore.com>
1122
1123         * s-os_lib.ads, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor
1124         reformatting.
1125
1126 2009-10-27  Ed Schonberg  <schonberg@adacore.com>
1127
1128         * sem.util.ads, sem_util.adb (Denotes_Same_Object,
1129         Denotes_Same_Prefix): New functions to detect overlap between actuals
1130         that are not by-copy in a call, when one of them is in-out.
1131         * sem_warn.ads, sem_warn.adb (Warn_On_Overlapping_Actuals): New
1132         procedure,  called on a subprogram call to warn when an in-out actual
1133         that is not by-copy overlaps with another actual, thus leadind to
1134         potentially dangerous aliasing in the body of the called subprogram.
1135         Currently the warning is under control of the -gnatX switch.
1136         * sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals.
1137
1138 2009-10-27  Thomas Quinot  <quinot@adacore.com>
1139
1140         * sem_ch12.adb (Install_Formal_Packages): Do not omit installation of
1141         visible entities when the formal package doesn't have a box.
1142
1143         * checks.adb: Minor reformatting.
1144
1145 2009-10-27  Vincent Celier  <celier@adacore.com>
1146
1147         * prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and
1148         set Project to Empty_Node.
1149
1150 2009-10-27  Robert Dewar  <dewar@adacore.com>
1151
1152         * gnatbind.adb: Minor reformatting
1153
1154 2009-10-27  Arnaud Charlet  <charlet@adacore.com>
1155
1156         * exp_aggr.adb: Fix comment.
1157
1158 2009-10-27  Emmanuel Briot  <briot@adacore.com>
1159
1160         * prj-err.adb (Error_Msg): take into account continuation lines when
1161         computing whether we have a warning.
1162
1163 2009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>
1164
1165         * make.adb, s-os_lib.adb, s-os_lib.ads (Create_Temp_Output_File): New
1166         routine that is designed to create temp file descriptor specifically
1167         for redirecting an output stream.
1168
1169 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
1170
1171         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
1172         processing the parent type, build the COMPONENT_REF for a discriminant
1173         with the proper type.
1174
1175 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
1176
1177         * init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo.
1178         * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Add HAVE_GETIPINFO.
1179         Pass GNATLIBCFLAGS_FOR_C to recursive invocations.
1180
1181 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1182
1183         * gcc-interfaces/decl.c (build_subst_list): Convert the expression of
1184         the constraint to the type of the discriminant.
1185
1186 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1187
1188         * gcc-interfaces/decl.c (gnat_to_gnu_entity): Do not create a new
1189         TYPE_DECL when a type is padded if there is already one and reset
1190         TYPE_STUB_DECL in this case.
1191
1192 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1193
1194         * gcc-interfaces/utils.c (create_subprog_decl): Do not redefine
1195         main_identifier_node.
1196
1197 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1198
1199         * gcc-interface/utils.c (convert): When converting to a padded type
1200         with an inner type of self-referential size, pad the expression before
1201         doing the unchecked conversion.
1202
1203 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1204
1205         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Make
1206         sure the element type is consistent.
1207
1208 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1209
1210         * gcc-interface/trans.c (addressable_p): Handle bitwise operations.
1211
1212 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1213
1214         * gcc-interface/ada-tree.h (TYPE_FAT_POINTER_P): Swap with...
1215         (TYPE_IS_FAT_POINTER_P): ...this.
1216         (TYPE_THIN_POINTER_P): Rename into...
1217         (TYPE_IS_THIN_POINTER_P): ...this.
1218         (TYPE_FAT_OR_THIN_POINTER_P): Rename into...
1219         (TYPE_IS_FAT_OR_THIN_POINTER_P): ...this.
1220         (TYPE_IS_PADDING_P): Change definition, move old one to...
1221         (TYPE_PADDING_P): ...this.
1222         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
1223         (get_unpadded_type): Likewise.
1224         (gnat_to_gnu_component_type): Likewise.
1225         (gnat_to_gnu_param): Likewise.
1226         (relate_alias_sets): Likewise.
1227         (make_packable_type): Likewise.
1228         (maybe_pad_type): Likewise.
1229         (gnat_to_gnu_field): Likewise.
1230         (is_variable_size): Likewise.
1231         (annotate_object): Likewise.
1232         (validate_size): Likewise.
1233         (set_rm_size): Likewise.
1234         (make_type_from_size): Likewise.
1235         (rm_size): Likewise.
1236         * gcc-interface/misc.c (gnat_print_type): Likewise.
1237         (gnat_get_alias_set): Likewise.
1238         * gcc-interface/trans.c (Identifier_to_gnu): Likewise.
1239         (Attribute_to_gnu): Likewise.
1240         (call_to_gnu): Likewise.
1241         (gnat_to_gnu): Likewise.
1242         (add_decl_expr): Likewise.
1243         (convert_with_check): Likewise.
1244         (addressable_p): Likewise.
1245         (maybe_implicit_deref): Likewise.
1246         (protect_multiple_eval): Likewise.
1247         (gnat_stabilize_reference_1): Likewise.
1248         * gcc-interface/utils.c (gnat_pushdecl): Likewise.
1249         (finish_record_type): Likewise.
1250         (rest_of_record_type_compilation): Likewise.
1251         (create_type_decl): Likewise.
1252         (gnat_types_compatible_p): Likewise.
1253         (build_template): Likewise.
1254         (convert_vms_descriptor64): Likewise.
1255         (convert_vms_descriptor32): Likewise.
1256         (build_unc_object_type_from_ptr): Likewise.
1257         (update_pointer_to): Likewise.
1258         (convert_to_fat_pointer): Likewise.
1259         (convert_to_fat_pointer): Likewise.
1260         (convert): Likewise.
1261         (remove_conversions): Likewise.
1262         (maybe_unconstrained_array): Likewise.
1263         (unchecked_convert): Likewise.
1264         (handle_vector_type_attribute): Likewise.
1265         * gcc-interface/utils2.c (build_binary_op): Likewise.
1266         (build_unary_op): Likewise.
1267         (build_allocator): Likewise.
1268
1269 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1270
1271         * exp_dbug.ads: Adjust type names in comments.
1272         * gcc-interface/decl.c (maybe_pad_type): Remove NAME_TRAILER parameter,
1273         add new IS_COMPONENT_TYPE parameter.  Adjust.  Remove dead code.
1274         (gnat_to_gnu_entity): Adjust for above change.
1275         (gnat_to_gnu_component_type): Likewise.
1276         (gnat_to_gnu_field): Likewise.
1277         * gcc-interface/trans.c (call_to_gnu): Likewise.  Do not unnecessarily
1278         call max_size.
1279         * gcc-interface/utils.c (finish_record_type): Remove obsolete code.
1280         * gcc-interface/gigi.h (maybe_pad_type): Adjust prototype.
1281
1282 2009-10-16  Joel Sherrill <joel.sherrill@oarcorp.com>
1283
1284         * s-osinte-rtems.ads: Add mutex type to pthread_mutexattr_t
1285         * s-stchop-rtems.adb: Correct binding to rtems_stack_checker_is_blown.
1286
1287 2009-10-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1288
1289         * env.c [__alpha__ && __osf__] (AES_SOURCE): Define.
1290
1291 2009-10-10  Samuel Tardieu  <sam@rfc1149.net>
1292
1293         * sem_eval.adb: Give a more precise error message.
1294
1295 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1296
1297         PR ada/41383
1298         * a-rttiev.adb (Time_Of_Event): Return Time_First for unset event.
1299
1300 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1301
1302         PR ada/38333
1303         * sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract
1304         subprogram to be completed with a "pragma Import".
1305
1306 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1307
1308         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>:
1309         Generate an XVZ variable alongside the XVS type if the size is
1310         not constant.
1311         (maybe_pad_type): Minor tweak.
1312
1313 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1314
1315         * gcc-interface/decl.c (check_ok_for_atomic): Do nothing if the type
1316         doesn't come from source.
1317
1318 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1319
1320         * gcc-interface/decl.c (gnat_to_gnu_component_type): Force at least
1321         unit size for the component size of an array with aliased components.
1322         (maybe_pad_type): Do not warn for MAX_EXPR.
1323
1324 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1325
1326         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Factor out
1327         common code processing the component type into...
1328         <E_Array_Subtype>: Likewise.
1329         (gnat_to_gnu_component_type): ...this new static function.
1330         (maybe_pad_type): Minor cleanup.
1331
1332 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1333
1334         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Rewrite
1335         the handling of constrained discriminated record subtypes.
1336         (components_to_record): Declare the type of the variants and of the
1337         qualified union.
1338         (build_subst_list): Move around.
1339         (compute_field_positions): Rename into...
1340         (build_position_list): ...this.  Return a TREE_VEC.
1341         (annotate_rep): Adjust for above renaming.
1342         (build_variant_list): New static function.
1343         (create_field_decl_from): Likewise.
1344         (get_rep_part): Likewise.
1345         (get_variant_part): Likewise.
1346         (create_variant_part_from): Likewise.
1347         (copy_and_substitute_in_size): Likewise.
1348
1349 2009-09-28  Olivier Hainque  <hainque@adacore.com>
1350
1351         PR ada/41100
1352         * gcc-interface/targtyps.c (get_target_default_allocator_alignment):
1353         Account for observable alignments out of default allocators.
1354
1355 2009-09-28  Richard Henderson  <rth@redhat.com>
1356
1357         * gcc-interface/utils.c (gnat_install_builtins): Update call to
1358         build_common_builtin_nodes.
1359
1360 2009-09-26  Eric Botcazou  <ebotcazou@adacore.com>
1361
1362         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Filter out
1363         negative size for the array dimensions like in the constrained case.
1364         <E_Array_Subtype>: Do not create an artificially non-constant high
1365         bound if the low bound is non-constant.  Minor tweaks.
1366
1367         * gcc-interface/trans.c (lvalue_required_p): Add CONSTANT parameter
1368         and turn ALIASED into a boolean parameter.  Adjust calls to self.
1369         <N_Attribute_Reference>: Return 1 for more attributes.
1370         <N_Object_Renaming_Declaration>: Return 1 for non-constant objects.
1371         <N_Assignment_Statement>: Return 1 for the LHS.
1372         (Identifier_to_gnu): Adjust calls to lvalue_required_p.
1373         (call_to_gnu): Be prepared for wrapped boolean rvalues.
1374
1375 2009-09-25  Olivier Hainquqe  <hainque@adacore.com>
1376             Eric Botcazou  <ebotcazou@adacore.com>
1377
1378         * gcc-interface/ada-tree.h (TYPE_REPRESENTATIVE_ARRAY): New language
1379         specific node.  Representative array type for VECTOR_TYPE entities.
1380         * gcc-interface/utils.c (handle_vector_type_attribute): New handler.
1381         Turn an ARRAY_TYPE entity into a VECTOR_TYPE.   
1382         (gnat_types_compatible_p): Handle VECTOR_TYPEs.
1383         (convert): Likewise.  Arrange to produce VECTOR_CST out of constant
1384         array aggregates for VECTOR_TYPE entities.
1385         (unchecked_convert): Likewise.
1386         (maybe_vector_array): New function. If EXP has VECTOR_TYPE, return EXP
1387         converted to the associated TYPE_REPRESENTATIVE_ARRAY.
1388         (handle_pure_attribute, handle_sentinel_attribute,
1389         handle_noreturn_attribute, handle_malloc_attribute,
1390         handle_vector_size_attribute): Replace uses of qE format by qs.
1391         Remove GCC_DIAG_STYLE definition.
1392         * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Convert
1393         vector input to representative array type on entry.
1394         <N_Op_Eq, etc>: Likewise.
1395         * gcc-interface/gigi.h (maybe_vector_array): Declare.
1396         (VECTOR_TYPE_P): New predicate.
1397         * gcc-interface/misc.c (gnat_print_type): Handle VECTOR_TYPE.
1398
1399 2009-09-24  Eric Botcazou  <ebotcazou@adacore.com>
1400
1401         * gcc-interface/ada.h: Fix outdated comment.
1402         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in
1403         lieu of mark_visited.
1404         * gcc-interface/gigi.h (mark_visited): Change type of parameter.
1405         (MARK_VISITED): New macro.
1406         (gnat_truthvalue_conversion): Delete.
1407         * gcc-interface/decl.c (gnat_to_gnu_entity): Use MARK_VISITED in lieu
1408         of mark_visited.
1409         (annotate_rep): Fix formatting and tidy.
1410         (compute_field_positions): Get rid of useless variable.
1411         * gcc-interface/trans.c (gnat_to_gnu): Retrieve the Nkind of the GNAT
1412         node only once.  Use IN operator for the Nkind in more cases.
1413         Remove calls to gnat_truthvalue_conversion.
1414         (mark_visited): Change type of parameter and adjust.
1415         (mark_visited_r): Dereference TP only once.
1416         (add_decl_expr): Use MARK_VISITED in lieu of mark_visited.
1417         * gcc-interface/utils2.c (gnat_truthvalue_conversion): Delete.
1418         (build_binary_op): Remove calls to gnat_truthvalue_conversion.
1419         (build_unary_op): Likewise.
1420
1421 2009-09-24  Dave Korn  <dave.korn.cygwin@gmail.com>
1422
1423         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Simplify test for
1424         a-except% in target pairs list; don't (implicitly) compare whitespace.
1425
1426 2009-09-24  Jakub Jelinek  <jakub@redhat.com>
1427
1428         * gcc-interface/utils.c (gnat_pushdecl): Don't set
1429         DECL_NO_STATIC_CHAIN, set DECL_STATIC_CHAIN for
1430         nested functions.
1431
1432 2009-09-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
1433
1434         * s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0.
1435         Bind to getpagesize() in RTEMS 4.10 and newer.
1436
1437 2009-09-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1438
1439         * env.c [__alpha__ && __osf__] (_BSD): Define.
1440         * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
1441         to const char *.
1442
1443 2009-09-18  Pascal Obry  <obry@adacore.com>
1444
1445         * mingw32.h: Activate Unicode support for x86-64 Windows platform.
1446
1447 2009-09-18  Vadim Godunko  <godunko@adacore.com>
1448
1449         * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
1450
1451 2009-09-18  Javier Miranda  <miranda@adacore.com>
1452
1453         * exp_aggr.adb (Backend_Processing_Possible): Disable backend
1454         processing for array aggregates in the VM backend if the array has
1455         aliased components.
1456
1457 2009-09-18  Ed Schonberg  <schonberg@adacore.com>
1458
1459         * sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
1460         the prefix indicates a previous semantic error, and this is the first
1461         error in the program.
1462
1463 2009-09-18  Bob Duff  <duff@adacore.com>
1464
1465         * gnat_ugn.texi: Minor editing.
1466
1467 2009-09-18  Vincent Celier  <celier@adacore.com>
1468
1469         * prj.ads, prj.adb (Project_Data): New component
1470         Imported_Directories_Switches.
1471
1472 2009-09-18  Pascal Obry  <obry@adacore.com>
1473
1474         * mingw32.h: Include standard _mingw.h file.
1475         Define _WIN32_WINNT only if not already defined.
1476
1477 2009-09-18  Thomas Quinot  <quinot@adacore.com>
1478
1479         * g-socket.adb (Is_Open): New function indicating whether a
1480         Selector_Type object is open.
1481
1482 2009-09-18  Vincent Celier  <celier@adacore.com>
1483
1484         * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
1485         is deleted before creating it.
1486
1487 2009-09-18  Robert Dewar  <dewar@adacore.com>
1488
1489         * bindgen.adb: Minor reformatting
1490
1491 2009-09-18  Arnaud Charlet  <charlet@adacore.com>
1492
1493         * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
1494         s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
1495         signal handler is installed.
1496         * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
1497         tasks if Abort_Task_Interrupt cannot be used.
1498
1499 2009-09-18  Vincent Celier  <celier@adacore.com>
1500
1501         * prj-tree.ads: Minor comment update
1502
1503 2009-09-17  Bob Duff  <duff@adacore.com>
1504
1505         * g-socket.ads: Document the fact that Close_Selector has no effect on
1506         a closed selector.
1507         * g-socket.adb: Raise an exception when a Selector that should be open
1508         is closed.
1509         (Check_Selector): Declare RSig as a constant rather than a renames,
1510         less confusing.
1511
1512 2009-09-17  Robert Dewar  <dewar@adacore.com>
1513
1514         * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
1515         prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb,
1516         prj-tree.ads: Minor reformatting
1517
1518 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1519
1520         * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
1521         spec.
1522         (Do_Autoconf): If the object directory does not exists, create auto.cgpr
1523         in a temporary directory instead
1524
1525 2009-09-17  Bob Duff  <duff@adacore.com>
1526
1527         * a-dynpri.adb (Set_Priority): Don't do anything if the task is already
1528         terminated.
1529         (Get_Priority): Correct message for "terminated" case -- it said "null".
1530
1531 2009-09-17  Robert Dewar  <dewar@adacore.com>
1532
1533         * exp_ch6.adb: Minor reformatting
1534
1535 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1536
1537         * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
1538         switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
1539         (Project_Node_Tree_Data.Project_Path): New field.
1540
1541         * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
1542
1543 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1544
1545         * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
1546         Remove duplicate code.
1547         (Prj.Ext): Fix memory leak
1548         (Check): Now allow the syntax "-Xfoo=" to set an empty value to the
1549         variable. This was previously allowed in the code in
1550         Is_External_Assignment, and some tests rely on it
1551
1552 2009-09-17  Bob Duff  <duff@adacore.com>
1553
1554         * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
1555
1556 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1557
1558         * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
1559         makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
1560         prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
1561         prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
1562         Scenario variables are now specific to each project tree loaded in
1563         memory.
1564         Code clean ups.
1565
1566 2009-09-17  Javier Miranda  <miranda@adacore.com>
1567
1568         * exp_disp.adb (Make_DT): Remove wrong line of code that was
1569         undocumented and probably added by mistake.
1570
1571 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1572
1573         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
1574         conversions between original and packable version of types from
1575         the expression.
1576
1577 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1578
1579         * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
1580         If a padding type was made for the field, declare it.
1581         (components_to_record): Add DEBUG_INFO_P parameter.  Adjust call
1582         to gnat_to_gnu_field and call to self.
1583         (gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
1584         <E_Array_Subtype>: Likewise.
1585         Adjust calls to gnat_to_gnu_field and components_to_record.
1586
1587 2009-09-16  Robert Dewar  <dewar@adacore.com>
1588
1589         * prj-nmsc.adb: Minor reformatting
1590
1591 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1592
1593         * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
1594         expression is a by-reference type (tagged or inherently limited)
1595         introduce an access type to capture references to the values of each
1596         branch of the conditional.
1597
1598 2009-09-16  Emmanuel Briot  <briot@adacore.com>
1599
1600         * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
1601         (Project_Name_And_Node.Display_Name): new field
1602         The display name of a project (as written in the .gpr file) is now
1603         computed when the project file itself is parsed, not when it is
1604         processed.
1605
1606 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1607
1608         * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
1609         intrinsics untouched (to be expanded later on by gigi) if an external
1610         name has been specified.
1611         (Freeze_Entity): Do not generate a default external name for
1612         imported subprograms with convention Intrinsic (so that the above code
1613         can identify the case where an external name has been explicitly
1614         provided).
1615
1616         * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
1617         replaced by something else due to an existing #define clause.
1618
1619 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1620
1621         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
1622         Parameter_Association node, created for the extra actual generated for
1623         an access parameter of a function that dispatches on result, to prevent
1624         double generation of such actuals when the call is rewritten is a
1625         dispatching call.
1626         * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
1627         * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
1628         that carry this flag when rewriting the original call as a dispatching
1629         call, after propagating the controlling tag.
1630
1631 2009-09-16  Vincent Celier  <celier@adacore.com>
1632
1633         * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
1634         in the source data.
1635         (Check_File): New parameter Source_Dir_Rank, to check if a duplicate
1636         source is allowed.
1637         (Find_Source_Dirs): New parameter Rank to be recorded with the source
1638         directories.
1639         (Search_Directories): Call Check_File with the rank of the directory
1640         * prj.adb (Project_Empty): Add new component Source_Dir_Ranks
1641         (Free): Free also Number_Lists
1642         (Reset): Init also Number_Lists
1643         * prj.ads (Number_List_Table): New dynamic table for lists of numbers
1644         (Source_Data): New component Source_Dir_Rank. Remove component
1645         Known_Order_Of_Source_Dirs, no longer needed.
1646         (Project_Data): New component Source_Dir_Ranks
1647         (Project_Tree_Data): New components Number_Lists
1648
1649 2009-09-16  Vincent Celier  <celier@adacore.com>
1650
1651         * gprep.adb (Yes_No): New global constant
1652         Unix_Line_Terminators: New global Boolean variable
1653         (Process_One_File): Create the out file with a "Text_Translation=" form
1654         that depends on the use of option -T.
1655         (Scan_Command_Line): Add option -T
1656         (Usage): Add line for option -T
1657
1658 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1659
1660         * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
1661         predicate that describes a proper subset of
1662         Is_Predefined_Dispatching_Operation and excludes stream operations,
1663         which can be overridden by the user.
1664         * sem_ch6.adb (Create_Extra_Formals): use
1665         Is_Predefined_Internal_Operation, so that stream operations get extra
1666         formals.
1667         * exp_ch6.adb (Prevent double generation of extra actuals in calls to
1668         'Input, which may be expanded twice, first as a function call and then
1669         as a dispatching call.
1670
1671 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1672
1673         * s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
1674         * g-expect.adb (Set_Up_Child_Communications): Use
1675         System.OS_Constants.Target_OS to determine whether running on Windows.
1676
1677 2009-09-14  Richard Henderson  <rth@redhat.com>
1678
1679         * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
1680
1681 2009-09-14  Eric Botcazou  <ebotcazou@adacore.com>
1682
1683         * exp_dbug.ads (Packed Array Encoding): Document the new encoding for
1684         the unconstrained case.
1685         * gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
1686         the encoding.  Do not give a name to the pointer type to the XUT type.
1687         * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
1688         for fat pointer types, if any.  Make sure DECL_ARTIFICIAL is cleared
1689         on nodes with DECL_ORIGINAL_TYPE set.
1690         (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
1691         for fat pointer types.  Make sure DECL_ARTIFICIAL is cleared.
1692
1693 2009-09-14  Richard Henderson  <rth@redhat.com>
1694
1695         * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1696         default_init_unwind_resume_libfunc.
1697         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
1698         __builtin_eh_pointer.
1699         * gcc-interface/utils.c (gnat_install_builtins): Update call
1700         to build_common_builtin_nodes.
1701
1702 2009-09-13  Richard Guenther  <rguenther@suse.de>
1703             Rafael Avila de Espindola  <espindola@google.com>
1704
1705         * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
1706         eh_personality_libfunc and lang_eh_runtime_type.
1707         (LANG_HOOKS_EH_PERSONALITY): Define.
1708         (gnat_eh_personality_decl): New static variable.
1709         (gnat_eh_personality): New static function.
1710         Include gt-ada-misc.h.
1711         * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
1712         * gcc-interface/config-lang.in (gtfiles): Add misc.c.
1713
1714 2009-09-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1715
1716         PR ada/18302
1717         * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
1718
1719 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1720
1721         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
1722         flow of control.
1723         Avoid useless work when processing the Treat_As_Volatile flag.
1724
1725 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1726
1727         * gcc-interface/targtyps.c: Reorder include directives.
1728
1729 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1730
1731         * gcc-interface/targtyps.c: Add missing include for tm_p.h.
1732         * gcc-interface/Make-lang.in: Update dependencies.
1733
1734 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1735
1736         * make.adb: Add missing documentation for multilib handling.
1737         
1738 2009-09-03  Diego Novillo  <dnovillo@google.com>
1739
1740         * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
1741
1742 2009-09-02  Richard Henderson  <rth@redhat.com>
1743
1744         * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
1745
1746 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1747
1748         * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
1749         and uc arguments.
1750         
1751 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1752
1753         * gcc-interface/decl.c (cannot_be_superflat_p): Handle
1754         Signed_Integer_Type_Definition Scalar_Ranges.
1755
1756 2009-09-02  Eric Botcazou  <ebotcazou@adacore.com>
1757
1758         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
1759         SAVE_EXPR built for misaligned arguments.  Remove redundant stuff.
1760         (addressable_p): Return true for more rvalues.
1761
1762 2009-09-01  Jakub Jelinek  <jakub@redhat.com>
1763
1764         * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
1765         POINTER_SIZE to HOST_WIDE_INT.
1766
1767 2009-09-01  Richard Guenther  <rguenther@suse.de>
1768
1769         * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
1770
1771 2009-08-25  Eric Botcazou  <ebotcazou@adacore.com>
1772
1773         * gcc-interface/trans.c (call_to_gnu): Tidy.
1774         (gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
1775         non-constant size but the array itself has constant size.
1776         * gcc-interface/utils.c (convert_vms_descriptor64): Fix type
1777         consistency error.
1778         (convert_vms_descriptor32): Likewise.
1779
1780 2009-08-22  Aurelien Jarno  <aurelien@aurel32.net>
1781
1782         * gcc-interface/Makefile.in: Add Ada support for 
1783         GNU/kFreeBSD x86_64.
1784         * system-freebsd-x86_64.ads: New file based on 
1785         system-freebsd-x86.ads.
1786
1787 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1788
1789         * gcc-interface/utils.c (convert): In the padded case, do the final
1790         conversion as an unchecked conversion if the underlying types are
1791         array types with variable size.
1792
1793 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1794
1795         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
1796         as visited.
1797         * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
1798         bounds.
1799         * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
1800         fields.
1801         (gnat_gimplify_expr) <DECL_EXPR>: New case.
1802
1803 2009-08-17  Aurelien Jarno  <aurelien@aurel32.net>
1804
1805         * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
1806         (stack_t): New record type.
1807         (sigaltstack): New imported function.
1808         (Alternate_Stack): New imported variable.
1809         (Alternate_Stack_Size): New constant.
1810
1811 2009-08-17  Vasiliy Fofanov  <fofanov@adacore.com>
1812
1813         * a-calend-vms.adb: Fix typo.
1814
1815 2009-08-17  Tristan Gingold  <gingold@adacore.com>
1816
1817         * s-taprop-posix.adb: Round up the stack size to avoid failure on
1818         Darwin.
1819
1820 2009-08-17  Gary Dismukes  <dismukes@adacore.com>
1821
1822         * sem_cat.adb (Validate_Static_Object_Name): Update comment.
1823
1824 2009-08-17  Vincent Celier  <celier@adacore.com>
1825
1826         * make.adb (Arguments_Collected): Unneeded, removed
1827         (Change_To_Object_Directory): Use Project directly. Add pragma Assert to
1828         ensure caller does not pass in No_Project.
1829         (Compile): Add new parameter Project. Let procedure
1830         Collect_Arguments_And_Compile provide the proper value.
1831
1832         * switch-c.adb: Add documentation for -gnatea and -gnatez
1833
1834 2009-08-17  Ben Brosgol  <brosgol@adacore.com>
1835
1836         * gnat_ugn.texi: Changed name of package in SAL example, to avoid
1837         clash with Ada 2005 reserved word (interface).
1838
1839 2009-08-17  Robert Dewar  <dewar@adacore.com>
1840
1841         * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
1842         a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
1843         a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
1844         (use conditional expressions).
1845
1846 2009-08-17  Robert Dewar  <dewar@adacore.com>
1847
1848         * make.adb: Add ??? comment
1849         * tbuild.adb: Minor reformatting
1850
1851 2009-08-17  Thomas Quinot  <quinot@adacore.com>
1852
1853         * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
1854         Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
1855         Use Tbuild.Make_Temporary to create entity for the temporary.
1856
1857 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
1858
1859         * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
1860         and ignore -mieee switch to avoid spawning an extra gcc in this case.
1861
1862 2009-08-17  Thomas Quinot  <quinot@adacore.com>
1863
1864         * tbuild.adb: Minor reformatting
1865
1866 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
1867
1868         * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
1869         exist, as is the case for synchronized types, use the type of the
1870         discriminal in the parameter specification, to prevent a spurious
1871         subtype mismatch in gigi.
1872
1873 2009-08-17  Robert Dewar  <dewar@adacore.com>
1874
1875         * prj-env.adb: Minor reformatting
1876         * make.adb: Minor reformatting
1877         Comment updates
1878
1879 2009-08-17  Javier Miranda  <miranda@adacore.com>
1880
1881         * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
1882
1883 2009-08-17  Emmanuel Briot  <briot@adacore.com>
1884
1885         * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
1886         (Processing_Flags.Require_Obj_Dirs): new field, which controls whether
1887         object directories must be present. In the case of gprclean at least,
1888         these are optional (if they do not exist there is nothing to clean)
1889
1890 2009-08-17  Robert Dewar  <dewar@adacore.com>
1891
1892         * prj-env.adb: Minor reformatting
1893         * sem_ch3.adb: Minor reformatting
1894
1895 2009-08-17  Hristian Kirtchev  <kirtchev@adacore.com>
1896
1897         * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
1898         the time zone since VxWorks chose positive values to represent west
1899         time zones and negative for east zones.
1900
1901 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
1902
1903         * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
1904         an anonymous access type whose designated type is generic.
1905
1906 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
1907
1908         * comperr.adb (Compiler_Abort): Do not generate a bug box when in
1909         codepeer mode, friendlier.
1910
1911 2009-08-10  Laurent GUERBY  <laurent@guerby.net>
1912
1913         * make.adb: Handle multilib
1914         
1915 2009-08-10  Vincent Celier  <celier@adacore.com>
1916
1917         * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
1918         the temporary file name in the error message when the temporary file
1919         cannot be created.
1920
1921 2009-08-10  Yannick Moy  <moy@adacore.com>
1922
1923         * gnat_ugn.texi: Fix typo
1924
1925 2009-08-10  Robert Dewar  <dewar@adacore.com>
1926
1927         * exp_ch7.adb: Add ??? comment for last change
1928
1929 2009-08-10  Vincent Celier  <celier@adacore.com>
1930
1931         * prj-env.adb (Add_To_Buffer): New procedure
1932         (Create_Config_Pragmas_File): Write to temporary file in one shot
1933         (Create_Mapping_File): Ditto
1934         (Set_Ada_Paths): Ditto
1935
1936 2009-08-10  Vincent Celier  <celier@adacore.com>
1937
1938         PR ada/17566
1939         * xref_lib.adb (Print_Xref): Make sure that there is at least one space
1940         between a declaration name and its type.
1941
1942 2009-08-07  Javier Miranda  <miranda@adacore.com>
1943
1944         * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
1945         SCIL node.
1946
1947 2009-08-07  Robert Dewar  <dewar@adacore.com>
1948
1949         * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
1950
1951 2009-08-07  Vincent Celier  <celier@adacore.com>
1952
1953         * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
1954         specified on the command line and there are switches in the Compiler
1955         package of the project file, use these compilation switches to invoke
1956         the tool.
1957
1958 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
1959
1960         * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
1961
1962 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
1963
1964         * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
1965         even if not in main unit, to simplify debugging.
1966
1967 2009-08-07  Arnaud Charlet  <charlet@adacore.com>
1968
1969         * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
1970         * gcc-interface/Make-lang.in: Update dependencies.
1971
1972 2009-08-07  Robert Dewar  <dewar@adacore.com>
1973
1974         * types.ads: Minor reformatting
1975         * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
1976         * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
1977         Output_Non_Modified_In_Out_Warnings.
1978         * sem_ch13.adb: Remove ??? comment.
1979
1980 2009-08-07  Vincent Celier  <celier@adacore.com>
1981
1982         * mlib-prj.adb (Build_Library): Include binder generate object file
1983         for SAL when library name is only one character.
1984
1985 2009-08-07  Thomas Quinot  <quinot@adacore.com>
1986
1987         * targparm.adb: Minor reformatting
1988         * sem.adb: Minor reformatting
1989         * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
1990
1991 2009-08-07  Emmanuel Briot  <briot@adacore.com>
1992
1993         * prj-conf.adb: Remove duplicate directory separator in the output when
1994         an object directory does not exist.
1995
1996 2009-08-07  Robert Dewar  <dewar@adacore.com>
1997
1998         * exp_util.adb: Minor reformatting
1999
2000 2009-08-07  Vincent Celier  <celier@adacore.com>
2001
2002         * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
2003         length used).
2004
2005 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
2006
2007         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
2008         detect non-static private components that will violate restriction
2009         No_Implicit_Heap_Allocation.
2010
2011 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
2012
2013         * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
2014
2015 2009-08-02  Eric Botcazou  <ebotcazou@adacore.com>
2016
2017         * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
2018         * gcc-interface/utils.c (end_subprog_body): Likewise.
2019         * gcc-interface/trans.c (gigi): Likewise.
2020         (gnat_to_gnu): Likewise.
2021
2022 2009-07-30  Ben Brosgol  <brosgol@adacore.com>
2023
2024         * gnat_ugn.texi: Correct minor texi glitch.
2025
2026 2009-07-30  Ed Schonberg  <schonberg@adacore.com>
2027
2028         * exp_util.adb (Expand_Subtype_From_Expr): If the type of the
2029         expression has an underlying representation that is an unchecked union,
2030         there is no subtype to build.
2031
2032 2009-07-30  Robert Dewar  <dewar@adacore.com>
2033
2034         * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
2035         s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
2036         sem_ch7.adb, adaint.c: Minor reformatting
2037
2038 2009-07-29  Javier Miranda  <miranda@adacore.com>
2039
2040         * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
2041         moved from the expander to the semantic analyzer to allow the
2042         generation of these internal entities when compiling with no code
2043         generation. Required by ASIS.
2044         * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
2045         * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
2046         * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
2047         (Expand_Freeze_Record_Type): Remove call to
2048         Add_Internal_Interface_Entities because this routine is now called at
2049         early stage --when the freezing node is analyzed.
2050
2051 2009-07-29  Robert Dewar  <dewar@adacore.com>
2052
2053         * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
2054         exp_disp.adb, g-socket.adb: Minor reformatting
2055
2056 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
2057
2058         * sem_ch7.adb (New_Private_Type): Create class-wide type after other
2059         attributes have been established, so that they are all inherited by the
2060         class-wide type.
2061         * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
2062         properly named subtypes of class-wide types.
2063
2064 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
2065
2066         * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
2067         indicators on user-defined operators.
2068
2069 2009-07-29  Vadim Godunko  <godunko@adacore.com>
2070
2071         * g-socket.adb (Receive_Vector): Add comment.
2072
2073 2009-07-29  Javier Miranda  <miranda@adacore.com>
2074
2075         * frontend.adb (Frontend): Code cleanup.
2076         * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
2077         Rewriten as a procedure because it a new out-mode parameters to
2078         keep up-to-date the controlling tag node in the caller.
2079         (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
2080         new out-mode parameter to keep up-to-date the controlling tag node in
2081         the caller.
2082         * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
2083         exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
2084         package Sem_SCIL.
2085         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
2086         available in new package Sem_SCIL.
2087         (Next_Non_SCIL_Node): Ditto.
2088         * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
2089         package Sem_SCIL.
2090         (Expand_Dispatching_Call): Update call to modified Exp_Atags routines
2091         plus complete decoration of SCIL dispatching node.
2092         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
2093         * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
2094         package Sem_SCIL.
2095         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
2096         * exp_ch3.adb (Build_Init_Procedure): Fix comment.
2097         * sem_scil.ads, sem_scil.adb: New files.
2098         * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
2099         Update dependencies.
2100
2101 2009-07-28  Robert Dewar  <dewar@adacore.com>
2102
2103         * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
2104         makeutl.adb: Minor reformatting & code reorganization
2105         * sem_ch3.adb: Minor reformatting.
2106         Fix spelling error (constraint for constrain) in error msg.
2107
2108 2009-07-28  Emmanuel Briot  <briot@adacore.com>
2109
2110         * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
2111         global variable that also exists in makeutl.ads, and that some routines
2112         in that package use already.
2113         (Check): Moved part of the code to makeutl.adb for better sharing with
2114         gprbuild.
2115
2116 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2117
2118         * gcc-interface/Make-lang.in: Update dependencies.
2119
2120 2009-07-28  Emmanuel Briot  <briot@adacore.com>
2121
2122         * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
2123         importing project does not end up in the list, in the case of extending
2124         projects.
2125         * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
2126         makeutl.ads, for better sharing with gprbuild.
2127
2128 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2129
2130         * gnat_ugn.texi: Fix typo.
2131
2132 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
2133
2134         * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
2135         derivation that renames some discriminants and constrain others.
2136         * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
2137         prefix is a derived untagged type, convert to the root type to conform
2138         to the signature of the protected operations.
2139
2140 2009-07-28  Robert Dewar  <dewar@adacore.com>
2141
2142         * sinfo.ads: Update comments.
2143         * exp_attr.adb: Minor reformatting
2144
2145 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
2146
2147         * sem_aggr.adb (Get_Value): A named association in a record aggregate
2148         should be treated as a modification of the named component, not as a
2149         reference.
2150
2151 2009-07-28  Quentin Ochem  <ochem@adacore.com>
2152
2153         * prj-tree.ads, prj-tree.adb (Free): Minor editing.
2154         * prj.ads, prj.adb (Image): Ditto.
2155
2156 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2157
2158         * frontend.adb: Minor reformatting.
2159         (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
2160         for efficiency.
2161
2162 2009-07-28  Bob Duff  <duff@adacore.com>
2163
2164         * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
2165         'Address to get a pointer to the protected body wrapper.
2166
2167 2009-07-28  Javier Miranda  <miranda@adacore.com>
2168
2169         * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
2170         nodes if we are not generating code.
2171         * frontend.adb (Check_SCIL_Node): New subprogram. Used to check
2172         attribute SCIL_Related_Node of SCIL dispatching nodes.
2173         (Check_SCIL_Nodes): New instantiation of Traverse_Proc.
2174         * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
2175         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
2176         (SCIL_Entity): Update documentation.
2177         (SCIL_Related_Node): Update documentation.
2178         (SCIL_Controlling_Tag): New attribute.
2179         (SCIL_Target_Prim): Update documentation.
2180         (N_Null_Statement): Remove attributes associated with SCIL nodes.
2181         (N_SCIL_Dispatch_Table_Object_Init): New node.
2182         (N_SCIL_Dispatch_Table_Tag_Init): New node.
2183         (N_SCIL_Dispatching_Call): New node.
2184         (N_SCIL_Tag_Init): New node.
2185         * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
2186         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
2187         (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
2188         (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
2189         (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
2190         (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
2191         N_SCIL_Dispatching_Call nodes.
2192         * sem.adb (Analyze): No need to analyze SCIL nodes.
2193         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
2194         (Next_Non_SCIL_Node): New subprogram
2195         * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
2196         dispatching nodes.
2197         * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
2198         dispatching node.
2199         * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
2200         dispatching node.
2201         * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
2202         null statement nodes.
2203         (Build_Init_Procedure): Generate new SCIL node.
2204         * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
2205         node.
2206         * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
2207         they are currently implemented as special N_Null_Statement nodes.
2208         * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
2209         procedure call then check if some SCIL node references it and needs
2210         readjustment.
2211         * exp_disp.ads (SCIL_Node_Kind): Removed.
2212         (Adjust_SCIL_Node): New subprogram.
2213         (Find_SCIL_Node): New subprogram.
2214         (Get_SCIL_Node_Kind): Removed.
2215         (New_SCIL_Node): Removed.
2216         * exp_disp.adb (Adjust_SCIL_Node): New subprogram
2217         (Expand_Dispatching_Call): Generate new SCIL dispatching node including
2218         decoration of its new controlling_tag attribute.
2219         (Get_SCIL_Node_Kind): Removed.
2220         (Find_SCIL_Node): New subprogram.
2221         (Make_Secondary_DT): Generate new SCIL nodes.
2222         (Make_Tags): Generate new SCIL nodes.
2223         (New_SCIL_Node): Removed.
2224         * exp_util.adb (Insert_Actions): Handle SCIL nodes.
2225         (Remove_Side_Effects): Check if relocated nodes require readjustment
2226         of some SCIL dispatching node.
2227         * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
2228
2229 2009-07-28  Robert Dewar  <dewar@adacore.com>
2230
2231         * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
2232
2233 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2234
2235         * gnat_ugn.texi: Add section about gnatcheck rule exemption.
2236
2237 2009-07-28  Vadim Godunko  <godunko@adacore.com>
2238
2239         * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
2240         not defined by limits.h.
2241
2242         * g-socket.adb (Receive_Vector): Use minimum length from user's vector
2243         length and maximum supported length of data vector.
2244
2245 2009-07-28  Gary Dismukes  <dismukes@adacore.com>
2246
2247         * usage.adb: Inhibit printing gcc-specific switches for AAMP target.
2248         * make.adb: Call Get_Target_Parameters before calling Usage so that
2249         VM_Target and AAMP_On_Target will be set.
2250
2251 2009-07-28  Olivier Hainque  <hainque@adacore.com>
2252
2253         * g-ssinty.ads: Remove, pointless and just confusing at this stage.
2254         * gnat_rm.texi: Remove documentation.
2255         * g-sse.ads: Minor reorg along the way.
2256         * gcc-interface/Makefile.in: Remove processing for g-ssinty.
2257         * g-ssvety.ads: Minor comment updates.
2258
2259 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2260
2261         * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
2262         for the new format of the report file.
2263
2264 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2265
2266         * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
2267
2268 2009-07-28  Pascal Obry  <obry@adacore.com>
2269
2270         * g-expect.adb: Record standard handles only on Windows.
2271
2272 2009-07-27  Emmanuel Briot  <briot@adacore.com>
2273
2274         * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
2275         Add comments.
2276
2277 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2278
2279         * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
2280         rule definition the paragraph that explains that generic functions and
2281         functions from generic packages are not checked.
2282
2283 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
2284
2285         * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
2286         procedure when determining whether to set the Overridden_Operation
2287         field of a subprogram overriding an inherited subprogram.
2288         
2289 2009-07-27  Robert Dewar  <dewar@adacore.com>
2290
2291         * a-except.adb, a-except-2005.ads: Minor reformatting
2292
2293 2009-07-27  Robert Dewar  <dewar@adacore.com>
2294
2295         * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
2296
2297 2009-07-27  Javier Miranda  <miranda@adacore.com>
2298
2299         * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
2300         add some documentation explaining why the SCIL nodes must be generated
2301         at that point.
2302
2303 2009-07-27  Olivier Hainque  <hainque@adacore.com>
2304
2305         * a-except.adb: Bind to __builtin_longjmp directly.
2306         * a-except-2005.ads: Provide direct binding to __builtin_longjmp
2307         for sjlj variants.
2308         * a-exexpr.adb: Use it.
2309         * a-except-xi.adb: Likewise.
2310         * raise.c (_gnat_builtin_longjmp): Remove and update comments.
2311         * raise.h (_gnat_builtin_longjmp): Remove declaration.
2312
2313 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2314
2315         * sem_eval.adb (Compile_Time_Compare): More precise handling of
2316         Known_Valid flag, to prevent spurious range deductions when scalar
2317         variables may be uninitialized. New predicate Is_Known_Valid_Operand.
2318
2319 2009-07-27  Robert Dewar  <dewar@adacore.com>
2320
2321         * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
2322         and code clean up.
2323
2324 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2325
2326         * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
2327         Ravenscar mode. Error has already been posted on specification.
2328
2329         * sem.adb: Further code clean ups.
2330
2331 2009-07-27  Robert Dewar  <dewar@adacore.com>
2332
2333         * g-sse.ads: Minor reformatting
2334
2335 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2336
2337         * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
2338         alternate ali extension.
2339         * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
2340         account Osint.ALI_Suffix.
2341         * osint.ads (ALI_Suffix): Make visible.
2342         * gnatfind.adb (Gnatfind): Add support for --ext= switch.
2343         * gnat_ugn.texi: Document new gnatfind --ext= switch.
2344
2345 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2346
2347         * sem.adb (Walk_Library_Items): If main unit is an instance body, do
2348         its spec first.
2349
2350 2009-07-27  Javier Miranda  <miranda@adacore.com>
2351
2352         * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
2353         the dispatching call has is expanded.
2354
2355 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2356
2357         * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
2358         Is_Known_Valid flag on the temporary created for the value whose
2359         validity is being checked.
2360
2361         * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
2362         handle properly main units that are package specifications.
2363
2364 2009-07-27  Geert Bosch  <bosch@adacore.com>
2365
2366         * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
2367         * sem_aux.ads: Fix typo in comment
2368         * sem_util.ads (Is_LHS): Adjust comment to match body
2369
2370 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2371
2372         * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
2373         rule definition.
2374
2375 2009-07-27  Olivier Hainque  <hainque@adacore.com>
2376
2377         * g-sse.ads, g-ssvety.ads: Update comments.
2378
2379 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2380
2381         * gnat_ugn.texi: Update gnatcheck doc.
2382
2383 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2384
2385         * lib-xref.ads: Allocate/document 'o' char for use by references to
2386         spark 'own' variables.
2387
2388 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
2389
2390         * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
2391         objects, since these are implicitly referenced by the return statement.
2392         * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
2393         Is_Return_Object in this procedure, as return objects will never make
2394         it here since they're now marked as Referenced.
2395
2396 2009-07-27  Robert Dewar  <dewar@adacore.com>
2397
2398         * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
2399
2400 2009-07-27  Robert Dewar  <dewar@adacore.com>
2401
2402         * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
2403
2404         * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
2405
2406 2009-07-27  Geert Bosch  <bosch@adacore.com>
2407
2408         * checks.adb (Find_Check): Minor streamlining of logic.
2409         * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
2410         * debug.adb: Document -gnatdX debug flag
2411         * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
2412         list information about reads from scalar entities.
2413         Also slightly simplify condition for Expand_Current_Value.
2414         * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
2415         functions.
2416
2417 2009-07-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2418
2419         PR bootstrap/40578
2420         * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
2421         (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
2422         to these.
2423         (__gnat_stat): Adjust reference to STAT in prototype.
2424         * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
2425         __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
2426         __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
2427         __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
2428         __gnat_is_writable_file, __gnat_is_executable_file,
2429         __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
2430         __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
2431         __gnat_copy_attribs): Adjust all references to the above.
2432         * cstreams.c (__gnat_is_regular_file_fd): Likewise.
2433
2434 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2435
2436         * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
2437         done at the same time, guard against listing a body more than once.
2438
2439 2009-07-23  Robert Dewar  <dewar@adacore.com>
2440
2441         * exp_ch6.adb: Minor reformatting
2442
2443 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2444
2445         * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
2446         static expression is known valid.
2447         * sem_eval.adb (Compile_Time_Compare): Handle properly non-static
2448         operands of a subtype with a single value.
2449
2450 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2451
2452         * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
2453         are in the context of the main unit body.
2454
2455 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2456
2457         * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
2458         misprint in rule description.
2459
2460 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2461
2462         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
2463         test that the object declaration is within an extended return statement
2464         with direct test of whether the declared object associated with the
2465         build-in-place call is a return object, since the enclosing function
2466         might not even be a build-in-place function.
2467
2468 2009-07-23  Robert Dewar  <dewar@adacore.com>
2469
2470         * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
2471         Minor code reorganization
2472
2473 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2474
2475         * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
2476         for static analysis, only packed arrays are causing troubles.
2477
2478 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2479
2480         * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
2481         ancestor part is a call to a limited function with an unconstrained
2482         result subtype unless the aggregate has a null extension type.
2483         * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
2484         the parent type declaration to avoid blowups on subtype cases.
2485
2486 2009-07-23  Robert Dewar  <dewar@adacore.com>
2487
2488         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
2489         comma.
2490
2491         * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
2492
2493         * s-regexp.adb: Minor reformatting
2494         * scos.ads: Minor reformatting.
2495
2496 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2497
2498         * freeze.adb (Set_Small_Size): Remove extra space for consistency with
2499         other similar messages.
2500         * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
2501         messages/implicit packing in CodePeer mode.
2502         (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
2503         * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
2504         CodePeer mode.
2505
2506 2009-07-23  Pascal Obry  <obry@adacore.com>
2507
2508         * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
2509         systems.
2510
2511 2009-07-23  Robert Dewar  <dewar@adacore.com>
2512
2513         * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
2514         Minor reformatting.
2515
2516 2009-07-23  Yannick Moy  <moy@adacore.com>
2517
2518         * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
2519         pattern.
2520         (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
2521         string.
2522         (Raise_Exception): Ditto.
2523
2524 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2525
2526         * g-sse.ads: Simplify comment.
2527
2528 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2529
2530         * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
2531         low level internal type definitions for distinct higher level
2532         binding development activities (user type definitions and
2533         operations).
2534         * gnat_rm.texi: Document it.
2535         * g-ssvety.ads: Use it.
2536         * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
2537         g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
2538         * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
2539         for the "may_alias" attribute.
2540
2541 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2542
2543         * scos.ads: Minor typo fix
2544
2545         * gcc-interface/decl.c (validate_alignment): For the case of an
2546         implicit array base type, look for alignment clause on first subtype.
2547
2548 2009-07-23  Robert Dewar  <dewar@adacore.com>
2549
2550         * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
2551         with tagged parent if tagged parent is fully repped.
2552
2553 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2554
2555         * sem.adb (Walk_Library_Units): Handle properly the case where a unit
2556         in the context depends on the spec of the main unit, by delaying
2557         processing of the main unit body until all other units have been
2558         processed.
2559
2560 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2561
2562         * a-convec.adb: Add comments about suspicious/subtle code.
2563
2564 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2565
2566         * einfo.ads: Document use of Alias in private overriding
2567
2568 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2569
2570         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
2571         an array type, propagate alignment from first subtype to implicit base
2572         type so that other subtypes (such as the itypes for aggregates of the
2573         type) also receive the expected alignment.
2574
2575         * g-comlin.ads: Minor documentation clarification/rewording. 
2576         * scos.ads: Minor comments update.
2577         * lib-writ.ads: Minor reformatting
2578
2579 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2580
2581         * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
2582         of a class-wide interface type that is a return object of a
2583         build-in-place function, bypass the interface-related expansions into
2584         renamings with displacement conversions, etc.
2585         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
2586         for the case where a renaming occurs in a build-in-place context, to
2587         assert that the bypassing of the build-in-place treatment only occurs
2588         in the case of a renaming that is an expansion of a return expression
2589         that is itself a build-in-place function call.
2590
2591 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2592
2593         * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
2594         valid candidate interpretation in a prefixed view if it is hidden, but
2595         overrides an inherited operation declared in the visible part.
2596
2597 2009-07-23  Robert Dewar  <dewar@adacore.com>
2598
2599         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2600         division operands to 64-bit at all in any circumstances.
2601
2602 2009-07-23  Robert Dewar  <dewar@adacore.com>
2603
2604         * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
2605         checking ranges for mod/rem to see if conditional jump will be
2606         generated.
2607         (Analyze_N_Op_Rem): Don't try to check actual lower bounds for
2608         generating special -1 test for rem, generate it whenever both
2609         operands can be negative (match circuit in Sem_Res).
2610         (Analyze_N_Op_Rem): Don't go to base type, no longer needed and
2611         destroys memory of positive range.
2612         * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
2613         checking ranges for mod/rem to see if conditional jump will be generated
2614
2615 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2616
2617         * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
2618         scalar components has non-static bounds, the equivalent aggregate
2619         cannot be built, even if the expression is static, because range checks
2620         will be generated.
2621
2622 2009-07-23  Robert Dewar  <dewar@adacore.com>
2623
2624         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2625         division operands to 64-bit inside a conversion if 64-bit division not
2626         available.
2627
2628 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2629
2630         * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
2631
2632 2009-07-23  Javier Miranda  <miranda@adacore.com>
2633
2634         * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
2635         (Entity/Set_Entity): not available in N_Null_Statement nodes
2636         (Is_Scil_Node): renamed as Is_SCIL_Node
2637         (Scil_Nkind): renamed as SCIL_Nkind
2638         (Scil_Related_Node): renamed as SCIL_Related_Node
2639         (Scil_Target_Prim): renamed as SCIL_Target_Prim
2640         (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
2641         (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
2642         (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
2643         Update documentation
2644         * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
2645         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2646         (New_Scil_Node): Renamed as New_SCIL_Node
2647         * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
2648         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2649         (New_Scil_Node): Renamed as New_SCIL_Node
2650         * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
2651
2652 2009-07-23  Robert Dewar  <dewar@adacore.com>
2653
2654         * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
2655         * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
2656         * einfo.adb: Minor reformatting
2657
2658 2009-07-23  Robert Dewar  <dewar@adacore.com>
2659
2660         * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
2661         cross-referencing the new related code in
2662         Exp_Ch4.Expand_N_Type_Conversion.
2663         * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
2664
2665         * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
2666         Add comment.
2667
2668 2009-07-23  Javier Miranda  <miranda@adacore.com>
2669
2670         * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
2671         Scil_Target_Prim, N_Has_Entity): Add missing documentation.
2672         * exp_disp.ads (Scil_Node_Kind): Ditto.
2673         * exp_disp.adb (Make_DT, Make_Tags): Ditto.
2674         * exp_ch3.adb (Build_Init_Procedure): Ditto.
2675
2676 2009-07-23  Javier Miranda  <miranda@adacore.com>
2677
2678         * einfo.adb (Component_Type): Add missing assertion.
2679         * sem_res.adb (Resolve_Call): Ensure proper kind of entity before
2680         reading attribute Component_Size.
2681         * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
2682         before reading attributes Component_Size and Component_Type.
2683         * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
2684         before reading attribute Component_Type.
2685
2686 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2687
2688         * gnat_rm.texi: Document the GNAT.SSE units.
2689
2690 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2691
2692         * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
2693         not null return if it appears on a subunit.
2694
2695 2009-07-23  Robert Dewar  <dewar@adacore.com>
2696
2697         * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
2698         check right away so it does not get skipped for early returns, e.g.
2699         array assignments.
2700         (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
2701         left-side unless we really know the value is valid.
2702
2703         * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
2704         reformatting. Minor code reorganization. Add comments.
2705
2706 2009-07-23  Robert Dewar  <dewar@adacore.com>
2707
2708         * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
2709         complex condition.
2710
2711 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2712
2713         * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
2714         with test of coverage, to allow specific type objects in extended
2715         returns of class-wide functions. Remove now-unnecessary special-case
2716         tests that allowed this in certain cases of expanded extended returns.
2717
2718 2009-07-23  Javier Miranda  <miranda@adacore.com>
2719
2720         * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
2721         N_Null_Statements (for SCIL nodes).
2722         (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
2723         (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
2724         (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
2725         nodes).
2726         (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
2727         * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
2728         associated with dispatching call.
2729         (Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
2730         (Make_DT, Make_Tags): Add generation of SCIL nodes associated with
2731         initialization of dispatch tables and initialization of tags.
2732         (New_Scil_Node): New function that creates a new SCIL node.
2733         (Build_Init_Procedure): Add generation of SCIL node associated with the
2734         initialization of tags done in the IP subprogram.
2735
2736 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2737
2738         * errout.adb (Error_Msg_NEL): If the entity in the initial message has
2739         Warnings_Off, do not emit continuation messages.
2740
2741         * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
2742         spec.
2743
2744 2009-07-23  Emmanuel Briot  <briot@adacore.com>
2745
2746         * ali.adb: Minor comment update
2747
2748 2009-07-23  Vasiliy Fofanov  <fofanov@adacore.com>
2749
2750         * s-win32.ads (HANDLE): Define to be the same size as address type.
2751         Fix copyright.
2752
2753 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2754
2755         * g-sse.ads: New file. Root of the SSE facilities trees, with
2756         general description and common declarations.
2757         * g-ssvety.ads: New file. Expose user level SSE vector types.
2758         * impunit.adb (Non_Imp_File_Names_95): Register new units.
2759         * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
2760         EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
2761
2762 2009-07-23  Ben Brosgol  <brosgol@adacore.com>
2763
2764         * gnat_ugn.texi: Wordsmithing.
2765
2766 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2767
2768         * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
2769
2770 2009-07-22  Eric Botcazou  <ebotcazou@adacore.com>
2771
2772         * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
2773         they are already of the base type of the index.
2774
2775 2009-07-22  Brett Porter  <porter@adacore.com>
2776
2777         * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
2778
2779 2009-07-22  Robert Dewar  <dewar@adacore.com>
2780
2781         * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
2782         * gnat_ugn.texi: Add documentation for -gnateS switch
2783         * ug_words: Add entry for -gnateS /SCO_OUTPUT
2784         * gcc-interface/Make-lang.in: Update dependencies.
2785
2786         * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
2787         par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
2788         complete information for SCO input/output.
2789
2790 2009-07-22  Sergey Rybin  <rybin@adacore.com>
2791
2792         * gnat_ugn.texi: Update doc for some gnatcheck rules.
2793
2794 2009-07-22  Robert Dewar  <dewar@adacore.com>
2795
2796         * par_sco.adb, par_sco.ads (pscos): New debug routine to output
2797         contents of SCO tables.
2798         * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
2799         scos.adb, scos.ads: New files.
2800         * gcc-interface/Make-lang.in: Update dependencies.
2801
2802         * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
2803         fixes and reformatting.
2804
2805 2009-07-22  Robert Dewar  <dewar@adacore.com>
2806
2807         * g-socket.ads: Minor reformatting
2808
2809 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2810
2811         * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
2812         include the entity kind for following cases of unreferenced entities:
2813         E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
2814
2815 2009-07-22  Ed Falis  <falis@adacore.com>
2816
2817         * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
2818         with taskSuspend.
2819
2820 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2821
2822         * adadecode.c: Make this file compilable outside of GCC.
2823
2824 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2825
2826         * g-socket.adb, g-socket.ads (Check_Selector): Make sure that
2827         (partially) default-initialized socket sets are handled properly by
2828         clearing their Set component.
2829
2830 2009-07-22  Bob Duff  <duff@adacore.com>
2831
2832         * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
2833
2834 2009-07-22  Robert Dewar  <dewar@adacore.com>
2835
2836         * gnat_ugn.texi: Minor reformatting
2837
2838 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2839
2840         * errout.adb (Error_Msg): A style message within an instantiation
2841         should not be labelled as an error.
2842
2843 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2844
2845         * freeze.adb (Freeze_Entity): Do not generate extra formal for function
2846         in initialization expression if function does not have convention Ada.
2847
2848 2009-07-22  Sergey Rybin  <rybin@adacore.com>
2849
2850         * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
2851         '--separate-label' to control label layout.
2852
2853 2009-07-22  Robert Dewar  <dewar@adacore.com>
2854
2855         * exp_tss.ads, sem_eval.adb: Minor reformatting
2856
2857 2009-07-22  Bob Duff  <duff@adacore.com>
2858
2859         * exp_dist.adb, exp_dist.ads: Update comments.
2860
2861 2009-07-22  Brett Porter  <porter@adacore.com>
2862
2863         * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
2864         FPSCR.
2865         * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
2866
2867 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2868
2869         * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
2870         exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
2871         Minor reformatting.
2872         * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
2873         used poor terminology.
2874
2875 2009-07-22  Robert Dewar  <dewar@adacore.com>
2876
2877         * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
2878         * sem_eval.adb, exp_tss.adb: Minor comment update.
2879         * stylesw.adb: Code clean up.
2880
2881 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2882
2883         * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
2884         component size is an exact number of bytes, an array type can have a
2885         size clause that forces packing even though the array type itself is
2886         not bit-packed.
2887
2888 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2889
2890         * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
2891         if there is a previous entity with the same name in the scope, ignore
2892         it if it is the renaming declaration for a generic package introduced
2893         in instances.
2894
2895 2009-07-22  Nicolas Roche  <roche@adacore.com>
2896
2897         * seh_init.c: use RtlAddFunctionTable to register our SEH exception
2898         handler on x86_64 windows.
2899
2900 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2901
2902         * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
2903         false positives in CodePeer, so ignore this pragma in this mode.
2904
2905 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2906
2907         * sem_util.adb, sem_ch10.adb: Minor reformatting
2908
2909         * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
2910         special handling for the case of no data received and Item'First =
2911         Stream_Element_Offset'First.
2912         (Last_Index): New subprogram factoring the above special handling
2913         over the various locations where it is required.
2914
2915 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2916
2917         * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
2918         checks in CodePeer_Mode.
2919         * gcc-interface/Make-lang.in: Update dependencies.
2920
2921 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2922
2923         * sem_aggr.adb: Improve error message.
2924
2925         * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
2926         of an address representation clause.
2927         * freeze.adb (Freeze_Static_Object): An local imported object is legal
2928         if it has an address clause.
2929
2930 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2931
2932         * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
2933         expression to insert an elab check using a conditional expression, be
2934         sure to carry the original list of interpretations to the new location.
2935
2936 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2937
2938         * gnat1drv.adb: Fix spelling error.
2939
2940 2009-07-22  Javier Miranda  <miranda@adacore.com>
2941
2942         * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
2943         at the library level and fix a hidden bug in its implementation: its
2944         functionality for renaming objects was broken because
2945         N_Object_Renaming_Declarations nodes are not a subclass of
2946         N_Declaration nodes (as documented in sinfo.ads).
2947         * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
2948         check nodes that are actuals of generic instantiations.
2949
2950 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2951
2952         * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
2953         context of a compilation unit is being analyzed. Used to detect
2954         circularities created by with_clauses that are not detected by the
2955         loading machinery.
2956         * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
2957         analyzing the context of the current compilation unit, to detect
2958         possible circularities created by with_clauses.
2959
2960 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2961
2962         * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
2963
2964 2009-07-22  Robert Dewar  <dewar@adacore.com>
2965
2966         * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
2967         * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
2968         procedure.
2969         * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
2970         * gnat_ugn.texi: Add documentation of -gnatyB
2971         * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
2972
2973 2009-07-22  Robert Dewar  <dewar@adacore.com>
2974
2975         * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
2976         make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
2977         s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
2978         s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
2979         errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
2980         a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
2981         s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
2982         a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
2983         erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
2984         obey short-circuit style rule.
2985
2986 2009-07-20  Bob Duff  <duff@adacore.com>
2987
2988         * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
2989         instead of "and", because otherwise Parent_Last_Bit is read
2990         uninitialized in the case where it's not a tagged type, or the tagged
2991         parent does not have a complete rep clause.
2992
2993 2009-07-20  Robert Dewar  <dewar@adacore.com>
2994
2995         * stylesw.ads: Minor documentation change.
2996
2997         * types.ads: Minor reformatting
2998
2999 2009-07-20  Javier Miranda  <miranda@adacore.com>
3000
3001         * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
3002         generating the tag checks associated with dispatching calls.
3003         * exp_disp.adb (Apply_Access_Checks): New subprogram.
3004         (New_Value): This routine was previously local to expand dispatching
3005         calls but it is now used also by Apply_Access_Checks.
3006         (Expand_Dispatching_Calls): Cleanup code because the functionality of
3007         tag checks is now provided by Apply_Access_Checks. 
3008         * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
3009         case of dispatching calls.
3010
3011 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
3012
3013         * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
3014         CodePeer_Mode.
3015
3016 2009-07-20  Gary Dismukes  <dismukes@adacore.com>
3017
3018         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
3019         for VMS, only rewrite the first component of the associated exception's
3020         aggregate init (as 'V'), and eliminate the bogus rewrites of the second
3021         and third components  that were being replaced with 'M' and 'S'.
3022
3023 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
3024
3025         * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
3026         Also do not generate error when parsing a spec in CodePeer mode.
3027
3028 2009-07-20  Javier Miranda  <miranda@adacore.com>
3029
3030         * checks.adb (Apply_Access_Check): Avoid checks on availability of
3031         runtime function Offset_To_Top_Ptr when compiling with no tagged
3032         types expansion.
3033         * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
3034         adding code to the init proc when compiling for VM backends.
3035
3036 2009-07-20  Vincent Celier  <celier@adacore.com>
3037
3038         * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
3039         account switches -gnatw.?
3040
3041 2009-07-20  Thomas Quinot  <quinot@adacore.com>
3042
3043         * sem_dist.adb, exp_dist.adb: Minor reformatting
3044
3045         * Make-generated.in: New file.
3046
3047         * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
3048
3049 2009-07-20  Javier Miranda  <miranda@adacore.com>
3050
3051         * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
3052         subprogram.
3053         * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
3054         dynamically tagged expression.
3055         * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
3056         factorizes code.
3057         * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
3058         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
3059
3060 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
3061
3062         * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
3063         CodePeer_Mode is set, to benefit from full front-end expansion
3064         (e.g. generics).
3065
3066 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3067
3068         * sem_res.adb: Add guard.
3069
3070         * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
3071         for possible attribute definition of External_Tag, in case clause
3072         appears in the private part of a package.
3073
3074 2009-07-20  Jerome Guitton  <guitton@adacore.com>
3075
3076         * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
3077
3078 2009-07-20  Vadim Godunko  <godunko@adacore.com>
3079
3080         * a-coorma.adb: Minor reformatting.
3081
3082 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3083
3084         * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
3085         access return types.
3086         * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
3087         provide an itype reference to gigi to force elaboration of the subtype
3088         at the proper point.
3089
3090 2009-07-20  Tristan Gingold  <gingold@adacore.com>
3091
3092         * g-expect.adb: Avoid closeing already closed handle.
3093
3094 2009-07-20  Robert Dewar  <dewar@adacore.com>
3095
3096         * sprint.adb (Write_Subprogram_Name): New procedure to output
3097         subprogram name with possible preceding $ (replaces
3098         Note_Implicit_Run_Time_Call).
3099
3100 2009-07-20  Robert Dewar  <dewar@adacore.com>
3101
3102         * vms_data.ads: Minor reformatting
3103
3104         * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
3105         applies to base type.
3106         (Parent_Subtype): Now allowed on record subtype, applies to base type
3107         * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
3108         for case of fully repped tagged type.
3109         (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
3110         tag save/restore for fully repped tagged type case.
3111         * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
3112         * fe.h (Is_Fully_Repped_Tagged_Type): New function
3113         * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
3114         overlap of tagged type components with parent type if parent type is
3115         fully repped.
3116         * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
3117
3118         * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
3119         comparisons.
3120         (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
3121         (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
3122
3123         * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
3124         logical operators (AND/OR/XOR), not comparison operators.
3125
3126         * sprint.ads: Minor reformatting
3127
3128 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3129
3130         * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
3131         intrinsics, check that argument is a string literal, rather than
3132         checking for staticness.
3133
3134 2009-07-20  Robert Dewar  <dewar@adacore.com>
3135
3136         * sem_ch13.adb: Minor reformatting
3137
3138         * einfo.ads: Minor reformatting
3139         Component_Bit_Offset is no longer considered obsolescent
3140
3141 2009-07-20  Nicolas Roche  <roche@adacore.com>
3142
3143         * a-calend.adb: Redefine time_t as signed integer with same size as
3144         Address type.
3145         * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
3146         Address type
3147         * adaint.h: On Windows 64bits declare OS_Time as long long instead of
3148         long
3149
3150 2009-07-20  Javier Miranda  <miranda@adacore.com>
3151
3152         * exp_tss.adb (Init_Proc): Add missing support for non-default C++
3153         constructors that have anonymous access type formals.
3154
3155         * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
3156         class-wide arguments in case of imported C++ subprograms.
3157
3158         * exp_ch3.adb (Build_Initialization_Call): Add assertion.
3159
3160 2009-07-20  Sergey Rybin  <rybin@adacore.com>
3161
3162         * vms_data.ads: Update qualifiers.
3163
3164 2009-07-20  Robert Dewar  <dewar@adacore.com>
3165
3166         * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
3167         reformatting
3168
3169 2009-07-17  Richard Guenther  <rguenther@suse.de>
3170
3171         PR c/40401
3172         * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
3173         state.  Remove unused parameter.
3174         (gnat_gimplify_function): Do not gimplify here.
3175         Fold into its only caller and remove.
3176         (gnat_builtin_function): Adjust for end_subprog_body signature change.
3177         (gnat_write_global_declarations): Also finalize the CU.
3178         * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
3179         * gcc-interface/trans.c (gigi): Revert to pre-tuples state.
3180         (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
3181         change.
3182         * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
3183
3184 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
3185
3186         * gcc-interface/Make-lang.in: Update dependencies
3187
3188         * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
3189
3190 2009-07-15  Robert Dewar  <dewar@adacore.com>
3191
3192         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
3193         N_Label. Remove SCO table entry for entry point (not used).
3194
3195         * par_sco.ads: Remove SCO entry point type (not used)
3196
3197         * switch.adb: Minor code clean up.
3198
3199 2009-07-15  Eric Botcazou  <ebotcazou@adacore.com>
3200
3201         * exp_dbug.ads (Base Record Types): Document enhanced encoding.
3202
3203 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3204
3205         * gnatls.adb: Minor reformatting
3206
3207         * gnatcmd.adb: Minor code reorganization
3208
3209 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3210
3211         * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
3212         determine whether a component of a private type has a composite type.
3213
3214 2009-07-15  Robert Dewar  <dewar@adacore.com>
3215
3216         * sem_ch10.adb: Minor reformatting throughout
3217         Minor code reorganization (put nested subprograms in alpha order)
3218
3219 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3220
3221         * exp_ch6.adb (Expand_Call): Prevent double attachment of the result
3222         when compiling a call to a protected function that returns a controlled
3223         object.
3224
3225 2009-07-15  Hristian Kirtchev  <kirtchev@adacore.com>
3226
3227         * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
3228         one. Add task locking and unlocking around the critical region which
3229         mentions localtime_r and global variable timezone for various targets.
3230         Comment reformatting.
3231
3232 2009-07-15  Robert Dewar  <dewar@adacore.com>
3233
3234         * gnat_rm.texi: Document s-ststop.ads
3235
3236         * impunit.ad: (Map_Array): New table of alternative names
3237         (Get_Kind_Of_Unit): Return possible suggested alternative name
3238
3239         * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
3240         alternative name.
3241
3242         * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
3243         alternative unit if an implementation unit is with'ed.
3244
3245 2009-07-15  Robert Dewar  <dewar@adacore.com>
3246
3247         * gnat_ugn.texi: Minor updates.
3248
3249         * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
3250
3251 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3252
3253         * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
3254         conditions of a derived boolean type.
3255         Minor reformatting
3256
3257 2009-07-15  Robert Dewar  <dewar@adacore.com>
3258
3259         * gnat1drv.adb: Initialize SCO tables
3260
3261         * par-load.adb: Call SCO_Record for main unit spec
3262
3263         * par.adb: Make call to SCO_Record for main unit
3264
3265         * par_sco.adb (Unit_Table): Change format to facilitate sort
3266         (Process_Decisions): New procedure with list argument
3267         (Traverse_Generic_Package_Declaration): New procedure
3268         (Initialize): New procedure, replaces Init
3269         (SCO_Output): Sort unit table before output
3270         (SCO_Record): Avoid duplications
3271         (SCO_Record): Handle remaining cases of units
3272         (Traverse_Declarations_Or_Statements): Handle generics
3273
3274         * par_sco.ads (Initialize): New peocedure (replaces Init)
3275
3276         * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
3277         subunit.
3278
3279 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
3280
3281         * debug.adb: Add -gnatd.J switch for now to support scil generation in
3282         parallel. Add missing doc for -gnatd.I and -gnatd.O
3283
3284 2009-07-15  Robert Dewar  <dewar@adacore.com>
3285
3286         * lib-load.adb: Minor reformatting
3287
3288         * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
3289
3290 2009-07-15  Robert Dewar  <dewar@adacore.com>
3291
3292         * par.adb: Minor reformatting
3293         Add ??? comment for possible bad comment
3294
3295         * par-ch10.adb: Minor reformatting
3296
3297 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3298
3299         * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
3300         is a literal of a derived boolean type, it appears as an unchecked
3301         conversion. Retrieve actual value from expression of conversion.
3302
3303 2009-07-15  Robert Dewar  <dewar@adacore.com>
3304
3305         * sem_ch3.adb: Minor reformatting
3306
3307         * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
3308         lib-writ.ads, lib-writ.adb: Minor reformatting.
3309         Fix problem with SCO format in ALI files
3310
3311 2009-07-15  Robert Dewar  <dewar@adacore.com>
3312
3313         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3314         exp_aggr.adb: Minor code reorganization (better calling sequence for
3315         Make_Temporary).
3316
3317 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3318
3319         * opt.ads: Minor comment edits
3320
3321 2009-07-15  Tristan Gingold  <gingold@adacore.com>
3322
3323         * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
3324         needed.
3325
3326 2009-07-15  Robert Dewar  <dewar@adacore.com>
3327
3328         * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
3329         information.
3330
3331         * lib-writ.ads: Document addition of SCO lines to ALI file
3332
3333         * par_sco.ads, par_sco.adb: New files.
3334
3335         * opt.ads (Generate_SCO): New switch
3336
3337         * par.adb (Par): Call SCO_Record to record SCO information
3338
3339         * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
3340
3341         * switch-c.adb: Recognize -gnateS to generate SCO information
3342
3343         * usage.adb: Add line for -gnateS
3344
3345         * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
3346
3347 2009-07-15  Robert Dewar  <dewar@adacore.com>
3348
3349         * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
3350         reformatting.
3351
3352 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3353
3354         * g-socthi-mingw.adb: Minor comment addition
3355
3356         * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
3357
3358 2009-07-15  Robert Dewar  <dewar@adacore.com>
3359
3360         * g-htable.ads, s-htable.ads: Minor reformatting
3361
3362 2009-07-15  Robert Dewar  <dewar@adacore.com>
3363
3364         * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
3365         new switch -gnatw.g.
3366         (Set_GNAT_Mode_Warnings): New procedure.
3367
3368         * lib-xref.adb: Minor reformatting
3369
3370 2009-07-15  Robert Dewar  <dewar@adacore.com>
3371
3372         * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
3373         Minor code reorganization
3374
3375 2009-07-14  Taras Glek  <tglek@mozilla.com>
3376             Rafael Espindola  <espindola@google.com>
3377
3378         * gcc-interface/Make-lang.in (ada.install-plugin): New target for
3379         installing plugin headers.
3380
3381 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3382
3383         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3384         exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
3385         and link it to the expression whose value it captures.
3386
3387 2009-07-13  Robert Dewar  <dewar@adacore.com>
3388
3389         * output.adb: Minor comment addition for last change
3390
3391         * sinfo.ads: Minor reformatting
3392
3393 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3394
3395         * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
3396         spawn failed like on all other targets.
3397
3398 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3399
3400         * exp_ch7.adb: Indicate origin of temporary for transient expression.
3401
3402 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3403
3404         * s-oscons-tmplt.c: Add comment.
3405
3406 2009-07-13  Robert Dewar  <dewar@adacore.com>
3407
3408         * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
3409         reformatting. Minor code reorganization (add 9 argument version of
3410         Nkind_In).
3411
3412         * impunit.adb: Remove s-os_lib from list of system extensions.
3413
3414         * sem_util.ads: Minor reformatting
3415
3416         * output.adb: Add warnings off/on around System.OS_Lib.
3417
3418 2009-07-13  Bob Duff  <duff@adacore.com>
3419
3420         * exp_dist.adb: Minor comment updates.
3421
3422 2009-07-13  Gary Dismukes  <dismukes@adacore.com>
3423
3424         * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
3425         several references to CodePeer.
3426
3427 2009-07-13  Bob Duff  <duff@adacore.com>
3428
3429         * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
3430         Build_TypeCode_Function_All): Do not recurse if the type is the base
3431         type.
3432
3433 2009-07-13  Robert Dewar  <dewar@adacore.com>
3434
3435         * exp_ch4.adb: Minor comment change
3436
3437 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3438
3439         * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
3440         type of iteration, to prevent spurious warnings.
3441
3442 2009-07-13  Nicolas Roche  <roche@adacore.com>
3443
3444         * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
3445         included.
3446
3447 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3448
3449         * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
3450         gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
3451         Generate_SCIL.
3452         (CodePeer_Mode): New -gnatC switch.
3453         (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
3454         CodePeer_Mode.
3455
3456 2009-07-13  Eric Botcazou  <ebotcazou@adacore.com>
3457
3458         * checks.adb (Selected_Range_Checks): Do not consider that a non-static
3459         integer bound forces the check if it is compared to its subtype range.
3460
3461 2009-07-13  Robert Dewar  <dewar@adacore.com>
3462
3463         * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
3464         prj-strt.ads: Minor reformatting
3465
3466 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3467
3468         * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
3469         set the type of the From_Any call to the base type.
3470
3471 2009-07-13  Doug Rupp  <rupp@adacore.com>
3472
3473         * symbols-processing-vms-ia64.adb (Process): Add variables and
3474         constants to retrieve and check for symbol visibility.
3475
3476 2009-07-13  Javier Miranda  <miranda@adacore.com>
3477
3478         * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
3479         the identical type we remove the conversion completely because
3480         it is useless.
3481
3482 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3483
3484         * prj-err.adb (Error_Msg): One more case where a message should be
3485         considered as a warning.
3486
3487         * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
3488
3489 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3490
3491         * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
3492         calling stubs in the (library level) scope of the RCI locator, where it
3493         is attached, not in the caller's scope.
3494
3495 2009-07-13  Javier Miranda  <miranda@adacore.com>
3496
3497         * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
3498         interface object declarations we delay the generation of the equivalent
3499         record type declarations until its expansion because there are cases in
3500         which they are not required.            
3501
3502         * sem_util.adb (Implements_Interface): Add missing support for subtypes.
3503
3504         * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
3505         addition of assertion.
3506
3507         * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
3508         interface types require no equivalent constrained type declarations
3509         because the expanded code only references the tag component associated
3510         with the interface.
3511         (Find_Interface_Tag): Improve management of interfaces that are
3512         ancestors of tagged types.
3513
3514         * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
3515         class-wide object declarations to add missing support to statically
3516         displace the pointer to the object to reference the tag component
3517         associated with the interface.
3518
3519         * exp_disp.adb (Make_Tags) Avoid generation of internally generated
3520         auxiliary types associated with user-defined dispatching calls if the
3521         type has no user-defined primitives.
3522
3523 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3524
3525         * mingw32.h: Make it explicit that we need XP or later.
3526
3527         * initialize.c: Remove useless extern symbol declaration.
3528
3529         * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
3530         code reuse in expect.c.
3531
3532         * adaint.c: Changes throughout the Windows section to redesign storage
3533         of the child process list and the process identification.
3534
3535         * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
3536         for interfacing, fix errors.
3537         (__gnat_expect_portable_execvp): use function in adaint.c
3538
3539 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3540
3541         * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
3542         prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
3543         prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
3544         errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
3545         (Prj.Nmsc.Report_Error): Removed, no longer needed.
3546         Always use Prj.Err.Report_Message.
3547
3548 2009-07-13  Robert Dewar  <dewar@adacore.com>
3549
3550         * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
3551         & comment edits.
3552
3553 2009-07-13  Robert Dewar  <dewar@adacore.com>
3554
3555         * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
3556         prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
3557
3558 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3559
3560         * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
3561         mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
3562         Ada_Prj_Include_File_Set): Removed, since not needed
3563         Code clean up.
3564
3565 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3566
3567         * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
3568         Analyze_Membership_Op.
3569
3570         * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
3571         Resolve_Membership_Op.
3572
3573         * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
3574         Expand_N_In.
3575
3576 2009-07-13  Robert Dewar  <dewar@adacore.com>
3577
3578         * clean.adb: Minor reformattting
3579
3580 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3581
3582         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
3583         gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
3584         prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
3585         prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
3586         and attributes in a project tree.
3587         (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
3588         Remove last remaining mode-specific code (ada_only or
3589         multi_language). This was duplicating code
3590         (Get_Mode, Set_Mode): removed, no longer used.
3591         (Initialize_Project_Path): all tools will now take into account both
3592         GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
3593         Remove some global variables and subprograms no longer used
3594         Make temporary files tree-specific, to avoid interferences between
3595         trees loaded in memory at the same time.
3596         (Prj.Delete_Temporary_File): new subprogram
3597         (Object_Paths, Source_Paths): fields no longer stored in the project
3598         tree, since they are only needed locally in Set_Ada_Paths.
3599         (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
3600         effect in practice.
3601         (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
3602         by local variables in the appropriate subprograms
3603         (Has_Foreign_Sources): removed.
3604
3605         * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
3606
3607 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3608
3609         * gnat1drv.adb (Adjust_Global_Switches): No longer set
3610         Back_Annotate_Rep_Info in inspector mode.
3611         (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
3612
3613         * opt.ads: Update comment.
3614
3615 2009-07-13  Robert Dewar  <dewar@adacore.com>
3616
3617         * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
3618         prj.ads: Minor reformatting and code reorganization.
3619
3620         * par-ch3.adb (Check_Restricted_Expression): New procedure
3621
3622 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3623
3624         * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
3625         attribute into a call of the corresponding suprogram, create extra
3626         formals for the subprogram, because it may be a renaming whose
3627         analysis does not create extra formals.
3628
3629 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3630
3631         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
3632         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3633         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
3634         prj-tree.ads: Minor reformatting.
3635         (Processing_Flags): new record to encapsulate the set of common
3636         parameters to several subprograms in the project manager.
3637         (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
3638         Remove the need for the Current_Dir parameter in subprograms.
3639         (Look_For_Sources): minor refactoring, now that we no longer need to
3640         share subprograms between the two Ada_Only and Multi_Language modes
3641         (Processing_Flags): New field Error_On_Unknown_Language.
3642         Merge tests for library project between gnatmake and gprbuild.
3643
3644 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3645
3646         * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
3647         Minor reformatting.
3648
3649 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3650
3651         * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
3652         than units.
3653
3654 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3655
3656         * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
3657         Write,Input,Output} from private view to full view.
3658
3659         * sem_type.adb, sem_type.ads: Minor reformatting
3660
3661 2009-07-13  Nicolas Setton  <setton@adacore.com>
3662
3663         * exp_dbug.ads: Add documentation note on the utility of
3664         DW_AT_GNAT_encoding for IDEs.
3665
3666 2009-07-13  Robert Dewar  <dewar@adacore.com>
3667
3668         * g-socthi-vxworks.adb: Minor reformatting
3669
3670         * gnatcmd.adb: Minor reformatting
3671
3672 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3673
3674         * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
3675         removed, not used anymore.
3676         (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
3677         New subprogram, implements copy of an Any value into a limited object.
3678         (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
3679         Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
3680         Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
3681         of parameters of a limited type, use the above new subprogram.
3682
3683 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3684
3685         * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
3686         Location.
3687         (Copy_ALI_Files): Avoid calls to read when pointing outside of the
3688         allocated space.
3689         (Error_Report): Remove global variable, replaced by parameters.
3690
3691 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3692
3693         * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
3694         standard sendto(2) interface for connected sockets (passing a null
3695         destination address). Use send(2) instead for that case.
3696
3697 2009-07-13  Pascal Obry  <obry@adacore.com>
3698
3699         * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
3700
3701 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3702
3703         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
3704         prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
3705         variables and tables in prj-nmsc.adb.
3706         (Tree_Processing_Data): Renames Processing_Data, some new fields added
3707         (Project_Processing_Data): New record
3708         Simplify/unify check for missing sources.
3709
3710 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3711
3712         * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
3713         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3714         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
3715         prj-tree.ads (Immediate_Directory_Of): Removed.
3716         (Prj.Pars): Now parse the project simulating a default config file.
3717         (Add_Default_GNAT_Naming_Scheme): New subprogram
3718         (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
3719         Remove gnatmake-specific parsing of source files.
3720         (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
3721         the error itself to provide more precise diagnostics.
3722         (Process_Exceptions_Unit_Based): Avoid duplicate error message when
3723         a unit belongs to several projects.
3724         (Copy_Interface_Sources): Search the full path of files to copy in the
3725         list of sources of the application rather than in the list of units.
3726         (Parse_Project_And_Apply_Config): Do not reset the name of the main
3727         project file.
3728         (Check_File): Use htables to find out whether a source is duplicated.
3729         (Add_Source): check whether the source or unit were already seen earlier
3730
3731         * gcc-interface/Makefile.in: Update gnatmake dependencies.
3732
3733 2009-07-13  Robert Dewar  <dewar@adacore.com>
3734
3735         * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
3736         expression if extensions permitted.
3737
3738         * par-ch4.adb (P_Membership_Test): New procedure (implement membership
3739         set tests).
3740         (P_Relation): Use P_Membership_Test
3741
3742         * par.adb (P_Membership_Test): New procedure (implement membership set
3743         tests).
3744
3745         * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
3746
3747         * sprint.adb (Sprint_Node): Handle set form for membership tests.
3748
3749 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3750
3751         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
3752         Do not attempt to generate stubs for predefined primitives of
3753         synchronized interfaces.
3754         (Add_Stub_Type): Factor some code from the PCS-specific variants of
3755         Build_Stub_Type.
3756
3757 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3758
3759         * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
3760         Controlling_Result flag from the operation they override.
3761
3762 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3763
3764         * gcc-interface/Make-lang.in: Update dependencies
3765
3766 2009-07-13  Robert Dewar  <dewar@adacore.com>
3767
3768         * gnat_ugn.texi: The gnatf switch no longer is needed to get full
3769         details on unsupported constructs.
3770
3771         * rtsfind.adb: Remove references to All_Errors_Mode, give errors
3772         unconditionally.
3773
3774         * s-trafor-default.adb: Correct some warnings
3775
3776         * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
3777         sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
3778         Minor reformatting.
3779
3780         * par-ch4.adb (Conditional_Expression): Capture proper location for
3781         conditional expression, should point to IF.
3782
3783         * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
3784         s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
3785         g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
3786         reorganization (use conditional expressions).
3787
3788 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3789
3790         * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
3791         build-in-place function that returns an inherently limited type (not
3792         just a task type) create proper object declaration so that extra
3793         build-in-place actuals are properly added to the call.
3794
3795 2009-07-13  Robert Dewar  <dewar@adacore.com>
3796
3797         * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
3798
3799         * gnat_ugn.texi: Add documentation for -gnatw.m/.M
3800
3801         * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
3802
3803         * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
3804         Warn_On_Suspicious_Modulus_Value.
3805
3806         * ug_words: Add entries for -gnatw.m/-gnatw.M.
3807
3808         * usage.adb: Add lines for -gnatw.m/.M switches.
3809
3810         * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
3811
3812 2009-07-13  Javier Miranda  <miranda@adacore.com>
3813
3814         * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
3815         reading the Is_Interface attribute of the dispatching type.
3816
3817 2009-07-13  Robert Dewar  <dewar@adacore.com>
3818
3819         * a-convec.adb: Minor code reorganization (use conditional expressions)
3820
3821 2009-07-13  Robert Dewar  <dewar@adacore.com>
3822
3823         * freeze.adb (Check_Suspicious_Modulus): New procedure.
3824
3825 2009-07-13  Robert Dewar  <dewar@adacore.com>
3826
3827         * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
3828         warning).
3829
3830         * par-ch4.adb: Minor reformatting
3831
3832 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3833
3834         * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
3835         => Is_Atomic_Aggregate
3836
3837 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3838
3839         * prj-nmsc.adb: Avoid traversing the list of source files if
3840         we have already processed all locally removed files.
3841
3842 2009-07-13  Jose Ruiz  <ruiz@adacore.com>
3843
3844         * gnat_ugn.texi: Fix typo.
3845
3846 2009-07-13  Robert Dewar  <dewar@adacore.com>
3847
3848         * freeze.adb: Minor reformatting
3849         Minor code reorganization (use Nkind_In)
3850
3851         * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
3852
3853 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
3854
3855         * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
3856         local variable and do not test it in Compile_Time_Bad_Alignment.
3857         Do not issue size or alignment warnings for the X'Address form.
3858         * sem_util.ads (Find_Overlaid_Object): Delete.
3859         (Find_Overlaid_Entity): New procedure.
3860         * sem_util.adb (Find_Overlaid_Object): Rename to...
3861         (Find_Overlaid_Entity): ...this and turn into a procedure.  Report
3862         whether the address is offseted within the overlaid entity.
3863         (Has_Compatible_Alignment): Track the offset globally instead of
3864         passing it to Check_Offset.  For an indexed component, compute the
3865         full offset when possible.  If the resulting offset is zero, only
3866         check the prefix.
3867         (Check_Offset): Delete.
3868         * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
3869         (Address_Aliased_Entity): Delete.
3870         (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
3871         Find_Overlaid_Entity to find the overlaid entity and the offset.
3872         Adjust throughout for above change.
3873         (Validate_Address_Clauses): Always use attributes of entities, not of
3874         their type.  Tweak message for warning.  Call Has_Compatible_Alignment
3875         if the address is offseted to warn about incompatible alignments.
3876         * gcc-interface/gigi.h (annotate_object): Declare.
3877         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
3878         entity.  Call annotate_object instead of annotating manually objects.
3879         (annotate_object): New function.
3880         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
3881         at the end.
3882
3883 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
3884
3885         * gcc-interface/ada-tree.h: Minor reorganization.
3886         * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
3887         (gnat_print_type): Likewise.
3888
3889 2009-07-11  Thomas Quinot  <quinot@adacore.com>
3890
3891         * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
3892         Lvalue -> lvalue
3893
3894         * exp_ch6.adb: Minor reformatting
3895
3896 2009-07-11  Ed Schonberg  <schonberg@adacore.com>
3897
3898         * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
3899         account possible type qualification to determine whether aggregate
3900         needs a target temporary to respect atomic type or object.
3901
3902         * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
3903         Expand_Atomic_Aggregate.
3904
3905 2009-07-11  Emmanuel Briot  <briot@adacore.com>
3906
3907         * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
3908         algorithm.
3909         (Excluded_Sources_Htable): No longer a global table.
3910         Change error message to indicate which files are illegal in the list
3911         of excluded files, as opposed to only the location in the project
3912         file.
3913         (Find_Source): New subprogram.
3914
3915 2009-07-10  Thomas Quinot  <quinot@adacore.com>
3916
3917         * exp_ch7.adb: Update comments.
3918
3919 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
3920
3921         * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
3922         clause if -gnatI is set instead of crashing.
3923
3924 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3925
3926         * sem_ch11.adb (Same_Expression): Null is always equal to itself.
3927         Additional work to remove redundant successive raise statements, in
3928         this case access checks.
3929
3930 2009-07-10  Vincent Celier  <celier@adacore.com>
3931
3932         * make.adb (Compile): Always create a deep copy of the mapping file
3933         argument (-gnatem=...) as it may be deallocate/reallocate by
3934         Normalize_Arguments.
3935
3936 2009-07-10  Javier Miranda  <miranda@adacore.com>
3937
3938         * einfo.adb (Directly_Designated_Type): Add assertion.
3939         
3940         * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
3941         access types before using attribute Directly_Designated_Type.
3942
3943 2009-07-10  Emmanuel Briot  <briot@adacore.com>
3944
3945         * prj.ads: Minor typo fix
3946
3947 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3948
3949         * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
3950         special treatment.
3951
3952         * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
3953         subprogram is a function call, resolve properly, to ensure that extra
3954         actuals are added as needed.
3955
3956 2009-07-10  Thomas Quinot  <quinot@adacore.com>
3957
3958         * sem_aggr.adb: Minor comments editing
3959
3960         * exp_tss.adb, exp_ch3.adb: Minor reformatting
3961
3962 2009-07-10  Robert Dewar  <dewar@adacore.com>
3963
3964         * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
3965
3966         * exp_ch4.adb: Add ??? comment for conditional expressions on limited
3967         types.
3968
3969         * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
3970         replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
3971         case of conditional expressions that may not be elaborated.
3972
3973         * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
3974         conditional expression where we may not execute then then or else
3975         branches.
3976
3977 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
3978
3979         * i-cexten.ads (bool): New type.
3980
3981 2009-07-10  Robert Dewar  <dewar@adacore.com>
3982
3983         * sinfo.ads (N_Short_Circuit): New definition
3984         
3985         * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
3986         treepr.adb: Minor code reorganization (use N_Short_Circuit)
3987
3988 2009-07-10  Javier Miranda  <miranda@adacore.com>
3989
3990         * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
3991         non-tagged record types.
3992
3993         * sem_prag.adb
3994         (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
3995         with non-tagged types. Required to import C++ classes that have no
3996         virtual primitives.
3997         (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
3998         returning non-tagged types. For backward compatibility, if the
3999         constructor returns a class wide type we internally change the
4000         returned type to the corresponding non class-wide type.
4001
4002         * sem_aggr.adb
4003         (Valid_Ancestor_Type): CPP_Constructors code cleanup.
4004         (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
4005         (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
4006         (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
4007
4008         * sem_ch3.adb
4009         (Analyze_Object_Declaration): CPP_Constructors code cleanup.
4010
4011         * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
4012
4013         * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
4014
4015         * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
4016
4017         * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
4018         cleanup.
4019         
4020         * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
4021
4022         * gnat_rm.texi
4023         (pragma CPP_Class): Document that it can be used now with non-tagged
4024         record types.
4025         (pragma CPP_Constructor): Document that it can be used now with
4026         functions returning specific types. For backward compatibility
4027         we also support functions returning class-wide types.
4028
4029         * gnat_ugn.texi
4030         (Interfacing with C++ constructors): Update the examples to incorporate
4031         the new syntax in which the functions used to import C++ constructors
4032         return specific types.
4033         (Interfacing with C++ at the Class Level): Update the examples to
4034         incorporate the new syntax in which the functions used to import
4035         C++ constructors return specific types.
4036
4037 2009-07-10  Thomas Quinot  <quinot@adacore.com>
4038
4039         * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
4040         Make_Disp_Conditional_Select_Body,
4041         Make_Disp_Timed_Select_Body): For the case of a type that is neither an
4042         interface nor a concurrent type, the primitive body is empty. Generate
4043         a null statement so that it remains well formed.
4044
4045 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4046
4047         * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
4048         replace references to them in defaulted component expressions with
4049         references to the values of the discriminants of the target object.
4050
4051 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4052
4053         * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
4054         pragma, to capture global references if the context is generic.
4055
4056         * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
4057         appears within the initialization procedure for the corresponding
4058         record, replace it with the proper discriminal.
4059
4060 2009-07-10  Vincent Celier  <celier@adacore.com>
4061
4062         * make.adb: Do not include object directories or library ALI
4063         directories of library projects in the object path.
4064
4065 2009-07-10  Javier Miranda  <miranda@adacore.com>
4066
4067         * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
4068         Typ argument to ensure proper management of access types.
4069
4070 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4071
4072         * exp_ch7.adb (Build_Final_List): If the list is being built for a
4073         Taft-Amendment type, place the finalization list in the package body,
4074         to ensure that the tree for the spec is identical whenever it is
4075         compiled.
4076
4077 2009-07-10  Javier Miranda  <miranda@adacore.com>
4078
4079         * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
4080         inheriting attributes from a private Parent_Base.
4081
4082 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4083
4084         * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
4085         statements with the same condition.
4086
4087 2009-07-10  Robert Dewar  <dewar@adacore.com>
4088
4089         * exp_ch4.adb (Raise_Accessibility_Error): New procedure
4090
4091 2009-07-09  Tom Tromey  <tromey@redhat.com>
4092
4093         * raise-gcc.c: Include dwarf2h (unconditionally).
4094
4095 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4096
4097         * sem_ch10.adb (Install_Context): If the unit is a package body,
4098         install the private with_clauses of the corresponding package
4099         declaration.
4100
4101 2009-07-09  Robert Dewar  <dewar@adacore.com>
4102
4103         * checks.adb: Minor reformatting
4104
4105 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4106
4107         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
4108         into ug_words.
4109
4110 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4111
4112         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
4113         Do not warn for a constant overlaying any constant object
4114
4115 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4116
4117         * sem_ch10.adb (Install_Context): If the unit is a package body,
4118         install the private with_clauses of the corresponding package
4119         declaration.
4120
4121 2009-07-09  Robert Dewar  <dewar@adacore.com>
4122
4123         * checks.adb: Minor reformatting
4124
4125 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4126
4127         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
4128         into ug_words.
4129
4130 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4131
4132         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
4133         Do not warn for a constant overlaying any constant object
4134
4135 2009-07-09  Arnaud Charlet  <charlet@adacore.com>
4136
4137         * gcc-interface/Make-lang.in: Update dependencies
4138
4139 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4140
4141         * g-socket.adb (Check_Selector): Do not create local copies of the
4142         socket sets on the stack.
4143
4144 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4145
4146         * gnat_ugn.texi: Add missing VMS translations.
4147
4148 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4149
4150         * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
4151         condition, to prevent generation of visible code during expansion,
4152         when Check is not enabled.
4153
4154 2009-07-09  Gary Dismukes  <dismukes@adacore.com>
4155
4156         * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
4157         the check gets registered for any available local handler
4158         (Set_Local_Raise).
4159
4160         * sem_util.adb: Add with and use of Exp_Ch11.
4161         (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
4162         that the check gets registered for any available local handler.
4163
4164         * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
4165         on slice ranges.
4166
4167 2009-07-09  Steve Baird  <baird@adacore.com>
4168
4169         * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
4170         function.
4171         (Expand_N_Exception_Declaration): Fix handling of exceptions
4172         declared in a subprogram.
4173
4174 2009-07-09  Emmanuel Briot  <briot@adacore.com>
4175
4176         * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
4177         multi-unit files.
4178
4179 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4180
4181         * freeze.adb: Minor reformatting
4182
4183         * exp_ch3.adb: Minor comment fix.
4184
4185         * sinfo.ads: Minor comment fix
4186
4187 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4188
4189         * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
4190
4191 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4192
4193         * freeze.adb (Freeze_Expression): If the expression is the name of a
4194         function in a call, and the function has not been frozen yet, create
4195         extra formals for it to ensure that the proper actuals are created
4196         when expanding the call.
4197
4198 2009-07-09  Emmanuel Briot  <briot@adacore.com>
4199
4200         * prj-pp.adb (Print): Fix handling of source index when set on a
4201         declaration node.
4202
4203 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4204
4205         * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
4206         a temporary to the source expression whose value it captures.
4207
4208         * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
4209
4210 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4211
4212         * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
4213         EXPR_LOCATION.
4214
4215 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
4216
4217         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
4218         parameters when the subtype of the actual is not known to be a subrange
4219         of the formal's subtype.
4220         (Expand_Call): Generate a range check only in the E_In_parameter case
4221         (in out parameter range checks are now handled in Expand_Actuals).
4222
4223         * exp_ch4.adb (Expand_N_Slice): Restore code that calls
4224         Enable_Range_Check.
4225
4226 2009-07-07  Robert Dewar  <dewar@adacore.com>
4227
4228         * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
4229
4230 2009-07-07  Javier Miranda  <miranda@adacore.com>
4231
4232         * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
4233         designated type comes from a limited views.
4234
4235 2009-07-07  Emmanuel Briot  <briot@adacore.com>
4236
4237         * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
4238         locally removed files that are later made visible again in an importing
4239         project.
4240
4241 2009-07-07  Robert Dewar  <dewar@adacore.com>
4242
4243         * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
4244
4245 2009-07-07  Sergey Rybin  <rybin@adacore.com>
4246
4247         * gnat_ugn.texi: Add an example to the description of gnatcheck
4248         'Style_Checks' rule option.
4249
4250 2009-07-07  Tristan Gingold  <gingold@adacore.com>
4251
4252         * seh_init.c: Fix inline assembly statement in seh_init.c
4253
4254 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4255
4256         * sem_warn.adb (Check_References): Do not emit warnings on formals of
4257         an entry body. Only the formals of the entry declaration are traced.
4258
4259 2009-07-07  Robert Dewar  <dewar@adacore.com>
4260
4261         * s-osprim-mingw.adb: Minor code reorganization
4262
4263 2009-07-07  Robert Dewar  <dewar@adacore.com>
4264
4265         * prj-nmsc.adb: Minor reformatting
4266
4267 2009-07-07  Pascal Obry  <obry@adacore.com>
4268
4269         * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
4270         cases where Pattern is longer than Source.
4271
4272 2009-07-07  Pascal Obry  <obry@adacore.com>
4273
4274         * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
4275
4276 2009-07-07  Emmanuel Briot  <briot@adacore.com>
4277
4278         * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
4279         project file.
4280
4281 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4282
4283         * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
4284         primitive operations, in case one of them is called in the
4285         initialization procedure for the type.
4286
4287 2009-07-07  Robert Dewar  <dewar@adacore.com>
4288
4289         * a-calend.adb: Minor code reorganization (use conditional expressions)
4290
4291         * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
4292         prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
4293         s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
4294         s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
4295         s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
4296         g-comlin.adb, exp_ch11.adb: Minor reformatting.
4297
4298 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
4299
4300         * checks.adb (Generate_Range_Check): Replace type conversions with
4301         unchecked conversions to support the case of performing range checks
4302         on Enum'Val (permits integer values to be converted to enumeration).
4303
4304         * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
4305         Attribute_Succ): Set Do_Range_Check to False before calling
4306         Expand_Pred_Succ, to prevent gigi from generating any range checks.
4307         (Expand_N_Attribute_Reference, case Attribute_Val):
4308         Generate a range check when needed (and set Do_Range_Check to False).
4309
4310         * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
4311         scalar object initialization if needed.
4312
4313         * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
4314         when needed on scalar allocators.
4315         (Expand_N_Qualified_Expression): Generate range check when needed.
4316         (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
4317         Checks on slice ranges handled in Resolve_Slice.
4318
4319         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
4320         when needed, for all scalar assignments, not just discrete.
4321         (Expand_Simple_Function_Return): Resolve the conversion created for a
4322         scalar function return so that the conversion will get expanded to
4323         generate a possible constraint check.
4324
4325         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
4326         in out scalar actuals when subtypes don't match, to ensure generation
4327         of return checks (and set Do_Range_Check to False).
4328         (Expand_Call): Uncomment code to perform range checks, but make it apply
4329         only to in and in out parameters (checks on parameter returns are
4330         handled in Expand_Actuals). If a scalar actual for a call to a derived
4331         subprogram is marked as needing a range check, peform it here (and set
4332         Do_Range_Check to False).
4333
4334         * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
4335         range check on scalar component associations when needed.
4336
4337         * sem_eval.adb (In_Subrange_Of): Return False when the first type has
4338         infinities but the second type does not, as these aren't compatible
4339         floating-point types.
4340
4341         * sem_res.adb (Resolve_Slice): In the case where the prefix of the
4342         slice is itself a slice, pick up the Etype of the prefix. This handles
4343         the case where the prefix was an Image attribute expanded to a slice,
4344         and ensures that we get the subtype with the slice constraint rather
4345         than the unconstrained subbtype of the 'Image.
4346
4347 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4348
4349         * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
4350         overloaded expressions in a conditional expressions.
4351
4352         * sem_res.adb (Resolve): Handle properly overloaded conditional
4353         expressions.
4354
4355 2009-07-07  Robert Dewar  <dewar@adacore.com>
4356
4357         * scng.adb: Minor reformattting
4358
4359         * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
4360         association allows conditional expression without parens.
4361
4362         * par-ch4.adb (P_Name): Attribute arguments can be conditional
4363         expressions without enclosing parentheses, and also as parameters,
4364         indexing expressions etc.
4365         (P_Conditional_Expression): New procedure
4366         (P_Expression_If_OK): New procedure
4367
4368         * par.adb (P_Conditional_Expression): New procedure
4369         (P_Expression_If_OK): New procedure
4370
4371         * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
4372         form of conditional expression.
4373
4374         * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
4375         missing True argument if ELSE argument missing.
4376
4377         * sinfo.adb (Is_Elsif): New flag
4378
4379         * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
4380         part of the language, and the documentation is modified accordingly.
4381         (Is_Elsif): New flag
4382
4383 2009-07-06  Olivier Hainque  <hainque@adacore.com>
4384
4385         * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
4386         setjmp_longjmp): Attach the exception propagation reraise fallback
4387         to the sequence end label location when we have it.
4388
4389 2009-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
4390
4391         PR ada/40608
4392         * init.c (APPLE): Include <mach/mach_init.h>.
4393         (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
4394
4395 2009-07-04  Eric Botcazou  <ebotcazou@adacore.com>
4396
4397         * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
4398         (SET_DECL_LANG_SPECIFIC): Likewise.
4399         (TYPE_RM_VALUE): New macro.
4400         (SET_TYPE_RM_VALUE): Likewise.
4401         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
4402         (TYPE_RM_MIN_VALUE): Likewise.
4403         (TYPE_RM_MAX_VALUE): Likewise.
4404         (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
4405         (SET_TYPE_RM_MIN_VALUE): Likewise.
4406         (SET_TYPE_RM_MAX_VALUE): Likewise.
4407         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
4408
4409 2009-07-04  Laurent GUERBY  <laurent@guerby.net>
4410
4411         PR ada/40631
4412         * tracebak.c (__gnat_backtrace): Fix old-style definition.
4413
4414 2009-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4415
4416         * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
4417
4418 2009-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4419
4420         PR ada/40609
4421         * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
4422         ucontext argument.
4423
4424 2009-07-01  Eric Botcazou  <ebotcazou@adacore.com>
4425
4426         * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
4427
4428 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4429
4430         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
4431         the type of the left operand if it pads a self-referential type when
4432         the right operand is a constructor.
4433
4434         * gcc-interface/lang-specs.h: Fix copyright date.
4435
4436 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4437
4438         * gcc-interface/decl.c: Include tree-inline.h.
4439         (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
4440         * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
4441         * gcc-interface/utils2.c: Include tree-inline.
4442         (known_alignment) <CALL_EXPR>: Likewise.
4443
4444 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4445
4446         * raise-gcc.c: Include dwarf2.h conditionally.
4447         
4448 2009-06-29  Tom Tromey  <tromey@redhat.com>
4449
4450         * raise-gcc.c: Include elf/dwarf2.h.
4451
4452 2009-06-27  Laurent GUERBY  <laurent@guerby.net>
4453
4454         * tb-gcc.c (trace_callback): Add casts to silence warning.
4455
4456 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4457
4458         * tb-gcc.c: Fix copyright notice.
4459
4460 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4461
4462         * init.c (__gnat_set_globals): Add prototype.
4463         * adaint.c (__gnat_binder_supports_auto_init): Likewise.
4464         (__gnat_sals_init_using_constructors): Likewise.
4465         * gcc-interface/utils.c (gnat_pushlevel): Likewise.
4466         (get_block_jmpbuf_decl): Likewise.
4467         (gnat_poplevel): Likewise.
4468         (merge_sizes): Rename local variable.
4469         (copy_type): Likewise.
4470         (build_vms_descriptor32): Likewise.
4471         (build_vms_descriptor): Likewise.
4472         (convert_vms_descriptor64): Likewise.
4473         (convert_vms_descriptor32): Likewise.
4474         (convert_to_fat_pointer): Likewise.
4475         (maybe_unconstrained_array): Likewise.
4476         (def_fn_type): Use promoted type with va_arg.
4477         * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
4478         (substitute_in_type): Rename local variable.
4479         * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
4480
4481 2009-06-26  Laurent GUERBY  <laurent@guerby.net>
4482
4483         * tb-gcc.c (trace_callback): Use char* instead of void*.
4484         * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
4485         * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
4486         (Attribute_to_gnu): Adjust for above change.
4487         (Subprogram_Body_to_gnu): Likewise.
4488         * gcc-interface/utils.c (merge_sizes): Rename local variable.
4489         (copy_type): Likewise.
4490         (build_vms_descriptor32): Likewise.
4491         (build_vms_descriptor): Likewise.
4492         (convert_vms_descriptor64): Likewise.
4493         (convert_vms_descriptor32): Likewise.
4494         (convert_to_fat_pointer): Likewise.
4495         (maybe_unconstrained_array): Likewise.
4496         * gcc-interface/decl.c (substitute_in_type): Likewise.
4497
4498 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4499
4500         * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
4501         (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
4502         of the upper bound of the index types.
4503
4504 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4505
4506         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
4507         out common predicate.  Use the maximum to compute the upper bound of
4508         the index type only when it is not wider than sizetype.  Perform the
4509         comparison in the index type for the generic expression.  Use real
4510         precision to decide whether to generate special types for debugging
4511         information.
4512
4513 2009-06-26  Matthew Gingell  <gingell@adacore.com>
4514
4515         * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
4516
4517 2009-06-26  Vincent Celier  <celier@adacore.com>
4518
4519         * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
4520         default.
4521
4522 2009-06-26  Robert Dewar  <dewar@adacore.com>
4523
4524         * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
4525
4526 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4527
4528         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
4529         correct arguments to create_field_decl.  Remove redundant iteration.
4530         Rewrite computation of the maximum size.
4531         <E_Array_Subtype>: Reorder and simplify handling of special cases.
4532         Rewrite computation of the maximum size.  Use consistent naming.
4533         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
4534         comparison order for consistency.  Use generic integer node to
4535         build the operator and fold the result.
4536
4537 2009-06-25  Vincent Celier  <celier@adacore.com>
4538
4539         * vms_data.ads: Minor comment change
4540
4541 2009-06-25  Gary Dismukes  <dismukes@adacore.com>
4542
4543         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
4544         assignment statement to targeting a caller-provided object when the
4545         result type is an interface type.
4546
4547         * exp_ch6.adb (Expand_Call): Remove redundant test of
4548         Is_Limited_Interface (Is_Inherently_Limited is sufficient).
4549         (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
4550
4551         * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
4552         to OK_For_Limited_Init.
4553
4554         * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
4555         condition so that True is returned for all limited interfaces, not
4556         just synchronized ones. Ignore components of an interface type when
4557         checking for limited components (such a component can be a parent
4558         component).
4559
4560         * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
4561         (OK_For_Limited_Init): Add type parameter.
4562
4563         * sem_ch3.adb (Check_Initialization): Add type in call to
4564         OK_For_Limited_Init.
4565         (OK_For_Limited_Init): Add new type param in call to
4566         OK_For_Limited_Init_In_05.
4567         (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
4568         nonlimited type when the context type is a limited interface. Add type
4569         on recursive calls.
4570
4571         * sem_ch4.adb (Analyze_Allocator): Add type in call to
4572         OK_For_Limited_Init.
4573
4574         * sem_ch6.adb (Check_Limited_Return): Add type in call to
4575         OK_For_Limited_Init.
4576
4577         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
4578         OK_For_Limited_Init.
4579         (Instantiate_Object): Add type in call to OK_For_Limited_Init.
4580
4581         * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
4582         class-wide interface, get the base type before applying Etype, in order
4583         to account for class-wide subtypes.
4584
4585 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4586
4587         * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
4588         prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
4589         between gnatmake and gprbuild.
4590         (Naming_Data): Removed, no longer used
4591         (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
4592         needed locally in one subprogram, no need to store forever in the
4593         structure.
4594         (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
4595         a similar role.
4596         (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
4597         Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
4598         Spec_Suffix_Id_Of): removed, no longer used.
4599
4600 2009-06-25  Javier Miranda  <miranda@adacore.com>
4601
4602         * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
4603         types on qualified expression in calls to imported C++ constructors.
4604
4605         * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
4606         imported C++ constructors.
4607
4608 2009-06-25  Sergey Rybin  <rybin@adacore.com>
4609
4610         * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
4611
4612 2009-06-25  Vincent Celier  <celier@adacore.com>
4613
4614         * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
4615         provided, on Windows change all '/' to '\'.
4616
4617         * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
4618         used. Minor comment changes
4619
4620         * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
4621         Remove_Forbidden_File_Name.
4622
4623 2009-06-25  Quentin Ochem  <ochem@adacore.com>
4624
4625         * prj.ads (Unit_Index): Now general access type.
4626
4627 2009-06-25  Pascal Obry  <obry@adacore.com>
4628
4629         * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
4630
4631 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4632
4633         * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
4634         prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
4635         computed efficiently from the other fields.
4636         (Object_To_Global_Archive): New subprogram
4637         (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
4638         (Override_Kind): Fix handling of separates in Ada.
4639         (Create_Mapping_File): Remove duplicate code
4640         (Naming_Data.Implementation_Exception, Specification_Exception):
4641         field removed, since never used.
4642         (Naming_Data.Specs, .Bodies): field removed, since this is only
4643         used while processing the project and is not needed once the tree
4644         is in memory. This brings Naming_Data and Lang_Naming_Data
4645         closer (same content now, but different use still).
4646
4647 2009-06-25  Pascal Obry  <obry@adacore.com>
4648
4649         * sem_ch4.adb: Minor reformatting.
4650
4651         * a-strsea.adb: Fix confusion between 'Length and 'Last.
4652
4653 2009-06-25  Ed Schonberg  <schonberg@adacore.com>
4654
4655         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
4656         Unchecked_Access): If the context is an interface type, and the prefix
4657         is of the corresponding class-wide type, do not insert a conversion
4658         because the pointer displacement has already taken place, and we must
4659         retain the class-wide type in a dispatching context.
4660
4661 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4662
4663         * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
4664         the previous source file.
4665         (Create_Mapping): Iterate on sources rather than on units.
4666
4667 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4668
4669         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
4670         prj-env.adb, prj-env.ads (Slash): removed, no longer used
4671         (Source_Data): no longer use Path.Name to point to a locally removed
4672         file. Instead we use the field Locally_Removed which is clearer
4673
4674 2009-06-25  Arnaud Charlet  <charlet@adacore.com>
4675
4676         * gcc-interface/Make-lang.in: Remove references to sem_maps.o
4677
4678         * sem_maps.adb, sem_maps.ads: Removed, not used.
4679
4680 2009-06-25  Ed Falis  <falis@adacore.com>
4681
4682         * s-vxwext-rtp.ads: Add missing declaration
4683
4684 2009-06-25  Matthew Gingell  <gingell@adacore.com>
4685
4686         * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
4687         speed up unmapped case.
4688
4689 2009-06-25  Vincent Celier  <celier@adacore.com>
4690
4691         * prj-nmsc.adb (Check): Change error message for illegal abstract
4692         projects.
4693
4694 2009-06-25  Robert Dewar  <dewar@adacore.com>
4695
4696         * gnat_ugn.texi: Add note on use of -gnatct for ASIS
4697
4698 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4699
4700         * fmap.ads: Add documentation on mapping files
4701
4702 2009-06-25  Robert Dewar  <dewar@adacore.com>
4703
4704         * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
4705         reformatting
4706
4707 2009-06-24  Robert Dewar  <dewar@adacore.com>
4708
4709         * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
4710
4711         * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
4712         case.
4713         (Index): Ditto.
4714
4715 2009-06-24  Ed Schonberg  <schonberg@adacore.com>
4716
4717         * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
4718         present when checking whether a call may be interpreted as an indexing
4719         of the result of a call.
4720
4721         * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
4722         body for a null procedure on the freeze actions for the procedure, so
4723         that it will be analyzed at the proper place without premature freezing
4724         of actuals.
4725
4726         * sem_ch3.adb (Check_Completion): Code cleanup. 
4727         Do not diagnose a null procedure without a body, if previous errors
4728         have disabled expansion.
4729
4730 2009-06-24  Doug Rupp  <rupp@adacore.com>
4731
4732         * init.c [VMS] Resignal C$_SIGKILL
4733
4734 2009-06-24  Ed Falis  <falis@adacore.com>
4735
4736         * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
4737         Define ERROR in body for VxWorks 6 kernel
4738
4739 2009-06-24  Pascal Obry  <obry@adacore.com>
4740
4741         * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
4742         in [Send/Receive]_Socket.
4743
4744 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4745
4746         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
4747         prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
4748         to several subprograms.
4749         (Source_Data.Other_Part): Removed, since can be computed from the
4750         language.
4751         (Other_Part): New subprogram.
4752
4753 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4754
4755         * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
4756         the full base name of the file when the suffix doesn't start with a '.'.
4757
4758 2009-06-24  Vincent Celier  <celier@adacore.com>
4759
4760         * prj-nmsc.adb (Check): A project declared abstract is legal if no
4761         attribute Source_Dirs, Source_Files, Source_List_File or Languages is
4762         declared.
4763
4764 2009-06-24  Robert Dewar  <dewar@adacore.com>
4765
4766         * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
4767         prj-env.adb: Minor reformatting
4768
4769 2009-06-24  Ed Falis  <falis@adacore.com>
4770
4771         * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
4772         s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
4773         s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
4774         support for VxWorks SMP.
4775
4776         * gcc-interface/Make-lang.in: Update dependencies
4777
4778 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4779
4780         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
4781         prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
4782         no longer useful.
4783         (Source_Data.Lang_Kind): Removed, since it duplicates information
4784         already available through Language.Config.
4785         (Source_Data.Compile): Removed, since information is already available
4786         through the language.
4787         (Is_Compilable): New subprogram.
4788         (Source_Data.Dependency): Removed, since already available through
4789         the language.
4790         (Source_Data.Object_Exist, Object_Linked): Removed since available
4791         through the language already.
4792         (Unit_Data.File_Names): Is now also set in multi_language mode, to
4793         bring the two modes closer in the resulting data structures.
4794         (Source_Data.Unit): Now a direct pointer to the unit data, rather than
4795         just the name that would point into a hash table.
4796         (Get_Language_From_Name): New subprogram.
4797
4798 2009-06-24  Javier Miranda  <miranda@adacore.com>
4799
4800         * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
4801         visible through limited-with context clauses. In addition, avoid an
4802         extra tag check that is not required when the class-wide
4803         designated types of the operand and target types are
4804         the same entity.
4805         (Tagged_Membership): Handle entities from the limited view.
4806
4807 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4808
4809         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
4810         prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
4811         (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
4812         different vocabularies for similar concepts (Impl/Body_Part and
4813         Spec/Specification).
4814         (Unit_Data): now points directly to a Source_Id, rather than duplicating
4815         some of the information in File_Name_Data. This also saves a bit of
4816         memory. However, since we are now using a pointer we need to test
4817         for null explicitly in several places of the code
4818
4819 2009-06-24  Javier Miranda  <miranda@adacore.com>
4820
4821         * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
4822         from processing the type conversion when the node is
4823         replaced by an N_Raise_Program_Error node.
4824
4825 2009-06-24  Hristian Kirtchev  <kirtchev@adacore.com>
4826
4827         * sem_ch6.adb (Designates_From_With_Type): New routine.
4828         (Process_Formals): Since anonymous access types are no longer flagged
4829         as from with types, traverse the designated type to determine whether
4830         it is coming from a limited view.
4831
4832         * sem_res.adb: Remove with and use clauses for Sem_Ch10.
4833         (Full_Designated_Type): Use Available_View to extract the non-limited /
4834         full view of a type.
4835
4836 2009-06-24  Robert Dewar  <dewar@adacore.com>
4837
4838         * exp_ch6.adb: Minor reformatting
4839
4840         * layout.adb: Minor reformatting
4841
4842         * make.adb: Minor reformatting
4843
4844 2009-06-24  Thomas Quinot  <quinot@adacore.com>
4845
4846         * sem_ch10.adb: Minor code reorganization.
4847
4848 2009-06-24  Eric Botcazou  <ebotcazou@adacore.com>
4849
4850         * ttypes.ads: Minor editing.
4851         
4852 2009-06-24  Robert Dewar  <dewar@adacore.com>
4853
4854         * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
4855         in deciding to do call-by-copy code.
4856
4857 2009-06-24  Vincent Celier  <celier@adacore.com>
4858
4859         * make.adb (Gnatmake): To decide if an executable should be rebuilt,
4860         check if an externally built library file is more current than the
4861         executable.
4862
4863 2009-06-23  Olivier Hainque  <hainque@adacore.com>
4864
4865         * gcc-interface/utils.c (handle_vector_size_attribute): Import from
4866         c-common.c and populate in gnat_internal_attribute_table.
4867         
4868 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4869
4870         * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
4871         Available_View only when designated type of an anonymous access type
4872         is  limited view.
4873
4874 2009-06-23  Robert Dewar  <dewar@adacore.com>
4875
4876         * sem_ch10.adb: Minor reformatting
4877
4878         * ali.ads: Mino reformatting.
4879
4880         * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
4881         turning off inlining if ASIS mode active).
4882         
4883         * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
4884         This belongs in gnat1drv.adb after switches are scanned.
4885
4886 2009-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
4887
4888         * sem_attr.adb: Add with and use clauses for Sem_Ch10.
4889         (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
4890         when dealing with class-wide types. Detect a legal shadow entity and
4891         retrieve its non-limited view.
4892
4893         * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
4894         subprogram to top package level from Intall_Limited_Withed_Unit.
4895         (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
4896         Add check which prevents the installation of a limited view if the
4897         non-limited view is already visible through a with clause.
4898         (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
4899         legal shadow entity which may occur in subprogram formals of anonymous
4900         access type.
4901
4902         * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
4903
4904         * sem_ch3.adb (Access_Definition): Remove the propagation of flag
4905         From_With_Type from the designated type to the generated anonymous
4906         access type. Remove associated comment.
4907
4908         * sem_res.adb Add with and use clauses for Sem_Ch10.
4909         (Full_Designated_Type): Detect a legal shadow entity and retrieve its
4910         non-limited view. Since the shadow entity may replace a regular
4911         incomplete type, return the available full view.
4912
4913 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4914
4915         * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
4916         incomplete type declarations. Previous code was potentially quadratic
4917         in the number of visible declarations in any package appearing in a
4918         limited_with_clause.
4919
4920 2009-06-23  Robert Dewar  <dewar@adacore.com>
4921
4922         * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
4923         xref_lib.adb: Minor reformatting
4924
4925 2009-06-23  Robert Dewar  <dewar@adacore.com>
4926
4927         * a-stzhas.adb: Provide dummy body to avoid build problems with old
4928         versions which did have a body for this unit.
4929
4930 2009-06-23  Vincent Celier  <celier@adacore.com>
4931
4932         * prj-attr.adb: Attribute names Initial_Required_Switches and
4933         Final_Required_Switches changed to Leading_Required_Switches and
4934         Trailing_Required_Switches.
4935
4936         * prj-nmsc.adb (Process_Compiler): Attribute names
4937         Initial_Required_Switches and Final_Required_Switches changed to
4938         Leading_Required_Switches and Trailing_Required_Switches.
4939
4940         * prj.ads (Language_Config): Component Initial_Required_Switches and
4941         Final_Required_Switches changed to Leading_Required_Switches and
4942         Trailing_Required_Switches.
4943
4944         * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
4945         Final_Required_Switches; add standard names Leading_Required_Switches
4946         and Trailing_Required_Switches.
4947
4948 2009-06-23  Thomas Quinot  <quinot@adacore.com>
4949
4950         * prj-conf.adb: Minor reformatting
4951
4952         * xref_lib.adb: Minor cleanup
4953
4954 2009-06-23  Emmanuel Briot  <briot@adacore.com>
4955
4956         * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
4957         prj-conf.ads (Check_Configuration): New parameter
4958         Compiler_Driver_Mandatory.
4959
4960 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4961
4962         * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
4963         context of the current unit has an inline pragma, the instance is not
4964         rewritten as the declaration of the package wrapper. Handle both
4965         possibilities when retrieving the visible subprogram that renames the
4966         instantiation itself.
4967
4968 2009-06-23  Javier Miranda  <miranda@adacore.com>
4969
4970         * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
4971         designated types referencing entities from the limited view.
4972
4973 2009-06-23  Robert Dewar  <dewar@adacore.com>
4974
4975         * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
4976
4977         * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
4978         small values
4979
4980         * prj-conf.ads: Minor reformatting
4981
4982         * prj-conf.adb: Minor reformatting
4983
4984 2009-06-23  Vasiliy Fofanov  <fofanov@adacore.com>
4985
4986         * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
4987         to correspond to the log format that gnatmem now expects.
4988
4989 2009-06-23  Vincent Celier  <celier@adacore.com>
4990
4991         * prj-attr.adb: New attributes Initial_Required_Switches,
4992         Final_Required_Switches and Object_File_Switches
4993         
4994         * prj-nmsc.adb (Process_Compiler): Process new attributes
4995         Name_Final_Required_Switches, Name_Initial_Required_Switches and
4996         Name_Object_File_Switches.
4997
4998         * prj.ads (Language_Config): New component
4999         Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
5000         Compiler_Final_Required_Switches and Object_File_Switches.
5001
5002         * snames.ads-tmpl: New standard names Initial_Required_Switches,
5003         Final_Required_Switches and Object_File_Switches
5004
5005 2009-06-23  Pascal Obry  <obry@adacore.com>
5006
5007         * s-strhas.adb, s-strhas.ads: Minor reformatting.
5008
5009 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5010
5011         * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
5012         not indicate that the enclosing unit needs a body.
5013
5014 2009-06-23  Emmanuel Briot  <briot@adacore.com>
5015
5016         * prj-conf.ads, prj-conf.adb: New files part of the project manager.
5017
5018 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5019
5020         * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
5021         primitive equality include it with its source name even if the
5022         operation is currently invisible, to make sure that the corresponding
5023         slot in the dispatch table is reserved for the internal equality
5024         subsequently generated during expansion.
5025
5026 2009-06-23  Matthew Gingell  <gingell@adacore.com>
5027
5028         * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
5029
5030 2009-06-22  Jose Ruiz  <ruiz@adacore.com>
5031
5032         * sysdep.c (__gnat_localtime_tzoff for RTX):
5033         SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
5034         GetTimeZoneInformation instead.
5035
5036 2009-06-22  Robert Dewar  <dewar@adacore.com>
5037
5038         * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
5039
5040 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5041
5042         * sem_ch12.adb (Collect_Previous_Instances): Do not collect
5043         instantiations declared in a previous generic package body.
5044
5045 2009-06-22  Robert Dewar  <dewar@adacore.com>
5046
5047         * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
5048         restriction No_Direct_Boolean_Operators.
5049
5050 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5051
5052         * bindusg.adb: Minor fixes to gnatbind usage message
5053
5054         * sem_eval.adb: Minor reformatting
5055
5056 2009-06-22  Javier Miranda  <miranda@adacore.com>
5057
5058         * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
5059         freezing point the check on the use of abstract types in object
5060         declarations. Done to allow the declaration of C++ imported variables
5061         or constants whose type corresponds with an imported C++ classes for
5062         which the constructor is not imported.
5063
5064 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5065
5066         * sem_ch6.adb: Minor reformatting
5067
5068 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5069
5070         * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
5071         component is constrained with an expression rather than with a
5072         discriminant of the enclosing type, use that expression when building
5073         the call to default-initialize the component, when the call is part of
5074         an aggregate with box initialization.
5075
5076 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5077
5078         * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
5079         unconditional rather than a style check, because a formal name out of
5080         order is suspicious.
5081
5082 2009-06-22  Vincent Celier  <celier@adacore.com>
5083
5084         * prj-nmsc.adb (Locate_Directory): Indicate the project name when
5085         creating a directory automatically.
5086
5087 2009-06-22  Eric Botcazou  <ebotcazou@adacore.com>
5088
5089         * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
5090         untagged derived type, add a hidden component for every constrained
5091         discriminant of the parent type to keep record layout consistent.
5092
5093 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5094
5095         * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
5096         copy).
5097
5098 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5099
5100         * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
5101         s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
5102         g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
5103         a-swuwha.adb: New unit System.String_Hash.  
5104         Refactor redundant cut and pasted hash functions with instances of a
5105         new generic hash function.
5106         Implement a new string hashing algorithm which appears in testing to
5107         be move effective than to previous approach.
5108
5109 2009-06-22  Ed Falis  <falis@adacore.com>
5110
5111         * sysdep.c: remove include for nfsLib.h and an NFS specific error
5112         message for VxWorks 653 vThreads: not supported by the OS.
5113
5114         * gsocket.h: disable sockets for VxWorks 653 vThreads.
5115
5116 2009-06-22  Robert Dewar  <dewar@adacore.com>
5117
5118         * sem_ch6.adb: Add ??? comment for bad use of Style_Check
5119
5120 2009-06-22  Robert Dewar  <dewar@adacore.com>
5121
5122         * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
5123         by Sloc_Range.
5124
5125         * freeze.adb: Minor comment updates
5126
5127         * s-valrea.adb (Bad_Based_Value): New procedure
5128         (Scan_Real): Raise exceptions with messages
5129
5130 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5131
5132         * adaint.h: Complete previous change.
5133
5134 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5135
5136         * exp_ch7.ads, exp_ch3.adb: Minor reformatting
5137
5138 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5139
5140         * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
5141         enabled, emit warning when a non-controlling argument of the overriding
5142         operation appears out of place vis-a-vis of the formal of the
5143         overridden operation.
5144
5145 2009-06-22  Vincent Celier  <celier@adacore.com>
5146
5147         * gnatcmd.adb (Check_Files): Close temporary files after all file names
5148         have been written into it.
5149
5150 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5151
5152         * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
5153         available.
5154
5155 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5156
5157         * sem_disp.adb (Check_Direct_Call): Handle the case where the full
5158         view of the root type is visible at the point of the call.
5159
5160 2009-06-22  Pat Rogers  <rogers@adacore.com>
5161
5162         * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
5163
5164 2009-06-22  Jerome Lambourg  <lambourg@adacore.com>
5165
5166         * freeze.adb: Add comments.
5167
5168 2009-06-21  Thomas Quinot  <quinot@adacore.com>
5169
5170         * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
5171         sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
5172         Factor out code to new subprogram...
5173         (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
5174         for a default initialized variable.
5175         (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
5176         entity that has an associated freeze node.
5177         (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
5178         If there is an init call for the object, defer it to the object freeze
5179         point.
5180         (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
5181         name clash with new subprogram introduced in Exp_Util.
5182
5183 2009-06-21  Robert Dewar  <dewar@adacore.com>
5184
5185         * einfo.ads: Minor reformatting
5186
5187 2009-06-21  Ed Falis  <falis@adacore.com>
5188
5189         * env.c (__gnat_environ): return NULL for vThreads - unimplemented
5190
5191 2009-06-21  Eric Botcazou  <ebotcazou@adacore.com>
5192
5193         * einfo.ads: Update comments.
5194
5195 2009-06-21  Hristian Kirtchev  <kirtchev@adacore.com>
5196
5197         * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
5198         where the controlling formal is of private class-wide type whose
5199         completion is a synchronized type can be converted into direct calls.
5200
5201 2009-06-21  Vincent Celier  <celier@adacore.com>
5202
5203         * gnatcmd.adb (Check_Files): When all sources of the project are to be
5204         indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
5205         of sources using -files=, so that the distinction can be made by the
5206         tool of a call with no source (to display the usage) from a call with
5207         a project file that contains no source.
5208
5209 2009-06-21  Jerome Lambourg  <lambourg@adacore.com>
5210
5211         * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
5212         case of VM convention arrays.
5213
5214 2009-06-20  Robert Dewar  <dewar@adacore.com>
5215
5216         * a-nudira.adb: Minor reformatting
5217
5218 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5219
5220         * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
5221         expressions (possibly from a parent type) indicate that the scope of
5222         the new itypes is the initialization procedure being built.
5223
5224 2009-06-20  Robert Dewar  <dewar@adacore.com>
5225
5226         * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
5227         Needs_64, and now computed without anomolies for some dynamic types.
5228
5229 2009-06-20  Thomas Quinot  <quinot@adacore.com>
5230
5231         * sem_prag.adb: Minor reformatting
5232
5233         * exp_disp.ads: Minor reformatting
5234
5235 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5236
5237         * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
5238         function call is a legal expression to initialize a limited object.
5239
5240         * exp_ch3.adb: Rename various freeze operations that perform expansion
5241         actions, to prevent confusion with subprograms in the freeze package.
5242
5243 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5244
5245         * sem.adb (Walk_Library_Units): Check instantiations first.
5246
5247         * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
5248         private primitive if it is a function with a controlling result that is
5249         a type extension with progenitors.
5250
5251         * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
5252         a primitive operation of a synchronized tagged type that has a
5253         controlling result.
5254
5255 2009-06-20  Thomas Quinot  <quinot@adacore.com>
5256
5257         * einfo.ads: Fix typo.
5258
5259 2009-06-20  Ed Falis  <falis@adacore.com>
5260
5261         * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
5262
5263 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5264
5265         * gcc-interface/trans.c (emit_check): Do not wrap up the result
5266         in a SAVE_EXPR.
5267         (protect_multiple_eval): Always protect complex expressions.
5268
5269 2009-06-19  Emmanuel Briot  <briot@adacore.com>
5270
5271         * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
5272         make sure we always return a name ending with a path separator.
5273
5274 2009-06-19  Javier Miranda  <miranda@adacore.com>
5275
5276         * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
5277         Save and restore the visibility of the parent when installed.
5278
5279 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
5280
5281         * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
5282         by Common which contains all these fields.
5283
5284         * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
5285         Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
5286         Remove code duplication in this package by means of calling the
5287         equivalent code in s-taprob.
5288
5289 2009-06-19  Robert Dewar  <dewar@adacore.com>
5290
5291         * a-einuoc.ads: Minor reformatting
5292
5293 2009-06-19  Ed Falis  <falis@adacore.com>
5294
5295         * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
5296         s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
5297
5298 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5299
5300         * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
5301
5302 2009-06-19  Robert Dewar  <dewar@adacore.com>
5303
5304         * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
5305         ranges
5306
5307         * checks.adb (Determine_Range): Move the test for generic types later.
5308
5309         * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
5310         cases.
5311         (Eval_Relational_Op): Fold more cases including string compares
5312
5313         * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
5314         function.
5315
5316 2009-06-19  Robert Dewar  <dewar@adacore.com>
5317
5318         * sem_type.ads, sem_ch12.adb: Minor reformatting
5319
5320         * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
5321
5322 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5323
5324         * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
5325         primitive operation of a rivate extension whose controlling argument
5326         is an out parameter.
5327
5328         * sem.adb (Walk_Library_Units): exclude generic package declarations
5329         from check.
5330
5331 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5332
5333         * i-vxwoio.ads: Add comments
5334
5335 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5336
5337         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5338         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
5339         g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
5340         (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
5341         (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
5342         Thin_Common.Socket_Ioctl.
5343         (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
5344         __gnat_socket_ioctl.
5345         (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
5346         argument after the file descriptor and request code.
5347
5348 2009-06-19  Robert Dewar  <dewar@adacore.com>
5349
5350         * checks.adb: Minor reformatting
5351
5352 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
5353
5354         * env.c (__gnat_environ): RTX does not support this functionality.
5355
5356 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5357
5358         * sem.adb (Walk_Library_Items): Include bodies in the list of units to
5359         traverse, to account for front-end inlining and instantiations in a
5360         spec or in the main unit.
5361
5362 2009-06-19  Robert Dewar  <dewar@adacore.com>
5363
5364         * checks.adb (Determine_Range): Do not attempt to get range of generic
5365         type.
5366
5367 2009-06-19  Sergey Rybin  <rybin@adacore.com>
5368
5369         * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
5370         gnatmetric option for generating the schema file for gnatmetric XML
5371         output. Add corresponding VMS qualifier.
5372
5373 2009-06-19  Robert Dewar  <dewar@adacore.com>
5374
5375         * g-cgi.adb: Minor reformatting
5376
5377 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5378
5379         * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
5380         signal code for SIGFPE and raise Program_Error for SIGILL.
5381
5382         * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
5383
5384 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5385
5386         * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
5387         generic package if there is a visibility candidate that is declared in
5388         a regular package.
5389
5390 2009-06-18  Olivier Hainque  <hainque@adacore.com>
5391
5392         * system-aix64.ads: New file.
5393         * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
5394         64bit system.ads for ppc64 multilib variants.
5395
5396 2009-06-16  Robert Dewar  <dewar@adacore.com>
5397             Olivier Hainque  <hainque@adacore.com>
5398
5399         Relax constraints on Machine_Attribute argument types:
5400         * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
5401         missing type.
5402         (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
5403         * gcc-interface/decl.c (prepend_attributes): Accept static
5404         expressions of any type as attribute arguments, not only string
5405         literals.
5406         * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
5407         the relaxation of the restriction on the Info argument type.
5408         
5409 2009-06-13  Aldy Hernandez  <aldyh@redhat.com>
5410
5411         * gcc-interface/utils.c (record_builtin_type): Pass location
5412         argument to build_decl.
5413         (create_type_stub_decl): Same.
5414         (create_type_decl): Same.
5415         (create_var_decl_1): Same.
5416         (create_field_decl): Same.
5417         (create_param_decl): Same.
5418         (create_label_decl): Same.
5419         (create_subprog_decl): Same.
5420         * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
5421         * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
5422         argument to create_artificial_label.
5423         (Loop_Statement_to_gnu): Same.
5424         (Subprogram_Body_to_gnu): Same.
5425         (gnat_gimplify_stmt): Same.
5426
5427 2009-06-11  Richard Henderson  <rth@redhat.com>
5428
5429         * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
5430         OPT_gdwarfplus.
5431
5432 2009-06-11  Ed Schonberg  <schonberg@adacore.com>
5433
5434         * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
5435         accessibiliy check on access_to_subprogram in the context of an
5436         anonymous access that is not an access parameter.
5437
5438 2009-06-11  Eric Botcazou  <ebotcazou@adacore.com>
5439
5440         * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
5441         
5442 2009-06-11  Quentin Ochem  <ochem@adacore.com>
5443
5444         * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
5445         comments for message handled by GPS.
5446
5447 2009-06-11  Matthew Gingell  <gingell@adacore.com>
5448
5449         * adaint.c: Use fopen64 instead of fopen on platforms where we know
5450         it's supported.
5451
5452 2009-06-11  Pascal Obry  <obry@adacore.com>
5453
5454         * g-cgi.ads: Fix comment typo.
5455
5456         * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
5457
5458 2009-06-10  Eric Botcazou  <ebotcazou@adacore.com>
5459
5460         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
5461         a reference to the original type for the type of the field of the
5462         XVS type.
5463         (maybe_pad_type): Likewise.
5464
5465         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
5466         common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
5467         Pass correctly typed arguments to create_field_decl.
5468         <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
5469         case of contrained discriminants as well.  Use the padded base type
5470         in the other case as well.  Rename temporary variable.  Tweak test.
5471         Factor common access pattern.  Set GNU_SIZE only once.
5472
5473 2009-06-09  Olivier Hainque  <hainque@adacore.com>
5474
5475         * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
5476         helper for build_call_alloc_dealloc with arguments to be interpreted
5477         identically.  Process the case where a GNAT_PROC to call is provided.
5478         (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
5479         and return an allocator for DATA_SIZE bytes aimed at containing a
5480         DATA_TYPE object, using the default __gnat_malloc allocator.  Honor
5481         DATA_TYPE alignments greater than what the latter offers.
5482         (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
5483         release a DATA_TYPE object designated by DATA_PTR using the
5484         __gnat_free entry point.
5485         (build_call_alloc_dealloc): Expect object data type instead of naked
5486         alignment constraint. Use the new helpers.
5487         (build_allocator): Remove special processing for the super-aligned
5488         case, now handled by build_call_alloc_dealloc.  Pass data
5489         type instead of the former alignment argument, as expected by the new
5490         interface.
5491         * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
5492         and comment.
5493         * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
5494         Remove special processing for the super-aligned case, now handled
5495         by build_call_alloc_dealloc.  Pass data type instead of the former
5496         alignment argument, as expected by the new interface.
5497         
5498 2009-06-08  Alexandre Oliva  <aoliva@redhat.com>
5499
5500         * lib-writ.adb (flag_compare_debug): Import.
5501         (Write_ALI): Skip during -fcompare-debug-second.
5502
5503 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5504
5505         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
5506         adjusting the discriminant nodes in an extension, use the full view
5507         of the parent subtype if it is of a private kind.
5508
5509 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5510
5511         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
5512         _Parent field, if any, to the record before adding the other fields.
5513         <E_Record_Subtype>: Put the _Controller field before the other fields
5514         except for the _Tag or _Parent fields.
5515         (components_to_record): Likewise.  Retrieve the _Parent field from the
5516         record type.
5517
5518 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5519
5520         * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
5521         remove unused parameter and simplify.
5522         (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS.  Factor
5523         common predicate.  Rewrite loop for clarity.  Use GNU_TYPE directly
5524         as context for all discriminants.  Fix formatting nits.
5525         <E_Record_Subtype>: Add cosmetic 'break'.  Test Has_Discriminants
5526         before Discriminant_Constraint.  Adjust for above renaming.  Do not
5527         set GNU_TYPE more than once.
5528         (elaborate_entity): Test Has_Discriminants on the entity and use
5529         Implementation_Base_Type.
5530         (components_to_record): Rename component_list to gnat_component_list.
5531         Retrieve the _Parent field from the list.  Fix nits in comments.
5532         Clarify logic in loop.  Pass correct arguments to create_field_decl.
5533
5534 2009-06-02  Eric Botcazou  <ebotcazou@adacore.com>
5535
5536         * gcc-interface/Make-lang.in: Fix formatting.
5537
5538 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5539             Eric Botcazou  <ebotcazou@adacore.com>
5540         
5541         * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
5542         to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
5543         on the result if at least one of the input fields couldn't be output
5544         as a static constant any more.
5545
5546 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5547             Eric Botcazou  <ebotcazou@adacore.com>
5548         
5549         * gcc-interface/utils2.c (gnat_build_constructor): Factor
5550         out code.  Use initializer_constant_valid_for_bitfield_p and
5551         CONSTRUCTOR_BITFIELD_P for bit-fields.
5552
5553 2009-05-26  Ian Lance Taylor  <iant@google.com>
5554
5555         * gcc-interface/Makefile.in (COMPILER): Define.
5556         (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
5557         (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
5558         (seh_init.o, tracebak.o): Likewise.
5559         * gcc-interface/Make-lang.in (ada/targext.o): Likewise.
5560         (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
5561         (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
5562         (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
5563         (ada/utils2.o): Likewise.
5564
5565 2009-05-24  Olivier Hainque  <hainque@adacore.com>
5566
5567         * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
5568         * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
5569         Add -auxbase variants to the list of recognized internal switches.
5570         * back_end.adb (Scan_Back_End_Switches): Use the new functions and
5571         adjust comments.
5572         * lib.ads: Make comment on internal GCC switches more general.
5573         * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
5574         as for C.       
5575         
5576 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5577
5578         * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
5579
5580 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5581
5582         * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
5583         types.
5584
5585 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5586
5587         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
5588         original type because of the alignment when there is an address clause.
5589
5590 2009-05-20  Eric Botcazou  <ebotcazou@adacore.com>
5591
5592         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
5593         discriminants affect the shape of the subtype, retrieve the GCC type
5594         directly from the original field if the GNAT types for the field and
5595         the original field are the same.
5596
5597 2009-05-15  Eric Botcazou  <ebotcazou@adacore.com>
5598
5599         * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
5600         New macros.
5601         (TYPE_RM_VALUES): Likewise.
5602         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
5603         (SET_TYPE_RM_SIZE): New macro.
5604         (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
5605         (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
5606         (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
5607         * gcc-interface/gigi.h (create_range_type): Declare.
5608         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
5609         Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
5610         <E_Signed_Integer_Subtype>: Build a regular integer type first and
5611         then set the RM bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5612         <E_Floating_Point_Subtype>: Build a regular floating-point type first
5613         and then set the RM bounds.
5614         <E_Array_Type>: Use create_range_type instead of build_range_type.
5615         <E_Array_Subtype>: Build a regular integer type first and then set
5616         the RM bounds for the extra subtype.
5617         <E_String_Literal_Subtype>: Use create_range_type instead of
5618         build_range_type.
5619         <all>: Set the RM bounds for enumeration types and the GCC bounds for
5620         floating-point types.
5621         (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
5622         (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
5623         to set the bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5624         (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
5625         types and with RM bounds for subtypes.
5626         * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
5627         (gnat_print_type) <REAL_TYPE>: New case.
5628         <ENUMERAL_TYPE>: Fall through to above case.
5629         (gnat_get_subrange_bounds): New function.
5630         * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
5631         TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
5632         * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
5633         for booleans.  Adjust and use SET_TYPE_RM_SIZE to set the RM size.
5634         (create_range_type): New function.
5635         (create_param_decl): Build a regular integer type first and then set
5636         the RM bounds for the extra subtype.
5637         (unchecked_convert): Remove kludge for 'Valid.
5638         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
5639         the index to sizetype instead of TYPE_DOMAIN.
5640
5641 2009-05-14  Eric Botcazou  <ebotcazou@adacore.com>
5642
5643         * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
5644         parameter and move check for static expression to...
5645         (elaborate_expression): ...here.  Adjust call to above function.
5646         (gnat_to_gnu_entity): Likewise for all calls.  Use correct arguments
5647         in calls to elaborate_expression.
5648         (elaborate_entity): Likewise.
5649         (substitution_list): Likewise.
5650         (maybe_variable): Fix formatting.
5651         (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
5652         missing guard.
5653         * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
5654
5655 2009-05-07  Arnaud Charlet  <charlet@adacore.com>
5656
5657         * gcc-interface/Make-lang.in: Update dependencies.
5658
5659 2009-05-06  Laurent GUERBY  <laurent@guerby.net>
5660
5661         * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
5662         Define sa_handler_pos.
5663         * s-osinte-linux.ads: Use it.
5664         * s-linux-mipsel.ads: New.
5665         * system-linux-mips64el.ads: New.
5666         * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
5667         mips64el-linux.
5668
5669 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5670
5671         * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
5672         targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
5673         opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
5674         (Tagged_Type_Expansion): New flag.
5675         Replace use of VM_Target related to tagged types expansion by
5676         Tagged_Type_Expansion, since tagged type expansion is not necessarily
5677         linked to VM targets.
5678
5679 2009-05-06  Robert Dewar  <dewar@adacore.com>
5680
5681         * sem_attr.adb: Add processing for Standard'Compiler_Version
5682
5683         * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
5684         skipping.
5685         (Expr_First_Char): Add ??? comment that paren skipping needs work
5686         (Expr_Last_Char): Add ??? comment that paren skipping needs work
5687
5688         * exp_attr.adb: Add processing for Compiler_Version
5689
5690         * sem_attr.adb: New attribute Compiler_Version
5691
5692         * snames.ads-tmpl: Add entries for Compiler_Version attribute
5693
5694         * gnat_rm.texi: Document Compiler_Version attribute
5695
5696 2009-05-06  Robert Dewar  <dewar@adacore.com>
5697
5698         * errout.adb: Minor reformatting
5699
5700         * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
5701         sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
5702         styleg.adb: Add stylized comments to error messages that are included
5703         in the codefix circuitry of IDE's such as GPS.
5704
5705 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5706
5707         * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
5708         new form of the rule parameter that allows to specify the suffix for
5709         access-to-access type names.
5710
5711 2009-05-06  Robert Dewar  <dewar@adacore.com>
5712
5713         * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
5714         out parameter assigned when exception handlers are present.
5715
5716         * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
5717         assignments on exit.
5718
5719         * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
5720         sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
5721         prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
5722         par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
5723         messages that are included in the codefix circuitry of IDE's such as
5724         GPS.
5725
5726         * sinput.ads, sinput.adb (Expr_First_Char): New function
5727         (Expr_Last_Char): New function
5728
5729 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5730
5731         * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
5732         Add formal definition for extra exit point metric
5733
5734 2009-05-06  Pascal Obry  <obry@adacore.com>
5735
5736         * adaint.c: Support for setting attributes on unicode filename on
5737         Windows.
5738
5739 2009-05-06  Robert Dewar  <dewar@adacore.com>
5740
5741         * sem_warn.adb: Minor reformatting
5742
5743 2009-05-06  Javier Miranda  <miranda@adacore.com>
5744
5745         * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
5746         not have discriminants or components with default expressions.
5747         (Analyze_Pragma): For pragma CPP_Class check that imported types
5748         have no discriminants and components have no default expression.
5749
5750         * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
5751         class-wide types in the expression of a record component association.
5752
5753 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5754
5755         * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
5756
5757         * gnat_ugn.texi: Add description for the new extra exit points metric
5758         (gnatmetric section).
5759
5760 2009-05-06  Robert Dewar  <dewar@adacore.com>
5761
5762         * s-fileio.adb: Minor comment update
5763
5764         * sem_ch8.adb: Minor reformatting
5765
5766         * exp_ch3.adb: Update comments.
5767
5768 2009-05-06  Tristan Gingold  <gingold@adacore.com>
5769
5770         * init.c, s-osinte-darwin.ads: Reduce alternate stack size
5771
5772 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5773
5774         * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
5775         Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
5776
5777         * gcc-interface/Make-lang.in: Update dependencies
5778
5779 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5780
5781         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
5782         change. The context clause of a generic instance declaration must be
5783         preserved until the end of the compilation, because it may have to be
5784         installed/removed repeatedly.
5785         The latest change to sem.adb ensures that the context of both spec and
5786         body of an instance is traversed before the instance itself, making
5787         this patch redundant.
5788
5789 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5790
5791         * sem_aggr.adb: Fix typo.
5792
5793 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5794
5795         * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
5796         declaration, do not adjust if the declaration is to be rewritten into
5797         a renaming.
5798
5799 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5800
5801         * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
5802         discriminant part.
5803
5804 2009-05-06  Bob Duff  <duff@adacore.com>
5805
5806         * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
5807         otherwise the compiler would be allowed to optimize away the cleanup
5808         code.
5809
5810 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5811
5812         * gnat_ugn.texi: Fix typo.
5813
5814 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5815
5816         * g-debuti.adb: Minor reformatting
5817
5818         * exp_attr.adb: Minor reformatting
5819
5820 2009-05-06  Robert Dewar  <dewar@adacore.com>
5821
5822         * sem_aggr.adb: Minor reformatting.
5823
5824         * g-socthi-vms.adb: Minor reformatting
5825
5826 2009-05-06  Bob Duff  <duff@adacore.com>
5827
5828         * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
5829         (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
5830
5831 2009-05-06  Bob Duff  <duff@adacore.com>
5832
5833         * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
5834         flags.
5835
5836 2009-05-06  Javier Miranda  <miranda@adacore.com>
5837
5838         * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
5839         (Resolve_Extension_Aggregate): Do not reject C++ constructors in
5840         extension aggregates.
5841         (Resolve_Record_Aggregate): Add support for C++ constructors in
5842         extension aggregates.
5843
5844         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
5845         constructors in extension aggregates.
5846
5847 2009-05-06  Robert Dewar  <dewar@adacore.com>
5848
5849         * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
5850         clause.
5851
5852 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5853
5854         * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
5855         packed type, since on OpenVMS, struct msghdr is packed.
5856
5857 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5858
5859         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
5860         call returning an unconstrained composite value, create the proper
5861         subtype for it, as is done for object dclarations with unconstrained
5862         nominal subtypes. Perform this transformation regarless of whether
5863         call comes from source.
5864
5865 2009-05-06  Robert Dewar  <dewar@adacore.com>
5866
5867         * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
5868         records
5869
5870         * gnat_rm.texi:
5871         Add documentation for pragma Implicit_Packing applied to record
5872         types.
5873
5874 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5875
5876         * sem.adb (Walk_Library_Items): Place all with_clauses of an
5877         instantiation on the spec, because late instance bodies may generate
5878         with_clauses for the instance body but are inserted in the instance
5879         spec.
5880
5881 2009-05-06  Emmanuel Briot  <briot@adacore.com>
5882
5883         * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
5884         support for returning the directory even if it doesn't exist. This is
5885         used for the object directory, since we are always setting it to a
5886         non-null value, and we should set it to an absolute name rather than a
5887         relative name for the sake of external tools that might depend on it.
5888         (Check_Library_Attributes): When Project.Library_Dir is known, check
5889         that the directory exists.
5890
5891 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5892
5893         * sem_attr.adb (Check_Dereference): If the prefix of an attribute
5894         reference is an implicit dereference, do not freeze the designated type
5895         if within a default expression or when preanalyzing a pre/postcondtion.
5896
5897 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5898
5899         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
5900         call returning an unconstrained composite value, create the proper
5901         subtype for it, as is done for object dclarations with unconstrained
5902         nominal subtypes
5903
5904 2009-05-06  Robert Dewar  <dewar@adacore.com>
5905
5906         * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
5907         improvements
5908
5909         * freeze.adb: Minor reformatting
5910
5911 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5912
5913         * sem_ch3.adb (Access_Type_Declaration): An access type whose
5914         designated type is a limited view from a limited with clause (flagged
5915         From_With_Type) is not itself such a limited view.
5916
5917 2009-05-06  Emmanuel Briot  <briot@adacore.com>
5918
5919         * prj-nmsc.adb: Remove unused variable.
5920
5921         * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
5922         prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
5923         makeutl.ads, since not all users of prj.ads need this.
5924
5925 2009-05-06  Javier Miranda  <miranda@adacore.com>
5926
5927         * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
5928         constructor in case of aggregates whose type is a CPP_Class type.
5929
5930 2009-05-06  Robert Dewar  <dewar@adacore.com>
5931
5932         * sem_ch13.adb: Minor comment additions
5933
5934         * osint.adb: Minor reformatting
5935
5936 2009-05-06  Pascal Obry  <obry@adacore.com>
5937
5938         * initialize.c: On Windows, keep full pathname to expanded command
5939         line patterns.
5940
5941 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5942
5943         * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
5944         an aggregate with box default is of a discriminated private type, do
5945         not build a subaggregate for it.
5946         A proper call to the initialization procedure is generated for it.
5947
5948 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5949
5950         * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
5951         (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
5952         Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
5953         use standard array code for Standard.String.
5954         (Exp_Dist): Bump PolyORB s-parint API version to 3.
5955         (Rtsfind): New entities TA_Std_String, Unbounded_String.
5956
5957 2009-05-06  Robert Dewar  <dewar@adacore.com>
5958
5959         * g-comlin.ads: Minor reformatting
5960
5961         * xoscons.adb: Minor reformatting
5962
5963 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5964
5965         * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
5966         Underlying_Type before retrieving the type definition for gathering
5967         components, to account for the case where the type is private.
5968
5969 2009-05-06  Tristan Gingold  <gingold@adacore.com>
5970
5971         * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
5972
5973 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5974
5975         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5976         g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
5977         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
5978         (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
5979         Windows versions): Fix incorrect base
5980         address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
5981         (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
5982         System.Address for the To parameter instead of a Sockaddr_In_Access, to
5983         achieve independance from AF_INET family, and also to allow this
5984         parameter to be retrieved from a Msghdr for the Windows case where
5985         these routines are used to implement C_Sendmsg and C_Recvmsg.
5986
5987 2009-05-06  Bob Duff  <duff@adacore.com>
5988
5989         * g-expect.adb, g-expect.ads: Minor reformatting
5990
5991         * sdefault.ads: Minor comment fix
5992
5993         * g-expect-vms.adb: Minor reformatting
5994
5995         * table.ads, table.adb (Append_All): New convenience procedure for
5996         appending a whole array.
5997
5998         * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
5999         box message. Call Osint.Dump_Source_File_Names to print out the file
6000         list, instead of rummaging around in various data structures.
6001
6002         * debug.adb: New switch -gnatd.n, to print source file names as they
6003         are read.
6004
6005         * alloc.ads: Add parameters for Osint.File_Name_Chars.
6006
6007         * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
6008         out source file names during a "bug box".
6009         (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
6010         (Read_Source_File): Print out the file name, if requested via -gnatd.n.
6011         If it's not part of the runtimes, store it for later printing by
6012         Dump_Source_File_Names.
6013
6014 2009-05-06  Javier Miranda  <miranda@adacore.com>
6015
6016         * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
6017         documentation and add reference to the GNAT user guide for further
6018         details.
6019
6020 2009-05-06  Javier Miranda  <miranda@adacore.com>
6021
6022         * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
6023         also wrong examples that use extension aggregates.
6024
6025 2009-05-06  Albert Lee  <lee@adacore.com>
6026
6027         * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
6028         of Msg_Iovlen_T for VMS.
6029
6030 2009-05-04  Laurent GUERBY  <laurent@guerby.net>
6031
6032         PR ada/38874
6033         * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
6034         
6035 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6036
6037         * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
6038         box-defaulted operator in an instantiation, when the type of the
6039         operands is not directly visible.
6040
6041 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6042
6043         * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
6044         (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
6045         analysis of the ancestor part. Remove prohibition against limited
6046         interpretations of the ancestor expression in the case of Ada 2005.
6047         Revise error message in overloaded case, adding a message to cover
6048         the Ada 2005 case.
6049
6050 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6051
6052         * xoscons.adb: Minor reformatting
6053
6054 2009-04-29  Bob Duff  <duff@adacore.com>
6055
6056         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
6057         attribute_definition_clauses for the following attributes when the
6058         -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
6059         Storage_Size, Write. Otherwise, we get spurious errors (for example,
6060         missing Read attribute on remote types).
6061
6062         * gnat_ugn.texi: Document the change, and add a stern warning.
6063
6064 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6065
6066         * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
6067         disabled not just for the current scope, but for the innermost dynamic
6068         scope as well.
6069
6070 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6071
6072         * gcc-interface/Make-lang.in: Update dependencies
6073
6074 2009-04-29  Vincent Celier  <celier@adacore.com>
6075
6076         * prj-part.adb: Minor comment update
6077
6078 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6079
6080         * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
6081         box-initialized records with discriminated subcomponents that are
6082         constrained by discriminants of enclosing components. New subsidiary
6083         procedures Add_Discriminant_Values, Propagate_Discriminants.
6084
6085 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6086
6087         * g-socket.adb: Code clean up.
6088
6089 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6090
6091         * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
6092         function entity, to cover the case of a parameterless function call
6093         that has not been resolved.
6094
6095 2009-04-29  Robert Dewar  <dewar@adacore.com>
6096
6097         * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
6098         reformatting and comment updates.
6099
6100 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6101
6102         * gnat_ugn.texi: Update some documentation about interfacing with C++
6103         Mention -fkeep-inline-functions.
6104
6105         * gnat_ugn.texi: Minor edits
6106
6107 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6108
6109         * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
6110         for a defaulted component of an enclosing aggregate, inherit the type
6111         from the component declaration of the enclosing type. 
6112
6113 2009-04-29  Albert Lee  <lee@adacore.com>
6114
6115         * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
6116         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
6117         (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
6118         msg_iovlen field in struct msghdr is 32 or 64 bits wide.
6119         Relocate the Msghdr record type from GNAT.Sockets.Thin to
6120         GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
6121         type for the Msg_Iovlen field.
6122
6123 2009-04-29  Vincent Celier  <celier@adacore.com>
6124
6125         * sinput-l.adb (Load_File): When preprocessing, set temporarily the
6126         Source_File_Index_Table entries for the source, to avoid crash when
6127         reporting an error.
6128
6129         * gnatcmd.adb (Test_If_Relative_Path): Use
6130         Makeutl.Test_If_Relative_Path.
6131         
6132         * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
6133         Including_RTS is True.
6134
6135         * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
6136         Including_RTS defaulted to False.
6137
6138         * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
6139         a default value.
6140
6141 2009-04-29  Javier Miranda  <miranda@adacore.com>
6142
6143         * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
6144
6145 2009-04-29  Javier Miranda  <miranda@adacore.com>
6146
6147         * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
6148         associated with dyamically tagged expressions if the expression
6149         initializing a tagged type corresponds with a non default CPP
6150         constructor.
6151         (OK_For_Limited_Init): CPP constructor calls are OK for initialization
6152         of limited type objects.
6153
6154         * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
6155         when a CPP constructor is called in an assignment. Disable also the
6156         error message associated with dyamically tagged expressions if the
6157         exporession initializing a tagged type corresponds with a non default
6158         CPP constructor.
6159
6160         * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
6161         non-default C++ constructors.
6162
6163         * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
6164
6165         * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
6166         non-default constructors.
6167         (Init_Proc): Add support for non-default constructors.
6168
6169         * exp_disp.adb (Set_Default_Constructor): Removed.
6170         (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
6171         but extending its functionality to handle non-default constructors.
6172
6173         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
6174         constructors. Minor code cleanup removing unrequired label and goto
6175         statement.
6176
6177         * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
6178         constructors.
6179         (Build_Init_Statements): Add support for non-default constructors.
6180         (Expand_N_Object_Declaration): Add support for non-default constructors.
6181         (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
6182         to Set_CPP_Constructors.
6183
6184         * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
6185         non-default constructors.
6186         Required to handle its use in build-in-place statements.
6187
6188         * gnat_rm.texi (CPP_Constructor): Document new extended use of this
6189         pragma for non-default C++ constructors and the new compiler support
6190         that allows the use of these constructors in record components, limited
6191         aggregates, and extended return statements.
6192
6193 2009-04-29  Vincent Celier  <celier@adacore.com>
6194
6195         * prj-part.adb (Parse_Single_Project): Do not attempt to find a
6196         project extending an abstract project.
6197
6198 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6199
6200         * targparm.ads: Fix oversight.
6201
6202 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6203
6204         * lib-xref.adb (Output_Overridden_Op): Follow several levels of
6205         derivation when necessary, to find the user-subprogram that is actally
6206         being overridden.
6207
6208 2009-04-29  Robert Dewar  <dewar@adacore.com>
6209
6210         * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
6211         components
6212
6213 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6214
6215         * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
6216         primitive operation, rather than source line of synchronized type, when
6217         building the wrapper for a primitive operation that overrides an
6218         operation inherited from a progenitor, to improve the error message on
6219         duplicate declarations.
6220
6221         * sem_ch3.adb (Process_Full_View): Use new signature of
6222         Build_Wrapper_Spec.
6223
6224 2009-04-29  Robert Dewar  <dewar@adacore.com>
6225
6226         * prj-nmsc.ads: Minor reformatting
6227
6228 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6229
6230         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
6231         expression on the existing parent If statement.
6232
6233 2009-04-29  Robert Dewar  <dewar@adacore.com>
6234
6235         * prj-proc.adb, prj.ads: Minor reformatting
6236
6237 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6238
6239         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
6240         existing parent If statement on the newly created one.
6241
6242 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6243
6244         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
6245         prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
6246         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
6247         (Set_In_Configuration, In_Configuration): Removed.
6248         Replaced by an extra parameter Is_Config_File in several parameter to
6249         avoid global variables to store the state of the parser.
6250
6251 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6252
6253         * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
6254         with_clauses generated for the same unit through rtsfind, and that
6255         appear in the context of different units.
6256
6257         * rtsfind.adb: New attribute First_Implicit_With, component of the
6258         Unit_Record that stores information about a unit loaded through rtsfind.
6259
6260 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6261
6262         * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
6263         (other conditions permitting), so that abstract stream subprograms will
6264         be declared for them.
6265
6266 2009-04-29  Bob Duff  <duff@adacore.com>
6267
6268         * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
6269
6270         * g-expect.ads: Minor comment fixes.
6271
6272 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6273
6274         * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
6275         dispatching operation is a body without previous spec, update the list
6276         of primitive operations to ensure that cross-reference information is
6277         up-to-date.
6278
6279 2009-04-29  Albert Lee  <lee@adacore.com>
6280
6281         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6282         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
6283         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
6284         (GNAT.Sockets.Thin.C_Readv,
6285         GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
6286         (GNAT.Sockets.Thin.C_Recvmsg,
6287         GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
6288         sendmsg(2).  
6289         (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
6290         C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
6291
6292 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6293
6294         * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
6295         operation is a body without previous spec, update the list of
6296         primitive operations to ensure that cross-reference information is
6297         up-to-date.
6298
6299         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
6300         new compilation unit node for the instance declaration, keep the
6301         context items of the original unit on it, so that the context of the
6302         instance body only holds the context inherited from the generic body.
6303
6304 2009-04-29  Bob Duff  <duff@adacore.com>
6305
6306         * sem_res.adb: Minor comment fix.
6307
6308 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6309
6310         * sem_elim.adb: Minor reformatting
6311
6312 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6313
6314         * exp_aggr.adb (Convert_To_Positional): if the current unit is a
6315         predefined unit, allow arbitrary number of components in static
6316         aggregate, to ensure that the same level of constant folding applies
6317         for Ada 95 and Ada 05 versions of the file.
6318
6319 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6320
6321         * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
6322         information: no need for full scope check.
6323         (Eliminate_Error): Do not emit error in a generic context.
6324
6325 2009-04-29  Ed Falis  <falis@adacore.com>
6326
6327         * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
6328         VxWorks 653 POS does not support rmdir.
6329
6330 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6331
6332         * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
6333         results are printed.
6334
6335 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6336
6337         * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
6338         unused assignment.
6339
6340 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6341
6342         * make.adb: Minor reformatting.
6343         Minor code reorganization throughout.
6344
6345 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6346
6347         * s-stausa.ads: Changed visibility of type Task_Result: moved to
6348         public part to give application visibility over it.
6349         This is for future improvement and to build a public API on top of it.
6350         Changed record components name of type Task_Result to reflect the new
6351         way of reporting. 
6352
6353         * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
6354         reporting Stack usage.
6355
6356         * gnat_ugn.texi: Update doc of stack usage report.
6357
6358         * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
6359
6360         * Makefile.rtl: Add new run-time files.
6361
6362 2009-04-29  Pascal Obry  <obry@adacore.com>
6363
6364         * initialize.c: Do not expand quoted arguments.
6365
6366 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6367
6368         * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
6369
6370         * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
6371          Prj.Ultimate_Extending_Project_Of
6372
6373 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6374
6375         * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
6376         Amendment type, add the with_clause for Finalization.List_Controller
6377         only if the current context is a package body.
6378
6379 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6380
6381         * sem_ch12.adb: Minor reformatting
6382
6383         * sem_aggr.adb: Minor reformatting
6384
6385         * sem_ch6.adb, sem_cat.ads: Minor reformatting
6386
6387         * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
6388
6389 2009-04-29  Quentin Ochem  <ochem@adacore.com>
6390
6391         * prj.ads (Source_Id): Now general pointer type.
6392
6393 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6394
6395         * exp_ch7.adb, rtsfind.adb: Minor reformatting
6396
6397         * sem_res.adb: Minor reformatting
6398
6399 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6400
6401         * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
6402         operands is static only if it is a predefined concatenation operator.
6403
6404         * sem_util.adb: Minor reformatting
6405
6406         * sem_ch12.adb (Save_References): When propagating semantic information
6407         from generic copy back to generic template, for the case of an
6408         identifier that has been rewritten to an explicit dereference whose
6409         prefix is either an object name or a parameterless funcion call
6410         denoting a global object or function, properly capture the denoted
6411         global entity: perform the corresponding rewriting in the template,
6412         and point the rewritten identifier to the correct global entity (not
6413         to the associated identifier in the generic copy).
6414
6415 2009-04-29  Robert Dewar  <dewar@adacore.com>
6416
6417         * rtsfind.adb, prj-env.adb: Minor reformatting
6418         Minor code reorganization
6419
6420 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6421
6422         * make.adb: Fix comment
6423
6424         * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
6425         is given as argument, as might happen in gnatmake.
6426
6427 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6428
6429         * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
6430         an abstract operation of a progenitor is not properly overridden by an
6431         operation of a derived synchronized type.
6432
6433 2009-04-29  Robert Dewar  <dewar@adacore.com>
6434
6435         * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
6436         prj-proc.adb: Minor reformatting
6437         Minor code reorganization
6438
6439 2009-04-29  Bob Duff  <duff@adacore.com>
6440
6441         * exp_ch7.adb (Build_Final_List): For an access type that designates a
6442         Taft Amendment type, if the access type needs finalization, make sure
6443         the implicit with clause for List_Controller occurs on the package spec.
6444
6445         * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
6446         with's created for the pseudo-children of Text_IO and friends. In
6447         particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
6448         Ada.Text_IO.Integer_IO both with-ing each other.
6449
6450         * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
6451         oddball cases when pragma Extend_System is used.
6452
6453         * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
6454         the case where a package spec instantiates a generic whose body with's
6455         this package, so Walk_Library_Items won't complain about cyclic with's.
6456
6457 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6458
6459         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
6460         prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
6461         mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
6462         (Project_Id): now a real pointer to Project_Data, instead of an index
6463         into the Projects_Table. This simplifies the API significantly, avoiding
6464         extra lookups in this table and the need to pass the Project_Tree_Ref
6465         parameter in several cases
6466
6467 2009-04-29  Nicolas Setton  <setton@adacore.com>
6468
6469         * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
6470         darwin.
6471
6472 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
6473
6474         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
6475         back kludge.
6476
6477 2009-04-24  Robert Dewar  <dewar@adacore.com>
6478
6479         * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
6480         clean.adb: Minor reformatting.
6481         Minor code reorganization and message improvement.
6482
6483 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6484
6485         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
6486         (Alternate_Languages): now implemented as a malloc-ed list rather
6487         than through a table.
6488
6489 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6490
6491         * sem_res.adb (Static_Concatenation): Simplify predicate to make it
6492         accurately handle cases such as "lit" & "lit" and
6493         "lit" & static_string_constant
6494
6495 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6496
6497         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
6498         prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
6499         removed. Lists of projects are now implemented via standard malloc
6500         rather than through the table.
6501
6502 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6503
6504         * sem_ch12.adb: Minor reformatting
6505
6506         * g-trasym.adb: Minor reformatting
6507
6508         * exp_ch6.adb: Minor reformatting
6509
6510 2009-04-24  Robert Dewar  <dewar@adacore.com>
6511
6512         * layout.adb (Layout_Type): For packed array type, copy unset
6513         size/alignment fields from the referenced Packed_Array_Type.
6514
6515 2009-04-24  Bob Duff  <duff@adacore.com>
6516
6517         * lib-load.adb (Make_Instance_Unit): Revert previous change, no
6518         longer needed after sem_ch12 changes.
6519
6520         * sem.adb (Walk_Library_Items): Include with's in some debugging
6521         printouts.
6522
6523 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6524
6525         * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
6526         only ever using the Project field.
6527
6528 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6529
6530         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
6531         Body_Required on the generated compilation node. The new node is linked
6532         to its body, but both share the same file, so we do not set this flag
6533         on the new unit so as not to create a spurious dependency on a
6534         non-existent body in the ali file for the instance.
6535
6536 2009-04-24  Robert Dewar  <dewar@adacore.com>
6537
6538         * make.adb: Minor reformatting
6539
6540 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6541
6542         * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
6543         Add_Source): merge some code between those. In particular change where
6544         file normalization is done to avoid a few extra calls to
6545         Canonicalize_File_Name. This also removes the need for passing
6546         Current_Dir in a number of subprograms.
6547
6548 2009-04-24  Bob Duff  <duff@adacore.com>
6549
6550         * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
6551         False, assign the correct unit to the Cunit field of the new table
6552         entry. We want the spec unit, not the body unit.
6553
6554         * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
6555         interface for these.
6556         (Maybe_Add_With): Check whether we're trying to a with on the current
6557         unit, and avoid creating such directly self-referential with clauses.
6558         (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
6559         [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
6560         and matches existing comments in the spec.
6561
6562         * sem.adb (Walk_Library_Items): Add various special cases to make the
6563         assertions pass.
6564
6565         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
6566         instead of Parent (N), for uniformity.
6567
6568 2009-04-24  Robert Dewar  <dewar@adacore.com>
6569
6570         * errout.ads: Minor reformatting
6571
6572 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6573
6574         * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
6575         behavior when the project includes sources from multiple languages
6576
6577 2009-04-24  Vincent Celier  <celier@adacore.com>
6578
6579         * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
6580         is a language other than Ada declared.
6581
6582         * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
6583         Imported_First set to True.
6584
6585 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6586
6587         * sem_res.adb: additional optimization to inhibit creation of
6588         redundant transient scopes.
6589
6590 2009-04-24  Bob Duff  <duff@adacore.com>
6591
6592         * rtsfind.ads: Minor comment fix
6593
6594 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6595
6596         * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
6597         Get_Path_Name_And_Record_Ada_Sources): merged, since these were
6598         basically doing the same work (for explicit or implicit sources).
6599         (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
6600         role. Rewritten to share some code (testing that all explicit sources
6601         have been found) between ada_only and multi_language modes.
6602
6603 2009-04-24  Jerome Lambourg  <lambourg@adacore.com>
6604
6605         * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
6606         for CLI imported types.
6607         (Analyze_Pragma): Allow CIL or Java imported functions returning
6608         access-to-subprogram types.
6609
6610 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6611
6612         * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
6613         (Project_Data.Dir_Path): field removed, since it can be computed
6614         directly from .Directory, and is needed only once when processing the
6615         project is buildgpr.adb or make.adb
6616
6617 2009-04-24  Robert Dewar  <dewar@adacore.com>
6618
6619         * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
6620         rtsfind.adb: Minor reformatting.
6621         Minor code reorganization
6622
6623 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6624
6625         * mlib-prj.adb: Use friendlier english identifier.
6626
6627         * gnatcmd.adb, make.adb: Use better english identifiers.
6628
6629 2009-04-24  Robert Dewar  <dewar@adacore.com>
6630
6631         * clean.adb: Minor reformatting
6632
6633 2009-04-24  Robert Dewar  <dewar@adacore.com>
6634
6635         * einfo.adb (OK_To_Rename): New flag
6636
6637         * einfo.ads (OK_To_Rename): New flag
6638
6639         * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
6640         OK_To_Rename set.
6641
6642         * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
6643
6644         * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
6645         OK_To_Rename.
6646
6647 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6648
6649         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
6650         clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
6651         field removed. This is not a property of the
6652         project, just a boolean used to traverse the project tree, and storing
6653         it in the structure prevents doing multiple traversal in parallel.
6654         (Project_Data.Checked): also removed, since it was playing the same role
6655         as Seen when we had two nested loops, and this is no longer necessary
6656         (For_All_Imported_Projects): removed, since in fact there was already
6657         the equivalent in For_Every_Project_Imported. The latter was rewritten
6658         to use a local hash table instead of Project_Data.Seen
6659         Various loops were rewritten to use For_Every_Project_Imported, thus
6660         removing the need for Project_Data.Seen. This avoids a lot of code
6661         duplication
6662
6663 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6664
6665         * sem_res.adb (Resolve_Actuals): Do not create blocks around code
6666         statements, even though the actual of the call is a concatenation,
6667         because the argument is static, and we want to preserve warning
6668         messages  about sequences of code statements that are not marked
6669         volatile.
6670
6671         * sem_warn.adb: remove obsolete comment about warning being obsolete
6672
6673         * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
6674         requeued and the delay has expired while within the accept statement
6675         that executes the requeue, do not perform the requeue and indicate that
6676         the timed call has been aborted.
6677
6678 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6679
6680         * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6681         (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
6682         (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
6683         since they can be computed from the above.
6684
6685 2009-04-24  Vincent Celier  <celier@adacore.com>
6686
6687         * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
6688
6689         * prj-env.adb: Move all global variables to the private part of the
6690         project tree data.
6691         Access these new components instead of the global variables no longer
6692         in existence.
6693         (Add_To_Path): New Project_Tree_Ref parameter, to access the new
6694         components that were previously global variables.
6695
6696         * prj-env.ads (Initialize): New Project_Tree_Ref parameter
6697         (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
6698         parameter.
6699
6700         * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
6701         be able to call Set_Mapping_File_Initial_State_To_Empty with it.
6702
6703         * prj.adb (Initialize): Do not call Prj.Env.Initialize
6704         (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
6705         components in the private part of the project tree data.
6706
6707         * prj.ads (Private_Project_Tree_Data): new components moved from
6708         Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
6709         Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
6710         Ada_Prj_Objects_File_Set, Fill_Mapping_File.
6711
6712 2009-04-24  Vincent Celier  <celier@adacore.com>
6713
6714         * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
6715
6716         * prj-nmsc.adb (Check_Library): No error for imports by shared library
6717         projects, when --unchecked-shared-lib-imports is used.
6718
6719 2009-04-24  Robert Dewar  <dewar@adacore.com>
6720
6721         * sem_ch7.adb: Minor reformatting
6722
6723 2009-04-24  Tristan Gingold  <gingold@adacore.com>
6724
6725         * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
6726         mach thread id.
6727
6728 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6729
6730         * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
6731         Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
6732         (For_All_Imported_Projects): new procedure
6733         (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
6734         above rather than duplicating code.
6735
6736 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6737
6738         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6739         (Source_Id, Source_Data): use a real list to store sources rather than
6740         using an external table to store the elements. This makes code more
6741         efficient and more readable.
6742
6743 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6744
6745         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6746         (Source_Iterator): new type.
6747         This removes the need for having the sources on three different
6748         lists at the project tree, project and language level. They are now
6749         on a single list.
6750
6751 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6752
6753         * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
6754
6755 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6756
6757         * sem_warn.adb: Add comment on obsolete warning
6758
6759 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6760
6761         * s-tassta.adb (Create_Task): Fix violation of locking rule.
6762
6763 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6764
6765         * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
6766         to Language_Ptr to better reflect its new implementation.
6767         (Project_Data.First_Languages_Processing): renamed to Languages now
6768         that the field with that name is no longer used
6769         (Project_Data.Languages): removed, no longer used, and duplicates
6770         information already available through First_Language_Processing.
6771         (Prj.Language_Index): now an actual pointer, instead of an index into
6772         a table. This makes the list somewhat more obvious, but more importantly
6773         removes the need to pass a pointer to the project_tree_data in a few
6774         places, and makes accessing the attributes of a languages more
6775         efficient.
6776
6777 2009-04-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6778             Thomas Quinot  <quinot@adacore.com>
6779
6780         * fe.h (Set_Identifier_Casing): Add const to second parameter.
6781         * gcc-interface/misc.c (internal_error_function): Make copy of return
6782         from pp_formatted_text before assigning BUFFER to it.
6783         (gnat_init): Likewise for main_input_filename and gnat_argv.
6784         (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
6785
6786 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6787
6788         * ttypes.ads (Target_Double_Float_Alignment): New variable.
6789         (Target_Double_Scalar_Alignment): Likewise.
6790         * get_targ.ads (Get_Strict_Alignment): Adjust external name.
6791         (Get_Double_Float_Alignment): New imported function.
6792         (Get_Double_Scalar_Alignment): Likewise.
6793         * layout.adb (Set_Elem_Alignment): Take into account specific caps for
6794         the alignment of "double" floating-point types and "double" or larger
6795         scalar types, as parameterized by Target_Double_Float_Alignment and
6796         Target_Double_Scalar_Alignment respectively.
6797         * gcc-interface/gigi.h (double_float_alignment): Declare.
6798         (double_scalar_alignment): Likewise.
6799         (is_double_float_or_array): Likewise.
6800         (is_double_scalar_or_array): Likewise.
6801         (get_target_double_float_alignment): Likewise.
6802         (get_target_double_scalar_alignment): Likewise.
6803         * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
6804         (get_target_strict_alignment): ...this.
6805         (get_target_double_float_alignment): New function.
6806         (get_target_double_scalar_alignment): Likewise.
6807         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6808         Test the presence of an alignment clause for under-aligned integer
6809         types.  Take into account specific caps for the alignment of "double"
6810         floating-point types and "double" or larger scalar types, as
6811         parameterized by Target_Double_Float_Alignment and
6812         Target_Double_Scalar_Alignment respectively.
6813         (validate_alignment): Likewise.
6814         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
6815         (gigi): Initialize double_float_alignment and double_scalar_alignment.
6816         * gcc-interface/utils.c (double_float_alignment): New global variable.
6817         (double_scalar_alignment): Likewise.
6818         (is_double_float_or_array): New predicate.
6819         (is_double_scalar_or_array): Likewise.
6820
6821 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6822
6823         * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
6824         the conditional expression only if it is common to both arms.
6825
6826 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6827
6828         * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
6829         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
6830         arguments to build_allocator.
6831         * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
6832         Remove code handling special allocator and assert its uselessness.
6833
6834 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6835
6836         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
6837         alignment is specified, do not promote that of the component type
6838         beyond it.
6839         <E_Array_Subtype>: Likewise.
6840
6841 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6842
6843         * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
6844         * sinfo.ads (Object Declaration): Likewise.
6845         (Assignment Statement): Likewise.
6846         * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
6847         Do not force Is_True_Constant to false on the temporary.
6848         (Freeze_Entity): Do not force Is_True_Constant to false on names on
6849         the RHS of object declarations.
6850         * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
6851         New case.  Return 1 if the object is atomic.
6852         <N_Assignment_Statement>: Likewise.
6853
6854 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6855
6856         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
6857         For packed array types, make the original array type a parallel type
6858         for the modular type and its JM wrapper if the type is bit-packed.
6859         <E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
6860         record type for packed array types.  Remove kludge.
6861
6862 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6863
6864         * gcc-interface/gigi.h (create_index_type): Adjust head comment.
6865         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6866         Use front-end predicates to compute signedness and precision.
6867         <E_String_Literal_Subtype>: Fold range type.
6868         Make sure to set longest_float_type_node to a scalar type.
6869         (elaborate_entity): Use consistent Constraint_Error spelling.
6870         (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
6871         * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
6872         output for the modulus, if any.
6873         <ENUMERAL_TYPE>: Likewise for the RM size.
6874         * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
6875         spelling.
6876         * gcc-interface/utils.c (finish_record_type): Really test the alignment
6877         of BLKmode bit-fields to compute their addressability.
6878         (create_index_type): Adjust comments.
6879         (create_param_decl): Create the biased subtype manually.
6880         * gcc-interface/utils2.c (build_component_ref): Use consistent
6881         Constraint_Error spelling.
6882
6883 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6884
6885         * gcc-interface/cuintp.c: Clean up include directives.
6886         * gcc-interface/targtyps.c: Likewise.
6887         * gcc-interface/decl.c: Likewise.
6888         * gcc-interface/misc.c: Likewise.
6889         * gcc-interface/trans.c: Likewise.
6890         * gcc-interface/utils.c: Likewise.
6891         * gcc-interface/utils2.c: Likewise.
6892         * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
6893
6894 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6895
6896         * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
6897         (SET_TYPE_LANG_SPECIFIC): Likewise.  Fix formatting.
6898         (SET_DECL_LANG_SPECIFIC): Likewise.
6899         Reorder macros.
6900         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6901         Update comment about use of build_range_type.
6902         <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
6903         <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
6904         check for other cases of overloading.
6905         * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
6906         * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
6907         Use size_int in lieu of build_int_cst.
6908         (build_call_alloc_dealloc): Use build_index_2_type in lieu of
6909         build_range_type.
6910
6911 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6912
6913         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
6914         type is an enumeral or a boolean type, change it to an integer type
6915         with the same mode and signedness.
6916
6917 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6918
6919         * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
6920         for an external constant whose initializer is not absolute.
6921
6922 2009-04-22  Taras Glek  <tglek@mozilla.com>
6923
6924         * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
6925         * gcc-interface/trans.c: Likewise.
6926         * gcc-interface/utils.c: Likewise.
6927
6928 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
6929
6930         * sem_res.adb: Create block around procedure call when actual is a
6931         concatenation.
6932
6933 2009-04-22  Thomas Quinot  <quinot@adacore.com>
6934
6935         * s-soflin.ads: Fix typos
6936
6937 2009-04-22  Vincent Celier  <celier@adacore.com>
6938
6939         * prj-env.adb: Minor comment change
6940
6941         * prj-nmsc.adb (Check_Common): Add guard to avoid calling
6942         Get_Name_String with No_File.
6943
6944         * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
6945         cannot be created even when not in verbose mode.
6946
6947 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6948
6949         * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
6950         prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
6951         Multi_Language modes, to avoid code duplication.
6952         (Project_Data.Include_Language): Removed.
6953
6954 2009-04-22  Vincent Celier  <celier@adacore.com>
6955
6956         * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
6957         the temporary file cannot be created, indicating the directory when the
6958         creation was attempted.
6959
6960 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6961
6962         * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
6963         the language names, not their indices.
6964
6965 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6966
6967         * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
6968         (Source_Data.Language_Name): Field removed.
6969
6970 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6971
6972         * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
6973         Two fields removed.
6974
6975 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6976
6977         * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
6978         separate_suffix to the same value as the body_suffix.
6979
6980 2009-04-22  Robert Dewar  <dewar@adacore.com>
6981
6982         * prj.adb: Minor code reorganization
6983         Code clean up.
6984
6985         * prj-proc.adb: Minor code reorganization, clean up.
6986
6987         * prj-nmsc.adb: Minor reformatting
6988         Minor code reorganization
6989
6990         * gnat_ugn.texi: Add to doc on strict aliasing
6991
6992 2009-04-22  Pascal Obry  <obry@adacore.com>
6993
6994         * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
6995         SpinCount.
6996
6997         * s-tasini.adb: Minor reformatting.
6998
6999         * s-tassta.adb: Minor reformatting.
7000
7001 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7002
7003         * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
7004         smaller subprograms.
7005         Renamed to Check_File_Naming_Schemes to avoid confusion with the
7006         other Check_Naming_Schemes functions that plays a totally different
7007         role.
7008         (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
7009         extracted from the above. These were partially rewritten to avoid
7010         unnecessary code and temporary variables.
7011         (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
7012         and Get_Unit (which for now still exist since they contain mode-specific
7013         code)
7014
7015 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7016
7017         * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
7018         Remove duplicated code.
7019         (Canonical_Case_File_Name): new subprogram
7020         (Check_And_Normalize_Unit_Names): new subprogram
7021         (Write_Attr): new subprogram
7022         Better sharing of code
7023         (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
7024         split Check_Naming and help find duplicated code
7025         (Check_Common): new subprogram, sharing code between ada_only and
7026         multi_language mode.
7027         (Naming_Data.Dot_Repl_Loc): field removed
7028
7029 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7030
7031         * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
7032         Minor refactoring to reduce the size of
7033         Process_Sources_In_Multi_Language_Mode.
7034         Avoid extra copied of Source_Data, which we found in the past could be
7035         quite slow.
7036         (Mark_Excluded_Sources): new subprogram.
7037         (Remove_Locally_Removed_Files_From_Units): merged into the above
7038         Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
7039         and allow better sharing of code between multi_lang and ada_only modes
7040         (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
7041
7042 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7043
7044         * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
7045         Removed, since unused.
7046
7047 2009-04-22  Vincent Celier  <celier@adacore.com>
7048
7049         * prj-attr.adb: New single project level attribute
7050         Separate_Run_Path_Options.
7051
7052         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
7053         attribute Seperate_Run_Path_Options.
7054
7055         * prj.ads: (Project_Configuration): New Boolean component
7056         Separate_Run_Path_Options, defaulted to False.
7057
7058         * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
7059
7060 2009-04-22  Robert Dewar  <dewar@adacore.com>
7061
7062         * sem_type.adb: Minor reformatting
7063
7064         * mlib.adb: Minor reformatting
7065
7066         * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
7067         syntax error.
7068
7069 2009-04-22  Nicolas Setton  <setton@adacore.com>
7070
7071         * link.c: Add flag __gnat_separate_run_path_options.
7072
7073         * mlib.adb (Separate_Run_Path_Options): New subprogram.
7074
7075         * mlib.ads (Separate_Run_Path_Options): Declare.
7076
7077         * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
7078         switch per directory, rather than one "rpath" switch listing all
7079         directories.
7080
7081         * gnatlink.adb (Process_Binder_File): Likewise.
7082
7083         * make.adb (Gnatmake): Likewise.
7084
7085 2009-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
7086
7087         * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
7088         Add a call to Move_Final_List when the target of the assignment is a
7089         return object that needs finalization and the expression is a
7090         controlled build-in-place function.
7091
7092 2009-04-22  Vincent Celier  <celier@adacore.com>
7093
7094         * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
7095         Including_Libraries set to True.
7096
7097 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
7098
7099         * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
7100         create a unit table entry for the subprogram declaration created for a
7101         child suprogram body that has no separate specification.
7102
7103         * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
7104         subprogram body, call Make_Child_Decl_Unit.
7105
7106         * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
7107         table can only be the created specification of a child subprogram body
7108         that is the main unit, which has not been entered in the table yet.
7109
7110         * errout.adb  (Output_Messages): Ignore created specification of a
7111         child subprogram body to prevent repeated listing of error messages.
7112
7113         * gnat1drv.adb (gnat1drv): The generated specification for a child
7114         subprogram body does not generate code.
7115
7116 2009-04-22  Arnaud Charlet  <charlet@adacore.com>
7117
7118         * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
7119         since this unit is now part of bootstrap units, so must use Ada 95
7120         syntax only.
7121
7122 2009-04-22  Thomas Quinot  <quinot@adacore.com>
7123
7124         * a-tasatt.adb: Minor reformatting
7125
7126 2009-04-22  Bob Duff  <duff@adacore.com>
7127
7128         * s-stalib.ads: Remove "with System;" since we're inside System, so
7129         it's unnecessary.
7130
7131 2009-04-22  Vincent Celier  <celier@adacore.com>
7132
7133         * prj-nmsc.adb (Add_Source): Always put the dependency file name in
7134         the source record, as there may be a dependency file even if no object
7135         file is created.
7136
7137 2009-04-22  Robert Dewar  <dewar@adacore.com>
7138
7139         * lib-load.adb: Minor reformatting
7140
7141         * lib-load.ads: Minor reformatting
7142
7143         * sinfo.ads: Minor reformatting
7144
7145 2009-04-22  Bob Duff  <duff@adacore.com>
7146
7147         * exp_pakd.adb: Minor comment fixes.
7148
7149         * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
7150         sem_ch12.adb: Change the meaning of the Library_Unit attribute to
7151         include units containing instantiations, as well as units that are
7152         generic instantiations.
7153
7154         * sem.adb: Include dependents and corresponding specs/bodies in the
7155         unit walk.
7156
7157         * gcc-interface/Make-lang.in:
7158         sem now depends on s-bitops, because of the packed array of Booleans.
7159
7160 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7161
7162         * gcc-interface/ada-tree.def: Fix formatting nits.
7163         (REGION_STMT): Delete.
7164         (HANDLER_STMT): Likewise.
7165         * gcc-interface/ada-tree.h: Fix formatting nits.
7166         (IS_STMT): Delete.
7167         (REGION_STMT_BODY): Likewise.
7168         (REGION_STMT_HANDLE): Likewise.
7169         (REGION_STMT_BLOCK): Likewise.
7170         (HANDLER_STMT_ARG): Likewise.
7171         (HANDLER_STMT_LIST): Likewise.
7172         (HANDLER_STMT_BLOCK): Likewise.
7173         * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
7174         (fp_size_to_prec): Likewise.
7175         (largest_move_alignment): Delete.
7176         (gnat_compute_largest_alignment): Likewise.
7177         Fix minor nits.
7178         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
7179         Remove redundant code.
7180         <E_Array_Type>: Remove redundant assert.
7181         <E_Array_Subtype>: Exit early from index computation in pathological
7182         cases.
7183         Rewrite conditional assignment.
7184         (make_type_from_size): Likewise.
7185         * gcc-interface/misc.c (largest_move_alignment): Delete.
7186         (gnat_finish_incomplete_decl): Likewise.
7187         (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
7188         (asm_out_file): Likewise
7189         (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
7190         (gnat_dwarf_name): Move around.
7191         * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
7192         (gigi): Remove call to gnat_compute_largest_alignment.
7193         * utils.c (create_field_decl): Rewrite conditional assignment.
7194         Fix minor nits.
7195
7196 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7197
7198         * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
7199         on entry.  Defer common processing for types.  Reorder and clean up.
7200         Compute the equivalent GNAT node and the default size for types only.
7201         <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
7202         <E_Access_Type>: For an unconstrained designated type, do not pretend
7203         that a dummy type is always made.
7204         <all> Fix nits in comments.
7205         (validate_size): Fix formatting nits and comments.
7206         (set_rm_size): Likewise.
7207         * gcc-interface/utils.c (create_param_decl): Replace bogus argument
7208         passed to TARGET_PROMOTE_PROTOTYPES hook.
7209
7210 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7211
7212         * fe.h (Get_External_Name): Declare.
7213         * gcc-interface/gigi.h (concat_id_with_name): Rename to...
7214         (concat_name): ...this.
7215         * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
7216         gnu_entity_name and adjust for above renaming.
7217         <E_Access_Type>: Use create_concat_name to get the name of the various
7218         types associated with unconstrained array types.
7219         (make_aligning_type): Adjust for above renaming.
7220         (maybe_pad_type): Likewise.
7221         (components_to_record): Likewise.  Use get_identifier_with_length for
7222         the encoding of the variant.
7223         (get_entity_name): Use get_identifier_with_length.
7224         (create_concat_name): Likewise.  Use Get_External_Name if no suffix.
7225         Do not fiddle with Name_Buffer.
7226         (concat_id_with_name): Rename to...
7227         (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
7228         with Name_Buffer.
7229         * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
7230         above renaming.
7231
7232 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
7233
7234         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
7235         license notices.
7236
7237 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7238
7239         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
7240
7241 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7242
7243         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
7244         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
7245         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
7246         Remove useless support code for packed array types and assert its
7247         uselessness.
7248         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
7249         adjust for TYPE_RM_SIZE change.
7250         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
7251         of Associated_Node_For_Itype accessor for packed array types.
7252         (make_packable_type): Likewise.
7253         (maybe_pad_type): Likewise.
7254         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
7255         TYPE_RM_SIZE change.
7256         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
7257         (rm_size): Fix nits in comments.  Rework conditional statements.
7258         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
7259         change.
7260         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
7261         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
7262         appropriate function to initialize the size_type_node.  Adjust for
7263         TYPE_RM_SIZE change.
7264
7265 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7266
7267         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
7268         for imported subprograms.
7269
7270 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7271
7272         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
7273         constant objects covered by 13.3(19) volatile.
7274
7275 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7276
7277         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
7278         of dummy fat pointer types to the debug back-end.
7279
7280 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7281
7282         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
7283         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
7284         before wrapping it up in the record type.  Do not overwrite the
7285         Ada size of the record type with the Esize.
7286
7287 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7288
7289         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
7290         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
7291         if the conversion is on the LHS of an assignment and a no-op.
7292         <all> Do not convert the result to the result type if the Parent
7293         node is such a conversion.
7294
7295 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7296
7297         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
7298         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
7299         of types with unknown discriminants.
7300         (substitute_in_type): Rewrite and restrict to formal substitutions.
7301         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
7302         (update_pointer_to): Update comment.
7303
7304 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7305
7306         * sem_ch8.adb (Use_One_Package): In an instance, if two
7307         potentially_use_visible and non-overloadable homonyms are available
7308         from  the actuals of distinct formal packages, retain the current one,
7309         which was visible in the generic, to prevent spurious visibility
7310         errors.
7311         (End_Use_Package): Restore use_visibility when needed.
7312
7313 2009-04-20  Sergey Rybin  <rybin@adacore.com>
7314
7315         * gnat_ugn.texi, vms_data.ads: Update doc.
7316
7317 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7318
7319         * gcc-interface/Make-lang.in: Update dependencies
7320
7321         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
7322         Windows.
7323
7324 2009-04-20  Robert Dewar  <dewar@adacore.com>
7325
7326         * checks.ads: Fix documentation of range check handling
7327
7328 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7329
7330         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
7331         a redundant use_type clause.
7332
7333 2009-04-20  Robert Dewar  <dewar@adacore.com>
7334
7335         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
7336         this attribute can be evaluated at compile time.
7337         (Eval_Attribute, case Range_Length): Same improvement
7338
7339         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
7340
7341 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7342
7343         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
7344         for better handling of null procedures.
7345         (Check_Overriding_Indicator): Do not emit a warning on a missing
7346         overriding indicator on an operator when the type of which the operator
7347         is a primitive is private.
7348
7349 2009-04-20  Bob Duff  <duff@adacore.com>
7350
7351         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
7352         debugging output.
7353
7354 2009-04-20  Robert Dewar  <dewar@adacore.com>
7355
7356         * sem_attr.adb: Minor reformatting
7357
7358         * gnatcmd.adb: Minor reformatting
7359
7360 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7361
7362         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
7363         overloaded and one interpretation matches the context, label the
7364         operand with the type of first formal.
7365
7366 2009-04-20  Bob Duff  <duff@adacore.com>
7367
7368         * debug.ads: Minor comment fix.
7369
7370         * debug.adb: Minor comment fixes.
7371
7372 2009-04-20  Javier Miranda  <miranda@adacore.com>
7373
7374         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
7375
7376         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
7377
7378         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
7379         is expanded into a call to Raise_Exception, avoid passing the
7380         exception-name'identity in runtimes in which this argument
7381         is not used.
7382
7383 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
7384
7385         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
7386         generated bindings for cil.
7387
7388 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7389
7390         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
7391         discriminants, collect components from the Underlying_Record_View,
7392         which will be used in the expansion of the aggregate into assignments.
7393
7394         * sem_ch3.adb: Do not label derived type with unknown discriminants as
7395         having a private declaration.
7396
7397 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7398
7399         * exp_util.adb (Expand_Subtype_From_Expr): use the
7400         underlying_record_view when available, to create the proper constrained
7401         subtype for an object of a derived type with unknown discriminants.
7402
7403 2009-04-20  Javier Miranda  <miranda@adacore.com>
7404
7405         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
7406         formals that have pragma unreferenced.
7407
7408 2009-04-20  Pascal Obry  <obry@adacore.com>
7409
7410         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
7411         Remove all calls to To_Lower_If_Case_Insensitive to preserve
7412         the pathname original casing.
7413
7414 2009-04-20  Robert Dewar  <dewar@adacore.com>
7415
7416         * g-trasym.adb: Minor reformatting
7417
7418         * s-os_lib.adb: Minor reformatting
7419
7420         * sem.adb: Minor reformatting
7421         Minor code reorganization
7422
7423         * sem_ch3.adb: Minor reformatting
7424
7425         * sem_ch4.adb: Minor reformatting
7426
7427         * sem_ch8.adb: Minor reformatting
7428
7429         * sem_type.adb: Minor reformatting
7430
7431 2009-04-20  Javier Miranda  <miranda@adacore.com>
7432
7433         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
7434         generated by derivations of tagged types use the aliased subprogram a
7435         reference to locate their controlling type.
7436
7437 2009-04-20  Tristan Gingold  <gingold@adacore.com>
7438
7439         * g-trasym.adb: Set size of result buffer before calling
7440         convert_address.
7441
7442 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7443
7444         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
7445         to a function returning an array can be interpreted as a call with
7446         defaulted parameters whose result is indexed, take into account the
7447         types of all the indices of the array result type.
7448
7449 2009-04-20  Pascal Obry  <obry@adacore.com>
7450
7451         * a-direct.adb, s-os_lib.adb: Minor reformatting.
7452
7453 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7454
7455         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
7456         null exclusion qualifiers for object renaming declarations.
7457
7458 2009-04-20  Nicolas Roche  <roche@adacore.com>
7459
7460         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
7461         unsigned long long. So compare local_time and utc_time before computing
7462         the difference.
7463
7464 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7465
7466         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
7467         of the Underlying_Record_View before that of the derived type.
7468
7469         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
7470         with unknown discriminants with regard to the parent subtype.
7471
7472 2009-04-20  Bob Duff  <duff@adacore.com>
7473
7474         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
7475         that are not included. This is necessary if the main unit is a generic
7476         instantiation.
7477
7478         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
7479         because it doesn't work if -gnatn is used.
7480
7481 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7482
7483         * rtsfind.adb (RTE, RTE_Record_Component): In
7484         Configurable_Run_Time_Mode, do not enable front-end inlining.
7485
7486 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7487
7488         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
7489         System.Address_To_Access_Conversions.
7490
7491 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7492
7493         * sem.adb: Guard against ill-formed subunits.
7494
7495 2009-04-20  Bob Duff  <duff@adacore.com>
7496
7497         * output.adb (Flush_Buffer): Do not indent blank lines.
7498         (Ignore_Output): New procedure for output suppression.
7499
7500 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7501
7502         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
7503         when it is positive.  This avoids a potential constraint error raised
7504         by the conversion to Natural.
7505
7506 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7507
7508         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
7509         involves a target that has a specified address, don't set Forward_OK
7510         and Backward_OK to False if the rhs is an aggregate, since overlap
7511         can't occur.
7512
7513 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7514
7515         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
7516         in an object renaming declaration when the expected type is an
7517         anonymous access type.
7518
7519         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
7520         ambiguity when one interpretation is an anonymous access type and the
7521         other is a named access type, and the context itself is anonymous
7522
7523 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7524
7525         * einfo.ads: Minor comment rewording
7526
7527         * sem_aggr.adb: Minor comment rewording
7528
7529         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
7530
7531 2009-04-20  Pascal Obry  <obry@adacore.com>
7532
7533         * adaint.c (__gnat_is_readable_file): Check for file existence
7534         when not using ACL (always the case on remote drives).
7535
7536 2009-04-20  Robert Dewar  <dewar@adacore.com>
7537
7538         * sinfo.ads: Minor comment fixes
7539
7540         * exp_disp.adb: Minor reformatting
7541
7542         * gnat1drv.adb: Minor reformatting
7543
7544         * output.adb: Minor reformatting
7545
7546         * s-vxwext-kernel.ads: Minor reformatting
7547
7548         * sem.ads: Minor reformatting
7549
7550         * sem.adb: Minor reformatting
7551
7552         * sem_elim.adb: Minor reformatting
7553
7554         * uname.ads: Minor reformatting
7555
7556 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7557
7558         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
7559         a small dope of 4 words to the adjustment to the stack pointer.
7560
7561 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7562
7563         * xoscons.adb: generate C header s-oscons.h in
7564         addition to s-oscons.ads.
7565
7566         * socket.c: On VMS, use s-oscons.h.
7567
7568         * sem_ch3.adb: Minor reformatting
7569
7570         * exp_ch9.adb: Minor reformatting
7571
7572 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7573
7574         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
7575         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
7576         (call_to_gnu): Likewise.
7577
7578 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7579
7580         * gcc-interface/trans.c (gigi): Declare the name of the compilation
7581         unit as the first global name at the very beginning.
7582
7583 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7584
7585         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7586         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
7587         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
7588         since HP-UX supports neither inet_aton nor inet_pton (altough the
7589         latter is part of the Single UNIX Specification!).
7590         So reorganize code, and share C implementation based on inet_addr(3)
7591         with VMS (instead of having a VMS specific Ada implementation in
7592         g-socthi-vms.adb).
7593
7594 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7595
7596         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
7597         to return the object file name saved by Set_Object_Output_File_Name.
7598
7599 2009-04-20  Emmanuel Briot  <briot@adacore.com>
7600
7601         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
7602         for the standard command line, when argc has been modified since the
7603         start of the application.
7604
7605 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7606
7607         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
7608         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
7609
7610 2009-04-20  Bob Duff  <duff@adacore.com>
7611
7612         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
7613         pragma Debug.
7614
7615 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7616
7617         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
7618         subprogram as Eliminated when source operation is.
7619         (Expand_N_Protected_Type_Declaration): Generate protected and
7620         unprotected specs for the internal operations, even if the source
7621         operation is eliminated.
7622
7623 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7624
7625         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
7626         Predefined_Primitive_Bodies): Do not create the declarations and bodies
7627         of the primitive subprograms associated with dispatching select
7628         statements when the runtime is in configurable mode.
7629
7630 2009-04-20  Ed Falis  <falis@adacore.com>
7631
7632         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
7633
7634 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7635
7636         * s-oscons-tmplt.c: Add support for generating a dummy version of
7637         s-oscons.ads providing all possible constants.
7638
7639         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
7640
7641         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
7642         ANSI version (not the UNICODE version) of WSAStringToAddress.
7643
7644 2009-04-20  Pascal Obry  <obry@adacore.com>
7645
7646         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
7647         allocated for the security descriptor and make sure all
7648         handles are closed before leaving this procedure.
7649
7650 2009-04-20  Javier Miranda  <miranda@adacore.com>
7651
7652         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
7653         (Set_Is_Underlying_Record_View): New subprogram
7654
7655         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
7656         private types with unknown discriminants use the underlying record view
7657         if available.
7658
7659         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
7660         underlying record view in the full view of private types whose parent
7661         has unknown discriminants.
7662         (Build_Derived_Record_Type): Avoid generating the class-wide entity
7663         associated with an underlying record view.
7664         (Derived_Type_Declaration): Avoid deriving parent primitives in
7665         underlying record views.
7666
7667         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
7668         records with unknown discriminants.
7669
7670         * sem_type.adb (Covers): Handle underlying record views.
7671         (Is_Ancestor): Add support for underlying record views.
7672
7673         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
7674         dispatching call if the type of the target object is tagged and has
7675         unknown discriminants.
7676
7677         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
7678         unknown discriminants.
7679
7680         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
7681         tables for internally built underlying record views.
7682
7683         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
7684         empty list of component associations.
7685
7686 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7687
7688         * sem_ch10.adb: Minor reformatting
7689
7690         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7691         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
7692         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
7693         standard inet_pton API (and emulate it on platforms that do not
7694         support it).
7695         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
7696         DECC$INET_ADDR, imported in Ada.
7697         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
7698         implementation provided by GNAT runtime.
7699         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
7700         Windows.
7701
7702 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7703
7704         * gnat_ugn.texi: Add documentation for -fno-ivopts.
7705
7706 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7707
7708         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
7709         with_clause if it is the main unit.
7710
7711 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7712
7713         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
7714         (no behaviour change): Use Append instead of Increment_Last followed
7715         by assignment.
7716
7717 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7718
7719         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
7720         declarations of all primitives associated with dispatching asynchronous,
7721         conditional and timed selects when dispaching calls are forbidden and
7722         select statements are not allowed (such as in Ravenscar).
7723         (Predefined_Primitive_Bodies): Ditto for bodies.
7724
7725         * exp_disp.ad (Make_DT): Do not create and populate the
7726         Select_Specific_Data of the dispatch table when dispatching calls are
7727         forbidden and select statements are not allowed (such as in Ravenscar).
7728
7729 2009-04-20  Robert Dewar  <dewar@adacore.com>
7730
7731         * a-tifiio.adb: Minor reformatting
7732
7733 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7734
7735         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
7736         other C library functions, report *failure* with a zero status, and
7737         success with a non-zero status.
7738
7739 2009-04-20  Bob Duff  <duff@adacore.com>
7740
7741         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
7742         (Semantics): After analyzing each unit, Append it to the
7743         Comp_Unit_List, if appropriate.
7744
7745         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
7746         purposes.
7747         (Gnat1drv): Correct comment regarding Back_End_Mode.
7748
7749 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7750
7751         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
7752
7753 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7754
7755         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
7756         output.adb, output.ads, s-taprop-hpux-dce.adb,
7757         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
7758         reformatting.
7759
7760 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7761
7762         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
7763         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
7764         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
7765         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
7766         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
7767         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
7768
7769         * debug.adb: Fix typo
7770
7771         * gnat_rm.texi: Minor doc fix.
7772
7773         * sem_ch7.adb, freeze.adb: Minor reformatting
7774
7775 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7776
7777         * g-socket.ads: Add new constants:
7778           Loopback_Inet_Addr
7779           Unspecified_Group_Inet_Addr
7780           All_Hosts_Group_Inet_Addr
7781           All_Routers_Group_Inet_Addr
7782
7783         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
7784         ERANGE (Result too large).
7785         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
7786         propagation of errno to caller.
7787
7788 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7789
7790         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
7791         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
7792         Leap_Second_Times.
7793
7794 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7795
7796         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
7797         checking for references to eliminated subprograms that should be
7798         flagged.
7799         (Eliminate_Error_Message): Update comment to say "references" rather
7800         than "calls" (since attribute cases are handled here as well).
7801
7802         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
7803         checking for references to eliminated subprograms that should be
7804         flagged.  Add with and use of Sem and Sem_Util.
7805
7806         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
7807         Add with and use of Sem_Elim.
7808
7809         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
7810         applied to eliminated subprograms.
7811         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
7812         eliminated subprograms.
7813         Add with and use of Sem_Elim.
7814
7815         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
7816         to eliminated subprograms, now handled during Resolve_Call.
7817         Remove with and use of Sem_Elim.
7818
7819         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
7820         testing Is_Eliminated, for proper handling of primitive derived from
7821         eliminated subprograms.
7822
7823 2009-04-20  Vincent Celier  <celier@adacore.com>
7824
7825         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
7826         has been declared (Library_GCC or Linker'Driver), for the driver name.
7827
7828         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
7829         Linker'Driver is, use Linker'Driver as the shared library linker.
7830         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
7831         Library_GCC is declared.
7832         (Check_Library_Attributes): Set up the shared linker driver: either
7833         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
7834         declared.
7835
7836 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7837
7838         * g-socket.ads (Send_Socket): Fix misleading comment.
7839
7840 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7841
7842         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
7843         ASIS mode.
7844
7845 2009-04-20  Geert Bosch  <bosch@adacore.com>
7846
7847         * a-tifiio.adb (Put): Avoid generating too many digits for certain
7848         fixed types with smalls that are neither integer or the reciprocal
7849         of an integer.
7850
7851 2009-04-20  Bob Duff  <duff@adacore.com>
7852
7853         * uname.ads: Minor comment fix.
7854
7855         * types.ads: Minor comment fix.
7856
7857 2009-04-20  Pascal Obry  <obry@adacore.com>
7858
7859         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
7860         avoid warning. At the same time fix a memory leak.
7861
7862         * osint.adb (Get_Libraries_From_Registry): Properly free memory
7863         returned by the above routine.
7864
7865 2009-04-20  Robert Dewar  <dewar@adacore.com>
7866
7867         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
7868         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
7869         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
7870         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
7871
7872         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
7873
7874 2009-04-20  Pascal Obry  <obry@adacore.com>
7875
7876         * initialize.c (__gnat_initialize): Add braces to kill warning.
7877
7878         * adaint.c: Minor reformatting, remove trailing spaces.
7879
7880 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
7881
7882         * gcc-interface/Make-lang.in: Update dependencies.
7883
7884 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7885
7886         * adaint.h (__gnat_lwp_self): Declare on Linux.
7887
7888         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
7889
7890 2009-04-20  Robert Dewar  <dewar@adacore.com>
7891
7892         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
7893         front-end part of -fpreserve-control-flow switch.
7894
7895 2009-04-20  Bob Duff  <duff@adacore.com>
7896
7897         * rtsfind.adb: Minor comment fix
7898
7899 2009-04-20  Robert Dewar  <dewar@adacore.com>
7900
7901         * exp_aggr.adb: Minor reformatting
7902         Minor code reorganization (use Nkind_In)
7903
7904         * g-socket.adb: Minor reformatting
7905
7906         * g-socket.ads: Minor comment fix
7907
7908         * s-auxdec.ads: Minor comment and organization update.
7909
7910         * s-auxdec-vms_64.ads: Minor comment and organization update.
7911
7912         * sem_ch10.adb: Minor addition of ??? comment
7913
7914         * sem_disp.adb: Minor reformatting
7915
7916 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7917
7918         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
7919         list a caller of an inlined subprogram, if the caller itself is not
7920         called.
7921
7922 2009-04-20  Pascal Obry  <obry@adacore.com>
7923
7924         * adaint.c: Disable use of ACL on network drives.
7925
7926 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7927
7928         * gnat_ugn.texi: Add examples.
7929
7930 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7931
7932         * g-socket.ads (Abort_Selector): Clarify documentation.
7933
7934 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7935
7936         * opt.ads (Inspector_Mode): Update documentation of this flag.
7937
7938 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7939
7940         * g-socket.ads: Minor reformatting
7941
7942         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
7943         consider S_resolvLib error codes since we only use the hostLib wrappers.
7944
7945 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7946
7947         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
7948         of the Underlying_Record_View after that of the derived type.
7949
7950 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7951
7952         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
7953         in inspector mode.
7954
7955 2009-04-20  Javier Miranda  <miranda@adacore.com>
7956
7957         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
7958
7959         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
7960         documentation.
7961
7962         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
7963
7964         * sem_disp.adb
7965         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
7966         in internally built overriding subprograms.
7967
7968 2009-04-20  Doug Rupp  <rupp@adacore.com>
7969
7970         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
7971
7972         * s-auxdec.ads: Likewise
7973
7974 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7975
7976         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
7977         type by an interface.
7978
7979         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
7980         minimze difference in expanded tree when compiled as spec of the main
7981         unit, or as a spec in the context of another unit.
7982
7983 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7984
7985         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
7986         (localtime_tzoff): This routine no longer accepts an actual of type
7987         tm_Pointer.
7988         (UTC_Time_Offset): Remove local variable Secs_TM.
7989
7990         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
7991         actual of type struct tm*. Add local variable of type struct tm for all
7992         targets that provide localtime_r and need to invoke it.
7993
7994 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7995
7996         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
7997         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
7998         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
7999
8000 2009-04-20  Robert Dewar  <dewar@adacore.com>
8001
8002         * sem_ch3.adb: Minor reformatting
8003
8004         * lib-load.adb: Minor reformatting
8005
8006         * sem_ch4.adb: Minor reformatting
8007
8008 2009-04-20  Robert Dewar  <dewar@adacore.com>
8009
8010         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
8011         (equal values => False).
8012
8013 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
8014
8015         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
8016         to null procedures can be inlined unconditionally.
8017
8018 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
8019
8020         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
8021         non-addressable parameter passed by reference, do not convert the
8022         actual if its type is already the nominal type, unless it is of
8023         self-referential size.
8024
8025 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
8026
8027         * gnat_ugn.texi: Fix typos.
8028
8029 2009-04-20  Robert Dewar  <dewar@adacore.com>
8030
8031         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
8032         Validate_Unchecked_Warnings to suppress warnings about size or
8033         alignment or extra bits if either type involved has pragma Warnings
8034         (Off) set for the type entity.
8035
8036 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
8037
8038         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
8039         a builtin type and give it a name.
8040
8041 2009-04-17  Diego Novillo  <dnovillo@google.com>
8042
8043         * gcc-interface/misc.c (gnat_expand_expr): Remove.
8044         (LANG_HOOKS_EXPAND_EXPR): Remove.
8045
8046 2009-04-17  Robert Dewar  <dewar@adacore.com>
8047
8048         * sem_ch3.adb: Minor reformatting
8049
8050 2009-04-17  Pascal Obry  <obry@adacore.com>
8051
8052         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
8053
8054 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8055
8056         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
8057         illegal constraints on type derived from formal discrete types.
8058
8059 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8060
8061         PR ada/35953
8062
8063         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
8064         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
8065         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
8066         g-socket.ads (GNAT.Sockets.Thin.C_Send,
8067         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
8068         Replace calls to send(2) with equivalent sendto(2) calls.
8069         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
8070         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
8071         report an error in that case. Factor code common to the two versions
8072         (datagram and stream) in common routine Stream_Write.
8073
8074 2009-04-17  Robert Dewar  <dewar@adacore.com>
8075
8076         * exp_disp.adb: Minor reformatting
8077         Minor code reorganization (use Nkind_In)
8078
8079         * prepcomp.adb: Minor reformatting
8080
8081         * sem_ch3.adb: Minor reformatting
8082
8083         * sem_res.adb: Minor comment addition
8084
8085         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
8086         for address clause
8087
8088         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
8089         setting Is_Referenced
8090
8091         * types.ads: Minor reformatting
8092
8093 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8094
8095         * gnat_ugn.texi: Initial documentation on binding generator.
8096
8097 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8098
8099         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
8100         type extensions whose parent is a type with unknown discriminants.
8101
8102         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
8103         aggregate has unknown discriminants, use the Underlying_Record_View to
8104         obtain the discriminants of the ancestor part.
8105
8106         * exp_disp.adb (Build_Dispatch_Tables): Types that are
8107         Underlying_Record_Views share the dispatching information of the
8108         original record extension.
8109
8110         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
8111         discriminants, propagate dispach table information to the
8112         Underlying_Record_View.
8113
8114         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
8115         discriminants and declaration is not a completion, generate
8116         Underlying_Record_View to provide proper discriminant information to
8117         the front-end and to gigi.
8118
8119 2009-04-17  Robert Dewar  <dewar@adacore.com>
8120
8121         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
8122         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
8123         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
8124         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
8125         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
8126         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
8127         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
8128         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
8129         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
8130         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
8131         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
8132         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
8133         s-conca3.ads: Remove unneeded pragma Warnings
8134
8135 2009-04-17  Robert Dewar  <dewar@adacore.com>
8136
8137         * g-moreex.adb: Add comments.
8138
8139         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
8140
8141         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
8142         Warnings (Off)
8143
8144         * prepcomp.adb: Add ??? comment
8145
8146         * a-tasatt.adb: Minor reformatting
8147
8148         * g-trasym-vms-alpha.adb: Add ??? comment
8149
8150         * g-trasym-vms-ia64.adb: Add ??? comment
8151
8152         * xoscons.adb: Minor reformatting
8153
8154         * s-tassta.adb: Minor reformatting
8155
8156         * s-scaval.adb: Add ??? comment
8157
8158         * stand.ads: Minor code clean up (remove junk with of Namet)
8159
8160         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
8161         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
8162         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
8163         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
8164         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
8165         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
8166         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
8167         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
8168         Warnings off pragmas.
8169
8170 2009-04-17  Pascal Obry  <obry@adacore.com>
8171
8172         * initialize.c: Fix test for reallocating the arguments array.
8173
8174 2009-04-17  Geert Bosch  <bosch@adacore.com>
8175
8176         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
8177         conversion truncate only for decimal fixed point types.
8178
8179 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
8180
8181         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
8182         reinitialized.
8183
8184 2009-04-17  Robert Dewar  <dewar@adacore.com>
8185
8186         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
8187         Backwards_OK if either operand has an address clause.
8188
8189 2009-04-17  Pascal Obry  <obry@adacore.com>
8190
8191         * initialize.c: Code clean up, use realloc.
8192
8193 2009-04-17  Pascal Obry  <obry@adacore.com>
8194
8195         * initialize.c: Do not get Unicode command line if Unicode support not
8196         activated.
8197         Add support for wildcard expansion for Unicode parameters on Win32.
8198
8199         * mingw32.h: Add missing macros when Unicode support not activated.
8200
8201 2009-04-17  Javier Miranda  <miranda@adacore.com>
8202
8203         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
8204         avoid generating code that references the Current_Master
8205         when compiling without tasks.
8206
8207 2009-04-17  Vincent Celier  <celier@adacore.com>
8208
8209         * prj-attr.adb: New project level attribute Target
8210         
8211         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
8212         attribute Target
8213         
8214         * prj.ads (Project_Configuration): New component Target
8215
8216 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8217
8218         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
8219         case for the case of an aggregate component, the attach call for the
8220         result is actually needed.
8221
8222         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
8223         an array aggregate must be disabled if the component type requires
8224         controlled actions.
8225
8226         * exp_ch3.adb: Minor reformatting
8227
8228 2009-04-17  Bob Duff  <duff@adacore.com>
8229
8230         * output.ads (Indent,Outdent): New procedures for indenting the output.
8231         (Write_Char): Correct comment -- LF _is_ allowed.
8232
8233         * output.adb (Indent,Outdent): New procedures for indenting the output.
8234         Keep track of the indentation level, and make sure it doesn't get too
8235         high.
8236         (Flush_Buffer): Insert spaces at the beginning of each line, if
8237         indentation level is nonzero.
8238         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
8239         indentation level.
8240         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
8241         "Next_Col := 1;".  Flush_Buffer does that.
8242
8243         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
8244         controlled by the -gnatdc switch. It now occurs on entry/exit to the
8245         relevant analysis routines, and calls Indent/Outdent to make the
8246         indentation reflect the nesting level.  Add "helper" routines, since
8247         otherwise lots of "return;" statements would skip the debugging output.
8248
8249 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8250
8251         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
8252         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
8253         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
8254
8255 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8256
8257         * exp_aggr.adb: Minor code reorganization, no behaviour change.
8258
8259 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8260
8261         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
8262         clause in a unit that is a package body or a subunit, when the previous
8263         clause appears in a spec or a parent.
8264
8265 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8266
8267         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
8268
8269         * exp_ch7.adb: Minor reformatting
8270
8271 2009-04-17  Bob Duff  <duff@adacore.com>
8272
8273         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
8274         allocator, check that the expression of the qualified expression obeys
8275         the constraints of the subtype of the qualified expression.
8276
8277 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8278
8279         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
8280
8281 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8282
8283         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
8284         aggregate, using context imposed by subtype mark in allocator.
8285
8286 2009-04-17  Pascal Obry  <obry@adacore.com>
8287
8288         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
8289
8290 2009-04-17  Nicolas Roche  <roche@adacore.com>
8291
8292         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
8293         argument length.
8294
8295 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
8296
8297         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
8298         cover both calls and attribute references ("call" => "reference").
8299
8300 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8301
8302         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
8303         type for which Storage_Size is set to 0 is legal in a pure unit.
8304
8305 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8306
8307         * exp_ch7.adb: Minor reformatting
8308
8309 2009-04-17  Robert Dewar  <dewar@adacore.com>
8310
8311         * restrict.adb (Check_Restriction_No_Dependence): Don't check
8312         restriction if outside main extended source unit.
8313
8314         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
8315         for parents of child units as well as the child unit itself.
8316
8317 2009-04-17  Bob Duff  <duff@adacore.com>
8318
8319         * checks.ads: Minor comment fix
8320
8321         * exp_aggr.ads: Minor comment fix
8322
8323 2009-04-17  Nicolas Roche  <roche@adacore.com>
8324
8325         * adaint.c: Improve cross compiler detection and handling.
8326
8327 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
8328
8329         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
8330
8331 2009-04-17  Pascal Obry  <obry@adacore.com>
8332
8333         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
8334         CurrentCodePage.
8335
8336         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
8337         value when no encoding form paramter is set on Text_IO services.
8338
8339         * adaint.c: CurrentCodePage new variable on Windows.
8340         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8341         ones.
8342
8343         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8344         ones.
8345
8346         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
8347         environment variable value. Default is UTF-8.
8348
8349         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
8350         fopen and freopen encoding parameter is now set to Unspecified.
8351         The default value is in this case UTF-8 (as it was before) but
8352         use the new macros that convert to/from the code page set
8353         at runtime (CurrentCodePage).
8354
8355         * s-fileio.adb: When no encoding specified use Unspecified value.
8356
8357 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8358
8359         * atree.adb, atree.ads: Remove dead code.
8360
8361 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8362
8363         * gcc-interface/Make-lang.in: Update dependencies.
8364
8365 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8366
8367         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
8368         illegal uses of incomplete types in formal parts and return types.
8369
8370         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
8371         access to subprograms.
8372
8373         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
8374         Taft-amendment types as the return type of an access_to_function type.
8375
8376         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8377         type for access_to_subprograms. The check is performed on package exit.
8378
8379 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8380
8381         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
8382
8383         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
8384         
8385         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
8386
8387         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
8388         semantic units, because the handling of itypes in the copied tree
8389         requires semantic information that does not belong in atree.
8390
8391 2009-04-17  Robert Dewar  <dewar@adacore.com>
8392
8393         * par-ch6.adb: Minor reformatting
8394
8395         * prj.adb: Minor reformatting
8396
8397 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
8398
8399         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
8400         on protected subprogram bodies, so exclude the case where Pf_Flags is
8401         Pf_Decl_Pbod from the error check.
8402
8403         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
8404         indicators on subprograms in protected bodies, and proceed with parsing
8405         the subprogram.
8406
8407         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
8408         subprograms from the check for primitiveness on subprograms with
8409         overriding indicators.
8410         (Check_Overriding_Indicator): Include protected subprograms in the
8411         style check for missing overriding indicators.
8412
8413 2009-04-17  Tristan Gingold  <gingold@adacore.com>
8414
8415         * init.c: Fix stack checking for x86 Darwin.
8416
8417 2009-04-17  Vincent Celier  <celier@adacore.com>
8418
8419         * prj-attr.adb: New project level attribute Object_File_Suffix
8420         (<language>).
8421         
8422         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
8423         object file name
8424         (Process_Compiler): Process attribute Object_File_Suffix
8425
8426         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
8427         platform suffix, when specified.
8428
8429         * prj.ads (Language_Config): New component Object_File_Suffix,
8430         defaulted to No_Name.
8431         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
8432
8433         * snames.ads-tmpl: New standard name Object_File_Suffix
8434
8435 2009-04-17  Robert Dewar  <dewar@adacore.com>
8436
8437         * gnat_rm.texi: Add documentation about No_Streams restriction
8438
8439         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
8440         attributes when checking No_Streams restriction.
8441
8442 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8443
8444         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
8445
8446         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
8447         missing calls to RE_Request_Destroy to deallocate request objects after
8448         use.
8449
8450 2009-04-17  Nicolas Setton  <setton@adacore.com>
8451
8452         * link.c: Fix support for passing a response file under Darwin.
8453
8454 2009-04-17  Emmanuel Briot  <briot@adacore.com>
8455
8456         * prj.adb (Free): new subprogram.
8457
8458 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8459
8460         * sem_ch3.adb: additional initialization on incomplete subtypes.
8461         
8462         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
8463         part and one of the formals is an incomplete tagged type, attach to
8464         list of private dependends of the type for later validation.
8465
8466         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
8467         primitive operations of a Taft-amendmment type.
8468
8469         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8470         type. The check is performed on package exit, possibly after the
8471         subprogram is frozen.
8472
8473 2009-04-17  Vincent Celier  <celier@adacore.com>
8474
8475         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
8476         before looking for source directories, but make sure that there are nil
8477         if they are not explicitely declared and there is explicitely no
8478         sources in the project.
8479
8480 2009-04-17  Pascal Obry  <obry@adacore.com>
8481
8482         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
8483
8484         * init.c: Fix minor typo and style fix.
8485
8486 2009-04-17  Robert Dewar  <dewar@adacore.com>
8487
8488         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
8489
8490         * sem_attr.adb (Analyze_Attribute, case Address): Use
8491         PE_Address_Of_Intrinsic.
8492
8493         * types.ads: Add PE_Address_Of_Intrinsic
8494
8495         * types.h: Add PE_Address_Of_Intrinsic
8496
8497 2009-04-17  Nicolas Setton  <setton@adacore.com>
8498
8499         * gcc-interface/Makefile.in: Under darwin, build shared libraries
8500         with install_name starting with "@rpath/".
8501
8502 2009-04-17  Nicolas Setton  <setton@adacore.com>
8503
8504         * link.c: Add darwin section
8505
8506 2009-04-16  Robert Dewar  <dewar@adacore.com>
8507
8508         * g-pehage.adb: Minor reformatting
8509
8510         * sem_ch12.adb: Minor reformatting
8511
8512         * exp_dist.adb: Minor reformatting
8513
8514         * bindgen.adb: Minor style fixes.
8515
8516 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8517
8518         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
8519         indexed components to the case where the prefix is a static string
8520         literal.
8521
8522 2009-04-16  Javier Miranda  <miranda@adacore.com>
8523
8524         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
8525         objects avoid any further expansion of the expression initializing the
8526         object.
8527
8528 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8529
8530         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
8531         that hides an outer homograph, make that homograph invisible when
8532         analyzing the actuals, to to prevent illegal direct visibility on it.
8533
8534 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8535
8536         * g-pehage.adb (Initialize): Fix off-by-one error.
8537
8538 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8539
8540         * init.c: Detect real stack overflow on Darwin.
8541
8542         * system-darwin-x86.ads: Use stack probing on darwin x86.
8543
8544 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8545
8546         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
8547         take the address of an intrinsic subprogram.
8548
8549 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8550
8551         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
8552         for the targets where GNAT.Traceback.Symbolic is not supported.
8553
8554 2009-04-16  Vincent Celier  <celier@adacore.com>
8555
8556         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
8557
8558         * g-trasym.ads: Update comments.
8559
8560 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8561
8562         * tracebak.c (STOP_FRAME): Verify validity of the current address
8563         before dereferencing.
8564
8565 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8566
8567         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
8568         the original location of the index expressions and the index subtypes,
8569         to prevent spurious out-of-scope references in gigi.
8570
8571 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8572
8573         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
8574         Add support for stack checking on darwin.
8575
8576 2009-04-16  Vincent Celier  <celier@adacore.com>
8577
8578         * prj-attr.adb: New attribute Runtime_Source_Dir
8579
8580         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
8581         attribute Runtime_Source_Dir.
8582         (Check_Naming_Schemes): Give default values to out parameters to avoid
8583         invalid data.
8584
8585         * prj.ads (Language_Config): New component Runtime_Source_Dir
8586
8587         * snames.ads-tmpl: New standard name Runtime_Source_Dir
8588
8589 2009-04-16  Pascal Obry  <obry@adacore.com>
8590
8591         * adaint.h, adaint.c (__gnat_rmdir): New routine.
8592         Simple wrapper routines used to convert to proper encoding on
8593         Windows.
8594
8595         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
8596
8597         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
8598         twice.
8599
8600 2009-04-16  Pascal Obry  <obry@adacore.com>
8601
8602         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
8603
8604 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8605
8606         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
8607         integrated preprocessor.
8608
8609         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
8610         (Initialize): Split into two subprograms, Initialize (to be called
8611         prior to compiler command line processing) and Setup_Hooks (to be called
8612         later on when the first source file is loaded).
8613
8614         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
8615         Add call to Prep.Initialize.
8616
8617         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
8618         to Prep.Setup_Hooks.
8619
8620 2009-04-16  Pascal Obry  <obry@adacore.com>
8621
8622         * adaint.h, adaint.c (__gnat_chdir): New routine.
8623         Simple wrapper routines used to convert to proper encoding on
8624         Windows.
8625
8626         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
8627
8628         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
8629
8630 2009-04-16  Quentin Ochem  <ochem@adacore.com>
8631
8632         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
8633         of Source.Init.
8634
8635 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8636
8637         * a-convec.ads (Is_Empty): Mark inline.
8638
8639 2009-04-16  Nicolas Roche  <roche@adacore.com>
8640
8641         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
8642
8643 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8644
8645         * prepcomp.adb: Minor reformatting
8646
8647 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8648
8649         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
8650         Access_Subprogram types can also be imported.
8651         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
8652         names.
8653
8654 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8655
8656         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
8657         preserve homonym chain when the declaration is rewritten into a
8658         renaming declaration, in order to preserve visibility structure.
8659
8660 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8661
8662         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
8663         taken into account for VM targets.
8664
8665 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8666
8667         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
8668         Year_Week_In_Year.
8669         (Year_Week_In_Year): New routine which contains the original code from
8670         Week_In_Year. Add the missing special case for January 1st falling on
8671         a Monday.
8672
8673 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8674
8675         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
8676         actual type, use the base type to build the To_Any function.
8677         (Build_From_Any_Function): Remove junk, useless subtype conversion.
8678
8679 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8680
8681         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
8682         restrict.adb: Minor code reorganization (use
8683         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
8684
8685 2009-04-16  Bob Duff  <duff@adacore.com>
8686
8687         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
8688         unused.
8689
8690 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8691
8692         * sem_ch4.adb: Minor reformatting
8693
8694         * adaint.c: Remove junk duplicated code.
8695
8696         * sem_ch3.adb: Minor reformatting
8697
8698         * exp_dist.adb: Minor comment rewording
8699
8700 2009-04-16  Robert Dewar  <dewar@adacore.com>
8701
8702         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
8703         used together.
8704
8705 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8706
8707         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
8708         usable before calling Add_One_Interp, to resolve spurious ambiguities.
8709
8710 2009-04-16  Robert Dewar  <dewar@adacore.com>
8711
8712         * Make-lang.in: Add entries for s-conca?.o
8713
8714         * Makefile.rtl: Add entries for s-conca?
8715
8716         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
8717         of concatenation expansion
8718
8719         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
8720         string cases instead of expanding assignments inline.
8721
8722         * opt.ads (Optimize_Size): New flag
8723
8724         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
8725         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
8726         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
8727         s-conca9.adb, s-conca9.ads: New file.
8728
8729 2009-04-16  Robert Dewar  <dewar@adacore.com>
8730
8731         * exp_ch6.adb: Add comments
8732
8733         * rtsfind.ads: Add entries for s-conca? routines
8734
8735 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8736
8737         * gcc-interface/Make-lang.in: Update dependencies.
8738
8739         * gcc-interface/Makefile.in: Update translation for vms.
8740
8741 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8742
8743         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
8744         and made global, to be used when installing parents of a child
8745         instance, to provide mappings for entities declared in formal packages
8746         of ancestor units. Now called from Install_Formal_Packages.
8747
8748 2009-04-16  Doug Rupp  <rupp@adacore.com>
8749
8750         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
8751         notation for clarity.
8752
8753         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
8754         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
8755         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
8756         (Initialize): Initialize Known_Tasks with Environment task.
8757
8758         * s-taskin.ads (Task_States): Move new states to end for the sake of
8759         GDB compatibility.
8760
8761         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
8762
8763 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8764
8765         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
8766         operation has an inline pragma, propagate the flag to the internal
8767         unprotected subprogram.
8768
8769 2009-04-16  Doug Rupp  <rupp@adacore.com>
8770
8771         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
8772         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
8773         s-taprop-hpux-dce.adb, s-taprop-posix.adb
8774         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
8775
8776         * s-taprop-vms.adb (Enter_Task): Likewise.
8777         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
8778
8779         * s-tassta.adb (Activate_Tasks): After task creation set state to
8780         Activating, vice Runnable. Initialize Known_Tasks, moved here from
8781         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
8782         Set state to Runnable after above.
8783         (Task_Wrapper): Set Debug_Event_Run. In exception block set
8784         Debug_Event_Terminated.
8785
8786         * s-taskin.ads (Task_States): Add new states Activiting and
8787         Activator_Delay_Sleep.
8788         (Bit_Array, Debug_Event_Array): New types.
8789         (Global_Task_Debug_Event_Set: New flag.
8790         (Common_ATCB): New field Debug_Events.
8791
8792         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
8793
8794         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
8795         Activator_Sleep.
8796
8797         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
8798         Activating and when Acceptor_Delay_Sleep.
8799
8800         * s-tasdeb.ads: Add constants for Debug_Events.
8801         (Debug_Event_Kind_Type): New subtype.
8802         (Signal_Debug_Event): New subprogram.
8803
8804         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
8805
8806 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8807
8808         * sem_elim.adb: Minor reformatting
8809
8810         * freeze.adb: Minor reformatting
8811
8812         * exp_ch4.adb: Minor reformatting
8813
8814 2009-04-16  Emmanuel Briot  <briot@adacore.com>
8815
8816         * prj-nmsc.adb (Path_Name_Of): fix memory leak
8817
8818 2009-04-16  Robert Dewar  <dewar@adacore.com>
8819
8820         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
8821
8822 2009-04-16  Vincent Celier  <celier@adacore.com>
8823
8824         * fmap.adb (Initialize): Show the current line when the mapping file
8825         is detected as "incorrectly formatted".
8826
8827 2009-04-16  Robert Dewar  <dewar@adacore.com>
8828
8829         * sem_ch12.adb: Minor reformatting
8830
8831         * sem_ch5.adb: Minor comment addition
8832
8833         * sem_util.adb: Minor reformatting
8834
8835         * sinput-p.adb: Minor reformatting
8836         Add missing pragma Warnings (On)
8837
8838 2009-04-16  Ed Falis  <falis@adacore.com>
8839
8840         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
8841
8842 2009-04-16  Vincent Celier  <celier@adacore.com>
8843
8844         * ali-util.adb: Minor comment spelling error fix
8845
8846 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8847
8848         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
8849         generate an assignment loop in case of overlap.
8850
8851 2009-04-16  Olivier Hainque  <hainque@adacore.com>
8852
8853         * gnat_ugn.texi (gnatmem description): Make it explicit that
8854         gnatmem is designed to work in association with static runtime
8855         library only.
8856
8857 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8858
8859         * sem_type.adb: Minor reformatting
8860
8861 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8862
8863         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
8864         concerning return codes of gettimeofday and return value check.
8865
8866 2009-04-16  Ed Falis  <falis@adacore.com>
8867
8868         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
8869         body can be renaming of imported routines.
8870
8871 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8872
8873         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
8874         targeted fashion.
8875
8876 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8877
8878         * exp_ch9.adb: Comment improvements.
8879         (Build_Entry_Family_Name): Add parentheses around the index of a entry
8880         family member.
8881
8882 2009-04-15  Bob Duff  <duff@adacore.com>
8883
8884         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
8885         "while X /= null loop" where X is unchanged inside the loop. We were
8886         not warning in this case, because of the pointers -- we feared that the
8887         loop variable could be updated via a pointer, if there are any pointers
8888         around the place. But that is impossible in this case.
8889
8890         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
8891         the case of dereferences. In X.all, X cannot be an l-value. We now
8892         catch that case (and implicit dereferences, too).
8893
8894 2009-04-15  Vincent Celier  <celier@adacore.com>
8895
8896         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
8897
8898 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8899
8900         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
8901         From code reading.
8902         (Analyze_Package_Instantiation): If generic unit in child instance is
8903         the same as generic unit in parent instance, look for an outer homonym
8904         to locate the desired generic.
8905
8906 2009-04-15  Bob Duff  <duff@adacore.com>
8907
8908         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
8909         warnings unless the loop comes from source, because checking generated
8910         loops is a waste of time, and makes it harder to debug
8911         Check_Infinite_Loop_Warning.
8912
8913         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
8914         tested in the while loop is a renaming, do not warn. Otherwise, we get
8915         false alarms, because it's usually renaming something that we can't
8916         deal with (an indexed component, a global variable, ...).
8917
8918         * gnat_rm.texi: Fix typo
8919
8920 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8921
8922         * sem_ch6.adb: Minor reformatting
8923
8924 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8925
8926         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
8927         immediate parent of the controlled function call is a component
8928         association.
8929
8930 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8931
8932         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
8933         corresponding class-wide type is also in use.
8934
8935 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8936
8937         * frontend.adb: Minor comment fix
8938
8939 2009-04-15  Robert Dewar  <dewar@adacore.com>
8940
8941         * gnatchop.adb (BOM_Length): New global variable
8942         (Write_Unit): Add new parameter Write_BOM
8943         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
8944         to Write_Unit
8945
8946         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
8947
8948 2009-04-15  Geert Bosch  <bosch@adacore.com>
8949
8950         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
8951         (Backend_Overflow_Checks): Set to True.
8952
8953 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
8954
8955         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
8956         keyword is given in a record extension.
8957
8958 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8959
8960         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
8961         of a controlled function call in the context of a record aggregate.
8962         This does not apply to array aggregates since the call will be expanded
8963         into assignments.
8964
8965 2009-04-15  Ed Falis  <falis@adacore.com>
8966
8967         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
8968         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
8969         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
8970         s-osinte-vxworks* and s-vxwext*.
8971
8972 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
8973
8974         * gcc-interface/Make-lang.in: Update dependencies.
8975
8976         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
8977         and s-vxwext*.
8978
8979 2009-04-15  Robert Dewar  <dewar@adacore.com>
8980
8981         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
8982         of node for location for warning messages.
8983
8984         * gnatchop.adb: Minor reformatting
8985
8986 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8987
8988         * exp_ch6.adb: additional guard for renaming declarations for in
8989         parameters of an array type.
8990
8991 2009-04-15  Robert Dewar  <dewar@adacore.com>
8992
8993         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
8994         in case they were rewritten by expander (Force_Evaluation).
8995
8996         * targparm.adb (Get_Target_Parameters): Correct check for
8997         Suppress_Exception_Locations.
8998
8999 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9000
9001         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
9002         inlined  is of an array type that is not bit-packed, use a renaming
9003         declaration to capture its value, rather than a constant declaration.
9004
9005 2009-04-15  Robert Dewar  <dewar@adacore.com>
9006
9007         * rtsfind.adb: Minor reformatting.
9008
9009 2009-04-15  Emmanuel Briot  <briot@adacore.com>
9010
9011         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
9012         Restore, and free the saved context.
9013
9014 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
9015
9016         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
9017         for illegal private extension from a synchronized interface parent in
9018         front of check for illegal limited extension so that limited extension
9019         from a synchronized interface will be rejected.
9020         (Check_Ifaces): Check that a private extension that has a synchronized
9021         interface as a progenitor must be explicitly declared synchronized.
9022         Also check that a record extension cannot derive from a synchronized
9023         interface.
9024
9025 2009-04-15  Pascal Obry  <obry@adacore.com>
9026
9027         * adaint.h (__gnat_unlink): Add spec.
9028         (__gnat_rename): Likewise.
9029
9030 2009-04-15  Vincent Celier  <celier@adacore.com>
9031
9032         * prj-nmsc.adb: Minor spelling error corrections in error messages
9033
9034 2009-04-15  Robert Dewar  <dewar@adacore.com>
9035
9036         * sinfo.ads: Minor comment update
9037
9038         * opt.ads: Minor comment updates
9039
9040         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
9041         modular type.
9042
9043 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9044
9045         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
9046         that generates the code needed to update a dispatch table when a
9047         primitive operation is declared with a subprogram body without previous
9048         spec. Insertion of the generated code is responsibility of the caller.
9049         (Make_DT): When building static tables, append the code created by
9050         Register_Primitive to update a secondary table after it has been
9051         constructed.
9052
9053         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
9054
9055         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
9056         on an overriding operation that implements an interface operation only
9057         if not building static dispatch tables.
9058
9059 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9060
9061         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
9062         does not cause overflow when converted to Duration. Use the safe value
9063         as the maximum allowable time delay..
9064
9065 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
9066
9067         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
9068         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
9069         translated to "-j 2".
9070
9071 2009-04-15  Bob Duff  <duff@adacore.com>
9072
9073         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
9074         with_clauses, to avoid code duplication. Change this processing so we
9075         always add a with_clause on the main unit if needed.
9076
9077 2009-04-15  Pascal Obry  <obry@adacore.com>
9078
9079         Add support for Win32 native encoding for delete/rename routines.
9080         
9081         * adaint.c (__gnat_unlink): New routine.
9082         (__gnat_rename): New routine.
9083         Simple wrapper routines used to convert to proper encoding on
9084         Windows.
9085
9086         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
9087         call to the C library.
9088
9089         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
9090
9091 2009-04-15  Robert Dewar  <dewar@adacore.com>
9092
9093         * s-tassta.adb: Minor reformatting
9094
9095 2009-04-15  Robert Dewar  <dewar@adacore.com>
9096
9097         * frontend.adb (Frontend): Set proper default for
9098         Warn_On_Non_Local_Exception.
9099
9100         * opt.ads (Exception_Handler_Encountered): New flag
9101         (No_Warn_On_Non_Local_Exception): New flag
9102
9103         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
9104
9105         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
9106         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
9107
9108 2009-04-15  Cyrille Comar  <comar@adacore.com>
9109
9110         * s-tassta.adb, a-exextr.adb, a-elchha.adb
9111         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
9112         message when exception traces are active since it would generate
9113         redundant information.
9114         (Exception_Traces.Notify_Exception): put message output by a critical
9115         section to avoid unsynchronized output.
9116         (Trace_Unhandled_Exception_In_Task): put message output by a critical
9117         section to avoid unsynchronized output.
9118
9119 2009-04-15  Emmanuel Briot  <briot@adacore.com>
9120
9121         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
9122         (Free): New subprogram.
9123
9124 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9125
9126         * a-calend.adb: Add new constant Nanos_In_Four_Years.
9127         (Formatting_Operations.Time_Of): Change the way four year chunks of
9128         nanoseconds are added to the intermediate result.
9129
9130 2009-04-15  Nicolas Setton  <setton@adacore.com>
9131
9132         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
9133         does not need to wait for a carriage return.
9134
9135 2009-04-15  Tristan Gingold  <gingold@adacore.com>
9136
9137         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
9138         is set.
9139
9140 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9141
9142         * freeze.adb (Freeze_Entity): improve error message for improper use of
9143         incomplete types.
9144         Diagnose additional illegal uses of incomplete types in formal parts.
9145         appearing in formal parts.
9146
9147         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
9148
9149 2009-04-15  Robert Dewar  <dewar@adacore.com>
9150
9151         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
9152
9153 2009-04-15  Nicolas Roche  <roche@adacore.com>
9154
9155         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
9156         current thread.
9157
9158         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
9159
9160         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
9161
9162 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9163
9164         * sem_ch4.adb: improve error message on exponentiation.
9165
9166 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9167
9168         * a-calend.adb: Move constant Epoch_Offset from package
9169         Conversion_Operations to top level.
9170         (Delay_Operations.To_Duration): Define a constant which represents
9171         "end of time" and use it as a guard against very distant delay dates.
9172         Protect the code against overflow when performing the origin shift to
9173         Unix time.
9174
9175 2009-04-15  Robert Dewar  <dewar@adacore.com>
9176
9177         * sem_prag.adb: Minor reformatting.
9178
9179         * sem_type.adb: Minor reformatting
9180
9181 2009-04-15  Javier Miranda  <miranda@adacore.com>
9182
9183         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
9184         support to check eliminated subprograms.
9185
9186         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
9187
9188         * sem_elim.adb (Set_Eliminated): Add support for elimination of
9189         dispatching subprograms.
9190
9191         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
9192         operations. Initialize with "null" the slots of eliminated dispaching
9193         primitives.
9194         (Write_DT): Add output for eliminated primitives.
9195
9196         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
9197
9198 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9199
9200         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
9201         the second is redundant, regardless of scopes.
9202
9203 2009-04-15  Vincent Celier  <celier@adacore.com>
9204
9205         * prj-nmsc.adb (Get_Directories): Check for sources before checking
9206         the object directory as when there are no sources, they may not be any
9207         object directory.
9208
9209         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
9210         directory, when there are no exec directory.
9211
9212 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9213
9214         * sem_type.adb (Remove_Conversions): In order to resolve spurious
9215         ambiguities, refine removal of universal interpretations from complex
9216         expressions with literal arguments, when some numeric operators have
9217         been declared abstract.
9218
9219 2009-04-15  Ed Falis  <falis@adacore.com>
9220
9221         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
9222         and backward compatibility for targets using probing for stack overflow
9223
9224 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9225
9226         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
9227         after any declaration, including renaming declarations.
9228
9229 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9230
9231         * gcc-interface/Make-lang.in: Update dependencies.
9232
9233         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
9234         Update xenomai target pairs.
9235
9236 2009-04-15  Javier Miranda  <miranda@adacore.com>
9237
9238         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
9239
9240         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
9241         functions returning anonymous access to class-wide limited types. Mark
9242         also the containing scope as a task master.
9243
9244         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
9245         limited-withed packages. Required to restore their visibility after
9246         processing packages associated with implicit with-clauses.
9247
9248         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
9249         associated with return statements because this work is now done by
9250         Check_Anonymous_Return.
9251         (Build_Master): Code cleanup.
9252
9253 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9254
9255         * sem_warn.ads: Minor reformatting
9256
9257 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9258
9259         * sem_ch3.adb: better error message for illegal interfaces
9260
9261         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
9262         formal is an incomplete type from a limited_with clause.
9263
9264 2009-04-15  Vincent Celier  <celier@adacore.com>
9265
9266         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
9267         Externally_Built indicating if the project is externally built. If it
9268         is, and --subdirs is specified, but the subdir does not exist, look
9269         for the specified directory, without the subdir.
9270
9271 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
9272
9273         * a-tasatt.adb: Fix typo, plus minor reformatting
9274
9275         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
9276
9277         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
9278
9279 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9280
9281         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
9282         private extension whose parent is a synchronized interface carries an
9283         explicit synchronized keyword.
9284
9285 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9286
9287         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
9288         instantiate generic shared object package with the corresponding
9289         record type.
9290
9291 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9292
9293         * system-linux-sparc.ads: Remove obsolete entries.
9294
9295 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9296
9297         * s-tasuti.ads: Add ??? comment
9298
9299 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9300
9301         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
9302         type even if the designated type comes from a limited_with clause, to
9303         ensure that the symbol for the finalization list of the access type is
9304         created.
9305
9306 2009-04-10  Robert Dewar  <dewar@adacore.com>
9307
9308         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
9309         for warning suppression.
9310
9311 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9312
9313         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
9314         identical, there is no redudancy to check.
9315
9316 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9317
9318         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
9319         calls initializing SS_Allocator (which is initialized in following
9320         code).
9321         (Expand_Simple_Function_Return): Add comment about False value for
9322         Comes_From_Source on secondary-stack allocator.
9323
9324         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
9325         (Build_Entry_Name): Add comment.
9326
9327 2009-04-10  Robert Dewar  <dewar@adacore.com>
9328
9329         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
9330
9331         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
9332         bound tested, since this is now done more generally in Sem_Res.
9333
9334         * sem_res.adb (Resolve_Comparison_Op): Add call to
9335         Check_Lower_Bound_Tested.
9336         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
9337
9338         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
9339         (Low_Bound_Tested): New name for Low_Bound_Known flag
9340
9341         * exp_ch5.adb: Minor reformatting
9342
9343         * exp_ch4.adb:
9344         Add comments on copying the Comes_From_Source flag for allocators
9345
9346         * sinfo.ads:
9347         Add comments on copying the Comes_From_Source flag for allocators
9348
9349         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
9350         Comes_From_Source flag from old allocator to new one.
9351
9352 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9353
9354         * sem_ch6.ads: Address missing documentation query
9355
9356 2009-04-10  Vincent Celier  <celier@adacore.com>
9357
9358         * prj-attr.adb:
9359         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
9360         and Response_File_Switches.
9361
9362         * prj-nmsc.adb (Process_Linker): Process new attributes
9363         Max_Command_Line_Length, Response_File_Format and
9364         Response_File_Switches.
9365
9366         * prj.ads (Response_File_Format): New enumeration type
9367         (Project_Configuration): New componants Max_Command_Line_Length,
9368         Resp_File_Format and Resp_File_Options.
9369
9370         * snames.ads-tmpl: Add new standard names for linking response files
9371         for gprbuild: GNU, None, Object_List, Option_List,
9372         Max_Command_Line_Length, Response_File_Format and
9373         Response_File_Switches.
9374
9375 2009-04-10  Geert Bosch  <bosch@adacore.com>
9376
9377         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
9378         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
9379         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
9380         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
9381         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
9382         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
9383         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
9384         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
9385         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
9386         system-vxworks-arm.ads, system-vxworks-m68k.ads,
9387         system-vxworks-mips.ads, system-vxworks-ppc.ads,
9388         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
9389         (Backend_Overflow_Checks): Set to True.
9390
9391 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9392
9393         * exp_attr.adb: Minor reformatting
9394
9395 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9396
9397         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
9398         analyze the expression for a postcondition, even if the compiler mode
9399         is Generate_Code.
9400
9401 2009-04-10  Robert Dewar  <dewar@adacore.com>
9402
9403         * sem_aux.adb: Minor reformatting
9404
9405 2009-04-10  Ed Falis  <falis@adacore.com>
9406
9407         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
9408
9409         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
9410
9411 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9412
9413         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
9414         undocumented formal.
9415         Minor reformatting
9416
9417         * a-direio.ads: Fix typo in comment
9418
9419         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
9420         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
9421         Use uniform phrasing for comment at start of subprogram body.
9422
9423         * xsnamest.adb: Add note to explain why we use specific names for the
9424         newly generated files instead of generating snames.{ads,adb,h} directly
9425
9426 2009-04-10  Sergey Rybin  <rybin@adacore.com>
9427
9428         * vms_data.ads:
9429         Add qualifier for new gnatstub option '--no-exception'
9430
9431         * gnat_ugn.texi:
9432         Add the description of the new gnatstub option '--no-exception'
9433
9434 2009-04-10  Robert Dewar  <dewar@adacore.com>
9435
9436         * rtsfind.adb: Minor reformatting
9437
9438 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9439
9440         * sem_disp.adb: Minor reformatting.
9441         Add comment pointing to RM clause for the case of warning against a
9442         (failed) attempt at declaring a primitive operation elsewhere than in a
9443         package spec.
9444
9445 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9446
9447         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
9448         an actual for a previous formal package of the current instance.
9449
9450 2009-04-10  Bob Duff  <duff@adacore.com>
9451
9452         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
9453         them first, rather than on the extended main unit.
9454
9455 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9456
9457         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
9458         specification of full view carries a null exclusion indicator, create
9459         an itype for it, to check for conformance with partial view.
9460
9461 2009-04-10  Bob Duff  <duff@adacore.com>
9462
9463         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
9464
9465         * rtsfind.adb: Minor comment changes, and remove useless code.
9466
9467         * sinfo.ads: Add ??? comment.
9468
9469 2009-04-10  Vincent Celier  <celier@adacore.com>
9470
9471         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
9472
9473 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9474
9475         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
9476         type is a synchronized type, retrieve tag information from the
9477         corresponding record, which has the dispatch table link.
9478
9479 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
9480
9481         * g-comlin.adb (Group_Analysis): Take care of switches that might be
9482         decomposed afterwards, but are present as-is in the command line
9483         configuration, and thus should be kept as-is.
9484
9485 2009-04-10  Robert Dewar  <dewar@adacore.com>
9486
9487         * gnat_rm.texi: Document that postconditions are tested on implicit
9488         returns.
9489
9490         * sem_aux.adb: Minor reformatting
9491
9492 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9493
9494         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
9495         setting Etype.
9496         
9497         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
9498         Null_Exclusion_In_Return_Present when an access-to-function type has a
9499         result type with an explicit not null.
9500
9501         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
9502         given on the result type, then create a null-excluding itype for the
9503         function.
9504
9505         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
9506         the case where a null exclusion is imposed on a named access type.
9507         (Analyze_Subprogram_Specification): Push and pop the scope of the
9508         function around the call to Analyze_Return_Type in the case of no
9509         formals, for consistency with handling when formals are present
9510         (Process_Formals does this). Ensures that any itype created for the
9511         return type will be associated with the proper scope.
9512
9513         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
9514         exclusion is given on a generic function's result type, then create a
9515         null-excluding itype for the generic function.
9516         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
9517         for an actual for a formal in object according to the setting on the
9518         formal. Ensures null exclusion checks are done when the association is
9519         elaborated.
9520
9521         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
9522         N_Access_Function_Definition.
9523
9524         * sinfo.adb: Add Get_ and Set_ operations for
9525         Null_Exclusion_In_Return_Present.
9526
9527 2009-04-10  Bob Duff  <duff@adacore.com>
9528
9529         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
9530         call to the _Postconditions procedure in the case of implicit returns
9531         from analysis to expansion. This eliminates some duplicated code. Use
9532         the Postcondition_Proc to find the identity of this procedure during
9533         expansion.
9534
9535 2009-04-10  Robert Dewar  <dewar@adacore.com>
9536
9537         * sem_ch6.adb: Minor code clean up.
9538
9539         * einfo.ads, sem_attr.adb: Minor comment fixes.
9540
9541 2009-04-10  Robert Dewar  <dewar@adacore.com>
9542
9543         * sem_ch8.adb: Minor reformatting
9544
9545 2009-04-10  Robert Dewar  <dewar@adacore.com>
9546
9547         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
9548         procedures.
9549
9550         * sem_ch6.adb: Minor code clean up.
9551
9552 2009-04-10  Robert Dewar  <dewar@adacore.com>
9553
9554         * mlib-tgt-specific-xi.adb: Minor reformatting
9555
9556 2009-04-10  Bob Duff  <duff@adacore.com>
9557
9558         * einfo.ads: Minor comment fixes
9559
9560 2009-04-10  Vincent Celier  <celier@adacore.com>
9561
9562         * snames.ads-tmpl: Remove names that are no longer used in the
9563         Project Manager.
9564         Mark specifically those that are used only in gprbuild
9565
9566 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
9567
9568         * init.c: Adjust EH support code on Alpha/Tru64.
9569
9570 2009-04-10  Bob Duff  <duff@adacore.com>
9571
9572         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
9573         procedure on every path that could return implicitly (not via a return
9574         statement) from a procedure.
9575
9576 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9577
9578         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
9579         valid scope for a task declarations and therefore for a master id.
9580
9581 2009-04-10  Robert Dewar  <dewar@adacore.com>
9582
9583         * sem_aux.adb: Minor reformatting
9584
9585 2009-04-10  Vincent Celier  <celier@adacore.com>
9586
9587         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
9588         True.
9589         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
9590         (Set_Obsolescent_Check): New procedure to change the value of
9591         Obsolescent_Check_Flag.
9592
9593         * scn.ads (Set_Obsolescent_Check): New procedure to control
9594         Obsolescent_Check.
9595
9596         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
9597         obsolescent features while preprocessing.
9598
9599 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9600
9601         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
9602         generated files on all platforms.
9603
9604 2009-04-10  Robert Dewar  <dewar@adacore.com>
9605
9606         * sem_aux.adb: Minor reformatting
9607
9608 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9609
9610         * sem_ch3.adb (Access_Definition): Handle properly the case of a
9611         protected function with formals that returns an anonymous access type.
9612
9613 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9614
9615         * sem_disp.adb: Minor reformatting
9616
9617 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
9618
9619         * seh_init.c: Do not use the 32-bit specific implementation of
9620         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
9621         version TBD).
9622
9623 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9624
9625         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
9626         a '/' at the end so we better use the complete target name to determine
9627         whether it is a PowerPC 55xx target.
9628
9629 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9630
9631         * sem_eval.adb: Minor reformatting
9632
9633 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9634
9635         * snames.h, snames.ads, snames.adb: Remove files, now generated from
9636         templates.
9637
9638         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
9639         above.
9640
9641         * xsnamest.adb: New file.
9642
9643         * gcc-interface/Make-lang.in: New target for automated generation of
9644         snames.ads, snames.adb and snames.h
9645
9646 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9647
9648         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
9649         avoid compile time warnings.
9650         Do not add gcc/config in include search list while compiling the RTS.
9651         Pragma Thread_Local_Storage is available on any target.
9652
9653 2009-04-10  Bob Duff  <duff@adacore.com>
9654
9655         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
9656
9657 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9658
9659         * init.c: Install signal handler on Darwin.
9660
9661 2009-04-10  Robert Dewar  <dewar@adacore.com>
9662
9663         * sem_prag.adb: Minor reformatting
9664
9665         * exp_util.adb (Make_Non_Empty_Check): New function
9666         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
9667         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
9668
9669 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
9670
9671         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
9672
9673 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9674
9675         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
9676         tool prefix for AVR and PowerPC 55xx targets.
9677
9678 2009-04-10  Robert Dewar  <dewar@adacore.com>
9679
9680         * sem_warn.adb (Within_Postcondition): New function
9681         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
9682
9683 2009-04-10  Robert Dewar  <dewar@adacore.com>
9684
9685         * sem_warn.adb: Minor reformatting
9686
9687         * make.adb: Minor reformatting.
9688
9689 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9690
9691         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
9692         entity and the scope is a subprogram, retrieve the Sloc of the
9693         subprogram's body rather than using the sloc of the spec, for better
9694         line-stepping behavior in gdb.
9695         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
9696         controller, use the Sloc of the first declaration of the containing list
9697         rather than that of the node that triggered creation of the list
9698         controller.
9699
9700 2009-04-10  Vincent Celier  <celier@adacore.com>
9701
9702         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
9703         to avoid gcc warning.
9704
9705 2009-04-10  Robert Dewar  <dewar@adacore.com>
9706
9707         * g-comlin.adb: Add ??? comment
9708
9709 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9710
9711         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
9712         unreferenced entities for a package with no visible declarations.
9713
9714 2009-04-10  Robert Dewar  <dewar@adacore.com>
9715
9716         * exp_ch9.adb: Minor reformatting
9717
9718 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9719
9720         * sem_prag.adb: Minor reformatting
9721
9722 2009-04-10  Vincent Celier  <celier@adacore.com>
9723
9724         * prj-nmsc.adb:
9725         (Check_Library_Attributes): For a project qualified as a library project
9726         that is not a library project, indicate in the error message which
9727         attributes are missing (Library_Dir and/or Library_Name).
9728
9729 2009-04-10  Bob Duff  <duff@adacore.com>
9730
9731         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
9732         generated nodes, because it might confuse various circuits in the FE.
9733
9734 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9735
9736         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
9737         of pragma. It will be recopied and analyzed when used in call to
9738         Create_Task.
9739
9740         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
9741         initialization operations and recognize use of it in procedure calls
9742         within init_procs.
9743
9744         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
9745         argument, because it may have side-effects.
9746
9747         * exp_ch2.adb: Remove obsolete comments on default functions
9748
9749 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9750
9751         * adaint.c (RTX section): Do for RTX the same thing as we do for
9752         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
9753
9754 2009-04-10  Robert Dewar  <dewar@adacore.com>
9755
9756         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
9757
9758         * sem_res.adb (Resolve_Call): Fix test for
9759         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
9760         a non-dynamic scope).
9761
9762 2009-04-10  Robert Dewar  <dewar@adacore.com>
9763
9764         * make.adb: Add comment.
9765         Minor reformatting
9766
9767 2009-04-10  Nicolas Setton  <setton@adacore.com>
9768
9769         * s-osprim-darwin.adb: New file.
9770
9771         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
9772
9773 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9774
9775         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
9776
9777 2009-04-09  Nick Clifton  <nickc@redhat.com>
9778
9779         * adadecode.h: Change copyright header to refer to version
9780         3 of the GNU General Public License with version 3.1 of the
9781         GCC Runtime Library Exception and to point readers at the
9782         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
9783         page.
9784         * 9drpc.adb: Likewise.
9785         * a-assert.adb: Likewise.
9786         * a-astaco.adb: Likewise.
9787         * a-calari.adb: Likewise.
9788         * a-calcon.adb: Likewise.
9789         * a-calcon.ads: Likewise.
9790         * a-caldel.ads: Likewise.
9791         * a-calend-vms.adb: Likewise.
9792         * a-calend-vms.ads: Likewise.
9793         * a-calend.adb: Likewise.
9794         * a-calend.ads: Likewise.
9795         * a-calfor.adb: Likewise.
9796         * a-catizo.adb: Likewise.
9797         * a-cdlili.adb: Likewise.
9798         * a-cdlili.ads: Likewise.
9799         * a-cgaaso.adb: Likewise.
9800         * a-cgaaso.ads: Likewise.
9801         * a-cgarso.adb: Likewise.
9802         * a-cgcaso.adb: Likewise.
9803         * a-chacon.adb: Likewise.
9804         * a-chacon.ads: Likewise.
9805         * a-chahan.adb: Likewise.
9806         * a-chahan.ads: Likewise.
9807         * a-chlat9.ads: Likewise.
9808         * a-chtgke.adb: Likewise.
9809         * a-chtgke.ads: Likewise.
9810         * a-chtgop.adb: Likewise.
9811         * a-chtgop.ads: Likewise.
9812         * a-chzla1.ads: Likewise.
9813         * a-chzla9.ads: Likewise.
9814         * a-cidlli.adb: Likewise.
9815         * a-cidlli.ads: Likewise.
9816         * a-cihama.adb: Likewise.
9817         * a-cihama.ads: Likewise.
9818         * a-cihase.adb: Likewise.
9819         * a-cihase.ads: Likewise.
9820         * a-ciorma.adb: Likewise.
9821         * a-ciorma.ads: Likewise.
9822         * a-ciormu.adb: Likewise.
9823         * a-ciormu.ads: Likewise.
9824         * a-ciorse.adb: Likewise.
9825         * a-ciorse.ads: Likewise.
9826         * a-clrefi.adb: Likewise.
9827         * a-clrefi.ads: Likewise.
9828         * a-cohama.adb: Likewise.
9829         * a-cohama.ads: Likewise.
9830         * a-cohase.adb: Likewise.
9831         * a-cohase.ads: Likewise.
9832         * a-cohata.ads: Likewise.
9833         * a-coinve.adb: Likewise.
9834         * a-coinve.ads: Likewise.
9835         * a-colien.adb: Likewise.
9836         * a-colien.ads: Likewise.
9837         * a-colire.adb: Likewise.
9838         * a-colire.ads: Likewise.
9839         * a-comlin.adb: Likewise.
9840         * a-comlin.ads: Likewise.
9841         * a-convec.adb: Likewise.
9842         * a-convec.ads: Likewise.
9843         * a-coorma.adb: Likewise.
9844         * a-coorma.ads: Likewise.
9845         * a-coormu.adb: Likewise.
9846         * a-coormu.ads: Likewise.
9847         * a-coorse.adb: Likewise.
9848         * a-coorse.ads: Likewise.
9849         * a-coprnu.adb: Likewise.
9850         * a-coprnu.ads: Likewise.
9851         * a-crbltr.ads: Likewise.
9852         * a-crbtgk.adb: Likewise.
9853         * a-crbtgk.ads: Likewise.
9854         * a-crbtgo.adb: Likewise.
9855         * a-crbtgo.ads: Likewise.
9856         * a-crdlli.adb: Likewise.
9857         * a-crdlli.ads: Likewise.
9858         * a-cwila1.ads: Likewise.
9859         * a-cwila9.ads: Likewise.
9860         * a-decima.adb: Likewise.
9861         * a-decima.ads: Likewise.
9862         * a-diocst.adb: Likewise.
9863         * a-diocst.ads: Likewise.
9864         * a-direct.adb: Likewise.
9865         * a-direct.ads: Likewise.
9866         * a-direio.adb: Likewise.
9867         * a-direio.ads: Likewise.
9868         * a-dirval-mingw.adb: Likewise.
9869         * a-dirval-vms.adb: Likewise.
9870         * a-dirval.adb: Likewise.
9871         * a-dirval.ads: Likewise.
9872         * a-dynpri.adb: Likewise.
9873         * a-einuoc.adb: Likewise.
9874         * a-einuoc.ads: Likewise.
9875         * a-elchha.adb: Likewise.
9876         * a-elchha.ads: Likewise.
9877         * a-envvar.adb: Likewise.
9878         * a-excach.adb: Likewise.
9879         * a-except-2005.adb: Likewise.
9880         * a-except-2005.ads: Likewise.
9881         * a-except.adb: Likewise.
9882         * a-except.ads: Likewise.
9883         * a-excpol-abort.adb: Likewise.
9884         * a-excpol.adb: Likewise.
9885         * a-exctra.adb: Likewise.
9886         * a-exctra.ads: Likewise.
9887         * a-exetim-mingw.adb: Likewise.
9888         * a-exetim-mingw.ads: Likewise.
9889         * a-exexda.adb: Likewise.
9890         * a-exexpr-gcc.adb: Likewise.
9891         * a-exexpr.adb: Likewise.
9892         * a-exextr.adb: Likewise.
9893         * a-exstat.adb: Likewise.
9894         * a-filico.adb: Likewise.
9895         * a-filico.ads: Likewise.
9896         * a-finali.adb: Likewise.
9897         * a-finali.ads: Likewise.
9898         * a-interr.ads: Likewise.
9899         * a-intnam-aix.ads: Likewise.
9900         * a-intnam-darwin.ads: Likewise.
9901         * a-intnam-dummy.ads: Likewise.
9902         * a-intnam-freebsd.ads: Likewise.
9903         * a-intnam-hpux.ads: Likewise.
9904         * a-intnam-irix.ads: Likewise.
9905         * a-intnam-linux.ads: Likewise.
9906         * a-intnam-lynxos.ads: Likewise.
9907         * a-intnam-mingw.ads: Likewise.
9908         * a-intnam-rtems.ads: Likewise.
9909         * a-intnam-solaris.ads: Likewise.
9910         * a-intnam-tru64.ads: Likewise.
9911         * a-intnam-vms.ads: Likewise.
9912         * a-intnam-vxworks.ads: Likewise.
9913         * a-intsig.adb: Likewise.
9914         * a-intsig.ads: Likewise.
9915         * a-ngcefu.adb: Likewise.
9916         * a-ngcoar.adb: Likewise.
9917         * a-ngcoty.adb: Likewise.
9918         * a-ngcoty.ads: Likewise.
9919         * a-ngelfu.adb: Likewise.
9920         * a-ngrear.adb: Likewise.
9921         * a-ngrear.ads: Likewise.
9922         * a-nudira.adb: Likewise.
9923         * a-nudira.ads: Likewise.
9924         * a-nuflra.adb: Likewise.
9925         * a-nuflra.ads: Likewise.
9926         * a-numaux-darwin.adb: Likewise.
9927         * a-numaux-darwin.ads: Likewise.
9928         * a-numaux-libc-x86.ads: Likewise.
9929         * a-numaux-vxworks.ads: Likewise.
9930         * a-numaux-x86.adb: Likewise.
9931         * a-numaux-x86.ads: Likewise.
9932         * a-numaux.ads: Likewise.
9933         * a-rbtgso.adb: Likewise.
9934         * a-rbtgso.ads: Likewise.
9935         * a-reatim.ads: Likewise.
9936         * a-retide.adb: Likewise.
9937         * a-retide.ads: Likewise.
9938         * a-rttiev.adb: Likewise.
9939         * a-rttiev.ads: Likewise.
9940         * a-secain.adb: Likewise.
9941         * a-secain.ads: Likewise.
9942         * a-sequio.adb: Likewise.
9943         * a-sequio.ads: Likewise.
9944         * a-shcain.adb: Likewise.
9945         * a-shcain.ads: Likewise.
9946         * a-siocst.adb: Likewise.
9947         * a-siocst.ads: Likewise.
9948         * a-slcain.adb: Likewise.
9949         * a-slcain.ads: Likewise.
9950         * a-ssicst.adb: Likewise.
9951         * a-ssicst.ads: Likewise.
9952         * a-stboha.adb: Likewise.
9953         * a-stmaco.ads: Likewise.
9954         * a-storio.adb: Likewise.
9955         * a-strbou.adb: Likewise.
9956         * a-strbou.ads: Likewise.
9957         * a-stream.ads: Likewise.
9958         * a-strfix.adb: Likewise.
9959         * a-strhas.adb: Likewise.
9960         * a-strmap.adb: Likewise.
9961         * a-strmap.ads: Likewise.
9962         * a-strsea.adb: Likewise.
9963         * a-strsea.ads: Likewise.
9964         * a-strsup.adb: Likewise.
9965         * a-strsup.ads: Likewise.
9966         * a-strunb.adb: Likewise.
9967         * a-strunb.ads: Likewise.
9968         * a-ststio.adb: Likewise.
9969         * a-ststio.ads: Likewise.
9970         * a-stunau.adb: Likewise.
9971         * a-stunau.ads: Likewise.
9972         * a-stunha.adb: Likewise.
9973         * a-stwibo.adb: Likewise.
9974         * a-stwibo.ads: Likewise.
9975         * a-stwifi.adb: Likewise.
9976         * a-stwiha.adb: Likewise.
9977         * a-stwima.adb: Likewise.
9978         * a-stwima.ads: Likewise.
9979         * a-stwise.adb: Likewise.
9980         * a-stwise.ads: Likewise.
9981         * a-stwisu.adb: Likewise.
9982         * a-stwisu.ads: Likewise.
9983         * a-stwiun.adb: Likewise.
9984         * a-stwiun.ads: Likewise.
9985         * a-stzbou.adb: Likewise.
9986         * a-stzbou.ads: Likewise.
9987         * a-stzfix.adb: Likewise.
9988         * a-stzhas.adb: Likewise.
9989         * a-stzmap.adb: Likewise.
9990         * a-stzmap.ads: Likewise.
9991         * a-stzsea.adb: Likewise.
9992         * a-stzsea.ads: Likewise.
9993         * a-stzsup.adb: Likewise.
9994         * a-stzsup.ads: Likewise.
9995         * a-stzunb.adb: Likewise.
9996         * a-stzunb.ads: Likewise.
9997         * a-suteio.adb: Likewise.
9998         * a-suteio.ads: Likewise.
9999         * a-swbwha.adb: Likewise.
10000         * a-swmwco.ads: Likewise.
10001         * a-swunau.adb: Likewise.
10002         * a-swunau.ads: Likewise.
10003         * a-swuwha.adb: Likewise.
10004         * a-swuwti.adb: Likewise.
10005         * a-swuwti.ads: Likewise.
10006         * a-sytaco.adb: Likewise.
10007         * a-sytaco.ads: Likewise.
10008         * a-szbzha.adb: Likewise.
10009         * a-szmzco.ads: Likewise.
10010         * a-szunau.adb: Likewise.
10011         * a-szunau.ads: Likewise.
10012         * a-szuzha.adb: Likewise.
10013         * a-szuzti.adb: Likewise.
10014         * a-szuzti.ads: Likewise.
10015         * a-tags.adb: Likewise.
10016         * a-tags.ads: Likewise.
10017         * a-tasatt.ads: Likewise.
10018         * a-taside.adb: Likewise.
10019         * a-taside.ads: Likewise.
10020         * a-taster.adb: Likewise.
10021         * a-teioed.adb: Likewise.
10022         * a-teioed.ads: Likewise.
10023         * a-textio.adb: Likewise.
10024         * a-textio.ads: Likewise.
10025         * a-tiboio.adb: Likewise.
10026         * a-ticoau.adb: Likewise.
10027         * a-ticoau.ads: Likewise.
10028         * a-ticoio.adb: Likewise.
10029         * a-ticoio.ads: Likewise.
10030         * a-tideau.adb: Likewise.
10031         * a-tideau.ads: Likewise.
10032         * a-tideio.adb: Likewise.
10033         * a-tideio.ads: Likewise.
10034         * a-tienau.adb: Likewise.
10035         * a-tienau.ads: Likewise.
10036         * a-tienio.adb: Likewise.
10037         * a-tienio.ads: Likewise.
10038         * a-tifiio.adb: Likewise.
10039         * a-tifiio.ads: Likewise.
10040         * a-tiflau.adb: Likewise.
10041         * a-tiflau.ads: Likewise.
10042         * a-tiflio.adb: Likewise.
10043         * a-tiflio.ads: Likewise.
10044         * a-tigeau.adb: Likewise.
10045         * a-tigeau.ads: Likewise.
10046         * a-tiinau.adb: Likewise.
10047         * a-tiinau.ads: Likewise.
10048         * a-tiinio.adb: Likewise.
10049         * a-tiinio.ads: Likewise.
10050         * a-timoau.adb: Likewise.
10051         * a-timoau.ads: Likewise.
10052         * a-timoio.adb: Likewise.
10053         * a-timoio.ads: Likewise.
10054         * a-tiocst.adb: Likewise.
10055         * a-tiocst.ads: Likewise.
10056         * a-titest.adb: Likewise.
10057         * a-wichun.adb: Likewise.
10058         * a-wichun.ads: Likewise.
10059         * a-witeio.adb: Likewise.
10060         * a-witeio.ads: Likewise.
10061         * a-wtcoau.adb: Likewise.
10062         * a-wtcoau.ads: Likewise.
10063         * a-wtcoio.adb: Likewise.
10064         * a-wtcstr.adb: Likewise.
10065         * a-wtcstr.ads: Likewise.
10066         * a-wtdeau.adb: Likewise.
10067         * a-wtdeau.ads: Likewise.
10068         * a-wtdeio.adb: Likewise.
10069         * a-wtdeio.ads: Likewise.
10070         * a-wtedit.adb: Likewise.
10071         * a-wtedit.ads: Likewise.
10072         * a-wtenau.adb: Likewise.
10073         * a-wtenau.ads: Likewise.
10074         * a-wtenio.adb: Likewise.
10075         * a-wtenio.ads: Likewise.
10076         * a-wtfiio.adb: Likewise.
10077         * a-wtfiio.ads: Likewise.
10078         * a-wtflau.adb: Likewise.
10079         * a-wtflau.ads: Likewise.
10080         * a-wtflio.adb: Likewise.
10081         * a-wtflio.ads: Likewise.
10082         * a-wtgeau.adb: Likewise.
10083         * a-wtgeau.ads: Likewise.
10084         * a-wtinau.adb: Likewise.
10085         * a-wtinau.ads: Likewise.
10086         * a-wtinio.adb: Likewise.
10087         * a-wtmoau.adb: Likewise.
10088         * a-wtmoau.ads: Likewise.
10089         * a-wtmoio.adb: Likewise.
10090         * a-wtmoio.ads: Likewise.
10091         * a-wttest.adb: Likewise.
10092         * a-wwboio.adb: Likewise.
10093         * a-zchuni.adb: Likewise.
10094         * a-zchuni.ads: Likewise.
10095         * a-ztcoau.adb: Likewise.
10096         * a-ztcoau.ads: Likewise.
10097         * a-ztcoio.adb: Likewise.
10098         * a-ztcstr.adb: Likewise.
10099         * a-ztcstr.ads: Likewise.
10100         * a-ztdeau.adb: Likewise.
10101         * a-ztdeau.ads: Likewise.
10102         * a-ztdeio.adb: Likewise.
10103         * a-ztdeio.ads: Likewise.
10104         * a-ztedit.adb: Likewise.
10105         * a-ztedit.ads: Likewise.
10106         * a-ztenau.adb: Likewise.
10107         * a-ztenau.ads: Likewise.
10108         * a-ztenio.adb: Likewise.
10109         * a-ztenio.ads: Likewise.
10110         * a-ztexio.adb: Likewise.
10111         * a-ztexio.ads: Likewise.
10112         * a-ztfiio.adb: Likewise.
10113         * a-ztfiio.ads: Likewise.
10114         * a-ztflau.adb: Likewise.
10115         * a-ztflau.ads: Likewise.
10116         * a-ztflio.adb: Likewise.
10117         * a-ztflio.ads: Likewise.
10118         * a-ztgeau.adb: Likewise.
10119         * a-ztgeau.ads: Likewise.
10120         * a-ztinau.adb: Likewise.
10121         * a-ztinau.ads: Likewise.
10122         * a-ztinio.adb: Likewise.
10123         * a-ztmoau.adb: Likewise.
10124         * a-ztmoau.ads: Likewise.
10125         * a-ztmoio.adb: Likewise.
10126         * a-ztmoio.ads: Likewise.
10127         * a-zttest.adb: Likewise.
10128         * a-zzboio.adb: Likewise.
10129         * adadecode.c: Likewise.
10130         * adaint.c: Likewise.
10131         * adaint.h: Likewise.
10132         * alloc.ads: Likewise.
10133         * argv.c: Likewise.
10134         * arit64.c: Likewise.
10135         * atree.adb: Likewise.
10136         * atree.ads: Likewise.
10137         * aux-io.c: Likewise.
10138         * cal.c: Likewise.
10139         * casing.adb: Likewise.
10140         * casing.ads: Likewise.
10141         * cio.c: Likewise.
10142         * csets.adb: Likewise.
10143         * csets.ads: Likewise.
10144         * cstreams.c: Likewise.
10145         * ctrl_c.c: Likewise.
10146         * debug.adb: Likewise.
10147         * debug.ads: Likewise.
10148         * dec.ads: Likewise.
10149         * einfo.adb: Likewise.
10150         * einfo.ads: Likewise.
10151         * elists.adb: Likewise.
10152         * elists.ads: Likewise.
10153         * env.c: Likewise.
10154         * env.h: Likewise.
10155         * errno.c: Likewise.
10156         * exit.c: Likewise.
10157         * fe.h: Likewise.
10158         * final.c: Likewise.
10159         * fname.adb: Likewise.
10160         * fname.ads: Likewise.
10161         * g-allein.ads: Likewise.
10162         * g-alleve.adb: Likewise.
10163         * g-alleve.ads: Likewise.
10164         * g-altcon.adb: Likewise.
10165         * g-altcon.ads: Likewise.
10166         * g-altive.ads: Likewise.
10167         * g-alveop.adb: Likewise.
10168         * g-alveop.ads: Likewise.
10169         * g-alvety.ads: Likewise.
10170         * g-alvevi.ads: Likewise.
10171         * g-arrspl.adb: Likewise.
10172         * g-arrspl.ads: Likewise.
10173         * g-calend.ads: Likewise.
10174         * g-comlin.adb: Likewise.
10175         * g-debpoo.adb: Likewise.
10176         * g-debpoo.ads: Likewise.
10177         * g-eacodu-vms.adb: Likewise.
10178         * g-eacodu.adb: Likewise.
10179         * g-excact.adb: Likewise.
10180         * g-excact.ads: Likewise.
10181         * g-locfil.adb: Likewise.
10182         * g-os_lib.ads: Likewise.
10183         * g-rannum.adb: Likewise.
10184         * g-rannum.ads: Likewise.
10185         * g-regist.adb: Likewise.
10186         * g-regist.ads: Likewise.
10187         * g-signal.adb: Likewise.
10188         * g-signal.ads: Likewise.
10189         * g-soccon.ads: Likewise.
10190         * g-string.adb: Likewise.
10191         * g-string.ads: Likewise.
10192         * g-strspl.ads: Likewise.
10193         * g-timsta.adb: Likewise.
10194         * g-timsta.ads: Likewise.
10195         * g-trasym-vms-alpha.adb: Likewise.
10196         * g-trasym-vms-ia64.adb: Likewise.
10197         * g-utf_32.adb: Likewise.
10198         * g-utf_32.ads: Likewise.
10199         * g-wistsp.ads: Likewise.
10200         * g-zstspl.ads: Likewise.
10201         * gmem.c: Likewise.
10202         * gnatvsn.adb: Likewise.
10203         * gnatvsn.ads: Likewise.
10204         * gsocket.h: Likewise.
10205         * hostparm.ads: Likewise.
10206         * i-c.adb: Likewise.
10207         * i-cexten.ads: Likewise.
10208         * i-cobol.adb: Likewise.
10209         * i-cobol.ads: Likewise.
10210         * i-cpoint.adb: Likewise.
10211         * i-cpoint.ads: Likewise.
10212         * i-cpp.adb: Likewise.
10213         * i-cpp.ads: Likewise.
10214         * i-cstrea-vms.adb: Likewise.
10215         * i-cstrea.adb: Likewise.
10216         * i-cstrea.ads: Likewise.
10217         * i-cstrin.adb: Likewise.
10218         * i-cstrin.ads: Likewise.
10219         * i-forbla-darwin.adb: Likewise.
10220         * i-forbla-unimplemented.ads: Likewise.
10221         * i-forbla.adb: Likewise.
10222         * i-forbla.ads: Likewise.
10223         * i-forlap.ads: Likewise.
10224         * i-fortra.adb: Likewise.
10225         * i-pacdec.adb: Likewise.
10226         * i-pacdec.ads: Likewise.
10227         * i-vxwoio.adb: Likewise.
10228         * i-vxwoio.ads: Likewise.
10229         * indepsw-aix.adb: Likewise.
10230         * indepsw-gnu.adb: Likewise.
10231         * indepsw-mingw.adb: Likewise.
10232         * indepsw.adb: Likewise.
10233         * indepsw.ads: Likewise.
10234         * init.c: Likewise.
10235         * initialize.c: Likewise.
10236         * interfac.ads: Likewise.
10237         * krunch.adb: Likewise.
10238         * krunch.ads: Likewise.
10239         * lib-list.adb: Likewise.
10240         * lib-sort.adb: Likewise.
10241         * lib.adb: Likewise.
10242         * lib.ads: Likewise.
10243         * link.c: Likewise.
10244         * math_lib.adb: Likewise.
10245         * memtrack.adb: Likewise.
10246         * mingw32.h: Likewise.
10247         * mkdir.c: Likewise.
10248         * namet-sp.adb: Likewise.
10249         * namet-sp.ads: Likewise.
10250         * namet.adb: Likewise.
10251         * namet.ads: Likewise.
10252         * nlists.adb: Likewise.
10253         * nlists.ads: Likewise.
10254         * opt.adb: Likewise.
10255         * opt.ads: Likewise.
10256         * output.adb: Likewise.
10257         * output.ads: Likewise.
10258         * raise-gcc.c: Likewise.
10259         * raise.c: Likewise.
10260         * raise.h: Likewise.
10261         * repinfo.adb: Likewise.
10262         * repinfo.ads: Likewise.
10263         * repinfo.h: Likewise.
10264         * rident.ads: Likewise.
10265         * s-addima.adb: Likewise.
10266         * s-addima.ads: Likewise.
10267         * s-addope.adb: Likewise.
10268         * s-addope.ads: Likewise.
10269         * s-arit64.adb: Likewise.
10270         * s-arit64.ads: Likewise.
10271         * s-assert.adb: Likewise.
10272         * s-assert.ads: Likewise.
10273         * s-asthan-vms-alpha.adb: Likewise.
10274         * s-asthan.adb: Likewise.
10275         * s-asthan.ads: Likewise.
10276         * s-atacco.adb: Likewise.
10277         * s-atacco.ads: Likewise.
10278         * s-auxdec-empty.adb: Likewise.
10279         * s-auxdec-empty.ads: Likewise.
10280         * s-auxdec-vms_64.ads: Likewise.
10281         * s-auxdec.adb: Likewise.
10282         * s-auxdec.ads: Likewise.
10283         * s-bitops.adb: Likewise.
10284         * s-bitops.ads: Likewise.
10285         * s-boarop.ads: Likewise.
10286         * s-carsi8.adb: Likewise.
10287         * s-carsi8.ads: Likewise.
10288         * s-carun8.adb: Likewise.
10289         * s-carun8.ads: Likewise.
10290         * s-casi16.adb: Likewise.
10291         * s-casi16.ads: Likewise.
10292         * s-casi32.adb: Likewise.
10293         * s-casi32.ads: Likewise.
10294         * s-casi64.adb: Likewise.
10295         * s-casi64.ads: Likewise.
10296         * s-casuti.ads: Likewise.
10297         * s-caun16.adb: Likewise.
10298         * s-caun16.ads: Likewise.
10299         * s-caun32.adb: Likewise.
10300         * s-caun32.ads: Likewise.
10301         * s-caun64.adb: Likewise.
10302         * s-caun64.ads: Likewise.
10303         * s-chepoo.ads: Likewise.
10304         * s-crc32.adb: Likewise.
10305         * s-crc32.ads: Likewise.
10306         * s-crtl.ads: Likewise.
10307         * s-direio.adb: Likewise.
10308         * s-direio.ads: Likewise.
10309         * s-dsaser.ads: Likewise.
10310         * s-except.adb: Likewise.
10311         * s-except.ads: Likewise.
10312         * s-exctab.adb: Likewise.
10313         * s-exctab.ads: Likewise.
10314         * s-exnint.adb: Likewise.
10315         * s-exnint.ads: Likewise.
10316         * s-exnllf.adb: Likewise.
10317         * s-exnllf.ads: Likewise.
10318         * s-exnlli.adb: Likewise.
10319         * s-exnlli.ads: Likewise.
10320         * s-expint.adb: Likewise.
10321         * s-expint.ads: Likewise.
10322         * s-explli.adb: Likewise.
10323         * s-explli.ads: Likewise.
10324         * s-expllu.adb: Likewise.
10325         * s-expllu.ads: Likewise.
10326         * s-expmod.adb: Likewise.
10327         * s-expmod.ads: Likewise.
10328         * s-expuns.adb: Likewise.
10329         * s-expuns.ads: Likewise.
10330         * s-fatflt.ads: Likewise.
10331         * s-fatgen.adb: Likewise.
10332         * s-fatgen.ads: Likewise.
10333         * s-fatlfl.ads: Likewise.
10334         * s-fatllf.ads: Likewise.
10335         * s-fatsfl.ads: Likewise.
10336         * s-ficobl.ads: Likewise.
10337         * s-fileio.adb: Likewise.
10338         * s-fileio.ads: Likewise.
10339         * s-filofl.ads: Likewise.
10340         * s-finimp.adb: Likewise.
10341         * s-finimp.ads: Likewise.
10342         * s-finroo.adb: Likewise.
10343         * s-finroo.ads: Likewise.
10344         * s-fishfl.ads: Likewise.
10345         * s-fore.adb: Likewise.
10346         * s-fore.ads: Likewise.
10347         * s-fvadfl.ads: Likewise.
10348         * s-fvaffl.ads: Likewise.
10349         * s-fvagfl.ads: Likewise.
10350         * s-gearop.adb: Likewise.
10351         * s-gearop.ads: Likewise.
10352         * s-gecobl.adb: Likewise.
10353         * s-gecobl.ads: Likewise.
10354         * s-gecola.adb: Likewise.
10355         * s-gecola.ads: Likewise.
10356         * s-gerebl.adb: Likewise.
10357         * s-gerebl.ads: Likewise.
10358         * s-gerela.adb: Likewise.
10359         * s-gerela.ads: Likewise.
10360         * s-geveop.adb: Likewise.
10361         * s-geveop.ads: Likewise.
10362         * s-gloloc.adb: Likewise.
10363         * s-gloloc.ads: Likewise.
10364         * s-hibaen.ads: Likewise.
10365         * s-imenne.adb: Likewise.
10366         * s-imenne.ads: Likewise.
10367         * s-imgbiu.adb: Likewise.
10368         * s-imgbiu.ads: Likewise.
10369         * s-imgboo.adb: Likewise.
10370         * s-imgboo.ads: Likewise.
10371         * s-imgcha.adb: Likewise.
10372         * s-imgcha.ads: Likewise.
10373         * s-imgdec.adb: Likewise.
10374         * s-imgdec.ads: Likewise.
10375         * s-imgenu.adb: Likewise.
10376         * s-imgenu.ads: Likewise.
10377         * s-imgint.adb: Likewise.
10378         * s-imgint.ads: Likewise.
10379         * s-imgllb.adb: Likewise.
10380         * s-imgllb.ads: Likewise.
10381         * s-imglld.adb: Likewise.
10382         * s-imglld.ads: Likewise.
10383         * s-imglli.adb: Likewise.
10384         * s-imglli.ads: Likewise.
10385         * s-imgllu.adb: Likewise.
10386         * s-imgllu.ads: Likewise.
10387         * s-imgllw.adb: Likewise.
10388         * s-imgllw.ads: Likewise.
10389         * s-imgrea.adb: Likewise.
10390         * s-imgrea.ads: Likewise.
10391         * s-imguns.adb: Likewise.
10392         * s-imguns.ads: Likewise.
10393         * s-imgwch.adb: Likewise.
10394         * s-imgwch.ads: Likewise.
10395         * s-imgwiu.adb: Likewise.
10396         * s-imgwiu.ads: Likewise.
10397         * s-inmaop-dummy.adb: Likewise.
10398         * s-inmaop-vms.adb: Likewise.
10399         * s-inmaop.ads: Likewise.
10400         * s-interr-hwint.adb: Likewise.
10401         * s-interr-sigaction.adb: Likewise.
10402         * s-interr-vms.adb: Likewise.
10403         * s-interr.adb: Likewise.
10404         * s-interr.ads: Likewise.
10405         * s-intman-dummy.adb: Likewise.
10406         * s-intman-mingw.adb: Likewise.
10407         * s-intman-posix.adb: Likewise.
10408         * s-intman-solaris.adb: Likewise.
10409         * s-intman-vms.adb: Likewise.
10410         * s-intman-vms.ads: Likewise.
10411         * s-intman-vxworks.adb: Likewise.
10412         * s-intman-vxworks.ads: Likewise.
10413         * s-intman.ads: Likewise.
10414         * s-io.adb: Likewise.
10415         * s-io.ads: Likewise.
10416         * s-linux-alpha.ads: Likewise.
10417         * s-linux-hppa.ads: Likewise.
10418         * s-linux.ads: Likewise.
10419         * s-maccod.ads: Likewise.
10420         * s-mantis.adb: Likewise.
10421         * s-mantis.ads: Likewise.
10422         * s-mastop-irix.adb: Likewise.
10423         * s-mastop.adb: Likewise.
10424         * s-mastop.ads: Likewise.
10425         * s-memcop.ads: Likewise.
10426         * s-memory-mingw.adb: Likewise.
10427         * s-memory.adb: Likewise.
10428         * s-memory.ads: Likewise.
10429         * s-os_lib.ads: Likewise.
10430         * s-oscons-tmplt.c: Likewise.
10431         * s-osinte-aix.adb: Likewise.
10432         * s-osinte-darwin.adb: Likewise.
10433         * s-osinte-freebsd.adb: Likewise.
10434         * s-osinte-irix.adb: Likewise.
10435         * s-osinte-lynxos-3.adb: Likewise.
10436         * s-osinte-rtems.ads: Likewise.
10437         * s-osinte-tru64.adb: Likewise.
10438         * s-osinte-vxworks-kernel.adb: Likewise.
10439         * s-osinte-vxworks.adb: Likewise.
10440         * s-osprim-mingw.adb: Likewise.
10441         * s-osprim-posix.adb: Likewise.
10442         * s-osprim-solaris.adb: Likewise.
10443         * s-osprim-unix.adb: Likewise.
10444         * s-osprim-vms.adb: Likewise.
10445         * s-osprim-vms.ads: Likewise.
10446         * s-osprim-vxworks.adb: Likewise.
10447         * s-osprim.ads: Likewise.
10448         * s-pack03.adb: Likewise.
10449         * s-pack03.ads: Likewise.
10450         * s-pack05.adb: Likewise.
10451         * s-pack05.ads: Likewise.
10452         * s-pack06.adb: Likewise.
10453         * s-pack06.ads: Likewise.
10454         * s-pack07.adb: Likewise.
10455         * s-pack07.ads: Likewise.
10456         * s-pack09.adb: Likewise.
10457         * s-pack09.ads: Likewise.
10458         * s-pack10.adb: Likewise.
10459         * s-pack10.ads: Likewise.
10460         * s-pack11.adb: Likewise.
10461         * s-pack11.ads: Likewise.
10462         * s-pack12.adb: Likewise.
10463         * s-pack12.ads: Likewise.
10464         * s-pack13.adb: Likewise.
10465         * s-pack13.ads: Likewise.
10466         * s-pack14.adb: Likewise.
10467         * s-pack14.ads: Likewise.
10468         * s-pack15.adb: Likewise.
10469         * s-pack15.ads: Likewise.
10470         * s-pack17.adb: Likewise.
10471         * s-pack17.ads: Likewise.
10472         * s-pack18.adb: Likewise.
10473         * s-pack18.ads: Likewise.
10474         * s-pack19.adb: Likewise.
10475         * s-pack19.ads: Likewise.
10476         * s-pack20.adb: Likewise.
10477         * s-pack20.ads: Likewise.
10478         * s-pack21.adb: Likewise.
10479         * s-pack21.ads: Likewise.
10480         * s-pack22.adb: Likewise.
10481         * s-pack22.ads: Likewise.
10482         * s-pack23.adb: Likewise.
10483         * s-pack23.ads: Likewise.
10484         * s-pack24.adb: Likewise.
10485         * s-pack24.ads: Likewise.
10486         * s-pack25.adb: Likewise.
10487         * s-pack25.ads: Likewise.
10488         * s-pack26.adb: Likewise.
10489         * s-pack26.ads: Likewise.
10490         * s-pack27.adb: Likewise.
10491         * s-pack27.ads: Likewise.
10492         * s-pack28.adb: Likewise.
10493         * s-pack28.ads: Likewise.
10494         * s-pack29.adb: Likewise.
10495         * s-pack29.ads: Likewise.
10496         * s-pack30.adb: Likewise.
10497         * s-pack30.ads: Likewise.
10498         * s-pack31.adb: Likewise.
10499         * s-pack31.ads: Likewise.
10500         * s-pack33.adb: Likewise.
10501         * s-pack33.ads: Likewise.
10502         * s-pack34.adb: Likewise.
10503         * s-pack34.ads: Likewise.
10504         * s-pack35.adb: Likewise.
10505         * s-pack35.ads: Likewise.
10506         * s-pack36.adb: Likewise.
10507         * s-pack36.ads: Likewise.
10508         * s-pack37.adb: Likewise.
10509         * s-pack37.ads: Likewise.
10510         * s-pack38.adb: Likewise.
10511         * s-pack38.ads: Likewise.
10512         * s-pack39.adb: Likewise.
10513         * s-pack39.ads: Likewise.
10514         * s-pack40.adb: Likewise.
10515         * s-pack40.ads: Likewise.
10516         * s-pack41.adb: Likewise.
10517         * s-pack41.ads: Likewise.
10518         * s-pack42.adb: Likewise.
10519         * s-pack42.ads: Likewise.
10520         * s-pack43.adb: Likewise.
10521         * s-pack43.ads: Likewise.
10522         * s-pack44.adb: Likewise.
10523         * s-pack44.ads: Likewise.
10524         * s-pack45.adb: Likewise.
10525         * s-pack45.ads: Likewise.
10526         * s-pack46.adb: Likewise.
10527         * s-pack46.ads: Likewise.
10528         * s-pack47.adb: Likewise.
10529         * s-pack47.ads: Likewise.
10530         * s-pack48.adb: Likewise.
10531         * s-pack48.ads: Likewise.
10532         * s-pack49.adb: Likewise.
10533         * s-pack49.ads: Likewise.
10534         * s-pack50.adb: Likewise.
10535         * s-pack50.ads: Likewise.
10536         * s-pack51.adb: Likewise.
10537         * s-pack51.ads: Likewise.
10538         * s-pack52.adb: Likewise.
10539         * s-pack52.ads: Likewise.
10540         * s-pack53.adb: Likewise.
10541         * s-pack53.ads: Likewise.
10542         * s-pack54.adb: Likewise.
10543         * s-pack54.ads: Likewise.
10544         * s-pack55.adb: Likewise.
10545         * s-pack55.ads: Likewise.
10546         * s-pack56.adb: Likewise.
10547         * s-pack56.ads: Likewise.
10548         * s-pack57.adb: Likewise.
10549         * s-pack57.ads: Likewise.
10550         * s-pack58.adb: Likewise.
10551         * s-pack58.ads: Likewise.
10552         * s-pack59.adb: Likewise.
10553         * s-pack59.ads: Likewise.
10554         * s-pack60.adb: Likewise.
10555         * s-pack60.ads: Likewise.
10556         * s-pack61.adb: Likewise.
10557         * s-pack61.ads: Likewise.
10558         * s-pack62.adb: Likewise.
10559         * s-pack62.ads: Likewise.
10560         * s-pack63.adb: Likewise.
10561         * s-pack63.ads: Likewise.
10562         * s-parame-ae653.ads: Likewise.
10563         * s-parame-hpux.ads: Likewise.
10564         * s-parame-rtems.adb: Likewise.
10565         * s-parame-vms-alpha.ads: Likewise.
10566         * s-parame-vms-ia64.ads: Likewise.
10567         * s-parame-vms-restrict.ads: Likewise.
10568         * s-parame-vxworks.adb: Likewise.
10569         * s-parame-vxworks.ads: Likewise.
10570         * s-parame.adb: Likewise.
10571         * s-parame.ads: Likewise.
10572         * s-parint.adb: Likewise.
10573         * s-parint.ads: Likewise.
10574         * s-pooglo.adb: Likewise.
10575         * s-pooglo.ads: Likewise.
10576         * s-pooloc.adb: Likewise.
10577         * s-pooloc.ads: Likewise.
10578         * s-poosiz.adb: Likewise.
10579         * s-poosiz.ads: Likewise.
10580         * s-powtab.ads: Likewise.
10581         * s-proinf-irix-athread.adb: Likewise.
10582         * s-proinf-irix-athread.ads: Likewise.
10583         * s-proinf.adb: Likewise.
10584         * s-proinf.ads: Likewise.
10585         * s-purexc.ads: Likewise.
10586         * s-rannum.adb: Likewise.
10587         * s-rannum.ads: Likewise.
10588         * s-restri.adb: Likewise.
10589         * s-restri.ads: Likewise.
10590         * s-rident.ads: Likewise.
10591         * s-rpc.adb: Likewise.
10592         * s-rpc.ads: Likewise.
10593         * s-scaval.adb: Likewise.
10594         * s-scaval.ads: Likewise.
10595         * s-secsta.adb: Likewise.
10596         * s-secsta.ads: Likewise.
10597         * s-sequio.adb: Likewise.
10598         * s-sequio.ads: Likewise.
10599         * s-shasto.adb: Likewise.
10600         * s-shasto.ads: Likewise.
10601         * s-soflin.adb: Likewise.
10602         * s-soflin.ads: Likewise.
10603         * s-solita.adb: Likewise.
10604         * s-solita.ads: Likewise.
10605         * s-sopco3.adb: Likewise.
10606         * s-sopco3.ads: Likewise.
10607         * s-sopco4.adb: Likewise.
10608         * s-sopco4.ads: Likewise.
10609         * s-sopco5.adb: Likewise.
10610         * s-sopco5.ads: Likewise.
10611         * s-stache.adb: Likewise.
10612         * s-stache.ads: Likewise.
10613         * s-stalib.adb: Likewise.
10614         * s-stalib.ads: Likewise.
10615         * s-stausa.adb: Likewise.
10616         * s-stausa.ads: Likewise.
10617         * s-stchop-limit.ads: Likewise.
10618         * s-stchop-rtems.adb: Likewise.
10619         * s-stchop-vxworks.adb: Likewise.
10620         * s-stchop.adb: Likewise.
10621         * s-stchop.ads: Likewise.
10622         * s-stoele.adb: Likewise.
10623         * s-stoele.ads: Likewise.
10624         * s-stopoo.adb: Likewise.
10625         * s-stopoo.ads: Likewise.
10626         * s-stratt.adb: Likewise.
10627         * s-stratt.ads: Likewise.
10628         * s-strcom.adb: Likewise.
10629         * s-strcom.ads: Likewise.
10630         * s-string.adb: Likewise.
10631         * s-string.ads: Likewise.
10632         * s-strops.adb: Likewise.
10633         * s-strops.ads: Likewise.
10634         * s-strxdr.adb: Likewise.
10635         * s-ststop.adb: Likewise.
10636         * s-ststop.ads: Likewise.
10637         * s-taasde.adb: Likewise.
10638         * s-taasde.ads: Likewise.
10639         * s-tadeca.adb: Likewise.
10640         * s-tadeca.ads: Likewise.
10641         * s-tadert.adb: Likewise.
10642         * s-tadert.ads: Likewise.
10643         * s-taenca.adb: Likewise.
10644         * s-taenca.ads: Likewise.
10645         * s-taprob.ads: Likewise.
10646         * s-taprop-dummy.adb: Likewise.
10647         * s-taprop-hpux-dce.adb: Likewise.
10648         * s-taprop-irix.adb: Likewise.
10649         * s-taprop-linux.adb: Likewise.
10650         * s-taprop-lynxos.adb: Likewise.
10651         * s-taprop-mingw.adb: Likewise.
10652         * s-taprop-posix.adb: Likewise.
10653         * s-taprop-solaris.adb: Likewise.
10654         * s-taprop-tru64.adb: Likewise.
10655         * s-taprop-vms.adb: Likewise.
10656         * s-taprop-vxworks.adb: Likewise.
10657         * s-taprop.ads: Likewise.
10658         * s-tarest.adb: Likewise.
10659         * s-tarest.ads: Likewise.
10660         * s-tasdeb.adb: Likewise.
10661         * s-tasdeb.ads: Likewise.
10662         * s-tasinf-irix.ads: Likewise.
10663         * s-tasinf-linux.adb: Likewise.
10664         * s-tasinf-linux.ads: Likewise.
10665         * s-tasinf-mingw.adb: Likewise.
10666         * s-tasinf-mingw.ads: Likewise.
10667         * s-tasinf-solaris.adb: Likewise.
10668         * s-tasinf-solaris.ads: Likewise.
10669         * s-tasinf-tru64.ads: Likewise.
10670         * s-tasinf.adb: Likewise.
10671         * s-tasinf.ads: Likewise.
10672         * s-tasini.adb: Likewise.
10673         * s-tasini.ads: Likewise.
10674         * s-taskin.adb: Likewise.
10675         * s-taskin.ads: Likewise.
10676         * s-taspri-dummy.ads: Likewise.
10677         * s-taspri-hpux-dce.ads: Likewise.
10678         * s-taspri-mingw.ads: Likewise.
10679         * s-taspri-solaris.ads: Likewise.
10680         * s-taspri-tru64.ads: Likewise.
10681         * s-taspri-vms.ads: Likewise.
10682         * s-taspri-vxworks.ads: Likewise.
10683         * s-tasque.adb: Likewise.
10684         * s-tasque.ads: Likewise.
10685         * s-tasren.adb: Likewise.
10686         * s-tasren.ads: Likewise.
10687         * s-tasres.ads: Likewise.
10688         * s-tassta.adb: Likewise.
10689         * s-tassta.ads: Likewise.
10690         * s-tasuti.adb: Likewise.
10691         * s-tasuti.ads: Likewise.
10692         * s-tfsetr-default.adb: Likewise.
10693         * s-tfsetr-vxworks.adb: Likewise.
10694         * s-tpinop.adb: Likewise.
10695         * s-tpinop.ads: Likewise.
10696         * s-tpoben.adb: Likewise.
10697         * s-tpoben.ads: Likewise.
10698         * s-tpobop.adb: Likewise.
10699         * s-tpobop.ads: Likewise.
10700         * s-tpopde-vms.adb: Likewise.
10701         * s-tpopde-vms.ads: Likewise.
10702         * s-tpopsp-lynxos.adb: Likewise.
10703         * s-tpopsp-posix-foreign.adb: Likewise.
10704         * s-tpopsp-posix.adb: Likewise.
10705         * s-tpopsp-solaris.adb: Likewise.
10706         * s-tpopsp-vxworks.adb: Likewise.
10707         * s-tporft.adb: Likewise.
10708         * s-tposen.adb: Likewise.
10709         * s-tposen.ads: Likewise.
10710         * s-traceb.adb: Likewise.
10711         * s-traceb.ads: Likewise.
10712         * s-traces-default.adb: Likewise.
10713         * s-traces.adb: Likewise.
10714         * s-traces.ads: Likewise.
10715         * s-traent-vms.adb: Likewise.
10716         * s-traent-vms.ads: Likewise.
10717         * s-traent.adb: Likewise.
10718         * s-traent.ads: Likewise.
10719         * s-trafor-default.adb: Likewise.
10720         * s-trafor-default.ads: Likewise.
10721         * s-tratas-default.adb: Likewise.
10722         * s-tratas.adb: Likewise.
10723         * s-tratas.ads: Likewise.
10724         * s-unstyp.ads: Likewise.
10725         * s-utf_32.adb: Likewise.
10726         * s-utf_32.ads: Likewise.
10727         * s-vaflop-vms-alpha.adb: Likewise.
10728         * s-vaflop.adb: Likewise.
10729         * s-vaflop.ads: Likewise.
10730         * s-valboo.adb: Likewise.
10731         * s-valboo.ads: Likewise.
10732         * s-valcha.adb: Likewise.
10733         * s-valcha.ads: Likewise.
10734         * s-valdec.adb: Likewise.
10735         * s-valdec.ads: Likewise.
10736         * s-valenu.adb: Likewise.
10737         * s-valenu.ads: Likewise.
10738         * s-valint.adb: Likewise.
10739         * s-valint.ads: Likewise.
10740         * s-vallld.adb: Likewise.
10741         * s-vallld.ads: Likewise.
10742         * s-vallli.adb: Likewise.
10743         * s-vallli.ads: Likewise.
10744         * s-valllu.adb: Likewise.
10745         * s-valllu.ads: Likewise.
10746         * s-valrea.adb: Likewise.
10747         * s-valrea.ads: Likewise.
10748         * s-valuns.adb: Likewise.
10749         * s-valuns.ads: Likewise.
10750         * s-valuti.adb: Likewise.
10751         * s-valuti.ads: Likewise.
10752         * s-valwch.adb: Likewise.
10753         * s-valwch.ads: Likewise.
10754         * s-veboop.adb: Likewise.
10755         * s-veboop.ads: Likewise.
10756         * s-vector.ads: Likewise.
10757         * s-vercon.adb: Likewise.
10758         * s-vercon.ads: Likewise.
10759         * s-vmexta.adb: Likewise.
10760         * s-vmexta.ads: Likewise.
10761         * s-vxwext-kernel.ads: Likewise.
10762         * s-vxwext-rtp.adb: Likewise.
10763         * s-vxwext-rtp.ads: Likewise.
10764         * s-vxwext.ads: Likewise.
10765         * s-vxwork-arm.ads: Likewise.
10766         * s-vxwork-m68k.ads: Likewise.
10767         * s-vxwork-mips.ads: Likewise.
10768         * s-vxwork-ppc.ads: Likewise.
10769         * s-vxwork-sparcv9.ads: Likewise.
10770         * s-vxwork-x86.ads: Likewise.
10771         * s-wchcnv.adb: Likewise.
10772         * s-wchcnv.ads: Likewise.
10773         * s-wchcon.adb: Likewise.
10774         * s-wchcon.ads: Likewise.
10775         * s-wchjis.adb: Likewise.
10776         * s-wchjis.ads: Likewise.
10777         * s-wchstw.adb: Likewise.
10778         * s-wchstw.ads: Likewise.
10779         * s-wchwts.adb: Likewise.
10780         * s-wchwts.ads: Likewise.
10781         * s-widboo.adb: Likewise.
10782         * s-widboo.ads: Likewise.
10783         * s-widcha.adb: Likewise.
10784         * s-widcha.ads: Likewise.
10785         * s-widenu.adb: Likewise.
10786         * s-widenu.ads: Likewise.
10787         * s-widlli.adb: Likewise.
10788         * s-widlli.ads: Likewise.
10789         * s-widllu.adb: Likewise.
10790         * s-widllu.ads: Likewise.
10791         * s-widwch.adb: Likewise.
10792         * s-widwch.ads: Likewise.
10793         * s-win32.ads: Likewise.
10794         * s-winext.ads: Likewise.
10795         * s-wwdcha.adb: Likewise.
10796         * s-wwdcha.ads: Likewise.
10797         * s-wwdenu.adb: Likewise.
10798         * s-wwdenu.ads: Likewise.
10799         * s-wwdwch.adb: Likewise.
10800         * s-wwdwch.ads: Likewise.
10801         * scans.adb: Likewise.
10802         * scans.ads: Likewise.
10803         * seh_init.c: Likewise.
10804         * sfn_scan.adb: Likewise.
10805         * sinfo.adb: Likewise.
10806         * sinfo.ads: Likewise.
10807         * sinput.adb: Likewise.
10808         * sinput.ads: Likewise.
10809         * snames.adb: Likewise.
10810         * snames.ads: Likewise.
10811         * socket.c: Likewise.
10812         * stand.adb: Likewise.
10813         * stand.ads: Likewise.
10814         * stringt.adb: Likewise.
10815         * stringt.ads: Likewise.
10816         * sysdep.c: Likewise.
10817         * system-aix.ads: Likewise.
10818         * system-darwin-ppc.ads: Likewise.
10819         * system-darwin-x86.ads: Likewise.
10820         * system-darwin-x86_64.ads: Likewise.
10821         * system-freebsd-x86.ads: Likewise.
10822         * system-hpux-ia64.ads: Likewise.
10823         * system-hpux.ads: Likewise.
10824         * system-irix-n32.ads: Likewise.
10825         * system-irix-n64.ads: Likewise.
10826         * system-irix-o32.ads: Likewise.
10827         * system-linux-alpha.ads: Likewise.
10828         * system-linux-hppa.ads: Likewise.
10829         * system-linux-ia64.ads: Likewise.
10830         * system-linux-mips.ads: Likewise.
10831         * system-linux-mipsel.ads: Likewise.
10832         * system-linux-ppc.ads: Likewise.
10833         * system-linux-ppc64.ads: Likewise.
10834         * system-linux-s390.ads: Likewise.
10835         * system-linux-s390x.ads: Likewise.
10836         * system-linux-sh4.ads: Likewise.
10837         * system-linux-sparc.ads: Likewise.
10838         * system-linux-sparcv9.ads: Likewise.
10839         * system-linux-x86.ads: Likewise.
10840         * system-linux-x86_64.ads: Likewise.
10841         * system-lynxos-ppc.ads: Likewise.
10842         * system-lynxos-x86.ads: Likewise.
10843         * system-mingw-x86_64.ads: Likewise.
10844         * system-mingw.ads: Likewise.
10845         * system-rtems.ads: Likewise.
10846         * system-solaris-sparc.ads: Likewise.
10847         * system-solaris-sparcv9.ads: Likewise.
10848         * system-solaris-x86.ads: Likewise.
10849         * system-solaris-x86_64.ads: Likewise.
10850         * system-tru64.ads: Likewise.
10851         * system-vms-ia64.ads: Likewise.
10852         * system-vms-zcx.ads: Likewise.
10853         * system-vms.ads: Likewise.
10854         * system-vms_64.ads: Likewise.
10855         * system-vxworks-arm.ads: Likewise.
10856         * system-vxworks-m68k.ads: Likewise.
10857         * system-vxworks-mips.ads: Likewise.
10858         * system-vxworks-ppc.ads: Likewise.
10859         * system-vxworks-sparcv9.ads: Likewise.
10860         * system-vxworks-x86.ads: Likewise.
10861         * system.ads: Likewise.
10862         * table.adb: Likewise.
10863         * table.ads: Likewise.
10864         * targext.c: Likewise.
10865         * targparm.ads: Likewise.
10866         * tree_in.adb: Likewise.
10867         * tree_in.ads: Likewise.
10868         * tree_io.adb: Likewise.
10869         * tree_io.ads: Likewise.
10870         * types.adb: Likewise.
10871         * types.ads: Likewise.
10872         * uintp.adb: Likewise.
10873         * uintp.ads: Likewise.
10874         * uname.adb: Likewise.
10875         * uname.ads: Likewise.
10876         * urealp.adb: Likewise.
10877         * urealp.ads: Likewise.
10878         * vx_stack_info.c: Likewise.
10879         * widechar.adb: Likewise.
10880         * widechar.ads: Likewise.
10881         * exp_attr.adb: Change copyright header to refer to version
10882         3 of the GNU General Public License and to point readers at the
10883         COPYING3 file and the FSF's license web page.
10884         * sem.adb: Likewise.
10885         * sem_attr.ads: Likewise.
10886         * freeze.adb: Likewise.
10887         * freeze.ads: Likewise.
10888         * errout.ads: Likewise.
10889         * erroutc.adb: Likewise.
10890         * exp_ch11.ads: Likewise.
10891
10892 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
10893
10894         * config-lang.in: Change copyright header to refer to version
10895         3 of the GNU General Public License and to point readers at the
10896         COPYING3 file and the FSF's license web page.
10897         * gcc-interface/trans.c: Likewise.
10898         * gnathtml.pl: Likewise.
10899         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
10900         * gcc-interface/gigi.h: Likewise.
10901         * gcc-interface/misc.c: Likewise.
10902         * gcc-interface/targtyps.c: Likewise.
10903
10904 2009-04-09  Nicolas Setton  <setton@adacore.com>
10905
10906         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
10907
10908         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
10909         struct_timeval.
10910
10911 2009-04-09  Bob Duff  <duff@adacore.com>
10912
10913         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
10914         internally-generated nodes related to select statements to avoid
10915         confusing the debugger.
10916
10917 2009-04-09  Pascal Obry  <obry@adacore.com>
10918
10919         * make.adb: Ensure that all linker arguments are duplicated.
10920
10921 2009-04-09  Robert Dewar  <dewar@adacore.com>
10922
10923         * sem_ch5.adb: Minor reformatting
10924
10925 2009-04-09  Vincent Celier  <celier@adacore.com>
10926
10927         * vms_data.ads:
10928         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
10929         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
10930         New qualifier /LXDEBUG=nnn for -gnatDnnn
10931         For H820-010
10932
10933         * gnat_ugn.texi:
10934         Update documentation for VMS qualifiers equivalent to -gnatGnn and
10935         -gnatDnn
10936
10937 2009-04-09  Nicolas Setton  <setton@adacore.com>
10938
10939         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
10940         to match layout of siginfo_t in sys/signal.h.
10941
10942         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
10943
10944 2009-04-09  Thomas Quinot  <quinot@adacore.com>
10945
10946         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
10947
10948 2009-04-09  Nicolas Setton  <setton@adacore.com>
10949
10950         * s-oscons-tmplt.c: Allow long lines in the generated spec.
10951         Add generation of Darwin-specific constants needed when binding to the
10952         pthread library.
10953
10954 2009-04-09  Robert Dewar  <dewar@adacore.com>
10955
10956         * checks.adb:
10957         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
10958         when no invalid values exist, Avoid duplicate read of atomic variable.
10959
10960         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
10961         (Standard_Unsigned): Set Is_Known_Valid
10962
10963         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
10964         subtype declaration if no constraint.
10965         (Set_Modular_Size): Set Is_Known_Valid if appropriate
10966         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
10967
10968 2009-04-09  Robert Dewar  <dewar@adacore.com>
10969
10970         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
10971         switch.ads: for numeric switches, an optional equal sign is always
10972         allowed.
10973
10974 2009-04-09  Vincent Celier  <celier@adacore.com>
10975
10976         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
10977         the case of file names is not significant.
10978
10979 2009-04-09  Vincent Celier  <celier@adacore.com>
10980
10981         * errout.adb: Remove dependency on package Style
10982
10983         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
10984         moved to Stylesw.
10985         
10986         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
10987         Styleg.
10988
10989         * errutil.adb, par.adb: Import Stylesw
10990
10991 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
10992
10993         * opt.ads: Fix typos.
10994
10995 2009-04-09  Robert Dewar  <dewar@adacore.com>
10996
10997         * einfo.adb: Minor reformatting
10998
10999 2009-04-09  Robert Dewar  <dewar@adacore.com>
11000
11001         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
11002         units.
11003
11004         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
11005
11006 2009-04-09  Robert Dewar  <dewar@adacore.com>
11007
11008         * g-comver.adb: Minor reformatting.
11009
11010 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11011
11012         * lib-load.ads (Load_Unit): Update documentation.
11013
11014 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
11015
11016         * lib-load.adb (Load_Unit): When loading the parent of a child unit
11017         named in a with_clause, retain the with_clause to preserve a
11018         limited_with indication.
11019
11020 2009-04-09  Robert Dewar  <dewar@adacore.com>
11021
11022         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
11023         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
11024         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
11025         possible to replace an OR of two separate tests.
11026
11027 2009-04-09  Robert Dewar  <dewar@adacore.com>
11028
11029         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
11030         Maximum_Messages.
11031         
11032         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
11033         warning status as well.
11034         
11035         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
11036         
11037         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
11038         Maximum_Messages.
11039         
11040         * bindusg.adb, usage.adb: Update line for -gnatm switch
11041
11042         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
11043         -mnn binder switch.
11044
11045 2009-04-09  Robert Dewar  <dewar@adacore.com>
11046
11047         * sem_ch10.adb: Minor reformatting.
11048
11049 2009-04-09  Bob Duff  <duff@adacore.com>
11050
11051         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
11052         Set Sloc of generated nodes for calls to Undefer_Aborts and
11053         Save_Occurrence to No_Location, so the debugger ignores them and
11054         therefore does not jump back and forth when single stepping.
11055
11056 2009-04-09  Robert Dewar  <dewar@adacore.com>
11057
11058         * switch-b.adb: Minor reformatting.
11059
11060 2009-04-09  Robert Dewar  <dewar@adacore.com>
11061
11062         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
11063         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
11064         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
11065         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
11066         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
11067         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
11068         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
11069         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
11070         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
11071         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
11072         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
11073
11074 2009-04-09  Robert Dewar  <dewar@adacore.com>
11075
11076         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
11077
11078         * atree.h: Add Elist26
11079
11080         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
11081         backends.
11082
11083 2009-04-09  Javier Miranda  <miranda@adacore.com>
11084
11085         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
11086         retrieve from the Dispatch_Table_Wrappers list the external name.
11087         Addition of documentation.
11088         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
11089         used to export secondary dispatch tables (in the previous version of
11090         the frontend only primary dispatch tables were exported). Addition of
11091         documentation.
11092         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
11093         dispatch table of a given tagged type. 
11094         (Make_Tags): Modified to import secondary dispatch tables.
11095
11096         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
11097         (Constant_Redeclaration): Code cleanup.
11098
11099         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
11100         Dispatch_Table_Wrappers.  Update documentation.
11101
11102         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
11103         Renamed to Dispatch_Table_Wrappers.
11104
11105         * sem_util.adb (Collect_Interface_Components): Improve handling of
11106         private types.
11107
11108         * atree.ads (Elist26, Set_Elist26): New subprograms
11109
11110         * atree.adb (Elist26, Set_Elist26): New subprograms
11111
11112 2009-04-09  Javier Miranda  <miranda@adacore.com>
11113
11114         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
11115         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
11116         tagged types.
11117
11118 2009-04-09  Robert Dewar  <dewar@adacore.com>
11119
11120         * s-direio.adb: Minor reformatting
11121
11122         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
11123
11124 2009-04-09  Robert Dewar  <dewar@adacore.com>
11125
11126         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
11127
11128 2009-04-09  Pascal Obry  <obry@adacore.com>
11129
11130         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
11131         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
11132         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
11133         a-filico.ads: Add some missing overriding keywords.
11134
11135 2009-04-09  Pascal Obry  <obry@adacore.com>
11136
11137         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
11138         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
11139         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
11140         reformatting.
11141
11142 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
11143
11144         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
11145         missing overriding indicator if the new declaration is not seen as
11146         primitive.
11147
11148 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11149
11150         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
11151         overflows in computation of bounds.
11152
11153 2009-04-09  Pascal Obry  <obry@adacore.com>
11154
11155         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
11156         typos in comment.
11157
11158 2009-04-09  Robert Dewar  <dewar@adacore.com>
11159
11160         * sem_attr.adb (Check_Stream_Attribute): Check violation of
11161         restriction No_Streams
11162
11163         * gnat_rm.texi: Clarify No_Streams restriction
11164
11165         * g-socket.adb: Minor reformatting.
11166
11167 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11168
11169         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
11170
11171 2009-04-09  Geert Bosch  <bosch@adacore.com>
11172
11173         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
11174         (Set_Result): Likewise.
11175         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
11176         conversion, as required by RM 4.6(31).
11177
11178 2009-04-08  Robert Dewar  <dewar@adacore.com>
11179
11180         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
11181         suppressed.
11182         
11183         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
11184         resolution steps.
11185
11186 2009-04-08  Robert Dewar  <dewar@adacore.com>
11187
11188         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
11189         No_Local_Allocators restriction preventing local instantiation.
11190
11191 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11192
11193         * sem_eval.adb: Minor comment fix
11194
11195 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11196
11197         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
11198         New limited controlled type used to automate the initialization and
11199         finalization of the sockets implementation.
11200         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
11201
11202 2009-04-08  Vincent Celier  <celier@adacore.com>
11203
11204         * prj-attr.adb: New read-only project-level attribute Project_Dir
11205
11206         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
11207         read-only attribute of the same name.
11208         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
11209         (Recursive_Process): Ditto
11210
11211         * snames.adb: Add new standard name Project_Dir
11212
11213         * snames.ads: Add new standard name Project_Dir
11214
11215 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11216
11217         * checks.adb: Minor reformatting
11218
11219 2009-04-08  Vincent Celier  <celier@adacore.com>
11220
11221         * vms_data.ads: Add documentation for new style keyword
11222         OVERRIDING_INDICATORS
11223
11224 2009-04-08  Robert Dewar  <dewar@adacore.com>
11225
11226         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
11227         spec is in the current unit.
11228
11229 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11230
11231         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
11232         presence of entity.
11233
11234         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
11235
11236 2009-04-08  Vincent Celier  <celier@adacore.com>
11237
11238         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
11239
11240 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11241
11242         * checks.ads: Minor reformatting
11243
11244 2009-04-08  Robert Dewar  <dewar@adacore.com>
11245
11246         * gnat_rm.texi: Update documentation of pragma Obsolescent
11247         
11248         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
11249         be omitted, and allow Entity parameter to be omitted.
11250
11251 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11252
11253         * exp_util.adb: Minor comment fix
11254
11255 2009-04-08  Robert Dewar  <dewar@adacore.com>
11256
11257         * g-socket.ads: Fix bad syntax in pragma Obsolescent
11258
11259         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
11260         argument with no identifier following one that has an identifier. Was
11261         missed in some cases.
11262
11263         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
11264         identifier.
11265         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
11266
11267         * snames.adb: Add Name_Policy
11268
11269         * snames.ads: Add Name_Policy
11270
11271 2009-04-08  Robert Dewar  <dewar@adacore.com>
11272
11273         * gnat_rm.texi: Minor reformatting
11274
11275         * par-ch2.adb: Minor reformatting
11276
11277 2009-04-08  Robert Dewar  <dewar@adacore.com>
11278
11279         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
11280
11281 2009-04-08  Robert Dewar  <dewar@adacore.com>
11282
11283         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
11284         properly in the presence of Remote_Types or Remote_Call_Interface.
11285
11286         * sem_util.adb: Add comment.
11287
11288 2009-04-08  Robert Dewar  <dewar@adacore.com>
11289
11290         * ug_words: Add /ASSUME_VALID for -gnatB
11291
11292         * vms_data.ads: Add /ASSUME_VALID for -gnatB
11293
11294         * sem_cat.adb: Add clarifying commment
11295
11296         * a-direio.ads (Bytes): Make sure value is non-zero
11297
11298 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11299
11300         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
11301         that does not come from source, check for a rewritten function call in
11302         prefixed notation before other forms of rewriting.
11303
11304 2009-04-08  Robert Dewar  <dewar@adacore.com>
11305
11306         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
11307         these are now obsolescent units used only for bootrapping with an
11308         older compiler.
11309
11310 2009-04-08  Robert Dewar  <dewar@adacore.com>
11311
11312         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
11313
11314         * sem_ch3.adb: Minor comment updates
11315
11316 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11317
11318         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
11319         that come from source.
11320
11321 2009-04-08  Tristan Gingold  <gingold@adacore.com>
11322
11323         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
11324         * gcc-interface/decl.c (prepend_attributes): New case
11325         Pragma_Thread_Local_Storage.
11326         * gcc-interface/utils.c (process_attributes): New case
11327         ATTR_THREAD_LOCAL_STORAGE.
11328
11329 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11330
11331         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
11332         by the back-end if it contains a call to a subprogram without a
11333         previous spec that is declared in the same unit.
11334
11335         * errout.ads: Update comments on uses of dirs
11336
11337 2009-04-08  Robert Dewar  <dewar@adacore.com>
11338
11339         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
11340
11341 2009-04-08  Tristan Gingold  <gingold@adacore.com>
11342
11343         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
11344         variables.
11345         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
11346
11347 2009-04-08  Vincent Celier  <celier@adacore.com>
11348
11349         * prj-nmsc.adb:
11350         (Add_Source): Add the mapping of the unit name to source file name in
11351         the Unit_Sources_HT hash table, if the unit name is not null.
11352
11353         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
11354
11355         * prj.ads (Unit_Sources_Htable): New hash table instantiation
11356         (Project_Tree_Data): New component Unit_Sources_HT
11357
11358 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11359
11360         * sem_ch8.adb: Minor reformatting.
11361         Minor code reorganization.
11362
11363 2009-04-08  Robert Dewar  <dewar@adacore.com>
11364
11365         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
11366         snames.ads, freeze.adb, par-prag.adb: Add implementation of
11367         pragma Thread_Local_Storage, setting new flag
11368         Has_Pragma_Thread_Local_Storage in corresponding entities.
11369
11370 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11371
11372         * prj.ads: Update comment on switches file
11373
11374         * prj-nmsc.adb: Code clean up. Use renaming clauses.
11375
11376 2009-04-08  Robert Dewar  <dewar@adacore.com>
11377
11378         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
11379
11380 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11381
11382         * ali-util.adb: Minor comment fix
11383
11384 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11385
11386         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
11387         appears in a context clause, and the enclosing package is mentioned in
11388         a limited_with_clause.
11389         (Use_One_Type): Reject clause if type is still incomplete.
11390
11391 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11392
11393         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
11394         avoid copies of Source_Data variables when possible, since these
11395         involve calls to memcpy() which are done too many times.
11396
11397 2009-04-08  Robert Dewar  <dewar@adacore.com>
11398
11399         * exp_ch4.adb (Expand_Concatenate): Clean up code
11400
11401 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11402
11403         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
11404         type for the case of concatenating a constrained array indexed by an
11405         enumeration type.
11406
11407 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11408
11409         * sem_ch6.adb (Check_Conformance): when checking conformance of an
11410         operation that overrides an abstract operation inherited from an
11411         interface, return False if only one of the controlling formals is an
11412         access parameter.
11413
11414 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11415
11416         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
11417         mandated by AI05-105.
11418
11419 2009-04-07  Vincent Celier  <celier@adacore.com>
11420
11421         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
11422
11423 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11424
11425         * usage.adb: Minor fix in usage message.
11426
11427         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
11428         match declaration; the correct subtype is Node_Id, not Entity_Id,
11429         because the expected node kind is an identifier, not a defining
11430         identifier.
11431
11432         * switch-c.adb: Minor reformatting.
11433
11434         * uintp.adb: Minor reformatting.
11435
11436 2009-04-07  Robert Dewar  <dewar@adacore.com>
11437
11438         * exp_ch13.adb: Minor reformatting
11439
11440 2009-04-07  Robert Dewar  <dewar@adacore.com>
11441
11442         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
11443         against missing parent.
11444
11445 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11446
11447         * xoscons.adb: Minor reformatting
11448
11449 2009-04-07  Robert Dewar  <dewar@adacore.com>
11450
11451         * rtsfind.ads: Remove obsolete string concatenation entries
11452
11453 2009-04-07  Robert Dewar  <dewar@adacore.com>
11454
11455         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
11456
11457 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11458
11459         * sem_ch10.adb (Check_Body_Required): Handle properly imported
11460         subprograms.
11461
11462 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
11463
11464         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
11465         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
11466         is of a scalar or string type then suppress the setting of the
11467         expression to Empty.
11468
11469         * freeze.adb (Warn_Overlay): Also emit the warnings about default
11470         initialization for the cases of scalar and string objects when
11471         Init_Or_Norm_Scalars is True.
11472
11473 2009-04-07  Bob Duff  <duff@adacore.com>
11474
11475         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
11476
11477 2009-04-07  Bob Duff  <duff@adacore.com>
11478
11479         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
11480         Form parameter of Text_Translation=No allows binary mode for Text_IO
11481         files.
11482
11483         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
11484
11485 2009-04-07  Javier Miranda  <miranda@adacore.com>
11486
11487         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
11488         processing the bounds for bit packed arrays or VM target machines.
11489
11490 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11491
11492         * g-sothco.ads (Int_Access): Remove extraneous access type (use
11493         anonymous access instead).
11494         (Get_Socket_From_Set): Fix incorrectly reverted formals
11495         Last and Socket to match the underlying C routine.
11496
11497         * g-socket.adb, g-socket.ads
11498         (Get): Use named parameter associations instead of positional ones in
11499         call go Get_Socket_From_Set, since this routine has two formals of the
11500         same type.
11501         (Image): New procedure.
11502
11503         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11504         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
11505         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
11506         for type of Arg formal.
11507
11508         * sem_warn.adb: Minor reformatting
11509
11510 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11511
11512         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
11513         over record components.
11514
11515 2009-04-07  Nicolas Roche  <roche@adacore.com>
11516
11517         * gsocket.h:
11518         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
11519         has disappeared between VxWorks 6.4 and VxWorks 6.5
11520         In RTP mode use time.h instead of times.h
11521
11522 2009-04-07  Robert Dewar  <dewar@adacore.com>
11523
11524         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
11525
11526 2009-04-07  Kevin Pouget  <pouget@adacore.com>
11527
11528         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
11529         expanded code for constrained types.
11530
11531 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11532
11533         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
11534         AI05-105: in an object renaming declaration, anonymousness is a name
11535         resolution rule.
11536
11537         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
11538
11539 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11540
11541         * g-comlin.adb (Expansion): Fix old regression: also return directory
11542         names when matching.
11543
11544 2009-04-07  Robert Dewar  <dewar@adacore.com>
11545
11546         * exp_ch4.adb:
11547         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
11548         (Expand_Concatenate): New name for Expand_Concatenate_String which has
11549         been rewritten to handle all types.
11550         (Expand_Concatenate_Other): Remove
11551
11552 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11553
11554         * lib-xref.adb (Generate_Reference): A default subprogram in an
11555         instance appears within the tree for the instance, but generates an
11556         implicit reference in the ALI.
11557
11558 2009-04-07  Javier Miranda  <miranda@adacore.com>
11559
11560         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
11561         derived type that has discriminants, propagate the list of interfaces
11562         to the corresponding new base type. In addition, propagate also
11563         attribute Limited_Present (found working in this patch).
11564
11565 2009-04-07  Robert Dewar  <dewar@adacore.com>
11566
11567         * exp_ch4.adb: Rewrite concatenation expansion.
11568
11569 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11570
11571         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
11572         relevant to packages.
11573
11574 2009-04-07  Robert Dewar  <dewar@adacore.com>
11575
11576         * sem_attr.adb: Minor reformatting
11577
11578         * sem_ch6.adb: Minor reformatting
11579
11580 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11581
11582         * socket.c: Add more protections against S_resolvLib_ macros.
11583
11584 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11585
11586         * sem_attr.adb: Minor reformatting
11587
11588 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11589
11590         * sem_ch6.adb (New_Overloaded_Entity): New predicate
11591         Is_Overriding_Alias to handle properly types that inherit two homonym
11592         operations that have distinct dispatch table entries.
11593
11594 2009-04-07  Emmanuel Briot  <briot@adacore.com>
11595
11596         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
11597         looking for the end of a parenthesis group
11598
11599 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11600
11601         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
11602
11603         * socket.c Don't use resolvLib_ macros if not defined.
11604
11605 2009-04-07  Robert Dewar  <dewar@adacore.com>
11606
11607         * g-socket.adb: Minor reformatting.
11608
11609         * g-socthi-mingw.adb: Minor reformatting
11610
11611         * g-sothco.ads: Minor reformatting
11612
11613         * exp_ch4.adb:
11614         (Expand_Concatenate_String): Complete rewrite to generate efficient code
11615         inline instead of relying on external library routines.
11616
11617         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
11618         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
11619         obsolescent
11620
11621 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11622
11623         * sem_attr.adb:
11624         (Eval_Attribute): for attributes of array objects that are not strings,
11625         attributes are not static if nominal subtype of object is unconstrained.
11626
11627 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11628
11629         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
11630         operations for a type T in an instance do not override each other,
11631         when T is derived from a formal private type, the corresponding
11632         operations inherited by a type derived from T outside
11633         of the instance do not override each other either.
11634
11635 2009-04-07  Robert Dewar  <dewar@adacore.com>
11636
11637         (Osint.Fail): Change calling sequence to have one string arg
11638         (Make.Make_Failed): Same change
11639         All callers are adjusted to use concatenation
11640
11641 2009-04-07  Robert Dewar  <dewar@adacore.com>
11642
11643         * exp_ch4.adb: Fix documentation typo
11644
11645 2009-04-07  Robert Dewar  <dewar@adacore.com>
11646
11647         * tbuild.ads: Minor reformatting
11648
11649 2009-04-07  Javier Miranda  <miranda@adacore.com>
11650
11651         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
11652         when compiling under ZFP runtime.
11653
11654 2009-04-07  Robert Dewar  <dewar@adacore.com>
11655
11656         * g-comlin.adb: Minor reformatting
11657
11658 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11659
11660         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11661         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
11662         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
11663         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
11664
11665 2009-04-07  Robert Dewar  <dewar@adacore.com>
11666
11667         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
11668
11669         * opt.ads (Sprint_Line_Limit): New parameter
11670         
11671         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
11672         
11673         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
11674         
11675         * usage.adb: Output information for -gnatGnn -gnatDnn
11676
11677 2009-04-07  Robert Dewar  <dewar@adacore.com>
11678
11679         * make.adb: Minor reformatting
11680
11681 2009-04-07  Robert Dewar  <dewar@adacore.com>
11682
11683         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
11684
11685 2009-04-07  Robert Dewar  <dewar@adacore.com>
11686
11687         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
11688
11689 2009-04-07  Robert Dewar  <dewar@adacore.com>
11690
11691         * checks.adb:
11692         Remove Assume_Valid parameter from In_Subrange_Of calls
11693         
11694         * sem_eval.adb:
11695         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11696         (Is_In_Range): Remove incorrect use of Assume_Valid
11697         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
11698         
11699         * sem_eval.ads:
11700         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11701         (Is_In_Range): Documentation cleanup
11702         (Is_Out_Of_Range): Documentation cleanup
11703
11704         * gnat_rm.texi:
11705         Add documentation for Assume_No_Invalid_Values pragma
11706
11707         * sem_ch12.adb: Minor reformatting
11708
11709         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
11710
11711         * sem_prag.adb: Improve error message.
11712
11713         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
11714         LF/CR no longer recognized as line terminator
11715
11716         * switch.ads: Minor documentation improvement
11717
11718         * vms_data.ads: Minor reformatting
11719
11720 2009-04-07  Robert Dewar  <dewar@adacore.com>
11721
11722         * checks.adb (Determine_Range): Add Assume_Valid parameter
11723         
11724         * checks.ads (Determine_Range): Add Assume_Valid parameter
11725         
11726         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
11727          Is_Null_Loop to suppress warnings in a loop body.
11728         
11729         * exp_ch4.adb:
11730         (Rewrite_Comparison): Major rewrite to accomodate invalid values
11731         
11732         * exp_ch5.adb:
11733         (Expand_N_Loop_Statement): Delete loop known not to execute
11734         
11735         * opt.ads:
11736         (Assume_No_Invalid_Values): Now set to False, and as documented, this
11737          fully enables the proper handling of invalid values.
11738         
11739         * sem_attr.adb:
11740         New calling sequence for Is_In_Range
11741         
11742         * sem_ch5.adb:
11743         (Analyze_Iteration_Scheme): Accomodate possible invalid values
11744          in determining if a loop range is null.
11745         
11746         * sem_eval.adb:
11747         (Is_In_Range): Add Assume_Valid parameter
11748         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11749         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
11750          also to do more accurate and complete range analysis, catching more
11751          cases.
11752         
11753         * sem_eval.ads:
11754         (Is_In_Range): Add Assume_Valid parameter
11755         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11756         
11757         * sem_util.adb:
11758         New calling sequence for Is_In_Range
11759         
11760         * sinfo.adb:
11761         (Suppress_Loop_Warnings): New flag
11762         
11763         * sinfo.ads:
11764         (Is_Null_Loop): Update documentation
11765         (Suppress_Loop_Warnings): New flag
11766         
11767         * gnat_ugn.texi: Document -gnatB switch
11768
11769 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11770
11771         * gnatvsn.ads: Bump version number.
11772
11773 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11774
11775         * exp_ch3.adb: Minor rewording (comments)
11776
11777 2009-04-07  Robert Dewar  <dewar@adacore.com>
11778
11779         * exp_disp.adb: Minor reformatting
11780
11781 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11782
11783         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
11784         underlying type.
11785         * gcc-interface/trans.c (lvalue_required_p): Likewise.
11786
11787 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11788
11789         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
11790         Do not convert the result.  Remove obsolete comment.
11791
11792 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11793
11794         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
11795         DECL_CONTEXT.
11796         (Subprogram_Body_to_gnu): Fix pasto.
11797
11798 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11799
11800         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
11801         (void_type_decl_node): Remove.
11802         (init_gigi_decls): Likewise.
11803         (gnat_install_builtins): Declare.
11804         (record_builtin_type): Likewise.
11805         (create_type_stub_decl): Likewise.
11806         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
11807         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
11808         artificial.
11809         <E_Array_Subtype>: Use the index types, not only their name, in the
11810         record giving the names of the bounds, if any.
11811         For a packed array type, make it artificial only if the base type
11812         was artificial as well.  Remove redundant statement.
11813         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
11814         dummy types.
11815         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
11816         (rest_of_type_decl_compilation_no_defer): Likewise.
11817         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
11818         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
11819         and use create_type_stub_decl to build it.
11820         (gnat_pushdecl): Rewrite condition.
11821         (gnat_install_builtins): Remove bogus declaration.
11822         (record_builtin_type): New function.
11823         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
11824         of types.
11825         (create_type_stub_decl): New function.
11826         (create_type_decl): Assert that the type is not dummy.  If the type
11827         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
11828         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
11829         (build_vms_descriptor): Likewise.
11830         (init_gigi_decls): Delete and move bulk of code to...
11831         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
11832         (emit_range_check): Add gnat_node parameter.
11833         (emit_index_check): Likewise.
11834         (emit_check): Likewise.
11835         (build_unary_op_trapv): Likewise.
11836         (build_binary_op_trapv): Likewise.
11837         (convert_with_check): Likewise.
11838         (Attribute_to_gnu): Adjust calls for above changes.
11839         (call_to_gnu): Likewise.
11840         (gnat_to_gnu): Likewise.
11841         (assoc_to_constructor): Likewise.
11842         (pos_to_constructor): Likewise.
11843         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
11844         (process_type): Do not create TYPE_DECL for dummy types.
11845
11846 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11847
11848         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
11849         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
11850         * gcc-interface/utils.c: Fix comments.
11851
11852 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11853
11854         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
11855         move around.
11856         (gnat_to_gnu_type): Move around.
11857         (get_unpadded_type): Likewise.
11858         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
11859         Tidy comments.
11860
11861 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11862
11863         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
11864         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
11865         (call_to_gnu): Invoke it instead of manually checking.
11866
11867 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
11868
11869         * gcc-interface/utils.c (finish_record_type): Force structural equality
11870         checks if the record type is discriminated.
11871
11872 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
11873
11874         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
11875         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
11876         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
11877         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
11878         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
11879         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
11880         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
11881
11882 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
11883
11884         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
11885         of TREE_CONSTANT_OVERFLOW.
11886
11887 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
11888
11889         PR rtl-optimization/323
11890         * gcc-interface/misc.c (gnat_post_options): Set
11891         flag_excess_precision_cmdline.  Give an error for
11892         -fexcess-precision=standard for processors where the option is
11893         significant.
11894
11895 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
11896
11897         PR c/39323
11898         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
11899         on bit_align.
11900
11901 2009-03-11  Olivier Hainque  <hainque@adacore.com>
11902
11903         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
11904         checks processing, remove unintended TREE_TYPE walk on index type.
11905
11906 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
11907
11908         PR ada/39264
11909         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
11910         call make_packable_type on fat pointer types.
11911         <E_Array_Subtype>: Likewise.
11912         <E_Record_Subtype>: Call make_packable_type on all record types
11913         except for fat pointer types.
11914         (make_packable_type): Likewise.
11915         (gnat_to_gnu_field): Likewise.
11916
11917 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
11918
11919         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
11920         EH_MECHANISM change made on 2007-12-06.
11921
11922 2009-02-26  Andreas Schwab  <schwab@suse.de>
11923
11924         PR ada/39172
11925         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
11926         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
11927         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
11928         (AWK): Substitute.
11929         (target_cpu_default): Substitute.
11930
11931 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
11932
11933         PR ada/39221
11934         * a-teioed.adb (Expand): Fix Result overflow.
11935
11936 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
11937
11938         * gcc-interface/Makefile.in: Fix multilib handling for
11939         sparc64-linux.
11940
11941 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11942
11943         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
11944
11945 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
11946
11947         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
11948
11949 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
11950
11951         * gcc-interface/deftarg.c: Remove.
11952
11953 2009-02-10  Olivier Hainque  <hainque@adacore.com>
11954             Eric Botcazou  <ebotcazou@adacore.com>
11955
11956         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
11957         (copy_alias_set): Rename into...
11958         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
11959         underlying array of unconstrained arrays for the new type as well.
11960         If the old and new alias sets don't conflict, make one a subset of
11961         the other as per the OP parameter.
11962         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
11963         <E_Record_Type>: Do not copy the alias set for derived types.
11964         For all types, make the alias set of derived types a superset of
11965         that of their parent type.
11966         (make_aligning_type): Adjust calls to copy_alias_set.
11967         (make_packable_type): Likewise.
11968         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
11969         Check for alias set conflict instead of strict equality to issue the
11970         warning.
11971
11972 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
11973
11974         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
11975         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
11976         (copy_alias_set): Assert that arrays have the same aliasing settings.
11977         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
11978
11979 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
11980
11981         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
11982         Set TYPE_NONALIASED_COMPONENT on the array type.
11983
11984 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
11985
11986         * gcc-interface/Makefile.in: Fix mipsel linux handling.
11987
11988 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
11989
11990         * gcc-interface/Makefile.in: Fix multilib handling for
11991         powerpc64-linux.
11992
11993 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
11994
11995         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
11996         only useless conversions around renamed objects.
11997
11998 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
11999
12000         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
12001         the _Tag field before any discriminants in the field list.
12002         (components_to_record): Remove obsolete comment.
12003
12004
12005 \f
12006 Copyright (C) 2009 Free Software Foundation, Inc.
12007
12008 Copying and distribution of this file, with or without modification,
12009 are permitted in any medium without royalty provided the copyright
12010 notice and this notice are preserved.