OSDN Git Service

cdf787f6a5481798a5b1d1ea2199b7fff877d014
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2009-11-30  Robert Dewar  <dewar@adacore.com>
2
3         * osint.adb, prj-nmsc.adb, sem_prag.adb, sem_util.adb: Minor
4         reformatting.
5         * csinfo.adb: Terminate run if improper use of reserved flag
6         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): Don't use reserved
7         Flag12, used Flag13 instead.
8         
9 2009-11-30  Vincent Celier  <celier@adacore.com>
10
11         * gnatcmd.adb (Check_Files): Recognize documented switches that have a
12         separate parameter.
13
14 2009-11-30  Robert Dewar  <dewar@adacore.com>
15
16         * sem_util.ads: Minor reformatting
17         * errout.adb: Minor reformatting
18         Minor code reorganization (use N_Subprogram_Specification to simplify)
19         * exp_ch7.adb: Add comment.
20
21 2009-11-30  Thomas Quinot  <quinot@adacore.com>
22
23         * put_scos.adb (Put_SCOs): Do not generate a SCO unit header for a unit
24         that has no SCOs.
25         * scos.ads: Minor reformatting
26
27 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
28
29         * sem_prag.adb: Second unanalyzed parameter of Annotate is optional.
30
31 2009-11-30  Eric Botcazou  <ebotcazou@adacore.com>
32
33         * init.c (__gnat_adjust_context_for_raise, Linux version): Add guard
34         for null PC saved in the context.
35
36 2009-11-30  Hristian Kirtchev  <kirtchev@adacore.com>
37
38         * a-calend.adb (Day_Of_Week): Rewritten. The routine determines the
39         number of days from the Ada Epoch to the input date while ensuring that
40         both dates are in the same time zone.
41
42 2009-11-30  Emmanuel Briot  <briot@adacore.com>
43
44         * clean.adb ("-eL"): Also set Follow_Links_For_Dirs, to match what is
45         done in other project-aware tools like gnatmake and gprbuild.
46
47 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
48
49         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Take care of CIL
50         ValueTypes.
51         * exp_ch7.adb (Needs_Finalization): Do not finalize CIL valuetypes.
52         * sem_util.adb (Is_Value_Type): Protect against invalid calls to Chars
53         (Is_Delegate): New method used for CIL.
54         * sem_util.ads (Is_Delegate): New method for CIL handling.
55         (Is_Value_Type): Improve documentation.
56
57 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
58
59         * errout.adb (Unwind_Internal_Type): Improve error reporting if the
60         type is an anonymous access to subprogram that is the type of a formal
61         in a subprogram spec.
62
63 2009-11-30  Vincent Celier  <celier@adacore.com>
64
65         * prj-nmsc.adb (Check_Interfaces): In a Stand-Alone Library project, if
66         attribute Interfaces is not declared, then Library_Interface should
67         define the interfaces.
68
69 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
70
71         * sem_prag.adb: New semantics for Annotate.
72
73 2009-11-30  Tristan Gingold  <gingold@adacore.com>
74
75         * gcc-interface/Makefile.in: Do not link with -static-libgcc on Darwin.
76
77 2009-11-30  Emmanuel Briot  <briot@adacore.com>
78
79         * gnat_ugn.texi: Extend doc for -eL
80
81 2009-11-30  Vincent Celier  <celier@adacore.com>
82
83         * osint.adb (Executable_Name (File_Name_Type)): Put the Name in the
84         Name_Buffer before testing for a dot in the Name.
85
86 2009-11-30  Vincent Celier  <celier@adacore.com>
87
88         * prj-part.adb (Project_Path_Name_Of): Resolve links for final result
89         if -eL has been specified.
90
91 2009-11-30  Vincent Celier  <celier@adacore.com>
92
93         * osint.adb (Executable_Name): Test the name instead of the name buffer
94         to check if there is a dot in the given name.
95
96 2009-11-30  Sergey Rybin  <rybin@adacore.com>
97
98         * gnat_ugn.texi: Update gnatcheck doc.
99
100 2009-11-30  Robert Dewar  <dewar@adacore.com>
101
102         * sem_ch3.adb, sem_disp.adb, usage.adb: Minor reformatting
103
104 2009-11-30  Vasiliy Fofanov  <fofanov@adacore.com>
105
106         * gnat_ugn.texi: Minor editing.
107
108 2009-11-30  Emmanuel Briot  <briot@adacore.com>
109
110         * prj-nmsc.adb (Search_Directories): when -eL was not specified, assume
111         that no directory matches the naming scheme for sources.
112
113 2009-11-30  Emmanuel Briot  <briot@adacore.com>
114
115         * prj.adb, prj.ads, prj-nmsc.adb (Has_Multi_Unit_Sources): New field in
116         project_data.
117
118 2009-11-30  Vincent Celier  <celier@adacore.com>
119
120         * osint.adb (Executable_Name): Correctly decide if the executable
121         suffix should be added when Only_If_No_Suffix is True.
122
123 2009-11-30  Robert Dewar  <dewar@adacore.com>
124
125         * frontend.adb, gnatlink.adb, prj-conf.adb, prj-tree.adb,
126         prj-tree.ads: Minor reformatting
127
128 2009-11-30  Vincent Celier  <celier@adacore.com>
129
130         * gnatlink.adb (Process_Args): Call Executable_Name on argument of -o
131         with Only_If_No_Suffix set to True.
132         * osint.adb (Executable_Name): Do not add executable suffix if there is
133         already a suffix and Only_If_No_Suffix is True.
134         * osint.ads (Executable_Name): New Boolean parameter Only_If_No_Suffix,
135         defaulted to False.
136
137 2009-11-30  Javier Miranda  <miranda@adacore.com>
138
139         * exp_atag.adb (Build_TSD): Change argument name because the actual is
140         now the address of a tag (instead of the tag). Update implementation
141         accordingly.
142         (Build_CW_Membership): New implementation. Converted into a procedure
143         because it has an additional out mode parameter. Its implementation has
144         been rewritten to improve the generated code but also to facilitate
145         referencing the relocated object node in the caller.
146         * exp_atag.ads (Build_CW_Membership): Update profile and documentation.
147         * sinfo.ads (N_SCIL_Membership_Test) New_Node.
148         (SCIL_Tag_Value): New field of N_SCIL_Membership_Test nodes.
149         (Is_Syntactic_Field): Add entry of new node.
150         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
151         * sinfo.adb (SCIL_Related_Node, SCIL_Entity): Update assertions to
152         handle N_SCIL_Membership_Test nodes.
153         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
154         * sem.adb (Analyze): Add null management for new node.
155         * sem_scil.adb (Find_SCIL_Node): Add null management for new node.
156         (Check_SCIL_Node): Add checks of N_SCIL_Membership_Test nodes.
157         * exp_ch4.adb (Tagged_Membership): Change profile from function to
158         procedure. Add generation of SCIL node associated with class-wide
159         membership test.
160         (Expand_N_In): Complete decoration of SCIL nodes.
161         * exp_intr.adb (Expand_Dispatching_Constructor_Call): Tune call to
162         Build_CW_Membership because its profile has been changed.
163         * exp_util.adb (Insert_Actions): Add null management for new node.
164         * sprint.adb (Sprint_Node_Actual): Handle new node.
165         * gcc-interface/trans.c Add no processing for N_SCIL_Membership_Test
166         nodes.
167         * gcc-interface/Make-lang.in: Update dependencies.
168
169 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
170
171         * opt.ads: New flags Init_Or_Norm_Scalars_Config,
172         Initialize_Scalars_Config, to capture the presence of the corresponding
173         pragmas in a configuration file.
174         * opt.adb (Register_, Save_, Set_, Restore_Opt_Configuration_Switches):
175         handle new flags so that they are restored for each compilation unit.
176         * frontend.adb: At the end of compilation, scan the context of the main
177         unit to recover occurrences of pragma Initialize_Scalars, to annotate
178         the ALI file accordingly.
179
180 2009-11-30  Vincent Celier  <celier@adacore.com>
181
182         * prj-tree.ads: Minor comment updates
183         * prj-tree.adb: Minor reformatting
184
185 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
186
187         * sem_ch3.adb (Derive_Subprogram): Indicate that an inherited
188         predefined control operation is hidden if the parent type is not
189         visibly controlled.
190         * sem_ch6.adb (Check_Overriding_Indicator): Do not report error if
191         overridden operation is not visible, as may be the case with predefined
192         control operations.
193         * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on
194         non-overriding control operation when type is not visibly controlled,
195         if the subprogram has an explicit overriding indicator.
196         * sem_util.ads, sem_util.adb (Is_Visibly_Controlled): Moved here from
197         sem_disp.adb.
198
199 2009-11-30  Emmanuel Briot  <briot@adacore.com>
200
201         * prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows
202         * prj-attr.ads: Minor comment updates
203
204 2009-11-30  Robert Dewar  <dewar@adacore.com>
205
206         * gnat_rm.texi: Document pragma Short_Circuit
207
208 2009-11-30  Emmanuel Briot  <briot@adacore.com>
209
210         * prj-conf.adb, prj-tree.adb, prj-tree.ads (Create_Attribute): Now set
211         the index either on the attribute or on its value, depending on the
212         kind of the attribute. Done to match recent changes in Prj.PP that were
213         not synchronized with this function.
214
215 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
216
217         * gcc-interface/Make-lang.in: Fix typo.
218         Update dependencies.
219
220 2009-11-30  Robert Dewar  <dewar@adacore.com>
221
222         * gnat_rm.texi: Add documentation for attribute Result.
223
224 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
225
226         * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
227         s-osinte-tru64.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads
228         (Get_Page_Size): Update comment since Get_Page_Size is now required.
229
230 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
231
232         * freeze.adb: Disable Warning on VM targets concerning C Imports, not
233         relevant.
234
235 2009-11-30  Bob Duff  <duff@adacore.com>
236
237         * sprint.adb (Source_Dump): Minor comment fix.
238         (Write_Itype): When writing a string literal subtype, use Expr_Value
239         instead of Intval to get the low bound.
240
241 2009-11-30  Vincent Celier  <celier@adacore.com>
242
243         * gnatlink.adb (Process_Args): Do not call Executable_Name on arguments
244         of switch -o.
245
246 2009-11-30  Robert Dewar  <dewar@adacore.com>
247
248         * exp_ch4.adb (Expand_N_Op_And): Implement pragma Short_Circuit_And_Or
249         (Expand_N_Op_Or): Implement pragma Short_Circuit_And_Or
250         * opt.ads (Short_Circuit_And_Or): New flag
251         * par-prag.adb: Add dummy entry for pragma Short_Circuit_And_Or
252         * sem_prag.adb: Implement pragma Short_Circuit_And_Or
253         * snames.ads-tmpl: Add entries for pragma Short_Circuit_And_Or
254
255 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
256
257         * s-taprop-posix.adb: Fix casing.
258         * s-osinte-tru64.adb: Complete previous check-in.
259
260 2009-11-30  Robert Dewar  <dewar@adacore.com>
261
262         * gnat_rm.texi: Document pragma Compiler_Unit
263         * s-bitops.adb, s-restri.adb, g-htable.adb, s-restri.ads,
264         a-comlin.ads, a-strhas.ads, s-strhas.adb, s-parame.adb,
265         s-parame.ads, a-clrefi.adb, a-clrefi.ads, a-ioexce.ads: Supply missing
266         Compiler_Unit pragmas.
267         * freeze.adb (Freeze_Entity): Improve message for 8-bit boolean passed
268         to C.
269
270 2009-11-30  Robert Dewar  <dewar@adacore.com>
271
272         * makeutl.adb, makeutl.ads, prj-proc.adb, prj.adb, prj.ads: Minor
273         reformatting.
274
275 2009-11-30  Thomas Quinot  <quinot@adacore.com>
276
277         * osint.adb: Minor reformatting
278
279 2009-11-30  Vincent Celier  <celier@adacore.com>
280
281         * makeutl.ads, makeutl.adb (Base_Name_Index_For): New function to get
282         the base name of a main without the extension, with an eventual source
283         index.
284         (Mains.Get_Index): New procedure to set the source index of a main
285         (Mains.Get_Index): New function to get the source index of a main
286         * prj-attr.adb: New attributes Config_Body_File_Name_Index,
287         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
288         Multi_Unit_Switches.
289         * prj-nmsc.adb (Process_Compiler): Takle into account new attributes
290         Config_Body_File_Name_Index, Config_Spec_File_Name_Index,
291         Multi_Unit_Object_Separator and Multi_Unit_Switches.
292         Allow only one character for Multi_Unit_Object_Separator.
293         * prj-proc.adb (Process_Declarative_Items): Take into account the
294         source indexes in indexes of associative array attribute declarations.
295         * prj.adb (Object_Name): New function to get the object file name for
296         units in multi-unit sources.
297         * prj.ads (Language_Config): New components Multi_Unit_Switches,
298         Multi_Unit_Object_Separator Config_Body_Index and Config_Spec_Index.
299         (Object_Name): New function to get the object file name for units in
300         multi-unit sources.
301         * snames.ads-tmpl: New standard names Config_Body_File_Name_Index,
302         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
303         Multi_Unit_Switches.
304
305 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
306
307         * s-tassta.adb: Update comment.
308
309 2009-11-30  Robert Dewar  <dewar@adacore.com>
310
311         * a-ngelfu.adb: Minor code reorganization.
312
313 2009-11-30  Robert Dewar  <dewar@adacore.com>
314
315         * osint.ads, prj.adb, prj.ads: Minor reformatting
316         * s-stchop.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
317         s-taprop-vms.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
318         s-strxdr.adb, s-taprop-irix.adb, s-osinte-hpux-dce.adb,
319         s-osinte-tru64.adb, s-taenca.adb, s-taprop-hpux-dce.adb, s-stausa.adb,
320         s-taprop-posix.adb: Minor code reorganization (use conditional
321         expressions).
322
323 2009-11-30  Bob Duff  <duff@adacore.com>
324
325         * g-sttsne-locking.adb (Copy_Service_Entry): Complete previous change.
326
327 2009-11-30  Bob Duff  <duff@adacore.com>
328
329         * socket.c: Add more accessor functions for struct servent (need
330         setters as well as getters).
331         * g-sothco.ads (Servent): Declare interfaces to C setter functions for
332         struct servent.
333         * g-sttsne-locking.adb (Copy_Service_Entry): Use setter functions for
334         struct servent.
335
336 2009-11-30  Robert Dewar  <dewar@adacore.com>
337
338         * s-stchop-vxworks.adb: Add comment.
339
340 2009-11-30  Emmanuel Briot  <briot@adacore.com>
341
342         * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Now acts
343         on the whole tree, to better share code with gprbuild.
344         (Length): New subprogram, to share code in gprbuild.
345         (Project_Data): Remove fields that are only needed when compiling a
346         project in gprbuild (where we use local variables instead)
347         * osint.adb, osint.ads: Added minor comment on memory management
348
349 2009-11-30  Sergey Rybin  <rybin@adacore.com>
350
351         * gnat_ugn.texi: Update gnatcheck doc.
352
353 2009-11-30  Robert Dewar  <dewar@adacore.com>
354
355         make.adb, prj-makr.adb, g-sothco.ads: Minor reformattting
356         * s-taprop-dummy.adb: Minor code reorganization (raise with msgs start
357         with lower case).
358         * i-vxwoio.adb, g-dirope.adb, g-sercom-linux.adb,
359         g-enblsp-vms-alpha.adb, g-regist.adb, s-imgcha.adb, s-tarest.adb,
360         s-taprop-mingw.adb, g-exctra.adb, g-expect.adb, g-comlin.adb,
361         g-debpoo.adb, g-expect-vms.adb, g-pehage.adb, g-trasym-vms-alpha.adb,
362         g-enblsp-vms-ia64.adb, s-fatgen.adb, s-fileio.adb: Minor code
363         reorganization (use conditional expressions).
364
365 2009-11-30  Vincent Celier  <celier@adacore.com>
366
367         * prj-makr.adb (Source_Files): New hash table to keep track of source
368         file names.
369         (Finalize): Avoid putting several times the same source file name
370         in the source list file.
371         * prj-pp.adb (Print): Fix a bug in the placement of "at nn" for
372         associative array indexes.
373
374 2009-11-30  Robert Dewar  <dewar@adacore.com>
375
376         * g-dyntab.ads: Add missing pragma Compiler_Unit
377
378 2009-11-30  Thomas Quinot  <quinot@adacore.com>
379
380         * s-crtrun.ads, s-crtl.ads, g-stseme.adb, Makefile.rtl, s-fileio.adb
381         (System.CRTL.Runtime): New unit, to contain parts of s-crtl that are
382         used in the Ada runtime but can't be used in the compiler because of
383         bootstrap issues.
384         * socket.c, s-oscons-tmplt.c, g-sothco.ads
385         (System.OS_Constants.SIZEOF_struct_servent): New constant.
386         Use s-oscons constant instead of external variable to get size of
387         struct hostent.
388
389 2009-11-30  Thomas Quinot  <quinot@adacore.com>
390
391         * s-crtl.ads, g-stseme.adb, s-fileio.adb (System.CRTL.strerror): Change
392         return type to Interfaces.C.Strings.chars_ptr to eliminate need for
393         dubious unchecked conversion at call sites.
394         * s-errrep.adb, s-errrep.ads, Makefile.rtl (System.Error_Reporting):
395         Remove obsolete, unused runtime unit.
396         * gcc-interface/Make-lang.in: Update dependencies.
397         * gcc-interface/Makefile.in: Remove VMS specialization of s-crtl, not
398         required anymore.
399
400 2009-11-30  Vincent Celier  <celier@adacore.com>
401
402         * gnatlink.adb: Delete an eventual existing executable file, in case it
403         is a symbolic link, to avoid modifying the target of the symbolic link.
404
405 2009-11-30  Bob Duff  <duff@adacore.com>
406
407         * socket.c: Add accessor functions for struct servent.
408         * g-sothco.ads (Servent): Declare interfaces to C accessor functions
409         for struct servent.
410         * g-socket.adb (To_Service_Entry): Use accessor functions for struct
411         servent.
412
413 2009-11-30  Robert Dewar  <dewar@adacore.com>
414
415         * g-arrspl.adb: Minor reformatting
416         * g-dyntab.adb: Add missing pragma Compiler_Unit
417
418 2009-11-30  Thomas Quinot  <quinot@adacore.com>
419
420         * s-crtl.ads, s-oscons-tmplt.c: Fix support for VMS
421         * make.adb, g-comlin.ads, exp_ch6.adb: Minor reformatting
422
423 2009-11-30  Robert Dewar  <dewar@adacore.com>
424
425         * bcheck.adb, gnatlink.adb, make.adb, makeutl.adb, osint.adb,
426         osint.ads, prj-ext.adb, sem_case.adb: Minor reformatting
427         * g-alleve.adb: Minor code reorganization (use conditional expressions)
428
429 2009-11-30  Matthew Heaney  <heaney@adacore.com>
430
431         * a-crbtgo.adb (Delete_Fixup): Changed always-true predicates to
432         assertions.
433
434 2009-11-30  Thomas Quinot  <quinot@adacore.com>
435
436         * a-tasatt.adb, s-crtl.ads, s-taprop-dummy.adb (System.CRTL.malloc32,
437         System.CRTL.realloc32): Remove VMS-specific routines.
438         (Ada.Task_Attributes.Reference): Remove unreachable code.
439         (System.Task_Primitives.Operations.Initialize, dummy version):
440         Use plain Program_Error rather than call to
441         System.Error_Reporting.Shutdown.
442
443 2009-11-30  Thomas Quinot  <quinot@adacore.com>
444
445         * s-oscons-tmplt.c, xoscons.adb: Add new constants in preparation for
446         sharing s-crtl across all platforms.
447
448 2009-11-30  Thomas Quinot  <quinot@adacore.com>
449
450         * s-commun.adb, s-commun.ads: New internal support unit,
451         allowing code sharing between GNAT.Sockets and
452         GNAT.Serial_Communication.
453         * g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
454         g-socket.adb (GNAT.Sockets.Last_Index): Move to System.Communication.
455         (GNAT.Serial_Communication.Read): Handle correctly the case where no
456         data was read, and Buffer'First = Stream_Element_Offset'First.
457         * Makefile.rtl: Add entry for s-commun
458         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
459         g-socthi-vxworks.ads, g-stseme.adb, g-socthi-mingw.ads,
460         g-socthi.adb, g-socthi.ads (GNAT.Sockets.Thin.Socket_Error_Message):
461         Reimplement in terms of System.CRTL.strerror.
462
463 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
464
465         * gcc-interface/utils.c (copy_type): Unshare the language-specific data
466         and the contents of the language-specific slot if needed.
467
468 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
469
470         * gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location
471         of the operator on both branches of the test in the generic case.
472
473 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
474
475         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...
476         (unchecked_conversion_nop): ...this.  Handle actual parameters.
477         (gnat_to_gnu): Adjust for above renaming.
478
479 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
480
481         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
482         Translate regular boolean types into BOOLEAN_TYPEs.
483
484 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
485
486         * sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype,
487         also set the flag on the Equivalent_Type.
488         * gcc-interface/utils.c (finish_record_type): Replace DO_NOT_FINALIZE
489         parameter with DEBUG_INFO_P.  Rename FIELDLIST into FIELD_LIST.
490         (rest_of_record_type_compilation): Rename FIELDLIST into FIELD_LIST.
491         (build_vms_descriptor32): Adjust call to finish_record_type.
492         (build_vms_descriptor): Likewise.
493         (build_unc_object_type): Likewise.
494         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
495         finish_record_type and components_to_record.
496         (make_packable_type): Adjust call to finish_record_type.
497         (maybe_pad_type): Likewise.  Tweak condition.
498         (components_to_record): Likewise.  Replace DO_NOT_FINALIZE parameter
499         with MAYBE_UNUSED.  Adjust recursive call.
500         (create_variant_part_from): Adjust call to finish_record_type.  Do not
501         call rest_of_record_type_compilation on the new record types.
502         * gcc-interface/trans.c (gigi): Adjust call to finish_record_type.
503         * gcc-interface/gigi.h (finish_record_type): Adjust prototype and
504         comment.
505         (rest_of_record_type_compilation): Adjust comment.
506
507 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
508
509         * exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as
510         frozen for targets that do not require front-end layout.
511         (New_Class_Wide_Subtype): Always reset the freezing status to False.
512         * exp_ch8.adb: Do not 'with' Targparm.
513         (Expand_N_Object_Renaming_Declaration): Always freeze a class-wide
514         subtype that has been built from the expression.
515         * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
516         class wide, freeze the implicit type that has been built from the
517         expression at the dereference point.
518         * freeze.adb (Freeze_Entity): Adjust comment.
519         * gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Class_Wide_Type>:
520         Remove useless test.
521         * gcc-interface/trans.c (process_freeze_entity): Do not special-case
522         class-wide subtypes.
523
524         * s-osinte-aix.adb (clock_gettime): Fix comment.
525         * s-osinte-darwin.adb (clock_gettime): Likewise.
526
527 2009-11-23  Eric Botcazou  <ebotcazou@adacore.com>
528
529         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Pass the list
530         of attributes when building the corresponding variable of a constant.
531         * gcc-interface/utils.c (create_var_decl_1): Do not process attributes
532         for constants.
533
534 2009-11-23  Laurent GUERBY  <laurent@guerby.net>
535             Eric Botcazou  <ebotcazou@adacore.com>
536
537         PR ada/42153
538         * s-osinte-linux.ads (struct_timeval): Delete.
539         * s-osinte-hpux.ads (struct_timeval, To_Duration, To_Timeval): Delete.
540         * s-osinte-kfreebsd-gnu.ads: Likewise.
541         * s-osinte-rtems.ads: Likewise.
542         * s-osinte-aix.ads: Likewise.
543         * s-osinte-hpux-dce.ads: Likewise.
544         * s-osinte-darwin.ads: Likewise.
545         * s-osinte-solaris-posix.ads: Likewise.
546         * s-osinte-irix.ads: Likewise.
547         * s-osinte-solaris.ads: Likewise.
548         * s-osinte-hpux-dce.adb (To_Duration, To_Timeval): Delete.
549         * s-osinte-irix.adb: Likewise.
550         * s-osinte-solaris.adb: Likewise.
551         * s-osinte-rtems.adb: Likewise.  Minor reformatting.
552         * s-osinte-aix.adb (To_Duration, To_Timeval): Delete.
553         (clock_gettime): Use cal.c's timeval_to_duration.
554         * s-osinte-darwin.adb: Likewise.
555
556 2009-11-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
557
558         * adaint.h: Assume large file support on IRIX only if _LFAPI.
559
560 2009-11-21  Laurent GUERBY  <laurent@guerby.net>
561             Eric Botcazou  <ebotcazou@adacore.com>
562
563         * s-osinte-linux.ads (struct_timeval, To_Duration, To_Timeval,
564         gettimeofday): Delete.
565         * s-osinte-posix.adb (To_Duration, To_Timeval): Delete.
566         * s-osprim-posix.adb (struct_timezone, struct_timeval, gettimeofday):
567         Delete.
568         (Clock): Use cal.c's timeval_to_duration.
569         * s-taprop-linux.adb (Monotonic_Clock): Likewise.
570
571 2009-11-12  Eric Botcazou  <ebotcazou@adacore.com>
572             Laurent GUERBY  <laurent@guerby.net>
573
574         * init.c (GNU/Linux Section): Enable for all architectures.
575
576 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
577
578         PR ada/20548
579         * system-linux-alpha.ads (Stack_Check_Probes): Set to true.
580         * system-linux-hppa.ads (Stack_Check_Probes): Likewise.
581         * system-linux-sparc.ads (Stack_Check_Probes): Likewise.
582         * system-linux-sparcv9.ads (Stack_Check_Probes): Likewise.
583
584 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
585
586         * system-linux-alpha.ads (AAMP, Compiler_System_Version, OpenVMS,
587         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
588         Delete.
589         (Stack_Check_Limits, Always_Compatible_Rep): New.
590         * system-linux-mips.ads (AAMP, Compiler_System_Version, OpenVMS,
591         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
592         Delete.
593         (Stack_Check_Limits, Always_Compatible_Rep): New.
594         * system-linux-mips64el.ads (AAMP, Compiler_System_Version, OpenVMS,
595         Functions_Return_By_DSP, Front_End_ZCX_Support, High_Integrity_Mode,
596         Long_Shifts_Inlined): Delete.
597         (Stack_Check_Limits, Always_Compatible_Rep): New.
598         * system-linux-mipsel.ads (AAMP, Compiler_System_Version, OpenVMS,
599         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
600         Delete.
601         (Stack_Check_Limits, Always_Compatible_Rep): New.
602         * system-linux-s390.ads (AAMP, Compiler_System_Version, OpenVMS,
603         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
604         Delete.
605         (Stack_Check_Limits, Always_Compatible_Rep): New.
606         * system-linux-s390x.ads (AAMP, Compiler_System_Version, OpenVMS,
607         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
608         Delete.
609         (Stack_Check_Limits, Always_Compatible_Rep): New.
610         * system-linux-sh4.ads (Stack_Check_Limits, Always_Compatible_Rep):
611         New.
612         * system-linux-sparc.ads (AAMP, Compiler_System_Version, OpenVMS,
613         Front_End_ZCX_Support): Delete.
614         (Stack_Check_Limits, Always_Compatible_Rep): New.
615         * system-linux-sparcv9.ads (AAMP, Compiler_System_Version, OpenVMS,
616         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
617         Delete.
618         (Stack_Check_Limits, Always_Compatible_Rep): New.
619         * system-rtems.ads (OpenVMS): Delete.
620         (Stack_Check_Limits, Always_Compatible_Rep): New.
621
622 2009-11-08  Eric Botcazou  <ebotcazou@adacore.com>
623
624         * gcc-interface/decl.c (make_packable_type): Fix oversight.
625         (gnat_to_gnu_field): Do not attempt to change the form of the type
626         if the field requires strict alignment.  Always change the form of
627         the type if the specified size is smaller than its size.
628
629 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
630
631         * gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes.
632
633 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
634
635         * gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>:
636         New case.
637
638 2009-10-30  Eric Botcazou  <ebotcazou@adacore.com>
639
640         * gcc-interface/utils.c (MAX_FIXED_MODE_SIZE): Delete.
641         (create_field_decl): Update description.  In a packed record, round
642         the size up to a byte boundary only if the field's type has BLKmode.
643         * gcc-interface/gigi.h (create_field_decl): Update description.
644
645 2009-10-30  Emmanuel Briot  <briot@adacore.com>
646
647         * make.adb (Start_Compile_If_Possible): Compute location of resulting
648         ALI file in this procedure instead of after the compilation itself,
649         since the current directory might have changed in between when using
650         -j<n>.
651
652         * osint.ads: Addded missing alignment clause.
653
654         * adaint.c, adaint.h, osint.adb (__gnat_reset_attributes,
655         __gnat_size_of_file_attributes): Rename reset_attributes and
656         size_of_file_attributes.
657
658 2009-10-30  Javier Miranda  <miranda@adacore.com>
659
660         * sem_scil.adb (Adjust_SCIL_Node): Add missing management of sequences
661         of statements when searching for SCIL nodes.
662
663 2009-10-30  Tristan Gingold  <gingold@adacore.com>
664
665         * gnatlink.adb, link.c: By default use shared libgcc on darwin.
666
667 2009-10-30  Emmanuel Briot  <briot@adacore.com>
668
669         * make.adb, osint.adb (Add_Lib_Search_Dir): Do not add if dir is
670         already in the list.
671         This saves system calls when looking for ALI files
672         (Scan_Make_Args): The parameter to gnatmake's -D is now converted to an
673         absolute PATH (so that the above improvement properly occurs if both
674         -D<dir> and -aO<dir> are specified).
675
676 2009-10-30  Thomas Quinot  <quinot@adacore.com>
677
678         * a-direct.adb: Minor reformatting
679
680 2009-10-30  Emmanuel Briot  <briot@adacore.com>
681
682         * make.adb, adaint.c, adaint.h, osint.adb, osint.ads, bcheck.adb
683         (*_attr): new subprograms.
684         (File_Length, File_Time_Stamp, Is_Writable_File): new subprograms
685         (Read_Library_Info_From_Full, Full_Library_Info_Name,
686         Full_Source_Name): Now benefit from a previous cache of the file
687         attributes, to further save on system calls.
688         (Smart_Find_File): now also cache the file attributes. This makes the
689         package File_Stamp_Hash_Table useless, and it was removed.
690         (Compile_Sources): create subprograms for the various steps of the main
691         loop, for readibility and to avoid sharing variables between the
692         various steps.
693
694 2009-10-30  Emmanuel Briot  <briot@adacore.com>
695
696         * make.adb, osint.adb, osint.ads (Library_File_Stamp): Removed, since
697         unused.
698         (Read_Library_Info_From_Full): New subprogram.
699
700 2009-10-30  Robert Dewar  <dewar@adacore.com>
701
702         * a-tideio.adb: Minor reformatting
703         * a-wtdeio.adb, a-ztdeio.adb: Update comments, code clean up.
704
705         * a-reatim.adb, a-tideau.adb, a-ngelfu.adb, a-ztdeau.adb, a-ngrear.adb,
706         a-wtedit.adb, a-ststio.adb, a-ztedit.adb: Minor code reorganization
707         (use conditional expressions).
708
709 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
710
711         * gnat_ugn.texi: Additional info on gnatw.i and gnatw.I
712
713         * sem_case.adb: Improved error message.
714
715 2009-10-30  Emmanuel Briot  <briot@adacore.com>
716
717         * a-direct.adb, gnatcmd.adb, gnatname.adb, makeutl.adb, opt.ads,
718         osint.adb, prj-ext.adb, switch-m.adb (Follow_Links_For_Dirs): Now
719         defaults to False, and controlled by -eL.
720         * a-direct.adb: Add comments.
721         * osint.adb (File_Stamp): Avoid unneeded duplicate system call
722
723 2009-10-30  Robert Dewar  <dewar@adacore.com>
724
725         * sem_res.adb (Resolve_Type_Conversion): Avoid false positive when
726         converting non-static subtype to "identical" static subtype.
727
728 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
729
730         * usage.adb: Add -gnatw.i switch.
731
732 2009-10-30  Vincent Celier  <celier@adacore.com>
733
734         * xsnamest.adb: Update comments with regards to the template files
735         snames.*.tmpl
736
737 2009-10-30  Bob Duff  <duff@adacore.com>
738
739         * s-fileio.adb (Errno_Message): Suppress VMS-specific warning.
740
741 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
742
743         * sem_case.adb (Check_Choices): Add explanatory message when there are
744         missing alternatives when the required range of alternatives is given
745         by the base type of the case expression or discriminant in a variant
746         part.
747
748         * opt.ads: New flag Warn_On_Overlap, to enable warnings on potentially
749         dangerous overlap between actuals in a call, activated by -gnatw.i
750         * sem_warn.adb (Set_Dot_Warning_Switch): set flag.
751         (Warn_On_Overlapping_Actuals): use new flag.
752
753         * gnat_ugn.texi: Document -gnatw.i, warning on overlapping actuals
754
755 2009-10-30  Robert Dewar  <dewar@adacore.com>
756
757         * exp_aggr.adb, exp_ch9.adb: Minor reformatting
758
759 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
760
761         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
762         create integer types with precision 0.
763
764 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
765
766         PR ada/41870
767         * gcc-interface/decl.c (array_type_has_nonaliased_component): Swap
768         parameters and rewrite comments.  For a derived type, return the
769         setting of its parent type.
770         (gnat_to_gnu_entity): Do an alias set copy for derived types if they
771         are composite.  Adjust calls to above function.
772
773 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
774
775         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Object_Size>: Do not
776         return the RM size for padded types.
777
778 2009-10-28  Robert Dewar  <dewar@adacore.com>
779
780         * sem_type.adb: Minor reformatting
781
782 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
783
784         * exp_ch9.adb (Build_Task_Proc_Specification): Generate a different
785         suffix for task type bodies.
786
787 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
788
789         * exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a
790         finalization list if the designated type requires no control actions,
791         to prevent a useless semantic dependence on ada.tags.
792
793 2009-10-28  Bob Duff  <duff@adacore.com>
794
795         * s-fileio.adb: Give more information in exception messages.
796
797 2009-10-28  Robert Dewar  <dewar@adacore.com>
798
799         * gnat_ugn.texi: Document new -gnatyt requirement for space after right
800         paren if next token starts with digit or letter.
801         * styleg.adb (Check_Right_Paren): New rule for space after if next
802         character is a letter or digit.
803
804 2009-10-28  Thomas Quinot  <quinot@adacore.com>
805
806         * s-crtl.ads (System.CRTL.strerror): New function.
807
808 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
809
810         * sem_type.adb: Add guard to recover some type errors.
811
812 2009-10-28  Vincent Celier  <celier@adacore.com>
813
814         * prj-nmsc.adb (Add_To_Or_Remove_From_List): New name of procedure
815         Add_If_Not_In_List to account to the fact that a directory may be
816         removed from the list. Only remove directory if Removed is True.
817
818 2009-10-28  Gary Dismukes  <dismukes@adacore.com>
819
820         * a-textio.ads, a-textio.ads: Put back function EOF_Char in private
821         part. Put back body of function EOF_Char.
822         * a-tienau.adb: Remove with of Interfaces.C_Streams and change EOF back
823         to EOF_Char.
824
825 2009-10-28  Emmanuel Briot  <briot@adacore.com>
826
827         * prj-tree.adb (Free): Fix memory leak.
828
829 2009-10-28  Thomas Quinot  <quinot@adacore.com>
830
831         * s-fileio.adb: Minor reformatting
832
833 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
834
835         * gcc-interface/Make-lang.in: Update dependencies.
836
837 2009-10-28  Robert Dewar  <dewar@adacore.com>
838
839         * exp_attr.adb, exp_ch9.adb, prj-nmsc.adb, tbuild.adb, ali.adb,
840         types.ads: Minor reformatting
841
842 2009-10-28  Tristan Gingold  <gingold@adacore.com>
843
844         * init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard)
845
846 2009-10-28  Thomas Quinot  <quinot@adacore.com>
847
848         * exp_ch4.adb (Expand_N_Type_Conversion): Perform Integer promotion for
849         the operand of the unary minus and ABS operators.
850
851         * sem_type.adb (Covers): A concurrent type and its corresponding record
852         type are compatible.
853         * exp_attr.adb (Expand_N_Attribute_Reference): Do not rewrite a 'Access
854         attribute reference for the current instance of a protected type while
855         analyzing an access discriminant constraint in a component definition.
856         Such a reference is handled in the corresponding record's init proc,
857         while initializing the constrained component.
858         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
859         corresponding record type, propagate components'
860         Has_Per_Object_Constraint flag.
861         * exp_ch3.adb (Build_Init_Procedure.Build_Init_Statements):
862         For a concurrent type, set up concurrent aspects before initializing
863         components with a per object constrain, because they may be controlled,
864         and their initialization may call entries or protected subprograms of
865         the enclosing concurrent object.
866
867 2009-10-28  Emmanuel Briot  <briot@adacore.com>
868
869         * prj-nmsc.adb (Add_If_Not_In_List): New subprogram, for better sharing
870         of code.
871         (Find_Source_Dirs): resolve links if Opt.Follow_Links_For_Dirs when
872         processing the directories specified explicitly in the project file.
873
874 2009-10-28  Robert Dewar  <dewar@adacore.com>
875
876         * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb,
877         a-textio.ads, a-textio.adb: Reorganize (moving specs from private part
878         to body).
879         (Initialize_Standard_Files): New procedure.
880         * a-tienau.adb: Minor change to make EOF directly visible
881         * a-tirsfi.ads, a-wrstfi.adb, a-wrstfi.ads, a-zrstfi.adb,
882         a-zrstfi.ads, a-tirsfi.adb: New unit, initial version.
883         * gnat_rm.texi: Add documentation for
884         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files.
885         * Makefile.rtl: Add entries for
886         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files
887
888 2009-10-28  Thomas Quinot  <quinot@adacore.com>
889
890         * exp_ch9.ads: Minor reformatting
891         * sem_ch3.adb: Minor reformatting
892         * sem_aggr.adb: Minor reformatting.
893         * sem_attr.adb: Minor reformatting
894         * tbuild.adb, tbuild.ads, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node):
895         New subprogram.
896         Minor code reorganization/factoring.
897
898 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
899
900         * gcc-interface/decl.c (purpose_member_field): New static function.
901         (annotate_rep): Use it instead of purpose_member.
902
903 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
904
905         * raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
906         _Unwind_GetIP if HAVE_GETIPINFO is defined.
907         (db_action_for): Likewise.
908
909 2009-10-27  Robert Dewar  <dewar@adacore.com>
910
911         * s-fileio.adb, s-fileio.ads, sem_util.adb, sem_warn.adb,
912         sem_warn.ads: Minor reformatting
913
914 2009-10-27  Robert Dewar  <dewar@adacore.com>
915
916         * sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add
917         comments.
918
919 2009-10-27  Robert Dewar  <dewar@adacore.com>
920
921         * s-os_lib.ads, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor
922         reformatting.
923
924 2009-10-27  Ed Schonberg  <schonberg@adacore.com>
925
926         * sem.util.ads, sem_util.adb (Denotes_Same_Object,
927         Denotes_Same_Prefix): New functions to detect overlap between actuals
928         that are not by-copy in a call, when one of them is in-out.
929         * sem_warn.ads, sem_warn.adb (Warn_On_Overlapping_Actuals): New
930         procedure,  called on a subprogram call to warn when an in-out actual
931         that is not by-copy overlaps with another actual, thus leadind to
932         potentially dangerous aliasing in the body of the called subprogram.
933         Currently the warning is under control of the -gnatX switch.
934         * sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals.
935
936 2009-10-27  Thomas Quinot  <quinot@adacore.com>
937
938         * sem_ch12.adb (Install_Formal_Packages): Do not omit installation of
939         visible entities when the formal package doesn't have a box.
940
941         * checks.adb: Minor reformatting.
942
943 2009-10-27  Vincent Celier  <celier@adacore.com>
944
945         * prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and
946         set Project to Empty_Node.
947
948 2009-10-27  Robert Dewar  <dewar@adacore.com>
949
950         * gnatbind.adb: Minor reformatting
951
952 2009-10-27  Arnaud Charlet  <charlet@adacore.com>
953
954         * exp_aggr.adb: Fix comment.
955
956 2009-10-27  Emmanuel Briot  <briot@adacore.com>
957
958         * prj-err.adb (Error_Msg): take into account continuation lines when
959         computing whether we have a warning.
960
961 2009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>
962
963         * make.adb, s-os_lib.adb, s-os_lib.ads (Create_Temp_Output_File): New
964         routine that is designed to create temp file descriptor specifically
965         for redirecting an output stream.
966
967 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
968
969         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
970         processing the parent type, build the COMPONENT_REF for a discriminant
971         with the proper type.
972
973 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
974
975         * init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo.
976         * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Add HAVE_GETIPINFO.
977         Pass GNATLIBCFLAGS_FOR_C to recursive invocations.
978
979 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
980
981         * gcc-interfaces/decl.c (build_subst_list): Convert the expression of
982         the constraint to the type of the discriminant.
983
984 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
985
986         * gcc-interfaces/decl.c (gnat_to_gnu_entity): Do not create a new
987         TYPE_DECL when a type is padded if there is already one and reset
988         TYPE_STUB_DECL in this case.
989
990 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
991
992         * gcc-interfaces/utils.c (create_subprog_decl): Do not redefine
993         main_identifier_node.
994
995 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
996
997         * gcc-interface/utils.c (convert): When converting to a padded type
998         with an inner type of self-referential size, pad the expression before
999         doing the unchecked conversion.
1000
1001 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1002
1003         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Make
1004         sure the element type is consistent.
1005
1006 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1007
1008         * gcc-interface/trans.c (addressable_p): Handle bitwise operations.
1009
1010 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1011
1012         * gcc-interface/ada-tree.h (TYPE_FAT_POINTER_P): Swap with...
1013         (TYPE_IS_FAT_POINTER_P): ...this.
1014         (TYPE_THIN_POINTER_P): Rename into...
1015         (TYPE_IS_THIN_POINTER_P): ...this.
1016         (TYPE_FAT_OR_THIN_POINTER_P): Rename into...
1017         (TYPE_IS_FAT_OR_THIN_POINTER_P): ...this.
1018         (TYPE_IS_PADDING_P): Change definition, move old one to...
1019         (TYPE_PADDING_P): ...this.
1020         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
1021         (get_unpadded_type): Likewise.
1022         (gnat_to_gnu_component_type): Likewise.
1023         (gnat_to_gnu_param): Likewise.
1024         (relate_alias_sets): Likewise.
1025         (make_packable_type): Likewise.
1026         (maybe_pad_type): Likewise.
1027         (gnat_to_gnu_field): Likewise.
1028         (is_variable_size): Likewise.
1029         (annotate_object): Likewise.
1030         (validate_size): Likewise.
1031         (set_rm_size): Likewise.
1032         (make_type_from_size): Likewise.
1033         (rm_size): Likewise.
1034         * gcc-interface/misc.c (gnat_print_type): Likewise.
1035         (gnat_get_alias_set): Likewise.
1036         * gcc-interface/trans.c (Identifier_to_gnu): Likewise.
1037         (Attribute_to_gnu): Likewise.
1038         (call_to_gnu): Likewise.
1039         (gnat_to_gnu): Likewise.
1040         (add_decl_expr): Likewise.
1041         (convert_with_check): Likewise.
1042         (addressable_p): Likewise.
1043         (maybe_implicit_deref): Likewise.
1044         (protect_multiple_eval): Likewise.
1045         (gnat_stabilize_reference_1): Likewise.
1046         * gcc-interface/utils.c (gnat_pushdecl): Likewise.
1047         (finish_record_type): Likewise.
1048         (rest_of_record_type_compilation): Likewise.
1049         (create_type_decl): Likewise.
1050         (gnat_types_compatible_p): Likewise.
1051         (build_template): Likewise.
1052         (convert_vms_descriptor64): Likewise.
1053         (convert_vms_descriptor32): Likewise.
1054         (build_unc_object_type_from_ptr): Likewise.
1055         (update_pointer_to): Likewise.
1056         (convert_to_fat_pointer): Likewise.
1057         (convert_to_fat_pointer): Likewise.
1058         (convert): Likewise.
1059         (remove_conversions): Likewise.
1060         (maybe_unconstrained_array): Likewise.
1061         (unchecked_convert): Likewise.
1062         (handle_vector_type_attribute): Likewise.
1063         * gcc-interface/utils2.c (build_binary_op): Likewise.
1064         (build_unary_op): Likewise.
1065         (build_allocator): Likewise.
1066
1067 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1068
1069         * exp_dbug.ads: Adjust type names in comments.
1070         * gcc-interface/decl.c (maybe_pad_type): Remove NAME_TRAILER parameter,
1071         add new IS_COMPONENT_TYPE parameter.  Adjust.  Remove dead code.
1072         (gnat_to_gnu_entity): Adjust for above change.
1073         (gnat_to_gnu_component_type): Likewise.
1074         (gnat_to_gnu_field): Likewise.
1075         * gcc-interface/trans.c (call_to_gnu): Likewise.  Do not unnecessarily
1076         call max_size.
1077         * gcc-interface/utils.c (finish_record_type): Remove obsolete code.
1078         * gcc-interface/gigi.h (maybe_pad_type): Adjust prototype.
1079
1080 2009-10-16  Joel Sherrill <joel.sherrill@oarcorp.com>
1081
1082         * s-osinte-rtems.ads: Add mutex type to pthread_mutexattr_t
1083         * s-stchop-rtems.adb: Correct binding to rtems_stack_checker_is_blown.
1084
1085 2009-10-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1086
1087         * env.c [__alpha__ && __osf__] (AES_SOURCE): Define.
1088
1089 2009-10-10  Samuel Tardieu  <sam@rfc1149.net>
1090
1091         * sem_eval.adb: Give a more precise error message.
1092
1093 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1094
1095         PR ada/41383
1096         * a-rttiev.adb (Time_Of_Event): Return Time_First for unset event.
1097
1098 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1099
1100         PR ada/38333
1101         * sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract
1102         subprogram to be completed with a "pragma Import".
1103
1104 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1105
1106         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>:
1107         Generate an XVZ variable alongside the XVS type if the size is
1108         not constant.
1109         (maybe_pad_type): Minor tweak.
1110
1111 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1112
1113         * gcc-interface/decl.c (check_ok_for_atomic): Do nothing if the type
1114         doesn't come from source.
1115
1116 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1117
1118         * gcc-interface/decl.c (gnat_to_gnu_component_type): Force at least
1119         unit size for the component size of an array with aliased components.
1120         (maybe_pad_type): Do not warn for MAX_EXPR.
1121
1122 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1123
1124         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Factor out
1125         common code processing the component type into...
1126         <E_Array_Subtype>: Likewise.
1127         (gnat_to_gnu_component_type): ...this new static function.
1128         (maybe_pad_type): Minor cleanup.
1129
1130 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1131
1132         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Rewrite
1133         the handling of constrained discriminated record subtypes.
1134         (components_to_record): Declare the type of the variants and of the
1135         qualified union.
1136         (build_subst_list): Move around.
1137         (compute_field_positions): Rename into...
1138         (build_position_list): ...this.  Return a TREE_VEC.
1139         (annotate_rep): Adjust for above renaming.
1140         (build_variant_list): New static function.
1141         (create_field_decl_from): Likewise.
1142         (get_rep_part): Likewise.
1143         (get_variant_part): Likewise.
1144         (create_variant_part_from): Likewise.
1145         (copy_and_substitute_in_size): Likewise.
1146
1147 2009-09-28  Olivier Hainque  <hainque@adacore.com>
1148
1149         PR ada/41100
1150         * gcc-interface/targtyps.c (get_target_default_allocator_alignment):
1151         Account for observable alignments out of default allocators.
1152
1153 2009-09-28  Richard Henderson  <rth@redhat.com>
1154
1155         * gcc-interface/utils.c (gnat_install_builtins): Update call to
1156         build_common_builtin_nodes.
1157
1158 2009-09-26  Eric Botcazou  <ebotcazou@adacore.com>
1159
1160         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Filter out
1161         negative size for the array dimensions like in the constrained case.
1162         <E_Array_Subtype>: Do not create an artificially non-constant high
1163         bound if the low bound is non-constant.  Minor tweaks.
1164
1165         * gcc-interface/trans.c (lvalue_required_p): Add CONSTANT parameter
1166         and turn ALIASED into a boolean parameter.  Adjust calls to self.
1167         <N_Attribute_Reference>: Return 1 for more attributes.
1168         <N_Object_Renaming_Declaration>: Return 1 for non-constant objects.
1169         <N_Assignment_Statement>: Return 1 for the LHS.
1170         (Identifier_to_gnu): Adjust calls to lvalue_required_p.
1171         (call_to_gnu): Be prepared for wrapped boolean rvalues.
1172
1173 2009-09-25  Olivier Hainquqe  <hainque@adacore.com>
1174             Eric Botcazou  <ebotcazou@adacore.com>
1175
1176         * gcc-interface/ada-tree.h (TYPE_REPRESENTATIVE_ARRAY): New language
1177         specific node.  Representative array type for VECTOR_TYPE entities.
1178         * gcc-interface/utils.c (handle_vector_type_attribute): New handler.
1179         Turn an ARRAY_TYPE entity into a VECTOR_TYPE.   
1180         (gnat_types_compatible_p): Handle VECTOR_TYPEs.
1181         (convert): Likewise.  Arrange to produce VECTOR_CST out of constant
1182         array aggregates for VECTOR_TYPE entities.
1183         (unchecked_convert): Likewise.
1184         (maybe_vector_array): New function. If EXP has VECTOR_TYPE, return EXP
1185         converted to the associated TYPE_REPRESENTATIVE_ARRAY.
1186         (handle_pure_attribute, handle_sentinel_attribute,
1187         handle_noreturn_attribute, handle_malloc_attribute,
1188         handle_vector_size_attribute): Replace uses of qE format by qs.
1189         Remove GCC_DIAG_STYLE definition.
1190         * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Convert
1191         vector input to representative array type on entry.
1192         <N_Op_Eq, etc>: Likewise.
1193         * gcc-interface/gigi.h (maybe_vector_array): Declare.
1194         (VECTOR_TYPE_P): New predicate.
1195         * gcc-interface/misc.c (gnat_print_type): Handle VECTOR_TYPE.
1196
1197 2009-09-24  Eric Botcazou  <ebotcazou@adacore.com>
1198
1199         * gcc-interface/ada.h: Fix outdated comment.
1200         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in
1201         lieu of mark_visited.
1202         * gcc-interface/gigi.h (mark_visited): Change type of parameter.
1203         (MARK_VISITED): New macro.
1204         (gnat_truthvalue_conversion): Delete.
1205         * gcc-interface/decl.c (gnat_to_gnu_entity): Use MARK_VISITED in lieu
1206         of mark_visited.
1207         (annotate_rep): Fix formatting and tidy.
1208         (compute_field_positions): Get rid of useless variable.
1209         * gcc-interface/trans.c (gnat_to_gnu): Retrieve the Nkind of the GNAT
1210         node only once.  Use IN operator for the Nkind in more cases.
1211         Remove calls to gnat_truthvalue_conversion.
1212         (mark_visited): Change type of parameter and adjust.
1213         (mark_visited_r): Dereference TP only once.
1214         (add_decl_expr): Use MARK_VISITED in lieu of mark_visited.
1215         * gcc-interface/utils2.c (gnat_truthvalue_conversion): Delete.
1216         (build_binary_op): Remove calls to gnat_truthvalue_conversion.
1217         (build_unary_op): Likewise.
1218
1219 2009-09-24  Dave Korn  <dave.korn.cygwin@gmail.com>
1220
1221         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Simplify test for
1222         a-except% in target pairs list; don't (implicitly) compare whitespace.
1223
1224 2009-09-24  Jakub Jelinek  <jakub@redhat.com>
1225
1226         * gcc-interface/utils.c (gnat_pushdecl): Don't set
1227         DECL_NO_STATIC_CHAIN, set DECL_STATIC_CHAIN for
1228         nested functions.
1229
1230 2009-09-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
1231
1232         * s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0.
1233         Bind to getpagesize() in RTEMS 4.10 and newer.
1234
1235 2009-09-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1236
1237         * env.c [__alpha__ && __osf__] (_BSD): Define.
1238         * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
1239         to const char *.
1240
1241 2009-09-18  Pascal Obry  <obry@adacore.com>
1242
1243         * mingw32.h: Activate Unicode support for x86-64 Windows platform.
1244
1245 2009-09-18  Vadim Godunko  <godunko@adacore.com>
1246
1247         * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
1248
1249 2009-09-18  Javier Miranda  <miranda@adacore.com>
1250
1251         * exp_aggr.adb (Backend_Processing_Possible): Disable backend
1252         processing for array aggregates in the VM backend if the array has
1253         aliased components.
1254
1255 2009-09-18  Ed Schonberg  <schonberg@adacore.com>
1256
1257         * sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
1258         the prefix indicates a previous semantic error, and this is the first
1259         error in the program.
1260
1261 2009-09-18  Bob Duff  <duff@adacore.com>
1262
1263         * gnat_ugn.texi: Minor editing.
1264
1265 2009-09-18  Vincent Celier  <celier@adacore.com>
1266
1267         * prj.ads, prj.adb (Project_Data): New component
1268         Imported_Directories_Switches.
1269
1270 2009-09-18  Pascal Obry  <obry@adacore.com>
1271
1272         * mingw32.h: Include standard _mingw.h file.
1273         Define _WIN32_WINNT only if not already defined.
1274
1275 2009-09-18  Thomas Quinot  <quinot@adacore.com>
1276
1277         * g-socket.adb (Is_Open): New function indicating whether a
1278         Selector_Type object is open.
1279
1280 2009-09-18  Vincent Celier  <celier@adacore.com>
1281
1282         * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
1283         is deleted before creating it.
1284
1285 2009-09-18  Robert Dewar  <dewar@adacore.com>
1286
1287         * bindgen.adb: Minor reformatting
1288
1289 2009-09-18  Arnaud Charlet  <charlet@adacore.com>
1290
1291         * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
1292         s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
1293         signal handler is installed.
1294         * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
1295         tasks if Abort_Task_Interrupt cannot be used.
1296
1297 2009-09-18  Vincent Celier  <celier@adacore.com>
1298
1299         * prj-tree.ads: Minor comment update
1300
1301 2009-09-17  Bob Duff  <duff@adacore.com>
1302
1303         * g-socket.ads: Document the fact that Close_Selector has no effect on
1304         a closed selector.
1305         * g-socket.adb: Raise an exception when a Selector that should be open
1306         is closed.
1307         (Check_Selector): Declare RSig as a constant rather than a renames,
1308         less confusing.
1309
1310 2009-09-17  Robert Dewar  <dewar@adacore.com>
1311
1312         * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
1313         prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb,
1314         prj-tree.ads: Minor reformatting
1315
1316 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1317
1318         * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
1319         spec.
1320         (Do_Autoconf): If the object directory does not exists, create auto.cgpr
1321         in a temporary directory instead
1322
1323 2009-09-17  Bob Duff  <duff@adacore.com>
1324
1325         * a-dynpri.adb (Set_Priority): Don't do anything if the task is already
1326         terminated.
1327         (Get_Priority): Correct message for "terminated" case -- it said "null".
1328
1329 2009-09-17  Robert Dewar  <dewar@adacore.com>
1330
1331         * exp_ch6.adb: Minor reformatting
1332
1333 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1334
1335         * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
1336         switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
1337         (Project_Node_Tree_Data.Project_Path): New field.
1338
1339         * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
1340
1341 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1342
1343         * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
1344         Remove duplicate code.
1345         (Prj.Ext): Fix memory leak
1346         (Check): Now allow the syntax "-Xfoo=" to set an empty value to the
1347         variable. This was previously allowed in the code in
1348         Is_External_Assignment, and some tests rely on it
1349
1350 2009-09-17  Bob Duff  <duff@adacore.com>
1351
1352         * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
1353
1354 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1355
1356         * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
1357         makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
1358         prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
1359         prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
1360         Scenario variables are now specific to each project tree loaded in
1361         memory.
1362         Code clean ups.
1363
1364 2009-09-17  Javier Miranda  <miranda@adacore.com>
1365
1366         * exp_disp.adb (Make_DT): Remove wrong line of code that was
1367         undocumented and probably added by mistake.
1368
1369 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1370
1371         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
1372         conversions between original and packable version of types from
1373         the expression.
1374
1375 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1376
1377         * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
1378         If a padding type was made for the field, declare it.
1379         (components_to_record): Add DEBUG_INFO_P parameter.  Adjust call
1380         to gnat_to_gnu_field and call to self.
1381         (gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
1382         <E_Array_Subtype>: Likewise.
1383         Adjust calls to gnat_to_gnu_field and components_to_record.
1384
1385 2009-09-16  Robert Dewar  <dewar@adacore.com>
1386
1387         * prj-nmsc.adb: Minor reformatting
1388
1389 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1390
1391         * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
1392         expression is a by-reference type (tagged or inherently limited)
1393         introduce an access type to capture references to the values of each
1394         branch of the conditional.
1395
1396 2009-09-16  Emmanuel Briot  <briot@adacore.com>
1397
1398         * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
1399         (Project_Name_And_Node.Display_Name): new field
1400         The display name of a project (as written in the .gpr file) is now
1401         computed when the project file itself is parsed, not when it is
1402         processed.
1403
1404 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1405
1406         * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
1407         intrinsics untouched (to be expanded later on by gigi) if an external
1408         name has been specified.
1409         (Freeze_Entity): Do not generate a default external name for
1410         imported subprograms with convention Intrinsic (so that the above code
1411         can identify the case where an external name has been explicitly
1412         provided).
1413
1414         * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
1415         replaced by something else due to an existing #define clause.
1416
1417 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1418
1419         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
1420         Parameter_Association node, created for the extra actual generated for
1421         an access parameter of a function that dispatches on result, to prevent
1422         double generation of such actuals when the call is rewritten is a
1423         dispatching call.
1424         * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
1425         * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
1426         that carry this flag when rewriting the original call as a dispatching
1427         call, after propagating the controlling tag.
1428
1429 2009-09-16  Vincent Celier  <celier@adacore.com>
1430
1431         * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
1432         in the source data.
1433         (Check_File): New parameter Source_Dir_Rank, to check if a duplicate
1434         source is allowed.
1435         (Find_Source_Dirs): New parameter Rank to be recorded with the source
1436         directories.
1437         (Search_Directories): Call Check_File with the rank of the directory
1438         * prj.adb (Project_Empty): Add new component Source_Dir_Ranks
1439         (Free): Free also Number_Lists
1440         (Reset): Init also Number_Lists
1441         * prj.ads (Number_List_Table): New dynamic table for lists of numbers
1442         (Source_Data): New component Source_Dir_Rank. Remove component
1443         Known_Order_Of_Source_Dirs, no longer needed.
1444         (Project_Data): New component Source_Dir_Ranks
1445         (Project_Tree_Data): New components Number_Lists
1446
1447 2009-09-16  Vincent Celier  <celier@adacore.com>
1448
1449         * gprep.adb (Yes_No): New global constant
1450         Unix_Line_Terminators: New global Boolean variable
1451         (Process_One_File): Create the out file with a "Text_Translation=" form
1452         that depends on the use of option -T.
1453         (Scan_Command_Line): Add option -T
1454         (Usage): Add line for option -T
1455
1456 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1457
1458         * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
1459         predicate that describes a proper subset of
1460         Is_Predefined_Dispatching_Operation and excludes stream operations,
1461         which can be overridden by the user.
1462         * sem_ch6.adb (Create_Extra_Formals): use
1463         Is_Predefined_Internal_Operation, so that stream operations get extra
1464         formals.
1465         * exp_ch6.adb (Prevent double generation of extra actuals in calls to
1466         'Input, which may be expanded twice, first as a function call and then
1467         as a dispatching call.
1468
1469 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1470
1471         * s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
1472         * g-expect.adb (Set_Up_Child_Communications): Use
1473         System.OS_Constants.Target_OS to determine whether running on Windows.
1474
1475 2009-09-14  Richard Henderson  <rth@redhat.com>
1476
1477         * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
1478
1479 2009-09-14  Eric Botcazou  <ebotcazou@adacore.com>
1480
1481         * exp_dbug.ads (Packed Array Encoding): Document the new encoding for
1482         the unconstrained case.
1483         * gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
1484         the encoding.  Do not give a name to the pointer type to the XUT type.
1485         * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
1486         for fat pointer types, if any.  Make sure DECL_ARTIFICIAL is cleared
1487         on nodes with DECL_ORIGINAL_TYPE set.
1488         (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
1489         for fat pointer types.  Make sure DECL_ARTIFICIAL is cleared.
1490
1491 2009-09-14  Richard Henderson  <rth@redhat.com>
1492
1493         * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1494         default_init_unwind_resume_libfunc.
1495         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
1496         __builtin_eh_pointer.
1497         * gcc-interface/utils.c (gnat_install_builtins): Update call
1498         to build_common_builtin_nodes.
1499
1500 2009-09-13  Richard Guenther  <rguenther@suse.de>
1501             Rafael Avila de Espindola  <espindola@google.com>
1502
1503         * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
1504         eh_personality_libfunc and lang_eh_runtime_type.
1505         (LANG_HOOKS_EH_PERSONALITY): Define.
1506         (gnat_eh_personality_decl): New static variable.
1507         (gnat_eh_personality): New static function.
1508         Include gt-ada-misc.h.
1509         * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
1510         * gcc-interface/config-lang.in (gtfiles): Add misc.c.
1511
1512 2009-09-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1513
1514         PR ada/18302
1515         * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
1516
1517 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1518
1519         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
1520         flow of control.
1521         Avoid useless work when processing the Treat_As_Volatile flag.
1522
1523 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1524
1525         * gcc-interface/targtyps.c: Reorder include directives.
1526
1527 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1528
1529         * gcc-interface/targtyps.c: Add missing include for tm_p.h.
1530         * gcc-interface/Make-lang.in: Update dependencies.
1531
1532 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1533
1534         * make.adb: Add missing documentation for multilib handling.
1535         
1536 2009-09-03  Diego Novillo  <dnovillo@google.com>
1537
1538         * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
1539
1540 2009-09-02  Richard Henderson  <rth@redhat.com>
1541
1542         * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
1543
1544 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1545
1546         * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
1547         and uc arguments.
1548         
1549 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1550
1551         * gcc-interface/decl.c (cannot_be_superflat_p): Handle
1552         Signed_Integer_Type_Definition Scalar_Ranges.
1553
1554 2009-09-02  Eric Botcazou  <ebotcazou@adacore.com>
1555
1556         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
1557         SAVE_EXPR built for misaligned arguments.  Remove redundant stuff.
1558         (addressable_p): Return true for more rvalues.
1559
1560 2009-09-01  Jakub Jelinek  <jakub@redhat.com>
1561
1562         * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
1563         POINTER_SIZE to HOST_WIDE_INT.
1564
1565 2009-09-01  Richard Guenther  <rguenther@suse.de>
1566
1567         * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
1568
1569 2009-08-25  Eric Botcazou  <ebotcazou@adacore.com>
1570
1571         * gcc-interface/trans.c (call_to_gnu): Tidy.
1572         (gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
1573         non-constant size but the array itself has constant size.
1574         * gcc-interface/utils.c (convert_vms_descriptor64): Fix type
1575         consistency error.
1576         (convert_vms_descriptor32): Likewise.
1577
1578 2009-08-22  Aurelien Jarno  <aurelien@aurel32.net>
1579
1580         * gcc-interface/Makefile.in: Add Ada support for 
1581         GNU/kFreeBSD x86_64.
1582         * system-freebsd-x86_64.ads: New file based on 
1583         system-freebsd-x86.ads.
1584
1585 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1586
1587         * gcc-interface/utils.c (convert): In the padded case, do the final
1588         conversion as an unchecked conversion if the underlying types are
1589         array types with variable size.
1590
1591 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1592
1593         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
1594         as visited.
1595         * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
1596         bounds.
1597         * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
1598         fields.
1599         (gnat_gimplify_expr) <DECL_EXPR>: New case.
1600
1601 2009-08-17  Aurelien Jarno  <aurelien@aurel32.net>
1602
1603         * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
1604         (stack_t): New record type.
1605         (sigaltstack): New imported function.
1606         (Alternate_Stack): New imported variable.
1607         (Alternate_Stack_Size): New constant.
1608
1609 2009-08-17  Vasiliy Fofanov  <fofanov@adacore.com>
1610
1611         * a-calend-vms.adb: Fix typo.
1612
1613 2009-08-17  Tristan Gingold  <gingold@adacore.com>
1614
1615         * s-taprop-posix.adb: Round up the stack size to avoid failure on
1616         Darwin.
1617
1618 2009-08-17  Gary Dismukes  <dismukes@adacore.com>
1619
1620         * sem_cat.adb (Validate_Static_Object_Name): Update comment.
1621
1622 2009-08-17  Vincent Celier  <celier@adacore.com>
1623
1624         * make.adb (Arguments_Collected): Unneeded, removed
1625         (Change_To_Object_Directory): Use Project directly. Add pragma Assert to
1626         ensure caller does not pass in No_Project.
1627         (Compile): Add new parameter Project. Let procedure
1628         Collect_Arguments_And_Compile provide the proper value.
1629
1630         * switch-c.adb: Add documentation for -gnatea and -gnatez
1631
1632 2009-08-17  Ben Brosgol  <brosgol@adacore.com>
1633
1634         * gnat_ugn.texi: Changed name of package in SAL example, to avoid
1635         clash with Ada 2005 reserved word (interface).
1636
1637 2009-08-17  Robert Dewar  <dewar@adacore.com>
1638
1639         * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
1640         a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
1641         a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
1642         (use conditional expressions).
1643
1644 2009-08-17  Robert Dewar  <dewar@adacore.com>
1645
1646         * make.adb: Add ??? comment
1647         * tbuild.adb: Minor reformatting
1648
1649 2009-08-17  Thomas Quinot  <quinot@adacore.com>
1650
1651         * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
1652         Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
1653         Use Tbuild.Make_Temporary to create entity for the temporary.
1654
1655 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
1656
1657         * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
1658         and ignore -mieee switch to avoid spawning an extra gcc in this case.
1659
1660 2009-08-17  Thomas Quinot  <quinot@adacore.com>
1661
1662         * tbuild.adb: Minor reformatting
1663
1664 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
1665
1666         * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
1667         exist, as is the case for synchronized types, use the type of the
1668         discriminal in the parameter specification, to prevent a spurious
1669         subtype mismatch in gigi.
1670
1671 2009-08-17  Robert Dewar  <dewar@adacore.com>
1672
1673         * prj-env.adb: Minor reformatting
1674         * make.adb: Minor reformatting
1675         Comment updates
1676
1677 2009-08-17  Javier Miranda  <miranda@adacore.com>
1678
1679         * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
1680
1681 2009-08-17  Emmanuel Briot  <briot@adacore.com>
1682
1683         * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
1684         (Processing_Flags.Require_Obj_Dirs): new field, which controls whether
1685         object directories must be present. In the case of gprclean at least,
1686         these are optional (if they do not exist there is nothing to clean)
1687
1688 2009-08-17  Robert Dewar  <dewar@adacore.com>
1689
1690         * prj-env.adb: Minor reformatting
1691         * sem_ch3.adb: Minor reformatting
1692
1693 2009-08-17  Hristian Kirtchev  <kirtchev@adacore.com>
1694
1695         * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
1696         the time zone since VxWorks chose positive values to represent west
1697         time zones and negative for east zones.
1698
1699 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
1700
1701         * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
1702         an anonymous access type whose designated type is generic.
1703
1704 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
1705
1706         * comperr.adb (Compiler_Abort): Do not generate a bug box when in
1707         codepeer mode, friendlier.
1708
1709 2009-08-10  Laurent GUERBY  <laurent@guerby.net>
1710
1711         * make.adb: Handle multilib
1712         
1713 2009-08-10  Vincent Celier  <celier@adacore.com>
1714
1715         * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
1716         the temporary file name in the error message when the temporary file
1717         cannot be created.
1718
1719 2009-08-10  Yannick Moy  <moy@adacore.com>
1720
1721         * gnat_ugn.texi: Fix typo
1722
1723 2009-08-10  Robert Dewar  <dewar@adacore.com>
1724
1725         * exp_ch7.adb: Add ??? comment for last change
1726
1727 2009-08-10  Vincent Celier  <celier@adacore.com>
1728
1729         * prj-env.adb (Add_To_Buffer): New procedure
1730         (Create_Config_Pragmas_File): Write to temporary file in one shot
1731         (Create_Mapping_File): Ditto
1732         (Set_Ada_Paths): Ditto
1733
1734 2009-08-10  Vincent Celier  <celier@adacore.com>
1735
1736         PR ada/17566
1737         * xref_lib.adb (Print_Xref): Make sure that there is at least one space
1738         between a declaration name and its type.
1739
1740 2009-08-07  Javier Miranda  <miranda@adacore.com>
1741
1742         * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
1743         SCIL node.
1744
1745 2009-08-07  Robert Dewar  <dewar@adacore.com>
1746
1747         * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
1748
1749 2009-08-07  Vincent Celier  <celier@adacore.com>
1750
1751         * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
1752         specified on the command line and there are switches in the Compiler
1753         package of the project file, use these compilation switches to invoke
1754         the tool.
1755
1756 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
1757
1758         * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
1759
1760 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
1761
1762         * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
1763         even if not in main unit, to simplify debugging.
1764
1765 2009-08-07  Arnaud Charlet  <charlet@adacore.com>
1766
1767         * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
1768         * gcc-interface/Make-lang.in: Update dependencies.
1769
1770 2009-08-07  Robert Dewar  <dewar@adacore.com>
1771
1772         * types.ads: Minor reformatting
1773         * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
1774         * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
1775         Output_Non_Modified_In_Out_Warnings.
1776         * sem_ch13.adb: Remove ??? comment.
1777
1778 2009-08-07  Vincent Celier  <celier@adacore.com>
1779
1780         * mlib-prj.adb (Build_Library): Include binder generate object file
1781         for SAL when library name is only one character.
1782
1783 2009-08-07  Thomas Quinot  <quinot@adacore.com>
1784
1785         * targparm.adb: Minor reformatting
1786         * sem.adb: Minor reformatting
1787         * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
1788
1789 2009-08-07  Emmanuel Briot  <briot@adacore.com>
1790
1791         * prj-conf.adb: Remove duplicate directory separator in the output when
1792         an object directory does not exist.
1793
1794 2009-08-07  Robert Dewar  <dewar@adacore.com>
1795
1796         * exp_util.adb: Minor reformatting
1797
1798 2009-08-07  Vincent Celier  <celier@adacore.com>
1799
1800         * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
1801         length used).
1802
1803 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
1804
1805         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
1806         detect non-static private components that will violate restriction
1807         No_Implicit_Heap_Allocation.
1808
1809 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
1810
1811         * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
1812
1813 2009-08-02  Eric Botcazou  <ebotcazou@adacore.com>
1814
1815         * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
1816         * gcc-interface/utils.c (end_subprog_body): Likewise.
1817         * gcc-interface/trans.c (gigi): Likewise.
1818         (gnat_to_gnu): Likewise.
1819
1820 2009-07-30  Ben Brosgol  <brosgol@adacore.com>
1821
1822         * gnat_ugn.texi: Correct minor texi glitch.
1823
1824 2009-07-30  Ed Schonberg  <schonberg@adacore.com>
1825
1826         * exp_util.adb (Expand_Subtype_From_Expr): If the type of the
1827         expression has an underlying representation that is an unchecked union,
1828         there is no subtype to build.
1829
1830 2009-07-30  Robert Dewar  <dewar@adacore.com>
1831
1832         * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
1833         s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
1834         sem_ch7.adb, adaint.c: Minor reformatting
1835
1836 2009-07-29  Javier Miranda  <miranda@adacore.com>
1837
1838         * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
1839         moved from the expander to the semantic analyzer to allow the
1840         generation of these internal entities when compiling with no code
1841         generation. Required by ASIS.
1842         * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
1843         * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
1844         * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
1845         (Expand_Freeze_Record_Type): Remove call to
1846         Add_Internal_Interface_Entities because this routine is now called at
1847         early stage --when the freezing node is analyzed.
1848
1849 2009-07-29  Robert Dewar  <dewar@adacore.com>
1850
1851         * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
1852         exp_disp.adb, g-socket.adb: Minor reformatting
1853
1854 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
1855
1856         * sem_ch7.adb (New_Private_Type): Create class-wide type after other
1857         attributes have been established, so that they are all inherited by the
1858         class-wide type.
1859         * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
1860         properly named subtypes of class-wide types.
1861
1862 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
1863
1864         * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
1865         indicators on user-defined operators.
1866
1867 2009-07-29  Vadim Godunko  <godunko@adacore.com>
1868
1869         * g-socket.adb (Receive_Vector): Add comment.
1870
1871 2009-07-29  Javier Miranda  <miranda@adacore.com>
1872
1873         * frontend.adb (Frontend): Code cleanup.
1874         * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
1875         Rewriten as a procedure because it a new out-mode parameters to
1876         keep up-to-date the controlling tag node in the caller.
1877         (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
1878         new out-mode parameter to keep up-to-date the controlling tag node in
1879         the caller.
1880         * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
1881         exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
1882         package Sem_SCIL.
1883         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
1884         available in new package Sem_SCIL.
1885         (Next_Non_SCIL_Node): Ditto.
1886         * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
1887         package Sem_SCIL.
1888         (Expand_Dispatching_Call): Update call to modified Exp_Atags routines
1889         plus complete decoration of SCIL dispatching node.
1890         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
1891         * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
1892         package Sem_SCIL.
1893         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
1894         * exp_ch3.adb (Build_Init_Procedure): Fix comment.
1895         * sem_scil.ads, sem_scil.adb: New files.
1896         * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
1897         Update dependencies.
1898
1899 2009-07-28  Robert Dewar  <dewar@adacore.com>
1900
1901         * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
1902         makeutl.adb: Minor reformatting & code reorganization
1903         * sem_ch3.adb: Minor reformatting.
1904         Fix spelling error (constraint for constrain) in error msg.
1905
1906 2009-07-28  Emmanuel Briot  <briot@adacore.com>
1907
1908         * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
1909         global variable that also exists in makeutl.ads, and that some routines
1910         in that package use already.
1911         (Check): Moved part of the code to makeutl.adb for better sharing with
1912         gprbuild.
1913
1914 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
1915
1916         * gcc-interface/Make-lang.in: Update dependencies.
1917
1918 2009-07-28  Emmanuel Briot  <briot@adacore.com>
1919
1920         * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
1921         importing project does not end up in the list, in the case of extending
1922         projects.
1923         * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
1924         makeutl.ads, for better sharing with gprbuild.
1925
1926 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
1927
1928         * gnat_ugn.texi: Fix typo.
1929
1930 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
1931
1932         * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
1933         derivation that renames some discriminants and constrain others.
1934         * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
1935         prefix is a derived untagged type, convert to the root type to conform
1936         to the signature of the protected operations.
1937
1938 2009-07-28  Robert Dewar  <dewar@adacore.com>
1939
1940         * sinfo.ads: Update comments.
1941         * exp_attr.adb: Minor reformatting
1942
1943 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
1944
1945         * sem_aggr.adb (Get_Value): A named association in a record aggregate
1946         should be treated as a modification of the named component, not as a
1947         reference.
1948
1949 2009-07-28  Quentin Ochem  <ochem@adacore.com>
1950
1951         * prj-tree.ads, prj-tree.adb (Free): Minor editing.
1952         * prj.ads, prj.adb (Image): Ditto.
1953
1954 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
1955
1956         * frontend.adb: Minor reformatting.
1957         (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
1958         for efficiency.
1959
1960 2009-07-28  Bob Duff  <duff@adacore.com>
1961
1962         * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
1963         'Address to get a pointer to the protected body wrapper.
1964
1965 2009-07-28  Javier Miranda  <miranda@adacore.com>
1966
1967         * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
1968         nodes if we are not generating code.
1969         * frontend.adb (Check_SCIL_Node): New subprogram. Used to check
1970         attribute SCIL_Related_Node of SCIL dispatching nodes.
1971         (Check_SCIL_Nodes): New instantiation of Traverse_Proc.
1972         * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
1973         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
1974         (SCIL_Entity): Update documentation.
1975         (SCIL_Related_Node): Update documentation.
1976         (SCIL_Controlling_Tag): New attribute.
1977         (SCIL_Target_Prim): Update documentation.
1978         (N_Null_Statement): Remove attributes associated with SCIL nodes.
1979         (N_SCIL_Dispatch_Table_Object_Init): New node.
1980         (N_SCIL_Dispatch_Table_Tag_Init): New node.
1981         (N_SCIL_Dispatching_Call): New node.
1982         (N_SCIL_Tag_Init): New node.
1983         * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
1984         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
1985         (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
1986         (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
1987         (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
1988         (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
1989         N_SCIL_Dispatching_Call nodes.
1990         * sem.adb (Analyze): No need to analyze SCIL nodes.
1991         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
1992         (Next_Non_SCIL_Node): New subprogram
1993         * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
1994         dispatching nodes.
1995         * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
1996         dispatching node.
1997         * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
1998         dispatching node.
1999         * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
2000         null statement nodes.
2001         (Build_Init_Procedure): Generate new SCIL node.
2002         * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
2003         node.
2004         * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
2005         they are currently implemented as special N_Null_Statement nodes.
2006         * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
2007         procedure call then check if some SCIL node references it and needs
2008         readjustment.
2009         * exp_disp.ads (SCIL_Node_Kind): Removed.
2010         (Adjust_SCIL_Node): New subprogram.
2011         (Find_SCIL_Node): New subprogram.
2012         (Get_SCIL_Node_Kind): Removed.
2013         (New_SCIL_Node): Removed.
2014         * exp_disp.adb (Adjust_SCIL_Node): New subprogram
2015         (Expand_Dispatching_Call): Generate new SCIL dispatching node including
2016         decoration of its new controlling_tag attribute.
2017         (Get_SCIL_Node_Kind): Removed.
2018         (Find_SCIL_Node): New subprogram.
2019         (Make_Secondary_DT): Generate new SCIL nodes.
2020         (Make_Tags): Generate new SCIL nodes.
2021         (New_SCIL_Node): Removed.
2022         * exp_util.adb (Insert_Actions): Handle SCIL nodes.
2023         (Remove_Side_Effects): Check if relocated nodes require readjustment
2024         of some SCIL dispatching node.
2025         * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
2026
2027 2009-07-28  Robert Dewar  <dewar@adacore.com>
2028
2029         * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
2030
2031 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2032
2033         * gnat_ugn.texi: Add section about gnatcheck rule exemption.
2034
2035 2009-07-28  Vadim Godunko  <godunko@adacore.com>
2036
2037         * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
2038         not defined by limits.h.
2039
2040         * g-socket.adb (Receive_Vector): Use minimum length from user's vector
2041         length and maximum supported length of data vector.
2042
2043 2009-07-28  Gary Dismukes  <dismukes@adacore.com>
2044
2045         * usage.adb: Inhibit printing gcc-specific switches for AAMP target.
2046         * make.adb: Call Get_Target_Parameters before calling Usage so that
2047         VM_Target and AAMP_On_Target will be set.
2048
2049 2009-07-28  Olivier Hainque  <hainque@adacore.com>
2050
2051         * g-ssinty.ads: Remove, pointless and just confusing at this stage.
2052         * gnat_rm.texi: Remove documentation.
2053         * g-sse.ads: Minor reorg along the way.
2054         * gcc-interface/Makefile.in: Remove processing for g-ssinty.
2055         * g-ssvety.ads: Minor comment updates.
2056
2057 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2058
2059         * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
2060         for the new format of the report file.
2061
2062 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2063
2064         * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
2065
2066 2009-07-28  Pascal Obry  <obry@adacore.com>
2067
2068         * g-expect.adb: Record standard handles only on Windows.
2069
2070 2009-07-27  Emmanuel Briot  <briot@adacore.com>
2071
2072         * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
2073         Add comments.
2074
2075 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2076
2077         * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
2078         rule definition the paragraph that explains that generic functions and
2079         functions from generic packages are not checked.
2080
2081 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
2082
2083         * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
2084         procedure when determining whether to set the Overridden_Operation
2085         field of a subprogram overriding an inherited subprogram.
2086         
2087 2009-07-27  Robert Dewar  <dewar@adacore.com>
2088
2089         * a-except.adb, a-except-2005.ads: Minor reformatting
2090
2091 2009-07-27  Robert Dewar  <dewar@adacore.com>
2092
2093         * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
2094
2095 2009-07-27  Javier Miranda  <miranda@adacore.com>
2096
2097         * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
2098         add some documentation explaining why the SCIL nodes must be generated
2099         at that point.
2100
2101 2009-07-27  Olivier Hainque  <hainque@adacore.com>
2102
2103         * a-except.adb: Bind to __builtin_longjmp directly.
2104         * a-except-2005.ads: Provide direct binding to __builtin_longjmp
2105         for sjlj variants.
2106         * a-exexpr.adb: Use it.
2107         * a-except-xi.adb: Likewise.
2108         * raise.c (_gnat_builtin_longjmp): Remove and update comments.
2109         * raise.h (_gnat_builtin_longjmp): Remove declaration.
2110
2111 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2112
2113         * sem_eval.adb (Compile_Time_Compare): More precise handling of
2114         Known_Valid flag, to prevent spurious range deductions when scalar
2115         variables may be uninitialized. New predicate Is_Known_Valid_Operand.
2116
2117 2009-07-27  Robert Dewar  <dewar@adacore.com>
2118
2119         * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
2120         and code clean up.
2121
2122 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2123
2124         * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
2125         Ravenscar mode. Error has already been posted on specification.
2126
2127         * sem.adb: Further code clean ups.
2128
2129 2009-07-27  Robert Dewar  <dewar@adacore.com>
2130
2131         * g-sse.ads: Minor reformatting
2132
2133 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2134
2135         * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
2136         alternate ali extension.
2137         * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
2138         account Osint.ALI_Suffix.
2139         * osint.ads (ALI_Suffix): Make visible.
2140         * gnatfind.adb (Gnatfind): Add support for --ext= switch.
2141         * gnat_ugn.texi: Document new gnatfind --ext= switch.
2142
2143 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2144
2145         * sem.adb (Walk_Library_Items): If main unit is an instance body, do
2146         its spec first.
2147
2148 2009-07-27  Javier Miranda  <miranda@adacore.com>
2149
2150         * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
2151         the dispatching call has is expanded.
2152
2153 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2154
2155         * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
2156         Is_Known_Valid flag on the temporary created for the value whose
2157         validity is being checked.
2158
2159         * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
2160         handle properly main units that are package specifications.
2161
2162 2009-07-27  Geert Bosch  <bosch@adacore.com>
2163
2164         * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
2165         * sem_aux.ads: Fix typo in comment
2166         * sem_util.ads (Is_LHS): Adjust comment to match body
2167
2168 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2169
2170         * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
2171         rule definition.
2172
2173 2009-07-27  Olivier Hainque  <hainque@adacore.com>
2174
2175         * g-sse.ads, g-ssvety.ads: Update comments.
2176
2177 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2178
2179         * gnat_ugn.texi: Update gnatcheck doc.
2180
2181 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2182
2183         * lib-xref.ads: Allocate/document 'o' char for use by references to
2184         spark 'own' variables.
2185
2186 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
2187
2188         * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
2189         objects, since these are implicitly referenced by the return statement.
2190         * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
2191         Is_Return_Object in this procedure, as return objects will never make
2192         it here since they're now marked as Referenced.
2193
2194 2009-07-27  Robert Dewar  <dewar@adacore.com>
2195
2196         * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
2197
2198 2009-07-27  Robert Dewar  <dewar@adacore.com>
2199
2200         * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
2201
2202         * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
2203
2204 2009-07-27  Geert Bosch  <bosch@adacore.com>
2205
2206         * checks.adb (Find_Check): Minor streamlining of logic.
2207         * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
2208         * debug.adb: Document -gnatdX debug flag
2209         * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
2210         list information about reads from scalar entities.
2211         Also slightly simplify condition for Expand_Current_Value.
2212         * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
2213         functions.
2214
2215 2009-07-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2216
2217         PR bootstrap/40578
2218         * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
2219         (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
2220         to these.
2221         (__gnat_stat): Adjust reference to STAT in prototype.
2222         * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
2223         __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
2224         __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
2225         __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
2226         __gnat_is_writable_file, __gnat_is_executable_file,
2227         __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
2228         __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
2229         __gnat_copy_attribs): Adjust all references to the above.
2230         * cstreams.c (__gnat_is_regular_file_fd): Likewise.
2231
2232 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2233
2234         * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
2235         done at the same time, guard against listing a body more than once.
2236
2237 2009-07-23  Robert Dewar  <dewar@adacore.com>
2238
2239         * exp_ch6.adb: Minor reformatting
2240
2241 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2242
2243         * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
2244         static expression is known valid.
2245         * sem_eval.adb (Compile_Time_Compare): Handle properly non-static
2246         operands of a subtype with a single value.
2247
2248 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2249
2250         * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
2251         are in the context of the main unit body.
2252
2253 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2254
2255         * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
2256         misprint in rule description.
2257
2258 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2259
2260         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
2261         test that the object declaration is within an extended return statement
2262         with direct test of whether the declared object associated with the
2263         build-in-place call is a return object, since the enclosing function
2264         might not even be a build-in-place function.
2265
2266 2009-07-23  Robert Dewar  <dewar@adacore.com>
2267
2268         * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
2269         Minor code reorganization
2270
2271 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2272
2273         * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
2274         for static analysis, only packed arrays are causing troubles.
2275
2276 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2277
2278         * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
2279         ancestor part is a call to a limited function with an unconstrained
2280         result subtype unless the aggregate has a null extension type.
2281         * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
2282         the parent type declaration to avoid blowups on subtype cases.
2283
2284 2009-07-23  Robert Dewar  <dewar@adacore.com>
2285
2286         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
2287         comma.
2288
2289         * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
2290
2291         * s-regexp.adb: Minor reformatting
2292         * scos.ads: Minor reformatting.
2293
2294 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2295
2296         * freeze.adb (Set_Small_Size): Remove extra space for consistency with
2297         other similar messages.
2298         * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
2299         messages/implicit packing in CodePeer mode.
2300         (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
2301         * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
2302         CodePeer mode.
2303
2304 2009-07-23  Pascal Obry  <obry@adacore.com>
2305
2306         * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
2307         systems.
2308
2309 2009-07-23  Robert Dewar  <dewar@adacore.com>
2310
2311         * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
2312         Minor reformatting.
2313
2314 2009-07-23  Yannick Moy  <moy@adacore.com>
2315
2316         * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
2317         pattern.
2318         (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
2319         string.
2320         (Raise_Exception): Ditto.
2321
2322 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2323
2324         * g-sse.ads: Simplify comment.
2325
2326 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2327
2328         * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
2329         low level internal type definitions for distinct higher level
2330         binding development activities (user type definitions and
2331         operations).
2332         * gnat_rm.texi: Document it.
2333         * g-ssvety.ads: Use it.
2334         * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
2335         g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
2336         * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
2337         for the "may_alias" attribute.
2338
2339 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2340
2341         * scos.ads: Minor typo fix
2342
2343         * gcc-interface/decl.c (validate_alignment): For the case of an
2344         implicit array base type, look for alignment clause on first subtype.
2345
2346 2009-07-23  Robert Dewar  <dewar@adacore.com>
2347
2348         * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
2349         with tagged parent if tagged parent is fully repped.
2350
2351 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2352
2353         * sem.adb (Walk_Library_Units): Handle properly the case where a unit
2354         in the context depends on the spec of the main unit, by delaying
2355         processing of the main unit body until all other units have been
2356         processed.
2357
2358 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2359
2360         * a-convec.adb: Add comments about suspicious/subtle code.
2361
2362 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2363
2364         * einfo.ads: Document use of Alias in private overriding
2365
2366 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2367
2368         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
2369         an array type, propagate alignment from first subtype to implicit base
2370         type so that other subtypes (such as the itypes for aggregates of the
2371         type) also receive the expected alignment.
2372
2373         * g-comlin.ads: Minor documentation clarification/rewording. 
2374         * scos.ads: Minor comments update.
2375         * lib-writ.ads: Minor reformatting
2376
2377 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2378
2379         * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
2380         of a class-wide interface type that is a return object of a
2381         build-in-place function, bypass the interface-related expansions into
2382         renamings with displacement conversions, etc.
2383         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
2384         for the case where a renaming occurs in a build-in-place context, to
2385         assert that the bypassing of the build-in-place treatment only occurs
2386         in the case of a renaming that is an expansion of a return expression
2387         that is itself a build-in-place function call.
2388
2389 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2390
2391         * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
2392         valid candidate interpretation in a prefixed view if it is hidden, but
2393         overrides an inherited operation declared in the visible part.
2394
2395 2009-07-23  Robert Dewar  <dewar@adacore.com>
2396
2397         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2398         division operands to 64-bit at all in any circumstances.
2399
2400 2009-07-23  Robert Dewar  <dewar@adacore.com>
2401
2402         * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
2403         checking ranges for mod/rem to see if conditional jump will be
2404         generated.
2405         (Analyze_N_Op_Rem): Don't try to check actual lower bounds for
2406         generating special -1 test for rem, generate it whenever both
2407         operands can be negative (match circuit in Sem_Res).
2408         (Analyze_N_Op_Rem): Don't go to base type, no longer needed and
2409         destroys memory of positive range.
2410         * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
2411         checking ranges for mod/rem to see if conditional jump will be generated
2412
2413 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2414
2415         * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
2416         scalar components has non-static bounds, the equivalent aggregate
2417         cannot be built, even if the expression is static, because range checks
2418         will be generated.
2419
2420 2009-07-23  Robert Dewar  <dewar@adacore.com>
2421
2422         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2423         division operands to 64-bit inside a conversion if 64-bit division not
2424         available.
2425
2426 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2427
2428         * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
2429
2430 2009-07-23  Javier Miranda  <miranda@adacore.com>
2431
2432         * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
2433         (Entity/Set_Entity): not available in N_Null_Statement nodes
2434         (Is_Scil_Node): renamed as Is_SCIL_Node
2435         (Scil_Nkind): renamed as SCIL_Nkind
2436         (Scil_Related_Node): renamed as SCIL_Related_Node
2437         (Scil_Target_Prim): renamed as SCIL_Target_Prim
2438         (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
2439         (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
2440         (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
2441         Update documentation
2442         * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
2443         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2444         (New_Scil_Node): Renamed as New_SCIL_Node
2445         * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
2446         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2447         (New_Scil_Node): Renamed as New_SCIL_Node
2448         * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
2449
2450 2009-07-23  Robert Dewar  <dewar@adacore.com>
2451
2452         * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
2453         * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
2454         * einfo.adb: Minor reformatting
2455
2456 2009-07-23  Robert Dewar  <dewar@adacore.com>
2457
2458         * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
2459         cross-referencing the new related code in
2460         Exp_Ch4.Expand_N_Type_Conversion.
2461         * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
2462
2463         * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
2464         Add comment.
2465
2466 2009-07-23  Javier Miranda  <miranda@adacore.com>
2467
2468         * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
2469         Scil_Target_Prim, N_Has_Entity): Add missing documentation.
2470         * exp_disp.ads (Scil_Node_Kind): Ditto.
2471         * exp_disp.adb (Make_DT, Make_Tags): Ditto.
2472         * exp_ch3.adb (Build_Init_Procedure): Ditto.
2473
2474 2009-07-23  Javier Miranda  <miranda@adacore.com>
2475
2476         * einfo.adb (Component_Type): Add missing assertion.
2477         * sem_res.adb (Resolve_Call): Ensure proper kind of entity before
2478         reading attribute Component_Size.
2479         * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
2480         before reading attributes Component_Size and Component_Type.
2481         * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
2482         before reading attribute Component_Type.
2483
2484 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2485
2486         * gnat_rm.texi: Document the GNAT.SSE units.
2487
2488 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2489
2490         * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
2491         not null return if it appears on a subunit.
2492
2493 2009-07-23  Robert Dewar  <dewar@adacore.com>
2494
2495         * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
2496         check right away so it does not get skipped for early returns, e.g.
2497         array assignments.
2498         (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
2499         left-side unless we really know the value is valid.
2500
2501         * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
2502         reformatting. Minor code reorganization. Add comments.
2503
2504 2009-07-23  Robert Dewar  <dewar@adacore.com>
2505
2506         * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
2507         complex condition.
2508
2509 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2510
2511         * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
2512         with test of coverage, to allow specific type objects in extended
2513         returns of class-wide functions. Remove now-unnecessary special-case
2514         tests that allowed this in certain cases of expanded extended returns.
2515
2516 2009-07-23  Javier Miranda  <miranda@adacore.com>
2517
2518         * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
2519         N_Null_Statements (for SCIL nodes).
2520         (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
2521         (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
2522         (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
2523         nodes).
2524         (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
2525         * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
2526         associated with dispatching call.
2527         (Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
2528         (Make_DT, Make_Tags): Add generation of SCIL nodes associated with
2529         initialization of dispatch tables and initialization of tags.
2530         (New_Scil_Node): New function that creates a new SCIL node.
2531         (Build_Init_Procedure): Add generation of SCIL node associated with the
2532         initialization of tags done in the IP subprogram.
2533
2534 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2535
2536         * errout.adb (Error_Msg_NEL): If the entity in the initial message has
2537         Warnings_Off, do not emit continuation messages.
2538
2539         * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
2540         spec.
2541
2542 2009-07-23  Emmanuel Briot  <briot@adacore.com>
2543
2544         * ali.adb: Minor comment update
2545
2546 2009-07-23  Vasiliy Fofanov  <fofanov@adacore.com>
2547
2548         * s-win32.ads (HANDLE): Define to be the same size as address type.
2549         Fix copyright.
2550
2551 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2552
2553         * g-sse.ads: New file. Root of the SSE facilities trees, with
2554         general description and common declarations.
2555         * g-ssvety.ads: New file. Expose user level SSE vector types.
2556         * impunit.adb (Non_Imp_File_Names_95): Register new units.
2557         * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
2558         EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
2559
2560 2009-07-23  Ben Brosgol  <brosgol@adacore.com>
2561
2562         * gnat_ugn.texi: Wordsmithing.
2563
2564 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2565
2566         * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
2567
2568 2009-07-22  Eric Botcazou  <ebotcazou@adacore.com>
2569
2570         * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
2571         they are already of the base type of the index.
2572
2573 2009-07-22  Brett Porter  <porter@adacore.com>
2574
2575         * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
2576
2577 2009-07-22  Robert Dewar  <dewar@adacore.com>
2578
2579         * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
2580         * gnat_ugn.texi: Add documentation for -gnateS switch
2581         * ug_words: Add entry for -gnateS /SCO_OUTPUT
2582         * gcc-interface/Make-lang.in: Update dependencies.
2583
2584         * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
2585         par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
2586         complete information for SCO input/output.
2587
2588 2009-07-22  Sergey Rybin  <rybin@adacore.com>
2589
2590         * gnat_ugn.texi: Update doc for some gnatcheck rules.
2591
2592 2009-07-22  Robert Dewar  <dewar@adacore.com>
2593
2594         * par_sco.adb, par_sco.ads (pscos): New debug routine to output
2595         contents of SCO tables.
2596         * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
2597         scos.adb, scos.ads: New files.
2598         * gcc-interface/Make-lang.in: Update dependencies.
2599
2600         * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
2601         fixes and reformatting.
2602
2603 2009-07-22  Robert Dewar  <dewar@adacore.com>
2604
2605         * g-socket.ads: Minor reformatting
2606
2607 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2608
2609         * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
2610         include the entity kind for following cases of unreferenced entities:
2611         E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
2612
2613 2009-07-22  Ed Falis  <falis@adacore.com>
2614
2615         * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
2616         with taskSuspend.
2617
2618 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2619
2620         * adadecode.c: Make this file compilable outside of GCC.
2621
2622 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2623
2624         * g-socket.adb, g-socket.ads (Check_Selector): Make sure that
2625         (partially) default-initialized socket sets are handled properly by
2626         clearing their Set component.
2627
2628 2009-07-22  Bob Duff  <duff@adacore.com>
2629
2630         * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
2631
2632 2009-07-22  Robert Dewar  <dewar@adacore.com>
2633
2634         * gnat_ugn.texi: Minor reformatting
2635
2636 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2637
2638         * errout.adb (Error_Msg): A style message within an instantiation
2639         should not be labelled as an error.
2640
2641 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2642
2643         * freeze.adb (Freeze_Entity): Do not generate extra formal for function
2644         in initialization expression if function does not have convention Ada.
2645
2646 2009-07-22  Sergey Rybin  <rybin@adacore.com>
2647
2648         * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
2649         '--separate-label' to control label layout.
2650
2651 2009-07-22  Robert Dewar  <dewar@adacore.com>
2652
2653         * exp_tss.ads, sem_eval.adb: Minor reformatting
2654
2655 2009-07-22  Bob Duff  <duff@adacore.com>
2656
2657         * exp_dist.adb, exp_dist.ads: Update comments.
2658
2659 2009-07-22  Brett Porter  <porter@adacore.com>
2660
2661         * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
2662         FPSCR.
2663         * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
2664
2665 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2666
2667         * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
2668         exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
2669         Minor reformatting.
2670         * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
2671         used poor terminology.
2672
2673 2009-07-22  Robert Dewar  <dewar@adacore.com>
2674
2675         * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
2676         * sem_eval.adb, exp_tss.adb: Minor comment update.
2677         * stylesw.adb: Code clean up.
2678
2679 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2680
2681         * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
2682         component size is an exact number of bytes, an array type can have a
2683         size clause that forces packing even though the array type itself is
2684         not bit-packed.
2685
2686 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2687
2688         * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
2689         if there is a previous entity with the same name in the scope, ignore
2690         it if it is the renaming declaration for a generic package introduced
2691         in instances.
2692
2693 2009-07-22  Nicolas Roche  <roche@adacore.com>
2694
2695         * seh_init.c: use RtlAddFunctionTable to register our SEH exception
2696         handler on x86_64 windows.
2697
2698 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2699
2700         * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
2701         false positives in CodePeer, so ignore this pragma in this mode.
2702
2703 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2704
2705         * sem_util.adb, sem_ch10.adb: Minor reformatting
2706
2707         * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
2708         special handling for the case of no data received and Item'First =
2709         Stream_Element_Offset'First.
2710         (Last_Index): New subprogram factoring the above special handling
2711         over the various locations where it is required.
2712
2713 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2714
2715         * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
2716         checks in CodePeer_Mode.
2717         * gcc-interface/Make-lang.in: Update dependencies.
2718
2719 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2720
2721         * sem_aggr.adb: Improve error message.
2722
2723         * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
2724         of an address representation clause.
2725         * freeze.adb (Freeze_Static_Object): An local imported object is legal
2726         if it has an address clause.
2727
2728 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2729
2730         * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
2731         expression to insert an elab check using a conditional expression, be
2732         sure to carry the original list of interpretations to the new location.
2733
2734 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2735
2736         * gnat1drv.adb: Fix spelling error.
2737
2738 2009-07-22  Javier Miranda  <miranda@adacore.com>
2739
2740         * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
2741         at the library level and fix a hidden bug in its implementation: its
2742         functionality for renaming objects was broken because
2743         N_Object_Renaming_Declarations nodes are not a subclass of
2744         N_Declaration nodes (as documented in sinfo.ads).
2745         * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
2746         check nodes that are actuals of generic instantiations.
2747
2748 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2749
2750         * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
2751         context of a compilation unit is being analyzed. Used to detect
2752         circularities created by with_clauses that are not detected by the
2753         loading machinery.
2754         * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
2755         analyzing the context of the current compilation unit, to detect
2756         possible circularities created by with_clauses.
2757
2758 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2759
2760         * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
2761
2762 2009-07-22  Robert Dewar  <dewar@adacore.com>
2763
2764         * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
2765         * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
2766         procedure.
2767         * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
2768         * gnat_ugn.texi: Add documentation of -gnatyB
2769         * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
2770
2771 2009-07-22  Robert Dewar  <dewar@adacore.com>
2772
2773         * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
2774         make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
2775         s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
2776         s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
2777         errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
2778         a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
2779         s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
2780         a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
2781         erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
2782         obey short-circuit style rule.
2783
2784 2009-07-20  Bob Duff  <duff@adacore.com>
2785
2786         * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
2787         instead of "and", because otherwise Parent_Last_Bit is read
2788         uninitialized in the case where it's not a tagged type, or the tagged
2789         parent does not have a complete rep clause.
2790
2791 2009-07-20  Robert Dewar  <dewar@adacore.com>
2792
2793         * stylesw.ads: Minor documentation change.
2794
2795         * types.ads: Minor reformatting
2796
2797 2009-07-20  Javier Miranda  <miranda@adacore.com>
2798
2799         * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
2800         generating the tag checks associated with dispatching calls.
2801         * exp_disp.adb (Apply_Access_Checks): New subprogram.
2802         (New_Value): This routine was previously local to expand dispatching
2803         calls but it is now used also by Apply_Access_Checks.
2804         (Expand_Dispatching_Calls): Cleanup code because the functionality of
2805         tag checks is now provided by Apply_Access_Checks. 
2806         * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
2807         case of dispatching calls.
2808
2809 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
2810
2811         * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
2812         CodePeer_Mode.
2813
2814 2009-07-20  Gary Dismukes  <dismukes@adacore.com>
2815
2816         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
2817         for VMS, only rewrite the first component of the associated exception's
2818         aggregate init (as 'V'), and eliminate the bogus rewrites of the second
2819         and third components  that were being replaced with 'M' and 'S'.
2820
2821 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
2822
2823         * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
2824         Also do not generate error when parsing a spec in CodePeer mode.
2825
2826 2009-07-20  Javier Miranda  <miranda@adacore.com>
2827
2828         * checks.adb (Apply_Access_Check): Avoid checks on availability of
2829         runtime function Offset_To_Top_Ptr when compiling with no tagged
2830         types expansion.
2831         * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
2832         adding code to the init proc when compiling for VM backends.
2833
2834 2009-07-20  Vincent Celier  <celier@adacore.com>
2835
2836         * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
2837         account switches -gnatw.?
2838
2839 2009-07-20  Thomas Quinot  <quinot@adacore.com>
2840
2841         * sem_dist.adb, exp_dist.adb: Minor reformatting
2842
2843         * Make-generated.in: New file.
2844
2845         * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
2846
2847 2009-07-20  Javier Miranda  <miranda@adacore.com>
2848
2849         * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
2850         subprogram.
2851         * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
2852         dynamically tagged expression.
2853         * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
2854         factorizes code.
2855         * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
2856         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
2857
2858 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
2859
2860         * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
2861         CodePeer_Mode is set, to benefit from full front-end expansion
2862         (e.g. generics).
2863
2864 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
2865
2866         * sem_res.adb: Add guard.
2867
2868         * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
2869         for possible attribute definition of External_Tag, in case clause
2870         appears in the private part of a package.
2871
2872 2009-07-20  Jerome Guitton  <guitton@adacore.com>
2873
2874         * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
2875
2876 2009-07-20  Vadim Godunko  <godunko@adacore.com>
2877
2878         * a-coorma.adb: Minor reformatting.
2879
2880 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
2881
2882         * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
2883         access return types.
2884         * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
2885         provide an itype reference to gigi to force elaboration of the subtype
2886         at the proper point.
2887
2888 2009-07-20  Tristan Gingold  <gingold@adacore.com>
2889
2890         * g-expect.adb: Avoid closeing already closed handle.
2891
2892 2009-07-20  Robert Dewar  <dewar@adacore.com>
2893
2894         * sprint.adb (Write_Subprogram_Name): New procedure to output
2895         subprogram name with possible preceding $ (replaces
2896         Note_Implicit_Run_Time_Call).
2897
2898 2009-07-20  Robert Dewar  <dewar@adacore.com>
2899
2900         * vms_data.ads: Minor reformatting
2901
2902         * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
2903         applies to base type.
2904         (Parent_Subtype): Now allowed on record subtype, applies to base type
2905         * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
2906         for case of fully repped tagged type.
2907         (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
2908         tag save/restore for fully repped tagged type case.
2909         * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
2910         * fe.h (Is_Fully_Repped_Tagged_Type): New function
2911         * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
2912         overlap of tagged type components with parent type if parent type is
2913         fully repped.
2914         * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
2915
2916         * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
2917         comparisons.
2918         (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
2919         (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
2920
2921         * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
2922         logical operators (AND/OR/XOR), not comparison operators.
2923
2924         * sprint.ads: Minor reformatting
2925
2926 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
2927
2928         * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
2929         intrinsics, check that argument is a string literal, rather than
2930         checking for staticness.
2931
2932 2009-07-20  Robert Dewar  <dewar@adacore.com>
2933
2934         * sem_ch13.adb: Minor reformatting
2935
2936         * einfo.ads: Minor reformatting
2937         Component_Bit_Offset is no longer considered obsolescent
2938
2939 2009-07-20  Nicolas Roche  <roche@adacore.com>
2940
2941         * a-calend.adb: Redefine time_t as signed integer with same size as
2942         Address type.
2943         * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
2944         Address type
2945         * adaint.h: On Windows 64bits declare OS_Time as long long instead of
2946         long
2947
2948 2009-07-20  Javier Miranda  <miranda@adacore.com>
2949
2950         * exp_tss.adb (Init_Proc): Add missing support for non-default C++
2951         constructors that have anonymous access type formals.
2952
2953         * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
2954         class-wide arguments in case of imported C++ subprograms.
2955
2956         * exp_ch3.adb (Build_Initialization_Call): Add assertion.
2957
2958 2009-07-20  Sergey Rybin  <rybin@adacore.com>
2959
2960         * vms_data.ads: Update qualifiers.
2961
2962 2009-07-20  Robert Dewar  <dewar@adacore.com>
2963
2964         * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
2965         reformatting
2966
2967 2009-07-17  Richard Guenther  <rguenther@suse.de>
2968
2969         PR c/40401
2970         * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
2971         state.  Remove unused parameter.
2972         (gnat_gimplify_function): Do not gimplify here.
2973         Fold into its only caller and remove.
2974         (gnat_builtin_function): Adjust for end_subprog_body signature change.
2975         (gnat_write_global_declarations): Also finalize the CU.
2976         * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
2977         * gcc-interface/trans.c (gigi): Revert to pre-tuples state.
2978         (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
2979         change.
2980         * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
2981
2982 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
2983
2984         * gcc-interface/Make-lang.in: Update dependencies
2985
2986         * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
2987
2988 2009-07-15  Robert Dewar  <dewar@adacore.com>
2989
2990         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
2991         N_Label. Remove SCO table entry for entry point (not used).
2992
2993         * par_sco.ads: Remove SCO entry point type (not used)
2994
2995         * switch.adb: Minor code clean up.
2996
2997 2009-07-15  Eric Botcazou  <ebotcazou@adacore.com>
2998
2999         * exp_dbug.ads (Base Record Types): Document enhanced encoding.
3000
3001 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3002
3003         * gnatls.adb: Minor reformatting
3004
3005         * gnatcmd.adb: Minor code reorganization
3006
3007 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3008
3009         * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
3010         determine whether a component of a private type has a composite type.
3011
3012 2009-07-15  Robert Dewar  <dewar@adacore.com>
3013
3014         * sem_ch10.adb: Minor reformatting throughout
3015         Minor code reorganization (put nested subprograms in alpha order)
3016
3017 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3018
3019         * exp_ch6.adb (Expand_Call): Prevent double attachment of the result
3020         when compiling a call to a protected function that returns a controlled
3021         object.
3022
3023 2009-07-15  Hristian Kirtchev  <kirtchev@adacore.com>
3024
3025         * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
3026         one. Add task locking and unlocking around the critical region which
3027         mentions localtime_r and global variable timezone for various targets.
3028         Comment reformatting.
3029
3030 2009-07-15  Robert Dewar  <dewar@adacore.com>
3031
3032         * gnat_rm.texi: Document s-ststop.ads
3033
3034         * impunit.ad: (Map_Array): New table of alternative names
3035         (Get_Kind_Of_Unit): Return possible suggested alternative name
3036
3037         * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
3038         alternative name.
3039
3040         * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
3041         alternative unit if an implementation unit is with'ed.
3042
3043 2009-07-15  Robert Dewar  <dewar@adacore.com>
3044
3045         * gnat_ugn.texi: Minor updates.
3046
3047         * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
3048
3049 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3050
3051         * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
3052         conditions of a derived boolean type.
3053         Minor reformatting
3054
3055 2009-07-15  Robert Dewar  <dewar@adacore.com>
3056
3057         * gnat1drv.adb: Initialize SCO tables
3058
3059         * par-load.adb: Call SCO_Record for main unit spec
3060
3061         * par.adb: Make call to SCO_Record for main unit
3062
3063         * par_sco.adb (Unit_Table): Change format to facilitate sort
3064         (Process_Decisions): New procedure with list argument
3065         (Traverse_Generic_Package_Declaration): New procedure
3066         (Initialize): New procedure, replaces Init
3067         (SCO_Output): Sort unit table before output
3068         (SCO_Record): Avoid duplications
3069         (SCO_Record): Handle remaining cases of units
3070         (Traverse_Declarations_Or_Statements): Handle generics
3071
3072         * par_sco.ads (Initialize): New peocedure (replaces Init)
3073
3074         * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
3075         subunit.
3076
3077 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
3078
3079         * debug.adb: Add -gnatd.J switch for now to support scil generation in
3080         parallel. Add missing doc for -gnatd.I and -gnatd.O
3081
3082 2009-07-15  Robert Dewar  <dewar@adacore.com>
3083
3084         * lib-load.adb: Minor reformatting
3085
3086         * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
3087
3088 2009-07-15  Robert Dewar  <dewar@adacore.com>
3089
3090         * par.adb: Minor reformatting
3091         Add ??? comment for possible bad comment
3092
3093         * par-ch10.adb: Minor reformatting
3094
3095 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3096
3097         * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
3098         is a literal of a derived boolean type, it appears as an unchecked
3099         conversion. Retrieve actual value from expression of conversion.
3100
3101 2009-07-15  Robert Dewar  <dewar@adacore.com>
3102
3103         * sem_ch3.adb: Minor reformatting
3104
3105         * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
3106         lib-writ.ads, lib-writ.adb: Minor reformatting.
3107         Fix problem with SCO format in ALI files
3108
3109 2009-07-15  Robert Dewar  <dewar@adacore.com>
3110
3111         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3112         exp_aggr.adb: Minor code reorganization (better calling sequence for
3113         Make_Temporary).
3114
3115 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3116
3117         * opt.ads: Minor comment edits
3118
3119 2009-07-15  Tristan Gingold  <gingold@adacore.com>
3120
3121         * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
3122         needed.
3123
3124 2009-07-15  Robert Dewar  <dewar@adacore.com>
3125
3126         * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
3127         information.
3128
3129         * lib-writ.ads: Document addition of SCO lines to ALI file
3130
3131         * par_sco.ads, par_sco.adb: New files.
3132
3133         * opt.ads (Generate_SCO): New switch
3134
3135         * par.adb (Par): Call SCO_Record to record SCO information
3136
3137         * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
3138
3139         * switch-c.adb: Recognize -gnateS to generate SCO information
3140
3141         * usage.adb: Add line for -gnateS
3142
3143         * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
3144
3145 2009-07-15  Robert Dewar  <dewar@adacore.com>
3146
3147         * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
3148         reformatting.
3149
3150 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3151
3152         * g-socthi-mingw.adb: Minor comment addition
3153
3154         * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
3155
3156 2009-07-15  Robert Dewar  <dewar@adacore.com>
3157
3158         * g-htable.ads, s-htable.ads: Minor reformatting
3159
3160 2009-07-15  Robert Dewar  <dewar@adacore.com>
3161
3162         * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
3163         new switch -gnatw.g.
3164         (Set_GNAT_Mode_Warnings): New procedure.
3165
3166         * lib-xref.adb: Minor reformatting
3167
3168 2009-07-15  Robert Dewar  <dewar@adacore.com>
3169
3170         * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
3171         Minor code reorganization
3172
3173 2009-07-14  Taras Glek  <tglek@mozilla.com>
3174             Rafael Espindola  <espindola@google.com>
3175
3176         * gcc-interface/Make-lang.in (ada.install-plugin): New target for
3177         installing plugin headers.
3178
3179 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3180
3181         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3182         exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
3183         and link it to the expression whose value it captures.
3184
3185 2009-07-13  Robert Dewar  <dewar@adacore.com>
3186
3187         * output.adb: Minor comment addition for last change
3188
3189         * sinfo.ads: Minor reformatting
3190
3191 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3192
3193         * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
3194         spawn failed like on all other targets.
3195
3196 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3197
3198         * exp_ch7.adb: Indicate origin of temporary for transient expression.
3199
3200 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3201
3202         * s-oscons-tmplt.c: Add comment.
3203
3204 2009-07-13  Robert Dewar  <dewar@adacore.com>
3205
3206         * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
3207         reformatting. Minor code reorganization (add 9 argument version of
3208         Nkind_In).
3209
3210         * impunit.adb: Remove s-os_lib from list of system extensions.
3211
3212         * sem_util.ads: Minor reformatting
3213
3214         * output.adb: Add warnings off/on around System.OS_Lib.
3215
3216 2009-07-13  Bob Duff  <duff@adacore.com>
3217
3218         * exp_dist.adb: Minor comment updates.
3219
3220 2009-07-13  Gary Dismukes  <dismukes@adacore.com>
3221
3222         * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
3223         several references to CodePeer.
3224
3225 2009-07-13  Bob Duff  <duff@adacore.com>
3226
3227         * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
3228         Build_TypeCode_Function_All): Do not recurse if the type is the base
3229         type.
3230
3231 2009-07-13  Robert Dewar  <dewar@adacore.com>
3232
3233         * exp_ch4.adb: Minor comment change
3234
3235 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3236
3237         * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
3238         type of iteration, to prevent spurious warnings.
3239
3240 2009-07-13  Nicolas Roche  <roche@adacore.com>
3241
3242         * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
3243         included.
3244
3245 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3246
3247         * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
3248         gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
3249         Generate_SCIL.
3250         (CodePeer_Mode): New -gnatC switch.
3251         (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
3252         CodePeer_Mode.
3253
3254 2009-07-13  Eric Botcazou  <ebotcazou@adacore.com>
3255
3256         * checks.adb (Selected_Range_Checks): Do not consider that a non-static
3257         integer bound forces the check if it is compared to its subtype range.
3258
3259 2009-07-13  Robert Dewar  <dewar@adacore.com>
3260
3261         * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
3262         prj-strt.ads: Minor reformatting
3263
3264 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3265
3266         * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
3267         set the type of the From_Any call to the base type.
3268
3269 2009-07-13  Doug Rupp  <rupp@adacore.com>
3270
3271         * symbols-processing-vms-ia64.adb (Process): Add variables and
3272         constants to retrieve and check for symbol visibility.
3273
3274 2009-07-13  Javier Miranda  <miranda@adacore.com>
3275
3276         * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
3277         the identical type we remove the conversion completely because
3278         it is useless.
3279
3280 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3281
3282         * prj-err.adb (Error_Msg): One more case where a message should be
3283         considered as a warning.
3284
3285         * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
3286
3287 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3288
3289         * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
3290         calling stubs in the (library level) scope of the RCI locator, where it
3291         is attached, not in the caller's scope.
3292
3293 2009-07-13  Javier Miranda  <miranda@adacore.com>
3294
3295         * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
3296         interface object declarations we delay the generation of the equivalent
3297         record type declarations until its expansion because there are cases in
3298         which they are not required.            
3299
3300         * sem_util.adb (Implements_Interface): Add missing support for subtypes.
3301
3302         * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
3303         addition of assertion.
3304
3305         * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
3306         interface types require no equivalent constrained type declarations
3307         because the expanded code only references the tag component associated
3308         with the interface.
3309         (Find_Interface_Tag): Improve management of interfaces that are
3310         ancestors of tagged types.
3311
3312         * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
3313         class-wide object declarations to add missing support to statically
3314         displace the pointer to the object to reference the tag component
3315         associated with the interface.
3316
3317         * exp_disp.adb (Make_Tags) Avoid generation of internally generated
3318         auxiliary types associated with user-defined dispatching calls if the
3319         type has no user-defined primitives.
3320
3321 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3322
3323         * mingw32.h: Make it explicit that we need XP or later.
3324
3325         * initialize.c: Remove useless extern symbol declaration.
3326
3327         * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
3328         code reuse in expect.c.
3329
3330         * adaint.c: Changes throughout the Windows section to redesign storage
3331         of the child process list and the process identification.
3332
3333         * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
3334         for interfacing, fix errors.
3335         (__gnat_expect_portable_execvp): use function in adaint.c
3336
3337 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3338
3339         * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
3340         prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
3341         prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
3342         errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
3343         (Prj.Nmsc.Report_Error): Removed, no longer needed.
3344         Always use Prj.Err.Report_Message.
3345
3346 2009-07-13  Robert Dewar  <dewar@adacore.com>
3347
3348         * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
3349         & comment edits.
3350
3351 2009-07-13  Robert Dewar  <dewar@adacore.com>
3352
3353         * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
3354         prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
3355
3356 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3357
3358         * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
3359         mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
3360         Ada_Prj_Include_File_Set): Removed, since not needed
3361         Code clean up.
3362
3363 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3364
3365         * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
3366         Analyze_Membership_Op.
3367
3368         * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
3369         Resolve_Membership_Op.
3370
3371         * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
3372         Expand_N_In.
3373
3374 2009-07-13  Robert Dewar  <dewar@adacore.com>
3375
3376         * clean.adb: Minor reformattting
3377
3378 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3379
3380         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
3381         gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
3382         prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
3383         prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
3384         and attributes in a project tree.
3385         (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
3386         Remove last remaining mode-specific code (ada_only or
3387         multi_language). This was duplicating code
3388         (Get_Mode, Set_Mode): removed, no longer used.
3389         (Initialize_Project_Path): all tools will now take into account both
3390         GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
3391         Remove some global variables and subprograms no longer used
3392         Make temporary files tree-specific, to avoid interferences between
3393         trees loaded in memory at the same time.
3394         (Prj.Delete_Temporary_File): new subprogram
3395         (Object_Paths, Source_Paths): fields no longer stored in the project
3396         tree, since they are only needed locally in Set_Ada_Paths.
3397         (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
3398         effect in practice.
3399         (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
3400         by local variables in the appropriate subprograms
3401         (Has_Foreign_Sources): removed.
3402
3403         * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
3404
3405 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3406
3407         * gnat1drv.adb (Adjust_Global_Switches): No longer set
3408         Back_Annotate_Rep_Info in inspector mode.
3409         (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
3410
3411         * opt.ads: Update comment.
3412
3413 2009-07-13  Robert Dewar  <dewar@adacore.com>
3414
3415         * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
3416         prj.ads: Minor reformatting and code reorganization.
3417
3418         * par-ch3.adb (Check_Restricted_Expression): New procedure
3419
3420 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3421
3422         * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
3423         attribute into a call of the corresponding suprogram, create extra
3424         formals for the subprogram, because it may be a renaming whose
3425         analysis does not create extra formals.
3426
3427 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3428
3429         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
3430         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3431         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
3432         prj-tree.ads: Minor reformatting.
3433         (Processing_Flags): new record to encapsulate the set of common
3434         parameters to several subprograms in the project manager.
3435         (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
3436         Remove the need for the Current_Dir parameter in subprograms.
3437         (Look_For_Sources): minor refactoring, now that we no longer need to
3438         share subprograms between the two Ada_Only and Multi_Language modes
3439         (Processing_Flags): New field Error_On_Unknown_Language.
3440         Merge tests for library project between gnatmake and gprbuild.
3441
3442 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3443
3444         * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
3445         Minor reformatting.
3446
3447 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3448
3449         * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
3450         than units.
3451
3452 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3453
3454         * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
3455         Write,Input,Output} from private view to full view.
3456
3457         * sem_type.adb, sem_type.ads: Minor reformatting
3458
3459 2009-07-13  Nicolas Setton  <setton@adacore.com>
3460
3461         * exp_dbug.ads: Add documentation note on the utility of
3462         DW_AT_GNAT_encoding for IDEs.
3463
3464 2009-07-13  Robert Dewar  <dewar@adacore.com>
3465
3466         * g-socthi-vxworks.adb: Minor reformatting
3467
3468         * gnatcmd.adb: Minor reformatting
3469
3470 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3471
3472         * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
3473         removed, not used anymore.
3474         (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
3475         New subprogram, implements copy of an Any value into a limited object.
3476         (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
3477         Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
3478         Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
3479         of parameters of a limited type, use the above new subprogram.
3480
3481 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3482
3483         * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
3484         Location.
3485         (Copy_ALI_Files): Avoid calls to read when pointing outside of the
3486         allocated space.
3487         (Error_Report): Remove global variable, replaced by parameters.
3488
3489 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3490
3491         * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
3492         standard sendto(2) interface for connected sockets (passing a null
3493         destination address). Use send(2) instead for that case.
3494
3495 2009-07-13  Pascal Obry  <obry@adacore.com>
3496
3497         * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
3498
3499 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3500
3501         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
3502         prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
3503         variables and tables in prj-nmsc.adb.
3504         (Tree_Processing_Data): Renames Processing_Data, some new fields added
3505         (Project_Processing_Data): New record
3506         Simplify/unify check for missing sources.
3507
3508 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3509
3510         * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
3511         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3512         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
3513         prj-tree.ads (Immediate_Directory_Of): Removed.
3514         (Prj.Pars): Now parse the project simulating a default config file.
3515         (Add_Default_GNAT_Naming_Scheme): New subprogram
3516         (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
3517         Remove gnatmake-specific parsing of source files.
3518         (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
3519         the error itself to provide more precise diagnostics.
3520         (Process_Exceptions_Unit_Based): Avoid duplicate error message when
3521         a unit belongs to several projects.
3522         (Copy_Interface_Sources): Search the full path of files to copy in the
3523         list of sources of the application rather than in the list of units.
3524         (Parse_Project_And_Apply_Config): Do not reset the name of the main
3525         project file.
3526         (Check_File): Use htables to find out whether a source is duplicated.
3527         (Add_Source): check whether the source or unit were already seen earlier
3528
3529         * gcc-interface/Makefile.in: Update gnatmake dependencies.
3530
3531 2009-07-13  Robert Dewar  <dewar@adacore.com>
3532
3533         * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
3534         expression if extensions permitted.
3535
3536         * par-ch4.adb (P_Membership_Test): New procedure (implement membership
3537         set tests).
3538         (P_Relation): Use P_Membership_Test
3539
3540         * par.adb (P_Membership_Test): New procedure (implement membership set
3541         tests).
3542
3543         * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
3544
3545         * sprint.adb (Sprint_Node): Handle set form for membership tests.
3546
3547 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3548
3549         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
3550         Do not attempt to generate stubs for predefined primitives of
3551         synchronized interfaces.
3552         (Add_Stub_Type): Factor some code from the PCS-specific variants of
3553         Build_Stub_Type.
3554
3555 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3556
3557         * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
3558         Controlling_Result flag from the operation they override.
3559
3560 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3561
3562         * gcc-interface/Make-lang.in: Update dependencies
3563
3564 2009-07-13  Robert Dewar  <dewar@adacore.com>
3565
3566         * gnat_ugn.texi: The gnatf switch no longer is needed to get full
3567         details on unsupported constructs.
3568
3569         * rtsfind.adb: Remove references to All_Errors_Mode, give errors
3570         unconditionally.
3571
3572         * s-trafor-default.adb: Correct some warnings
3573
3574         * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
3575         sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
3576         Minor reformatting.
3577
3578         * par-ch4.adb (Conditional_Expression): Capture proper location for
3579         conditional expression, should point to IF.
3580
3581         * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
3582         s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
3583         g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
3584         reorganization (use conditional expressions).
3585
3586 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3587
3588         * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
3589         build-in-place function that returns an inherently limited type (not
3590         just a task type) create proper object declaration so that extra
3591         build-in-place actuals are properly added to the call.
3592
3593 2009-07-13  Robert Dewar  <dewar@adacore.com>
3594
3595         * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
3596
3597         * gnat_ugn.texi: Add documentation for -gnatw.m/.M
3598
3599         * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
3600
3601         * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
3602         Warn_On_Suspicious_Modulus_Value.
3603
3604         * ug_words: Add entries for -gnatw.m/-gnatw.M.
3605
3606         * usage.adb: Add lines for -gnatw.m/.M switches.
3607
3608         * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
3609
3610 2009-07-13  Javier Miranda  <miranda@adacore.com>
3611
3612         * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
3613         reading the Is_Interface attribute of the dispatching type.
3614
3615 2009-07-13  Robert Dewar  <dewar@adacore.com>
3616
3617         * a-convec.adb: Minor code reorganization (use conditional expressions)
3618
3619 2009-07-13  Robert Dewar  <dewar@adacore.com>
3620
3621         * freeze.adb (Check_Suspicious_Modulus): New procedure.
3622
3623 2009-07-13  Robert Dewar  <dewar@adacore.com>
3624
3625         * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
3626         warning).
3627
3628         * par-ch4.adb: Minor reformatting
3629
3630 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3631
3632         * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
3633         => Is_Atomic_Aggregate
3634
3635 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3636
3637         * prj-nmsc.adb: Avoid traversing the list of source files if
3638         we have already processed all locally removed files.
3639
3640 2009-07-13  Jose Ruiz  <ruiz@adacore.com>
3641
3642         * gnat_ugn.texi: Fix typo.
3643
3644 2009-07-13  Robert Dewar  <dewar@adacore.com>
3645
3646         * freeze.adb: Minor reformatting
3647         Minor code reorganization (use Nkind_In)
3648
3649         * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
3650
3651 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
3652
3653         * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
3654         local variable and do not test it in Compile_Time_Bad_Alignment.
3655         Do not issue size or alignment warnings for the X'Address form.
3656         * sem_util.ads (Find_Overlaid_Object): Delete.
3657         (Find_Overlaid_Entity): New procedure.
3658         * sem_util.adb (Find_Overlaid_Object): Rename to...
3659         (Find_Overlaid_Entity): ...this and turn into a procedure.  Report
3660         whether the address is offseted within the overlaid entity.
3661         (Has_Compatible_Alignment): Track the offset globally instead of
3662         passing it to Check_Offset.  For an indexed component, compute the
3663         full offset when possible.  If the resulting offset is zero, only
3664         check the prefix.
3665         (Check_Offset): Delete.
3666         * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
3667         (Address_Aliased_Entity): Delete.
3668         (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
3669         Find_Overlaid_Entity to find the overlaid entity and the offset.
3670         Adjust throughout for above change.
3671         (Validate_Address_Clauses): Always use attributes of entities, not of
3672         their type.  Tweak message for warning.  Call Has_Compatible_Alignment
3673         if the address is offseted to warn about incompatible alignments.
3674         * gcc-interface/gigi.h (annotate_object): Declare.
3675         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
3676         entity.  Call annotate_object instead of annotating manually objects.
3677         (annotate_object): New function.
3678         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
3679         at the end.
3680
3681 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
3682
3683         * gcc-interface/ada-tree.h: Minor reorganization.
3684         * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
3685         (gnat_print_type): Likewise.
3686
3687 2009-07-11  Thomas Quinot  <quinot@adacore.com>
3688
3689         * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
3690         Lvalue -> lvalue
3691
3692         * exp_ch6.adb: Minor reformatting
3693
3694 2009-07-11  Ed Schonberg  <schonberg@adacore.com>
3695
3696         * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
3697         account possible type qualification to determine whether aggregate
3698         needs a target temporary to respect atomic type or object.
3699
3700         * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
3701         Expand_Atomic_Aggregate.
3702
3703 2009-07-11  Emmanuel Briot  <briot@adacore.com>
3704
3705         * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
3706         algorithm.
3707         (Excluded_Sources_Htable): No longer a global table.
3708         Change error message to indicate which files are illegal in the list
3709         of excluded files, as opposed to only the location in the project
3710         file.
3711         (Find_Source): New subprogram.
3712
3713 2009-07-10  Thomas Quinot  <quinot@adacore.com>
3714
3715         * exp_ch7.adb: Update comments.
3716
3717 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
3718
3719         * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
3720         clause if -gnatI is set instead of crashing.
3721
3722 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3723
3724         * sem_ch11.adb (Same_Expression): Null is always equal to itself.
3725         Additional work to remove redundant successive raise statements, in
3726         this case access checks.
3727
3728 2009-07-10  Vincent Celier  <celier@adacore.com>
3729
3730         * make.adb (Compile): Always create a deep copy of the mapping file
3731         argument (-gnatem=...) as it may be deallocate/reallocate by
3732         Normalize_Arguments.
3733
3734 2009-07-10  Javier Miranda  <miranda@adacore.com>
3735
3736         * einfo.adb (Directly_Designated_Type): Add assertion.
3737         
3738         * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
3739         access types before using attribute Directly_Designated_Type.
3740
3741 2009-07-10  Emmanuel Briot  <briot@adacore.com>
3742
3743         * prj.ads: Minor typo fix
3744
3745 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3746
3747         * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
3748         special treatment.
3749
3750         * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
3751         subprogram is a function call, resolve properly, to ensure that extra
3752         actuals are added as needed.
3753
3754 2009-07-10  Thomas Quinot  <quinot@adacore.com>
3755
3756         * sem_aggr.adb: Minor comments editing
3757
3758         * exp_tss.adb, exp_ch3.adb: Minor reformatting
3759
3760 2009-07-10  Robert Dewar  <dewar@adacore.com>
3761
3762         * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
3763
3764         * exp_ch4.adb: Add ??? comment for conditional expressions on limited
3765         types.
3766
3767         * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
3768         replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
3769         case of conditional expressions that may not be elaborated.
3770
3771         * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
3772         conditional expression where we may not execute then then or else
3773         branches.
3774
3775 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
3776
3777         * i-cexten.ads (bool): New type.
3778
3779 2009-07-10  Robert Dewar  <dewar@adacore.com>
3780
3781         * sinfo.ads (N_Short_Circuit): New definition
3782         
3783         * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
3784         treepr.adb: Minor code reorganization (use N_Short_Circuit)
3785
3786 2009-07-10  Javier Miranda  <miranda@adacore.com>
3787
3788         * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
3789         non-tagged record types.
3790
3791         * sem_prag.adb
3792         (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
3793         with non-tagged types. Required to import C++ classes that have no
3794         virtual primitives.
3795         (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
3796         returning non-tagged types. For backward compatibility, if the
3797         constructor returns a class wide type we internally change the
3798         returned type to the corresponding non class-wide type.
3799
3800         * sem_aggr.adb
3801         (Valid_Ancestor_Type): CPP_Constructors code cleanup.
3802         (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
3803         (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
3804         (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
3805
3806         * sem_ch3.adb
3807         (Analyze_Object_Declaration): CPP_Constructors code cleanup.
3808
3809         * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
3810
3811         * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
3812
3813         * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
3814
3815         * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
3816         cleanup.
3817         
3818         * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
3819
3820         * gnat_rm.texi
3821         (pragma CPP_Class): Document that it can be used now with non-tagged
3822         record types.
3823         (pragma CPP_Constructor): Document that it can be used now with
3824         functions returning specific types. For backward compatibility
3825         we also support functions returning class-wide types.
3826
3827         * gnat_ugn.texi
3828         (Interfacing with C++ constructors): Update the examples to incorporate
3829         the new syntax in which the functions used to import C++ constructors
3830         return specific types.
3831         (Interfacing with C++ at the Class Level): Update the examples to
3832         incorporate the new syntax in which the functions used to import
3833         C++ constructors return specific types.
3834
3835 2009-07-10  Thomas Quinot  <quinot@adacore.com>
3836
3837         * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
3838         Make_Disp_Conditional_Select_Body,
3839         Make_Disp_Timed_Select_Body): For the case of a type that is neither an
3840         interface nor a concurrent type, the primitive body is empty. Generate
3841         a null statement so that it remains well formed.
3842
3843 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3844
3845         * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
3846         replace references to them in defaulted component expressions with
3847         references to the values of the discriminants of the target object.
3848
3849 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3850
3851         * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
3852         pragma, to capture global references if the context is generic.
3853
3854         * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
3855         appears within the initialization procedure for the corresponding
3856         record, replace it with the proper discriminal.
3857
3858 2009-07-10  Vincent Celier  <celier@adacore.com>
3859
3860         * make.adb: Do not include object directories or library ALI
3861         directories of library projects in the object path.
3862
3863 2009-07-10  Javier Miranda  <miranda@adacore.com>
3864
3865         * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
3866         Typ argument to ensure proper management of access types.
3867
3868 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3869
3870         * exp_ch7.adb (Build_Final_List): If the list is being built for a
3871         Taft-Amendment type, place the finalization list in the package body,
3872         to ensure that the tree for the spec is identical whenever it is
3873         compiled.
3874
3875 2009-07-10  Javier Miranda  <miranda@adacore.com>
3876
3877         * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
3878         inheriting attributes from a private Parent_Base.
3879
3880 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3881
3882         * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
3883         statements with the same condition.
3884
3885 2009-07-10  Robert Dewar  <dewar@adacore.com>
3886
3887         * exp_ch4.adb (Raise_Accessibility_Error): New procedure
3888
3889 2009-07-09  Tom Tromey  <tromey@redhat.com>
3890
3891         * raise-gcc.c: Include dwarf2h (unconditionally).
3892
3893 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
3894
3895         * sem_ch10.adb (Install_Context): If the unit is a package body,
3896         install the private with_clauses of the corresponding package
3897         declaration.
3898
3899 2009-07-09  Robert Dewar  <dewar@adacore.com>
3900
3901         * checks.adb: Minor reformatting
3902
3903 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
3904
3905         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
3906         into ug_words.
3907
3908 2009-07-09  Thomas Quinot  <quinot@adacore.com>
3909
3910         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
3911         Do not warn for a constant overlaying any constant object
3912
3913 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
3914
3915         * sem_ch10.adb (Install_Context): If the unit is a package body,
3916         install the private with_clauses of the corresponding package
3917         declaration.
3918
3919 2009-07-09  Robert Dewar  <dewar@adacore.com>
3920
3921         * checks.adb: Minor reformatting
3922
3923 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
3924
3925         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
3926         into ug_words.
3927
3928 2009-07-09  Thomas Quinot  <quinot@adacore.com>
3929
3930         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
3931         Do not warn for a constant overlaying any constant object
3932
3933 2009-07-09  Arnaud Charlet  <charlet@adacore.com>
3934
3935         * gcc-interface/Make-lang.in: Update dependencies
3936
3937 2009-07-09  Thomas Quinot  <quinot@adacore.com>
3938
3939         * g-socket.adb (Check_Selector): Do not create local copies of the
3940         socket sets on the stack.
3941
3942 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
3943
3944         * gnat_ugn.texi: Add missing VMS translations.
3945
3946 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
3947
3948         * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
3949         condition, to prevent generation of visible code during expansion,
3950         when Check is not enabled.
3951
3952 2009-07-09  Gary Dismukes  <dismukes@adacore.com>
3953
3954         * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
3955         the check gets registered for any available local handler
3956         (Set_Local_Raise).
3957
3958         * sem_util.adb: Add with and use of Exp_Ch11.
3959         (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
3960         that the check gets registered for any available local handler.
3961
3962         * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
3963         on slice ranges.
3964
3965 2009-07-09  Steve Baird  <baird@adacore.com>
3966
3967         * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
3968         function.
3969         (Expand_N_Exception_Declaration): Fix handling of exceptions
3970         declared in a subprogram.
3971
3972 2009-07-09  Emmanuel Briot  <briot@adacore.com>
3973
3974         * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
3975         multi-unit files.
3976
3977 2009-07-09  Thomas Quinot  <quinot@adacore.com>
3978
3979         * freeze.adb: Minor reformatting
3980
3981         * exp_ch3.adb: Minor comment fix.
3982
3983         * sinfo.ads: Minor comment fix
3984
3985 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
3986
3987         * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
3988
3989 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
3990
3991         * freeze.adb (Freeze_Expression): If the expression is the name of a
3992         function in a call, and the function has not been frozen yet, create
3993         extra formals for it to ensure that the proper actuals are created
3994         when expanding the call.
3995
3996 2009-07-09  Emmanuel Briot  <briot@adacore.com>
3997
3998         * prj-pp.adb (Print): Fix handling of source index when set on a
3999         declaration node.
4000
4001 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4002
4003         * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
4004         a temporary to the source expression whose value it captures.
4005
4006         * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
4007
4008 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4009
4010         * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
4011         EXPR_LOCATION.
4012
4013 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
4014
4015         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
4016         parameters when the subtype of the actual is not known to be a subrange
4017         of the formal's subtype.
4018         (Expand_Call): Generate a range check only in the E_In_parameter case
4019         (in out parameter range checks are now handled in Expand_Actuals).
4020
4021         * exp_ch4.adb (Expand_N_Slice): Restore code that calls
4022         Enable_Range_Check.
4023
4024 2009-07-07  Robert Dewar  <dewar@adacore.com>
4025
4026         * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
4027
4028 2009-07-07  Javier Miranda  <miranda@adacore.com>
4029
4030         * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
4031         designated type comes from a limited views.
4032
4033 2009-07-07  Emmanuel Briot  <briot@adacore.com>
4034
4035         * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
4036         locally removed files that are later made visible again in an importing
4037         project.
4038
4039 2009-07-07  Robert Dewar  <dewar@adacore.com>
4040
4041         * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
4042
4043 2009-07-07  Sergey Rybin  <rybin@adacore.com>
4044
4045         * gnat_ugn.texi: Add an example to the description of gnatcheck
4046         'Style_Checks' rule option.
4047
4048 2009-07-07  Tristan Gingold  <gingold@adacore.com>
4049
4050         * seh_init.c: Fix inline assembly statement in seh_init.c
4051
4052 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4053
4054         * sem_warn.adb (Check_References): Do not emit warnings on formals of
4055         an entry body. Only the formals of the entry declaration are traced.
4056
4057 2009-07-07  Robert Dewar  <dewar@adacore.com>
4058
4059         * s-osprim-mingw.adb: Minor code reorganization
4060
4061 2009-07-07  Robert Dewar  <dewar@adacore.com>
4062
4063         * prj-nmsc.adb: Minor reformatting
4064
4065 2009-07-07  Pascal Obry  <obry@adacore.com>
4066
4067         * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
4068         cases where Pattern is longer than Source.
4069
4070 2009-07-07  Pascal Obry  <obry@adacore.com>
4071
4072         * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
4073
4074 2009-07-07  Emmanuel Briot  <briot@adacore.com>
4075
4076         * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
4077         project file.
4078
4079 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4080
4081         * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
4082         primitive operations, in case one of them is called in the
4083         initialization procedure for the type.
4084
4085 2009-07-07  Robert Dewar  <dewar@adacore.com>
4086
4087         * a-calend.adb: Minor code reorganization (use conditional expressions)
4088
4089         * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
4090         prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
4091         s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
4092         s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
4093         s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
4094         g-comlin.adb, exp_ch11.adb: Minor reformatting.
4095
4096 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
4097
4098         * checks.adb (Generate_Range_Check): Replace type conversions with
4099         unchecked conversions to support the case of performing range checks
4100         on Enum'Val (permits integer values to be converted to enumeration).
4101
4102         * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
4103         Attribute_Succ): Set Do_Range_Check to False before calling
4104         Expand_Pred_Succ, to prevent gigi from generating any range checks.
4105         (Expand_N_Attribute_Reference, case Attribute_Val):
4106         Generate a range check when needed (and set Do_Range_Check to False).
4107
4108         * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
4109         scalar object initialization if needed.
4110
4111         * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
4112         when needed on scalar allocators.
4113         (Expand_N_Qualified_Expression): Generate range check when needed.
4114         (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
4115         Checks on slice ranges handled in Resolve_Slice.
4116
4117         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
4118         when needed, for all scalar assignments, not just discrete.
4119         (Expand_Simple_Function_Return): Resolve the conversion created for a
4120         scalar function return so that the conversion will get expanded to
4121         generate a possible constraint check.
4122
4123         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
4124         in out scalar actuals when subtypes don't match, to ensure generation
4125         of return checks (and set Do_Range_Check to False).
4126         (Expand_Call): Uncomment code to perform range checks, but make it apply
4127         only to in and in out parameters (checks on parameter returns are
4128         handled in Expand_Actuals). If a scalar actual for a call to a derived
4129         subprogram is marked as needing a range check, peform it here (and set
4130         Do_Range_Check to False).
4131
4132         * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
4133         range check on scalar component associations when needed.
4134
4135         * sem_eval.adb (In_Subrange_Of): Return False when the first type has
4136         infinities but the second type does not, as these aren't compatible
4137         floating-point types.
4138
4139         * sem_res.adb (Resolve_Slice): In the case where the prefix of the
4140         slice is itself a slice, pick up the Etype of the prefix. This handles
4141         the case where the prefix was an Image attribute expanded to a slice,
4142         and ensures that we get the subtype with the slice constraint rather
4143         than the unconstrained subbtype of the 'Image.
4144
4145 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4146
4147         * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
4148         overloaded expressions in a conditional expressions.
4149
4150         * sem_res.adb (Resolve): Handle properly overloaded conditional
4151         expressions.
4152
4153 2009-07-07  Robert Dewar  <dewar@adacore.com>
4154
4155         * scng.adb: Minor reformattting
4156
4157         * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
4158         association allows conditional expression without parens.
4159
4160         * par-ch4.adb (P_Name): Attribute arguments can be conditional
4161         expressions without enclosing parentheses, and also as parameters,
4162         indexing expressions etc.
4163         (P_Conditional_Expression): New procedure
4164         (P_Expression_If_OK): New procedure
4165
4166         * par.adb (P_Conditional_Expression): New procedure
4167         (P_Expression_If_OK): New procedure
4168
4169         * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
4170         form of conditional expression.
4171
4172         * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
4173         missing True argument if ELSE argument missing.
4174
4175         * sinfo.adb (Is_Elsif): New flag
4176
4177         * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
4178         part of the language, and the documentation is modified accordingly.
4179         (Is_Elsif): New flag
4180
4181 2009-07-06  Olivier Hainque  <hainque@adacore.com>
4182
4183         * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
4184         setjmp_longjmp): Attach the exception propagation reraise fallback
4185         to the sequence end label location when we have it.
4186
4187 2009-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
4188
4189         PR ada/40608
4190         * init.c (APPLE): Include <mach/mach_init.h>.
4191         (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
4192
4193 2009-07-04  Eric Botcazou  <ebotcazou@adacore.com>
4194
4195         * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
4196         (SET_DECL_LANG_SPECIFIC): Likewise.
4197         (TYPE_RM_VALUE): New macro.
4198         (SET_TYPE_RM_VALUE): Likewise.
4199         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
4200         (TYPE_RM_MIN_VALUE): Likewise.
4201         (TYPE_RM_MAX_VALUE): Likewise.
4202         (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
4203         (SET_TYPE_RM_MIN_VALUE): Likewise.
4204         (SET_TYPE_RM_MAX_VALUE): Likewise.
4205         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
4206
4207 2009-07-04  Laurent GUERBY  <laurent@guerby.net>
4208
4209         PR ada/40631
4210         * tracebak.c (__gnat_backtrace): Fix old-style definition.
4211
4212 2009-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4213
4214         * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
4215
4216 2009-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4217
4218         PR ada/40609
4219         * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
4220         ucontext argument.
4221
4222 2009-07-01  Eric Botcazou  <ebotcazou@adacore.com>
4223
4224         * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
4225
4226 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4227
4228         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
4229         the type of the left operand if it pads a self-referential type when
4230         the right operand is a constructor.
4231
4232         * gcc-interface/lang-specs.h: Fix copyright date.
4233
4234 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4235
4236         * gcc-interface/decl.c: Include tree-inline.h.
4237         (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
4238         * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
4239         * gcc-interface/utils2.c: Include tree-inline.
4240         (known_alignment) <CALL_EXPR>: Likewise.
4241
4242 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4243
4244         * raise-gcc.c: Include dwarf2.h conditionally.
4245         
4246 2009-06-29  Tom Tromey  <tromey@redhat.com>
4247
4248         * raise-gcc.c: Include elf/dwarf2.h.
4249
4250 2009-06-27  Laurent GUERBY  <laurent@guerby.net>
4251
4252         * tb-gcc.c (trace_callback): Add casts to silence warning.
4253
4254 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4255
4256         * tb-gcc.c: Fix copyright notice.
4257
4258 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4259
4260         * init.c (__gnat_set_globals): Add prototype.
4261         * adaint.c (__gnat_binder_supports_auto_init): Likewise.
4262         (__gnat_sals_init_using_constructors): Likewise.
4263         * gcc-interface/utils.c (gnat_pushlevel): Likewise.
4264         (get_block_jmpbuf_decl): Likewise.
4265         (gnat_poplevel): Likewise.
4266         (merge_sizes): Rename local variable.
4267         (copy_type): Likewise.
4268         (build_vms_descriptor32): Likewise.
4269         (build_vms_descriptor): Likewise.
4270         (convert_vms_descriptor64): Likewise.
4271         (convert_vms_descriptor32): Likewise.
4272         (convert_to_fat_pointer): Likewise.
4273         (maybe_unconstrained_array): Likewise.
4274         (def_fn_type): Use promoted type with va_arg.
4275         * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
4276         (substitute_in_type): Rename local variable.
4277         * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
4278
4279 2009-06-26  Laurent GUERBY  <laurent@guerby.net>
4280
4281         * tb-gcc.c (trace_callback): Use char* instead of void*.
4282         * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
4283         * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
4284         (Attribute_to_gnu): Adjust for above change.
4285         (Subprogram_Body_to_gnu): Likewise.
4286         * gcc-interface/utils.c (merge_sizes): Rename local variable.
4287         (copy_type): Likewise.
4288         (build_vms_descriptor32): Likewise.
4289         (build_vms_descriptor): Likewise.
4290         (convert_vms_descriptor64): Likewise.
4291         (convert_vms_descriptor32): Likewise.
4292         (convert_to_fat_pointer): Likewise.
4293         (maybe_unconstrained_array): Likewise.
4294         * gcc-interface/decl.c (substitute_in_type): Likewise.
4295
4296 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4297
4298         * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
4299         (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
4300         of the upper bound of the index types.
4301
4302 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4303
4304         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
4305         out common predicate.  Use the maximum to compute the upper bound of
4306         the index type only when it is not wider than sizetype.  Perform the
4307         comparison in the index type for the generic expression.  Use real
4308         precision to decide whether to generate special types for debugging
4309         information.
4310
4311 2009-06-26  Matthew Gingell  <gingell@adacore.com>
4312
4313         * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
4314
4315 2009-06-26  Vincent Celier  <celier@adacore.com>
4316
4317         * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
4318         default.
4319
4320 2009-06-26  Robert Dewar  <dewar@adacore.com>
4321
4322         * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
4323
4324 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4325
4326         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
4327         correct arguments to create_field_decl.  Remove redundant iteration.
4328         Rewrite computation of the maximum size.
4329         <E_Array_Subtype>: Reorder and simplify handling of special cases.
4330         Rewrite computation of the maximum size.  Use consistent naming.
4331         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
4332         comparison order for consistency.  Use generic integer node to
4333         build the operator and fold the result.
4334
4335 2009-06-25  Vincent Celier  <celier@adacore.com>
4336
4337         * vms_data.ads: Minor comment change
4338
4339 2009-06-25  Gary Dismukes  <dismukes@adacore.com>
4340
4341         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
4342         assignment statement to targeting a caller-provided object when the
4343         result type is an interface type.
4344
4345         * exp_ch6.adb (Expand_Call): Remove redundant test of
4346         Is_Limited_Interface (Is_Inherently_Limited is sufficient).
4347         (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
4348
4349         * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
4350         to OK_For_Limited_Init.
4351
4352         * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
4353         condition so that True is returned for all limited interfaces, not
4354         just synchronized ones. Ignore components of an interface type when
4355         checking for limited components (such a component can be a parent
4356         component).
4357
4358         * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
4359         (OK_For_Limited_Init): Add type parameter.
4360
4361         * sem_ch3.adb (Check_Initialization): Add type in call to
4362         OK_For_Limited_Init.
4363         (OK_For_Limited_Init): Add new type param in call to
4364         OK_For_Limited_Init_In_05.
4365         (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
4366         nonlimited type when the context type is a limited interface. Add type
4367         on recursive calls.
4368
4369         * sem_ch4.adb (Analyze_Allocator): Add type in call to
4370         OK_For_Limited_Init.
4371
4372         * sem_ch6.adb (Check_Limited_Return): Add type in call to
4373         OK_For_Limited_Init.
4374
4375         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
4376         OK_For_Limited_Init.
4377         (Instantiate_Object): Add type in call to OK_For_Limited_Init.
4378
4379         * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
4380         class-wide interface, get the base type before applying Etype, in order
4381         to account for class-wide subtypes.
4382
4383 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4384
4385         * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
4386         prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
4387         between gnatmake and gprbuild.
4388         (Naming_Data): Removed, no longer used
4389         (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
4390         needed locally in one subprogram, no need to store forever in the
4391         structure.
4392         (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
4393         a similar role.
4394         (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
4395         Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
4396         Spec_Suffix_Id_Of): removed, no longer used.
4397
4398 2009-06-25  Javier Miranda  <miranda@adacore.com>
4399
4400         * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
4401         types on qualified expression in calls to imported C++ constructors.
4402
4403         * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
4404         imported C++ constructors.
4405
4406 2009-06-25  Sergey Rybin  <rybin@adacore.com>
4407
4408         * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
4409
4410 2009-06-25  Vincent Celier  <celier@adacore.com>
4411
4412         * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
4413         provided, on Windows change all '/' to '\'.
4414
4415         * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
4416         used. Minor comment changes
4417
4418         * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
4419         Remove_Forbidden_File_Name.
4420
4421 2009-06-25  Quentin Ochem  <ochem@adacore.com>
4422
4423         * prj.ads (Unit_Index): Now general access type.
4424
4425 2009-06-25  Pascal Obry  <obry@adacore.com>
4426
4427         * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
4428
4429 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4430
4431         * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
4432         prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
4433         computed efficiently from the other fields.
4434         (Object_To_Global_Archive): New subprogram
4435         (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
4436         (Override_Kind): Fix handling of separates in Ada.
4437         (Create_Mapping_File): Remove duplicate code
4438         (Naming_Data.Implementation_Exception, Specification_Exception):
4439         field removed, since never used.
4440         (Naming_Data.Specs, .Bodies): field removed, since this is only
4441         used while processing the project and is not needed once the tree
4442         is in memory. This brings Naming_Data and Lang_Naming_Data
4443         closer (same content now, but different use still).
4444
4445 2009-06-25  Pascal Obry  <obry@adacore.com>
4446
4447         * sem_ch4.adb: Minor reformatting.
4448
4449         * a-strsea.adb: Fix confusion between 'Length and 'Last.
4450
4451 2009-06-25  Ed Schonberg  <schonberg@adacore.com>
4452
4453         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
4454         Unchecked_Access): If the context is an interface type, and the prefix
4455         is of the corresponding class-wide type, do not insert a conversion
4456         because the pointer displacement has already taken place, and we must
4457         retain the class-wide type in a dispatching context.
4458
4459 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4460
4461         * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
4462         the previous source file.
4463         (Create_Mapping): Iterate on sources rather than on units.
4464
4465 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4466
4467         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
4468         prj-env.adb, prj-env.ads (Slash): removed, no longer used
4469         (Source_Data): no longer use Path.Name to point to a locally removed
4470         file. Instead we use the field Locally_Removed which is clearer
4471
4472 2009-06-25  Arnaud Charlet  <charlet@adacore.com>
4473
4474         * gcc-interface/Make-lang.in: Remove references to sem_maps.o
4475
4476         * sem_maps.adb, sem_maps.ads: Removed, not used.
4477
4478 2009-06-25  Ed Falis  <falis@adacore.com>
4479
4480         * s-vxwext-rtp.ads: Add missing declaration
4481
4482 2009-06-25  Matthew Gingell  <gingell@adacore.com>
4483
4484         * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
4485         speed up unmapped case.
4486
4487 2009-06-25  Vincent Celier  <celier@adacore.com>
4488
4489         * prj-nmsc.adb (Check): Change error message for illegal abstract
4490         projects.
4491
4492 2009-06-25  Robert Dewar  <dewar@adacore.com>
4493
4494         * gnat_ugn.texi: Add note on use of -gnatct for ASIS
4495
4496 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4497
4498         * fmap.ads: Add documentation on mapping files
4499
4500 2009-06-25  Robert Dewar  <dewar@adacore.com>
4501
4502         * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
4503         reformatting
4504
4505 2009-06-24  Robert Dewar  <dewar@adacore.com>
4506
4507         * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
4508
4509         * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
4510         case.
4511         (Index): Ditto.
4512
4513 2009-06-24  Ed Schonberg  <schonberg@adacore.com>
4514
4515         * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
4516         present when checking whether a call may be interpreted as an indexing
4517         of the result of a call.
4518
4519         * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
4520         body for a null procedure on the freeze actions for the procedure, so
4521         that it will be analyzed at the proper place without premature freezing
4522         of actuals.
4523
4524         * sem_ch3.adb (Check_Completion): Code cleanup. 
4525         Do not diagnose a null procedure without a body, if previous errors
4526         have disabled expansion.
4527
4528 2009-06-24  Doug Rupp  <rupp@adacore.com>
4529
4530         * init.c [VMS] Resignal C$_SIGKILL
4531
4532 2009-06-24  Ed Falis  <falis@adacore.com>
4533
4534         * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
4535         Define ERROR in body for VxWorks 6 kernel
4536
4537 2009-06-24  Pascal Obry  <obry@adacore.com>
4538
4539         * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
4540         in [Send/Receive]_Socket.
4541
4542 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4543
4544         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
4545         prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
4546         to several subprograms.
4547         (Source_Data.Other_Part): Removed, since can be computed from the
4548         language.
4549         (Other_Part): New subprogram.
4550
4551 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4552
4553         * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
4554         the full base name of the file when the suffix doesn't start with a '.'.
4555
4556 2009-06-24  Vincent Celier  <celier@adacore.com>
4557
4558         * prj-nmsc.adb (Check): A project declared abstract is legal if no
4559         attribute Source_Dirs, Source_Files, Source_List_File or Languages is
4560         declared.
4561
4562 2009-06-24  Robert Dewar  <dewar@adacore.com>
4563
4564         * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
4565         prj-env.adb: Minor reformatting
4566
4567 2009-06-24  Ed Falis  <falis@adacore.com>
4568
4569         * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
4570         s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
4571         s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
4572         support for VxWorks SMP.
4573
4574         * gcc-interface/Make-lang.in: Update dependencies
4575
4576 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4577
4578         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
4579         prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
4580         no longer useful.
4581         (Source_Data.Lang_Kind): Removed, since it duplicates information
4582         already available through Language.Config.
4583         (Source_Data.Compile): Removed, since information is already available
4584         through the language.
4585         (Is_Compilable): New subprogram.
4586         (Source_Data.Dependency): Removed, since already available through
4587         the language.
4588         (Source_Data.Object_Exist, Object_Linked): Removed since available
4589         through the language already.
4590         (Unit_Data.File_Names): Is now also set in multi_language mode, to
4591         bring the two modes closer in the resulting data structures.
4592         (Source_Data.Unit): Now a direct pointer to the unit data, rather than
4593         just the name that would point into a hash table.
4594         (Get_Language_From_Name): New subprogram.
4595
4596 2009-06-24  Javier Miranda  <miranda@adacore.com>
4597
4598         * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
4599         visible through limited-with context clauses. In addition, avoid an
4600         extra tag check that is not required when the class-wide
4601         designated types of the operand and target types are
4602         the same entity.
4603         (Tagged_Membership): Handle entities from the limited view.
4604
4605 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4606
4607         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
4608         prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
4609         (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
4610         different vocabularies for similar concepts (Impl/Body_Part and
4611         Spec/Specification).
4612         (Unit_Data): now points directly to a Source_Id, rather than duplicating
4613         some of the information in File_Name_Data. This also saves a bit of
4614         memory. However, since we are now using a pointer we need to test
4615         for null explicitly in several places of the code
4616
4617 2009-06-24  Javier Miranda  <miranda@adacore.com>
4618
4619         * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
4620         from processing the type conversion when the node is
4621         replaced by an N_Raise_Program_Error node.
4622
4623 2009-06-24  Hristian Kirtchev  <kirtchev@adacore.com>
4624
4625         * sem_ch6.adb (Designates_From_With_Type): New routine.
4626         (Process_Formals): Since anonymous access types are no longer flagged
4627         as from with types, traverse the designated type to determine whether
4628         it is coming from a limited view.
4629
4630         * sem_res.adb: Remove with and use clauses for Sem_Ch10.
4631         (Full_Designated_Type): Use Available_View to extract the non-limited /
4632         full view of a type.
4633
4634 2009-06-24  Robert Dewar  <dewar@adacore.com>
4635
4636         * exp_ch6.adb: Minor reformatting
4637
4638         * layout.adb: Minor reformatting
4639
4640         * make.adb: Minor reformatting
4641
4642 2009-06-24  Thomas Quinot  <quinot@adacore.com>
4643
4644         * sem_ch10.adb: Minor code reorganization.
4645
4646 2009-06-24  Eric Botcazou  <ebotcazou@adacore.com>
4647
4648         * ttypes.ads: Minor editing.
4649         
4650 2009-06-24  Robert Dewar  <dewar@adacore.com>
4651
4652         * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
4653         in deciding to do call-by-copy code.
4654
4655 2009-06-24  Vincent Celier  <celier@adacore.com>
4656
4657         * make.adb (Gnatmake): To decide if an executable should be rebuilt,
4658         check if an externally built library file is more current than the
4659         executable.
4660
4661 2009-06-23  Olivier Hainque  <hainque@adacore.com>
4662
4663         * gcc-interface/utils.c (handle_vector_size_attribute): Import from
4664         c-common.c and populate in gnat_internal_attribute_table.
4665         
4666 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4667
4668         * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
4669         Available_View only when designated type of an anonymous access type
4670         is  limited view.
4671
4672 2009-06-23  Robert Dewar  <dewar@adacore.com>
4673
4674         * sem_ch10.adb: Minor reformatting
4675
4676         * ali.ads: Mino reformatting.
4677
4678         * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
4679         turning off inlining if ASIS mode active).
4680         
4681         * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
4682         This belongs in gnat1drv.adb after switches are scanned.
4683
4684 2009-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
4685
4686         * sem_attr.adb: Add with and use clauses for Sem_Ch10.
4687         (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
4688         when dealing with class-wide types. Detect a legal shadow entity and
4689         retrieve its non-limited view.
4690
4691         * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
4692         subprogram to top package level from Intall_Limited_Withed_Unit.
4693         (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
4694         Add check which prevents the installation of a limited view if the
4695         non-limited view is already visible through a with clause.
4696         (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
4697         legal shadow entity which may occur in subprogram formals of anonymous
4698         access type.
4699
4700         * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
4701
4702         * sem_ch3.adb (Access_Definition): Remove the propagation of flag
4703         From_With_Type from the designated type to the generated anonymous
4704         access type. Remove associated comment.
4705
4706         * sem_res.adb Add with and use clauses for Sem_Ch10.
4707         (Full_Designated_Type): Detect a legal shadow entity and retrieve its
4708         non-limited view. Since the shadow entity may replace a regular
4709         incomplete type, return the available full view.
4710
4711 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4712
4713         * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
4714         incomplete type declarations. Previous code was potentially quadratic
4715         in the number of visible declarations in any package appearing in a
4716         limited_with_clause.
4717
4718 2009-06-23  Robert Dewar  <dewar@adacore.com>
4719
4720         * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
4721         xref_lib.adb: Minor reformatting
4722
4723 2009-06-23  Robert Dewar  <dewar@adacore.com>
4724
4725         * a-stzhas.adb: Provide dummy body to avoid build problems with old
4726         versions which did have a body for this unit.
4727
4728 2009-06-23  Vincent Celier  <celier@adacore.com>
4729
4730         * prj-attr.adb: Attribute names Initial_Required_Switches and
4731         Final_Required_Switches changed to Leading_Required_Switches and
4732         Trailing_Required_Switches.
4733
4734         * prj-nmsc.adb (Process_Compiler): Attribute names
4735         Initial_Required_Switches and Final_Required_Switches changed to
4736         Leading_Required_Switches and Trailing_Required_Switches.
4737
4738         * prj.ads (Language_Config): Component Initial_Required_Switches and
4739         Final_Required_Switches changed to Leading_Required_Switches and
4740         Trailing_Required_Switches.
4741
4742         * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
4743         Final_Required_Switches; add standard names Leading_Required_Switches
4744         and Trailing_Required_Switches.
4745
4746 2009-06-23  Thomas Quinot  <quinot@adacore.com>
4747
4748         * prj-conf.adb: Minor reformatting
4749
4750         * xref_lib.adb: Minor cleanup
4751
4752 2009-06-23  Emmanuel Briot  <briot@adacore.com>
4753
4754         * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
4755         prj-conf.ads (Check_Configuration): New parameter
4756         Compiler_Driver_Mandatory.
4757
4758 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4759
4760         * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
4761         context of the current unit has an inline pragma, the instance is not
4762         rewritten as the declaration of the package wrapper. Handle both
4763         possibilities when retrieving the visible subprogram that renames the
4764         instantiation itself.
4765
4766 2009-06-23  Javier Miranda  <miranda@adacore.com>
4767
4768         * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
4769         designated types referencing entities from the limited view.
4770
4771 2009-06-23  Robert Dewar  <dewar@adacore.com>
4772
4773         * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
4774
4775         * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
4776         small values
4777
4778         * prj-conf.ads: Minor reformatting
4779
4780         * prj-conf.adb: Minor reformatting
4781
4782 2009-06-23  Vasiliy Fofanov  <fofanov@adacore.com>
4783
4784         * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
4785         to correspond to the log format that gnatmem now expects.
4786
4787 2009-06-23  Vincent Celier  <celier@adacore.com>
4788
4789         * prj-attr.adb: New attributes Initial_Required_Switches,
4790         Final_Required_Switches and Object_File_Switches
4791         
4792         * prj-nmsc.adb (Process_Compiler): Process new attributes
4793         Name_Final_Required_Switches, Name_Initial_Required_Switches and
4794         Name_Object_File_Switches.
4795
4796         * prj.ads (Language_Config): New component
4797         Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
4798         Compiler_Final_Required_Switches and Object_File_Switches.
4799
4800         * snames.ads-tmpl: New standard names Initial_Required_Switches,
4801         Final_Required_Switches and Object_File_Switches
4802
4803 2009-06-23  Pascal Obry  <obry@adacore.com>
4804
4805         * s-strhas.adb, s-strhas.ads: Minor reformatting.
4806
4807 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4808
4809         * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
4810         not indicate that the enclosing unit needs a body.
4811
4812 2009-06-23  Emmanuel Briot  <briot@adacore.com>
4813
4814         * prj-conf.ads, prj-conf.adb: New files part of the project manager.
4815
4816 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4817
4818         * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
4819         primitive equality include it with its source name even if the
4820         operation is currently invisible, to make sure that the corresponding
4821         slot in the dispatch table is reserved for the internal equality
4822         subsequently generated during expansion.
4823
4824 2009-06-23  Matthew Gingell  <gingell@adacore.com>
4825
4826         * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
4827
4828 2009-06-22  Jose Ruiz  <ruiz@adacore.com>
4829
4830         * sysdep.c (__gnat_localtime_tzoff for RTX):
4831         SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
4832         GetTimeZoneInformation instead.
4833
4834 2009-06-22  Robert Dewar  <dewar@adacore.com>
4835
4836         * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
4837
4838 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
4839
4840         * sem_ch12.adb (Collect_Previous_Instances): Do not collect
4841         instantiations declared in a previous generic package body.
4842
4843 2009-06-22  Robert Dewar  <dewar@adacore.com>
4844
4845         * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
4846         restriction No_Direct_Boolean_Operators.
4847
4848 2009-06-22  Thomas Quinot  <quinot@adacore.com>
4849
4850         * bindusg.adb: Minor fixes to gnatbind usage message
4851
4852         * sem_eval.adb: Minor reformatting
4853
4854 2009-06-22  Javier Miranda  <miranda@adacore.com>
4855
4856         * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
4857         freezing point the check on the use of abstract types in object
4858         declarations. Done to allow the declaration of C++ imported variables
4859         or constants whose type corresponds with an imported C++ classes for
4860         which the constructor is not imported.
4861
4862 2009-06-22  Thomas Quinot  <quinot@adacore.com>
4863
4864         * sem_ch6.adb: Minor reformatting
4865
4866 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
4867
4868         * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
4869         component is constrained with an expression rather than with a
4870         discriminant of the enclosing type, use that expression when building
4871         the call to default-initialize the component, when the call is part of
4872         an aggregate with box initialization.
4873
4874 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
4875
4876         * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
4877         unconditional rather than a style check, because a formal name out of
4878         order is suspicious.
4879
4880 2009-06-22  Vincent Celier  <celier@adacore.com>
4881
4882         * prj-nmsc.adb (Locate_Directory): Indicate the project name when
4883         creating a directory automatically.
4884
4885 2009-06-22  Eric Botcazou  <ebotcazou@adacore.com>
4886
4887         * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
4888         untagged derived type, add a hidden component for every constrained
4889         discriminant of the parent type to keep record layout consistent.
4890
4891 2009-06-22  Thomas Quinot  <quinot@adacore.com>
4892
4893         * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
4894         copy).
4895
4896 2009-06-22  Matthew Gingell  <gingell@adacore.com>
4897
4898         * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
4899         s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
4900         g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
4901         a-swuwha.adb: New unit System.String_Hash.  
4902         Refactor redundant cut and pasted hash functions with instances of a
4903         new generic hash function.
4904         Implement a new string hashing algorithm which appears in testing to
4905         be move effective than to previous approach.
4906
4907 2009-06-22  Ed Falis  <falis@adacore.com>
4908
4909         * sysdep.c: remove include for nfsLib.h and an NFS specific error
4910         message for VxWorks 653 vThreads: not supported by the OS.
4911
4912         * gsocket.h: disable sockets for VxWorks 653 vThreads.
4913
4914 2009-06-22  Robert Dewar  <dewar@adacore.com>
4915
4916         * sem_ch6.adb: Add ??? comment for bad use of Style_Check
4917
4918 2009-06-22  Robert Dewar  <dewar@adacore.com>
4919
4920         * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
4921         by Sloc_Range.
4922
4923         * freeze.adb: Minor comment updates
4924
4925         * s-valrea.adb (Bad_Based_Value): New procedure
4926         (Scan_Real): Raise exceptions with messages
4927
4928 2009-06-22  Matthew Gingell  <gingell@adacore.com>
4929
4930         * adaint.h: Complete previous change.
4931
4932 2009-06-22  Thomas Quinot  <quinot@adacore.com>
4933
4934         * exp_ch7.ads, exp_ch3.adb: Minor reformatting
4935
4936 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
4937
4938         * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
4939         enabled, emit warning when a non-controlling argument of the overriding
4940         operation appears out of place vis-a-vis of the formal of the
4941         overridden operation.
4942
4943 2009-06-22  Vincent Celier  <celier@adacore.com>
4944
4945         * gnatcmd.adb (Check_Files): Close temporary files after all file names
4946         have been written into it.
4947
4948 2009-06-22  Matthew Gingell  <gingell@adacore.com>
4949
4950         * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
4951         available.
4952
4953 2009-06-22  Thomas Quinot  <quinot@adacore.com>
4954
4955         * sem_disp.adb (Check_Direct_Call): Handle the case where the full
4956         view of the root type is visible at the point of the call.
4957
4958 2009-06-22  Pat Rogers  <rogers@adacore.com>
4959
4960         * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
4961
4962 2009-06-22  Jerome Lambourg  <lambourg@adacore.com>
4963
4964         * freeze.adb: Add comments.
4965
4966 2009-06-21  Thomas Quinot  <quinot@adacore.com>
4967
4968         * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
4969         sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
4970         Factor out code to new subprogram...
4971         (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
4972         for a default initialized variable.
4973         (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
4974         entity that has an associated freeze node.
4975         (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
4976         If there is an init call for the object, defer it to the object freeze
4977         point.
4978         (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
4979         name clash with new subprogram introduced in Exp_Util.
4980
4981 2009-06-21  Robert Dewar  <dewar@adacore.com>
4982
4983         * einfo.ads: Minor reformatting
4984
4985 2009-06-21  Ed Falis  <falis@adacore.com>
4986
4987         * env.c (__gnat_environ): return NULL for vThreads - unimplemented
4988
4989 2009-06-21  Eric Botcazou  <ebotcazou@adacore.com>
4990
4991         * einfo.ads: Update comments.
4992
4993 2009-06-21  Hristian Kirtchev  <kirtchev@adacore.com>
4994
4995         * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
4996         where the controlling formal is of private class-wide type whose
4997         completion is a synchronized type can be converted into direct calls.
4998
4999 2009-06-21  Vincent Celier  <celier@adacore.com>
5000
5001         * gnatcmd.adb (Check_Files): When all sources of the project are to be
5002         indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
5003         of sources using -files=, so that the distinction can be made by the
5004         tool of a call with no source (to display the usage) from a call with
5005         a project file that contains no source.
5006
5007 2009-06-21  Jerome Lambourg  <lambourg@adacore.com>
5008
5009         * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
5010         case of VM convention arrays.
5011
5012 2009-06-20  Robert Dewar  <dewar@adacore.com>
5013
5014         * a-nudira.adb: Minor reformatting
5015
5016 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5017
5018         * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
5019         expressions (possibly from a parent type) indicate that the scope of
5020         the new itypes is the initialization procedure being built.
5021
5022 2009-06-20  Robert Dewar  <dewar@adacore.com>
5023
5024         * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
5025         Needs_64, and now computed without anomolies for some dynamic types.
5026
5027 2009-06-20  Thomas Quinot  <quinot@adacore.com>
5028
5029         * sem_prag.adb: Minor reformatting
5030
5031         * exp_disp.ads: Minor reformatting
5032
5033 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5034
5035         * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
5036         function call is a legal expression to initialize a limited object.
5037
5038         * exp_ch3.adb: Rename various freeze operations that perform expansion
5039         actions, to prevent confusion with subprograms in the freeze package.
5040
5041 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5042
5043         * sem.adb (Walk_Library_Units): Check instantiations first.
5044
5045         * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
5046         private primitive if it is a function with a controlling result that is
5047         a type extension with progenitors.
5048
5049         * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
5050         a primitive operation of a synchronized tagged type that has a
5051         controlling result.
5052
5053 2009-06-20  Thomas Quinot  <quinot@adacore.com>
5054
5055         * einfo.ads: Fix typo.
5056
5057 2009-06-20  Ed Falis  <falis@adacore.com>
5058
5059         * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
5060
5061 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5062
5063         * gcc-interface/trans.c (emit_check): Do not wrap up the result
5064         in a SAVE_EXPR.
5065         (protect_multiple_eval): Always protect complex expressions.
5066
5067 2009-06-19  Emmanuel Briot  <briot@adacore.com>
5068
5069         * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
5070         make sure we always return a name ending with a path separator.
5071
5072 2009-06-19  Javier Miranda  <miranda@adacore.com>
5073
5074         * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
5075         Save and restore the visibility of the parent when installed.
5076
5077 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
5078
5079         * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
5080         by Common which contains all these fields.
5081
5082         * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
5083         Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
5084         Remove code duplication in this package by means of calling the
5085         equivalent code in s-taprob.
5086
5087 2009-06-19  Robert Dewar  <dewar@adacore.com>
5088
5089         * a-einuoc.ads: Minor reformatting
5090
5091 2009-06-19  Ed Falis  <falis@adacore.com>
5092
5093         * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
5094         s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
5095
5096 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5097
5098         * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
5099
5100 2009-06-19  Robert Dewar  <dewar@adacore.com>
5101
5102         * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
5103         ranges
5104
5105         * checks.adb (Determine_Range): Move the test for generic types later.
5106
5107         * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
5108         cases.
5109         (Eval_Relational_Op): Fold more cases including string compares
5110
5111         * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
5112         function.
5113
5114 2009-06-19  Robert Dewar  <dewar@adacore.com>
5115
5116         * sem_type.ads, sem_ch12.adb: Minor reformatting
5117
5118         * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
5119
5120 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5121
5122         * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
5123         primitive operation of a rivate extension whose controlling argument
5124         is an out parameter.
5125
5126         * sem.adb (Walk_Library_Units): exclude generic package declarations
5127         from check.
5128
5129 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5130
5131         * i-vxwoio.ads: Add comments
5132
5133 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5134
5135         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5136         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
5137         g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
5138         (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
5139         (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
5140         Thin_Common.Socket_Ioctl.
5141         (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
5142         __gnat_socket_ioctl.
5143         (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
5144         argument after the file descriptor and request code.
5145
5146 2009-06-19  Robert Dewar  <dewar@adacore.com>
5147
5148         * checks.adb: Minor reformatting
5149
5150 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
5151
5152         * env.c (__gnat_environ): RTX does not support this functionality.
5153
5154 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5155
5156         * sem.adb (Walk_Library_Items): Include bodies in the list of units to
5157         traverse, to account for front-end inlining and instantiations in a
5158         spec or in the main unit.
5159
5160 2009-06-19  Robert Dewar  <dewar@adacore.com>
5161
5162         * checks.adb (Determine_Range): Do not attempt to get range of generic
5163         type.
5164
5165 2009-06-19  Sergey Rybin  <rybin@adacore.com>
5166
5167         * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
5168         gnatmetric option for generating the schema file for gnatmetric XML
5169         output. Add corresponding VMS qualifier.
5170
5171 2009-06-19  Robert Dewar  <dewar@adacore.com>
5172
5173         * g-cgi.adb: Minor reformatting
5174
5175 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5176
5177         * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
5178         signal code for SIGFPE and raise Program_Error for SIGILL.
5179
5180         * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
5181
5182 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5183
5184         * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
5185         generic package if there is a visibility candidate that is declared in
5186         a regular package.
5187
5188 2009-06-18  Olivier Hainque  <hainque@adacore.com>
5189
5190         * system-aix64.ads: New file.
5191         * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
5192         64bit system.ads for ppc64 multilib variants.
5193
5194 2009-06-16  Robert Dewar  <dewar@adacore.com>
5195             Olivier Hainque  <hainque@adacore.com>
5196
5197         Relax constraints on Machine_Attribute argument types:
5198         * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
5199         missing type.
5200         (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
5201         * gcc-interface/decl.c (prepend_attributes): Accept static
5202         expressions of any type as attribute arguments, not only string
5203         literals.
5204         * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
5205         the relaxation of the restriction on the Info argument type.
5206         
5207 2009-06-13  Aldy Hernandez  <aldyh@redhat.com>
5208
5209         * gcc-interface/utils.c (record_builtin_type): Pass location
5210         argument to build_decl.
5211         (create_type_stub_decl): Same.
5212         (create_type_decl): Same.
5213         (create_var_decl_1): Same.
5214         (create_field_decl): Same.
5215         (create_param_decl): Same.
5216         (create_label_decl): Same.
5217         (create_subprog_decl): Same.
5218         * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
5219         * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
5220         argument to create_artificial_label.
5221         (Loop_Statement_to_gnu): Same.
5222         (Subprogram_Body_to_gnu): Same.
5223         (gnat_gimplify_stmt): Same.
5224
5225 2009-06-11  Richard Henderson  <rth@redhat.com>
5226
5227         * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
5228         OPT_gdwarfplus.
5229
5230 2009-06-11  Ed Schonberg  <schonberg@adacore.com>
5231
5232         * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
5233         accessibiliy check on access_to_subprogram in the context of an
5234         anonymous access that is not an access parameter.
5235
5236 2009-06-11  Eric Botcazou  <ebotcazou@adacore.com>
5237
5238         * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
5239         
5240 2009-06-11  Quentin Ochem  <ochem@adacore.com>
5241
5242         * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
5243         comments for message handled by GPS.
5244
5245 2009-06-11  Matthew Gingell  <gingell@adacore.com>
5246
5247         * adaint.c: Use fopen64 instead of fopen on platforms where we know
5248         it's supported.
5249
5250 2009-06-11  Pascal Obry  <obry@adacore.com>
5251
5252         * g-cgi.ads: Fix comment typo.
5253
5254         * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
5255
5256 2009-06-10  Eric Botcazou  <ebotcazou@adacore.com>
5257
5258         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
5259         a reference to the original type for the type of the field of the
5260         XVS type.
5261         (maybe_pad_type): Likewise.
5262
5263         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
5264         common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
5265         Pass correctly typed arguments to create_field_decl.
5266         <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
5267         case of contrained discriminants as well.  Use the padded base type
5268         in the other case as well.  Rename temporary variable.  Tweak test.
5269         Factor common access pattern.  Set GNU_SIZE only once.
5270
5271 2009-06-09  Olivier Hainque  <hainque@adacore.com>
5272
5273         * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
5274         helper for build_call_alloc_dealloc with arguments to be interpreted
5275         identically.  Process the case where a GNAT_PROC to call is provided.
5276         (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
5277         and return an allocator for DATA_SIZE bytes aimed at containing a
5278         DATA_TYPE object, using the default __gnat_malloc allocator.  Honor
5279         DATA_TYPE alignments greater than what the latter offers.
5280         (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
5281         release a DATA_TYPE object designated by DATA_PTR using the
5282         __gnat_free entry point.
5283         (build_call_alloc_dealloc): Expect object data type instead of naked
5284         alignment constraint. Use the new helpers.
5285         (build_allocator): Remove special processing for the super-aligned
5286         case, now handled by build_call_alloc_dealloc.  Pass data
5287         type instead of the former alignment argument, as expected by the new
5288         interface.
5289         * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
5290         and comment.
5291         * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
5292         Remove special processing for the super-aligned case, now handled
5293         by build_call_alloc_dealloc.  Pass data type instead of the former
5294         alignment argument, as expected by the new interface.
5295         
5296 2009-06-08  Alexandre Oliva  <aoliva@redhat.com>
5297
5298         * lib-writ.adb (flag_compare_debug): Import.
5299         (Write_ALI): Skip during -fcompare-debug-second.
5300
5301 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5302
5303         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
5304         adjusting the discriminant nodes in an extension, use the full view
5305         of the parent subtype if it is of a private kind.
5306
5307 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5308
5309         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
5310         _Parent field, if any, to the record before adding the other fields.
5311         <E_Record_Subtype>: Put the _Controller field before the other fields
5312         except for the _Tag or _Parent fields.
5313         (components_to_record): Likewise.  Retrieve the _Parent field from the
5314         record type.
5315
5316 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5317
5318         * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
5319         remove unused parameter and simplify.
5320         (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS.  Factor
5321         common predicate.  Rewrite loop for clarity.  Use GNU_TYPE directly
5322         as context for all discriminants.  Fix formatting nits.
5323         <E_Record_Subtype>: Add cosmetic 'break'.  Test Has_Discriminants
5324         before Discriminant_Constraint.  Adjust for above renaming.  Do not
5325         set GNU_TYPE more than once.
5326         (elaborate_entity): Test Has_Discriminants on the entity and use
5327         Implementation_Base_Type.
5328         (components_to_record): Rename component_list to gnat_component_list.
5329         Retrieve the _Parent field from the list.  Fix nits in comments.
5330         Clarify logic in loop.  Pass correct arguments to create_field_decl.
5331
5332 2009-06-02  Eric Botcazou  <ebotcazou@adacore.com>
5333
5334         * gcc-interface/Make-lang.in: Fix formatting.
5335
5336 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5337             Eric Botcazou  <ebotcazou@adacore.com>
5338         
5339         * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
5340         to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
5341         on the result if at least one of the input fields couldn't be output
5342         as a static constant any more.
5343
5344 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5345             Eric Botcazou  <ebotcazou@adacore.com>
5346         
5347         * gcc-interface/utils2.c (gnat_build_constructor): Factor
5348         out code.  Use initializer_constant_valid_for_bitfield_p and
5349         CONSTRUCTOR_BITFIELD_P for bit-fields.
5350
5351 2009-05-26  Ian Lance Taylor  <iant@google.com>
5352
5353         * gcc-interface/Makefile.in (COMPILER): Define.
5354         (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
5355         (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
5356         (seh_init.o, tracebak.o): Likewise.
5357         * gcc-interface/Make-lang.in (ada/targext.o): Likewise.
5358         (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
5359         (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
5360         (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
5361         (ada/utils2.o): Likewise.
5362
5363 2009-05-24  Olivier Hainque  <hainque@adacore.com>
5364
5365         * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
5366         * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
5367         Add -auxbase variants to the list of recognized internal switches.
5368         * back_end.adb (Scan_Back_End_Switches): Use the new functions and
5369         adjust comments.
5370         * lib.ads: Make comment on internal GCC switches more general.
5371         * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
5372         as for C.       
5373         
5374 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5375
5376         * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
5377
5378 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5379
5380         * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
5381         types.
5382
5383 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5384
5385         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
5386         original type because of the alignment when there is an address clause.
5387
5388 2009-05-20  Eric Botcazou  <ebotcazou@adacore.com>
5389
5390         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
5391         discriminants affect the shape of the subtype, retrieve the GCC type
5392         directly from the original field if the GNAT types for the field and
5393         the original field are the same.
5394
5395 2009-05-15  Eric Botcazou  <ebotcazou@adacore.com>
5396
5397         * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
5398         New macros.
5399         (TYPE_RM_VALUES): Likewise.
5400         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
5401         (SET_TYPE_RM_SIZE): New macro.
5402         (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
5403         (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
5404         (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
5405         * gcc-interface/gigi.h (create_range_type): Declare.
5406         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
5407         Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
5408         <E_Signed_Integer_Subtype>: Build a regular integer type first and
5409         then set the RM bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5410         <E_Floating_Point_Subtype>: Build a regular floating-point type first
5411         and then set the RM bounds.
5412         <E_Array_Type>: Use create_range_type instead of build_range_type.
5413         <E_Array_Subtype>: Build a regular integer type first and then set
5414         the RM bounds for the extra subtype.
5415         <E_String_Literal_Subtype>: Use create_range_type instead of
5416         build_range_type.
5417         <all>: Set the RM bounds for enumeration types and the GCC bounds for
5418         floating-point types.
5419         (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
5420         (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
5421         to set the bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5422         (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
5423         types and with RM bounds for subtypes.
5424         * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
5425         (gnat_print_type) <REAL_TYPE>: New case.
5426         <ENUMERAL_TYPE>: Fall through to above case.
5427         (gnat_get_subrange_bounds): New function.
5428         * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
5429         TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
5430         * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
5431         for booleans.  Adjust and use SET_TYPE_RM_SIZE to set the RM size.
5432         (create_range_type): New function.
5433         (create_param_decl): Build a regular integer type first and then set
5434         the RM bounds for the extra subtype.
5435         (unchecked_convert): Remove kludge for 'Valid.
5436         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
5437         the index to sizetype instead of TYPE_DOMAIN.
5438
5439 2009-05-14  Eric Botcazou  <ebotcazou@adacore.com>
5440
5441         * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
5442         parameter and move check for static expression to...
5443         (elaborate_expression): ...here.  Adjust call to above function.
5444         (gnat_to_gnu_entity): Likewise for all calls.  Use correct arguments
5445         in calls to elaborate_expression.
5446         (elaborate_entity): Likewise.
5447         (substitution_list): Likewise.
5448         (maybe_variable): Fix formatting.
5449         (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
5450         missing guard.
5451         * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
5452
5453 2009-05-07  Arnaud Charlet  <charlet@adacore.com>
5454
5455         * gcc-interface/Make-lang.in: Update dependencies.
5456
5457 2009-05-06  Laurent GUERBY  <laurent@guerby.net>
5458
5459         * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
5460         Define sa_handler_pos.
5461         * s-osinte-linux.ads: Use it.
5462         * s-linux-mipsel.ads: New.
5463         * system-linux-mips64el.ads: New.
5464         * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
5465         mips64el-linux.
5466
5467 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5468
5469         * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
5470         targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
5471         opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
5472         (Tagged_Type_Expansion): New flag.
5473         Replace use of VM_Target related to tagged types expansion by
5474         Tagged_Type_Expansion, since tagged type expansion is not necessarily
5475         linked to VM targets.
5476
5477 2009-05-06  Robert Dewar  <dewar@adacore.com>
5478
5479         * sem_attr.adb: Add processing for Standard'Compiler_Version
5480
5481         * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
5482         skipping.
5483         (Expr_First_Char): Add ??? comment that paren skipping needs work
5484         (Expr_Last_Char): Add ??? comment that paren skipping needs work
5485
5486         * exp_attr.adb: Add processing for Compiler_Version
5487
5488         * sem_attr.adb: New attribute Compiler_Version
5489
5490         * snames.ads-tmpl: Add entries for Compiler_Version attribute
5491
5492         * gnat_rm.texi: Document Compiler_Version attribute
5493
5494 2009-05-06  Robert Dewar  <dewar@adacore.com>
5495
5496         * errout.adb: Minor reformatting
5497
5498         * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
5499         sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
5500         styleg.adb: Add stylized comments to error messages that are included
5501         in the codefix circuitry of IDE's such as GPS.
5502
5503 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5504
5505         * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
5506         new form of the rule parameter that allows to specify the suffix for
5507         access-to-access type names.
5508
5509 2009-05-06  Robert Dewar  <dewar@adacore.com>
5510
5511         * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
5512         out parameter assigned when exception handlers are present.
5513
5514         * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
5515         assignments on exit.
5516
5517         * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
5518         sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
5519         prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
5520         par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
5521         messages that are included in the codefix circuitry of IDE's such as
5522         GPS.
5523
5524         * sinput.ads, sinput.adb (Expr_First_Char): New function
5525         (Expr_Last_Char): New function
5526
5527 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5528
5529         * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
5530         Add formal definition for extra exit point metric
5531
5532 2009-05-06  Pascal Obry  <obry@adacore.com>
5533
5534         * adaint.c: Support for setting attributes on unicode filename on
5535         Windows.
5536
5537 2009-05-06  Robert Dewar  <dewar@adacore.com>
5538
5539         * sem_warn.adb: Minor reformatting
5540
5541 2009-05-06  Javier Miranda  <miranda@adacore.com>
5542
5543         * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
5544         not have discriminants or components with default expressions.
5545         (Analyze_Pragma): For pragma CPP_Class check that imported types
5546         have no discriminants and components have no default expression.
5547
5548         * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
5549         class-wide types in the expression of a record component association.
5550
5551 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5552
5553         * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
5554
5555         * gnat_ugn.texi: Add description for the new extra exit points metric
5556         (gnatmetric section).
5557
5558 2009-05-06  Robert Dewar  <dewar@adacore.com>
5559
5560         * s-fileio.adb: Minor comment update
5561
5562         * sem_ch8.adb: Minor reformatting
5563
5564         * exp_ch3.adb: Update comments.
5565
5566 2009-05-06  Tristan Gingold  <gingold@adacore.com>
5567
5568         * init.c, s-osinte-darwin.ads: Reduce alternate stack size
5569
5570 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5571
5572         * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
5573         Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
5574
5575         * gcc-interface/Make-lang.in: Update dependencies
5576
5577 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5578
5579         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
5580         change. The context clause of a generic instance declaration must be
5581         preserved until the end of the compilation, because it may have to be
5582         installed/removed repeatedly.
5583         The latest change to sem.adb ensures that the context of both spec and
5584         body of an instance is traversed before the instance itself, making
5585         this patch redundant.
5586
5587 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5588
5589         * sem_aggr.adb: Fix typo.
5590
5591 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5592
5593         * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
5594         declaration, do not adjust if the declaration is to be rewritten into
5595         a renaming.
5596
5597 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5598
5599         * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
5600         discriminant part.
5601
5602 2009-05-06  Bob Duff  <duff@adacore.com>
5603
5604         * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
5605         otherwise the compiler would be allowed to optimize away the cleanup
5606         code.
5607
5608 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5609
5610         * gnat_ugn.texi: Fix typo.
5611
5612 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5613
5614         * g-debuti.adb: Minor reformatting
5615
5616         * exp_attr.adb: Minor reformatting
5617
5618 2009-05-06  Robert Dewar  <dewar@adacore.com>
5619
5620         * sem_aggr.adb: Minor reformatting.
5621
5622         * g-socthi-vms.adb: Minor reformatting
5623
5624 2009-05-06  Bob Duff  <duff@adacore.com>
5625
5626         * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
5627         (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
5628
5629 2009-05-06  Bob Duff  <duff@adacore.com>
5630
5631         * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
5632         flags.
5633
5634 2009-05-06  Javier Miranda  <miranda@adacore.com>
5635
5636         * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
5637         (Resolve_Extension_Aggregate): Do not reject C++ constructors in
5638         extension aggregates.
5639         (Resolve_Record_Aggregate): Add support for C++ constructors in
5640         extension aggregates.
5641
5642         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
5643         constructors in extension aggregates.
5644
5645 2009-05-06  Robert Dewar  <dewar@adacore.com>
5646
5647         * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
5648         clause.
5649
5650 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5651
5652         * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
5653         packed type, since on OpenVMS, struct msghdr is packed.
5654
5655 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5656
5657         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
5658         call returning an unconstrained composite value, create the proper
5659         subtype for it, as is done for object dclarations with unconstrained
5660         nominal subtypes. Perform this transformation regarless of whether
5661         call comes from source.
5662
5663 2009-05-06  Robert Dewar  <dewar@adacore.com>
5664
5665         * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
5666         records
5667
5668         * gnat_rm.texi:
5669         Add documentation for pragma Implicit_Packing applied to record
5670         types.
5671
5672 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5673
5674         * sem.adb (Walk_Library_Items): Place all with_clauses of an
5675         instantiation on the spec, because late instance bodies may generate
5676         with_clauses for the instance body but are inserted in the instance
5677         spec.
5678
5679 2009-05-06  Emmanuel Briot  <briot@adacore.com>
5680
5681         * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
5682         support for returning the directory even if it doesn't exist. This is
5683         used for the object directory, since we are always setting it to a
5684         non-null value, and we should set it to an absolute name rather than a
5685         relative name for the sake of external tools that might depend on it.
5686         (Check_Library_Attributes): When Project.Library_Dir is known, check
5687         that the directory exists.
5688
5689 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5690
5691         * sem_attr.adb (Check_Dereference): If the prefix of an attribute
5692         reference is an implicit dereference, do not freeze the designated type
5693         if within a default expression or when preanalyzing a pre/postcondtion.
5694
5695 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5696
5697         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
5698         call returning an unconstrained composite value, create the proper
5699         subtype for it, as is done for object dclarations with unconstrained
5700         nominal subtypes
5701
5702 2009-05-06  Robert Dewar  <dewar@adacore.com>
5703
5704         * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
5705         improvements
5706
5707         * freeze.adb: Minor reformatting
5708
5709 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5710
5711         * sem_ch3.adb (Access_Type_Declaration): An access type whose
5712         designated type is a limited view from a limited with clause (flagged
5713         From_With_Type) is not itself such a limited view.
5714
5715 2009-05-06  Emmanuel Briot  <briot@adacore.com>
5716
5717         * prj-nmsc.adb: Remove unused variable.
5718
5719         * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
5720         prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
5721         makeutl.ads, since not all users of prj.ads need this.
5722
5723 2009-05-06  Javier Miranda  <miranda@adacore.com>
5724
5725         * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
5726         constructor in case of aggregates whose type is a CPP_Class type.
5727
5728 2009-05-06  Robert Dewar  <dewar@adacore.com>
5729
5730         * sem_ch13.adb: Minor comment additions
5731
5732         * osint.adb: Minor reformatting
5733
5734 2009-05-06  Pascal Obry  <obry@adacore.com>
5735
5736         * initialize.c: On Windows, keep full pathname to expanded command
5737         line patterns.
5738
5739 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5740
5741         * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
5742         an aggregate with box default is of a discriminated private type, do
5743         not build a subaggregate for it.
5744         A proper call to the initialization procedure is generated for it.
5745
5746 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5747
5748         * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
5749         (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
5750         Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
5751         use standard array code for Standard.String.
5752         (Exp_Dist): Bump PolyORB s-parint API version to 3.
5753         (Rtsfind): New entities TA_Std_String, Unbounded_String.
5754
5755 2009-05-06  Robert Dewar  <dewar@adacore.com>
5756
5757         * g-comlin.ads: Minor reformatting
5758
5759         * xoscons.adb: Minor reformatting
5760
5761 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5762
5763         * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
5764         Underlying_Type before retrieving the type definition for gathering
5765         components, to account for the case where the type is private.
5766
5767 2009-05-06  Tristan Gingold  <gingold@adacore.com>
5768
5769         * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
5770
5771 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5772
5773         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5774         g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
5775         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
5776         (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
5777         Windows versions): Fix incorrect base
5778         address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
5779         (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
5780         System.Address for the To parameter instead of a Sockaddr_In_Access, to
5781         achieve independance from AF_INET family, and also to allow this
5782         parameter to be retrieved from a Msghdr for the Windows case where
5783         these routines are used to implement C_Sendmsg and C_Recvmsg.
5784
5785 2009-05-06  Bob Duff  <duff@adacore.com>
5786
5787         * g-expect.adb, g-expect.ads: Minor reformatting
5788
5789         * sdefault.ads: Minor comment fix
5790
5791         * g-expect-vms.adb: Minor reformatting
5792
5793         * table.ads, table.adb (Append_All): New convenience procedure for
5794         appending a whole array.
5795
5796         * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
5797         box message. Call Osint.Dump_Source_File_Names to print out the file
5798         list, instead of rummaging around in various data structures.
5799
5800         * debug.adb: New switch -gnatd.n, to print source file names as they
5801         are read.
5802
5803         * alloc.ads: Add parameters for Osint.File_Name_Chars.
5804
5805         * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
5806         out source file names during a "bug box".
5807         (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
5808         (Read_Source_File): Print out the file name, if requested via -gnatd.n.
5809         If it's not part of the runtimes, store it for later printing by
5810         Dump_Source_File_Names.
5811
5812 2009-05-06  Javier Miranda  <miranda@adacore.com>
5813
5814         * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
5815         documentation and add reference to the GNAT user guide for further
5816         details.
5817
5818 2009-05-06  Javier Miranda  <miranda@adacore.com>
5819
5820         * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
5821         also wrong examples that use extension aggregates.
5822
5823 2009-05-06  Albert Lee  <lee@adacore.com>
5824
5825         * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
5826         of Msg_Iovlen_T for VMS.
5827
5828 2009-05-04  Laurent GUERBY  <laurent@guerby.net>
5829
5830         PR ada/38874
5831         * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
5832         
5833 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5834
5835         * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
5836         box-defaulted operator in an instantiation, when the type of the
5837         operands is not directly visible.
5838
5839 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
5840
5841         * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
5842         (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
5843         analysis of the ancestor part. Remove prohibition against limited
5844         interpretations of the ancestor expression in the case of Ada 2005.
5845         Revise error message in overloaded case, adding a message to cover
5846         the Ada 2005 case.
5847
5848 2009-04-29  Thomas Quinot  <quinot@adacore.com>
5849
5850         * xoscons.adb: Minor reformatting
5851
5852 2009-04-29  Bob Duff  <duff@adacore.com>
5853
5854         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
5855         attribute_definition_clauses for the following attributes when the
5856         -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
5857         Storage_Size, Write. Otherwise, we get spurious errors (for example,
5858         missing Read attribute on remote types).
5859
5860         * gnat_ugn.texi: Document the change, and add a stern warning.
5861
5862 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5863
5864         * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
5865         disabled not just for the current scope, but for the innermost dynamic
5866         scope as well.
5867
5868 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
5869
5870         * gcc-interface/Make-lang.in: Update dependencies
5871
5872 2009-04-29  Vincent Celier  <celier@adacore.com>
5873
5874         * prj-part.adb: Minor comment update
5875
5876 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5877
5878         * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
5879         box-initialized records with discriminated subcomponents that are
5880         constrained by discriminants of enclosing components. New subsidiary
5881         procedures Add_Discriminant_Values, Propagate_Discriminants.
5882
5883 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
5884
5885         * g-socket.adb: Code clean up.
5886
5887 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
5888
5889         * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
5890         function entity, to cover the case of a parameterless function call
5891         that has not been resolved.
5892
5893 2009-04-29  Robert Dewar  <dewar@adacore.com>
5894
5895         * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
5896         reformatting and comment updates.
5897
5898 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
5899
5900         * gnat_ugn.texi: Update some documentation about interfacing with C++
5901         Mention -fkeep-inline-functions.
5902
5903         * gnat_ugn.texi: Minor edits
5904
5905 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5906
5907         * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
5908         for a defaulted component of an enclosing aggregate, inherit the type
5909         from the component declaration of the enclosing type. 
5910
5911 2009-04-29  Albert Lee  <lee@adacore.com>
5912
5913         * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
5914         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
5915         (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
5916         msg_iovlen field in struct msghdr is 32 or 64 bits wide.
5917         Relocate the Msghdr record type from GNAT.Sockets.Thin to
5918         GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
5919         type for the Msg_Iovlen field.
5920
5921 2009-04-29  Vincent Celier  <celier@adacore.com>
5922
5923         * sinput-l.adb (Load_File): When preprocessing, set temporarily the
5924         Source_File_Index_Table entries for the source, to avoid crash when
5925         reporting an error.
5926
5927         * gnatcmd.adb (Test_If_Relative_Path): Use
5928         Makeutl.Test_If_Relative_Path.
5929         
5930         * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
5931         Including_RTS is True.
5932
5933         * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
5934         Including_RTS defaulted to False.
5935
5936         * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
5937         a default value.
5938
5939 2009-04-29  Javier Miranda  <miranda@adacore.com>
5940
5941         * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
5942
5943 2009-04-29  Javier Miranda  <miranda@adacore.com>
5944
5945         * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
5946         associated with dyamically tagged expressions if the expression
5947         initializing a tagged type corresponds with a non default CPP
5948         constructor.
5949         (OK_For_Limited_Init): CPP constructor calls are OK for initialization
5950         of limited type objects.
5951
5952         * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
5953         when a CPP constructor is called in an assignment. Disable also the
5954         error message associated with dyamically tagged expressions if the
5955         exporession initializing a tagged type corresponds with a non default
5956         CPP constructor.
5957
5958         * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
5959         non-default C++ constructors.
5960
5961         * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
5962
5963         * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
5964         non-default constructors.
5965         (Init_Proc): Add support for non-default constructors.
5966
5967         * exp_disp.adb (Set_Default_Constructor): Removed.
5968         (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
5969         but extending its functionality to handle non-default constructors.
5970
5971         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
5972         constructors. Minor code cleanup removing unrequired label and goto
5973         statement.
5974
5975         * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
5976         constructors.
5977         (Build_Init_Statements): Add support for non-default constructors.
5978         (Expand_N_Object_Declaration): Add support for non-default constructors.
5979         (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
5980         to Set_CPP_Constructors.
5981
5982         * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
5983         non-default constructors.
5984         Required to handle its use in build-in-place statements.
5985
5986         * gnat_rm.texi (CPP_Constructor): Document new extended use of this
5987         pragma for non-default C++ constructors and the new compiler support
5988         that allows the use of these constructors in record components, limited
5989         aggregates, and extended return statements.
5990
5991 2009-04-29  Vincent Celier  <celier@adacore.com>
5992
5993         * prj-part.adb (Parse_Single_Project): Do not attempt to find a
5994         project extending an abstract project.
5995
5996 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
5997
5998         * targparm.ads: Fix oversight.
5999
6000 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6001
6002         * lib-xref.adb (Output_Overridden_Op): Follow several levels of
6003         derivation when necessary, to find the user-subprogram that is actally
6004         being overridden.
6005
6006 2009-04-29  Robert Dewar  <dewar@adacore.com>
6007
6008         * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
6009         components
6010
6011 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6012
6013         * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
6014         primitive operation, rather than source line of synchronized type, when
6015         building the wrapper for a primitive operation that overrides an
6016         operation inherited from a progenitor, to improve the error message on
6017         duplicate declarations.
6018
6019         * sem_ch3.adb (Process_Full_View): Use new signature of
6020         Build_Wrapper_Spec.
6021
6022 2009-04-29  Robert Dewar  <dewar@adacore.com>
6023
6024         * prj-nmsc.ads: Minor reformatting
6025
6026 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6027
6028         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
6029         expression on the existing parent If statement.
6030
6031 2009-04-29  Robert Dewar  <dewar@adacore.com>
6032
6033         * prj-proc.adb, prj.ads: Minor reformatting
6034
6035 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6036
6037         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
6038         existing parent If statement on the newly created one.
6039
6040 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6041
6042         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
6043         prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
6044         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
6045         (Set_In_Configuration, In_Configuration): Removed.
6046         Replaced by an extra parameter Is_Config_File in several parameter to
6047         avoid global variables to store the state of the parser.
6048
6049 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6050
6051         * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
6052         with_clauses generated for the same unit through rtsfind, and that
6053         appear in the context of different units.
6054
6055         * rtsfind.adb: New attribute First_Implicit_With, component of the
6056         Unit_Record that stores information about a unit loaded through rtsfind.
6057
6058 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6059
6060         * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
6061         (other conditions permitting), so that abstract stream subprograms will
6062         be declared for them.
6063
6064 2009-04-29  Bob Duff  <duff@adacore.com>
6065
6066         * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
6067
6068         * g-expect.ads: Minor comment fixes.
6069
6070 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6071
6072         * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
6073         dispatching operation is a body without previous spec, update the list
6074         of primitive operations to ensure that cross-reference information is
6075         up-to-date.
6076
6077 2009-04-29  Albert Lee  <lee@adacore.com>
6078
6079         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6080         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
6081         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
6082         (GNAT.Sockets.Thin.C_Readv,
6083         GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
6084         (GNAT.Sockets.Thin.C_Recvmsg,
6085         GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
6086         sendmsg(2).  
6087         (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
6088         C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
6089
6090 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6091
6092         * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
6093         operation is a body without previous spec, update the list of
6094         primitive operations to ensure that cross-reference information is
6095         up-to-date.
6096
6097         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
6098         new compilation unit node for the instance declaration, keep the
6099         context items of the original unit on it, so that the context of the
6100         instance body only holds the context inherited from the generic body.
6101
6102 2009-04-29  Bob Duff  <duff@adacore.com>
6103
6104         * sem_res.adb: Minor comment fix.
6105
6106 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6107
6108         * sem_elim.adb: Minor reformatting
6109
6110 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6111
6112         * exp_aggr.adb (Convert_To_Positional): if the current unit is a
6113         predefined unit, allow arbitrary number of components in static
6114         aggregate, to ensure that the same level of constant folding applies
6115         for Ada 95 and Ada 05 versions of the file.
6116
6117 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6118
6119         * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
6120         information: no need for full scope check.
6121         (Eliminate_Error): Do not emit error in a generic context.
6122
6123 2009-04-29  Ed Falis  <falis@adacore.com>
6124
6125         * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
6126         VxWorks 653 POS does not support rmdir.
6127
6128 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6129
6130         * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
6131         results are printed.
6132
6133 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6134
6135         * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
6136         unused assignment.
6137
6138 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6139
6140         * make.adb: Minor reformatting.
6141         Minor code reorganization throughout.
6142
6143 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6144
6145         * s-stausa.ads: Changed visibility of type Task_Result: moved to
6146         public part to give application visibility over it.
6147         This is for future improvement and to build a public API on top of it.
6148         Changed record components name of type Task_Result to reflect the new
6149         way of reporting. 
6150
6151         * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
6152         reporting Stack usage.
6153
6154         * gnat_ugn.texi: Update doc of stack usage report.
6155
6156         * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
6157
6158         * Makefile.rtl: Add new run-time files.
6159
6160 2009-04-29  Pascal Obry  <obry@adacore.com>
6161
6162         * initialize.c: Do not expand quoted arguments.
6163
6164 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6165
6166         * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
6167
6168         * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
6169          Prj.Ultimate_Extending_Project_Of
6170
6171 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6172
6173         * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
6174         Amendment type, add the with_clause for Finalization.List_Controller
6175         only if the current context is a package body.
6176
6177 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6178
6179         * sem_ch12.adb: Minor reformatting
6180
6181         * sem_aggr.adb: Minor reformatting
6182
6183         * sem_ch6.adb, sem_cat.ads: Minor reformatting
6184
6185         * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
6186
6187 2009-04-29  Quentin Ochem  <ochem@adacore.com>
6188
6189         * prj.ads (Source_Id): Now general pointer type.
6190
6191 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6192
6193         * exp_ch7.adb, rtsfind.adb: Minor reformatting
6194
6195         * sem_res.adb: Minor reformatting
6196
6197 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6198
6199         * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
6200         operands is static only if it is a predefined concatenation operator.
6201
6202         * sem_util.adb: Minor reformatting
6203
6204         * sem_ch12.adb (Save_References): When propagating semantic information
6205         from generic copy back to generic template, for the case of an
6206         identifier that has been rewritten to an explicit dereference whose
6207         prefix is either an object name or a parameterless funcion call
6208         denoting a global object or function, properly capture the denoted
6209         global entity: perform the corresponding rewriting in the template,
6210         and point the rewritten identifier to the correct global entity (not
6211         to the associated identifier in the generic copy).
6212
6213 2009-04-29  Robert Dewar  <dewar@adacore.com>
6214
6215         * rtsfind.adb, prj-env.adb: Minor reformatting
6216         Minor code reorganization
6217
6218 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6219
6220         * make.adb: Fix comment
6221
6222         * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
6223         is given as argument, as might happen in gnatmake.
6224
6225 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6226
6227         * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
6228         an abstract operation of a progenitor is not properly overridden by an
6229         operation of a derived synchronized type.
6230
6231 2009-04-29  Robert Dewar  <dewar@adacore.com>
6232
6233         * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
6234         prj-proc.adb: Minor reformatting
6235         Minor code reorganization
6236
6237 2009-04-29  Bob Duff  <duff@adacore.com>
6238
6239         * exp_ch7.adb (Build_Final_List): For an access type that designates a
6240         Taft Amendment type, if the access type needs finalization, make sure
6241         the implicit with clause for List_Controller occurs on the package spec.
6242
6243         * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
6244         with's created for the pseudo-children of Text_IO and friends. In
6245         particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
6246         Ada.Text_IO.Integer_IO both with-ing each other.
6247
6248         * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
6249         oddball cases when pragma Extend_System is used.
6250
6251         * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
6252         the case where a package spec instantiates a generic whose body with's
6253         this package, so Walk_Library_Items won't complain about cyclic with's.
6254
6255 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6256
6257         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
6258         prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
6259         mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
6260         (Project_Id): now a real pointer to Project_Data, instead of an index
6261         into the Projects_Table. This simplifies the API significantly, avoiding
6262         extra lookups in this table and the need to pass the Project_Tree_Ref
6263         parameter in several cases
6264
6265 2009-04-29  Nicolas Setton  <setton@adacore.com>
6266
6267         * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
6268         darwin.
6269
6270 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
6271
6272         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
6273         back kludge.
6274
6275 2009-04-24  Robert Dewar  <dewar@adacore.com>
6276
6277         * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
6278         clean.adb: Minor reformatting.
6279         Minor code reorganization and message improvement.
6280
6281 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6282
6283         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
6284         (Alternate_Languages): now implemented as a malloc-ed list rather
6285         than through a table.
6286
6287 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6288
6289         * sem_res.adb (Static_Concatenation): Simplify predicate to make it
6290         accurately handle cases such as "lit" & "lit" and
6291         "lit" & static_string_constant
6292
6293 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6294
6295         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
6296         prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
6297         removed. Lists of projects are now implemented via standard malloc
6298         rather than through the table.
6299
6300 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6301
6302         * sem_ch12.adb: Minor reformatting
6303
6304         * g-trasym.adb: Minor reformatting
6305
6306         * exp_ch6.adb: Minor reformatting
6307
6308 2009-04-24  Robert Dewar  <dewar@adacore.com>
6309
6310         * layout.adb (Layout_Type): For packed array type, copy unset
6311         size/alignment fields from the referenced Packed_Array_Type.
6312
6313 2009-04-24  Bob Duff  <duff@adacore.com>
6314
6315         * lib-load.adb (Make_Instance_Unit): Revert previous change, no
6316         longer needed after sem_ch12 changes.
6317
6318         * sem.adb (Walk_Library_Items): Include with's in some debugging
6319         printouts.
6320
6321 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6322
6323         * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
6324         only ever using the Project field.
6325
6326 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6327
6328         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
6329         Body_Required on the generated compilation node. The new node is linked
6330         to its body, but both share the same file, so we do not set this flag
6331         on the new unit so as not to create a spurious dependency on a
6332         non-existent body in the ali file for the instance.
6333
6334 2009-04-24  Robert Dewar  <dewar@adacore.com>
6335
6336         * make.adb: Minor reformatting
6337
6338 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6339
6340         * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
6341         Add_Source): merge some code between those. In particular change where
6342         file normalization is done to avoid a few extra calls to
6343         Canonicalize_File_Name. This also removes the need for passing
6344         Current_Dir in a number of subprograms.
6345
6346 2009-04-24  Bob Duff  <duff@adacore.com>
6347
6348         * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
6349         False, assign the correct unit to the Cunit field of the new table
6350         entry. We want the spec unit, not the body unit.
6351
6352         * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
6353         interface for these.
6354         (Maybe_Add_With): Check whether we're trying to a with on the current
6355         unit, and avoid creating such directly self-referential with clauses.
6356         (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
6357         [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
6358         and matches existing comments in the spec.
6359
6360         * sem.adb (Walk_Library_Items): Add various special cases to make the
6361         assertions pass.
6362
6363         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
6364         instead of Parent (N), for uniformity.
6365
6366 2009-04-24  Robert Dewar  <dewar@adacore.com>
6367
6368         * errout.ads: Minor reformatting
6369
6370 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6371
6372         * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
6373         behavior when the project includes sources from multiple languages
6374
6375 2009-04-24  Vincent Celier  <celier@adacore.com>
6376
6377         * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
6378         is a language other than Ada declared.
6379
6380         * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
6381         Imported_First set to True.
6382
6383 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6384
6385         * sem_res.adb: additional optimization to inhibit creation of
6386         redundant transient scopes.
6387
6388 2009-04-24  Bob Duff  <duff@adacore.com>
6389
6390         * rtsfind.ads: Minor comment fix
6391
6392 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6393
6394         * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
6395         Get_Path_Name_And_Record_Ada_Sources): merged, since these were
6396         basically doing the same work (for explicit or implicit sources).
6397         (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
6398         role. Rewritten to share some code (testing that all explicit sources
6399         have been found) between ada_only and multi_language modes.
6400
6401 2009-04-24  Jerome Lambourg  <lambourg@adacore.com>
6402
6403         * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
6404         for CLI imported types.
6405         (Analyze_Pragma): Allow CIL or Java imported functions returning
6406         access-to-subprogram types.
6407
6408 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6409
6410         * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
6411         (Project_Data.Dir_Path): field removed, since it can be computed
6412         directly from .Directory, and is needed only once when processing the
6413         project is buildgpr.adb or make.adb
6414
6415 2009-04-24  Robert Dewar  <dewar@adacore.com>
6416
6417         * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
6418         rtsfind.adb: Minor reformatting.
6419         Minor code reorganization
6420
6421 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6422
6423         * mlib-prj.adb: Use friendlier english identifier.
6424
6425         * gnatcmd.adb, make.adb: Use better english identifiers.
6426
6427 2009-04-24  Robert Dewar  <dewar@adacore.com>
6428
6429         * clean.adb: Minor reformatting
6430
6431 2009-04-24  Robert Dewar  <dewar@adacore.com>
6432
6433         * einfo.adb (OK_To_Rename): New flag
6434
6435         * einfo.ads (OK_To_Rename): New flag
6436
6437         * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
6438         OK_To_Rename set.
6439
6440         * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
6441
6442         * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
6443         OK_To_Rename.
6444
6445 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6446
6447         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
6448         clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
6449         field removed. This is not a property of the
6450         project, just a boolean used to traverse the project tree, and storing
6451         it in the structure prevents doing multiple traversal in parallel.
6452         (Project_Data.Checked): also removed, since it was playing the same role
6453         as Seen when we had two nested loops, and this is no longer necessary
6454         (For_All_Imported_Projects): removed, since in fact there was already
6455         the equivalent in For_Every_Project_Imported. The latter was rewritten
6456         to use a local hash table instead of Project_Data.Seen
6457         Various loops were rewritten to use For_Every_Project_Imported, thus
6458         removing the need for Project_Data.Seen. This avoids a lot of code
6459         duplication
6460
6461 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6462
6463         * sem_res.adb (Resolve_Actuals): Do not create blocks around code
6464         statements, even though the actual of the call is a concatenation,
6465         because the argument is static, and we want to preserve warning
6466         messages  about sequences of code statements that are not marked
6467         volatile.
6468
6469         * sem_warn.adb: remove obsolete comment about warning being obsolete
6470
6471         * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
6472         requeued and the delay has expired while within the accept statement
6473         that executes the requeue, do not perform the requeue and indicate that
6474         the timed call has been aborted.
6475
6476 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6477
6478         * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6479         (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
6480         (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
6481         since they can be computed from the above.
6482
6483 2009-04-24  Vincent Celier  <celier@adacore.com>
6484
6485         * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
6486
6487         * prj-env.adb: Move all global variables to the private part of the
6488         project tree data.
6489         Access these new components instead of the global variables no longer
6490         in existence.
6491         (Add_To_Path): New Project_Tree_Ref parameter, to access the new
6492         components that were previously global variables.
6493
6494         * prj-env.ads (Initialize): New Project_Tree_Ref parameter
6495         (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
6496         parameter.
6497
6498         * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
6499         be able to call Set_Mapping_File_Initial_State_To_Empty with it.
6500
6501         * prj.adb (Initialize): Do not call Prj.Env.Initialize
6502         (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
6503         components in the private part of the project tree data.
6504
6505         * prj.ads (Private_Project_Tree_Data): new components moved from
6506         Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
6507         Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
6508         Ada_Prj_Objects_File_Set, Fill_Mapping_File.
6509
6510 2009-04-24  Vincent Celier  <celier@adacore.com>
6511
6512         * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
6513
6514         * prj-nmsc.adb (Check_Library): No error for imports by shared library
6515         projects, when --unchecked-shared-lib-imports is used.
6516
6517 2009-04-24  Robert Dewar  <dewar@adacore.com>
6518
6519         * sem_ch7.adb: Minor reformatting
6520
6521 2009-04-24  Tristan Gingold  <gingold@adacore.com>
6522
6523         * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
6524         mach thread id.
6525
6526 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6527
6528         * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
6529         Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
6530         (For_All_Imported_Projects): new procedure
6531         (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
6532         above rather than duplicating code.
6533
6534 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6535
6536         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6537         (Source_Id, Source_Data): use a real list to store sources rather than
6538         using an external table to store the elements. This makes code more
6539         efficient and more readable.
6540
6541 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6542
6543         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6544         (Source_Iterator): new type.
6545         This removes the need for having the sources on three different
6546         lists at the project tree, project and language level. They are now
6547         on a single list.
6548
6549 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6550
6551         * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
6552
6553 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6554
6555         * sem_warn.adb: Add comment on obsolete warning
6556
6557 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6558
6559         * s-tassta.adb (Create_Task): Fix violation of locking rule.
6560
6561 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6562
6563         * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
6564         to Language_Ptr to better reflect its new implementation.
6565         (Project_Data.First_Languages_Processing): renamed to Languages now
6566         that the field with that name is no longer used
6567         (Project_Data.Languages): removed, no longer used, and duplicates
6568         information already available through First_Language_Processing.
6569         (Prj.Language_Index): now an actual pointer, instead of an index into
6570         a table. This makes the list somewhat more obvious, but more importantly
6571         removes the need to pass a pointer to the project_tree_data in a few
6572         places, and makes accessing the attributes of a languages more
6573         efficient.
6574
6575 2009-04-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6576             Thomas Quinot  <quinot@adacore.com>
6577
6578         * fe.h (Set_Identifier_Casing): Add const to second parameter.
6579         * gcc-interface/misc.c (internal_error_function): Make copy of return
6580         from pp_formatted_text before assigning BUFFER to it.
6581         (gnat_init): Likewise for main_input_filename and gnat_argv.
6582         (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
6583
6584 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6585
6586         * ttypes.ads (Target_Double_Float_Alignment): New variable.
6587         (Target_Double_Scalar_Alignment): Likewise.
6588         * get_targ.ads (Get_Strict_Alignment): Adjust external name.
6589         (Get_Double_Float_Alignment): New imported function.
6590         (Get_Double_Scalar_Alignment): Likewise.
6591         * layout.adb (Set_Elem_Alignment): Take into account specific caps for
6592         the alignment of "double" floating-point types and "double" or larger
6593         scalar types, as parameterized by Target_Double_Float_Alignment and
6594         Target_Double_Scalar_Alignment respectively.
6595         * gcc-interface/gigi.h (double_float_alignment): Declare.
6596         (double_scalar_alignment): Likewise.
6597         (is_double_float_or_array): Likewise.
6598         (is_double_scalar_or_array): Likewise.
6599         (get_target_double_float_alignment): Likewise.
6600         (get_target_double_scalar_alignment): Likewise.
6601         * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
6602         (get_target_strict_alignment): ...this.
6603         (get_target_double_float_alignment): New function.
6604         (get_target_double_scalar_alignment): Likewise.
6605         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6606         Test the presence of an alignment clause for under-aligned integer
6607         types.  Take into account specific caps for the alignment of "double"
6608         floating-point types and "double" or larger scalar types, as
6609         parameterized by Target_Double_Float_Alignment and
6610         Target_Double_Scalar_Alignment respectively.
6611         (validate_alignment): Likewise.
6612         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
6613         (gigi): Initialize double_float_alignment and double_scalar_alignment.
6614         * gcc-interface/utils.c (double_float_alignment): New global variable.
6615         (double_scalar_alignment): Likewise.
6616         (is_double_float_or_array): New predicate.
6617         (is_double_scalar_or_array): Likewise.
6618
6619 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6620
6621         * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
6622         the conditional expression only if it is common to both arms.
6623
6624 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6625
6626         * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
6627         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
6628         arguments to build_allocator.
6629         * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
6630         Remove code handling special allocator and assert its uselessness.
6631
6632 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6633
6634         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
6635         alignment is specified, do not promote that of the component type
6636         beyond it.
6637         <E_Array_Subtype>: Likewise.
6638
6639 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6640
6641         * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
6642         * sinfo.ads (Object Declaration): Likewise.
6643         (Assignment Statement): Likewise.
6644         * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
6645         Do not force Is_True_Constant to false on the temporary.
6646         (Freeze_Entity): Do not force Is_True_Constant to false on names on
6647         the RHS of object declarations.
6648         * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
6649         New case.  Return 1 if the object is atomic.
6650         <N_Assignment_Statement>: Likewise.
6651
6652 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6653
6654         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
6655         For packed array types, make the original array type a parallel type
6656         for the modular type and its JM wrapper if the type is bit-packed.
6657         <E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
6658         record type for packed array types.  Remove kludge.
6659
6660 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6661
6662         * gcc-interface/gigi.h (create_index_type): Adjust head comment.
6663         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6664         Use front-end predicates to compute signedness and precision.
6665         <E_String_Literal_Subtype>: Fold range type.
6666         Make sure to set longest_float_type_node to a scalar type.
6667         (elaborate_entity): Use consistent Constraint_Error spelling.
6668         (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
6669         * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
6670         output for the modulus, if any.
6671         <ENUMERAL_TYPE>: Likewise for the RM size.
6672         * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
6673         spelling.
6674         * gcc-interface/utils.c (finish_record_type): Really test the alignment
6675         of BLKmode bit-fields to compute their addressability.
6676         (create_index_type): Adjust comments.
6677         (create_param_decl): Create the biased subtype manually.
6678         * gcc-interface/utils2.c (build_component_ref): Use consistent
6679         Constraint_Error spelling.
6680
6681 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6682
6683         * gcc-interface/cuintp.c: Clean up include directives.
6684         * gcc-interface/targtyps.c: Likewise.
6685         * gcc-interface/decl.c: Likewise.
6686         * gcc-interface/misc.c: Likewise.
6687         * gcc-interface/trans.c: Likewise.
6688         * gcc-interface/utils.c: Likewise.
6689         * gcc-interface/utils2.c: Likewise.
6690         * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
6691
6692 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6693
6694         * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
6695         (SET_TYPE_LANG_SPECIFIC): Likewise.  Fix formatting.
6696         (SET_DECL_LANG_SPECIFIC): Likewise.
6697         Reorder macros.
6698         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6699         Update comment about use of build_range_type.
6700         <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
6701         <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
6702         check for other cases of overloading.
6703         * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
6704         * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
6705         Use size_int in lieu of build_int_cst.
6706         (build_call_alloc_dealloc): Use build_index_2_type in lieu of
6707         build_range_type.
6708
6709 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6710
6711         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
6712         type is an enumeral or a boolean type, change it to an integer type
6713         with the same mode and signedness.
6714
6715 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6716
6717         * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
6718         for an external constant whose initializer is not absolute.
6719
6720 2009-04-22  Taras Glek  <tglek@mozilla.com>
6721
6722         * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
6723         * gcc-interface/trans.c: Likewise.
6724         * gcc-interface/utils.c: Likewise.
6725
6726 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
6727
6728         * sem_res.adb: Create block around procedure call when actual is a
6729         concatenation.
6730
6731 2009-04-22  Thomas Quinot  <quinot@adacore.com>
6732
6733         * s-soflin.ads: Fix typos
6734
6735 2009-04-22  Vincent Celier  <celier@adacore.com>
6736
6737         * prj-env.adb: Minor comment change
6738
6739         * prj-nmsc.adb (Check_Common): Add guard to avoid calling
6740         Get_Name_String with No_File.
6741
6742         * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
6743         cannot be created even when not in verbose mode.
6744
6745 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6746
6747         * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
6748         prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
6749         Multi_Language modes, to avoid code duplication.
6750         (Project_Data.Include_Language): Removed.
6751
6752 2009-04-22  Vincent Celier  <celier@adacore.com>
6753
6754         * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
6755         the temporary file cannot be created, indicating the directory when the
6756         creation was attempted.
6757
6758 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6759
6760         * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
6761         the language names, not their indices.
6762
6763 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6764
6765         * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
6766         (Source_Data.Language_Name): Field removed.
6767
6768 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6769
6770         * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
6771         Two fields removed.
6772
6773 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6774
6775         * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
6776         separate_suffix to the same value as the body_suffix.
6777
6778 2009-04-22  Robert Dewar  <dewar@adacore.com>
6779
6780         * prj.adb: Minor code reorganization
6781         Code clean up.
6782
6783         * prj-proc.adb: Minor code reorganization, clean up.
6784
6785         * prj-nmsc.adb: Minor reformatting
6786         Minor code reorganization
6787
6788         * gnat_ugn.texi: Add to doc on strict aliasing
6789
6790 2009-04-22  Pascal Obry  <obry@adacore.com>
6791
6792         * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
6793         SpinCount.
6794
6795         * s-tasini.adb: Minor reformatting.
6796
6797         * s-tassta.adb: Minor reformatting.
6798
6799 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6800
6801         * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
6802         smaller subprograms.
6803         Renamed to Check_File_Naming_Schemes to avoid confusion with the
6804         other Check_Naming_Schemes functions that plays a totally different
6805         role.
6806         (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
6807         extracted from the above. These were partially rewritten to avoid
6808         unnecessary code and temporary variables.
6809         (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
6810         and Get_Unit (which for now still exist since they contain mode-specific
6811         code)
6812
6813 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6814
6815         * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
6816         Remove duplicated code.
6817         (Canonical_Case_File_Name): new subprogram
6818         (Check_And_Normalize_Unit_Names): new subprogram
6819         (Write_Attr): new subprogram
6820         Better sharing of code
6821         (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
6822         split Check_Naming and help find duplicated code
6823         (Check_Common): new subprogram, sharing code between ada_only and
6824         multi_language mode.
6825         (Naming_Data.Dot_Repl_Loc): field removed
6826
6827 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6828
6829         * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
6830         Minor refactoring to reduce the size of
6831         Process_Sources_In_Multi_Language_Mode.
6832         Avoid extra copied of Source_Data, which we found in the past could be
6833         quite slow.
6834         (Mark_Excluded_Sources): new subprogram.
6835         (Remove_Locally_Removed_Files_From_Units): merged into the above
6836         Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
6837         and allow better sharing of code between multi_lang and ada_only modes
6838         (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
6839
6840 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6841
6842         * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
6843         Removed, since unused.
6844
6845 2009-04-22  Vincent Celier  <celier@adacore.com>
6846
6847         * prj-attr.adb: New single project level attribute
6848         Separate_Run_Path_Options.
6849
6850         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
6851         attribute Seperate_Run_Path_Options.
6852
6853         * prj.ads: (Project_Configuration): New Boolean component
6854         Separate_Run_Path_Options, defaulted to False.
6855
6856         * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
6857
6858 2009-04-22  Robert Dewar  <dewar@adacore.com>
6859
6860         * sem_type.adb: Minor reformatting
6861
6862         * mlib.adb: Minor reformatting
6863
6864         * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
6865         syntax error.
6866
6867 2009-04-22  Nicolas Setton  <setton@adacore.com>
6868
6869         * link.c: Add flag __gnat_separate_run_path_options.
6870
6871         * mlib.adb (Separate_Run_Path_Options): New subprogram.
6872
6873         * mlib.ads (Separate_Run_Path_Options): Declare.
6874
6875         * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
6876         switch per directory, rather than one "rpath" switch listing all
6877         directories.
6878
6879         * gnatlink.adb (Process_Binder_File): Likewise.
6880
6881         * make.adb (Gnatmake): Likewise.
6882
6883 2009-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
6884
6885         * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
6886         Add a call to Move_Final_List when the target of the assignment is a
6887         return object that needs finalization and the expression is a
6888         controlled build-in-place function.
6889
6890 2009-04-22  Vincent Celier  <celier@adacore.com>
6891
6892         * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
6893         Including_Libraries set to True.
6894
6895 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
6896
6897         * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
6898         create a unit table entry for the subprogram declaration created for a
6899         child suprogram body that has no separate specification.
6900
6901         * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
6902         subprogram body, call Make_Child_Decl_Unit.
6903
6904         * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
6905         table can only be the created specification of a child subprogram body
6906         that is the main unit, which has not been entered in the table yet.
6907
6908         * errout.adb  (Output_Messages): Ignore created specification of a
6909         child subprogram body to prevent repeated listing of error messages.
6910
6911         * gnat1drv.adb (gnat1drv): The generated specification for a child
6912         subprogram body does not generate code.
6913
6914 2009-04-22  Arnaud Charlet  <charlet@adacore.com>
6915
6916         * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
6917         since this unit is now part of bootstrap units, so must use Ada 95
6918         syntax only.
6919
6920 2009-04-22  Thomas Quinot  <quinot@adacore.com>
6921
6922         * a-tasatt.adb: Minor reformatting
6923
6924 2009-04-22  Bob Duff  <duff@adacore.com>
6925
6926         * s-stalib.ads: Remove "with System;" since we're inside System, so
6927         it's unnecessary.
6928
6929 2009-04-22  Vincent Celier  <celier@adacore.com>
6930
6931         * prj-nmsc.adb (Add_Source): Always put the dependency file name in
6932         the source record, as there may be a dependency file even if no object
6933         file is created.
6934
6935 2009-04-22  Robert Dewar  <dewar@adacore.com>
6936
6937         * lib-load.adb: Minor reformatting
6938
6939         * lib-load.ads: Minor reformatting
6940
6941         * sinfo.ads: Minor reformatting
6942
6943 2009-04-22  Bob Duff  <duff@adacore.com>
6944
6945         * exp_pakd.adb: Minor comment fixes.
6946
6947         * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
6948         sem_ch12.adb: Change the meaning of the Library_Unit attribute to
6949         include units containing instantiations, as well as units that are
6950         generic instantiations.
6951
6952         * sem.adb: Include dependents and corresponding specs/bodies in the
6953         unit walk.
6954
6955         * gcc-interface/Make-lang.in:
6956         sem now depends on s-bitops, because of the packed array of Booleans.
6957
6958 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6959
6960         * gcc-interface/ada-tree.def: Fix formatting nits.
6961         (REGION_STMT): Delete.
6962         (HANDLER_STMT): Likewise.
6963         * gcc-interface/ada-tree.h: Fix formatting nits.
6964         (IS_STMT): Delete.
6965         (REGION_STMT_BODY): Likewise.
6966         (REGION_STMT_HANDLE): Likewise.
6967         (REGION_STMT_BLOCK): Likewise.
6968         (HANDLER_STMT_ARG): Likewise.
6969         (HANDLER_STMT_LIST): Likewise.
6970         (HANDLER_STMT_BLOCK): Likewise.
6971         * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
6972         (fp_size_to_prec): Likewise.
6973         (largest_move_alignment): Delete.
6974         (gnat_compute_largest_alignment): Likewise.
6975         Fix minor nits.
6976         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6977         Remove redundant code.
6978         <E_Array_Type>: Remove redundant assert.
6979         <E_Array_Subtype>: Exit early from index computation in pathological
6980         cases.
6981         Rewrite conditional assignment.
6982         (make_type_from_size): Likewise.
6983         * gcc-interface/misc.c (largest_move_alignment): Delete.
6984         (gnat_finish_incomplete_decl): Likewise.
6985         (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
6986         (asm_out_file): Likewise
6987         (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
6988         (gnat_dwarf_name): Move around.
6989         * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
6990         (gigi): Remove call to gnat_compute_largest_alignment.
6991         * utils.c (create_field_decl): Rewrite conditional assignment.
6992         Fix minor nits.
6993
6994 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6995
6996         * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
6997         on entry.  Defer common processing for types.  Reorder and clean up.
6998         Compute the equivalent GNAT node and the default size for types only.
6999         <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
7000         <E_Access_Type>: For an unconstrained designated type, do not pretend
7001         that a dummy type is always made.
7002         <all> Fix nits in comments.
7003         (validate_size): Fix formatting nits and comments.
7004         (set_rm_size): Likewise.
7005         * gcc-interface/utils.c (create_param_decl): Replace bogus argument
7006         passed to TARGET_PROMOTE_PROTOTYPES hook.
7007
7008 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7009
7010         * fe.h (Get_External_Name): Declare.
7011         * gcc-interface/gigi.h (concat_id_with_name): Rename to...
7012         (concat_name): ...this.
7013         * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
7014         gnu_entity_name and adjust for above renaming.
7015         <E_Access_Type>: Use create_concat_name to get the name of the various
7016         types associated with unconstrained array types.
7017         (make_aligning_type): Adjust for above renaming.
7018         (maybe_pad_type): Likewise.
7019         (components_to_record): Likewise.  Use get_identifier_with_length for
7020         the encoding of the variant.
7021         (get_entity_name): Use get_identifier_with_length.
7022         (create_concat_name): Likewise.  Use Get_External_Name if no suffix.
7023         Do not fiddle with Name_Buffer.
7024         (concat_id_with_name): Rename to...
7025         (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
7026         with Name_Buffer.
7027         * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
7028         above renaming.
7029
7030 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
7031
7032         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
7033         license notices.
7034
7035 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7036
7037         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
7038
7039 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7040
7041         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
7042         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
7043         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
7044         Remove useless support code for packed array types and assert its
7045         uselessness.
7046         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
7047         adjust for TYPE_RM_SIZE change.
7048         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
7049         of Associated_Node_For_Itype accessor for packed array types.
7050         (make_packable_type): Likewise.
7051         (maybe_pad_type): Likewise.
7052         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
7053         TYPE_RM_SIZE change.
7054         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
7055         (rm_size): Fix nits in comments.  Rework conditional statements.
7056         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
7057         change.
7058         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
7059         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
7060         appropriate function to initialize the size_type_node.  Adjust for
7061         TYPE_RM_SIZE change.
7062
7063 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7064
7065         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
7066         for imported subprograms.
7067
7068 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7069
7070         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
7071         constant objects covered by 13.3(19) volatile.
7072
7073 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7074
7075         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
7076         of dummy fat pointer types to the debug back-end.
7077
7078 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7079
7080         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
7081         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
7082         before wrapping it up in the record type.  Do not overwrite the
7083         Ada size of the record type with the Esize.
7084
7085 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7086
7087         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
7088         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
7089         if the conversion is on the LHS of an assignment and a no-op.
7090         <all> Do not convert the result to the result type if the Parent
7091         node is such a conversion.
7092
7093 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7094
7095         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
7096         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
7097         of types with unknown discriminants.
7098         (substitute_in_type): Rewrite and restrict to formal substitutions.
7099         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
7100         (update_pointer_to): Update comment.
7101
7102 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7103
7104         * sem_ch8.adb (Use_One_Package): In an instance, if two
7105         potentially_use_visible and non-overloadable homonyms are available
7106         from  the actuals of distinct formal packages, retain the current one,
7107         which was visible in the generic, to prevent spurious visibility
7108         errors.
7109         (End_Use_Package): Restore use_visibility when needed.
7110
7111 2009-04-20  Sergey Rybin  <rybin@adacore.com>
7112
7113         * gnat_ugn.texi, vms_data.ads: Update doc.
7114
7115 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7116
7117         * gcc-interface/Make-lang.in: Update dependencies
7118
7119         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
7120         Windows.
7121
7122 2009-04-20  Robert Dewar  <dewar@adacore.com>
7123
7124         * checks.ads: Fix documentation of range check handling
7125
7126 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7127
7128         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
7129         a redundant use_type clause.
7130
7131 2009-04-20  Robert Dewar  <dewar@adacore.com>
7132
7133         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
7134         this attribute can be evaluated at compile time.
7135         (Eval_Attribute, case Range_Length): Same improvement
7136
7137         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
7138
7139 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7140
7141         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
7142         for better handling of null procedures.
7143         (Check_Overriding_Indicator): Do not emit a warning on a missing
7144         overriding indicator on an operator when the type of which the operator
7145         is a primitive is private.
7146
7147 2009-04-20  Bob Duff  <duff@adacore.com>
7148
7149         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
7150         debugging output.
7151
7152 2009-04-20  Robert Dewar  <dewar@adacore.com>
7153
7154         * sem_attr.adb: Minor reformatting
7155
7156         * gnatcmd.adb: Minor reformatting
7157
7158 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7159
7160         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
7161         overloaded and one interpretation matches the context, label the
7162         operand with the type of first formal.
7163
7164 2009-04-20  Bob Duff  <duff@adacore.com>
7165
7166         * debug.ads: Minor comment fix.
7167
7168         * debug.adb: Minor comment fixes.
7169
7170 2009-04-20  Javier Miranda  <miranda@adacore.com>
7171
7172         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
7173
7174         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
7175
7176         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
7177         is expanded into a call to Raise_Exception, avoid passing the
7178         exception-name'identity in runtimes in which this argument
7179         is not used.
7180
7181 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
7182
7183         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
7184         generated bindings for cil.
7185
7186 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7187
7188         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
7189         discriminants, collect components from the Underlying_Record_View,
7190         which will be used in the expansion of the aggregate into assignments.
7191
7192         * sem_ch3.adb: Do not label derived type with unknown discriminants as
7193         having a private declaration.
7194
7195 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7196
7197         * exp_util.adb (Expand_Subtype_From_Expr): use the
7198         underlying_record_view when available, to create the proper constrained
7199         subtype for an object of a derived type with unknown discriminants.
7200
7201 2009-04-20  Javier Miranda  <miranda@adacore.com>
7202
7203         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
7204         formals that have pragma unreferenced.
7205
7206 2009-04-20  Pascal Obry  <obry@adacore.com>
7207
7208         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
7209         Remove all calls to To_Lower_If_Case_Insensitive to preserve
7210         the pathname original casing.
7211
7212 2009-04-20  Robert Dewar  <dewar@adacore.com>
7213
7214         * g-trasym.adb: Minor reformatting
7215
7216         * s-os_lib.adb: Minor reformatting
7217
7218         * sem.adb: Minor reformatting
7219         Minor code reorganization
7220
7221         * sem_ch3.adb: Minor reformatting
7222
7223         * sem_ch4.adb: Minor reformatting
7224
7225         * sem_ch8.adb: Minor reformatting
7226
7227         * sem_type.adb: Minor reformatting
7228
7229 2009-04-20  Javier Miranda  <miranda@adacore.com>
7230
7231         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
7232         generated by derivations of tagged types use the aliased subprogram a
7233         reference to locate their controlling type.
7234
7235 2009-04-20  Tristan Gingold  <gingold@adacore.com>
7236
7237         * g-trasym.adb: Set size of result buffer before calling
7238         convert_address.
7239
7240 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7241
7242         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
7243         to a function returning an array can be interpreted as a call with
7244         defaulted parameters whose result is indexed, take into account the
7245         types of all the indices of the array result type.
7246
7247 2009-04-20  Pascal Obry  <obry@adacore.com>
7248
7249         * a-direct.adb, s-os_lib.adb: Minor reformatting.
7250
7251 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7252
7253         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
7254         null exclusion qualifiers for object renaming declarations.
7255
7256 2009-04-20  Nicolas Roche  <roche@adacore.com>
7257
7258         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
7259         unsigned long long. So compare local_time and utc_time before computing
7260         the difference.
7261
7262 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7263
7264         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
7265         of the Underlying_Record_View before that of the derived type.
7266
7267         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
7268         with unknown discriminants with regard to the parent subtype.
7269
7270 2009-04-20  Bob Duff  <duff@adacore.com>
7271
7272         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
7273         that are not included. This is necessary if the main unit is a generic
7274         instantiation.
7275
7276         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
7277         because it doesn't work if -gnatn is used.
7278
7279 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7280
7281         * rtsfind.adb (RTE, RTE_Record_Component): In
7282         Configurable_Run_Time_Mode, do not enable front-end inlining.
7283
7284 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7285
7286         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
7287         System.Address_To_Access_Conversions.
7288
7289 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7290
7291         * sem.adb: Guard against ill-formed subunits.
7292
7293 2009-04-20  Bob Duff  <duff@adacore.com>
7294
7295         * output.adb (Flush_Buffer): Do not indent blank lines.
7296         (Ignore_Output): New procedure for output suppression.
7297
7298 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7299
7300         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
7301         when it is positive.  This avoids a potential constraint error raised
7302         by the conversion to Natural.
7303
7304 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7305
7306         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
7307         involves a target that has a specified address, don't set Forward_OK
7308         and Backward_OK to False if the rhs is an aggregate, since overlap
7309         can't occur.
7310
7311 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7312
7313         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
7314         in an object renaming declaration when the expected type is an
7315         anonymous access type.
7316
7317         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
7318         ambiguity when one interpretation is an anonymous access type and the
7319         other is a named access type, and the context itself is anonymous
7320
7321 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7322
7323         * einfo.ads: Minor comment rewording
7324
7325         * sem_aggr.adb: Minor comment rewording
7326
7327         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
7328
7329 2009-04-20  Pascal Obry  <obry@adacore.com>
7330
7331         * adaint.c (__gnat_is_readable_file): Check for file existence
7332         when not using ACL (always the case on remote drives).
7333
7334 2009-04-20  Robert Dewar  <dewar@adacore.com>
7335
7336         * sinfo.ads: Minor comment fixes
7337
7338         * exp_disp.adb: Minor reformatting
7339
7340         * gnat1drv.adb: Minor reformatting
7341
7342         * output.adb: Minor reformatting
7343
7344         * s-vxwext-kernel.ads: Minor reformatting
7345
7346         * sem.ads: Minor reformatting
7347
7348         * sem.adb: Minor reformatting
7349
7350         * sem_elim.adb: Minor reformatting
7351
7352         * uname.ads: Minor reformatting
7353
7354 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7355
7356         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
7357         a small dope of 4 words to the adjustment to the stack pointer.
7358
7359 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7360
7361         * xoscons.adb: generate C header s-oscons.h in
7362         addition to s-oscons.ads.
7363
7364         * socket.c: On VMS, use s-oscons.h.
7365
7366         * sem_ch3.adb: Minor reformatting
7367
7368         * exp_ch9.adb: Minor reformatting
7369
7370 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7371
7372         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
7373         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
7374         (call_to_gnu): Likewise.
7375
7376 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7377
7378         * gcc-interface/trans.c (gigi): Declare the name of the compilation
7379         unit as the first global name at the very beginning.
7380
7381 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7382
7383         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7384         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
7385         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
7386         since HP-UX supports neither inet_aton nor inet_pton (altough the
7387         latter is part of the Single UNIX Specification!).
7388         So reorganize code, and share C implementation based on inet_addr(3)
7389         with VMS (instead of having a VMS specific Ada implementation in
7390         g-socthi-vms.adb).
7391
7392 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7393
7394         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
7395         to return the object file name saved by Set_Object_Output_File_Name.
7396
7397 2009-04-20  Emmanuel Briot  <briot@adacore.com>
7398
7399         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
7400         for the standard command line, when argc has been modified since the
7401         start of the application.
7402
7403 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7404
7405         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
7406         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
7407
7408 2009-04-20  Bob Duff  <duff@adacore.com>
7409
7410         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
7411         pragma Debug.
7412
7413 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7414
7415         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
7416         subprogram as Eliminated when source operation is.
7417         (Expand_N_Protected_Type_Declaration): Generate protected and
7418         unprotected specs for the internal operations, even if the source
7419         operation is eliminated.
7420
7421 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7422
7423         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
7424         Predefined_Primitive_Bodies): Do not create the declarations and bodies
7425         of the primitive subprograms associated with dispatching select
7426         statements when the runtime is in configurable mode.
7427
7428 2009-04-20  Ed Falis  <falis@adacore.com>
7429
7430         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
7431
7432 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7433
7434         * s-oscons-tmplt.c: Add support for generating a dummy version of
7435         s-oscons.ads providing all possible constants.
7436
7437         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
7438
7439         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
7440         ANSI version (not the UNICODE version) of WSAStringToAddress.
7441
7442 2009-04-20  Pascal Obry  <obry@adacore.com>
7443
7444         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
7445         allocated for the security descriptor and make sure all
7446         handles are closed before leaving this procedure.
7447
7448 2009-04-20  Javier Miranda  <miranda@adacore.com>
7449
7450         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
7451         (Set_Is_Underlying_Record_View): New subprogram
7452
7453         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
7454         private types with unknown discriminants use the underlying record view
7455         if available.
7456
7457         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
7458         underlying record view in the full view of private types whose parent
7459         has unknown discriminants.
7460         (Build_Derived_Record_Type): Avoid generating the class-wide entity
7461         associated with an underlying record view.
7462         (Derived_Type_Declaration): Avoid deriving parent primitives in
7463         underlying record views.
7464
7465         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
7466         records with unknown discriminants.
7467
7468         * sem_type.adb (Covers): Handle underlying record views.
7469         (Is_Ancestor): Add support for underlying record views.
7470
7471         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
7472         dispatching call if the type of the target object is tagged and has
7473         unknown discriminants.
7474
7475         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
7476         unknown discriminants.
7477
7478         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
7479         tables for internally built underlying record views.
7480
7481         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
7482         empty list of component associations.
7483
7484 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7485
7486         * sem_ch10.adb: Minor reformatting
7487
7488         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7489         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
7490         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
7491         standard inet_pton API (and emulate it on platforms that do not
7492         support it).
7493         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
7494         DECC$INET_ADDR, imported in Ada.
7495         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
7496         implementation provided by GNAT runtime.
7497         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
7498         Windows.
7499
7500 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7501
7502         * gnat_ugn.texi: Add documentation for -fno-ivopts.
7503
7504 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7505
7506         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
7507         with_clause if it is the main unit.
7508
7509 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7510
7511         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
7512         (no behaviour change): Use Append instead of Increment_Last followed
7513         by assignment.
7514
7515 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7516
7517         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
7518         declarations of all primitives associated with dispatching asynchronous,
7519         conditional and timed selects when dispaching calls are forbidden and
7520         select statements are not allowed (such as in Ravenscar).
7521         (Predefined_Primitive_Bodies): Ditto for bodies.
7522
7523         * exp_disp.ad (Make_DT): Do not create and populate the
7524         Select_Specific_Data of the dispatch table when dispatching calls are
7525         forbidden and select statements are not allowed (such as in Ravenscar).
7526
7527 2009-04-20  Robert Dewar  <dewar@adacore.com>
7528
7529         * a-tifiio.adb: Minor reformatting
7530
7531 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7532
7533         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
7534         other C library functions, report *failure* with a zero status, and
7535         success with a non-zero status.
7536
7537 2009-04-20  Bob Duff  <duff@adacore.com>
7538
7539         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
7540         (Semantics): After analyzing each unit, Append it to the
7541         Comp_Unit_List, if appropriate.
7542
7543         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
7544         purposes.
7545         (Gnat1drv): Correct comment regarding Back_End_Mode.
7546
7547 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7548
7549         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
7550
7551 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7552
7553         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
7554         output.adb, output.ads, s-taprop-hpux-dce.adb,
7555         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
7556         reformatting.
7557
7558 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7559
7560         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
7561         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
7562         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
7563         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
7564         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
7565         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
7566
7567         * debug.adb: Fix typo
7568
7569         * gnat_rm.texi: Minor doc fix.
7570
7571         * sem_ch7.adb, freeze.adb: Minor reformatting
7572
7573 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7574
7575         * g-socket.ads: Add new constants:
7576           Loopback_Inet_Addr
7577           Unspecified_Group_Inet_Addr
7578           All_Hosts_Group_Inet_Addr
7579           All_Routers_Group_Inet_Addr
7580
7581         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
7582         ERANGE (Result too large).
7583         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
7584         propagation of errno to caller.
7585
7586 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7587
7588         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
7589         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
7590         Leap_Second_Times.
7591
7592 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7593
7594         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
7595         checking for references to eliminated subprograms that should be
7596         flagged.
7597         (Eliminate_Error_Message): Update comment to say "references" rather
7598         than "calls" (since attribute cases are handled here as well).
7599
7600         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
7601         checking for references to eliminated subprograms that should be
7602         flagged.  Add with and use of Sem and Sem_Util.
7603
7604         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
7605         Add with and use of Sem_Elim.
7606
7607         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
7608         applied to eliminated subprograms.
7609         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
7610         eliminated subprograms.
7611         Add with and use of Sem_Elim.
7612
7613         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
7614         to eliminated subprograms, now handled during Resolve_Call.
7615         Remove with and use of Sem_Elim.
7616
7617         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
7618         testing Is_Eliminated, for proper handling of primitive derived from
7619         eliminated subprograms.
7620
7621 2009-04-20  Vincent Celier  <celier@adacore.com>
7622
7623         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
7624         has been declared (Library_GCC or Linker'Driver), for the driver name.
7625
7626         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
7627         Linker'Driver is, use Linker'Driver as the shared library linker.
7628         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
7629         Library_GCC is declared.
7630         (Check_Library_Attributes): Set up the shared linker driver: either
7631         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
7632         declared.
7633
7634 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7635
7636         * g-socket.ads (Send_Socket): Fix misleading comment.
7637
7638 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7639
7640         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
7641         ASIS mode.
7642
7643 2009-04-20  Geert Bosch  <bosch@adacore.com>
7644
7645         * a-tifiio.adb (Put): Avoid generating too many digits for certain
7646         fixed types with smalls that are neither integer or the reciprocal
7647         of an integer.
7648
7649 2009-04-20  Bob Duff  <duff@adacore.com>
7650
7651         * uname.ads: Minor comment fix.
7652
7653         * types.ads: Minor comment fix.
7654
7655 2009-04-20  Pascal Obry  <obry@adacore.com>
7656
7657         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
7658         avoid warning. At the same time fix a memory leak.
7659
7660         * osint.adb (Get_Libraries_From_Registry): Properly free memory
7661         returned by the above routine.
7662
7663 2009-04-20  Robert Dewar  <dewar@adacore.com>
7664
7665         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
7666         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
7667         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
7668         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
7669
7670         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
7671
7672 2009-04-20  Pascal Obry  <obry@adacore.com>
7673
7674         * initialize.c (__gnat_initialize): Add braces to kill warning.
7675
7676         * adaint.c: Minor reformatting, remove trailing spaces.
7677
7678 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
7679
7680         * gcc-interface/Make-lang.in: Update dependencies.
7681
7682 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7683
7684         * adaint.h (__gnat_lwp_self): Declare on Linux.
7685
7686         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
7687
7688 2009-04-20  Robert Dewar  <dewar@adacore.com>
7689
7690         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
7691         front-end part of -fpreserve-control-flow switch.
7692
7693 2009-04-20  Bob Duff  <duff@adacore.com>
7694
7695         * rtsfind.adb: Minor comment fix
7696
7697 2009-04-20  Robert Dewar  <dewar@adacore.com>
7698
7699         * exp_aggr.adb: Minor reformatting
7700         Minor code reorganization (use Nkind_In)
7701
7702         * g-socket.adb: Minor reformatting
7703
7704         * g-socket.ads: Minor comment fix
7705
7706         * s-auxdec.ads: Minor comment and organization update.
7707
7708         * s-auxdec-vms_64.ads: Minor comment and organization update.
7709
7710         * sem_ch10.adb: Minor addition of ??? comment
7711
7712         * sem_disp.adb: Minor reformatting
7713
7714 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7715
7716         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
7717         list a caller of an inlined subprogram, if the caller itself is not
7718         called.
7719
7720 2009-04-20  Pascal Obry  <obry@adacore.com>
7721
7722         * adaint.c: Disable use of ACL on network drives.
7723
7724 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7725
7726         * gnat_ugn.texi: Add examples.
7727
7728 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7729
7730         * g-socket.ads (Abort_Selector): Clarify documentation.
7731
7732 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7733
7734         * opt.ads (Inspector_Mode): Update documentation of this flag.
7735
7736 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7737
7738         * g-socket.ads: Minor reformatting
7739
7740         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
7741         consider S_resolvLib error codes since we only use the hostLib wrappers.
7742
7743 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7744
7745         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
7746         of the Underlying_Record_View after that of the derived type.
7747
7748 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7749
7750         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
7751         in inspector mode.
7752
7753 2009-04-20  Javier Miranda  <miranda@adacore.com>
7754
7755         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
7756
7757         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
7758         documentation.
7759
7760         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
7761
7762         * sem_disp.adb
7763         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
7764         in internally built overriding subprograms.
7765
7766 2009-04-20  Doug Rupp  <rupp@adacore.com>
7767
7768         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
7769
7770         * s-auxdec.ads: Likewise
7771
7772 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7773
7774         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
7775         type by an interface.
7776
7777         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
7778         minimze difference in expanded tree when compiled as spec of the main
7779         unit, or as a spec in the context of another unit.
7780
7781 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7782
7783         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
7784         (localtime_tzoff): This routine no longer accepts an actual of type
7785         tm_Pointer.
7786         (UTC_Time_Offset): Remove local variable Secs_TM.
7787
7788         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
7789         actual of type struct tm*. Add local variable of type struct tm for all
7790         targets that provide localtime_r and need to invoke it.
7791
7792 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7793
7794         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
7795         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
7796         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
7797
7798 2009-04-20  Robert Dewar  <dewar@adacore.com>
7799
7800         * sem_ch3.adb: Minor reformatting
7801
7802         * lib-load.adb: Minor reformatting
7803
7804         * sem_ch4.adb: Minor reformatting
7805
7806 2009-04-20  Robert Dewar  <dewar@adacore.com>
7807
7808         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
7809         (equal values => False).
7810
7811 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7812
7813         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
7814         to null procedures can be inlined unconditionally.
7815
7816 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7817
7818         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
7819         non-addressable parameter passed by reference, do not convert the
7820         actual if its type is already the nominal type, unless it is of
7821         self-referential size.
7822
7823 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7824
7825         * gnat_ugn.texi: Fix typos.
7826
7827 2009-04-20  Robert Dewar  <dewar@adacore.com>
7828
7829         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
7830         Validate_Unchecked_Warnings to suppress warnings about size or
7831         alignment or extra bits if either type involved has pragma Warnings
7832         (Off) set for the type entity.
7833
7834 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
7835
7836         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
7837         a builtin type and give it a name.
7838
7839 2009-04-17  Diego Novillo  <dnovillo@google.com>
7840
7841         * gcc-interface/misc.c (gnat_expand_expr): Remove.
7842         (LANG_HOOKS_EXPAND_EXPR): Remove.
7843
7844 2009-04-17  Robert Dewar  <dewar@adacore.com>
7845
7846         * sem_ch3.adb: Minor reformatting
7847
7848 2009-04-17  Pascal Obry  <obry@adacore.com>
7849
7850         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
7851
7852 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
7853
7854         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
7855         illegal constraints on type derived from formal discrete types.
7856
7857 2009-04-17  Thomas Quinot  <quinot@adacore.com>
7858
7859         PR ada/35953
7860
7861         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
7862         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
7863         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
7864         g-socket.ads (GNAT.Sockets.Thin.C_Send,
7865         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
7866         Replace calls to send(2) with equivalent sendto(2) calls.
7867         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
7868         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
7869         report an error in that case. Factor code common to the two versions
7870         (datagram and stream) in common routine Stream_Write.
7871
7872 2009-04-17  Robert Dewar  <dewar@adacore.com>
7873
7874         * exp_disp.adb: Minor reformatting
7875         Minor code reorganization (use Nkind_In)
7876
7877         * prepcomp.adb: Minor reformatting
7878
7879         * sem_ch3.adb: Minor reformatting
7880
7881         * sem_res.adb: Minor comment addition
7882
7883         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
7884         for address clause
7885
7886         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
7887         setting Is_Referenced
7888
7889         * types.ads: Minor reformatting
7890
7891 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
7892
7893         * gnat_ugn.texi: Initial documentation on binding generator.
7894
7895 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
7896
7897         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
7898         type extensions whose parent is a type with unknown discriminants.
7899
7900         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
7901         aggregate has unknown discriminants, use the Underlying_Record_View to
7902         obtain the discriminants of the ancestor part.
7903
7904         * exp_disp.adb (Build_Dispatch_Tables): Types that are
7905         Underlying_Record_Views share the dispatching information of the
7906         original record extension.
7907
7908         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
7909         discriminants, propagate dispach table information to the
7910         Underlying_Record_View.
7911
7912         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
7913         discriminants and declaration is not a completion, generate
7914         Underlying_Record_View to provide proper discriminant information to
7915         the front-end and to gigi.
7916
7917 2009-04-17  Robert Dewar  <dewar@adacore.com>
7918
7919         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
7920         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
7921         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
7922         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
7923         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
7924         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
7925         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
7926         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
7927         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
7928         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
7929         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
7930         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
7931         s-conca3.ads: Remove unneeded pragma Warnings
7932
7933 2009-04-17  Robert Dewar  <dewar@adacore.com>
7934
7935         * g-moreex.adb: Add comments.
7936
7937         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
7938
7939         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
7940         Warnings (Off)
7941
7942         * prepcomp.adb: Add ??? comment
7943
7944         * a-tasatt.adb: Minor reformatting
7945
7946         * g-trasym-vms-alpha.adb: Add ??? comment
7947
7948         * g-trasym-vms-ia64.adb: Add ??? comment
7949
7950         * xoscons.adb: Minor reformatting
7951
7952         * s-tassta.adb: Minor reformatting
7953
7954         * s-scaval.adb: Add ??? comment
7955
7956         * stand.ads: Minor code clean up (remove junk with of Namet)
7957
7958         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
7959         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
7960         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
7961         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
7962         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
7963         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
7964         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
7965         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
7966         Warnings off pragmas.
7967
7968 2009-04-17  Pascal Obry  <obry@adacore.com>
7969
7970         * initialize.c: Fix test for reallocating the arguments array.
7971
7972 2009-04-17  Geert Bosch  <bosch@adacore.com>
7973
7974         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
7975         conversion truncate only for decimal fixed point types.
7976
7977 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
7978
7979         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
7980         reinitialized.
7981
7982 2009-04-17  Robert Dewar  <dewar@adacore.com>
7983
7984         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
7985         Backwards_OK if either operand has an address clause.
7986
7987 2009-04-17  Pascal Obry  <obry@adacore.com>
7988
7989         * initialize.c: Code clean up, use realloc.
7990
7991 2009-04-17  Pascal Obry  <obry@adacore.com>
7992
7993         * initialize.c: Do not get Unicode command line if Unicode support not
7994         activated.
7995         Add support for wildcard expansion for Unicode parameters on Win32.
7996
7997         * mingw32.h: Add missing macros when Unicode support not activated.
7998
7999 2009-04-17  Javier Miranda  <miranda@adacore.com>
8000
8001         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
8002         avoid generating code that references the Current_Master
8003         when compiling without tasks.
8004
8005 2009-04-17  Vincent Celier  <celier@adacore.com>
8006
8007         * prj-attr.adb: New project level attribute Target
8008         
8009         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
8010         attribute Target
8011         
8012         * prj.ads (Project_Configuration): New component Target
8013
8014 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8015
8016         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
8017         case for the case of an aggregate component, the attach call for the
8018         result is actually needed.
8019
8020         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
8021         an array aggregate must be disabled if the component type requires
8022         controlled actions.
8023
8024         * exp_ch3.adb: Minor reformatting
8025
8026 2009-04-17  Bob Duff  <duff@adacore.com>
8027
8028         * output.ads (Indent,Outdent): New procedures for indenting the output.
8029         (Write_Char): Correct comment -- LF _is_ allowed.
8030
8031         * output.adb (Indent,Outdent): New procedures for indenting the output.
8032         Keep track of the indentation level, and make sure it doesn't get too
8033         high.
8034         (Flush_Buffer): Insert spaces at the beginning of each line, if
8035         indentation level is nonzero.
8036         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
8037         indentation level.
8038         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
8039         "Next_Col := 1;".  Flush_Buffer does that.
8040
8041         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
8042         controlled by the -gnatdc switch. It now occurs on entry/exit to the
8043         relevant analysis routines, and calls Indent/Outdent to make the
8044         indentation reflect the nesting level.  Add "helper" routines, since
8045         otherwise lots of "return;" statements would skip the debugging output.
8046
8047 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8048
8049         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
8050         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
8051         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
8052
8053 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8054
8055         * exp_aggr.adb: Minor code reorganization, no behaviour change.
8056
8057 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8058
8059         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
8060         clause in a unit that is a package body or a subunit, when the previous
8061         clause appears in a spec or a parent.
8062
8063 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8064
8065         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
8066
8067         * exp_ch7.adb: Minor reformatting
8068
8069 2009-04-17  Bob Duff  <duff@adacore.com>
8070
8071         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
8072         allocator, check that the expression of the qualified expression obeys
8073         the constraints of the subtype of the qualified expression.
8074
8075 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8076
8077         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
8078
8079 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8080
8081         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
8082         aggregate, using context imposed by subtype mark in allocator.
8083
8084 2009-04-17  Pascal Obry  <obry@adacore.com>
8085
8086         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
8087
8088 2009-04-17  Nicolas Roche  <roche@adacore.com>
8089
8090         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
8091         argument length.
8092
8093 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
8094
8095         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
8096         cover both calls and attribute references ("call" => "reference").
8097
8098 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8099
8100         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
8101         type for which Storage_Size is set to 0 is legal in a pure unit.
8102
8103 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8104
8105         * exp_ch7.adb: Minor reformatting
8106
8107 2009-04-17  Robert Dewar  <dewar@adacore.com>
8108
8109         * restrict.adb (Check_Restriction_No_Dependence): Don't check
8110         restriction if outside main extended source unit.
8111
8112         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
8113         for parents of child units as well as the child unit itself.
8114
8115 2009-04-17  Bob Duff  <duff@adacore.com>
8116
8117         * checks.ads: Minor comment fix
8118
8119         * exp_aggr.ads: Minor comment fix
8120
8121 2009-04-17  Nicolas Roche  <roche@adacore.com>
8122
8123         * adaint.c: Improve cross compiler detection and handling.
8124
8125 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
8126
8127         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
8128
8129 2009-04-17  Pascal Obry  <obry@adacore.com>
8130
8131         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
8132         CurrentCodePage.
8133
8134         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
8135         value when no encoding form paramter is set on Text_IO services.
8136
8137         * adaint.c: CurrentCodePage new variable on Windows.
8138         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8139         ones.
8140
8141         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8142         ones.
8143
8144         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
8145         environment variable value. Default is UTF-8.
8146
8147         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
8148         fopen and freopen encoding parameter is now set to Unspecified.
8149         The default value is in this case UTF-8 (as it was before) but
8150         use the new macros that convert to/from the code page set
8151         at runtime (CurrentCodePage).
8152
8153         * s-fileio.adb: When no encoding specified use Unspecified value.
8154
8155 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8156
8157         * atree.adb, atree.ads: Remove dead code.
8158
8159 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8160
8161         * gcc-interface/Make-lang.in: Update dependencies.
8162
8163 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8164
8165         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
8166         illegal uses of incomplete types in formal parts and return types.
8167
8168         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
8169         access to subprograms.
8170
8171         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
8172         Taft-amendment types as the return type of an access_to_function type.
8173
8174         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8175         type for access_to_subprograms. The check is performed on package exit.
8176
8177 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8178
8179         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
8180
8181         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
8182         
8183         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
8184
8185         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
8186         semantic units, because the handling of itypes in the copied tree
8187         requires semantic information that does not belong in atree.
8188
8189 2009-04-17  Robert Dewar  <dewar@adacore.com>
8190
8191         * par-ch6.adb: Minor reformatting
8192
8193         * prj.adb: Minor reformatting
8194
8195 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
8196
8197         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
8198         on protected subprogram bodies, so exclude the case where Pf_Flags is
8199         Pf_Decl_Pbod from the error check.
8200
8201         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
8202         indicators on subprograms in protected bodies, and proceed with parsing
8203         the subprogram.
8204
8205         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
8206         subprograms from the check for primitiveness on subprograms with
8207         overriding indicators.
8208         (Check_Overriding_Indicator): Include protected subprograms in the
8209         style check for missing overriding indicators.
8210
8211 2009-04-17  Tristan Gingold  <gingold@adacore.com>
8212
8213         * init.c: Fix stack checking for x86 Darwin.
8214
8215 2009-04-17  Vincent Celier  <celier@adacore.com>
8216
8217         * prj-attr.adb: New project level attribute Object_File_Suffix
8218         (<language>).
8219         
8220         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
8221         object file name
8222         (Process_Compiler): Process attribute Object_File_Suffix
8223
8224         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
8225         platform suffix, when specified.
8226
8227         * prj.ads (Language_Config): New component Object_File_Suffix,
8228         defaulted to No_Name.
8229         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
8230
8231         * snames.ads-tmpl: New standard name Object_File_Suffix
8232
8233 2009-04-17  Robert Dewar  <dewar@adacore.com>
8234
8235         * gnat_rm.texi: Add documentation about No_Streams restriction
8236
8237         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
8238         attributes when checking No_Streams restriction.
8239
8240 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8241
8242         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
8243
8244         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
8245         missing calls to RE_Request_Destroy to deallocate request objects after
8246         use.
8247
8248 2009-04-17  Nicolas Setton  <setton@adacore.com>
8249
8250         * link.c: Fix support for passing a response file under Darwin.
8251
8252 2009-04-17  Emmanuel Briot  <briot@adacore.com>
8253
8254         * prj.adb (Free): new subprogram.
8255
8256 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8257
8258         * sem_ch3.adb: additional initialization on incomplete subtypes.
8259         
8260         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
8261         part and one of the formals is an incomplete tagged type, attach to
8262         list of private dependends of the type for later validation.
8263
8264         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
8265         primitive operations of a Taft-amendmment type.
8266
8267         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8268         type. The check is performed on package exit, possibly after the
8269         subprogram is frozen.
8270
8271 2009-04-17  Vincent Celier  <celier@adacore.com>
8272
8273         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
8274         before looking for source directories, but make sure that there are nil
8275         if they are not explicitely declared and there is explicitely no
8276         sources in the project.
8277
8278 2009-04-17  Pascal Obry  <obry@adacore.com>
8279
8280         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
8281
8282         * init.c: Fix minor typo and style fix.
8283
8284 2009-04-17  Robert Dewar  <dewar@adacore.com>
8285
8286         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
8287
8288         * sem_attr.adb (Analyze_Attribute, case Address): Use
8289         PE_Address_Of_Intrinsic.
8290
8291         * types.ads: Add PE_Address_Of_Intrinsic
8292
8293         * types.h: Add PE_Address_Of_Intrinsic
8294
8295 2009-04-17  Nicolas Setton  <setton@adacore.com>
8296
8297         * gcc-interface/Makefile.in: Under darwin, build shared libraries
8298         with install_name starting with "@rpath/".
8299
8300 2009-04-17  Nicolas Setton  <setton@adacore.com>
8301
8302         * link.c: Add darwin section
8303
8304 2009-04-16  Robert Dewar  <dewar@adacore.com>
8305
8306         * g-pehage.adb: Minor reformatting
8307
8308         * sem_ch12.adb: Minor reformatting
8309
8310         * exp_dist.adb: Minor reformatting
8311
8312         * bindgen.adb: Minor style fixes.
8313
8314 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8315
8316         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
8317         indexed components to the case where the prefix is a static string
8318         literal.
8319
8320 2009-04-16  Javier Miranda  <miranda@adacore.com>
8321
8322         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
8323         objects avoid any further expansion of the expression initializing the
8324         object.
8325
8326 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8327
8328         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
8329         that hides an outer homograph, make that homograph invisible when
8330         analyzing the actuals, to to prevent illegal direct visibility on it.
8331
8332 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8333
8334         * g-pehage.adb (Initialize): Fix off-by-one error.
8335
8336 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8337
8338         * init.c: Detect real stack overflow on Darwin.
8339
8340         * system-darwin-x86.ads: Use stack probing on darwin x86.
8341
8342 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8343
8344         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
8345         take the address of an intrinsic subprogram.
8346
8347 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8348
8349         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
8350         for the targets where GNAT.Traceback.Symbolic is not supported.
8351
8352 2009-04-16  Vincent Celier  <celier@adacore.com>
8353
8354         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
8355
8356         * g-trasym.ads: Update comments.
8357
8358 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8359
8360         * tracebak.c (STOP_FRAME): Verify validity of the current address
8361         before dereferencing.
8362
8363 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8364
8365         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
8366         the original location of the index expressions and the index subtypes,
8367         to prevent spurious out-of-scope references in gigi.
8368
8369 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8370
8371         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
8372         Add support for stack checking on darwin.
8373
8374 2009-04-16  Vincent Celier  <celier@adacore.com>
8375
8376         * prj-attr.adb: New attribute Runtime_Source_Dir
8377
8378         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
8379         attribute Runtime_Source_Dir.
8380         (Check_Naming_Schemes): Give default values to out parameters to avoid
8381         invalid data.
8382
8383         * prj.ads (Language_Config): New component Runtime_Source_Dir
8384
8385         * snames.ads-tmpl: New standard name Runtime_Source_Dir
8386
8387 2009-04-16  Pascal Obry  <obry@adacore.com>
8388
8389         * adaint.h, adaint.c (__gnat_rmdir): New routine.
8390         Simple wrapper routines used to convert to proper encoding on
8391         Windows.
8392
8393         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
8394
8395         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
8396         twice.
8397
8398 2009-04-16  Pascal Obry  <obry@adacore.com>
8399
8400         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
8401
8402 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8403
8404         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
8405         integrated preprocessor.
8406
8407         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
8408         (Initialize): Split into two subprograms, Initialize (to be called
8409         prior to compiler command line processing) and Setup_Hooks (to be called
8410         later on when the first source file is loaded).
8411
8412         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
8413         Add call to Prep.Initialize.
8414
8415         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
8416         to Prep.Setup_Hooks.
8417
8418 2009-04-16  Pascal Obry  <obry@adacore.com>
8419
8420         * adaint.h, adaint.c (__gnat_chdir): New routine.
8421         Simple wrapper routines used to convert to proper encoding on
8422         Windows.
8423
8424         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
8425
8426         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
8427
8428 2009-04-16  Quentin Ochem  <ochem@adacore.com>
8429
8430         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
8431         of Source.Init.
8432
8433 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8434
8435         * a-convec.ads (Is_Empty): Mark inline.
8436
8437 2009-04-16  Nicolas Roche  <roche@adacore.com>
8438
8439         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
8440
8441 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8442
8443         * prepcomp.adb: Minor reformatting
8444
8445 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8446
8447         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
8448         Access_Subprogram types can also be imported.
8449         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
8450         names.
8451
8452 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8453
8454         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
8455         preserve homonym chain when the declaration is rewritten into a
8456         renaming declaration, in order to preserve visibility structure.
8457
8458 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8459
8460         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
8461         taken into account for VM targets.
8462
8463 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8464
8465         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
8466         Year_Week_In_Year.
8467         (Year_Week_In_Year): New routine which contains the original code from
8468         Week_In_Year. Add the missing special case for January 1st falling on
8469         a Monday.
8470
8471 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8472
8473         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
8474         actual type, use the base type to build the To_Any function.
8475         (Build_From_Any_Function): Remove junk, useless subtype conversion.
8476
8477 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8478
8479         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
8480         restrict.adb: Minor code reorganization (use
8481         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
8482
8483 2009-04-16  Bob Duff  <duff@adacore.com>
8484
8485         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
8486         unused.
8487
8488 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8489
8490         * sem_ch4.adb: Minor reformatting
8491
8492         * adaint.c: Remove junk duplicated code.
8493
8494         * sem_ch3.adb: Minor reformatting
8495
8496         * exp_dist.adb: Minor comment rewording
8497
8498 2009-04-16  Robert Dewar  <dewar@adacore.com>
8499
8500         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
8501         used together.
8502
8503 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8504
8505         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
8506         usable before calling Add_One_Interp, to resolve spurious ambiguities.
8507
8508 2009-04-16  Robert Dewar  <dewar@adacore.com>
8509
8510         * Make-lang.in: Add entries for s-conca?.o
8511
8512         * Makefile.rtl: Add entries for s-conca?
8513
8514         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
8515         of concatenation expansion
8516
8517         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
8518         string cases instead of expanding assignments inline.
8519
8520         * opt.ads (Optimize_Size): New flag
8521
8522         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
8523         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
8524         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
8525         s-conca9.adb, s-conca9.ads: New file.
8526
8527 2009-04-16  Robert Dewar  <dewar@adacore.com>
8528
8529         * exp_ch6.adb: Add comments
8530
8531         * rtsfind.ads: Add entries for s-conca? routines
8532
8533 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8534
8535         * gcc-interface/Make-lang.in: Update dependencies.
8536
8537         * gcc-interface/Makefile.in: Update translation for vms.
8538
8539 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8540
8541         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
8542         and made global, to be used when installing parents of a child
8543         instance, to provide mappings for entities declared in formal packages
8544         of ancestor units. Now called from Install_Formal_Packages.
8545
8546 2009-04-16  Doug Rupp  <rupp@adacore.com>
8547
8548         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
8549         notation for clarity.
8550
8551         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
8552         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
8553         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
8554         (Initialize): Initialize Known_Tasks with Environment task.
8555
8556         * s-taskin.ads (Task_States): Move new states to end for the sake of
8557         GDB compatibility.
8558
8559         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
8560
8561 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8562
8563         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
8564         operation has an inline pragma, propagate the flag to the internal
8565         unprotected subprogram.
8566
8567 2009-04-16  Doug Rupp  <rupp@adacore.com>
8568
8569         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
8570         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
8571         s-taprop-hpux-dce.adb, s-taprop-posix.adb
8572         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
8573
8574         * s-taprop-vms.adb (Enter_Task): Likewise.
8575         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
8576
8577         * s-tassta.adb (Activate_Tasks): After task creation set state to
8578         Activating, vice Runnable. Initialize Known_Tasks, moved here from
8579         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
8580         Set state to Runnable after above.
8581         (Task_Wrapper): Set Debug_Event_Run. In exception block set
8582         Debug_Event_Terminated.
8583
8584         * s-taskin.ads (Task_States): Add new states Activiting and
8585         Activator_Delay_Sleep.
8586         (Bit_Array, Debug_Event_Array): New types.
8587         (Global_Task_Debug_Event_Set: New flag.
8588         (Common_ATCB): New field Debug_Events.
8589
8590         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
8591
8592         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
8593         Activator_Sleep.
8594
8595         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
8596         Activating and when Acceptor_Delay_Sleep.
8597
8598         * s-tasdeb.ads: Add constants for Debug_Events.
8599         (Debug_Event_Kind_Type): New subtype.
8600         (Signal_Debug_Event): New subprogram.
8601
8602         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
8603
8604 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8605
8606         * sem_elim.adb: Minor reformatting
8607
8608         * freeze.adb: Minor reformatting
8609
8610         * exp_ch4.adb: Minor reformatting
8611
8612 2009-04-16  Emmanuel Briot  <briot@adacore.com>
8613
8614         * prj-nmsc.adb (Path_Name_Of): fix memory leak
8615
8616 2009-04-16  Robert Dewar  <dewar@adacore.com>
8617
8618         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
8619
8620 2009-04-16  Vincent Celier  <celier@adacore.com>
8621
8622         * fmap.adb (Initialize): Show the current line when the mapping file
8623         is detected as "incorrectly formatted".
8624
8625 2009-04-16  Robert Dewar  <dewar@adacore.com>
8626
8627         * sem_ch12.adb: Minor reformatting
8628
8629         * sem_ch5.adb: Minor comment addition
8630
8631         * sem_util.adb: Minor reformatting
8632
8633         * sinput-p.adb: Minor reformatting
8634         Add missing pragma Warnings (On)
8635
8636 2009-04-16  Ed Falis  <falis@adacore.com>
8637
8638         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
8639
8640 2009-04-16  Vincent Celier  <celier@adacore.com>
8641
8642         * ali-util.adb: Minor comment spelling error fix
8643
8644 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8645
8646         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
8647         generate an assignment loop in case of overlap.
8648
8649 2009-04-16  Olivier Hainque  <hainque@adacore.com>
8650
8651         * gnat_ugn.texi (gnatmem description): Make it explicit that
8652         gnatmem is designed to work in association with static runtime
8653         library only.
8654
8655 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8656
8657         * sem_type.adb: Minor reformatting
8658
8659 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8660
8661         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
8662         concerning return codes of gettimeofday and return value check.
8663
8664 2009-04-16  Ed Falis  <falis@adacore.com>
8665
8666         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
8667         body can be renaming of imported routines.
8668
8669 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8670
8671         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
8672         targeted fashion.
8673
8674 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8675
8676         * exp_ch9.adb: Comment improvements.
8677         (Build_Entry_Family_Name): Add parentheses around the index of a entry
8678         family member.
8679
8680 2009-04-15  Bob Duff  <duff@adacore.com>
8681
8682         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
8683         "while X /= null loop" where X is unchanged inside the loop. We were
8684         not warning in this case, because of the pointers -- we feared that the
8685         loop variable could be updated via a pointer, if there are any pointers
8686         around the place. But that is impossible in this case.
8687
8688         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
8689         the case of dereferences. In X.all, X cannot be an l-value. We now
8690         catch that case (and implicit dereferences, too).
8691
8692 2009-04-15  Vincent Celier  <celier@adacore.com>
8693
8694         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
8695
8696 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8697
8698         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
8699         From code reading.
8700         (Analyze_Package_Instantiation): If generic unit in child instance is
8701         the same as generic unit in parent instance, look for an outer homonym
8702         to locate the desired generic.
8703
8704 2009-04-15  Bob Duff  <duff@adacore.com>
8705
8706         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
8707         warnings unless the loop comes from source, because checking generated
8708         loops is a waste of time, and makes it harder to debug
8709         Check_Infinite_Loop_Warning.
8710
8711         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
8712         tested in the while loop is a renaming, do not warn. Otherwise, we get
8713         false alarms, because it's usually renaming something that we can't
8714         deal with (an indexed component, a global variable, ...).
8715
8716         * gnat_rm.texi: Fix typo
8717
8718 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8719
8720         * sem_ch6.adb: Minor reformatting
8721
8722 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8723
8724         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
8725         immediate parent of the controlled function call is a component
8726         association.
8727
8728 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8729
8730         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
8731         corresponding class-wide type is also in use.
8732
8733 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8734
8735         * frontend.adb: Minor comment fix
8736
8737 2009-04-15  Robert Dewar  <dewar@adacore.com>
8738
8739         * gnatchop.adb (BOM_Length): New global variable
8740         (Write_Unit): Add new parameter Write_BOM
8741         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
8742         to Write_Unit
8743
8744         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
8745
8746 2009-04-15  Geert Bosch  <bosch@adacore.com>
8747
8748         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
8749         (Backend_Overflow_Checks): Set to True.
8750
8751 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
8752
8753         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
8754         keyword is given in a record extension.
8755
8756 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8757
8758         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
8759         of a controlled function call in the context of a record aggregate.
8760         This does not apply to array aggregates since the call will be expanded
8761         into assignments.
8762
8763 2009-04-15  Ed Falis  <falis@adacore.com>
8764
8765         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
8766         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
8767         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
8768         s-osinte-vxworks* and s-vxwext*.
8769
8770 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
8771
8772         * gcc-interface/Make-lang.in: Update dependencies.
8773
8774         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
8775         and s-vxwext*.
8776
8777 2009-04-15  Robert Dewar  <dewar@adacore.com>
8778
8779         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
8780         of node for location for warning messages.
8781
8782         * gnatchop.adb: Minor reformatting
8783
8784 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8785
8786         * exp_ch6.adb: additional guard for renaming declarations for in
8787         parameters of an array type.
8788
8789 2009-04-15  Robert Dewar  <dewar@adacore.com>
8790
8791         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
8792         in case they were rewritten by expander (Force_Evaluation).
8793
8794         * targparm.adb (Get_Target_Parameters): Correct check for
8795         Suppress_Exception_Locations.
8796
8797 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8798
8799         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
8800         inlined  is of an array type that is not bit-packed, use a renaming
8801         declaration to capture its value, rather than a constant declaration.
8802
8803 2009-04-15  Robert Dewar  <dewar@adacore.com>
8804
8805         * rtsfind.adb: Minor reformatting.
8806
8807 2009-04-15  Emmanuel Briot  <briot@adacore.com>
8808
8809         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
8810         Restore, and free the saved context.
8811
8812 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
8813
8814         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
8815         for illegal private extension from a synchronized interface parent in
8816         front of check for illegal limited extension so that limited extension
8817         from a synchronized interface will be rejected.
8818         (Check_Ifaces): Check that a private extension that has a synchronized
8819         interface as a progenitor must be explicitly declared synchronized.
8820         Also check that a record extension cannot derive from a synchronized
8821         interface.
8822
8823 2009-04-15  Pascal Obry  <obry@adacore.com>
8824
8825         * adaint.h (__gnat_unlink): Add spec.
8826         (__gnat_rename): Likewise.
8827
8828 2009-04-15  Vincent Celier  <celier@adacore.com>
8829
8830         * prj-nmsc.adb: Minor spelling error corrections in error messages
8831
8832 2009-04-15  Robert Dewar  <dewar@adacore.com>
8833
8834         * sinfo.ads: Minor comment update
8835
8836         * opt.ads: Minor comment updates
8837
8838         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
8839         modular type.
8840
8841 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8842
8843         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
8844         that generates the code needed to update a dispatch table when a
8845         primitive operation is declared with a subprogram body without previous
8846         spec. Insertion of the generated code is responsibility of the caller.
8847         (Make_DT): When building static tables, append the code created by
8848         Register_Primitive to update a secondary table after it has been
8849         constructed.
8850
8851         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
8852
8853         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
8854         on an overriding operation that implements an interface operation only
8855         if not building static dispatch tables.
8856
8857 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8858
8859         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
8860         does not cause overflow when converted to Duration. Use the safe value
8861         as the maximum allowable time delay..
8862
8863 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
8864
8865         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
8866         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
8867         translated to "-j 2".
8868
8869 2009-04-15  Bob Duff  <duff@adacore.com>
8870
8871         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
8872         with_clauses, to avoid code duplication. Change this processing so we
8873         always add a with_clause on the main unit if needed.
8874
8875 2009-04-15  Pascal Obry  <obry@adacore.com>
8876
8877         Add support for Win32 native encoding for delete/rename routines.
8878         
8879         * adaint.c (__gnat_unlink): New routine.
8880         (__gnat_rename): New routine.
8881         Simple wrapper routines used to convert to proper encoding on
8882         Windows.
8883
8884         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
8885         call to the C library.
8886
8887         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
8888
8889 2009-04-15  Robert Dewar  <dewar@adacore.com>
8890
8891         * s-tassta.adb: Minor reformatting
8892
8893 2009-04-15  Robert Dewar  <dewar@adacore.com>
8894
8895         * frontend.adb (Frontend): Set proper default for
8896         Warn_On_Non_Local_Exception.
8897
8898         * opt.ads (Exception_Handler_Encountered): New flag
8899         (No_Warn_On_Non_Local_Exception): New flag
8900
8901         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
8902
8903         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
8904         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
8905
8906 2009-04-15  Cyrille Comar  <comar@adacore.com>
8907
8908         * s-tassta.adb, a-exextr.adb, a-elchha.adb
8909         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
8910         message when exception traces are active since it would generate
8911         redundant information.
8912         (Exception_Traces.Notify_Exception): put message output by a critical
8913         section to avoid unsynchronized output.
8914         (Trace_Unhandled_Exception_In_Task): put message output by a critical
8915         section to avoid unsynchronized output.
8916
8917 2009-04-15  Emmanuel Briot  <briot@adacore.com>
8918
8919         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
8920         (Free): New subprogram.
8921
8922 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8923
8924         * a-calend.adb: Add new constant Nanos_In_Four_Years.
8925         (Formatting_Operations.Time_Of): Change the way four year chunks of
8926         nanoseconds are added to the intermediate result.
8927
8928 2009-04-15  Nicolas Setton  <setton@adacore.com>
8929
8930         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
8931         does not need to wait for a carriage return.
8932
8933 2009-04-15  Tristan Gingold  <gingold@adacore.com>
8934
8935         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
8936         is set.
8937
8938 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8939
8940         * freeze.adb (Freeze_Entity): improve error message for improper use of
8941         incomplete types.
8942         Diagnose additional illegal uses of incomplete types in formal parts.
8943         appearing in formal parts.
8944
8945         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
8946
8947 2009-04-15  Robert Dewar  <dewar@adacore.com>
8948
8949         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
8950
8951 2009-04-15  Nicolas Roche  <roche@adacore.com>
8952
8953         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
8954         current thread.
8955
8956         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
8957
8958         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
8959
8960 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8961
8962         * sem_ch4.adb: improve error message on exponentiation.
8963
8964 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8965
8966         * a-calend.adb: Move constant Epoch_Offset from package
8967         Conversion_Operations to top level.
8968         (Delay_Operations.To_Duration): Define a constant which represents
8969         "end of time" and use it as a guard against very distant delay dates.
8970         Protect the code against overflow when performing the origin shift to
8971         Unix time.
8972
8973 2009-04-15  Robert Dewar  <dewar@adacore.com>
8974
8975         * sem_prag.adb: Minor reformatting.
8976
8977         * sem_type.adb: Minor reformatting
8978
8979 2009-04-15  Javier Miranda  <miranda@adacore.com>
8980
8981         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
8982         support to check eliminated subprograms.
8983
8984         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
8985
8986         * sem_elim.adb (Set_Eliminated): Add support for elimination of
8987         dispatching subprograms.
8988
8989         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
8990         operations. Initialize with "null" the slots of eliminated dispaching
8991         primitives.
8992         (Write_DT): Add output for eliminated primitives.
8993
8994         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
8995
8996 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8997
8998         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
8999         the second is redundant, regardless of scopes.
9000
9001 2009-04-15  Vincent Celier  <celier@adacore.com>
9002
9003         * prj-nmsc.adb (Get_Directories): Check for sources before checking
9004         the object directory as when there are no sources, they may not be any
9005         object directory.
9006
9007         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
9008         directory, when there are no exec directory.
9009
9010 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9011
9012         * sem_type.adb (Remove_Conversions): In order to resolve spurious
9013         ambiguities, refine removal of universal interpretations from complex
9014         expressions with literal arguments, when some numeric operators have
9015         been declared abstract.
9016
9017 2009-04-15  Ed Falis  <falis@adacore.com>
9018
9019         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
9020         and backward compatibility for targets using probing for stack overflow
9021
9022 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9023
9024         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
9025         after any declaration, including renaming declarations.
9026
9027 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9028
9029         * gcc-interface/Make-lang.in: Update dependencies.
9030
9031         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
9032         Update xenomai target pairs.
9033
9034 2009-04-15  Javier Miranda  <miranda@adacore.com>
9035
9036         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
9037
9038         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
9039         functions returning anonymous access to class-wide limited types. Mark
9040         also the containing scope as a task master.
9041
9042         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
9043         limited-withed packages. Required to restore their visibility after
9044         processing packages associated with implicit with-clauses.
9045
9046         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
9047         associated with return statements because this work is now done by
9048         Check_Anonymous_Return.
9049         (Build_Master): Code cleanup.
9050
9051 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9052
9053         * sem_warn.ads: Minor reformatting
9054
9055 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9056
9057         * sem_ch3.adb: better error message for illegal interfaces
9058
9059         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
9060         formal is an incomplete type from a limited_with clause.
9061
9062 2009-04-15  Vincent Celier  <celier@adacore.com>
9063
9064         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
9065         Externally_Built indicating if the project is externally built. If it
9066         is, and --subdirs is specified, but the subdir does not exist, look
9067         for the specified directory, without the subdir.
9068
9069 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
9070
9071         * a-tasatt.adb: Fix typo, plus minor reformatting
9072
9073         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
9074
9075         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
9076
9077 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9078
9079         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
9080         private extension whose parent is a synchronized interface carries an
9081         explicit synchronized keyword.
9082
9083 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9084
9085         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
9086         instantiate generic shared object package with the corresponding
9087         record type.
9088
9089 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9090
9091         * system-linux-sparc.ads: Remove obsolete entries.
9092
9093 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9094
9095         * s-tasuti.ads: Add ??? comment
9096
9097 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9098
9099         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
9100         type even if the designated type comes from a limited_with clause, to
9101         ensure that the symbol for the finalization list of the access type is
9102         created.
9103
9104 2009-04-10  Robert Dewar  <dewar@adacore.com>
9105
9106         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
9107         for warning suppression.
9108
9109 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9110
9111         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
9112         identical, there is no redudancy to check.
9113
9114 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9115
9116         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
9117         calls initializing SS_Allocator (which is initialized in following
9118         code).
9119         (Expand_Simple_Function_Return): Add comment about False value for
9120         Comes_From_Source on secondary-stack allocator.
9121
9122         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
9123         (Build_Entry_Name): Add comment.
9124
9125 2009-04-10  Robert Dewar  <dewar@adacore.com>
9126
9127         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
9128
9129         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
9130         bound tested, since this is now done more generally in Sem_Res.
9131
9132         * sem_res.adb (Resolve_Comparison_Op): Add call to
9133         Check_Lower_Bound_Tested.
9134         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
9135
9136         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
9137         (Low_Bound_Tested): New name for Low_Bound_Known flag
9138
9139         * exp_ch5.adb: Minor reformatting
9140
9141         * exp_ch4.adb:
9142         Add comments on copying the Comes_From_Source flag for allocators
9143
9144         * sinfo.ads:
9145         Add comments on copying the Comes_From_Source flag for allocators
9146
9147         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
9148         Comes_From_Source flag from old allocator to new one.
9149
9150 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9151
9152         * sem_ch6.ads: Address missing documentation query
9153
9154 2009-04-10  Vincent Celier  <celier@adacore.com>
9155
9156         * prj-attr.adb:
9157         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
9158         and Response_File_Switches.
9159
9160         * prj-nmsc.adb (Process_Linker): Process new attributes
9161         Max_Command_Line_Length, Response_File_Format and
9162         Response_File_Switches.
9163
9164         * prj.ads (Response_File_Format): New enumeration type
9165         (Project_Configuration): New componants Max_Command_Line_Length,
9166         Resp_File_Format and Resp_File_Options.
9167
9168         * snames.ads-tmpl: Add new standard names for linking response files
9169         for gprbuild: GNU, None, Object_List, Option_List,
9170         Max_Command_Line_Length, Response_File_Format and
9171         Response_File_Switches.
9172
9173 2009-04-10  Geert Bosch  <bosch@adacore.com>
9174
9175         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
9176         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
9177         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
9178         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
9179         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
9180         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
9181         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
9182         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
9183         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
9184         system-vxworks-arm.ads, system-vxworks-m68k.ads,
9185         system-vxworks-mips.ads, system-vxworks-ppc.ads,
9186         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
9187         (Backend_Overflow_Checks): Set to True.
9188
9189 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9190
9191         * exp_attr.adb: Minor reformatting
9192
9193 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9194
9195         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
9196         analyze the expression for a postcondition, even if the compiler mode
9197         is Generate_Code.
9198
9199 2009-04-10  Robert Dewar  <dewar@adacore.com>
9200
9201         * sem_aux.adb: Minor reformatting
9202
9203 2009-04-10  Ed Falis  <falis@adacore.com>
9204
9205         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
9206
9207         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
9208
9209 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9210
9211         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
9212         undocumented formal.
9213         Minor reformatting
9214
9215         * a-direio.ads: Fix typo in comment
9216
9217         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
9218         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
9219         Use uniform phrasing for comment at start of subprogram body.
9220
9221         * xsnamest.adb: Add note to explain why we use specific names for the
9222         newly generated files instead of generating snames.{ads,adb,h} directly
9223
9224 2009-04-10  Sergey Rybin  <rybin@adacore.com>
9225
9226         * vms_data.ads:
9227         Add qualifier for new gnatstub option '--no-exception'
9228
9229         * gnat_ugn.texi:
9230         Add the description of the new gnatstub option '--no-exception'
9231
9232 2009-04-10  Robert Dewar  <dewar@adacore.com>
9233
9234         * rtsfind.adb: Minor reformatting
9235
9236 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9237
9238         * sem_disp.adb: Minor reformatting.
9239         Add comment pointing to RM clause for the case of warning against a
9240         (failed) attempt at declaring a primitive operation elsewhere than in a
9241         package spec.
9242
9243 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9244
9245         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
9246         an actual for a previous formal package of the current instance.
9247
9248 2009-04-10  Bob Duff  <duff@adacore.com>
9249
9250         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
9251         them first, rather than on the extended main unit.
9252
9253 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9254
9255         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
9256         specification of full view carries a null exclusion indicator, create
9257         an itype for it, to check for conformance with partial view.
9258
9259 2009-04-10  Bob Duff  <duff@adacore.com>
9260
9261         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
9262
9263         * rtsfind.adb: Minor comment changes, and remove useless code.
9264
9265         * sinfo.ads: Add ??? comment.
9266
9267 2009-04-10  Vincent Celier  <celier@adacore.com>
9268
9269         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
9270
9271 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9272
9273         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
9274         type is a synchronized type, retrieve tag information from the
9275         corresponding record, which has the dispatch table link.
9276
9277 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
9278
9279         * g-comlin.adb (Group_Analysis): Take care of switches that might be
9280         decomposed afterwards, but are present as-is in the command line
9281         configuration, and thus should be kept as-is.
9282
9283 2009-04-10  Robert Dewar  <dewar@adacore.com>
9284
9285         * gnat_rm.texi: Document that postconditions are tested on implicit
9286         returns.
9287
9288         * sem_aux.adb: Minor reformatting
9289
9290 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9291
9292         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
9293         setting Etype.
9294         
9295         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
9296         Null_Exclusion_In_Return_Present when an access-to-function type has a
9297         result type with an explicit not null.
9298
9299         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
9300         given on the result type, then create a null-excluding itype for the
9301         function.
9302
9303         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
9304         the case where a null exclusion is imposed on a named access type.
9305         (Analyze_Subprogram_Specification): Push and pop the scope of the
9306         function around the call to Analyze_Return_Type in the case of no
9307         formals, for consistency with handling when formals are present
9308         (Process_Formals does this). Ensures that any itype created for the
9309         return type will be associated with the proper scope.
9310
9311         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
9312         exclusion is given on a generic function's result type, then create a
9313         null-excluding itype for the generic function.
9314         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
9315         for an actual for a formal in object according to the setting on the
9316         formal. Ensures null exclusion checks are done when the association is
9317         elaborated.
9318
9319         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
9320         N_Access_Function_Definition.
9321
9322         * sinfo.adb: Add Get_ and Set_ operations for
9323         Null_Exclusion_In_Return_Present.
9324
9325 2009-04-10  Bob Duff  <duff@adacore.com>
9326
9327         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
9328         call to the _Postconditions procedure in the case of implicit returns
9329         from analysis to expansion. This eliminates some duplicated code. Use
9330         the Postcondition_Proc to find the identity of this procedure during
9331         expansion.
9332
9333 2009-04-10  Robert Dewar  <dewar@adacore.com>
9334
9335         * sem_ch6.adb: Minor code clean up.
9336
9337         * einfo.ads, sem_attr.adb: Minor comment fixes.
9338
9339 2009-04-10  Robert Dewar  <dewar@adacore.com>
9340
9341         * sem_ch8.adb: Minor reformatting
9342
9343 2009-04-10  Robert Dewar  <dewar@adacore.com>
9344
9345         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
9346         procedures.
9347
9348         * sem_ch6.adb: Minor code clean up.
9349
9350 2009-04-10  Robert Dewar  <dewar@adacore.com>
9351
9352         * mlib-tgt-specific-xi.adb: Minor reformatting
9353
9354 2009-04-10  Bob Duff  <duff@adacore.com>
9355
9356         * einfo.ads: Minor comment fixes
9357
9358 2009-04-10  Vincent Celier  <celier@adacore.com>
9359
9360         * snames.ads-tmpl: Remove names that are no longer used in the
9361         Project Manager.
9362         Mark specifically those that are used only in gprbuild
9363
9364 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
9365
9366         * init.c: Adjust EH support code on Alpha/Tru64.
9367
9368 2009-04-10  Bob Duff  <duff@adacore.com>
9369
9370         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
9371         procedure on every path that could return implicitly (not via a return
9372         statement) from a procedure.
9373
9374 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9375
9376         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
9377         valid scope for a task declarations and therefore for a master id.
9378
9379 2009-04-10  Robert Dewar  <dewar@adacore.com>
9380
9381         * sem_aux.adb: Minor reformatting
9382
9383 2009-04-10  Vincent Celier  <celier@adacore.com>
9384
9385         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
9386         True.
9387         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
9388         (Set_Obsolescent_Check): New procedure to change the value of
9389         Obsolescent_Check_Flag.
9390
9391         * scn.ads (Set_Obsolescent_Check): New procedure to control
9392         Obsolescent_Check.
9393
9394         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
9395         obsolescent features while preprocessing.
9396
9397 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9398
9399         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
9400         generated files on all platforms.
9401
9402 2009-04-10  Robert Dewar  <dewar@adacore.com>
9403
9404         * sem_aux.adb: Minor reformatting
9405
9406 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9407
9408         * sem_ch3.adb (Access_Definition): Handle properly the case of a
9409         protected function with formals that returns an anonymous access type.
9410
9411 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9412
9413         * sem_disp.adb: Minor reformatting
9414
9415 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
9416
9417         * seh_init.c: Do not use the 32-bit specific implementation of
9418         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
9419         version TBD).
9420
9421 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9422
9423         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
9424         a '/' at the end so we better use the complete target name to determine
9425         whether it is a PowerPC 55xx target.
9426
9427 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9428
9429         * sem_eval.adb: Minor reformatting
9430
9431 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9432
9433         * snames.h, snames.ads, snames.adb: Remove files, now generated from
9434         templates.
9435
9436         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
9437         above.
9438
9439         * xsnamest.adb: New file.
9440
9441         * gcc-interface/Make-lang.in: New target for automated generation of
9442         snames.ads, snames.adb and snames.h
9443
9444 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9445
9446         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
9447         avoid compile time warnings.
9448         Do not add gcc/config in include search list while compiling the RTS.
9449         Pragma Thread_Local_Storage is available on any target.
9450
9451 2009-04-10  Bob Duff  <duff@adacore.com>
9452
9453         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
9454
9455 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9456
9457         * init.c: Install signal handler on Darwin.
9458
9459 2009-04-10  Robert Dewar  <dewar@adacore.com>
9460
9461         * sem_prag.adb: Minor reformatting
9462
9463         * exp_util.adb (Make_Non_Empty_Check): New function
9464         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
9465         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
9466
9467 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
9468
9469         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
9470
9471 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9472
9473         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
9474         tool prefix for AVR and PowerPC 55xx targets.
9475
9476 2009-04-10  Robert Dewar  <dewar@adacore.com>
9477
9478         * sem_warn.adb (Within_Postcondition): New function
9479         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
9480
9481 2009-04-10  Robert Dewar  <dewar@adacore.com>
9482
9483         * sem_warn.adb: Minor reformatting
9484
9485         * make.adb: Minor reformatting.
9486
9487 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9488
9489         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
9490         entity and the scope is a subprogram, retrieve the Sloc of the
9491         subprogram's body rather than using the sloc of the spec, for better
9492         line-stepping behavior in gdb.
9493         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
9494         controller, use the Sloc of the first declaration of the containing list
9495         rather than that of the node that triggered creation of the list
9496         controller.
9497
9498 2009-04-10  Vincent Celier  <celier@adacore.com>
9499
9500         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
9501         to avoid gcc warning.
9502
9503 2009-04-10  Robert Dewar  <dewar@adacore.com>
9504
9505         * g-comlin.adb: Add ??? comment
9506
9507 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9508
9509         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
9510         unreferenced entities for a package with no visible declarations.
9511
9512 2009-04-10  Robert Dewar  <dewar@adacore.com>
9513
9514         * exp_ch9.adb: Minor reformatting
9515
9516 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9517
9518         * sem_prag.adb: Minor reformatting
9519
9520 2009-04-10  Vincent Celier  <celier@adacore.com>
9521
9522         * prj-nmsc.adb:
9523         (Check_Library_Attributes): For a project qualified as a library project
9524         that is not a library project, indicate in the error message which
9525         attributes are missing (Library_Dir and/or Library_Name).
9526
9527 2009-04-10  Bob Duff  <duff@adacore.com>
9528
9529         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
9530         generated nodes, because it might confuse various circuits in the FE.
9531
9532 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9533
9534         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
9535         of pragma. It will be recopied and analyzed when used in call to
9536         Create_Task.
9537
9538         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
9539         initialization operations and recognize use of it in procedure calls
9540         within init_procs.
9541
9542         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
9543         argument, because it may have side-effects.
9544
9545         * exp_ch2.adb: Remove obsolete comments on default functions
9546
9547 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9548
9549         * adaint.c (RTX section): Do for RTX the same thing as we do for
9550         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
9551
9552 2009-04-10  Robert Dewar  <dewar@adacore.com>
9553
9554         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
9555
9556         * sem_res.adb (Resolve_Call): Fix test for
9557         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
9558         a non-dynamic scope).
9559
9560 2009-04-10  Robert Dewar  <dewar@adacore.com>
9561
9562         * make.adb: Add comment.
9563         Minor reformatting
9564
9565 2009-04-10  Nicolas Setton  <setton@adacore.com>
9566
9567         * s-osprim-darwin.adb: New file.
9568
9569         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
9570
9571 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9572
9573         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
9574
9575 2009-04-09  Nick Clifton  <nickc@redhat.com>
9576
9577         * adadecode.h: Change copyright header to refer to version
9578         3 of the GNU General Public License with version 3.1 of the
9579         GCC Runtime Library Exception and to point readers at the
9580         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
9581         page.
9582         * 9drpc.adb: Likewise.
9583         * a-assert.adb: Likewise.
9584         * a-astaco.adb: Likewise.
9585         * a-calari.adb: Likewise.
9586         * a-calcon.adb: Likewise.
9587         * a-calcon.ads: Likewise.
9588         * a-caldel.ads: Likewise.
9589         * a-calend-vms.adb: Likewise.
9590         * a-calend-vms.ads: Likewise.
9591         * a-calend.adb: Likewise.
9592         * a-calend.ads: Likewise.
9593         * a-calfor.adb: Likewise.
9594         * a-catizo.adb: Likewise.
9595         * a-cdlili.adb: Likewise.
9596         * a-cdlili.ads: Likewise.
9597         * a-cgaaso.adb: Likewise.
9598         * a-cgaaso.ads: Likewise.
9599         * a-cgarso.adb: Likewise.
9600         * a-cgcaso.adb: Likewise.
9601         * a-chacon.adb: Likewise.
9602         * a-chacon.ads: Likewise.
9603         * a-chahan.adb: Likewise.
9604         * a-chahan.ads: Likewise.
9605         * a-chlat9.ads: Likewise.
9606         * a-chtgke.adb: Likewise.
9607         * a-chtgke.ads: Likewise.
9608         * a-chtgop.adb: Likewise.
9609         * a-chtgop.ads: Likewise.
9610         * a-chzla1.ads: Likewise.
9611         * a-chzla9.ads: Likewise.
9612         * a-cidlli.adb: Likewise.
9613         * a-cidlli.ads: Likewise.
9614         * a-cihama.adb: Likewise.
9615         * a-cihama.ads: Likewise.
9616         * a-cihase.adb: Likewise.
9617         * a-cihase.ads: Likewise.
9618         * a-ciorma.adb: Likewise.
9619         * a-ciorma.ads: Likewise.
9620         * a-ciormu.adb: Likewise.
9621         * a-ciormu.ads: Likewise.
9622         * a-ciorse.adb: Likewise.
9623         * a-ciorse.ads: Likewise.
9624         * a-clrefi.adb: Likewise.
9625         * a-clrefi.ads: Likewise.
9626         * a-cohama.adb: Likewise.
9627         * a-cohama.ads: Likewise.
9628         * a-cohase.adb: Likewise.
9629         * a-cohase.ads: Likewise.
9630         * a-cohata.ads: Likewise.
9631         * a-coinve.adb: Likewise.
9632         * a-coinve.ads: Likewise.
9633         * a-colien.adb: Likewise.
9634         * a-colien.ads: Likewise.
9635         * a-colire.adb: Likewise.
9636         * a-colire.ads: Likewise.
9637         * a-comlin.adb: Likewise.
9638         * a-comlin.ads: Likewise.
9639         * a-convec.adb: Likewise.
9640         * a-convec.ads: Likewise.
9641         * a-coorma.adb: Likewise.
9642         * a-coorma.ads: Likewise.
9643         * a-coormu.adb: Likewise.
9644         * a-coormu.ads: Likewise.
9645         * a-coorse.adb: Likewise.
9646         * a-coorse.ads: Likewise.
9647         * a-coprnu.adb: Likewise.
9648         * a-coprnu.ads: Likewise.
9649         * a-crbltr.ads: Likewise.
9650         * a-crbtgk.adb: Likewise.
9651         * a-crbtgk.ads: Likewise.
9652         * a-crbtgo.adb: Likewise.
9653         * a-crbtgo.ads: Likewise.
9654         * a-crdlli.adb: Likewise.
9655         * a-crdlli.ads: Likewise.
9656         * a-cwila1.ads: Likewise.
9657         * a-cwila9.ads: Likewise.
9658         * a-decima.adb: Likewise.
9659         * a-decima.ads: Likewise.
9660         * a-diocst.adb: Likewise.
9661         * a-diocst.ads: Likewise.
9662         * a-direct.adb: Likewise.
9663         * a-direct.ads: Likewise.
9664         * a-direio.adb: Likewise.
9665         * a-direio.ads: Likewise.
9666         * a-dirval-mingw.adb: Likewise.
9667         * a-dirval-vms.adb: Likewise.
9668         * a-dirval.adb: Likewise.
9669         * a-dirval.ads: Likewise.
9670         * a-dynpri.adb: Likewise.
9671         * a-einuoc.adb: Likewise.
9672         * a-einuoc.ads: Likewise.
9673         * a-elchha.adb: Likewise.
9674         * a-elchha.ads: Likewise.
9675         * a-envvar.adb: Likewise.
9676         * a-excach.adb: Likewise.
9677         * a-except-2005.adb: Likewise.
9678         * a-except-2005.ads: Likewise.
9679         * a-except.adb: Likewise.
9680         * a-except.ads: Likewise.
9681         * a-excpol-abort.adb: Likewise.
9682         * a-excpol.adb: Likewise.
9683         * a-exctra.adb: Likewise.
9684         * a-exctra.ads: Likewise.
9685         * a-exetim-mingw.adb: Likewise.
9686         * a-exetim-mingw.ads: Likewise.
9687         * a-exexda.adb: Likewise.
9688         * a-exexpr-gcc.adb: Likewise.
9689         * a-exexpr.adb: Likewise.
9690         * a-exextr.adb: Likewise.
9691         * a-exstat.adb: Likewise.
9692         * a-filico.adb: Likewise.
9693         * a-filico.ads: Likewise.
9694         * a-finali.adb: Likewise.
9695         * a-finali.ads: Likewise.
9696         * a-interr.ads: Likewise.
9697         * a-intnam-aix.ads: Likewise.
9698         * a-intnam-darwin.ads: Likewise.
9699         * a-intnam-dummy.ads: Likewise.
9700         * a-intnam-freebsd.ads: Likewise.
9701         * a-intnam-hpux.ads: Likewise.
9702         * a-intnam-irix.ads: Likewise.
9703         * a-intnam-linux.ads: Likewise.
9704         * a-intnam-lynxos.ads: Likewise.
9705         * a-intnam-mingw.ads: Likewise.
9706         * a-intnam-rtems.ads: Likewise.
9707         * a-intnam-solaris.ads: Likewise.
9708         * a-intnam-tru64.ads: Likewise.
9709         * a-intnam-vms.ads: Likewise.
9710         * a-intnam-vxworks.ads: Likewise.
9711         * a-intsig.adb: Likewise.
9712         * a-intsig.ads: Likewise.
9713         * a-ngcefu.adb: Likewise.
9714         * a-ngcoar.adb: Likewise.
9715         * a-ngcoty.adb: Likewise.
9716         * a-ngcoty.ads: Likewise.
9717         * a-ngelfu.adb: Likewise.
9718         * a-ngrear.adb: Likewise.
9719         * a-ngrear.ads: Likewise.
9720         * a-nudira.adb: Likewise.
9721         * a-nudira.ads: Likewise.
9722         * a-nuflra.adb: Likewise.
9723         * a-nuflra.ads: Likewise.
9724         * a-numaux-darwin.adb: Likewise.
9725         * a-numaux-darwin.ads: Likewise.
9726         * a-numaux-libc-x86.ads: Likewise.
9727         * a-numaux-vxworks.ads: Likewise.
9728         * a-numaux-x86.adb: Likewise.
9729         * a-numaux-x86.ads: Likewise.
9730         * a-numaux.ads: Likewise.
9731         * a-rbtgso.adb: Likewise.
9732         * a-rbtgso.ads: Likewise.
9733         * a-reatim.ads: Likewise.
9734         * a-retide.adb: Likewise.
9735         * a-retide.ads: Likewise.
9736         * a-rttiev.adb: Likewise.
9737         * a-rttiev.ads: Likewise.
9738         * a-secain.adb: Likewise.
9739         * a-secain.ads: Likewise.
9740         * a-sequio.adb: Likewise.
9741         * a-sequio.ads: Likewise.
9742         * a-shcain.adb: Likewise.
9743         * a-shcain.ads: Likewise.
9744         * a-siocst.adb: Likewise.
9745         * a-siocst.ads: Likewise.
9746         * a-slcain.adb: Likewise.
9747         * a-slcain.ads: Likewise.
9748         * a-ssicst.adb: Likewise.
9749         * a-ssicst.ads: Likewise.
9750         * a-stboha.adb: Likewise.
9751         * a-stmaco.ads: Likewise.
9752         * a-storio.adb: Likewise.
9753         * a-strbou.adb: Likewise.
9754         * a-strbou.ads: Likewise.
9755         * a-stream.ads: Likewise.
9756         * a-strfix.adb: Likewise.
9757         * a-strhas.adb: Likewise.
9758         * a-strmap.adb: Likewise.
9759         * a-strmap.ads: Likewise.
9760         * a-strsea.adb: Likewise.
9761         * a-strsea.ads: Likewise.
9762         * a-strsup.adb: Likewise.
9763         * a-strsup.ads: Likewise.
9764         * a-strunb.adb: Likewise.
9765         * a-strunb.ads: Likewise.
9766         * a-ststio.adb: Likewise.
9767         * a-ststio.ads: Likewise.
9768         * a-stunau.adb: Likewise.
9769         * a-stunau.ads: Likewise.
9770         * a-stunha.adb: Likewise.
9771         * a-stwibo.adb: Likewise.
9772         * a-stwibo.ads: Likewise.
9773         * a-stwifi.adb: Likewise.
9774         * a-stwiha.adb: Likewise.
9775         * a-stwima.adb: Likewise.
9776         * a-stwima.ads: Likewise.
9777         * a-stwise.adb: Likewise.
9778         * a-stwise.ads: Likewise.
9779         * a-stwisu.adb: Likewise.
9780         * a-stwisu.ads: Likewise.
9781         * a-stwiun.adb: Likewise.
9782         * a-stwiun.ads: Likewise.
9783         * a-stzbou.adb: Likewise.
9784         * a-stzbou.ads: Likewise.
9785         * a-stzfix.adb: Likewise.
9786         * a-stzhas.adb: Likewise.
9787         * a-stzmap.adb: Likewise.
9788         * a-stzmap.ads: Likewise.
9789         * a-stzsea.adb: Likewise.
9790         * a-stzsea.ads: Likewise.
9791         * a-stzsup.adb: Likewise.
9792         * a-stzsup.ads: Likewise.
9793         * a-stzunb.adb: Likewise.
9794         * a-stzunb.ads: Likewise.
9795         * a-suteio.adb: Likewise.
9796         * a-suteio.ads: Likewise.
9797         * a-swbwha.adb: Likewise.
9798         * a-swmwco.ads: Likewise.
9799         * a-swunau.adb: Likewise.
9800         * a-swunau.ads: Likewise.
9801         * a-swuwha.adb: Likewise.
9802         * a-swuwti.adb: Likewise.
9803         * a-swuwti.ads: Likewise.
9804         * a-sytaco.adb: Likewise.
9805         * a-sytaco.ads: Likewise.
9806         * a-szbzha.adb: Likewise.
9807         * a-szmzco.ads: Likewise.
9808         * a-szunau.adb: Likewise.
9809         * a-szunau.ads: Likewise.
9810         * a-szuzha.adb: Likewise.
9811         * a-szuzti.adb: Likewise.
9812         * a-szuzti.ads: Likewise.
9813         * a-tags.adb: Likewise.
9814         * a-tags.ads: Likewise.
9815         * a-tasatt.ads: Likewise.
9816         * a-taside.adb: Likewise.
9817         * a-taside.ads: Likewise.
9818         * a-taster.adb: Likewise.
9819         * a-teioed.adb: Likewise.
9820         * a-teioed.ads: Likewise.
9821         * a-textio.adb: Likewise.
9822         * a-textio.ads: Likewise.
9823         * a-tiboio.adb: Likewise.
9824         * a-ticoau.adb: Likewise.
9825         * a-ticoau.ads: Likewise.
9826         * a-ticoio.adb: Likewise.
9827         * a-ticoio.ads: Likewise.
9828         * a-tideau.adb: Likewise.
9829         * a-tideau.ads: Likewise.
9830         * a-tideio.adb: Likewise.
9831         * a-tideio.ads: Likewise.
9832         * a-tienau.adb: Likewise.
9833         * a-tienau.ads: Likewise.
9834         * a-tienio.adb: Likewise.
9835         * a-tienio.ads: Likewise.
9836         * a-tifiio.adb: Likewise.
9837         * a-tifiio.ads: Likewise.
9838         * a-tiflau.adb: Likewise.
9839         * a-tiflau.ads: Likewise.
9840         * a-tiflio.adb: Likewise.
9841         * a-tiflio.ads: Likewise.
9842         * a-tigeau.adb: Likewise.
9843         * a-tigeau.ads: Likewise.
9844         * a-tiinau.adb: Likewise.
9845         * a-tiinau.ads: Likewise.
9846         * a-tiinio.adb: Likewise.
9847         * a-tiinio.ads: Likewise.
9848         * a-timoau.adb: Likewise.
9849         * a-timoau.ads: Likewise.
9850         * a-timoio.adb: Likewise.
9851         * a-timoio.ads: Likewise.
9852         * a-tiocst.adb: Likewise.
9853         * a-tiocst.ads: Likewise.
9854         * a-titest.adb: Likewise.
9855         * a-wichun.adb: Likewise.
9856         * a-wichun.ads: Likewise.
9857         * a-witeio.adb: Likewise.
9858         * a-witeio.ads: Likewise.
9859         * a-wtcoau.adb: Likewise.
9860         * a-wtcoau.ads: Likewise.
9861         * a-wtcoio.adb: Likewise.
9862         * a-wtcstr.adb: Likewise.
9863         * a-wtcstr.ads: Likewise.
9864         * a-wtdeau.adb: Likewise.
9865         * a-wtdeau.ads: Likewise.
9866         * a-wtdeio.adb: Likewise.
9867         * a-wtdeio.ads: Likewise.
9868         * a-wtedit.adb: Likewise.
9869         * a-wtedit.ads: Likewise.
9870         * a-wtenau.adb: Likewise.
9871         * a-wtenau.ads: Likewise.
9872         * a-wtenio.adb: Likewise.
9873         * a-wtenio.ads: Likewise.
9874         * a-wtfiio.adb: Likewise.
9875         * a-wtfiio.ads: Likewise.
9876         * a-wtflau.adb: Likewise.
9877         * a-wtflau.ads: Likewise.
9878         * a-wtflio.adb: Likewise.
9879         * a-wtflio.ads: Likewise.
9880         * a-wtgeau.adb: Likewise.
9881         * a-wtgeau.ads: Likewise.
9882         * a-wtinau.adb: Likewise.
9883         * a-wtinau.ads: Likewise.
9884         * a-wtinio.adb: Likewise.
9885         * a-wtmoau.adb: Likewise.
9886         * a-wtmoau.ads: Likewise.
9887         * a-wtmoio.adb: Likewise.
9888         * a-wtmoio.ads: Likewise.
9889         * a-wttest.adb: Likewise.
9890         * a-wwboio.adb: Likewise.
9891         * a-zchuni.adb: Likewise.
9892         * a-zchuni.ads: Likewise.
9893         * a-ztcoau.adb: Likewise.
9894         * a-ztcoau.ads: Likewise.
9895         * a-ztcoio.adb: Likewise.
9896         * a-ztcstr.adb: Likewise.
9897         * a-ztcstr.ads: Likewise.
9898         * a-ztdeau.adb: Likewise.
9899         * a-ztdeau.ads: Likewise.
9900         * a-ztdeio.adb: Likewise.
9901         * a-ztdeio.ads: Likewise.
9902         * a-ztedit.adb: Likewise.
9903         * a-ztedit.ads: Likewise.
9904         * a-ztenau.adb: Likewise.
9905         * a-ztenau.ads: Likewise.
9906         * a-ztenio.adb: Likewise.
9907         * a-ztenio.ads: Likewise.
9908         * a-ztexio.adb: Likewise.
9909         * a-ztexio.ads: Likewise.
9910         * a-ztfiio.adb: Likewise.
9911         * a-ztfiio.ads: Likewise.
9912         * a-ztflau.adb: Likewise.
9913         * a-ztflau.ads: Likewise.
9914         * a-ztflio.adb: Likewise.
9915         * a-ztflio.ads: Likewise.
9916         * a-ztgeau.adb: Likewise.
9917         * a-ztgeau.ads: Likewise.
9918         * a-ztinau.adb: Likewise.
9919         * a-ztinau.ads: Likewise.
9920         * a-ztinio.adb: Likewise.
9921         * a-ztmoau.adb: Likewise.
9922         * a-ztmoau.ads: Likewise.
9923         * a-ztmoio.adb: Likewise.
9924         * a-ztmoio.ads: Likewise.
9925         * a-zttest.adb: Likewise.
9926         * a-zzboio.adb: Likewise.
9927         * adadecode.c: Likewise.
9928         * adaint.c: Likewise.
9929         * adaint.h: Likewise.
9930         * alloc.ads: Likewise.
9931         * argv.c: Likewise.
9932         * arit64.c: Likewise.
9933         * atree.adb: Likewise.
9934         * atree.ads: Likewise.
9935         * aux-io.c: Likewise.
9936         * cal.c: Likewise.
9937         * casing.adb: Likewise.
9938         * casing.ads: Likewise.
9939         * cio.c: Likewise.
9940         * csets.adb: Likewise.
9941         * csets.ads: Likewise.
9942         * cstreams.c: Likewise.
9943         * ctrl_c.c: Likewise.
9944         * debug.adb: Likewise.
9945         * debug.ads: Likewise.
9946         * dec.ads: Likewise.
9947         * einfo.adb: Likewise.
9948         * einfo.ads: Likewise.
9949         * elists.adb: Likewise.
9950         * elists.ads: Likewise.
9951         * env.c: Likewise.
9952         * env.h: Likewise.
9953         * errno.c: Likewise.
9954         * exit.c: Likewise.
9955         * fe.h: Likewise.
9956         * final.c: Likewise.
9957         * fname.adb: Likewise.
9958         * fname.ads: Likewise.
9959         * g-allein.ads: Likewise.
9960         * g-alleve.adb: Likewise.
9961         * g-alleve.ads: Likewise.
9962         * g-altcon.adb: Likewise.
9963         * g-altcon.ads: Likewise.
9964         * g-altive.ads: Likewise.
9965         * g-alveop.adb: Likewise.
9966         * g-alveop.ads: Likewise.
9967         * g-alvety.ads: Likewise.
9968         * g-alvevi.ads: Likewise.
9969         * g-arrspl.adb: Likewise.
9970         * g-arrspl.ads: Likewise.
9971         * g-calend.ads: Likewise.
9972         * g-comlin.adb: Likewise.
9973         * g-debpoo.adb: Likewise.
9974         * g-debpoo.ads: Likewise.
9975         * g-eacodu-vms.adb: Likewise.
9976         * g-eacodu.adb: Likewise.
9977         * g-excact.adb: Likewise.
9978         * g-excact.ads: Likewise.
9979         * g-locfil.adb: Likewise.
9980         * g-os_lib.ads: Likewise.
9981         * g-rannum.adb: Likewise.
9982         * g-rannum.ads: Likewise.
9983         * g-regist.adb: Likewise.
9984         * g-regist.ads: Likewise.
9985         * g-signal.adb: Likewise.
9986         * g-signal.ads: Likewise.
9987         * g-soccon.ads: Likewise.
9988         * g-string.adb: Likewise.
9989         * g-string.ads: Likewise.
9990         * g-strspl.ads: Likewise.
9991         * g-timsta.adb: Likewise.
9992         * g-timsta.ads: Likewise.
9993         * g-trasym-vms-alpha.adb: Likewise.
9994         * g-trasym-vms-ia64.adb: Likewise.
9995         * g-utf_32.adb: Likewise.
9996         * g-utf_32.ads: Likewise.
9997         * g-wistsp.ads: Likewise.
9998         * g-zstspl.ads: Likewise.
9999         * gmem.c: Likewise.
10000         * gnatvsn.adb: Likewise.
10001         * gnatvsn.ads: Likewise.
10002         * gsocket.h: Likewise.
10003         * hostparm.ads: Likewise.
10004         * i-c.adb: Likewise.
10005         * i-cexten.ads: Likewise.
10006         * i-cobol.adb: Likewise.
10007         * i-cobol.ads: Likewise.
10008         * i-cpoint.adb: Likewise.
10009         * i-cpoint.ads: Likewise.
10010         * i-cpp.adb: Likewise.
10011         * i-cpp.ads: Likewise.
10012         * i-cstrea-vms.adb: Likewise.
10013         * i-cstrea.adb: Likewise.
10014         * i-cstrea.ads: Likewise.
10015         * i-cstrin.adb: Likewise.
10016         * i-cstrin.ads: Likewise.
10017         * i-forbla-darwin.adb: Likewise.
10018         * i-forbla-unimplemented.ads: Likewise.
10019         * i-forbla.adb: Likewise.
10020         * i-forbla.ads: Likewise.
10021         * i-forlap.ads: Likewise.
10022         * i-fortra.adb: Likewise.
10023         * i-pacdec.adb: Likewise.
10024         * i-pacdec.ads: Likewise.
10025         * i-vxwoio.adb: Likewise.
10026         * i-vxwoio.ads: Likewise.
10027         * indepsw-aix.adb: Likewise.
10028         * indepsw-gnu.adb: Likewise.
10029         * indepsw-mingw.adb: Likewise.
10030         * indepsw.adb: Likewise.
10031         * indepsw.ads: Likewise.
10032         * init.c: Likewise.
10033         * initialize.c: Likewise.
10034         * interfac.ads: Likewise.
10035         * krunch.adb: Likewise.
10036         * krunch.ads: Likewise.
10037         * lib-list.adb: Likewise.
10038         * lib-sort.adb: Likewise.
10039         * lib.adb: Likewise.
10040         * lib.ads: Likewise.
10041         * link.c: Likewise.
10042         * math_lib.adb: Likewise.
10043         * memtrack.adb: Likewise.
10044         * mingw32.h: Likewise.
10045         * mkdir.c: Likewise.
10046         * namet-sp.adb: Likewise.
10047         * namet-sp.ads: Likewise.
10048         * namet.adb: Likewise.
10049         * namet.ads: Likewise.
10050         * nlists.adb: Likewise.
10051         * nlists.ads: Likewise.
10052         * opt.adb: Likewise.
10053         * opt.ads: Likewise.
10054         * output.adb: Likewise.
10055         * output.ads: Likewise.
10056         * raise-gcc.c: Likewise.
10057         * raise.c: Likewise.
10058         * raise.h: Likewise.
10059         * repinfo.adb: Likewise.
10060         * repinfo.ads: Likewise.
10061         * repinfo.h: Likewise.
10062         * rident.ads: Likewise.
10063         * s-addima.adb: Likewise.
10064         * s-addima.ads: Likewise.
10065         * s-addope.adb: Likewise.
10066         * s-addope.ads: Likewise.
10067         * s-arit64.adb: Likewise.
10068         * s-arit64.ads: Likewise.
10069         * s-assert.adb: Likewise.
10070         * s-assert.ads: Likewise.
10071         * s-asthan-vms-alpha.adb: Likewise.
10072         * s-asthan.adb: Likewise.
10073         * s-asthan.ads: Likewise.
10074         * s-atacco.adb: Likewise.
10075         * s-atacco.ads: Likewise.
10076         * s-auxdec-empty.adb: Likewise.
10077         * s-auxdec-empty.ads: Likewise.
10078         * s-auxdec-vms_64.ads: Likewise.
10079         * s-auxdec.adb: Likewise.
10080         * s-auxdec.ads: Likewise.
10081         * s-bitops.adb: Likewise.
10082         * s-bitops.ads: Likewise.
10083         * s-boarop.ads: Likewise.
10084         * s-carsi8.adb: Likewise.
10085         * s-carsi8.ads: Likewise.
10086         * s-carun8.adb: Likewise.
10087         * s-carun8.ads: Likewise.
10088         * s-casi16.adb: Likewise.
10089         * s-casi16.ads: Likewise.
10090         * s-casi32.adb: Likewise.
10091         * s-casi32.ads: Likewise.
10092         * s-casi64.adb: Likewise.
10093         * s-casi64.ads: Likewise.
10094         * s-casuti.ads: Likewise.
10095         * s-caun16.adb: Likewise.
10096         * s-caun16.ads: Likewise.
10097         * s-caun32.adb: Likewise.
10098         * s-caun32.ads: Likewise.
10099         * s-caun64.adb: Likewise.
10100         * s-caun64.ads: Likewise.
10101         * s-chepoo.ads: Likewise.
10102         * s-crc32.adb: Likewise.
10103         * s-crc32.ads: Likewise.
10104         * s-crtl.ads: Likewise.
10105         * s-direio.adb: Likewise.
10106         * s-direio.ads: Likewise.
10107         * s-dsaser.ads: Likewise.
10108         * s-except.adb: Likewise.
10109         * s-except.ads: Likewise.
10110         * s-exctab.adb: Likewise.
10111         * s-exctab.ads: Likewise.
10112         * s-exnint.adb: Likewise.
10113         * s-exnint.ads: Likewise.
10114         * s-exnllf.adb: Likewise.
10115         * s-exnllf.ads: Likewise.
10116         * s-exnlli.adb: Likewise.
10117         * s-exnlli.ads: Likewise.
10118         * s-expint.adb: Likewise.
10119         * s-expint.ads: Likewise.
10120         * s-explli.adb: Likewise.
10121         * s-explli.ads: Likewise.
10122         * s-expllu.adb: Likewise.
10123         * s-expllu.ads: Likewise.
10124         * s-expmod.adb: Likewise.
10125         * s-expmod.ads: Likewise.
10126         * s-expuns.adb: Likewise.
10127         * s-expuns.ads: Likewise.
10128         * s-fatflt.ads: Likewise.
10129         * s-fatgen.adb: Likewise.
10130         * s-fatgen.ads: Likewise.
10131         * s-fatlfl.ads: Likewise.
10132         * s-fatllf.ads: Likewise.
10133         * s-fatsfl.ads: Likewise.
10134         * s-ficobl.ads: Likewise.
10135         * s-fileio.adb: Likewise.
10136         * s-fileio.ads: Likewise.
10137         * s-filofl.ads: Likewise.
10138         * s-finimp.adb: Likewise.
10139         * s-finimp.ads: Likewise.
10140         * s-finroo.adb: Likewise.
10141         * s-finroo.ads: Likewise.
10142         * s-fishfl.ads: Likewise.
10143         * s-fore.adb: Likewise.
10144         * s-fore.ads: Likewise.
10145         * s-fvadfl.ads: Likewise.
10146         * s-fvaffl.ads: Likewise.
10147         * s-fvagfl.ads: Likewise.
10148         * s-gearop.adb: Likewise.
10149         * s-gearop.ads: Likewise.
10150         * s-gecobl.adb: Likewise.
10151         * s-gecobl.ads: Likewise.
10152         * s-gecola.adb: Likewise.
10153         * s-gecola.ads: Likewise.
10154         * s-gerebl.adb: Likewise.
10155         * s-gerebl.ads: Likewise.
10156         * s-gerela.adb: Likewise.
10157         * s-gerela.ads: Likewise.
10158         * s-geveop.adb: Likewise.
10159         * s-geveop.ads: Likewise.
10160         * s-gloloc.adb: Likewise.
10161         * s-gloloc.ads: Likewise.
10162         * s-hibaen.ads: Likewise.
10163         * s-imenne.adb: Likewise.
10164         * s-imenne.ads: Likewise.
10165         * s-imgbiu.adb: Likewise.
10166         * s-imgbiu.ads: Likewise.
10167         * s-imgboo.adb: Likewise.
10168         * s-imgboo.ads: Likewise.
10169         * s-imgcha.adb: Likewise.
10170         * s-imgcha.ads: Likewise.
10171         * s-imgdec.adb: Likewise.
10172         * s-imgdec.ads: Likewise.
10173         * s-imgenu.adb: Likewise.
10174         * s-imgenu.ads: Likewise.
10175         * s-imgint.adb: Likewise.
10176         * s-imgint.ads: Likewise.
10177         * s-imgllb.adb: Likewise.
10178         * s-imgllb.ads: Likewise.
10179         * s-imglld.adb: Likewise.
10180         * s-imglld.ads: Likewise.
10181         * s-imglli.adb: Likewise.
10182         * s-imglli.ads: Likewise.
10183         * s-imgllu.adb: Likewise.
10184         * s-imgllu.ads: Likewise.
10185         * s-imgllw.adb: Likewise.
10186         * s-imgllw.ads: Likewise.
10187         * s-imgrea.adb: Likewise.
10188         * s-imgrea.ads: Likewise.
10189         * s-imguns.adb: Likewise.
10190         * s-imguns.ads: Likewise.
10191         * s-imgwch.adb: Likewise.
10192         * s-imgwch.ads: Likewise.
10193         * s-imgwiu.adb: Likewise.
10194         * s-imgwiu.ads: Likewise.
10195         * s-inmaop-dummy.adb: Likewise.
10196         * s-inmaop-vms.adb: Likewise.
10197         * s-inmaop.ads: Likewise.
10198         * s-interr-hwint.adb: Likewise.
10199         * s-interr-sigaction.adb: Likewise.
10200         * s-interr-vms.adb: Likewise.
10201         * s-interr.adb: Likewise.
10202         * s-interr.ads: Likewise.
10203         * s-intman-dummy.adb: Likewise.
10204         * s-intman-mingw.adb: Likewise.
10205         * s-intman-posix.adb: Likewise.
10206         * s-intman-solaris.adb: Likewise.
10207         * s-intman-vms.adb: Likewise.
10208         * s-intman-vms.ads: Likewise.
10209         * s-intman-vxworks.adb: Likewise.
10210         * s-intman-vxworks.ads: Likewise.
10211         * s-intman.ads: Likewise.
10212         * s-io.adb: Likewise.
10213         * s-io.ads: Likewise.
10214         * s-linux-alpha.ads: Likewise.
10215         * s-linux-hppa.ads: Likewise.
10216         * s-linux.ads: Likewise.
10217         * s-maccod.ads: Likewise.
10218         * s-mantis.adb: Likewise.
10219         * s-mantis.ads: Likewise.
10220         * s-mastop-irix.adb: Likewise.
10221         * s-mastop.adb: Likewise.
10222         * s-mastop.ads: Likewise.
10223         * s-memcop.ads: Likewise.
10224         * s-memory-mingw.adb: Likewise.
10225         * s-memory.adb: Likewise.
10226         * s-memory.ads: Likewise.
10227         * s-os_lib.ads: Likewise.
10228         * s-oscons-tmplt.c: Likewise.
10229         * s-osinte-aix.adb: Likewise.
10230         * s-osinte-darwin.adb: Likewise.
10231         * s-osinte-freebsd.adb: Likewise.
10232         * s-osinte-irix.adb: Likewise.
10233         * s-osinte-lynxos-3.adb: Likewise.
10234         * s-osinte-rtems.ads: Likewise.
10235         * s-osinte-tru64.adb: Likewise.
10236         * s-osinte-vxworks-kernel.adb: Likewise.
10237         * s-osinte-vxworks.adb: Likewise.
10238         * s-osprim-mingw.adb: Likewise.
10239         * s-osprim-posix.adb: Likewise.
10240         * s-osprim-solaris.adb: Likewise.
10241         * s-osprim-unix.adb: Likewise.
10242         * s-osprim-vms.adb: Likewise.
10243         * s-osprim-vms.ads: Likewise.
10244         * s-osprim-vxworks.adb: Likewise.
10245         * s-osprim.ads: Likewise.
10246         * s-pack03.adb: Likewise.
10247         * s-pack03.ads: Likewise.
10248         * s-pack05.adb: Likewise.
10249         * s-pack05.ads: Likewise.
10250         * s-pack06.adb: Likewise.
10251         * s-pack06.ads: Likewise.
10252         * s-pack07.adb: Likewise.
10253         * s-pack07.ads: Likewise.
10254         * s-pack09.adb: Likewise.
10255         * s-pack09.ads: Likewise.
10256         * s-pack10.adb: Likewise.
10257         * s-pack10.ads: Likewise.
10258         * s-pack11.adb: Likewise.
10259         * s-pack11.ads: Likewise.
10260         * s-pack12.adb: Likewise.
10261         * s-pack12.ads: Likewise.
10262         * s-pack13.adb: Likewise.
10263         * s-pack13.ads: Likewise.
10264         * s-pack14.adb: Likewise.
10265         * s-pack14.ads: Likewise.
10266         * s-pack15.adb: Likewise.
10267         * s-pack15.ads: Likewise.
10268         * s-pack17.adb: Likewise.
10269         * s-pack17.ads: Likewise.
10270         * s-pack18.adb: Likewise.
10271         * s-pack18.ads: Likewise.
10272         * s-pack19.adb: Likewise.
10273         * s-pack19.ads: Likewise.
10274         * s-pack20.adb: Likewise.
10275         * s-pack20.ads: Likewise.
10276         * s-pack21.adb: Likewise.
10277         * s-pack21.ads: Likewise.
10278         * s-pack22.adb: Likewise.
10279         * s-pack22.ads: Likewise.
10280         * s-pack23.adb: Likewise.
10281         * s-pack23.ads: Likewise.
10282         * s-pack24.adb: Likewise.
10283         * s-pack24.ads: Likewise.
10284         * s-pack25.adb: Likewise.
10285         * s-pack25.ads: Likewise.
10286         * s-pack26.adb: Likewise.
10287         * s-pack26.ads: Likewise.
10288         * s-pack27.adb: Likewise.
10289         * s-pack27.ads: Likewise.
10290         * s-pack28.adb: Likewise.
10291         * s-pack28.ads: Likewise.
10292         * s-pack29.adb: Likewise.
10293         * s-pack29.ads: Likewise.
10294         * s-pack30.adb: Likewise.
10295         * s-pack30.ads: Likewise.
10296         * s-pack31.adb: Likewise.
10297         * s-pack31.ads: Likewise.
10298         * s-pack33.adb: Likewise.
10299         * s-pack33.ads: Likewise.
10300         * s-pack34.adb: Likewise.
10301         * s-pack34.ads: Likewise.
10302         * s-pack35.adb: Likewise.
10303         * s-pack35.ads: Likewise.
10304         * s-pack36.adb: Likewise.
10305         * s-pack36.ads: Likewise.
10306         * s-pack37.adb: Likewise.
10307         * s-pack37.ads: Likewise.
10308         * s-pack38.adb: Likewise.
10309         * s-pack38.ads: Likewise.
10310         * s-pack39.adb: Likewise.
10311         * s-pack39.ads: Likewise.
10312         * s-pack40.adb: Likewise.
10313         * s-pack40.ads: Likewise.
10314         * s-pack41.adb: Likewise.
10315         * s-pack41.ads: Likewise.
10316         * s-pack42.adb: Likewise.
10317         * s-pack42.ads: Likewise.
10318         * s-pack43.adb: Likewise.
10319         * s-pack43.ads: Likewise.
10320         * s-pack44.adb: Likewise.
10321         * s-pack44.ads: Likewise.
10322         * s-pack45.adb: Likewise.
10323         * s-pack45.ads: Likewise.
10324         * s-pack46.adb: Likewise.
10325         * s-pack46.ads: Likewise.
10326         * s-pack47.adb: Likewise.
10327         * s-pack47.ads: Likewise.
10328         * s-pack48.adb: Likewise.
10329         * s-pack48.ads: Likewise.
10330         * s-pack49.adb: Likewise.
10331         * s-pack49.ads: Likewise.
10332         * s-pack50.adb: Likewise.
10333         * s-pack50.ads: Likewise.
10334         * s-pack51.adb: Likewise.
10335         * s-pack51.ads: Likewise.
10336         * s-pack52.adb: Likewise.
10337         * s-pack52.ads: Likewise.
10338         * s-pack53.adb: Likewise.
10339         * s-pack53.ads: Likewise.
10340         * s-pack54.adb: Likewise.
10341         * s-pack54.ads: Likewise.
10342         * s-pack55.adb: Likewise.
10343         * s-pack55.ads: Likewise.
10344         * s-pack56.adb: Likewise.
10345         * s-pack56.ads: Likewise.
10346         * s-pack57.adb: Likewise.
10347         * s-pack57.ads: Likewise.
10348         * s-pack58.adb: Likewise.
10349         * s-pack58.ads: Likewise.
10350         * s-pack59.adb: Likewise.
10351         * s-pack59.ads: Likewise.
10352         * s-pack60.adb: Likewise.
10353         * s-pack60.ads: Likewise.
10354         * s-pack61.adb: Likewise.
10355         * s-pack61.ads: Likewise.
10356         * s-pack62.adb: Likewise.
10357         * s-pack62.ads: Likewise.
10358         * s-pack63.adb: Likewise.
10359         * s-pack63.ads: Likewise.
10360         * s-parame-ae653.ads: Likewise.
10361         * s-parame-hpux.ads: Likewise.
10362         * s-parame-rtems.adb: Likewise.
10363         * s-parame-vms-alpha.ads: Likewise.
10364         * s-parame-vms-ia64.ads: Likewise.
10365         * s-parame-vms-restrict.ads: Likewise.
10366         * s-parame-vxworks.adb: Likewise.
10367         * s-parame-vxworks.ads: Likewise.
10368         * s-parame.adb: Likewise.
10369         * s-parame.ads: Likewise.
10370         * s-parint.adb: Likewise.
10371         * s-parint.ads: Likewise.
10372         * s-pooglo.adb: Likewise.
10373         * s-pooglo.ads: Likewise.
10374         * s-pooloc.adb: Likewise.
10375         * s-pooloc.ads: Likewise.
10376         * s-poosiz.adb: Likewise.
10377         * s-poosiz.ads: Likewise.
10378         * s-powtab.ads: Likewise.
10379         * s-proinf-irix-athread.adb: Likewise.
10380         * s-proinf-irix-athread.ads: Likewise.
10381         * s-proinf.adb: Likewise.
10382         * s-proinf.ads: Likewise.
10383         * s-purexc.ads: Likewise.
10384         * s-rannum.adb: Likewise.
10385         * s-rannum.ads: Likewise.
10386         * s-restri.adb: Likewise.
10387         * s-restri.ads: Likewise.
10388         * s-rident.ads: Likewise.
10389         * s-rpc.adb: Likewise.
10390         * s-rpc.ads: Likewise.
10391         * s-scaval.adb: Likewise.
10392         * s-scaval.ads: Likewise.
10393         * s-secsta.adb: Likewise.
10394         * s-secsta.ads: Likewise.
10395         * s-sequio.adb: Likewise.
10396         * s-sequio.ads: Likewise.
10397         * s-shasto.adb: Likewise.
10398         * s-shasto.ads: Likewise.
10399         * s-soflin.adb: Likewise.
10400         * s-soflin.ads: Likewise.
10401         * s-solita.adb: Likewise.
10402         * s-solita.ads: Likewise.
10403         * s-sopco3.adb: Likewise.
10404         * s-sopco3.ads: Likewise.
10405         * s-sopco4.adb: Likewise.
10406         * s-sopco4.ads: Likewise.
10407         * s-sopco5.adb: Likewise.
10408         * s-sopco5.ads: Likewise.
10409         * s-stache.adb: Likewise.
10410         * s-stache.ads: Likewise.
10411         * s-stalib.adb: Likewise.
10412         * s-stalib.ads: Likewise.
10413         * s-stausa.adb: Likewise.
10414         * s-stausa.ads: Likewise.
10415         * s-stchop-limit.ads: Likewise.
10416         * s-stchop-rtems.adb: Likewise.
10417         * s-stchop-vxworks.adb: Likewise.
10418         * s-stchop.adb: Likewise.
10419         * s-stchop.ads: Likewise.
10420         * s-stoele.adb: Likewise.
10421         * s-stoele.ads: Likewise.
10422         * s-stopoo.adb: Likewise.
10423         * s-stopoo.ads: Likewise.
10424         * s-stratt.adb: Likewise.
10425         * s-stratt.ads: Likewise.
10426         * s-strcom.adb: Likewise.
10427         * s-strcom.ads: Likewise.
10428         * s-string.adb: Likewise.
10429         * s-string.ads: Likewise.
10430         * s-strops.adb: Likewise.
10431         * s-strops.ads: Likewise.
10432         * s-strxdr.adb: Likewise.
10433         * s-ststop.adb: Likewise.
10434         * s-ststop.ads: Likewise.
10435         * s-taasde.adb: Likewise.
10436         * s-taasde.ads: Likewise.
10437         * s-tadeca.adb: Likewise.
10438         * s-tadeca.ads: Likewise.
10439         * s-tadert.adb: Likewise.
10440         * s-tadert.ads: Likewise.
10441         * s-taenca.adb: Likewise.
10442         * s-taenca.ads: Likewise.
10443         * s-taprob.ads: Likewise.
10444         * s-taprop-dummy.adb: Likewise.
10445         * s-taprop-hpux-dce.adb: Likewise.
10446         * s-taprop-irix.adb: Likewise.
10447         * s-taprop-linux.adb: Likewise.
10448         * s-taprop-lynxos.adb: Likewise.
10449         * s-taprop-mingw.adb: Likewise.
10450         * s-taprop-posix.adb: Likewise.
10451         * s-taprop-solaris.adb: Likewise.
10452         * s-taprop-tru64.adb: Likewise.
10453         * s-taprop-vms.adb: Likewise.
10454         * s-taprop-vxworks.adb: Likewise.
10455         * s-taprop.ads: Likewise.
10456         * s-tarest.adb: Likewise.
10457         * s-tarest.ads: Likewise.
10458         * s-tasdeb.adb: Likewise.
10459         * s-tasdeb.ads: Likewise.
10460         * s-tasinf-irix.ads: Likewise.
10461         * s-tasinf-linux.adb: Likewise.
10462         * s-tasinf-linux.ads: Likewise.
10463         * s-tasinf-mingw.adb: Likewise.
10464         * s-tasinf-mingw.ads: Likewise.
10465         * s-tasinf-solaris.adb: Likewise.
10466         * s-tasinf-solaris.ads: Likewise.
10467         * s-tasinf-tru64.ads: Likewise.
10468         * s-tasinf.adb: Likewise.
10469         * s-tasinf.ads: Likewise.
10470         * s-tasini.adb: Likewise.
10471         * s-tasini.ads: Likewise.
10472         * s-taskin.adb: Likewise.
10473         * s-taskin.ads: Likewise.
10474         * s-taspri-dummy.ads: Likewise.
10475         * s-taspri-hpux-dce.ads: Likewise.
10476         * s-taspri-mingw.ads: Likewise.
10477         * s-taspri-solaris.ads: Likewise.
10478         * s-taspri-tru64.ads: Likewise.
10479         * s-taspri-vms.ads: Likewise.
10480         * s-taspri-vxworks.ads: Likewise.
10481         * s-tasque.adb: Likewise.
10482         * s-tasque.ads: Likewise.
10483         * s-tasren.adb: Likewise.
10484         * s-tasren.ads: Likewise.
10485         * s-tasres.ads: Likewise.
10486         * s-tassta.adb: Likewise.
10487         * s-tassta.ads: Likewise.
10488         * s-tasuti.adb: Likewise.
10489         * s-tasuti.ads: Likewise.
10490         * s-tfsetr-default.adb: Likewise.
10491         * s-tfsetr-vxworks.adb: Likewise.
10492         * s-tpinop.adb: Likewise.
10493         * s-tpinop.ads: Likewise.
10494         * s-tpoben.adb: Likewise.
10495         * s-tpoben.ads: Likewise.
10496         * s-tpobop.adb: Likewise.
10497         * s-tpobop.ads: Likewise.
10498         * s-tpopde-vms.adb: Likewise.
10499         * s-tpopde-vms.ads: Likewise.
10500         * s-tpopsp-lynxos.adb: Likewise.
10501         * s-tpopsp-posix-foreign.adb: Likewise.
10502         * s-tpopsp-posix.adb: Likewise.
10503         * s-tpopsp-solaris.adb: Likewise.
10504         * s-tpopsp-vxworks.adb: Likewise.
10505         * s-tporft.adb: Likewise.
10506         * s-tposen.adb: Likewise.
10507         * s-tposen.ads: Likewise.
10508         * s-traceb.adb: Likewise.
10509         * s-traceb.ads: Likewise.
10510         * s-traces-default.adb: Likewise.
10511         * s-traces.adb: Likewise.
10512         * s-traces.ads: Likewise.
10513         * s-traent-vms.adb: Likewise.
10514         * s-traent-vms.ads: Likewise.
10515         * s-traent.adb: Likewise.
10516         * s-traent.ads: Likewise.
10517         * s-trafor-default.adb: Likewise.
10518         * s-trafor-default.ads: Likewise.
10519         * s-tratas-default.adb: Likewise.
10520         * s-tratas.adb: Likewise.
10521         * s-tratas.ads: Likewise.
10522         * s-unstyp.ads: Likewise.
10523         * s-utf_32.adb: Likewise.
10524         * s-utf_32.ads: Likewise.
10525         * s-vaflop-vms-alpha.adb: Likewise.
10526         * s-vaflop.adb: Likewise.
10527         * s-vaflop.ads: Likewise.
10528         * s-valboo.adb: Likewise.
10529         * s-valboo.ads: Likewise.
10530         * s-valcha.adb: Likewise.
10531         * s-valcha.ads: Likewise.
10532         * s-valdec.adb: Likewise.
10533         * s-valdec.ads: Likewise.
10534         * s-valenu.adb: Likewise.
10535         * s-valenu.ads: Likewise.
10536         * s-valint.adb: Likewise.
10537         * s-valint.ads: Likewise.
10538         * s-vallld.adb: Likewise.
10539         * s-vallld.ads: Likewise.
10540         * s-vallli.adb: Likewise.
10541         * s-vallli.ads: Likewise.
10542         * s-valllu.adb: Likewise.
10543         * s-valllu.ads: Likewise.
10544         * s-valrea.adb: Likewise.
10545         * s-valrea.ads: Likewise.
10546         * s-valuns.adb: Likewise.
10547         * s-valuns.ads: Likewise.
10548         * s-valuti.adb: Likewise.
10549         * s-valuti.ads: Likewise.
10550         * s-valwch.adb: Likewise.
10551         * s-valwch.ads: Likewise.
10552         * s-veboop.adb: Likewise.
10553         * s-veboop.ads: Likewise.
10554         * s-vector.ads: Likewise.
10555         * s-vercon.adb: Likewise.
10556         * s-vercon.ads: Likewise.
10557         * s-vmexta.adb: Likewise.
10558         * s-vmexta.ads: Likewise.
10559         * s-vxwext-kernel.ads: Likewise.
10560         * s-vxwext-rtp.adb: Likewise.
10561         * s-vxwext-rtp.ads: Likewise.
10562         * s-vxwext.ads: Likewise.
10563         * s-vxwork-arm.ads: Likewise.
10564         * s-vxwork-m68k.ads: Likewise.
10565         * s-vxwork-mips.ads: Likewise.
10566         * s-vxwork-ppc.ads: Likewise.
10567         * s-vxwork-sparcv9.ads: Likewise.
10568         * s-vxwork-x86.ads: Likewise.
10569         * s-wchcnv.adb: Likewise.
10570         * s-wchcnv.ads: Likewise.
10571         * s-wchcon.adb: Likewise.
10572         * s-wchcon.ads: Likewise.
10573         * s-wchjis.adb: Likewise.
10574         * s-wchjis.ads: Likewise.
10575         * s-wchstw.adb: Likewise.
10576         * s-wchstw.ads: Likewise.
10577         * s-wchwts.adb: Likewise.
10578         * s-wchwts.ads: Likewise.
10579         * s-widboo.adb: Likewise.
10580         * s-widboo.ads: Likewise.
10581         * s-widcha.adb: Likewise.
10582         * s-widcha.ads: Likewise.
10583         * s-widenu.adb: Likewise.
10584         * s-widenu.ads: Likewise.
10585         * s-widlli.adb: Likewise.
10586         * s-widlli.ads: Likewise.
10587         * s-widllu.adb: Likewise.
10588         * s-widllu.ads: Likewise.
10589         * s-widwch.adb: Likewise.
10590         * s-widwch.ads: Likewise.
10591         * s-win32.ads: Likewise.
10592         * s-winext.ads: Likewise.
10593         * s-wwdcha.adb: Likewise.
10594         * s-wwdcha.ads: Likewise.
10595         * s-wwdenu.adb: Likewise.
10596         * s-wwdenu.ads: Likewise.
10597         * s-wwdwch.adb: Likewise.
10598         * s-wwdwch.ads: Likewise.
10599         * scans.adb: Likewise.
10600         * scans.ads: Likewise.
10601         * seh_init.c: Likewise.
10602         * sfn_scan.adb: Likewise.
10603         * sinfo.adb: Likewise.
10604         * sinfo.ads: Likewise.
10605         * sinput.adb: Likewise.
10606         * sinput.ads: Likewise.
10607         * snames.adb: Likewise.
10608         * snames.ads: Likewise.
10609         * socket.c: Likewise.
10610         * stand.adb: Likewise.
10611         * stand.ads: Likewise.
10612         * stringt.adb: Likewise.
10613         * stringt.ads: Likewise.
10614         * sysdep.c: Likewise.
10615         * system-aix.ads: Likewise.
10616         * system-darwin-ppc.ads: Likewise.
10617         * system-darwin-x86.ads: Likewise.
10618         * system-darwin-x86_64.ads: Likewise.
10619         * system-freebsd-x86.ads: Likewise.
10620         * system-hpux-ia64.ads: Likewise.
10621         * system-hpux.ads: Likewise.
10622         * system-irix-n32.ads: Likewise.
10623         * system-irix-n64.ads: Likewise.
10624         * system-irix-o32.ads: Likewise.
10625         * system-linux-alpha.ads: Likewise.
10626         * system-linux-hppa.ads: Likewise.
10627         * system-linux-ia64.ads: Likewise.
10628         * system-linux-mips.ads: Likewise.
10629         * system-linux-mipsel.ads: Likewise.
10630         * system-linux-ppc.ads: Likewise.
10631         * system-linux-ppc64.ads: Likewise.
10632         * system-linux-s390.ads: Likewise.
10633         * system-linux-s390x.ads: Likewise.
10634         * system-linux-sh4.ads: Likewise.
10635         * system-linux-sparc.ads: Likewise.
10636         * system-linux-sparcv9.ads: Likewise.
10637         * system-linux-x86.ads: Likewise.
10638         * system-linux-x86_64.ads: Likewise.
10639         * system-lynxos-ppc.ads: Likewise.
10640         * system-lynxos-x86.ads: Likewise.
10641         * system-mingw-x86_64.ads: Likewise.
10642         * system-mingw.ads: Likewise.
10643         * system-rtems.ads: Likewise.
10644         * system-solaris-sparc.ads: Likewise.
10645         * system-solaris-sparcv9.ads: Likewise.
10646         * system-solaris-x86.ads: Likewise.
10647         * system-solaris-x86_64.ads: Likewise.
10648         * system-tru64.ads: Likewise.
10649         * system-vms-ia64.ads: Likewise.
10650         * system-vms-zcx.ads: Likewise.
10651         * system-vms.ads: Likewise.
10652         * system-vms_64.ads: Likewise.
10653         * system-vxworks-arm.ads: Likewise.
10654         * system-vxworks-m68k.ads: Likewise.
10655         * system-vxworks-mips.ads: Likewise.
10656         * system-vxworks-ppc.ads: Likewise.
10657         * system-vxworks-sparcv9.ads: Likewise.
10658         * system-vxworks-x86.ads: Likewise.
10659         * system.ads: Likewise.
10660         * table.adb: Likewise.
10661         * table.ads: Likewise.
10662         * targext.c: Likewise.
10663         * targparm.ads: Likewise.
10664         * tree_in.adb: Likewise.
10665         * tree_in.ads: Likewise.
10666         * tree_io.adb: Likewise.
10667         * tree_io.ads: Likewise.
10668         * types.adb: Likewise.
10669         * types.ads: Likewise.
10670         * uintp.adb: Likewise.
10671         * uintp.ads: Likewise.
10672         * uname.adb: Likewise.
10673         * uname.ads: Likewise.
10674         * urealp.adb: Likewise.
10675         * urealp.ads: Likewise.
10676         * vx_stack_info.c: Likewise.
10677         * widechar.adb: Likewise.
10678         * widechar.ads: Likewise.
10679         * exp_attr.adb: Change copyright header to refer to version
10680         3 of the GNU General Public License and to point readers at the
10681         COPYING3 file and the FSF's license web page.
10682         * sem.adb: Likewise.
10683         * sem_attr.ads: Likewise.
10684         * freeze.adb: Likewise.
10685         * freeze.ads: Likewise.
10686         * errout.ads: Likewise.
10687         * erroutc.adb: Likewise.
10688         * exp_ch11.ads: Likewise.
10689
10690 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
10691
10692         * config-lang.in: Change copyright header to refer to version
10693         3 of the GNU General Public License and to point readers at the
10694         COPYING3 file and the FSF's license web page.
10695         * gcc-interface/trans.c: Likewise.
10696         * gnathtml.pl: Likewise.
10697         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
10698         * gcc-interface/gigi.h: Likewise.
10699         * gcc-interface/misc.c: Likewise.
10700         * gcc-interface/targtyps.c: Likewise.
10701
10702 2009-04-09  Nicolas Setton  <setton@adacore.com>
10703
10704         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
10705
10706         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
10707         struct_timeval.
10708
10709 2009-04-09  Bob Duff  <duff@adacore.com>
10710
10711         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
10712         internally-generated nodes related to select statements to avoid
10713         confusing the debugger.
10714
10715 2009-04-09  Pascal Obry  <obry@adacore.com>
10716
10717         * make.adb: Ensure that all linker arguments are duplicated.
10718
10719 2009-04-09  Robert Dewar  <dewar@adacore.com>
10720
10721         * sem_ch5.adb: Minor reformatting
10722
10723 2009-04-09  Vincent Celier  <celier@adacore.com>
10724
10725         * vms_data.ads:
10726         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
10727         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
10728         New qualifier /LXDEBUG=nnn for -gnatDnnn
10729         For H820-010
10730
10731         * gnat_ugn.texi:
10732         Update documentation for VMS qualifiers equivalent to -gnatGnn and
10733         -gnatDnn
10734
10735 2009-04-09  Nicolas Setton  <setton@adacore.com>
10736
10737         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
10738         to match layout of siginfo_t in sys/signal.h.
10739
10740         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
10741
10742 2009-04-09  Thomas Quinot  <quinot@adacore.com>
10743
10744         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
10745
10746 2009-04-09  Nicolas Setton  <setton@adacore.com>
10747
10748         * s-oscons-tmplt.c: Allow long lines in the generated spec.
10749         Add generation of Darwin-specific constants needed when binding to the
10750         pthread library.
10751
10752 2009-04-09  Robert Dewar  <dewar@adacore.com>
10753
10754         * checks.adb:
10755         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
10756         when no invalid values exist, Avoid duplicate read of atomic variable.
10757
10758         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
10759         (Standard_Unsigned): Set Is_Known_Valid
10760
10761         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
10762         subtype declaration if no constraint.
10763         (Set_Modular_Size): Set Is_Known_Valid if appropriate
10764         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
10765
10766 2009-04-09  Robert Dewar  <dewar@adacore.com>
10767
10768         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
10769         switch.ads: for numeric switches, an optional equal sign is always
10770         allowed.
10771
10772 2009-04-09  Vincent Celier  <celier@adacore.com>
10773
10774         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
10775         the case of file names is not significant.
10776
10777 2009-04-09  Vincent Celier  <celier@adacore.com>
10778
10779         * errout.adb: Remove dependency on package Style
10780
10781         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
10782         moved to Stylesw.
10783         
10784         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
10785         Styleg.
10786
10787         * errutil.adb, par.adb: Import Stylesw
10788
10789 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
10790
10791         * opt.ads: Fix typos.
10792
10793 2009-04-09  Robert Dewar  <dewar@adacore.com>
10794
10795         * einfo.adb: Minor reformatting
10796
10797 2009-04-09  Robert Dewar  <dewar@adacore.com>
10798
10799         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
10800         units.
10801
10802         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
10803
10804 2009-04-09  Robert Dewar  <dewar@adacore.com>
10805
10806         * g-comver.adb: Minor reformatting.
10807
10808 2009-04-09  Thomas Quinot  <quinot@adacore.com>
10809
10810         * lib-load.ads (Load_Unit): Update documentation.
10811
10812 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
10813
10814         * lib-load.adb (Load_Unit): When loading the parent of a child unit
10815         named in a with_clause, retain the with_clause to preserve a
10816         limited_with indication.
10817
10818 2009-04-09  Robert Dewar  <dewar@adacore.com>
10819
10820         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
10821         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
10822         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
10823         possible to replace an OR of two separate tests.
10824
10825 2009-04-09  Robert Dewar  <dewar@adacore.com>
10826
10827         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
10828         Maximum_Messages.
10829         
10830         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
10831         warning status as well.
10832         
10833         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
10834         
10835         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
10836         Maximum_Messages.
10837         
10838         * bindusg.adb, usage.adb: Update line for -gnatm switch
10839
10840         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
10841         -mnn binder switch.
10842
10843 2009-04-09  Robert Dewar  <dewar@adacore.com>
10844
10845         * sem_ch10.adb: Minor reformatting.
10846
10847 2009-04-09  Bob Duff  <duff@adacore.com>
10848
10849         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
10850         Set Sloc of generated nodes for calls to Undefer_Aborts and
10851         Save_Occurrence to No_Location, so the debugger ignores them and
10852         therefore does not jump back and forth when single stepping.
10853
10854 2009-04-09  Robert Dewar  <dewar@adacore.com>
10855
10856         * switch-b.adb: Minor reformatting.
10857
10858 2009-04-09  Robert Dewar  <dewar@adacore.com>
10859
10860         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
10861         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
10862         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
10863         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
10864         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
10865         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
10866         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
10867         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
10868         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
10869         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
10870         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
10871
10872 2009-04-09  Robert Dewar  <dewar@adacore.com>
10873
10874         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
10875
10876         * atree.h: Add Elist26
10877
10878         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
10879         backends.
10880
10881 2009-04-09  Javier Miranda  <miranda@adacore.com>
10882
10883         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
10884         retrieve from the Dispatch_Table_Wrappers list the external name.
10885         Addition of documentation.
10886         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
10887         used to export secondary dispatch tables (in the previous version of
10888         the frontend only primary dispatch tables were exported). Addition of
10889         documentation.
10890         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
10891         dispatch table of a given tagged type. 
10892         (Make_Tags): Modified to import secondary dispatch tables.
10893
10894         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
10895         (Constant_Redeclaration): Code cleanup.
10896
10897         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
10898         Dispatch_Table_Wrappers.  Update documentation.
10899
10900         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
10901         Renamed to Dispatch_Table_Wrappers.
10902
10903         * sem_util.adb (Collect_Interface_Components): Improve handling of
10904         private types.
10905
10906         * atree.ads (Elist26, Set_Elist26): New subprograms
10907
10908         * atree.adb (Elist26, Set_Elist26): New subprograms
10909
10910 2009-04-09  Javier Miranda  <miranda@adacore.com>
10911
10912         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
10913         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
10914         tagged types.
10915
10916 2009-04-09  Robert Dewar  <dewar@adacore.com>
10917
10918         * s-direio.adb: Minor reformatting
10919
10920         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
10921
10922 2009-04-09  Robert Dewar  <dewar@adacore.com>
10923
10924         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
10925
10926 2009-04-09  Pascal Obry  <obry@adacore.com>
10927
10928         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
10929         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
10930         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
10931         a-filico.ads: Add some missing overriding keywords.
10932
10933 2009-04-09  Pascal Obry  <obry@adacore.com>
10934
10935         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
10936         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
10937         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
10938         reformatting.
10939
10940 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
10941
10942         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
10943         missing overriding indicator if the new declaration is not seen as
10944         primitive.
10945
10946 2009-04-09  Thomas Quinot  <quinot@adacore.com>
10947
10948         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
10949         overflows in computation of bounds.
10950
10951 2009-04-09  Pascal Obry  <obry@adacore.com>
10952
10953         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
10954         typos in comment.
10955
10956 2009-04-09  Robert Dewar  <dewar@adacore.com>
10957
10958         * sem_attr.adb (Check_Stream_Attribute): Check violation of
10959         restriction No_Streams
10960
10961         * gnat_rm.texi: Clarify No_Streams restriction
10962
10963         * g-socket.adb: Minor reformatting.
10964
10965 2009-04-09  Thomas Quinot  <quinot@adacore.com>
10966
10967         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
10968
10969 2009-04-09  Geert Bosch  <bosch@adacore.com>
10970
10971         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
10972         (Set_Result): Likewise.
10973         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
10974         conversion, as required by RM 4.6(31).
10975
10976 2009-04-08  Robert Dewar  <dewar@adacore.com>
10977
10978         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
10979         suppressed.
10980         
10981         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
10982         resolution steps.
10983
10984 2009-04-08  Robert Dewar  <dewar@adacore.com>
10985
10986         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
10987         No_Local_Allocators restriction preventing local instantiation.
10988
10989 2009-04-08  Thomas Quinot  <quinot@adacore.com>
10990
10991         * sem_eval.adb: Minor comment fix
10992
10993 2009-04-08  Thomas Quinot  <quinot@adacore.com>
10994
10995         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
10996         New limited controlled type used to automate the initialization and
10997         finalization of the sockets implementation.
10998         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
10999
11000 2009-04-08  Vincent Celier  <celier@adacore.com>
11001
11002         * prj-attr.adb: New read-only project-level attribute Project_Dir
11003
11004         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
11005         read-only attribute of the same name.
11006         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
11007         (Recursive_Process): Ditto
11008
11009         * snames.adb: Add new standard name Project_Dir
11010
11011         * snames.ads: Add new standard name Project_Dir
11012
11013 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11014
11015         * checks.adb: Minor reformatting
11016
11017 2009-04-08  Vincent Celier  <celier@adacore.com>
11018
11019         * vms_data.ads: Add documentation for new style keyword
11020         OVERRIDING_INDICATORS
11021
11022 2009-04-08  Robert Dewar  <dewar@adacore.com>
11023
11024         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
11025         spec is in the current unit.
11026
11027 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11028
11029         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
11030         presence of entity.
11031
11032         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
11033
11034 2009-04-08  Vincent Celier  <celier@adacore.com>
11035
11036         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
11037
11038 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11039
11040         * checks.ads: Minor reformatting
11041
11042 2009-04-08  Robert Dewar  <dewar@adacore.com>
11043
11044         * gnat_rm.texi: Update documentation of pragma Obsolescent
11045         
11046         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
11047         be omitted, and allow Entity parameter to be omitted.
11048
11049 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11050
11051         * exp_util.adb: Minor comment fix
11052
11053 2009-04-08  Robert Dewar  <dewar@adacore.com>
11054
11055         * g-socket.ads: Fix bad syntax in pragma Obsolescent
11056
11057         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
11058         argument with no identifier following one that has an identifier. Was
11059         missed in some cases.
11060
11061         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
11062         identifier.
11063         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
11064
11065         * snames.adb: Add Name_Policy
11066
11067         * snames.ads: Add Name_Policy
11068
11069 2009-04-08  Robert Dewar  <dewar@adacore.com>
11070
11071         * gnat_rm.texi: Minor reformatting
11072
11073         * par-ch2.adb: Minor reformatting
11074
11075 2009-04-08  Robert Dewar  <dewar@adacore.com>
11076
11077         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
11078
11079 2009-04-08  Robert Dewar  <dewar@adacore.com>
11080
11081         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
11082         properly in the presence of Remote_Types or Remote_Call_Interface.
11083
11084         * sem_util.adb: Add comment.
11085
11086 2009-04-08  Robert Dewar  <dewar@adacore.com>
11087
11088         * ug_words: Add /ASSUME_VALID for -gnatB
11089
11090         * vms_data.ads: Add /ASSUME_VALID for -gnatB
11091
11092         * sem_cat.adb: Add clarifying commment
11093
11094         * a-direio.ads (Bytes): Make sure value is non-zero
11095
11096 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11097
11098         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
11099         that does not come from source, check for a rewritten function call in
11100         prefixed notation before other forms of rewriting.
11101
11102 2009-04-08  Robert Dewar  <dewar@adacore.com>
11103
11104         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
11105         these are now obsolescent units used only for bootrapping with an
11106         older compiler.
11107
11108 2009-04-08  Robert Dewar  <dewar@adacore.com>
11109
11110         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
11111
11112         * sem_ch3.adb: Minor comment updates
11113
11114 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11115
11116         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
11117         that come from source.
11118
11119 2009-04-08  Tristan Gingold  <gingold@adacore.com>
11120
11121         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
11122         * gcc-interface/decl.c (prepend_attributes): New case
11123         Pragma_Thread_Local_Storage.
11124         * gcc-interface/utils.c (process_attributes): New case
11125         ATTR_THREAD_LOCAL_STORAGE.
11126
11127 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11128
11129         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
11130         by the back-end if it contains a call to a subprogram without a
11131         previous spec that is declared in the same unit.
11132
11133         * errout.ads: Update comments on uses of dirs
11134
11135 2009-04-08  Robert Dewar  <dewar@adacore.com>
11136
11137         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
11138
11139 2009-04-08  Tristan Gingold  <gingold@adacore.com>
11140
11141         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
11142         variables.
11143         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
11144
11145 2009-04-08  Vincent Celier  <celier@adacore.com>
11146
11147         * prj-nmsc.adb:
11148         (Add_Source): Add the mapping of the unit name to source file name in
11149         the Unit_Sources_HT hash table, if the unit name is not null.
11150
11151         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
11152
11153         * prj.ads (Unit_Sources_Htable): New hash table instantiation
11154         (Project_Tree_Data): New component Unit_Sources_HT
11155
11156 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11157
11158         * sem_ch8.adb: Minor reformatting.
11159         Minor code reorganization.
11160
11161 2009-04-08  Robert Dewar  <dewar@adacore.com>
11162
11163         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
11164         snames.ads, freeze.adb, par-prag.adb: Add implementation of
11165         pragma Thread_Local_Storage, setting new flag
11166         Has_Pragma_Thread_Local_Storage in corresponding entities.
11167
11168 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11169
11170         * prj.ads: Update comment on switches file
11171
11172         * prj-nmsc.adb: Code clean up. Use renaming clauses.
11173
11174 2009-04-08  Robert Dewar  <dewar@adacore.com>
11175
11176         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
11177
11178 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11179
11180         * ali-util.adb: Minor comment fix
11181
11182 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11183
11184         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
11185         appears in a context clause, and the enclosing package is mentioned in
11186         a limited_with_clause.
11187         (Use_One_Type): Reject clause if type is still incomplete.
11188
11189 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11190
11191         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
11192         avoid copies of Source_Data variables when possible, since these
11193         involve calls to memcpy() which are done too many times.
11194
11195 2009-04-08  Robert Dewar  <dewar@adacore.com>
11196
11197         * exp_ch4.adb (Expand_Concatenate): Clean up code
11198
11199 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11200
11201         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
11202         type for the case of concatenating a constrained array indexed by an
11203         enumeration type.
11204
11205 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11206
11207         * sem_ch6.adb (Check_Conformance): when checking conformance of an
11208         operation that overrides an abstract operation inherited from an
11209         interface, return False if only one of the controlling formals is an
11210         access parameter.
11211
11212 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11213
11214         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
11215         mandated by AI05-105.
11216
11217 2009-04-07  Vincent Celier  <celier@adacore.com>
11218
11219         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
11220
11221 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11222
11223         * usage.adb: Minor fix in usage message.
11224
11225         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
11226         match declaration; the correct subtype is Node_Id, not Entity_Id,
11227         because the expected node kind is an identifier, not a defining
11228         identifier.
11229
11230         * switch-c.adb: Minor reformatting.
11231
11232         * uintp.adb: Minor reformatting.
11233
11234 2009-04-07  Robert Dewar  <dewar@adacore.com>
11235
11236         * exp_ch13.adb: Minor reformatting
11237
11238 2009-04-07  Robert Dewar  <dewar@adacore.com>
11239
11240         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
11241         against missing parent.
11242
11243 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11244
11245         * xoscons.adb: Minor reformatting
11246
11247 2009-04-07  Robert Dewar  <dewar@adacore.com>
11248
11249         * rtsfind.ads: Remove obsolete string concatenation entries
11250
11251 2009-04-07  Robert Dewar  <dewar@adacore.com>
11252
11253         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
11254
11255 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11256
11257         * sem_ch10.adb (Check_Body_Required): Handle properly imported
11258         subprograms.
11259
11260 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
11261
11262         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
11263         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
11264         is of a scalar or string type then suppress the setting of the
11265         expression to Empty.
11266
11267         * freeze.adb (Warn_Overlay): Also emit the warnings about default
11268         initialization for the cases of scalar and string objects when
11269         Init_Or_Norm_Scalars is True.
11270
11271 2009-04-07  Bob Duff  <duff@adacore.com>
11272
11273         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
11274
11275 2009-04-07  Bob Duff  <duff@adacore.com>
11276
11277         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
11278         Form parameter of Text_Translation=No allows binary mode for Text_IO
11279         files.
11280
11281         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
11282
11283 2009-04-07  Javier Miranda  <miranda@adacore.com>
11284
11285         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
11286         processing the bounds for bit packed arrays or VM target machines.
11287
11288 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11289
11290         * g-sothco.ads (Int_Access): Remove extraneous access type (use
11291         anonymous access instead).
11292         (Get_Socket_From_Set): Fix incorrectly reverted formals
11293         Last and Socket to match the underlying C routine.
11294
11295         * g-socket.adb, g-socket.ads
11296         (Get): Use named parameter associations instead of positional ones in
11297         call go Get_Socket_From_Set, since this routine has two formals of the
11298         same type.
11299         (Image): New procedure.
11300
11301         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11302         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
11303         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
11304         for type of Arg formal.
11305
11306         * sem_warn.adb: Minor reformatting
11307
11308 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11309
11310         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
11311         over record components.
11312
11313 2009-04-07  Nicolas Roche  <roche@adacore.com>
11314
11315         * gsocket.h:
11316         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
11317         has disappeared between VxWorks 6.4 and VxWorks 6.5
11318         In RTP mode use time.h instead of times.h
11319
11320 2009-04-07  Robert Dewar  <dewar@adacore.com>
11321
11322         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
11323
11324 2009-04-07  Kevin Pouget  <pouget@adacore.com>
11325
11326         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
11327         expanded code for constrained types.
11328
11329 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11330
11331         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
11332         AI05-105: in an object renaming declaration, anonymousness is a name
11333         resolution rule.
11334
11335         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
11336
11337 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11338
11339         * g-comlin.adb (Expansion): Fix old regression: also return directory
11340         names when matching.
11341
11342 2009-04-07  Robert Dewar  <dewar@adacore.com>
11343
11344         * exp_ch4.adb:
11345         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
11346         (Expand_Concatenate): New name for Expand_Concatenate_String which has
11347         been rewritten to handle all types.
11348         (Expand_Concatenate_Other): Remove
11349
11350 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11351
11352         * lib-xref.adb (Generate_Reference): A default subprogram in an
11353         instance appears within the tree for the instance, but generates an
11354         implicit reference in the ALI.
11355
11356 2009-04-07  Javier Miranda  <miranda@adacore.com>
11357
11358         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
11359         derived type that has discriminants, propagate the list of interfaces
11360         to the corresponding new base type. In addition, propagate also
11361         attribute Limited_Present (found working in this patch).
11362
11363 2009-04-07  Robert Dewar  <dewar@adacore.com>
11364
11365         * exp_ch4.adb: Rewrite concatenation expansion.
11366
11367 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11368
11369         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
11370         relevant to packages.
11371
11372 2009-04-07  Robert Dewar  <dewar@adacore.com>
11373
11374         * sem_attr.adb: Minor reformatting
11375
11376         * sem_ch6.adb: Minor reformatting
11377
11378 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11379
11380         * socket.c: Add more protections against S_resolvLib_ macros.
11381
11382 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11383
11384         * sem_attr.adb: Minor reformatting
11385
11386 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11387
11388         * sem_ch6.adb (New_Overloaded_Entity): New predicate
11389         Is_Overriding_Alias to handle properly types that inherit two homonym
11390         operations that have distinct dispatch table entries.
11391
11392 2009-04-07  Emmanuel Briot  <briot@adacore.com>
11393
11394         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
11395         looking for the end of a parenthesis group
11396
11397 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11398
11399         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
11400
11401         * socket.c Don't use resolvLib_ macros if not defined.
11402
11403 2009-04-07  Robert Dewar  <dewar@adacore.com>
11404
11405         * g-socket.adb: Minor reformatting.
11406
11407         * g-socthi-mingw.adb: Minor reformatting
11408
11409         * g-sothco.ads: Minor reformatting
11410
11411         * exp_ch4.adb:
11412         (Expand_Concatenate_String): Complete rewrite to generate efficient code
11413         inline instead of relying on external library routines.
11414
11415         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
11416         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
11417         obsolescent
11418
11419 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11420
11421         * sem_attr.adb:
11422         (Eval_Attribute): for attributes of array objects that are not strings,
11423         attributes are not static if nominal subtype of object is unconstrained.
11424
11425 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11426
11427         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
11428         operations for a type T in an instance do not override each other,
11429         when T is derived from a formal private type, the corresponding
11430         operations inherited by a type derived from T outside
11431         of the instance do not override each other either.
11432
11433 2009-04-07  Robert Dewar  <dewar@adacore.com>
11434
11435         (Osint.Fail): Change calling sequence to have one string arg
11436         (Make.Make_Failed): Same change
11437         All callers are adjusted to use concatenation
11438
11439 2009-04-07  Robert Dewar  <dewar@adacore.com>
11440
11441         * exp_ch4.adb: Fix documentation typo
11442
11443 2009-04-07  Robert Dewar  <dewar@adacore.com>
11444
11445         * tbuild.ads: Minor reformatting
11446
11447 2009-04-07  Javier Miranda  <miranda@adacore.com>
11448
11449         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
11450         when compiling under ZFP runtime.
11451
11452 2009-04-07  Robert Dewar  <dewar@adacore.com>
11453
11454         * g-comlin.adb: Minor reformatting
11455
11456 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11457
11458         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11459         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
11460         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
11461         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
11462
11463 2009-04-07  Robert Dewar  <dewar@adacore.com>
11464
11465         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
11466
11467         * opt.ads (Sprint_Line_Limit): New parameter
11468         
11469         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
11470         
11471         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
11472         
11473         * usage.adb: Output information for -gnatGnn -gnatDnn
11474
11475 2009-04-07  Robert Dewar  <dewar@adacore.com>
11476
11477         * make.adb: Minor reformatting
11478
11479 2009-04-07  Robert Dewar  <dewar@adacore.com>
11480
11481         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
11482
11483 2009-04-07  Robert Dewar  <dewar@adacore.com>
11484
11485         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
11486
11487 2009-04-07  Robert Dewar  <dewar@adacore.com>
11488
11489         * checks.adb:
11490         Remove Assume_Valid parameter from In_Subrange_Of calls
11491         
11492         * sem_eval.adb:
11493         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11494         (Is_In_Range): Remove incorrect use of Assume_Valid
11495         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
11496         
11497         * sem_eval.ads:
11498         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11499         (Is_In_Range): Documentation cleanup
11500         (Is_Out_Of_Range): Documentation cleanup
11501
11502         * gnat_rm.texi:
11503         Add documentation for Assume_No_Invalid_Values pragma
11504
11505         * sem_ch12.adb: Minor reformatting
11506
11507         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
11508
11509         * sem_prag.adb: Improve error message.
11510
11511         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
11512         LF/CR no longer recognized as line terminator
11513
11514         * switch.ads: Minor documentation improvement
11515
11516         * vms_data.ads: Minor reformatting
11517
11518 2009-04-07  Robert Dewar  <dewar@adacore.com>
11519
11520         * checks.adb (Determine_Range): Add Assume_Valid parameter
11521         
11522         * checks.ads (Determine_Range): Add Assume_Valid parameter
11523         
11524         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
11525          Is_Null_Loop to suppress warnings in a loop body.
11526         
11527         * exp_ch4.adb:
11528         (Rewrite_Comparison): Major rewrite to accomodate invalid values
11529         
11530         * exp_ch5.adb:
11531         (Expand_N_Loop_Statement): Delete loop known not to execute
11532         
11533         * opt.ads:
11534         (Assume_No_Invalid_Values): Now set to False, and as documented, this
11535          fully enables the proper handling of invalid values.
11536         
11537         * sem_attr.adb:
11538         New calling sequence for Is_In_Range
11539         
11540         * sem_ch5.adb:
11541         (Analyze_Iteration_Scheme): Accomodate possible invalid values
11542          in determining if a loop range is null.
11543         
11544         * sem_eval.adb:
11545         (Is_In_Range): Add Assume_Valid parameter
11546         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11547         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
11548          also to do more accurate and complete range analysis, catching more
11549          cases.
11550         
11551         * sem_eval.ads:
11552         (Is_In_Range): Add Assume_Valid parameter
11553         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11554         
11555         * sem_util.adb:
11556         New calling sequence for Is_In_Range
11557         
11558         * sinfo.adb:
11559         (Suppress_Loop_Warnings): New flag
11560         
11561         * sinfo.ads:
11562         (Is_Null_Loop): Update documentation
11563         (Suppress_Loop_Warnings): New flag
11564         
11565         * gnat_ugn.texi: Document -gnatB switch
11566
11567 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11568
11569         * gnatvsn.ads: Bump version number.
11570
11571 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11572
11573         * exp_ch3.adb: Minor rewording (comments)
11574
11575 2009-04-07  Robert Dewar  <dewar@adacore.com>
11576
11577         * exp_disp.adb: Minor reformatting
11578
11579 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11580
11581         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
11582         underlying type.
11583         * gcc-interface/trans.c (lvalue_required_p): Likewise.
11584
11585 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11586
11587         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
11588         Do not convert the result.  Remove obsolete comment.
11589
11590 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11591
11592         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
11593         DECL_CONTEXT.
11594         (Subprogram_Body_to_gnu): Fix pasto.
11595
11596 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11597
11598         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
11599         (void_type_decl_node): Remove.
11600         (init_gigi_decls): Likewise.
11601         (gnat_install_builtins): Declare.
11602         (record_builtin_type): Likewise.
11603         (create_type_stub_decl): Likewise.
11604         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
11605         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
11606         artificial.
11607         <E_Array_Subtype>: Use the index types, not only their name, in the
11608         record giving the names of the bounds, if any.
11609         For a packed array type, make it artificial only if the base type
11610         was artificial as well.  Remove redundant statement.
11611         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
11612         dummy types.
11613         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
11614         (rest_of_type_decl_compilation_no_defer): Likewise.
11615         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
11616         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
11617         and use create_type_stub_decl to build it.
11618         (gnat_pushdecl): Rewrite condition.
11619         (gnat_install_builtins): Remove bogus declaration.
11620         (record_builtin_type): New function.
11621         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
11622         of types.
11623         (create_type_stub_decl): New function.
11624         (create_type_decl): Assert that the type is not dummy.  If the type
11625         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
11626         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
11627         (build_vms_descriptor): Likewise.
11628         (init_gigi_decls): Delete and move bulk of code to...
11629         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
11630         (emit_range_check): Add gnat_node parameter.
11631         (emit_index_check): Likewise.
11632         (emit_check): Likewise.
11633         (build_unary_op_trapv): Likewise.
11634         (build_binary_op_trapv): Likewise.
11635         (convert_with_check): Likewise.
11636         (Attribute_to_gnu): Adjust calls for above changes.
11637         (call_to_gnu): Likewise.
11638         (gnat_to_gnu): Likewise.
11639         (assoc_to_constructor): Likewise.
11640         (pos_to_constructor): Likewise.
11641         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
11642         (process_type): Do not create TYPE_DECL for dummy types.
11643
11644 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11645
11646         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
11647         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
11648         * gcc-interface/utils.c: Fix comments.
11649
11650 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11651
11652         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
11653         move around.
11654         (gnat_to_gnu_type): Move around.
11655         (get_unpadded_type): Likewise.
11656         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
11657         Tidy comments.
11658
11659 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11660
11661         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
11662         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
11663         (call_to_gnu): Invoke it instead of manually checking.
11664
11665 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
11666
11667         * gcc-interface/utils.c (finish_record_type): Force structural equality
11668         checks if the record type is discriminated.
11669
11670 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
11671
11672         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
11673         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
11674         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
11675         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
11676         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
11677         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
11678         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
11679
11680 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
11681
11682         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
11683         of TREE_CONSTANT_OVERFLOW.
11684
11685 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
11686
11687         PR rtl-optimization/323
11688         * gcc-interface/misc.c (gnat_post_options): Set
11689         flag_excess_precision_cmdline.  Give an error for
11690         -fexcess-precision=standard for processors where the option is
11691         significant.
11692
11693 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
11694
11695         PR c/39323
11696         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
11697         on bit_align.
11698
11699 2009-03-11  Olivier Hainque  <hainque@adacore.com>
11700
11701         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
11702         checks processing, remove unintended TREE_TYPE walk on index type.
11703
11704 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
11705
11706         PR ada/39264
11707         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
11708         call make_packable_type on fat pointer types.
11709         <E_Array_Subtype>: Likewise.
11710         <E_Record_Subtype>: Call make_packable_type on all record types
11711         except for fat pointer types.
11712         (make_packable_type): Likewise.
11713         (gnat_to_gnu_field): Likewise.
11714
11715 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
11716
11717         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
11718         EH_MECHANISM change made on 2007-12-06.
11719
11720 2009-02-26  Andreas Schwab  <schwab@suse.de>
11721
11722         PR ada/39172
11723         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
11724         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
11725         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
11726         (AWK): Substitute.
11727         (target_cpu_default): Substitute.
11728
11729 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
11730
11731         PR ada/39221
11732         * a-teioed.adb (Expand): Fix Result overflow.
11733
11734 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
11735
11736         * gcc-interface/Makefile.in: Fix multilib handling for
11737         sparc64-linux.
11738
11739 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11740
11741         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
11742
11743 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
11744
11745         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
11746
11747 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
11748
11749         * gcc-interface/deftarg.c: Remove.
11750
11751 2009-02-10  Olivier Hainque  <hainque@adacore.com>
11752             Eric Botcazou  <ebotcazou@adacore.com>
11753
11754         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
11755         (copy_alias_set): Rename into...
11756         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
11757         underlying array of unconstrained arrays for the new type as well.
11758         If the old and new alias sets don't conflict, make one a subset of
11759         the other as per the OP parameter.
11760         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
11761         <E_Record_Type>: Do not copy the alias set for derived types.
11762         For all types, make the alias set of derived types a superset of
11763         that of their parent type.
11764         (make_aligning_type): Adjust calls to copy_alias_set.
11765         (make_packable_type): Likewise.
11766         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
11767         Check for alias set conflict instead of strict equality to issue the
11768         warning.
11769
11770 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
11771
11772         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
11773         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
11774         (copy_alias_set): Assert that arrays have the same aliasing settings.
11775         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
11776
11777 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
11778
11779         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
11780         Set TYPE_NONALIASED_COMPONENT on the array type.
11781
11782 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
11783
11784         * gcc-interface/Makefile.in: Fix mipsel linux handling.
11785
11786 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
11787
11788         * gcc-interface/Makefile.in: Fix multilib handling for
11789         powerpc64-linux.
11790
11791 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
11792
11793         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
11794         only useless conversions around renamed objects.
11795
11796 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
11797
11798         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
11799         the _Tag field before any discriminants in the field list.
11800         (components_to_record): Remove obsolete comment.
11801
11802
11803 \f
11804 Copyright (C) 2009 Free Software Foundation, Inc.
11805
11806 Copying and distribution of this file, with or without modification,
11807 are permitted in any medium without royalty provided the copyright
11808 notice and this notice are preserved.