OSDN Git Service

2009-11-30 Vincent Celier <celier@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2009-11-30  Vincent Celier  <celier@adacore.com>
2
3         * gnatlink.adb (Process_Args): Call Executable_Name on argument of -o
4         with Only_If_No_Suffix set to True.
5         * osint.adb (Executable_Name): Do not add executable suffix if there is
6         already a suffix and Only_If_No_Suffix is True.
7         * osint.ads (Executable_Name): New Boolean parameter Only_If_No_Suffix,
8         defaulted to False.
9
10 2009-11-30  Javier Miranda  <miranda@adacore.com>
11
12         * exp_atag.adb (Build_TSD): Change argument name because the actual is
13         now the address of a tag (instead of the tag). Update implementation
14         accordingly.
15         (Build_CW_Membership): New implementation. Converted into a procedure
16         because it has an additional out mode parameter. Its implementation has
17         been rewritten to improve the generated code but also to facilitate
18         referencing the relocated object node in the caller.
19         * exp_atag.ads (Build_CW_Membership): Update profile and documentation.
20         * sinfo.ads (N_SCIL_Membership_Test) New_Node.
21         (SCIL_Tag_Value): New field of N_SCIL_Membership_Test nodes.
22         (Is_Syntactic_Field): Add entry of new node.
23         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
24         * sinfo.adb (SCIL_Related_Node, SCIL_Entity): Update assertions to
25         handle N_SCIL_Membership_Test nodes.
26         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
27         * sem.adb (Analyze): Add null management for new node.
28         * sem_scil.adb (Find_SCIL_Node): Add null management for new node.
29         (Check_SCIL_Node): Add checks of N_SCIL_Membership_Test nodes.
30         * exp_ch4.adb (Tagged_Membership): Change profile from function to
31         procedure. Add generation of SCIL node associated with class-wide
32         membership test.
33         (Expand_N_In): Complete decoration of SCIL nodes.
34         * exp_intr.adb (Expand_Dispatching_Constructor_Call): Tune call to
35         Build_CW_Membership because its profile has been changed.
36         * exp_util.adb (Insert_Actions): Add null management for new node.
37         * sprint.adb (Sprint_Node_Actual): Handle new node.
38         * gcc-interface/trans.c Add no processing for N_SCIL_Membership_Test
39         nodes.
40         * gcc-interface/Make-lang.in: Update dependencies.
41
42 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
43
44         * opt.ads: New flags Init_Or_Norm_Scalars_Config,
45         Initialize_Scalars_Config, to capture the presence of the corresponding
46         pragmas in a configuration file.
47         * opt.adb (Register_, Save_, Set_, Restore_Opt_Configuration_Switches):
48         handle new flags so that they are restored for each compilation unit.
49         * frontend.adb: At the end of compilation, scan the context of the main
50         unit to recover occurrences of pragma Initialize_Scalars, to annotate
51         the ALI file accordingly.
52
53 2009-11-30  Vincent Celier  <celier@adacore.com>
54
55         * prj-tree.ads: Minor comment updates
56         * prj-tree.adb: Minor reformatting
57
58 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
59
60         * sem_ch3.adb (Derive_Subprogram): Indicate that an inherited
61         predefined control operation is hidden if the parent type is not
62         visibly controlled.
63         * sem_ch6.adb (Check_Overriding_Indicator): Do not report error if
64         overridden operation is not visible, as may be the case with predefined
65         control operations.
66         * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on
67         non-overriding control operation when type is not visibly controlled,
68         if the subprogram has an explicit overriding indicator.
69         * sem_util.ads, sem_util.adb (Is_Visibly_Controlled): Moved here from
70         sem_disp.adb.
71
72 2009-11-30  Emmanuel Briot  <briot@adacore.com>
73
74         * prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows
75         * prj-attr.ads: Minor comment updates
76
77 2009-11-30  Robert Dewar  <dewar@adacore.com>
78
79         * gnat_rm.texi: Document pragma Short_Circuit
80
81 2009-11-30  Emmanuel Briot  <briot@adacore.com>
82
83         * prj-conf.adb, prj-tree.adb, prj-tree.ads (Create_Attribute): Now set
84         the index either on the attribute or on its value, depending on the
85         kind of the attribute. Done to match recent changes in Prj.PP that were
86         not synchronized with this function.
87
88 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
89
90         * gcc-interface/Make-lang.in: Fix typo.
91         Update dependencies.
92
93 2009-11-30  Robert Dewar  <dewar@adacore.com>
94
95         * gnat_rm.texi: Add documentation for attribute Result.
96
97 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
98
99         * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
100         s-osinte-tru64.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads
101         (Get_Page_Size): Update comment since Get_Page_Size is now required.
102
103 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
104
105         * freeze.adb: Disable Warning on VM targets concerning C Imports, not
106         relevant.
107
108 2009-11-30  Bob Duff  <duff@adacore.com>
109
110         * sprint.adb (Source_Dump): Minor comment fix.
111         (Write_Itype): When writing a string literal subtype, use Expr_Value
112         instead of Intval to get the low bound.
113
114 2009-11-30  Vincent Celier  <celier@adacore.com>
115
116         * gnatlink.adb (Process_Args): Do not call Executable_Name on arguments
117         of switch -o.
118
119 2009-11-30  Robert Dewar  <dewar@adacore.com>
120
121         * exp_ch4.adb (Expand_N_Op_And): Implement pragma Short_Circuit_And_Or
122         (Expand_N_Op_Or): Implement pragma Short_Circuit_And_Or
123         * opt.ads (Short_Circuit_And_Or): New flag
124         * par-prag.adb: Add dummy entry for pragma Short_Circuit_And_Or
125         * sem_prag.adb: Implement pragma Short_Circuit_And_Or
126         * snames.ads-tmpl: Add entries for pragma Short_Circuit_And_Or
127
128 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
129
130         * s-taprop-posix.adb: Fix casing.
131         * s-osinte-tru64.adb: Complete previous check-in.
132
133 2009-11-30  Robert Dewar  <dewar@adacore.com>
134
135         * gnat_rm.texi: Document pragma Compiler_Unit
136         * s-bitops.adb, s-restri.adb, g-htable.adb, s-restri.ads,
137         a-comlin.ads, a-strhas.ads, s-strhas.adb, s-parame.adb,
138         s-parame.ads, a-clrefi.adb, a-clrefi.ads, a-ioexce.ads: Supply missing
139         Compiler_Unit pragmas.
140         * freeze.adb (Freeze_Entity): Improve message for 8-bit boolean passed
141         to C.
142
143 2009-11-30  Robert Dewar  <dewar@adacore.com>
144
145         * makeutl.adb, makeutl.ads, prj-proc.adb, prj.adb, prj.ads: Minor
146         reformatting.
147
148 2009-11-30  Thomas Quinot  <quinot@adacore.com>
149
150         * osint.adb: Minor reformatting
151
152 2009-11-30  Vincent Celier  <celier@adacore.com>
153
154         * makeutl.ads, makeutl.adb (Base_Name_Index_For): New function to get
155         the base name of a main without the extension, with an eventual source
156         index.
157         (Mains.Get_Index): New procedure to set the source index of a main
158         (Mains.Get_Index): New function to get the source index of a main
159         * prj-attr.adb: New attributes Config_Body_File_Name_Index,
160         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
161         Multi_Unit_Switches.
162         * prj-nmsc.adb (Process_Compiler): Takle into account new attributes
163         Config_Body_File_Name_Index, Config_Spec_File_Name_Index,
164         Multi_Unit_Object_Separator and Multi_Unit_Switches.
165         Allow only one character for Multi_Unit_Object_Separator.
166         * prj-proc.adb (Process_Declarative_Items): Take into account the
167         source indexes in indexes of associative array attribute declarations.
168         * prj.adb (Object_Name): New function to get the object file name for
169         units in multi-unit sources.
170         * prj.ads (Language_Config): New components Multi_Unit_Switches,
171         Multi_Unit_Object_Separator Config_Body_Index and Config_Spec_Index.
172         (Object_Name): New function to get the object file name for units in
173         multi-unit sources.
174         * snames.ads-tmpl: New standard names Config_Body_File_Name_Index,
175         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
176         Multi_Unit_Switches.
177
178 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
179
180         * s-tassta.adb: Update comment.
181
182 2009-11-30  Robert Dewar  <dewar@adacore.com>
183
184         * a-ngelfu.adb: Minor code reorganization.
185
186 2009-11-30  Robert Dewar  <dewar@adacore.com>
187
188         * osint.ads, prj.adb, prj.ads: Minor reformatting
189         * s-stchop.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
190         s-taprop-vms.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
191         s-strxdr.adb, s-taprop-irix.adb, s-osinte-hpux-dce.adb,
192         s-osinte-tru64.adb, s-taenca.adb, s-taprop-hpux-dce.adb, s-stausa.adb,
193         s-taprop-posix.adb: Minor code reorganization (use conditional
194         expressions).
195
196 2009-11-30  Bob Duff  <duff@adacore.com>
197
198         * g-sttsne-locking.adb (Copy_Service_Entry): Complete previous change.
199
200 2009-11-30  Bob Duff  <duff@adacore.com>
201
202         * socket.c: Add more accessor functions for struct servent (need
203         setters as well as getters).
204         * g-sothco.ads (Servent): Declare interfaces to C setter functions for
205         struct servent.
206         * g-sttsne-locking.adb (Copy_Service_Entry): Use setter functions for
207         struct servent.
208
209 2009-11-30  Robert Dewar  <dewar@adacore.com>
210
211         * s-stchop-vxworks.adb: Add comment.
212
213 2009-11-30  Emmanuel Briot  <briot@adacore.com>
214
215         * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Now acts
216         on the whole tree, to better share code with gprbuild.
217         (Length): New subprogram, to share code in gprbuild.
218         (Project_Data): Remove fields that are only needed when compiling a
219         project in gprbuild (where we use local variables instead)
220         * osint.adb, osint.ads: Added minor comment on memory management
221
222 2009-11-30  Sergey Rybin  <rybin@adacore.com>
223
224         * gnat_ugn.texi: Update gnatcheck doc.
225
226 2009-11-30  Robert Dewar  <dewar@adacore.com>
227
228         make.adb, prj-makr.adb, g-sothco.ads: Minor reformattting
229         * s-taprop-dummy.adb: Minor code reorganization (raise with msgs start
230         with lower case).
231         * i-vxwoio.adb, g-dirope.adb, g-sercom-linux.adb,
232         g-enblsp-vms-alpha.adb, g-regist.adb, s-imgcha.adb, s-tarest.adb,
233         s-taprop-mingw.adb, g-exctra.adb, g-expect.adb, g-comlin.adb,
234         g-debpoo.adb, g-expect-vms.adb, g-pehage.adb, g-trasym-vms-alpha.adb,
235         g-enblsp-vms-ia64.adb, s-fatgen.adb, s-fileio.adb: Minor code
236         reorganization (use conditional expressions).
237
238 2009-11-30  Vincent Celier  <celier@adacore.com>
239
240         * prj-makr.adb (Source_Files): New hash table to keep track of source
241         file names.
242         (Finalize): Avoid putting several times the same source file name
243         in the source list file.
244         * prj-pp.adb (Print): Fix a bug in the placement of "at nn" for
245         associative array indexes.
246
247 2009-11-30  Robert Dewar  <dewar@adacore.com>
248
249         * g-dyntab.ads: Add missing pragma Compiler_Unit
250
251 2009-11-30  Thomas Quinot  <quinot@adacore.com>
252
253         * s-crtrun.ads, s-crtl.ads, g-stseme.adb, Makefile.rtl, s-fileio.adb
254         (System.CRTL.Runtime): New unit, to contain parts of s-crtl that are
255         used in the Ada runtime but can't be used in the compiler because of
256         bootstrap issues.
257         * socket.c, s-oscons-tmplt.c, g-sothco.ads
258         (System.OS_Constants.SIZEOF_struct_servent): New constant.
259         Use s-oscons constant instead of external variable to get size of
260         struct hostent.
261
262 2009-11-30  Thomas Quinot  <quinot@adacore.com>
263
264         * s-crtl.ads, g-stseme.adb, s-fileio.adb (System.CRTL.strerror): Change
265         return type to Interfaces.C.Strings.chars_ptr to eliminate need for
266         dubious unchecked conversion at call sites.
267         * s-errrep.adb, s-errrep.ads, Makefile.rtl (System.Error_Reporting):
268         Remove obsolete, unused runtime unit.
269         * gcc-interface/Make-lang.in: Update dependencies.
270         * gcc-interface/Makefile.in: Remove VMS specialization of s-crtl, not
271         required anymore.
272
273 2009-11-30  Vincent Celier  <celier@adacore.com>
274
275         * gnatlink.adb: Delete an eventual existing executable file, in case it
276         is a symbolic link, to avoid modifying the target of the symbolic link.
277
278 2009-11-30  Bob Duff  <duff@adacore.com>
279
280         * socket.c: Add accessor functions for struct servent.
281         * g-sothco.ads (Servent): Declare interfaces to C accessor functions
282         for struct servent.
283         * g-socket.adb (To_Service_Entry): Use accessor functions for struct
284         servent.
285
286 2009-11-30  Robert Dewar  <dewar@adacore.com>
287
288         * g-arrspl.adb: Minor reformatting
289         * g-dyntab.adb: Add missing pragma Compiler_Unit
290
291 2009-11-30  Thomas Quinot  <quinot@adacore.com>
292
293         * s-crtl.ads, s-oscons-tmplt.c: Fix support for VMS
294         * make.adb, g-comlin.ads, exp_ch6.adb: Minor reformatting
295
296 2009-11-30  Robert Dewar  <dewar@adacore.com>
297
298         * bcheck.adb, gnatlink.adb, make.adb, makeutl.adb, osint.adb,
299         osint.ads, prj-ext.adb, sem_case.adb: Minor reformatting
300         * g-alleve.adb: Minor code reorganization (use conditional expressions)
301
302 2009-11-30  Matthew Heaney  <heaney@adacore.com>
303
304         * a-crbtgo.adb (Delete_Fixup): Changed always-true predicates to
305         assertions.
306
307 2009-11-30  Thomas Quinot  <quinot@adacore.com>
308
309         * a-tasatt.adb, s-crtl.ads, s-taprop-dummy.adb (System.CRTL.malloc32,
310         System.CRTL.realloc32): Remove VMS-specific routines.
311         (Ada.Task_Attributes.Reference): Remove unreachable code.
312         (System.Task_Primitives.Operations.Initialize, dummy version):
313         Use plain Program_Error rather than call to
314         System.Error_Reporting.Shutdown.
315
316 2009-11-30  Thomas Quinot  <quinot@adacore.com>
317
318         * s-oscons-tmplt.c, xoscons.adb: Add new constants in preparation for
319         sharing s-crtl across all platforms.
320
321 2009-11-30  Thomas Quinot  <quinot@adacore.com>
322
323         * s-commun.adb, s-commun.ads: New internal support unit,
324         allowing code sharing between GNAT.Sockets and
325         GNAT.Serial_Communication.
326         * g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
327         g-socket.adb (GNAT.Sockets.Last_Index): Move to System.Communication.
328         (GNAT.Serial_Communication.Read): Handle correctly the case where no
329         data was read, and Buffer'First = Stream_Element_Offset'First.
330         * Makefile.rtl: Add entry for s-commun
331         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
332         g-socthi-vxworks.ads, g-stseme.adb, g-socthi-mingw.ads,
333         g-socthi.adb, g-socthi.ads (GNAT.Sockets.Thin.Socket_Error_Message):
334         Reimplement in terms of System.CRTL.strerror.
335
336 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
337
338         * gcc-interface/utils.c (copy_type): Unshare the language-specific data
339         and the contents of the language-specific slot if needed.
340
341 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
342
343         * gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location
344         of the operator on both branches of the test in the generic case.
345
346 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
347
348         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...
349         (unchecked_conversion_nop): ...this.  Handle actual parameters.
350         (gnat_to_gnu): Adjust for above renaming.
351
352 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
353
354         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
355         Translate regular boolean types into BOOLEAN_TYPEs.
356
357 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
358
359         * sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype,
360         also set the flag on the Equivalent_Type.
361         * gcc-interface/utils.c (finish_record_type): Replace DO_NOT_FINALIZE
362         parameter with DEBUG_INFO_P.  Rename FIELDLIST into FIELD_LIST.
363         (rest_of_record_type_compilation): Rename FIELDLIST into FIELD_LIST.
364         (build_vms_descriptor32): Adjust call to finish_record_type.
365         (build_vms_descriptor): Likewise.
366         (build_unc_object_type): Likewise.
367         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
368         finish_record_type and components_to_record.
369         (make_packable_type): Adjust call to finish_record_type.
370         (maybe_pad_type): Likewise.  Tweak condition.
371         (components_to_record): Likewise.  Replace DO_NOT_FINALIZE parameter
372         with MAYBE_UNUSED.  Adjust recursive call.
373         (create_variant_part_from): Adjust call to finish_record_type.  Do not
374         call rest_of_record_type_compilation on the new record types.
375         * gcc-interface/trans.c (gigi): Adjust call to finish_record_type.
376         * gcc-interface/gigi.h (finish_record_type): Adjust prototype and
377         comment.
378         (rest_of_record_type_compilation): Adjust comment.
379
380 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
381
382         * exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as
383         frozen for targets that do not require front-end layout.
384         (New_Class_Wide_Subtype): Always reset the freezing status to False.
385         * exp_ch8.adb: Do not 'with' Targparm.
386         (Expand_N_Object_Renaming_Declaration): Always freeze a class-wide
387         subtype that has been built from the expression.
388         * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
389         class wide, freeze the implicit type that has been built from the
390         expression at the dereference point.
391         * freeze.adb (Freeze_Entity): Adjust comment.
392         * gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Class_Wide_Type>:
393         Remove useless test.
394         * gcc-interface/trans.c (process_freeze_entity): Do not special-case
395         class-wide subtypes.
396
397         * s-osinte-aix.adb (clock_gettime): Fix comment.
398         * s-osinte-darwin.adb (clock_gettime): Likewise.
399
400 2009-11-23  Eric Botcazou  <ebotcazou@adacore.com>
401
402         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Pass the list
403         of attributes when building the corresponding variable of a constant.
404         * gcc-interface/utils.c (create_var_decl_1): Do not process attributes
405         for constants.
406
407 2009-11-23  Laurent GUERBY  <laurent@guerby.net>
408             Eric Botcazou  <ebotcazou@adacore.com>
409
410         PR ada/42153
411         * s-osinte-linux.ads (struct_timeval): Delete.
412         * s-osinte-hpux.ads (struct_timeval, To_Duration, To_Timeval): Delete.
413         * s-osinte-kfreebsd-gnu.ads: Likewise.
414         * s-osinte-rtems.ads: Likewise.
415         * s-osinte-aix.ads: Likewise.
416         * s-osinte-hpux-dce.ads: Likewise.
417         * s-osinte-darwin.ads: Likewise.
418         * s-osinte-solaris-posix.ads: Likewise.
419         * s-osinte-irix.ads: Likewise.
420         * s-osinte-solaris.ads: Likewise.
421         * s-osinte-hpux-dce.adb (To_Duration, To_Timeval): Delete.
422         * s-osinte-irix.adb: Likewise.
423         * s-osinte-solaris.adb: Likewise.
424         * s-osinte-rtems.adb: Likewise.  Minor reformatting.
425         * s-osinte-aix.adb (To_Duration, To_Timeval): Delete.
426         (clock_gettime): Use cal.c's timeval_to_duration.
427         * s-osinte-darwin.adb: Likewise.
428
429 2009-11-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
430
431         * adaint.h: Assume large file support on IRIX only if _LFAPI.
432
433 2009-11-21  Laurent GUERBY  <laurent@guerby.net>
434             Eric Botcazou  <ebotcazou@adacore.com>
435
436         * s-osinte-linux.ads (struct_timeval, To_Duration, To_Timeval,
437         gettimeofday): Delete.
438         * s-osinte-posix.adb (To_Duration, To_Timeval): Delete.
439         * s-osprim-posix.adb (struct_timezone, struct_timeval, gettimeofday):
440         Delete.
441         (Clock): Use cal.c's timeval_to_duration.
442         * s-taprop-linux.adb (Monotonic_Clock): Likewise.
443
444 2009-11-12  Eric Botcazou  <ebotcazou@adacore.com>
445             Laurent GUERBY  <laurent@guerby.net>
446
447         * init.c (GNU/Linux Section): Enable for all architectures.
448
449 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
450
451         PR ada/20548
452         * system-linux-alpha.ads (Stack_Check_Probes): Set to true.
453         * system-linux-hppa.ads (Stack_Check_Probes): Likewise.
454         * system-linux-sparc.ads (Stack_Check_Probes): Likewise.
455         * system-linux-sparcv9.ads (Stack_Check_Probes): Likewise.
456
457 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
458
459         * system-linux-alpha.ads (AAMP, Compiler_System_Version, OpenVMS,
460         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
461         Delete.
462         (Stack_Check_Limits, Always_Compatible_Rep): New.
463         * system-linux-mips.ads (AAMP, Compiler_System_Version, OpenVMS,
464         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
465         Delete.
466         (Stack_Check_Limits, Always_Compatible_Rep): New.
467         * system-linux-mips64el.ads (AAMP, Compiler_System_Version, OpenVMS,
468         Functions_Return_By_DSP, Front_End_ZCX_Support, High_Integrity_Mode,
469         Long_Shifts_Inlined): Delete.
470         (Stack_Check_Limits, Always_Compatible_Rep): New.
471         * system-linux-mipsel.ads (AAMP, Compiler_System_Version, OpenVMS,
472         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
473         Delete.
474         (Stack_Check_Limits, Always_Compatible_Rep): New.
475         * system-linux-s390.ads (AAMP, Compiler_System_Version, OpenVMS,
476         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
477         Delete.
478         (Stack_Check_Limits, Always_Compatible_Rep): New.
479         * system-linux-s390x.ads (AAMP, Compiler_System_Version, OpenVMS,
480         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
481         Delete.
482         (Stack_Check_Limits, Always_Compatible_Rep): New.
483         * system-linux-sh4.ads (Stack_Check_Limits, Always_Compatible_Rep):
484         New.
485         * system-linux-sparc.ads (AAMP, Compiler_System_Version, OpenVMS,
486         Front_End_ZCX_Support): Delete.
487         (Stack_Check_Limits, Always_Compatible_Rep): New.
488         * system-linux-sparcv9.ads (AAMP, Compiler_System_Version, OpenVMS,
489         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
490         Delete.
491         (Stack_Check_Limits, Always_Compatible_Rep): New.
492         * system-rtems.ads (OpenVMS): Delete.
493         (Stack_Check_Limits, Always_Compatible_Rep): New.
494
495 2009-11-08  Eric Botcazou  <ebotcazou@adacore.com>
496
497         * gcc-interface/decl.c (make_packable_type): Fix oversight.
498         (gnat_to_gnu_field): Do not attempt to change the form of the type
499         if the field requires strict alignment.  Always change the form of
500         the type if the specified size is smaller than its size.
501
502 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
503
504         * gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes.
505
506 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
507
508         * gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>:
509         New case.
510
511 2009-10-30  Eric Botcazou  <ebotcazou@adacore.com>
512
513         * gcc-interface/utils.c (MAX_FIXED_MODE_SIZE): Delete.
514         (create_field_decl): Update description.  In a packed record, round
515         the size up to a byte boundary only if the field's type has BLKmode.
516         * gcc-interface/gigi.h (create_field_decl): Update description.
517
518 2009-10-30  Emmanuel Briot  <briot@adacore.com>
519
520         * make.adb (Start_Compile_If_Possible): Compute location of resulting
521         ALI file in this procedure instead of after the compilation itself,
522         since the current directory might have changed in between when using
523         -j<n>.
524
525         * osint.ads: Addded missing alignment clause.
526
527         * adaint.c, adaint.h, osint.adb (__gnat_reset_attributes,
528         __gnat_size_of_file_attributes): Rename reset_attributes and
529         size_of_file_attributes.
530
531 2009-10-30  Javier Miranda  <miranda@adacore.com>
532
533         * sem_scil.adb (Adjust_SCIL_Node): Add missing management of sequences
534         of statements when searching for SCIL nodes.
535
536 2009-10-30  Tristan Gingold  <gingold@adacore.com>
537
538         * gnatlink.adb, link.c: By default use shared libgcc on darwin.
539
540 2009-10-30  Emmanuel Briot  <briot@adacore.com>
541
542         * make.adb, osint.adb (Add_Lib_Search_Dir): Do not add if dir is
543         already in the list.
544         This saves system calls when looking for ALI files
545         (Scan_Make_Args): The parameter to gnatmake's -D is now converted to an
546         absolute PATH (so that the above improvement properly occurs if both
547         -D<dir> and -aO<dir> are specified).
548
549 2009-10-30  Thomas Quinot  <quinot@adacore.com>
550
551         * a-direct.adb: Minor reformatting
552
553 2009-10-30  Emmanuel Briot  <briot@adacore.com>
554
555         * make.adb, adaint.c, adaint.h, osint.adb, osint.ads, bcheck.adb
556         (*_attr): new subprograms.
557         (File_Length, File_Time_Stamp, Is_Writable_File): new subprograms
558         (Read_Library_Info_From_Full, Full_Library_Info_Name,
559         Full_Source_Name): Now benefit from a previous cache of the file
560         attributes, to further save on system calls.
561         (Smart_Find_File): now also cache the file attributes. This makes the
562         package File_Stamp_Hash_Table useless, and it was removed.
563         (Compile_Sources): create subprograms for the various steps of the main
564         loop, for readibility and to avoid sharing variables between the
565         various steps.
566
567 2009-10-30  Emmanuel Briot  <briot@adacore.com>
568
569         * make.adb, osint.adb, osint.ads (Library_File_Stamp): Removed, since
570         unused.
571         (Read_Library_Info_From_Full): New subprogram.
572
573 2009-10-30  Robert Dewar  <dewar@adacore.com>
574
575         * a-tideio.adb: Minor reformatting
576         * a-wtdeio.adb, a-ztdeio.adb: Update comments, code clean up.
577
578         * a-reatim.adb, a-tideau.adb, a-ngelfu.adb, a-ztdeau.adb, a-ngrear.adb,
579         a-wtedit.adb, a-ststio.adb, a-ztedit.adb: Minor code reorganization
580         (use conditional expressions).
581
582 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
583
584         * gnat_ugn.texi: Additional info on gnatw.i and gnatw.I
585
586         * sem_case.adb: Improved error message.
587
588 2009-10-30  Emmanuel Briot  <briot@adacore.com>
589
590         * a-direct.adb, gnatcmd.adb, gnatname.adb, makeutl.adb, opt.ads,
591         osint.adb, prj-ext.adb, switch-m.adb (Follow_Links_For_Dirs): Now
592         defaults to False, and controlled by -eL.
593         * a-direct.adb: Add comments.
594         * osint.adb (File_Stamp): Avoid unneeded duplicate system call
595
596 2009-10-30  Robert Dewar  <dewar@adacore.com>
597
598         * sem_res.adb (Resolve_Type_Conversion): Avoid false positive when
599         converting non-static subtype to "identical" static subtype.
600
601 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
602
603         * usage.adb: Add -gnatw.i switch.
604
605 2009-10-30  Vincent Celier  <celier@adacore.com>
606
607         * xsnamest.adb: Update comments with regards to the template files
608         snames.*.tmpl
609
610 2009-10-30  Bob Duff  <duff@adacore.com>
611
612         * s-fileio.adb (Errno_Message): Suppress VMS-specific warning.
613
614 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
615
616         * sem_case.adb (Check_Choices): Add explanatory message when there are
617         missing alternatives when the required range of alternatives is given
618         by the base type of the case expression or discriminant in a variant
619         part.
620
621         * opt.ads: New flag Warn_On_Overlap, to enable warnings on potentially
622         dangerous overlap between actuals in a call, activated by -gnatw.i
623         * sem_warn.adb (Set_Dot_Warning_Switch): set flag.
624         (Warn_On_Overlapping_Actuals): use new flag.
625
626         * gnat_ugn.texi: Document -gnatw.i, warning on overlapping actuals
627
628 2009-10-30  Robert Dewar  <dewar@adacore.com>
629
630         * exp_aggr.adb, exp_ch9.adb: Minor reformatting
631
632 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
633
634         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
635         create integer types with precision 0.
636
637 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
638
639         PR ada/41870
640         * gcc-interface/decl.c (array_type_has_nonaliased_component): Swap
641         parameters and rewrite comments.  For a derived type, return the
642         setting of its parent type.
643         (gnat_to_gnu_entity): Do an alias set copy for derived types if they
644         are composite.  Adjust calls to above function.
645
646 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
647
648         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Object_Size>: Do not
649         return the RM size for padded types.
650
651 2009-10-28  Robert Dewar  <dewar@adacore.com>
652
653         * sem_type.adb: Minor reformatting
654
655 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
656
657         * exp_ch9.adb (Build_Task_Proc_Specification): Generate a different
658         suffix for task type bodies.
659
660 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
661
662         * exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a
663         finalization list if the designated type requires no control actions,
664         to prevent a useless semantic dependence on ada.tags.
665
666 2009-10-28  Bob Duff  <duff@adacore.com>
667
668         * s-fileio.adb: Give more information in exception messages.
669
670 2009-10-28  Robert Dewar  <dewar@adacore.com>
671
672         * gnat_ugn.texi: Document new -gnatyt requirement for space after right
673         paren if next token starts with digit or letter.
674         * styleg.adb (Check_Right_Paren): New rule for space after if next
675         character is a letter or digit.
676
677 2009-10-28  Thomas Quinot  <quinot@adacore.com>
678
679         * s-crtl.ads (System.CRTL.strerror): New function.
680
681 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
682
683         * sem_type.adb: Add guard to recover some type errors.
684
685 2009-10-28  Vincent Celier  <celier@adacore.com>
686
687         * prj-nmsc.adb (Add_To_Or_Remove_From_List): New name of procedure
688         Add_If_Not_In_List to account to the fact that a directory may be
689         removed from the list. Only remove directory if Removed is True.
690
691 2009-10-28  Gary Dismukes  <dismukes@adacore.com>
692
693         * a-textio.ads, a-textio.ads: Put back function EOF_Char in private
694         part. Put back body of function EOF_Char.
695         * a-tienau.adb: Remove with of Interfaces.C_Streams and change EOF back
696         to EOF_Char.
697
698 2009-10-28  Emmanuel Briot  <briot@adacore.com>
699
700         * prj-tree.adb (Free): Fix memory leak.
701
702 2009-10-28  Thomas Quinot  <quinot@adacore.com>
703
704         * s-fileio.adb: Minor reformatting
705
706 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
707
708         * gcc-interface/Make-lang.in: Update dependencies.
709
710 2009-10-28  Robert Dewar  <dewar@adacore.com>
711
712         * exp_attr.adb, exp_ch9.adb, prj-nmsc.adb, tbuild.adb, ali.adb,
713         types.ads: Minor reformatting
714
715 2009-10-28  Tristan Gingold  <gingold@adacore.com>
716
717         * init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard)
718
719 2009-10-28  Thomas Quinot  <quinot@adacore.com>
720
721         * exp_ch4.adb (Expand_N_Type_Conversion): Perform Integer promotion for
722         the operand of the unary minus and ABS operators.
723
724         * sem_type.adb (Covers): A concurrent type and its corresponding record
725         type are compatible.
726         * exp_attr.adb (Expand_N_Attribute_Reference): Do not rewrite a 'Access
727         attribute reference for the current instance of a protected type while
728         analyzing an access discriminant constraint in a component definition.
729         Such a reference is handled in the corresponding record's init proc,
730         while initializing the constrained component.
731         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
732         corresponding record type, propagate components'
733         Has_Per_Object_Constraint flag.
734         * exp_ch3.adb (Build_Init_Procedure.Build_Init_Statements):
735         For a concurrent type, set up concurrent aspects before initializing
736         components with a per object constrain, because they may be controlled,
737         and their initialization may call entries or protected subprograms of
738         the enclosing concurrent object.
739
740 2009-10-28  Emmanuel Briot  <briot@adacore.com>
741
742         * prj-nmsc.adb (Add_If_Not_In_List): New subprogram, for better sharing
743         of code.
744         (Find_Source_Dirs): resolve links if Opt.Follow_Links_For_Dirs when
745         processing the directories specified explicitly in the project file.
746
747 2009-10-28  Robert Dewar  <dewar@adacore.com>
748
749         * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb,
750         a-textio.ads, a-textio.adb: Reorganize (moving specs from private part
751         to body).
752         (Initialize_Standard_Files): New procedure.
753         * a-tienau.adb: Minor change to make EOF directly visible
754         * a-tirsfi.ads, a-wrstfi.adb, a-wrstfi.ads, a-zrstfi.adb,
755         a-zrstfi.ads, a-tirsfi.adb: New unit, initial version.
756         * gnat_rm.texi: Add documentation for
757         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files.
758         * Makefile.rtl: Add entries for
759         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files
760
761 2009-10-28  Thomas Quinot  <quinot@adacore.com>
762
763         * exp_ch9.ads: Minor reformatting
764         * sem_ch3.adb: Minor reformatting
765         * sem_aggr.adb: Minor reformatting.
766         * sem_attr.adb: Minor reformatting
767         * tbuild.adb, tbuild.ads, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node):
768         New subprogram.
769         Minor code reorganization/factoring.
770
771 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
772
773         * gcc-interface/decl.c (purpose_member_field): New static function.
774         (annotate_rep): Use it instead of purpose_member.
775
776 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
777
778         * raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
779         _Unwind_GetIP if HAVE_GETIPINFO is defined.
780         (db_action_for): Likewise.
781
782 2009-10-27  Robert Dewar  <dewar@adacore.com>
783
784         * s-fileio.adb, s-fileio.ads, sem_util.adb, sem_warn.adb,
785         sem_warn.ads: Minor reformatting
786
787 2009-10-27  Robert Dewar  <dewar@adacore.com>
788
789         * sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add
790         comments.
791
792 2009-10-27  Robert Dewar  <dewar@adacore.com>
793
794         * s-os_lib.ads, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor
795         reformatting.
796
797 2009-10-27  Ed Schonberg  <schonberg@adacore.com>
798
799         * sem.util.ads, sem_util.adb (Denotes_Same_Object,
800         Denotes_Same_Prefix): New functions to detect overlap between actuals
801         that are not by-copy in a call, when one of them is in-out.
802         * sem_warn.ads, sem_warn.adb (Warn_On_Overlapping_Actuals): New
803         procedure,  called on a subprogram call to warn when an in-out actual
804         that is not by-copy overlaps with another actual, thus leadind to
805         potentially dangerous aliasing in the body of the called subprogram.
806         Currently the warning is under control of the -gnatX switch.
807         * sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals.
808
809 2009-10-27  Thomas Quinot  <quinot@adacore.com>
810
811         * sem_ch12.adb (Install_Formal_Packages): Do not omit installation of
812         visible entities when the formal package doesn't have a box.
813
814         * checks.adb: Minor reformatting.
815
816 2009-10-27  Vincent Celier  <celier@adacore.com>
817
818         * prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and
819         set Project to Empty_Node.
820
821 2009-10-27  Robert Dewar  <dewar@adacore.com>
822
823         * gnatbind.adb: Minor reformatting
824
825 2009-10-27  Arnaud Charlet  <charlet@adacore.com>
826
827         * exp_aggr.adb: Fix comment.
828
829 2009-10-27  Emmanuel Briot  <briot@adacore.com>
830
831         * prj-err.adb (Error_Msg): take into account continuation lines when
832         computing whether we have a warning.
833
834 2009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>
835
836         * make.adb, s-os_lib.adb, s-os_lib.ads (Create_Temp_Output_File): New
837         routine that is designed to create temp file descriptor specifically
838         for redirecting an output stream.
839
840 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
841
842         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
843         processing the parent type, build the COMPONENT_REF for a discriminant
844         with the proper type.
845
846 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
847
848         * init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo.
849         * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Add HAVE_GETIPINFO.
850         Pass GNATLIBCFLAGS_FOR_C to recursive invocations.
851
852 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
853
854         * gcc-interfaces/decl.c (build_subst_list): Convert the expression of
855         the constraint to the type of the discriminant.
856
857 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
858
859         * gcc-interfaces/decl.c (gnat_to_gnu_entity): Do not create a new
860         TYPE_DECL when a type is padded if there is already one and reset
861         TYPE_STUB_DECL in this case.
862
863 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
864
865         * gcc-interfaces/utils.c (create_subprog_decl): Do not redefine
866         main_identifier_node.
867
868 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
869
870         * gcc-interface/utils.c (convert): When converting to a padded type
871         with an inner type of self-referential size, pad the expression before
872         doing the unchecked conversion.
873
874 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
875
876         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Make
877         sure the element type is consistent.
878
879 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
880
881         * gcc-interface/trans.c (addressable_p): Handle bitwise operations.
882
883 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
884
885         * gcc-interface/ada-tree.h (TYPE_FAT_POINTER_P): Swap with...
886         (TYPE_IS_FAT_POINTER_P): ...this.
887         (TYPE_THIN_POINTER_P): Rename into...
888         (TYPE_IS_THIN_POINTER_P): ...this.
889         (TYPE_FAT_OR_THIN_POINTER_P): Rename into...
890         (TYPE_IS_FAT_OR_THIN_POINTER_P): ...this.
891         (TYPE_IS_PADDING_P): Change definition, move old one to...
892         (TYPE_PADDING_P): ...this.
893         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
894         (get_unpadded_type): Likewise.
895         (gnat_to_gnu_component_type): Likewise.
896         (gnat_to_gnu_param): Likewise.
897         (relate_alias_sets): Likewise.
898         (make_packable_type): Likewise.
899         (maybe_pad_type): Likewise.
900         (gnat_to_gnu_field): Likewise.
901         (is_variable_size): Likewise.
902         (annotate_object): Likewise.
903         (validate_size): Likewise.
904         (set_rm_size): Likewise.
905         (make_type_from_size): Likewise.
906         (rm_size): Likewise.
907         * gcc-interface/misc.c (gnat_print_type): Likewise.
908         (gnat_get_alias_set): Likewise.
909         * gcc-interface/trans.c (Identifier_to_gnu): Likewise.
910         (Attribute_to_gnu): Likewise.
911         (call_to_gnu): Likewise.
912         (gnat_to_gnu): Likewise.
913         (add_decl_expr): Likewise.
914         (convert_with_check): Likewise.
915         (addressable_p): Likewise.
916         (maybe_implicit_deref): Likewise.
917         (protect_multiple_eval): Likewise.
918         (gnat_stabilize_reference_1): Likewise.
919         * gcc-interface/utils.c (gnat_pushdecl): Likewise.
920         (finish_record_type): Likewise.
921         (rest_of_record_type_compilation): Likewise.
922         (create_type_decl): Likewise.
923         (gnat_types_compatible_p): Likewise.
924         (build_template): Likewise.
925         (convert_vms_descriptor64): Likewise.
926         (convert_vms_descriptor32): Likewise.
927         (build_unc_object_type_from_ptr): Likewise.
928         (update_pointer_to): Likewise.
929         (convert_to_fat_pointer): Likewise.
930         (convert_to_fat_pointer): Likewise.
931         (convert): Likewise.
932         (remove_conversions): Likewise.
933         (maybe_unconstrained_array): Likewise.
934         (unchecked_convert): Likewise.
935         (handle_vector_type_attribute): Likewise.
936         * gcc-interface/utils2.c (build_binary_op): Likewise.
937         (build_unary_op): Likewise.
938         (build_allocator): Likewise.
939
940 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
941
942         * exp_dbug.ads: Adjust type names in comments.
943         * gcc-interface/decl.c (maybe_pad_type): Remove NAME_TRAILER parameter,
944         add new IS_COMPONENT_TYPE parameter.  Adjust.  Remove dead code.
945         (gnat_to_gnu_entity): Adjust for above change.
946         (gnat_to_gnu_component_type): Likewise.
947         (gnat_to_gnu_field): Likewise.
948         * gcc-interface/trans.c (call_to_gnu): Likewise.  Do not unnecessarily
949         call max_size.
950         * gcc-interface/utils.c (finish_record_type): Remove obsolete code.
951         * gcc-interface/gigi.h (maybe_pad_type): Adjust prototype.
952
953 2009-10-16  Joel Sherrill <joel.sherrill@oarcorp.com>
954
955         * s-osinte-rtems.ads: Add mutex type to pthread_mutexattr_t
956         * s-stchop-rtems.adb: Correct binding to rtems_stack_checker_is_blown.
957
958 2009-10-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
959
960         * env.c [__alpha__ && __osf__] (AES_SOURCE): Define.
961
962 2009-10-10  Samuel Tardieu  <sam@rfc1149.net>
963
964         * sem_eval.adb: Give a more precise error message.
965
966 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
967
968         PR ada/41383
969         * a-rttiev.adb (Time_Of_Event): Return Time_First for unset event.
970
971 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
972
973         PR ada/38333
974         * sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract
975         subprogram to be completed with a "pragma Import".
976
977 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
978
979         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>:
980         Generate an XVZ variable alongside the XVS type if the size is
981         not constant.
982         (maybe_pad_type): Minor tweak.
983
984 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
985
986         * gcc-interface/decl.c (check_ok_for_atomic): Do nothing if the type
987         doesn't come from source.
988
989 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
990
991         * gcc-interface/decl.c (gnat_to_gnu_component_type): Force at least
992         unit size for the component size of an array with aliased components.
993         (maybe_pad_type): Do not warn for MAX_EXPR.
994
995 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
996
997         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Factor out
998         common code processing the component type into...
999         <E_Array_Subtype>: Likewise.
1000         (gnat_to_gnu_component_type): ...this new static function.
1001         (maybe_pad_type): Minor cleanup.
1002
1003 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1004
1005         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Rewrite
1006         the handling of constrained discriminated record subtypes.
1007         (components_to_record): Declare the type of the variants and of the
1008         qualified union.
1009         (build_subst_list): Move around.
1010         (compute_field_positions): Rename into...
1011         (build_position_list): ...this.  Return a TREE_VEC.
1012         (annotate_rep): Adjust for above renaming.
1013         (build_variant_list): New static function.
1014         (create_field_decl_from): Likewise.
1015         (get_rep_part): Likewise.
1016         (get_variant_part): Likewise.
1017         (create_variant_part_from): Likewise.
1018         (copy_and_substitute_in_size): Likewise.
1019
1020 2009-09-28  Olivier Hainque  <hainque@adacore.com>
1021
1022         PR ada/41100
1023         * gcc-interface/targtyps.c (get_target_default_allocator_alignment):
1024         Account for observable alignments out of default allocators.
1025
1026 2009-09-28  Richard Henderson  <rth@redhat.com>
1027
1028         * gcc-interface/utils.c (gnat_install_builtins): Update call to
1029         build_common_builtin_nodes.
1030
1031 2009-09-26  Eric Botcazou  <ebotcazou@adacore.com>
1032
1033         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Filter out
1034         negative size for the array dimensions like in the constrained case.
1035         <E_Array_Subtype>: Do not create an artificially non-constant high
1036         bound if the low bound is non-constant.  Minor tweaks.
1037
1038         * gcc-interface/trans.c (lvalue_required_p): Add CONSTANT parameter
1039         and turn ALIASED into a boolean parameter.  Adjust calls to self.
1040         <N_Attribute_Reference>: Return 1 for more attributes.
1041         <N_Object_Renaming_Declaration>: Return 1 for non-constant objects.
1042         <N_Assignment_Statement>: Return 1 for the LHS.
1043         (Identifier_to_gnu): Adjust calls to lvalue_required_p.
1044         (call_to_gnu): Be prepared for wrapped boolean rvalues.
1045
1046 2009-09-25  Olivier Hainquqe  <hainque@adacore.com>
1047             Eric Botcazou  <ebotcazou@adacore.com>
1048
1049         * gcc-interface/ada-tree.h (TYPE_REPRESENTATIVE_ARRAY): New language
1050         specific node.  Representative array type for VECTOR_TYPE entities.
1051         * gcc-interface/utils.c (handle_vector_type_attribute): New handler.
1052         Turn an ARRAY_TYPE entity into a VECTOR_TYPE.   
1053         (gnat_types_compatible_p): Handle VECTOR_TYPEs.
1054         (convert): Likewise.  Arrange to produce VECTOR_CST out of constant
1055         array aggregates for VECTOR_TYPE entities.
1056         (unchecked_convert): Likewise.
1057         (maybe_vector_array): New function. If EXP has VECTOR_TYPE, return EXP
1058         converted to the associated TYPE_REPRESENTATIVE_ARRAY.
1059         (handle_pure_attribute, handle_sentinel_attribute,
1060         handle_noreturn_attribute, handle_malloc_attribute,
1061         handle_vector_size_attribute): Replace uses of qE format by qs.
1062         Remove GCC_DIAG_STYLE definition.
1063         * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Convert
1064         vector input to representative array type on entry.
1065         <N_Op_Eq, etc>: Likewise.
1066         * gcc-interface/gigi.h (maybe_vector_array): Declare.
1067         (VECTOR_TYPE_P): New predicate.
1068         * gcc-interface/misc.c (gnat_print_type): Handle VECTOR_TYPE.
1069
1070 2009-09-24  Eric Botcazou  <ebotcazou@adacore.com>
1071
1072         * gcc-interface/ada.h: Fix outdated comment.
1073         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in
1074         lieu of mark_visited.
1075         * gcc-interface/gigi.h (mark_visited): Change type of parameter.
1076         (MARK_VISITED): New macro.
1077         (gnat_truthvalue_conversion): Delete.
1078         * gcc-interface/decl.c (gnat_to_gnu_entity): Use MARK_VISITED in lieu
1079         of mark_visited.
1080         (annotate_rep): Fix formatting and tidy.
1081         (compute_field_positions): Get rid of useless variable.
1082         * gcc-interface/trans.c (gnat_to_gnu): Retrieve the Nkind of the GNAT
1083         node only once.  Use IN operator for the Nkind in more cases.
1084         Remove calls to gnat_truthvalue_conversion.
1085         (mark_visited): Change type of parameter and adjust.
1086         (mark_visited_r): Dereference TP only once.
1087         (add_decl_expr): Use MARK_VISITED in lieu of mark_visited.
1088         * gcc-interface/utils2.c (gnat_truthvalue_conversion): Delete.
1089         (build_binary_op): Remove calls to gnat_truthvalue_conversion.
1090         (build_unary_op): Likewise.
1091
1092 2009-09-24  Dave Korn  <dave.korn.cygwin@gmail.com>
1093
1094         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Simplify test for
1095         a-except% in target pairs list; don't (implicitly) compare whitespace.
1096
1097 2009-09-24  Jakub Jelinek  <jakub@redhat.com>
1098
1099         * gcc-interface/utils.c (gnat_pushdecl): Don't set
1100         DECL_NO_STATIC_CHAIN, set DECL_STATIC_CHAIN for
1101         nested functions.
1102
1103 2009-09-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
1104
1105         * s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0.
1106         Bind to getpagesize() in RTEMS 4.10 and newer.
1107
1108 2009-09-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1109
1110         * env.c [__alpha__ && __osf__] (_BSD): Define.
1111         * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
1112         to const char *.
1113
1114 2009-09-18  Pascal Obry  <obry@adacore.com>
1115
1116         * mingw32.h: Activate Unicode support for x86-64 Windows platform.
1117
1118 2009-09-18  Vadim Godunko  <godunko@adacore.com>
1119
1120         * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
1121
1122 2009-09-18  Javier Miranda  <miranda@adacore.com>
1123
1124         * exp_aggr.adb (Backend_Processing_Possible): Disable backend
1125         processing for array aggregates in the VM backend if the array has
1126         aliased components.
1127
1128 2009-09-18  Ed Schonberg  <schonberg@adacore.com>
1129
1130         * sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
1131         the prefix indicates a previous semantic error, and this is the first
1132         error in the program.
1133
1134 2009-09-18  Bob Duff  <duff@adacore.com>
1135
1136         * gnat_ugn.texi: Minor editing.
1137
1138 2009-09-18  Vincent Celier  <celier@adacore.com>
1139
1140         * prj.ads, prj.adb (Project_Data): New component
1141         Imported_Directories_Switches.
1142
1143 2009-09-18  Pascal Obry  <obry@adacore.com>
1144
1145         * mingw32.h: Include standard _mingw.h file.
1146         Define _WIN32_WINNT only if not already defined.
1147
1148 2009-09-18  Thomas Quinot  <quinot@adacore.com>
1149
1150         * g-socket.adb (Is_Open): New function indicating whether a
1151         Selector_Type object is open.
1152
1153 2009-09-18  Vincent Celier  <celier@adacore.com>
1154
1155         * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
1156         is deleted before creating it.
1157
1158 2009-09-18  Robert Dewar  <dewar@adacore.com>
1159
1160         * bindgen.adb: Minor reformatting
1161
1162 2009-09-18  Arnaud Charlet  <charlet@adacore.com>
1163
1164         * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
1165         s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
1166         signal handler is installed.
1167         * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
1168         tasks if Abort_Task_Interrupt cannot be used.
1169
1170 2009-09-18  Vincent Celier  <celier@adacore.com>
1171
1172         * prj-tree.ads: Minor comment update
1173
1174 2009-09-17  Bob Duff  <duff@adacore.com>
1175
1176         * g-socket.ads: Document the fact that Close_Selector has no effect on
1177         a closed selector.
1178         * g-socket.adb: Raise an exception when a Selector that should be open
1179         is closed.
1180         (Check_Selector): Declare RSig as a constant rather than a renames,
1181         less confusing.
1182
1183 2009-09-17  Robert Dewar  <dewar@adacore.com>
1184
1185         * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
1186         prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb,
1187         prj-tree.ads: Minor reformatting
1188
1189 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1190
1191         * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
1192         spec.
1193         (Do_Autoconf): If the object directory does not exists, create auto.cgpr
1194         in a temporary directory instead
1195
1196 2009-09-17  Bob Duff  <duff@adacore.com>
1197
1198         * a-dynpri.adb (Set_Priority): Don't do anything if the task is already
1199         terminated.
1200         (Get_Priority): Correct message for "terminated" case -- it said "null".
1201
1202 2009-09-17  Robert Dewar  <dewar@adacore.com>
1203
1204         * exp_ch6.adb: Minor reformatting
1205
1206 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1207
1208         * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
1209         switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
1210         (Project_Node_Tree_Data.Project_Path): New field.
1211
1212         * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
1213
1214 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1215
1216         * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
1217         Remove duplicate code.
1218         (Prj.Ext): Fix memory leak
1219         (Check): Now allow the syntax "-Xfoo=" to set an empty value to the
1220         variable. This was previously allowed in the code in
1221         Is_External_Assignment, and some tests rely on it
1222
1223 2009-09-17  Bob Duff  <duff@adacore.com>
1224
1225         * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
1226
1227 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1228
1229         * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
1230         makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
1231         prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
1232         prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
1233         Scenario variables are now specific to each project tree loaded in
1234         memory.
1235         Code clean ups.
1236
1237 2009-09-17  Javier Miranda  <miranda@adacore.com>
1238
1239         * exp_disp.adb (Make_DT): Remove wrong line of code that was
1240         undocumented and probably added by mistake.
1241
1242 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1243
1244         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
1245         conversions between original and packable version of types from
1246         the expression.
1247
1248 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1249
1250         * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
1251         If a padding type was made for the field, declare it.
1252         (components_to_record): Add DEBUG_INFO_P parameter.  Adjust call
1253         to gnat_to_gnu_field and call to self.
1254         (gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
1255         <E_Array_Subtype>: Likewise.
1256         Adjust calls to gnat_to_gnu_field and components_to_record.
1257
1258 2009-09-16  Robert Dewar  <dewar@adacore.com>
1259
1260         * prj-nmsc.adb: Minor reformatting
1261
1262 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1263
1264         * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
1265         expression is a by-reference type (tagged or inherently limited)
1266         introduce an access type to capture references to the values of each
1267         branch of the conditional.
1268
1269 2009-09-16  Emmanuel Briot  <briot@adacore.com>
1270
1271         * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
1272         (Project_Name_And_Node.Display_Name): new field
1273         The display name of a project (as written in the .gpr file) is now
1274         computed when the project file itself is parsed, not when it is
1275         processed.
1276
1277 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1278
1279         * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
1280         intrinsics untouched (to be expanded later on by gigi) if an external
1281         name has been specified.
1282         (Freeze_Entity): Do not generate a default external name for
1283         imported subprograms with convention Intrinsic (so that the above code
1284         can identify the case where an external name has been explicitly
1285         provided).
1286
1287         * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
1288         replaced by something else due to an existing #define clause.
1289
1290 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1291
1292         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
1293         Parameter_Association node, created for the extra actual generated for
1294         an access parameter of a function that dispatches on result, to prevent
1295         double generation of such actuals when the call is rewritten is a
1296         dispatching call.
1297         * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
1298         * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
1299         that carry this flag when rewriting the original call as a dispatching
1300         call, after propagating the controlling tag.
1301
1302 2009-09-16  Vincent Celier  <celier@adacore.com>
1303
1304         * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
1305         in the source data.
1306         (Check_File): New parameter Source_Dir_Rank, to check if a duplicate
1307         source is allowed.
1308         (Find_Source_Dirs): New parameter Rank to be recorded with the source
1309         directories.
1310         (Search_Directories): Call Check_File with the rank of the directory
1311         * prj.adb (Project_Empty): Add new component Source_Dir_Ranks
1312         (Free): Free also Number_Lists
1313         (Reset): Init also Number_Lists
1314         * prj.ads (Number_List_Table): New dynamic table for lists of numbers
1315         (Source_Data): New component Source_Dir_Rank. Remove component
1316         Known_Order_Of_Source_Dirs, no longer needed.
1317         (Project_Data): New component Source_Dir_Ranks
1318         (Project_Tree_Data): New components Number_Lists
1319
1320 2009-09-16  Vincent Celier  <celier@adacore.com>
1321
1322         * gprep.adb (Yes_No): New global constant
1323         Unix_Line_Terminators: New global Boolean variable
1324         (Process_One_File): Create the out file with a "Text_Translation=" form
1325         that depends on the use of option -T.
1326         (Scan_Command_Line): Add option -T
1327         (Usage): Add line for option -T
1328
1329 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1330
1331         * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
1332         predicate that describes a proper subset of
1333         Is_Predefined_Dispatching_Operation and excludes stream operations,
1334         which can be overridden by the user.
1335         * sem_ch6.adb (Create_Extra_Formals): use
1336         Is_Predefined_Internal_Operation, so that stream operations get extra
1337         formals.
1338         * exp_ch6.adb (Prevent double generation of extra actuals in calls to
1339         'Input, which may be expanded twice, first as a function call and then
1340         as a dispatching call.
1341
1342 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1343
1344         * s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
1345         * g-expect.adb (Set_Up_Child_Communications): Use
1346         System.OS_Constants.Target_OS to determine whether running on Windows.
1347
1348 2009-09-14  Richard Henderson  <rth@redhat.com>
1349
1350         * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
1351
1352 2009-09-14  Eric Botcazou  <ebotcazou@adacore.com>
1353
1354         * exp_dbug.ads (Packed Array Encoding): Document the new encoding for
1355         the unconstrained case.
1356         * gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
1357         the encoding.  Do not give a name to the pointer type to the XUT type.
1358         * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
1359         for fat pointer types, if any.  Make sure DECL_ARTIFICIAL is cleared
1360         on nodes with DECL_ORIGINAL_TYPE set.
1361         (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
1362         for fat pointer types.  Make sure DECL_ARTIFICIAL is cleared.
1363
1364 2009-09-14  Richard Henderson  <rth@redhat.com>
1365
1366         * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1367         default_init_unwind_resume_libfunc.
1368         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
1369         __builtin_eh_pointer.
1370         * gcc-interface/utils.c (gnat_install_builtins): Update call
1371         to build_common_builtin_nodes.
1372
1373 2009-09-13  Richard Guenther  <rguenther@suse.de>
1374             Rafael Avila de Espindola  <espindola@google.com>
1375
1376         * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
1377         eh_personality_libfunc and lang_eh_runtime_type.
1378         (LANG_HOOKS_EH_PERSONALITY): Define.
1379         (gnat_eh_personality_decl): New static variable.
1380         (gnat_eh_personality): New static function.
1381         Include gt-ada-misc.h.
1382         * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
1383         * gcc-interface/config-lang.in (gtfiles): Add misc.c.
1384
1385 2009-09-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1386
1387         PR ada/18302
1388         * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
1389
1390 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1391
1392         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
1393         flow of control.
1394         Avoid useless work when processing the Treat_As_Volatile flag.
1395
1396 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1397
1398         * gcc-interface/targtyps.c: Reorder include directives.
1399
1400 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1401
1402         * gcc-interface/targtyps.c: Add missing include for tm_p.h.
1403         * gcc-interface/Make-lang.in: Update dependencies.
1404
1405 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1406
1407         * make.adb: Add missing documentation for multilib handling.
1408         
1409 2009-09-03  Diego Novillo  <dnovillo@google.com>
1410
1411         * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
1412
1413 2009-09-02  Richard Henderson  <rth@redhat.com>
1414
1415         * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
1416
1417 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1418
1419         * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
1420         and uc arguments.
1421         
1422 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1423
1424         * gcc-interface/decl.c (cannot_be_superflat_p): Handle
1425         Signed_Integer_Type_Definition Scalar_Ranges.
1426
1427 2009-09-02  Eric Botcazou  <ebotcazou@adacore.com>
1428
1429         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
1430         SAVE_EXPR built for misaligned arguments.  Remove redundant stuff.
1431         (addressable_p): Return true for more rvalues.
1432
1433 2009-09-01  Jakub Jelinek  <jakub@redhat.com>
1434
1435         * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
1436         POINTER_SIZE to HOST_WIDE_INT.
1437
1438 2009-09-01  Richard Guenther  <rguenther@suse.de>
1439
1440         * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
1441
1442 2009-08-25  Eric Botcazou  <ebotcazou@adacore.com>
1443
1444         * gcc-interface/trans.c (call_to_gnu): Tidy.
1445         (gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
1446         non-constant size but the array itself has constant size.
1447         * gcc-interface/utils.c (convert_vms_descriptor64): Fix type
1448         consistency error.
1449         (convert_vms_descriptor32): Likewise.
1450
1451 2009-08-22  Aurelien Jarno  <aurelien@aurel32.net>
1452
1453         * gcc-interface/Makefile.in: Add Ada support for 
1454         GNU/kFreeBSD x86_64.
1455         * system-freebsd-x86_64.ads: New file based on 
1456         system-freebsd-x86.ads.
1457
1458 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1459
1460         * gcc-interface/utils.c (convert): In the padded case, do the final
1461         conversion as an unchecked conversion if the underlying types are
1462         array types with variable size.
1463
1464 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1465
1466         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
1467         as visited.
1468         * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
1469         bounds.
1470         * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
1471         fields.
1472         (gnat_gimplify_expr) <DECL_EXPR>: New case.
1473
1474 2009-08-17  Aurelien Jarno  <aurelien@aurel32.net>
1475
1476         * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
1477         (stack_t): New record type.
1478         (sigaltstack): New imported function.
1479         (Alternate_Stack): New imported variable.
1480         (Alternate_Stack_Size): New constant.
1481
1482 2009-08-17  Vasiliy Fofanov  <fofanov@adacore.com>
1483
1484         * a-calend-vms.adb: Fix typo.
1485
1486 2009-08-17  Tristan Gingold  <gingold@adacore.com>
1487
1488         * s-taprop-posix.adb: Round up the stack size to avoid failure on
1489         Darwin.
1490
1491 2009-08-17  Gary Dismukes  <dismukes@adacore.com>
1492
1493         * sem_cat.adb (Validate_Static_Object_Name): Update comment.
1494
1495 2009-08-17  Vincent Celier  <celier@adacore.com>
1496
1497         * make.adb (Arguments_Collected): Unneeded, removed
1498         (Change_To_Object_Directory): Use Project directly. Add pragma Assert to
1499         ensure caller does not pass in No_Project.
1500         (Compile): Add new parameter Project. Let procedure
1501         Collect_Arguments_And_Compile provide the proper value.
1502
1503         * switch-c.adb: Add documentation for -gnatea and -gnatez
1504
1505 2009-08-17  Ben Brosgol  <brosgol@adacore.com>
1506
1507         * gnat_ugn.texi: Changed name of package in SAL example, to avoid
1508         clash with Ada 2005 reserved word (interface).
1509
1510 2009-08-17  Robert Dewar  <dewar@adacore.com>
1511
1512         * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
1513         a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
1514         a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
1515         (use conditional expressions).
1516
1517 2009-08-17  Robert Dewar  <dewar@adacore.com>
1518
1519         * make.adb: Add ??? comment
1520         * tbuild.adb: Minor reformatting
1521
1522 2009-08-17  Thomas Quinot  <quinot@adacore.com>
1523
1524         * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
1525         Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
1526         Use Tbuild.Make_Temporary to create entity for the temporary.
1527
1528 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
1529
1530         * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
1531         and ignore -mieee switch to avoid spawning an extra gcc in this case.
1532
1533 2009-08-17  Thomas Quinot  <quinot@adacore.com>
1534
1535         * tbuild.adb: Minor reformatting
1536
1537 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
1538
1539         * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
1540         exist, as is the case for synchronized types, use the type of the
1541         discriminal in the parameter specification, to prevent a spurious
1542         subtype mismatch in gigi.
1543
1544 2009-08-17  Robert Dewar  <dewar@adacore.com>
1545
1546         * prj-env.adb: Minor reformatting
1547         * make.adb: Minor reformatting
1548         Comment updates
1549
1550 2009-08-17  Javier Miranda  <miranda@adacore.com>
1551
1552         * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
1553
1554 2009-08-17  Emmanuel Briot  <briot@adacore.com>
1555
1556         * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
1557         (Processing_Flags.Require_Obj_Dirs): new field, which controls whether
1558         object directories must be present. In the case of gprclean at least,
1559         these are optional (if they do not exist there is nothing to clean)
1560
1561 2009-08-17  Robert Dewar  <dewar@adacore.com>
1562
1563         * prj-env.adb: Minor reformatting
1564         * sem_ch3.adb: Minor reformatting
1565
1566 2009-08-17  Hristian Kirtchev  <kirtchev@adacore.com>
1567
1568         * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
1569         the time zone since VxWorks chose positive values to represent west
1570         time zones and negative for east zones.
1571
1572 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
1573
1574         * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
1575         an anonymous access type whose designated type is generic.
1576
1577 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
1578
1579         * comperr.adb (Compiler_Abort): Do not generate a bug box when in
1580         codepeer mode, friendlier.
1581
1582 2009-08-10  Laurent GUERBY  <laurent@guerby.net>
1583
1584         * make.adb: Handle multilib
1585         
1586 2009-08-10  Vincent Celier  <celier@adacore.com>
1587
1588         * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
1589         the temporary file name in the error message when the temporary file
1590         cannot be created.
1591
1592 2009-08-10  Yannick Moy  <moy@adacore.com>
1593
1594         * gnat_ugn.texi: Fix typo
1595
1596 2009-08-10  Robert Dewar  <dewar@adacore.com>
1597
1598         * exp_ch7.adb: Add ??? comment for last change
1599
1600 2009-08-10  Vincent Celier  <celier@adacore.com>
1601
1602         * prj-env.adb (Add_To_Buffer): New procedure
1603         (Create_Config_Pragmas_File): Write to temporary file in one shot
1604         (Create_Mapping_File): Ditto
1605         (Set_Ada_Paths): Ditto
1606
1607 2009-08-10  Vincent Celier  <celier@adacore.com>
1608
1609         PR ada/17566
1610         * xref_lib.adb (Print_Xref): Make sure that there is at least one space
1611         between a declaration name and its type.
1612
1613 2009-08-07  Javier Miranda  <miranda@adacore.com>
1614
1615         * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
1616         SCIL node.
1617
1618 2009-08-07  Robert Dewar  <dewar@adacore.com>
1619
1620         * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
1621
1622 2009-08-07  Vincent Celier  <celier@adacore.com>
1623
1624         * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
1625         specified on the command line and there are switches in the Compiler
1626         package of the project file, use these compilation switches to invoke
1627         the tool.
1628
1629 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
1630
1631         * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
1632
1633 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
1634
1635         * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
1636         even if not in main unit, to simplify debugging.
1637
1638 2009-08-07  Arnaud Charlet  <charlet@adacore.com>
1639
1640         * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
1641         * gcc-interface/Make-lang.in: Update dependencies.
1642
1643 2009-08-07  Robert Dewar  <dewar@adacore.com>
1644
1645         * types.ads: Minor reformatting
1646         * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
1647         * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
1648         Output_Non_Modified_In_Out_Warnings.
1649         * sem_ch13.adb: Remove ??? comment.
1650
1651 2009-08-07  Vincent Celier  <celier@adacore.com>
1652
1653         * mlib-prj.adb (Build_Library): Include binder generate object file
1654         for SAL when library name is only one character.
1655
1656 2009-08-07  Thomas Quinot  <quinot@adacore.com>
1657
1658         * targparm.adb: Minor reformatting
1659         * sem.adb: Minor reformatting
1660         * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
1661
1662 2009-08-07  Emmanuel Briot  <briot@adacore.com>
1663
1664         * prj-conf.adb: Remove duplicate directory separator in the output when
1665         an object directory does not exist.
1666
1667 2009-08-07  Robert Dewar  <dewar@adacore.com>
1668
1669         * exp_util.adb: Minor reformatting
1670
1671 2009-08-07  Vincent Celier  <celier@adacore.com>
1672
1673         * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
1674         length used).
1675
1676 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
1677
1678         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
1679         detect non-static private components that will violate restriction
1680         No_Implicit_Heap_Allocation.
1681
1682 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
1683
1684         * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
1685
1686 2009-08-02  Eric Botcazou  <ebotcazou@adacore.com>
1687
1688         * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
1689         * gcc-interface/utils.c (end_subprog_body): Likewise.
1690         * gcc-interface/trans.c (gigi): Likewise.
1691         (gnat_to_gnu): Likewise.
1692
1693 2009-07-30  Ben Brosgol  <brosgol@adacore.com>
1694
1695         * gnat_ugn.texi: Correct minor texi glitch.
1696
1697 2009-07-30  Ed Schonberg  <schonberg@adacore.com>
1698
1699         * exp_util.adb (Expand_Subtype_From_Expr): If the type of the
1700         expression has an underlying representation that is an unchecked union,
1701         there is no subtype to build.
1702
1703 2009-07-30  Robert Dewar  <dewar@adacore.com>
1704
1705         * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
1706         s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
1707         sem_ch7.adb, adaint.c: Minor reformatting
1708
1709 2009-07-29  Javier Miranda  <miranda@adacore.com>
1710
1711         * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
1712         moved from the expander to the semantic analyzer to allow the
1713         generation of these internal entities when compiling with no code
1714         generation. Required by ASIS.
1715         * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
1716         * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
1717         * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
1718         (Expand_Freeze_Record_Type): Remove call to
1719         Add_Internal_Interface_Entities because this routine is now called at
1720         early stage --when the freezing node is analyzed.
1721
1722 2009-07-29  Robert Dewar  <dewar@adacore.com>
1723
1724         * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
1725         exp_disp.adb, g-socket.adb: Minor reformatting
1726
1727 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
1728
1729         * sem_ch7.adb (New_Private_Type): Create class-wide type after other
1730         attributes have been established, so that they are all inherited by the
1731         class-wide type.
1732         * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
1733         properly named subtypes of class-wide types.
1734
1735 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
1736
1737         * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
1738         indicators on user-defined operators.
1739
1740 2009-07-29  Vadim Godunko  <godunko@adacore.com>
1741
1742         * g-socket.adb (Receive_Vector): Add comment.
1743
1744 2009-07-29  Javier Miranda  <miranda@adacore.com>
1745
1746         * frontend.adb (Frontend): Code cleanup.
1747         * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
1748         Rewriten as a procedure because it a new out-mode parameters to
1749         keep up-to-date the controlling tag node in the caller.
1750         (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
1751         new out-mode parameter to keep up-to-date the controlling tag node in
1752         the caller.
1753         * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
1754         exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
1755         package Sem_SCIL.
1756         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
1757         available in new package Sem_SCIL.
1758         (Next_Non_SCIL_Node): Ditto.
1759         * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
1760         package Sem_SCIL.
1761         (Expand_Dispatching_Call): Update call to modified Exp_Atags routines
1762         plus complete decoration of SCIL dispatching node.
1763         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
1764         * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
1765         package Sem_SCIL.
1766         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
1767         * exp_ch3.adb (Build_Init_Procedure): Fix comment.
1768         * sem_scil.ads, sem_scil.adb: New files.
1769         * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
1770         Update dependencies.
1771
1772 2009-07-28  Robert Dewar  <dewar@adacore.com>
1773
1774         * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
1775         makeutl.adb: Minor reformatting & code reorganization
1776         * sem_ch3.adb: Minor reformatting.
1777         Fix spelling error (constraint for constrain) in error msg.
1778
1779 2009-07-28  Emmanuel Briot  <briot@adacore.com>
1780
1781         * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
1782         global variable that also exists in makeutl.ads, and that some routines
1783         in that package use already.
1784         (Check): Moved part of the code to makeutl.adb for better sharing with
1785         gprbuild.
1786
1787 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
1788
1789         * gcc-interface/Make-lang.in: Update dependencies.
1790
1791 2009-07-28  Emmanuel Briot  <briot@adacore.com>
1792
1793         * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
1794         importing project does not end up in the list, in the case of extending
1795         projects.
1796         * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
1797         makeutl.ads, for better sharing with gprbuild.
1798
1799 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
1800
1801         * gnat_ugn.texi: Fix typo.
1802
1803 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
1804
1805         * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
1806         derivation that renames some discriminants and constrain others.
1807         * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
1808         prefix is a derived untagged type, convert to the root type to conform
1809         to the signature of the protected operations.
1810
1811 2009-07-28  Robert Dewar  <dewar@adacore.com>
1812
1813         * sinfo.ads: Update comments.
1814         * exp_attr.adb: Minor reformatting
1815
1816 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
1817
1818         * sem_aggr.adb (Get_Value): A named association in a record aggregate
1819         should be treated as a modification of the named component, not as a
1820         reference.
1821
1822 2009-07-28  Quentin Ochem  <ochem@adacore.com>
1823
1824         * prj-tree.ads, prj-tree.adb (Free): Minor editing.
1825         * prj.ads, prj.adb (Image): Ditto.
1826
1827 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
1828
1829         * frontend.adb: Minor reformatting.
1830         (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
1831         for efficiency.
1832
1833 2009-07-28  Bob Duff  <duff@adacore.com>
1834
1835         * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
1836         'Address to get a pointer to the protected body wrapper.
1837
1838 2009-07-28  Javier Miranda  <miranda@adacore.com>
1839
1840         * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
1841         nodes if we are not generating code.
1842         * frontend.adb (Check_SCIL_Node): New subprogram. Used to check
1843         attribute SCIL_Related_Node of SCIL dispatching nodes.
1844         (Check_SCIL_Nodes): New instantiation of Traverse_Proc.
1845         * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
1846         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
1847         (SCIL_Entity): Update documentation.
1848         (SCIL_Related_Node): Update documentation.
1849         (SCIL_Controlling_Tag): New attribute.
1850         (SCIL_Target_Prim): Update documentation.
1851         (N_Null_Statement): Remove attributes associated with SCIL nodes.
1852         (N_SCIL_Dispatch_Table_Object_Init): New node.
1853         (N_SCIL_Dispatch_Table_Tag_Init): New node.
1854         (N_SCIL_Dispatching_Call): New node.
1855         (N_SCIL_Tag_Init): New node.
1856         * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
1857         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
1858         (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
1859         (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
1860         (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
1861         (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
1862         N_SCIL_Dispatching_Call nodes.
1863         * sem.adb (Analyze): No need to analyze SCIL nodes.
1864         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
1865         (Next_Non_SCIL_Node): New subprogram
1866         * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
1867         dispatching nodes.
1868         * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
1869         dispatching node.
1870         * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
1871         dispatching node.
1872         * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
1873         null statement nodes.
1874         (Build_Init_Procedure): Generate new SCIL node.
1875         * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
1876         node.
1877         * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
1878         they are currently implemented as special N_Null_Statement nodes.
1879         * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
1880         procedure call then check if some SCIL node references it and needs
1881         readjustment.
1882         * exp_disp.ads (SCIL_Node_Kind): Removed.
1883         (Adjust_SCIL_Node): New subprogram.
1884         (Find_SCIL_Node): New subprogram.
1885         (Get_SCIL_Node_Kind): Removed.
1886         (New_SCIL_Node): Removed.
1887         * exp_disp.adb (Adjust_SCIL_Node): New subprogram
1888         (Expand_Dispatching_Call): Generate new SCIL dispatching node including
1889         decoration of its new controlling_tag attribute.
1890         (Get_SCIL_Node_Kind): Removed.
1891         (Find_SCIL_Node): New subprogram.
1892         (Make_Secondary_DT): Generate new SCIL nodes.
1893         (Make_Tags): Generate new SCIL nodes.
1894         (New_SCIL_Node): Removed.
1895         * exp_util.adb (Insert_Actions): Handle SCIL nodes.
1896         (Remove_Side_Effects): Check if relocated nodes require readjustment
1897         of some SCIL dispatching node.
1898         * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
1899
1900 2009-07-28  Robert Dewar  <dewar@adacore.com>
1901
1902         * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
1903
1904 2009-07-28  Sergey Rybin  <rybin@adacore.com>
1905
1906         * gnat_ugn.texi: Add section about gnatcheck rule exemption.
1907
1908 2009-07-28  Vadim Godunko  <godunko@adacore.com>
1909
1910         * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
1911         not defined by limits.h.
1912
1913         * g-socket.adb (Receive_Vector): Use minimum length from user's vector
1914         length and maximum supported length of data vector.
1915
1916 2009-07-28  Gary Dismukes  <dismukes@adacore.com>
1917
1918         * usage.adb: Inhibit printing gcc-specific switches for AAMP target.
1919         * make.adb: Call Get_Target_Parameters before calling Usage so that
1920         VM_Target and AAMP_On_Target will be set.
1921
1922 2009-07-28  Olivier Hainque  <hainque@adacore.com>
1923
1924         * g-ssinty.ads: Remove, pointless and just confusing at this stage.
1925         * gnat_rm.texi: Remove documentation.
1926         * g-sse.ads: Minor reorg along the way.
1927         * gcc-interface/Makefile.in: Remove processing for g-ssinty.
1928         * g-ssvety.ads: Minor comment updates.
1929
1930 2009-07-28  Sergey Rybin  <rybin@adacore.com>
1931
1932         * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
1933         for the new format of the report file.
1934
1935 2009-07-28  Sergey Rybin  <rybin@adacore.com>
1936
1937         * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
1938
1939 2009-07-28  Pascal Obry  <obry@adacore.com>
1940
1941         * g-expect.adb: Record standard handles only on Windows.
1942
1943 2009-07-27  Emmanuel Briot  <briot@adacore.com>
1944
1945         * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
1946         Add comments.
1947
1948 2009-07-27  Sergey Rybin  <rybin@adacore.com>
1949
1950         * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
1951         rule definition the paragraph that explains that generic functions and
1952         functions from generic packages are not checked.
1953
1954 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
1955
1956         * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
1957         procedure when determining whether to set the Overridden_Operation
1958         field of a subprogram overriding an inherited subprogram.
1959         
1960 2009-07-27  Robert Dewar  <dewar@adacore.com>
1961
1962         * a-except.adb, a-except-2005.ads: Minor reformatting
1963
1964 2009-07-27  Robert Dewar  <dewar@adacore.com>
1965
1966         * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
1967
1968 2009-07-27  Javier Miranda  <miranda@adacore.com>
1969
1970         * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
1971         add some documentation explaining why the SCIL nodes must be generated
1972         at that point.
1973
1974 2009-07-27  Olivier Hainque  <hainque@adacore.com>
1975
1976         * a-except.adb: Bind to __builtin_longjmp directly.
1977         * a-except-2005.ads: Provide direct binding to __builtin_longjmp
1978         for sjlj variants.
1979         * a-exexpr.adb: Use it.
1980         * a-except-xi.adb: Likewise.
1981         * raise.c (_gnat_builtin_longjmp): Remove and update comments.
1982         * raise.h (_gnat_builtin_longjmp): Remove declaration.
1983
1984 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
1985
1986         * sem_eval.adb (Compile_Time_Compare): More precise handling of
1987         Known_Valid flag, to prevent spurious range deductions when scalar
1988         variables may be uninitialized. New predicate Is_Known_Valid_Operand.
1989
1990 2009-07-27  Robert Dewar  <dewar@adacore.com>
1991
1992         * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
1993         and code clean up.
1994
1995 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
1996
1997         * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
1998         Ravenscar mode. Error has already been posted on specification.
1999
2000         * sem.adb: Further code clean ups.
2001
2002 2009-07-27  Robert Dewar  <dewar@adacore.com>
2003
2004         * g-sse.ads: Minor reformatting
2005
2006 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2007
2008         * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
2009         alternate ali extension.
2010         * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
2011         account Osint.ALI_Suffix.
2012         * osint.ads (ALI_Suffix): Make visible.
2013         * gnatfind.adb (Gnatfind): Add support for --ext= switch.
2014         * gnat_ugn.texi: Document new gnatfind --ext= switch.
2015
2016 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2017
2018         * sem.adb (Walk_Library_Items): If main unit is an instance body, do
2019         its spec first.
2020
2021 2009-07-27  Javier Miranda  <miranda@adacore.com>
2022
2023         * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
2024         the dispatching call has is expanded.
2025
2026 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2027
2028         * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
2029         Is_Known_Valid flag on the temporary created for the value whose
2030         validity is being checked.
2031
2032         * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
2033         handle properly main units that are package specifications.
2034
2035 2009-07-27  Geert Bosch  <bosch@adacore.com>
2036
2037         * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
2038         * sem_aux.ads: Fix typo in comment
2039         * sem_util.ads (Is_LHS): Adjust comment to match body
2040
2041 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2042
2043         * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
2044         rule definition.
2045
2046 2009-07-27  Olivier Hainque  <hainque@adacore.com>
2047
2048         * g-sse.ads, g-ssvety.ads: Update comments.
2049
2050 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2051
2052         * gnat_ugn.texi: Update gnatcheck doc.
2053
2054 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2055
2056         * lib-xref.ads: Allocate/document 'o' char for use by references to
2057         spark 'own' variables.
2058
2059 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
2060
2061         * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
2062         objects, since these are implicitly referenced by the return statement.
2063         * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
2064         Is_Return_Object in this procedure, as return objects will never make
2065         it here since they're now marked as Referenced.
2066
2067 2009-07-27  Robert Dewar  <dewar@adacore.com>
2068
2069         * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
2070
2071 2009-07-27  Robert Dewar  <dewar@adacore.com>
2072
2073         * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
2074
2075         * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
2076
2077 2009-07-27  Geert Bosch  <bosch@adacore.com>
2078
2079         * checks.adb (Find_Check): Minor streamlining of logic.
2080         * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
2081         * debug.adb: Document -gnatdX debug flag
2082         * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
2083         list information about reads from scalar entities.
2084         Also slightly simplify condition for Expand_Current_Value.
2085         * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
2086         functions.
2087
2088 2009-07-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2089
2090         PR bootstrap/40578
2091         * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
2092         (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
2093         to these.
2094         (__gnat_stat): Adjust reference to STAT in prototype.
2095         * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
2096         __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
2097         __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
2098         __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
2099         __gnat_is_writable_file, __gnat_is_executable_file,
2100         __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
2101         __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
2102         __gnat_copy_attribs): Adjust all references to the above.
2103         * cstreams.c (__gnat_is_regular_file_fd): Likewise.
2104
2105 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2106
2107         * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
2108         done at the same time, guard against listing a body more than once.
2109
2110 2009-07-23  Robert Dewar  <dewar@adacore.com>
2111
2112         * exp_ch6.adb: Minor reformatting
2113
2114 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2115
2116         * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
2117         static expression is known valid.
2118         * sem_eval.adb (Compile_Time_Compare): Handle properly non-static
2119         operands of a subtype with a single value.
2120
2121 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2122
2123         * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
2124         are in the context of the main unit body.
2125
2126 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2127
2128         * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
2129         misprint in rule description.
2130
2131 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2132
2133         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
2134         test that the object declaration is within an extended return statement
2135         with direct test of whether the declared object associated with the
2136         build-in-place call is a return object, since the enclosing function
2137         might not even be a build-in-place function.
2138
2139 2009-07-23  Robert Dewar  <dewar@adacore.com>
2140
2141         * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
2142         Minor code reorganization
2143
2144 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2145
2146         * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
2147         for static analysis, only packed arrays are causing troubles.
2148
2149 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2150
2151         * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
2152         ancestor part is a call to a limited function with an unconstrained
2153         result subtype unless the aggregate has a null extension type.
2154         * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
2155         the parent type declaration to avoid blowups on subtype cases.
2156
2157 2009-07-23  Robert Dewar  <dewar@adacore.com>
2158
2159         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
2160         comma.
2161
2162         * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
2163
2164         * s-regexp.adb: Minor reformatting
2165         * scos.ads: Minor reformatting.
2166
2167 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2168
2169         * freeze.adb (Set_Small_Size): Remove extra space for consistency with
2170         other similar messages.
2171         * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
2172         messages/implicit packing in CodePeer mode.
2173         (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
2174         * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
2175         CodePeer mode.
2176
2177 2009-07-23  Pascal Obry  <obry@adacore.com>
2178
2179         * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
2180         systems.
2181
2182 2009-07-23  Robert Dewar  <dewar@adacore.com>
2183
2184         * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
2185         Minor reformatting.
2186
2187 2009-07-23  Yannick Moy  <moy@adacore.com>
2188
2189         * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
2190         pattern.
2191         (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
2192         string.
2193         (Raise_Exception): Ditto.
2194
2195 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2196
2197         * g-sse.ads: Simplify comment.
2198
2199 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2200
2201         * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
2202         low level internal type definitions for distinct higher level
2203         binding development activities (user type definitions and
2204         operations).
2205         * gnat_rm.texi: Document it.
2206         * g-ssvety.ads: Use it.
2207         * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
2208         g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
2209         * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
2210         for the "may_alias" attribute.
2211
2212 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2213
2214         * scos.ads: Minor typo fix
2215
2216         * gcc-interface/decl.c (validate_alignment): For the case of an
2217         implicit array base type, look for alignment clause on first subtype.
2218
2219 2009-07-23  Robert Dewar  <dewar@adacore.com>
2220
2221         * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
2222         with tagged parent if tagged parent is fully repped.
2223
2224 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2225
2226         * sem.adb (Walk_Library_Units): Handle properly the case where a unit
2227         in the context depends on the spec of the main unit, by delaying
2228         processing of the main unit body until all other units have been
2229         processed.
2230
2231 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2232
2233         * a-convec.adb: Add comments about suspicious/subtle code.
2234
2235 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2236
2237         * einfo.ads: Document use of Alias in private overriding
2238
2239 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2240
2241         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
2242         an array type, propagate alignment from first subtype to implicit base
2243         type so that other subtypes (such as the itypes for aggregates of the
2244         type) also receive the expected alignment.
2245
2246         * g-comlin.ads: Minor documentation clarification/rewording. 
2247         * scos.ads: Minor comments update.
2248         * lib-writ.ads: Minor reformatting
2249
2250 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2251
2252         * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
2253         of a class-wide interface type that is a return object of a
2254         build-in-place function, bypass the interface-related expansions into
2255         renamings with displacement conversions, etc.
2256         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
2257         for the case where a renaming occurs in a build-in-place context, to
2258         assert that the bypassing of the build-in-place treatment only occurs
2259         in the case of a renaming that is an expansion of a return expression
2260         that is itself a build-in-place function call.
2261
2262 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2263
2264         * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
2265         valid candidate interpretation in a prefixed view if it is hidden, but
2266         overrides an inherited operation declared in the visible part.
2267
2268 2009-07-23  Robert Dewar  <dewar@adacore.com>
2269
2270         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2271         division operands to 64-bit at all in any circumstances.
2272
2273 2009-07-23  Robert Dewar  <dewar@adacore.com>
2274
2275         * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
2276         checking ranges for mod/rem to see if conditional jump will be
2277         generated.
2278         (Analyze_N_Op_Rem): Don't try to check actual lower bounds for
2279         generating special -1 test for rem, generate it whenever both
2280         operands can be negative (match circuit in Sem_Res).
2281         (Analyze_N_Op_Rem): Don't go to base type, no longer needed and
2282         destroys memory of positive range.
2283         * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
2284         checking ranges for mod/rem to see if conditional jump will be generated
2285
2286 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2287
2288         * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
2289         scalar components has non-static bounds, the equivalent aggregate
2290         cannot be built, even if the expression is static, because range checks
2291         will be generated.
2292
2293 2009-07-23  Robert Dewar  <dewar@adacore.com>
2294
2295         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2296         division operands to 64-bit inside a conversion if 64-bit division not
2297         available.
2298
2299 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2300
2301         * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
2302
2303 2009-07-23  Javier Miranda  <miranda@adacore.com>
2304
2305         * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
2306         (Entity/Set_Entity): not available in N_Null_Statement nodes
2307         (Is_Scil_Node): renamed as Is_SCIL_Node
2308         (Scil_Nkind): renamed as SCIL_Nkind
2309         (Scil_Related_Node): renamed as SCIL_Related_Node
2310         (Scil_Target_Prim): renamed as SCIL_Target_Prim
2311         (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
2312         (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
2313         (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
2314         Update documentation
2315         * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
2316         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2317         (New_Scil_Node): Renamed as New_SCIL_Node
2318         * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
2319         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2320         (New_Scil_Node): Renamed as New_SCIL_Node
2321         * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
2322
2323 2009-07-23  Robert Dewar  <dewar@adacore.com>
2324
2325         * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
2326         * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
2327         * einfo.adb: Minor reformatting
2328
2329 2009-07-23  Robert Dewar  <dewar@adacore.com>
2330
2331         * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
2332         cross-referencing the new related code in
2333         Exp_Ch4.Expand_N_Type_Conversion.
2334         * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
2335
2336         * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
2337         Add comment.
2338
2339 2009-07-23  Javier Miranda  <miranda@adacore.com>
2340
2341         * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
2342         Scil_Target_Prim, N_Has_Entity): Add missing documentation.
2343         * exp_disp.ads (Scil_Node_Kind): Ditto.
2344         * exp_disp.adb (Make_DT, Make_Tags): Ditto.
2345         * exp_ch3.adb (Build_Init_Procedure): Ditto.
2346
2347 2009-07-23  Javier Miranda  <miranda@adacore.com>
2348
2349         * einfo.adb (Component_Type): Add missing assertion.
2350         * sem_res.adb (Resolve_Call): Ensure proper kind of entity before
2351         reading attribute Component_Size.
2352         * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
2353         before reading attributes Component_Size and Component_Type.
2354         * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
2355         before reading attribute Component_Type.
2356
2357 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2358
2359         * gnat_rm.texi: Document the GNAT.SSE units.
2360
2361 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2362
2363         * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
2364         not null return if it appears on a subunit.
2365
2366 2009-07-23  Robert Dewar  <dewar@adacore.com>
2367
2368         * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
2369         check right away so it does not get skipped for early returns, e.g.
2370         array assignments.
2371         (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
2372         left-side unless we really know the value is valid.
2373
2374         * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
2375         reformatting. Minor code reorganization. Add comments.
2376
2377 2009-07-23  Robert Dewar  <dewar@adacore.com>
2378
2379         * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
2380         complex condition.
2381
2382 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2383
2384         * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
2385         with test of coverage, to allow specific type objects in extended
2386         returns of class-wide functions. Remove now-unnecessary special-case
2387         tests that allowed this in certain cases of expanded extended returns.
2388
2389 2009-07-23  Javier Miranda  <miranda@adacore.com>
2390
2391         * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
2392         N_Null_Statements (for SCIL nodes).
2393         (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
2394         (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
2395         (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
2396         nodes).
2397         (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
2398         * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
2399         associated with dispatching call.
2400         (Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
2401         (Make_DT, Make_Tags): Add generation of SCIL nodes associated with
2402         initialization of dispatch tables and initialization of tags.
2403         (New_Scil_Node): New function that creates a new SCIL node.
2404         (Build_Init_Procedure): Add generation of SCIL node associated with the
2405         initialization of tags done in the IP subprogram.
2406
2407 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2408
2409         * errout.adb (Error_Msg_NEL): If the entity in the initial message has
2410         Warnings_Off, do not emit continuation messages.
2411
2412         * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
2413         spec.
2414
2415 2009-07-23  Emmanuel Briot  <briot@adacore.com>
2416
2417         * ali.adb: Minor comment update
2418
2419 2009-07-23  Vasiliy Fofanov  <fofanov@adacore.com>
2420
2421         * s-win32.ads (HANDLE): Define to be the same size as address type.
2422         Fix copyright.
2423
2424 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2425
2426         * g-sse.ads: New file. Root of the SSE facilities trees, with
2427         general description and common declarations.
2428         * g-ssvety.ads: New file. Expose user level SSE vector types.
2429         * impunit.adb (Non_Imp_File_Names_95): Register new units.
2430         * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
2431         EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
2432
2433 2009-07-23  Ben Brosgol  <brosgol@adacore.com>
2434
2435         * gnat_ugn.texi: Wordsmithing.
2436
2437 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2438
2439         * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
2440
2441 2009-07-22  Eric Botcazou  <ebotcazou@adacore.com>
2442
2443         * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
2444         they are already of the base type of the index.
2445
2446 2009-07-22  Brett Porter  <porter@adacore.com>
2447
2448         * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
2449
2450 2009-07-22  Robert Dewar  <dewar@adacore.com>
2451
2452         * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
2453         * gnat_ugn.texi: Add documentation for -gnateS switch
2454         * ug_words: Add entry for -gnateS /SCO_OUTPUT
2455         * gcc-interface/Make-lang.in: Update dependencies.
2456
2457         * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
2458         par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
2459         complete information for SCO input/output.
2460
2461 2009-07-22  Sergey Rybin  <rybin@adacore.com>
2462
2463         * gnat_ugn.texi: Update doc for some gnatcheck rules.
2464
2465 2009-07-22  Robert Dewar  <dewar@adacore.com>
2466
2467         * par_sco.adb, par_sco.ads (pscos): New debug routine to output
2468         contents of SCO tables.
2469         * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
2470         scos.adb, scos.ads: New files.
2471         * gcc-interface/Make-lang.in: Update dependencies.
2472
2473         * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
2474         fixes and reformatting.
2475
2476 2009-07-22  Robert Dewar  <dewar@adacore.com>
2477
2478         * g-socket.ads: Minor reformatting
2479
2480 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2481
2482         * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
2483         include the entity kind for following cases of unreferenced entities:
2484         E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
2485
2486 2009-07-22  Ed Falis  <falis@adacore.com>
2487
2488         * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
2489         with taskSuspend.
2490
2491 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2492
2493         * adadecode.c: Make this file compilable outside of GCC.
2494
2495 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2496
2497         * g-socket.adb, g-socket.ads (Check_Selector): Make sure that
2498         (partially) default-initialized socket sets are handled properly by
2499         clearing their Set component.
2500
2501 2009-07-22  Bob Duff  <duff@adacore.com>
2502
2503         * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
2504
2505 2009-07-22  Robert Dewar  <dewar@adacore.com>
2506
2507         * gnat_ugn.texi: Minor reformatting
2508
2509 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2510
2511         * errout.adb (Error_Msg): A style message within an instantiation
2512         should not be labelled as an error.
2513
2514 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2515
2516         * freeze.adb (Freeze_Entity): Do not generate extra formal for function
2517         in initialization expression if function does not have convention Ada.
2518
2519 2009-07-22  Sergey Rybin  <rybin@adacore.com>
2520
2521         * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
2522         '--separate-label' to control label layout.
2523
2524 2009-07-22  Robert Dewar  <dewar@adacore.com>
2525
2526         * exp_tss.ads, sem_eval.adb: Minor reformatting
2527
2528 2009-07-22  Bob Duff  <duff@adacore.com>
2529
2530         * exp_dist.adb, exp_dist.ads: Update comments.
2531
2532 2009-07-22  Brett Porter  <porter@adacore.com>
2533
2534         * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
2535         FPSCR.
2536         * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
2537
2538 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2539
2540         * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
2541         exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
2542         Minor reformatting.
2543         * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
2544         used poor terminology.
2545
2546 2009-07-22  Robert Dewar  <dewar@adacore.com>
2547
2548         * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
2549         * sem_eval.adb, exp_tss.adb: Minor comment update.
2550         * stylesw.adb: Code clean up.
2551
2552 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2553
2554         * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
2555         component size is an exact number of bytes, an array type can have a
2556         size clause that forces packing even though the array type itself is
2557         not bit-packed.
2558
2559 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2560
2561         * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
2562         if there is a previous entity with the same name in the scope, ignore
2563         it if it is the renaming declaration for a generic package introduced
2564         in instances.
2565
2566 2009-07-22  Nicolas Roche  <roche@adacore.com>
2567
2568         * seh_init.c: use RtlAddFunctionTable to register our SEH exception
2569         handler on x86_64 windows.
2570
2571 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2572
2573         * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
2574         false positives in CodePeer, so ignore this pragma in this mode.
2575
2576 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2577
2578         * sem_util.adb, sem_ch10.adb: Minor reformatting
2579
2580         * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
2581         special handling for the case of no data received and Item'First =
2582         Stream_Element_Offset'First.
2583         (Last_Index): New subprogram factoring the above special handling
2584         over the various locations where it is required.
2585
2586 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2587
2588         * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
2589         checks in CodePeer_Mode.
2590         * gcc-interface/Make-lang.in: Update dependencies.
2591
2592 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2593
2594         * sem_aggr.adb: Improve error message.
2595
2596         * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
2597         of an address representation clause.
2598         * freeze.adb (Freeze_Static_Object): An local imported object is legal
2599         if it has an address clause.
2600
2601 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2602
2603         * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
2604         expression to insert an elab check using a conditional expression, be
2605         sure to carry the original list of interpretations to the new location.
2606
2607 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2608
2609         * gnat1drv.adb: Fix spelling error.
2610
2611 2009-07-22  Javier Miranda  <miranda@adacore.com>
2612
2613         * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
2614         at the library level and fix a hidden bug in its implementation: its
2615         functionality for renaming objects was broken because
2616         N_Object_Renaming_Declarations nodes are not a subclass of
2617         N_Declaration nodes (as documented in sinfo.ads).
2618         * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
2619         check nodes that are actuals of generic instantiations.
2620
2621 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2622
2623         * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
2624         context of a compilation unit is being analyzed. Used to detect
2625         circularities created by with_clauses that are not detected by the
2626         loading machinery.
2627         * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
2628         analyzing the context of the current compilation unit, to detect
2629         possible circularities created by with_clauses.
2630
2631 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2632
2633         * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
2634
2635 2009-07-22  Robert Dewar  <dewar@adacore.com>
2636
2637         * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
2638         * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
2639         procedure.
2640         * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
2641         * gnat_ugn.texi: Add documentation of -gnatyB
2642         * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
2643
2644 2009-07-22  Robert Dewar  <dewar@adacore.com>
2645
2646         * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
2647         make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
2648         s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
2649         s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
2650         errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
2651         a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
2652         s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
2653         a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
2654         erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
2655         obey short-circuit style rule.
2656
2657 2009-07-20  Bob Duff  <duff@adacore.com>
2658
2659         * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
2660         instead of "and", because otherwise Parent_Last_Bit is read
2661         uninitialized in the case where it's not a tagged type, or the tagged
2662         parent does not have a complete rep clause.
2663
2664 2009-07-20  Robert Dewar  <dewar@adacore.com>
2665
2666         * stylesw.ads: Minor documentation change.
2667
2668         * types.ads: Minor reformatting
2669
2670 2009-07-20  Javier Miranda  <miranda@adacore.com>
2671
2672         * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
2673         generating the tag checks associated with dispatching calls.
2674         * exp_disp.adb (Apply_Access_Checks): New subprogram.
2675         (New_Value): This routine was previously local to expand dispatching
2676         calls but it is now used also by Apply_Access_Checks.
2677         (Expand_Dispatching_Calls): Cleanup code because the functionality of
2678         tag checks is now provided by Apply_Access_Checks. 
2679         * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
2680         case of dispatching calls.
2681
2682 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
2683
2684         * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
2685         CodePeer_Mode.
2686
2687 2009-07-20  Gary Dismukes  <dismukes@adacore.com>
2688
2689         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
2690         for VMS, only rewrite the first component of the associated exception's
2691         aggregate init (as 'V'), and eliminate the bogus rewrites of the second
2692         and third components  that were being replaced with 'M' and 'S'.
2693
2694 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
2695
2696         * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
2697         Also do not generate error when parsing a spec in CodePeer mode.
2698
2699 2009-07-20  Javier Miranda  <miranda@adacore.com>
2700
2701         * checks.adb (Apply_Access_Check): Avoid checks on availability of
2702         runtime function Offset_To_Top_Ptr when compiling with no tagged
2703         types expansion.
2704         * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
2705         adding code to the init proc when compiling for VM backends.
2706
2707 2009-07-20  Vincent Celier  <celier@adacore.com>
2708
2709         * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
2710         account switches -gnatw.?
2711
2712 2009-07-20  Thomas Quinot  <quinot@adacore.com>
2713
2714         * sem_dist.adb, exp_dist.adb: Minor reformatting
2715
2716         * Make-generated.in: New file.
2717
2718         * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
2719
2720 2009-07-20  Javier Miranda  <miranda@adacore.com>
2721
2722         * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
2723         subprogram.
2724         * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
2725         dynamically tagged expression.
2726         * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
2727         factorizes code.
2728         * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
2729         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
2730
2731 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
2732
2733         * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
2734         CodePeer_Mode is set, to benefit from full front-end expansion
2735         (e.g. generics).
2736
2737 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
2738
2739         * sem_res.adb: Add guard.
2740
2741         * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
2742         for possible attribute definition of External_Tag, in case clause
2743         appears in the private part of a package.
2744
2745 2009-07-20  Jerome Guitton  <guitton@adacore.com>
2746
2747         * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
2748
2749 2009-07-20  Vadim Godunko  <godunko@adacore.com>
2750
2751         * a-coorma.adb: Minor reformatting.
2752
2753 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
2754
2755         * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
2756         access return types.
2757         * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
2758         provide an itype reference to gigi to force elaboration of the subtype
2759         at the proper point.
2760
2761 2009-07-20  Tristan Gingold  <gingold@adacore.com>
2762
2763         * g-expect.adb: Avoid closeing already closed handle.
2764
2765 2009-07-20  Robert Dewar  <dewar@adacore.com>
2766
2767         * sprint.adb (Write_Subprogram_Name): New procedure to output
2768         subprogram name with possible preceding $ (replaces
2769         Note_Implicit_Run_Time_Call).
2770
2771 2009-07-20  Robert Dewar  <dewar@adacore.com>
2772
2773         * vms_data.ads: Minor reformatting
2774
2775         * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
2776         applies to base type.
2777         (Parent_Subtype): Now allowed on record subtype, applies to base type
2778         * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
2779         for case of fully repped tagged type.
2780         (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
2781         tag save/restore for fully repped tagged type case.
2782         * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
2783         * fe.h (Is_Fully_Repped_Tagged_Type): New function
2784         * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
2785         overlap of tagged type components with parent type if parent type is
2786         fully repped.
2787         * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
2788
2789         * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
2790         comparisons.
2791         (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
2792         (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
2793
2794         * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
2795         logical operators (AND/OR/XOR), not comparison operators.
2796
2797         * sprint.ads: Minor reformatting
2798
2799 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
2800
2801         * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
2802         intrinsics, check that argument is a string literal, rather than
2803         checking for staticness.
2804
2805 2009-07-20  Robert Dewar  <dewar@adacore.com>
2806
2807         * sem_ch13.adb: Minor reformatting
2808
2809         * einfo.ads: Minor reformatting
2810         Component_Bit_Offset is no longer considered obsolescent
2811
2812 2009-07-20  Nicolas Roche  <roche@adacore.com>
2813
2814         * a-calend.adb: Redefine time_t as signed integer with same size as
2815         Address type.
2816         * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
2817         Address type
2818         * adaint.h: On Windows 64bits declare OS_Time as long long instead of
2819         long
2820
2821 2009-07-20  Javier Miranda  <miranda@adacore.com>
2822
2823         * exp_tss.adb (Init_Proc): Add missing support for non-default C++
2824         constructors that have anonymous access type formals.
2825
2826         * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
2827         class-wide arguments in case of imported C++ subprograms.
2828
2829         * exp_ch3.adb (Build_Initialization_Call): Add assertion.
2830
2831 2009-07-20  Sergey Rybin  <rybin@adacore.com>
2832
2833         * vms_data.ads: Update qualifiers.
2834
2835 2009-07-20  Robert Dewar  <dewar@adacore.com>
2836
2837         * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
2838         reformatting
2839
2840 2009-07-17  Richard Guenther  <rguenther@suse.de>
2841
2842         PR c/40401
2843         * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
2844         state.  Remove unused parameter.
2845         (gnat_gimplify_function): Do not gimplify here.
2846         Fold into its only caller and remove.
2847         (gnat_builtin_function): Adjust for end_subprog_body signature change.
2848         (gnat_write_global_declarations): Also finalize the CU.
2849         * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
2850         * gcc-interface/trans.c (gigi): Revert to pre-tuples state.
2851         (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
2852         change.
2853         * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
2854
2855 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
2856
2857         * gcc-interface/Make-lang.in: Update dependencies
2858
2859         * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
2860
2861 2009-07-15  Robert Dewar  <dewar@adacore.com>
2862
2863         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
2864         N_Label. Remove SCO table entry for entry point (not used).
2865
2866         * par_sco.ads: Remove SCO entry point type (not used)
2867
2868         * switch.adb: Minor code clean up.
2869
2870 2009-07-15  Eric Botcazou  <ebotcazou@adacore.com>
2871
2872         * exp_dbug.ads (Base Record Types): Document enhanced encoding.
2873
2874 2009-07-15  Thomas Quinot  <quinot@adacore.com>
2875
2876         * gnatls.adb: Minor reformatting
2877
2878         * gnatcmd.adb: Minor code reorganization
2879
2880 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
2881
2882         * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
2883         determine whether a component of a private type has a composite type.
2884
2885 2009-07-15  Robert Dewar  <dewar@adacore.com>
2886
2887         * sem_ch10.adb: Minor reformatting throughout
2888         Minor code reorganization (put nested subprograms in alpha order)
2889
2890 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
2891
2892         * exp_ch6.adb (Expand_Call): Prevent double attachment of the result
2893         when compiling a call to a protected function that returns a controlled
2894         object.
2895
2896 2009-07-15  Hristian Kirtchev  <kirtchev@adacore.com>
2897
2898         * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
2899         one. Add task locking and unlocking around the critical region which
2900         mentions localtime_r and global variable timezone for various targets.
2901         Comment reformatting.
2902
2903 2009-07-15  Robert Dewar  <dewar@adacore.com>
2904
2905         * gnat_rm.texi: Document s-ststop.ads
2906
2907         * impunit.ad: (Map_Array): New table of alternative names
2908         (Get_Kind_Of_Unit): Return possible suggested alternative name
2909
2910         * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
2911         alternative name.
2912
2913         * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
2914         alternative unit if an implementation unit is with'ed.
2915
2916 2009-07-15  Robert Dewar  <dewar@adacore.com>
2917
2918         * gnat_ugn.texi: Minor updates.
2919
2920         * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
2921
2922 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
2923
2924         * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
2925         conditions of a derived boolean type.
2926         Minor reformatting
2927
2928 2009-07-15  Robert Dewar  <dewar@adacore.com>
2929
2930         * gnat1drv.adb: Initialize SCO tables
2931
2932         * par-load.adb: Call SCO_Record for main unit spec
2933
2934         * par.adb: Make call to SCO_Record for main unit
2935
2936         * par_sco.adb (Unit_Table): Change format to facilitate sort
2937         (Process_Decisions): New procedure with list argument
2938         (Traverse_Generic_Package_Declaration): New procedure
2939         (Initialize): New procedure, replaces Init
2940         (SCO_Output): Sort unit table before output
2941         (SCO_Record): Avoid duplications
2942         (SCO_Record): Handle remaining cases of units
2943         (Traverse_Declarations_Or_Statements): Handle generics
2944
2945         * par_sco.ads (Initialize): New peocedure (replaces Init)
2946
2947         * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
2948         subunit.
2949
2950 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
2951
2952         * debug.adb: Add -gnatd.J switch for now to support scil generation in
2953         parallel. Add missing doc for -gnatd.I and -gnatd.O
2954
2955 2009-07-15  Robert Dewar  <dewar@adacore.com>
2956
2957         * lib-load.adb: Minor reformatting
2958
2959         * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
2960
2961 2009-07-15  Robert Dewar  <dewar@adacore.com>
2962
2963         * par.adb: Minor reformatting
2964         Add ??? comment for possible bad comment
2965
2966         * par-ch10.adb: Minor reformatting
2967
2968 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
2969
2970         * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
2971         is a literal of a derived boolean type, it appears as an unchecked
2972         conversion. Retrieve actual value from expression of conversion.
2973
2974 2009-07-15  Robert Dewar  <dewar@adacore.com>
2975
2976         * sem_ch3.adb: Minor reformatting
2977
2978         * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
2979         lib-writ.ads, lib-writ.adb: Minor reformatting.
2980         Fix problem with SCO format in ALI files
2981
2982 2009-07-15  Robert Dewar  <dewar@adacore.com>
2983
2984         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
2985         exp_aggr.adb: Minor code reorganization (better calling sequence for
2986         Make_Temporary).
2987
2988 2009-07-15  Thomas Quinot  <quinot@adacore.com>
2989
2990         * opt.ads: Minor comment edits
2991
2992 2009-07-15  Tristan Gingold  <gingold@adacore.com>
2993
2994         * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
2995         needed.
2996
2997 2009-07-15  Robert Dewar  <dewar@adacore.com>
2998
2999         * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
3000         information.
3001
3002         * lib-writ.ads: Document addition of SCO lines to ALI file
3003
3004         * par_sco.ads, par_sco.adb: New files.
3005
3006         * opt.ads (Generate_SCO): New switch
3007
3008         * par.adb (Par): Call SCO_Record to record SCO information
3009
3010         * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
3011
3012         * switch-c.adb: Recognize -gnateS to generate SCO information
3013
3014         * usage.adb: Add line for -gnateS
3015
3016         * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
3017
3018 2009-07-15  Robert Dewar  <dewar@adacore.com>
3019
3020         * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
3021         reformatting.
3022
3023 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3024
3025         * g-socthi-mingw.adb: Minor comment addition
3026
3027         * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
3028
3029 2009-07-15  Robert Dewar  <dewar@adacore.com>
3030
3031         * g-htable.ads, s-htable.ads: Minor reformatting
3032
3033 2009-07-15  Robert Dewar  <dewar@adacore.com>
3034
3035         * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
3036         new switch -gnatw.g.
3037         (Set_GNAT_Mode_Warnings): New procedure.
3038
3039         * lib-xref.adb: Minor reformatting
3040
3041 2009-07-15  Robert Dewar  <dewar@adacore.com>
3042
3043         * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
3044         Minor code reorganization
3045
3046 2009-07-14  Taras Glek  <tglek@mozilla.com>
3047             Rafael Espindola  <espindola@google.com>
3048
3049         * gcc-interface/Make-lang.in (ada.install-plugin): New target for
3050         installing plugin headers.
3051
3052 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3053
3054         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3055         exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
3056         and link it to the expression whose value it captures.
3057
3058 2009-07-13  Robert Dewar  <dewar@adacore.com>
3059
3060         * output.adb: Minor comment addition for last change
3061
3062         * sinfo.ads: Minor reformatting
3063
3064 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3065
3066         * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
3067         spawn failed like on all other targets.
3068
3069 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3070
3071         * exp_ch7.adb: Indicate origin of temporary for transient expression.
3072
3073 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3074
3075         * s-oscons-tmplt.c: Add comment.
3076
3077 2009-07-13  Robert Dewar  <dewar@adacore.com>
3078
3079         * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
3080         reformatting. Minor code reorganization (add 9 argument version of
3081         Nkind_In).
3082
3083         * impunit.adb: Remove s-os_lib from list of system extensions.
3084
3085         * sem_util.ads: Minor reformatting
3086
3087         * output.adb: Add warnings off/on around System.OS_Lib.
3088
3089 2009-07-13  Bob Duff  <duff@adacore.com>
3090
3091         * exp_dist.adb: Minor comment updates.
3092
3093 2009-07-13  Gary Dismukes  <dismukes@adacore.com>
3094
3095         * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
3096         several references to CodePeer.
3097
3098 2009-07-13  Bob Duff  <duff@adacore.com>
3099
3100         * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
3101         Build_TypeCode_Function_All): Do not recurse if the type is the base
3102         type.
3103
3104 2009-07-13  Robert Dewar  <dewar@adacore.com>
3105
3106         * exp_ch4.adb: Minor comment change
3107
3108 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3109
3110         * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
3111         type of iteration, to prevent spurious warnings.
3112
3113 2009-07-13  Nicolas Roche  <roche@adacore.com>
3114
3115         * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
3116         included.
3117
3118 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3119
3120         * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
3121         gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
3122         Generate_SCIL.
3123         (CodePeer_Mode): New -gnatC switch.
3124         (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
3125         CodePeer_Mode.
3126
3127 2009-07-13  Eric Botcazou  <ebotcazou@adacore.com>
3128
3129         * checks.adb (Selected_Range_Checks): Do not consider that a non-static
3130         integer bound forces the check if it is compared to its subtype range.
3131
3132 2009-07-13  Robert Dewar  <dewar@adacore.com>
3133
3134         * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
3135         prj-strt.ads: Minor reformatting
3136
3137 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3138
3139         * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
3140         set the type of the From_Any call to the base type.
3141
3142 2009-07-13  Doug Rupp  <rupp@adacore.com>
3143
3144         * symbols-processing-vms-ia64.adb (Process): Add variables and
3145         constants to retrieve and check for symbol visibility.
3146
3147 2009-07-13  Javier Miranda  <miranda@adacore.com>
3148
3149         * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
3150         the identical type we remove the conversion completely because
3151         it is useless.
3152
3153 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3154
3155         * prj-err.adb (Error_Msg): One more case where a message should be
3156         considered as a warning.
3157
3158         * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
3159
3160 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3161
3162         * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
3163         calling stubs in the (library level) scope of the RCI locator, where it
3164         is attached, not in the caller's scope.
3165
3166 2009-07-13  Javier Miranda  <miranda@adacore.com>
3167
3168         * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
3169         interface object declarations we delay the generation of the equivalent
3170         record type declarations until its expansion because there are cases in
3171         which they are not required.            
3172
3173         * sem_util.adb (Implements_Interface): Add missing support for subtypes.
3174
3175         * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
3176         addition of assertion.
3177
3178         * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
3179         interface types require no equivalent constrained type declarations
3180         because the expanded code only references the tag component associated
3181         with the interface.
3182         (Find_Interface_Tag): Improve management of interfaces that are
3183         ancestors of tagged types.
3184
3185         * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
3186         class-wide object declarations to add missing support to statically
3187         displace the pointer to the object to reference the tag component
3188         associated with the interface.
3189
3190         * exp_disp.adb (Make_Tags) Avoid generation of internally generated
3191         auxiliary types associated with user-defined dispatching calls if the
3192         type has no user-defined primitives.
3193
3194 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3195
3196         * mingw32.h: Make it explicit that we need XP or later.
3197
3198         * initialize.c: Remove useless extern symbol declaration.
3199
3200         * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
3201         code reuse in expect.c.
3202
3203         * adaint.c: Changes throughout the Windows section to redesign storage
3204         of the child process list and the process identification.
3205
3206         * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
3207         for interfacing, fix errors.
3208         (__gnat_expect_portable_execvp): use function in adaint.c
3209
3210 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3211
3212         * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
3213         prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
3214         prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
3215         errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
3216         (Prj.Nmsc.Report_Error): Removed, no longer needed.
3217         Always use Prj.Err.Report_Message.
3218
3219 2009-07-13  Robert Dewar  <dewar@adacore.com>
3220
3221         * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
3222         & comment edits.
3223
3224 2009-07-13  Robert Dewar  <dewar@adacore.com>
3225
3226         * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
3227         prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
3228
3229 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3230
3231         * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
3232         mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
3233         Ada_Prj_Include_File_Set): Removed, since not needed
3234         Code clean up.
3235
3236 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3237
3238         * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
3239         Analyze_Membership_Op.
3240
3241         * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
3242         Resolve_Membership_Op.
3243
3244         * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
3245         Expand_N_In.
3246
3247 2009-07-13  Robert Dewar  <dewar@adacore.com>
3248
3249         * clean.adb: Minor reformattting
3250
3251 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3252
3253         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
3254         gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
3255         prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
3256         prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
3257         and attributes in a project tree.
3258         (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
3259         Remove last remaining mode-specific code (ada_only or
3260         multi_language). This was duplicating code
3261         (Get_Mode, Set_Mode): removed, no longer used.
3262         (Initialize_Project_Path): all tools will now take into account both
3263         GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
3264         Remove some global variables and subprograms no longer used
3265         Make temporary files tree-specific, to avoid interferences between
3266         trees loaded in memory at the same time.
3267         (Prj.Delete_Temporary_File): new subprogram
3268         (Object_Paths, Source_Paths): fields no longer stored in the project
3269         tree, since they are only needed locally in Set_Ada_Paths.
3270         (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
3271         effect in practice.
3272         (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
3273         by local variables in the appropriate subprograms
3274         (Has_Foreign_Sources): removed.
3275
3276         * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
3277
3278 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3279
3280         * gnat1drv.adb (Adjust_Global_Switches): No longer set
3281         Back_Annotate_Rep_Info in inspector mode.
3282         (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
3283
3284         * opt.ads: Update comment.
3285
3286 2009-07-13  Robert Dewar  <dewar@adacore.com>
3287
3288         * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
3289         prj.ads: Minor reformatting and code reorganization.
3290
3291         * par-ch3.adb (Check_Restricted_Expression): New procedure
3292
3293 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3294
3295         * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
3296         attribute into a call of the corresponding suprogram, create extra
3297         formals for the subprogram, because it may be a renaming whose
3298         analysis does not create extra formals.
3299
3300 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3301
3302         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
3303         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3304         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
3305         prj-tree.ads: Minor reformatting.
3306         (Processing_Flags): new record to encapsulate the set of common
3307         parameters to several subprograms in the project manager.
3308         (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
3309         Remove the need for the Current_Dir parameter in subprograms.
3310         (Look_For_Sources): minor refactoring, now that we no longer need to
3311         share subprograms between the two Ada_Only and Multi_Language modes
3312         (Processing_Flags): New field Error_On_Unknown_Language.
3313         Merge tests for library project between gnatmake and gprbuild.
3314
3315 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3316
3317         * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
3318         Minor reformatting.
3319
3320 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3321
3322         * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
3323         than units.
3324
3325 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3326
3327         * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
3328         Write,Input,Output} from private view to full view.
3329
3330         * sem_type.adb, sem_type.ads: Minor reformatting
3331
3332 2009-07-13  Nicolas Setton  <setton@adacore.com>
3333
3334         * exp_dbug.ads: Add documentation note on the utility of
3335         DW_AT_GNAT_encoding for IDEs.
3336
3337 2009-07-13  Robert Dewar  <dewar@adacore.com>
3338
3339         * g-socthi-vxworks.adb: Minor reformatting
3340
3341         * gnatcmd.adb: Minor reformatting
3342
3343 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3344
3345         * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
3346         removed, not used anymore.
3347         (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
3348         New subprogram, implements copy of an Any value into a limited object.
3349         (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
3350         Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
3351         Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
3352         of parameters of a limited type, use the above new subprogram.
3353
3354 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3355
3356         * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
3357         Location.
3358         (Copy_ALI_Files): Avoid calls to read when pointing outside of the
3359         allocated space.
3360         (Error_Report): Remove global variable, replaced by parameters.
3361
3362 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3363
3364         * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
3365         standard sendto(2) interface for connected sockets (passing a null
3366         destination address). Use send(2) instead for that case.
3367
3368 2009-07-13  Pascal Obry  <obry@adacore.com>
3369
3370         * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
3371
3372 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3373
3374         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
3375         prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
3376         variables and tables in prj-nmsc.adb.
3377         (Tree_Processing_Data): Renames Processing_Data, some new fields added
3378         (Project_Processing_Data): New record
3379         Simplify/unify check for missing sources.
3380
3381 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3382
3383         * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
3384         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3385         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
3386         prj-tree.ads (Immediate_Directory_Of): Removed.
3387         (Prj.Pars): Now parse the project simulating a default config file.
3388         (Add_Default_GNAT_Naming_Scheme): New subprogram
3389         (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
3390         Remove gnatmake-specific parsing of source files.
3391         (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
3392         the error itself to provide more precise diagnostics.
3393         (Process_Exceptions_Unit_Based): Avoid duplicate error message when
3394         a unit belongs to several projects.
3395         (Copy_Interface_Sources): Search the full path of files to copy in the
3396         list of sources of the application rather than in the list of units.
3397         (Parse_Project_And_Apply_Config): Do not reset the name of the main
3398         project file.
3399         (Check_File): Use htables to find out whether a source is duplicated.
3400         (Add_Source): check whether the source or unit were already seen earlier
3401
3402         * gcc-interface/Makefile.in: Update gnatmake dependencies.
3403
3404 2009-07-13  Robert Dewar  <dewar@adacore.com>
3405
3406         * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
3407         expression if extensions permitted.
3408
3409         * par-ch4.adb (P_Membership_Test): New procedure (implement membership
3410         set tests).
3411         (P_Relation): Use P_Membership_Test
3412
3413         * par.adb (P_Membership_Test): New procedure (implement membership set
3414         tests).
3415
3416         * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
3417
3418         * sprint.adb (Sprint_Node): Handle set form for membership tests.
3419
3420 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3421
3422         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
3423         Do not attempt to generate stubs for predefined primitives of
3424         synchronized interfaces.
3425         (Add_Stub_Type): Factor some code from the PCS-specific variants of
3426         Build_Stub_Type.
3427
3428 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3429
3430         * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
3431         Controlling_Result flag from the operation they override.
3432
3433 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3434
3435         * gcc-interface/Make-lang.in: Update dependencies
3436
3437 2009-07-13  Robert Dewar  <dewar@adacore.com>
3438
3439         * gnat_ugn.texi: The gnatf switch no longer is needed to get full
3440         details on unsupported constructs.
3441
3442         * rtsfind.adb: Remove references to All_Errors_Mode, give errors
3443         unconditionally.
3444
3445         * s-trafor-default.adb: Correct some warnings
3446
3447         * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
3448         sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
3449         Minor reformatting.
3450
3451         * par-ch4.adb (Conditional_Expression): Capture proper location for
3452         conditional expression, should point to IF.
3453
3454         * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
3455         s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
3456         g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
3457         reorganization (use conditional expressions).
3458
3459 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3460
3461         * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
3462         build-in-place function that returns an inherently limited type (not
3463         just a task type) create proper object declaration so that extra
3464         build-in-place actuals are properly added to the call.
3465
3466 2009-07-13  Robert Dewar  <dewar@adacore.com>
3467
3468         * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
3469
3470         * gnat_ugn.texi: Add documentation for -gnatw.m/.M
3471
3472         * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
3473
3474         * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
3475         Warn_On_Suspicious_Modulus_Value.
3476
3477         * ug_words: Add entries for -gnatw.m/-gnatw.M.
3478
3479         * usage.adb: Add lines for -gnatw.m/.M switches.
3480
3481         * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
3482
3483 2009-07-13  Javier Miranda  <miranda@adacore.com>
3484
3485         * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
3486         reading the Is_Interface attribute of the dispatching type.
3487
3488 2009-07-13  Robert Dewar  <dewar@adacore.com>
3489
3490         * a-convec.adb: Minor code reorganization (use conditional expressions)
3491
3492 2009-07-13  Robert Dewar  <dewar@adacore.com>
3493
3494         * freeze.adb (Check_Suspicious_Modulus): New procedure.
3495
3496 2009-07-13  Robert Dewar  <dewar@adacore.com>
3497
3498         * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
3499         warning).
3500
3501         * par-ch4.adb: Minor reformatting
3502
3503 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3504
3505         * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
3506         => Is_Atomic_Aggregate
3507
3508 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3509
3510         * prj-nmsc.adb: Avoid traversing the list of source files if
3511         we have already processed all locally removed files.
3512
3513 2009-07-13  Jose Ruiz  <ruiz@adacore.com>
3514
3515         * gnat_ugn.texi: Fix typo.
3516
3517 2009-07-13  Robert Dewar  <dewar@adacore.com>
3518
3519         * freeze.adb: Minor reformatting
3520         Minor code reorganization (use Nkind_In)
3521
3522         * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
3523
3524 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
3525
3526         * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
3527         local variable and do not test it in Compile_Time_Bad_Alignment.
3528         Do not issue size or alignment warnings for the X'Address form.
3529         * sem_util.ads (Find_Overlaid_Object): Delete.
3530         (Find_Overlaid_Entity): New procedure.
3531         * sem_util.adb (Find_Overlaid_Object): Rename to...
3532         (Find_Overlaid_Entity): ...this and turn into a procedure.  Report
3533         whether the address is offseted within the overlaid entity.
3534         (Has_Compatible_Alignment): Track the offset globally instead of
3535         passing it to Check_Offset.  For an indexed component, compute the
3536         full offset when possible.  If the resulting offset is zero, only
3537         check the prefix.
3538         (Check_Offset): Delete.
3539         * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
3540         (Address_Aliased_Entity): Delete.
3541         (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
3542         Find_Overlaid_Entity to find the overlaid entity and the offset.
3543         Adjust throughout for above change.
3544         (Validate_Address_Clauses): Always use attributes of entities, not of
3545         their type.  Tweak message for warning.  Call Has_Compatible_Alignment
3546         if the address is offseted to warn about incompatible alignments.
3547         * gcc-interface/gigi.h (annotate_object): Declare.
3548         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
3549         entity.  Call annotate_object instead of annotating manually objects.
3550         (annotate_object): New function.
3551         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
3552         at the end.
3553
3554 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
3555
3556         * gcc-interface/ada-tree.h: Minor reorganization.
3557         * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
3558         (gnat_print_type): Likewise.
3559
3560 2009-07-11  Thomas Quinot  <quinot@adacore.com>
3561
3562         * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
3563         Lvalue -> lvalue
3564
3565         * exp_ch6.adb: Minor reformatting
3566
3567 2009-07-11  Ed Schonberg  <schonberg@adacore.com>
3568
3569         * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
3570         account possible type qualification to determine whether aggregate
3571         needs a target temporary to respect atomic type or object.
3572
3573         * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
3574         Expand_Atomic_Aggregate.
3575
3576 2009-07-11  Emmanuel Briot  <briot@adacore.com>
3577
3578         * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
3579         algorithm.
3580         (Excluded_Sources_Htable): No longer a global table.
3581         Change error message to indicate which files are illegal in the list
3582         of excluded files, as opposed to only the location in the project
3583         file.
3584         (Find_Source): New subprogram.
3585
3586 2009-07-10  Thomas Quinot  <quinot@adacore.com>
3587
3588         * exp_ch7.adb: Update comments.
3589
3590 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
3591
3592         * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
3593         clause if -gnatI is set instead of crashing.
3594
3595 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3596
3597         * sem_ch11.adb (Same_Expression): Null is always equal to itself.
3598         Additional work to remove redundant successive raise statements, in
3599         this case access checks.
3600
3601 2009-07-10  Vincent Celier  <celier@adacore.com>
3602
3603         * make.adb (Compile): Always create a deep copy of the mapping file
3604         argument (-gnatem=...) as it may be deallocate/reallocate by
3605         Normalize_Arguments.
3606
3607 2009-07-10  Javier Miranda  <miranda@adacore.com>
3608
3609         * einfo.adb (Directly_Designated_Type): Add assertion.
3610         
3611         * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
3612         access types before using attribute Directly_Designated_Type.
3613
3614 2009-07-10  Emmanuel Briot  <briot@adacore.com>
3615
3616         * prj.ads: Minor typo fix
3617
3618 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3619
3620         * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
3621         special treatment.
3622
3623         * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
3624         subprogram is a function call, resolve properly, to ensure that extra
3625         actuals are added as needed.
3626
3627 2009-07-10  Thomas Quinot  <quinot@adacore.com>
3628
3629         * sem_aggr.adb: Minor comments editing
3630
3631         * exp_tss.adb, exp_ch3.adb: Minor reformatting
3632
3633 2009-07-10  Robert Dewar  <dewar@adacore.com>
3634
3635         * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
3636
3637         * exp_ch4.adb: Add ??? comment for conditional expressions on limited
3638         types.
3639
3640         * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
3641         replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
3642         case of conditional expressions that may not be elaborated.
3643
3644         * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
3645         conditional expression where we may not execute then then or else
3646         branches.
3647
3648 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
3649
3650         * i-cexten.ads (bool): New type.
3651
3652 2009-07-10  Robert Dewar  <dewar@adacore.com>
3653
3654         * sinfo.ads (N_Short_Circuit): New definition
3655         
3656         * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
3657         treepr.adb: Minor code reorganization (use N_Short_Circuit)
3658
3659 2009-07-10  Javier Miranda  <miranda@adacore.com>
3660
3661         * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
3662         non-tagged record types.
3663
3664         * sem_prag.adb
3665         (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
3666         with non-tagged types. Required to import C++ classes that have no
3667         virtual primitives.
3668         (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
3669         returning non-tagged types. For backward compatibility, if the
3670         constructor returns a class wide type we internally change the
3671         returned type to the corresponding non class-wide type.
3672
3673         * sem_aggr.adb
3674         (Valid_Ancestor_Type): CPP_Constructors code cleanup.
3675         (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
3676         (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
3677         (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
3678
3679         * sem_ch3.adb
3680         (Analyze_Object_Declaration): CPP_Constructors code cleanup.
3681
3682         * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
3683
3684         * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
3685
3686         * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
3687
3688         * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
3689         cleanup.
3690         
3691         * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
3692
3693         * gnat_rm.texi
3694         (pragma CPP_Class): Document that it can be used now with non-tagged
3695         record types.
3696         (pragma CPP_Constructor): Document that it can be used now with
3697         functions returning specific types. For backward compatibility
3698         we also support functions returning class-wide types.
3699
3700         * gnat_ugn.texi
3701         (Interfacing with C++ constructors): Update the examples to incorporate
3702         the new syntax in which the functions used to import C++ constructors
3703         return specific types.
3704         (Interfacing with C++ at the Class Level): Update the examples to
3705         incorporate the new syntax in which the functions used to import
3706         C++ constructors return specific types.
3707
3708 2009-07-10  Thomas Quinot  <quinot@adacore.com>
3709
3710         * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
3711         Make_Disp_Conditional_Select_Body,
3712         Make_Disp_Timed_Select_Body): For the case of a type that is neither an
3713         interface nor a concurrent type, the primitive body is empty. Generate
3714         a null statement so that it remains well formed.
3715
3716 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3717
3718         * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
3719         replace references to them in defaulted component expressions with
3720         references to the values of the discriminants of the target object.
3721
3722 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3723
3724         * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
3725         pragma, to capture global references if the context is generic.
3726
3727         * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
3728         appears within the initialization procedure for the corresponding
3729         record, replace it with the proper discriminal.
3730
3731 2009-07-10  Vincent Celier  <celier@adacore.com>
3732
3733         * make.adb: Do not include object directories or library ALI
3734         directories of library projects in the object path.
3735
3736 2009-07-10  Javier Miranda  <miranda@adacore.com>
3737
3738         * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
3739         Typ argument to ensure proper management of access types.
3740
3741 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3742
3743         * exp_ch7.adb (Build_Final_List): If the list is being built for a
3744         Taft-Amendment type, place the finalization list in the package body,
3745         to ensure that the tree for the spec is identical whenever it is
3746         compiled.
3747
3748 2009-07-10  Javier Miranda  <miranda@adacore.com>
3749
3750         * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
3751         inheriting attributes from a private Parent_Base.
3752
3753 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
3754
3755         * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
3756         statements with the same condition.
3757
3758 2009-07-10  Robert Dewar  <dewar@adacore.com>
3759
3760         * exp_ch4.adb (Raise_Accessibility_Error): New procedure
3761
3762 2009-07-09  Tom Tromey  <tromey@redhat.com>
3763
3764         * raise-gcc.c: Include dwarf2h (unconditionally).
3765
3766 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
3767
3768         * sem_ch10.adb (Install_Context): If the unit is a package body,
3769         install the private with_clauses of the corresponding package
3770         declaration.
3771
3772 2009-07-09  Robert Dewar  <dewar@adacore.com>
3773
3774         * checks.adb: Minor reformatting
3775
3776 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
3777
3778         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
3779         into ug_words.
3780
3781 2009-07-09  Thomas Quinot  <quinot@adacore.com>
3782
3783         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
3784         Do not warn for a constant overlaying any constant object
3785
3786 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
3787
3788         * sem_ch10.adb (Install_Context): If the unit is a package body,
3789         install the private with_clauses of the corresponding package
3790         declaration.
3791
3792 2009-07-09  Robert Dewar  <dewar@adacore.com>
3793
3794         * checks.adb: Minor reformatting
3795
3796 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
3797
3798         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
3799         into ug_words.
3800
3801 2009-07-09  Thomas Quinot  <quinot@adacore.com>
3802
3803         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
3804         Do not warn for a constant overlaying any constant object
3805
3806 2009-07-09  Arnaud Charlet  <charlet@adacore.com>
3807
3808         * gcc-interface/Make-lang.in: Update dependencies
3809
3810 2009-07-09  Thomas Quinot  <quinot@adacore.com>
3811
3812         * g-socket.adb (Check_Selector): Do not create local copies of the
3813         socket sets on the stack.
3814
3815 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
3816
3817         * gnat_ugn.texi: Add missing VMS translations.
3818
3819 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
3820
3821         * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
3822         condition, to prevent generation of visible code during expansion,
3823         when Check is not enabled.
3824
3825 2009-07-09  Gary Dismukes  <dismukes@adacore.com>
3826
3827         * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
3828         the check gets registered for any available local handler
3829         (Set_Local_Raise).
3830
3831         * sem_util.adb: Add with and use of Exp_Ch11.
3832         (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
3833         that the check gets registered for any available local handler.
3834
3835         * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
3836         on slice ranges.
3837
3838 2009-07-09  Steve Baird  <baird@adacore.com>
3839
3840         * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
3841         function.
3842         (Expand_N_Exception_Declaration): Fix handling of exceptions
3843         declared in a subprogram.
3844
3845 2009-07-09  Emmanuel Briot  <briot@adacore.com>
3846
3847         * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
3848         multi-unit files.
3849
3850 2009-07-09  Thomas Quinot  <quinot@adacore.com>
3851
3852         * freeze.adb: Minor reformatting
3853
3854         * exp_ch3.adb: Minor comment fix.
3855
3856         * sinfo.ads: Minor comment fix
3857
3858 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
3859
3860         * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
3861
3862 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
3863
3864         * freeze.adb (Freeze_Expression): If the expression is the name of a
3865         function in a call, and the function has not been frozen yet, create
3866         extra formals for it to ensure that the proper actuals are created
3867         when expanding the call.
3868
3869 2009-07-09  Emmanuel Briot  <briot@adacore.com>
3870
3871         * prj-pp.adb (Print): Fix handling of source index when set on a
3872         declaration node.
3873
3874 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
3875
3876         * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
3877         a temporary to the source expression whose value it captures.
3878
3879         * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
3880
3881 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3882
3883         * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
3884         EXPR_LOCATION.
3885
3886 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
3887
3888         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
3889         parameters when the subtype of the actual is not known to be a subrange
3890         of the formal's subtype.
3891         (Expand_Call): Generate a range check only in the E_In_parameter case
3892         (in out parameter range checks are now handled in Expand_Actuals).
3893
3894         * exp_ch4.adb (Expand_N_Slice): Restore code that calls
3895         Enable_Range_Check.
3896
3897 2009-07-07  Robert Dewar  <dewar@adacore.com>
3898
3899         * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
3900
3901 2009-07-07  Javier Miranda  <miranda@adacore.com>
3902
3903         * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
3904         designated type comes from a limited views.
3905
3906 2009-07-07  Emmanuel Briot  <briot@adacore.com>
3907
3908         * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
3909         locally removed files that are later made visible again in an importing
3910         project.
3911
3912 2009-07-07  Robert Dewar  <dewar@adacore.com>
3913
3914         * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
3915
3916 2009-07-07  Sergey Rybin  <rybin@adacore.com>
3917
3918         * gnat_ugn.texi: Add an example to the description of gnatcheck
3919         'Style_Checks' rule option.
3920
3921 2009-07-07  Tristan Gingold  <gingold@adacore.com>
3922
3923         * seh_init.c: Fix inline assembly statement in seh_init.c
3924
3925 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
3926
3927         * sem_warn.adb (Check_References): Do not emit warnings on formals of
3928         an entry body. Only the formals of the entry declaration are traced.
3929
3930 2009-07-07  Robert Dewar  <dewar@adacore.com>
3931
3932         * s-osprim-mingw.adb: Minor code reorganization
3933
3934 2009-07-07  Robert Dewar  <dewar@adacore.com>
3935
3936         * prj-nmsc.adb: Minor reformatting
3937
3938 2009-07-07  Pascal Obry  <obry@adacore.com>
3939
3940         * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
3941         cases where Pattern is longer than Source.
3942
3943 2009-07-07  Pascal Obry  <obry@adacore.com>
3944
3945         * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
3946
3947 2009-07-07  Emmanuel Briot  <briot@adacore.com>
3948
3949         * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
3950         project file.
3951
3952 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
3953
3954         * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
3955         primitive operations, in case one of them is called in the
3956         initialization procedure for the type.
3957
3958 2009-07-07  Robert Dewar  <dewar@adacore.com>
3959
3960         * a-calend.adb: Minor code reorganization (use conditional expressions)
3961
3962         * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
3963         prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
3964         s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
3965         s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
3966         s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
3967         g-comlin.adb, exp_ch11.adb: Minor reformatting.
3968
3969 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
3970
3971         * checks.adb (Generate_Range_Check): Replace type conversions with
3972         unchecked conversions to support the case of performing range checks
3973         on Enum'Val (permits integer values to be converted to enumeration).
3974
3975         * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
3976         Attribute_Succ): Set Do_Range_Check to False before calling
3977         Expand_Pred_Succ, to prevent gigi from generating any range checks.
3978         (Expand_N_Attribute_Reference, case Attribute_Val):
3979         Generate a range check when needed (and set Do_Range_Check to False).
3980
3981         * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
3982         scalar object initialization if needed.
3983
3984         * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
3985         when needed on scalar allocators.
3986         (Expand_N_Qualified_Expression): Generate range check when needed.
3987         (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
3988         Checks on slice ranges handled in Resolve_Slice.
3989
3990         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
3991         when needed, for all scalar assignments, not just discrete.
3992         (Expand_Simple_Function_Return): Resolve the conversion created for a
3993         scalar function return so that the conversion will get expanded to
3994         generate a possible constraint check.
3995
3996         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
3997         in out scalar actuals when subtypes don't match, to ensure generation
3998         of return checks (and set Do_Range_Check to False).
3999         (Expand_Call): Uncomment code to perform range checks, but make it apply
4000         only to in and in out parameters (checks on parameter returns are
4001         handled in Expand_Actuals). If a scalar actual for a call to a derived
4002         subprogram is marked as needing a range check, peform it here (and set
4003         Do_Range_Check to False).
4004
4005         * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
4006         range check on scalar component associations when needed.
4007
4008         * sem_eval.adb (In_Subrange_Of): Return False when the first type has
4009         infinities but the second type does not, as these aren't compatible
4010         floating-point types.
4011
4012         * sem_res.adb (Resolve_Slice): In the case where the prefix of the
4013         slice is itself a slice, pick up the Etype of the prefix. This handles
4014         the case where the prefix was an Image attribute expanded to a slice,
4015         and ensures that we get the subtype with the slice constraint rather
4016         than the unconstrained subbtype of the 'Image.
4017
4018 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4019
4020         * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
4021         overloaded expressions in a conditional expressions.
4022
4023         * sem_res.adb (Resolve): Handle properly overloaded conditional
4024         expressions.
4025
4026 2009-07-07  Robert Dewar  <dewar@adacore.com>
4027
4028         * scng.adb: Minor reformattting
4029
4030         * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
4031         association allows conditional expression without parens.
4032
4033         * par-ch4.adb (P_Name): Attribute arguments can be conditional
4034         expressions without enclosing parentheses, and also as parameters,
4035         indexing expressions etc.
4036         (P_Conditional_Expression): New procedure
4037         (P_Expression_If_OK): New procedure
4038
4039         * par.adb (P_Conditional_Expression): New procedure
4040         (P_Expression_If_OK): New procedure
4041
4042         * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
4043         form of conditional expression.
4044
4045         * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
4046         missing True argument if ELSE argument missing.
4047
4048         * sinfo.adb (Is_Elsif): New flag
4049
4050         * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
4051         part of the language, and the documentation is modified accordingly.
4052         (Is_Elsif): New flag
4053
4054 2009-07-06  Olivier Hainque  <hainque@adacore.com>
4055
4056         * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
4057         setjmp_longjmp): Attach the exception propagation reraise fallback
4058         to the sequence end label location when we have it.
4059
4060 2009-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
4061
4062         PR ada/40608
4063         * init.c (APPLE): Include <mach/mach_init.h>.
4064         (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
4065
4066 2009-07-04  Eric Botcazou  <ebotcazou@adacore.com>
4067
4068         * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
4069         (SET_DECL_LANG_SPECIFIC): Likewise.
4070         (TYPE_RM_VALUE): New macro.
4071         (SET_TYPE_RM_VALUE): Likewise.
4072         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
4073         (TYPE_RM_MIN_VALUE): Likewise.
4074         (TYPE_RM_MAX_VALUE): Likewise.
4075         (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
4076         (SET_TYPE_RM_MIN_VALUE): Likewise.
4077         (SET_TYPE_RM_MAX_VALUE): Likewise.
4078         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
4079
4080 2009-07-04  Laurent GUERBY  <laurent@guerby.net>
4081
4082         PR ada/40631
4083         * tracebak.c (__gnat_backtrace): Fix old-style definition.
4084
4085 2009-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4086
4087         * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
4088
4089 2009-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4090
4091         PR ada/40609
4092         * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
4093         ucontext argument.
4094
4095 2009-07-01  Eric Botcazou  <ebotcazou@adacore.com>
4096
4097         * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
4098
4099 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4100
4101         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
4102         the type of the left operand if it pads a self-referential type when
4103         the right operand is a constructor.
4104
4105         * gcc-interface/lang-specs.h: Fix copyright date.
4106
4107 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4108
4109         * gcc-interface/decl.c: Include tree-inline.h.
4110         (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
4111         * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
4112         * gcc-interface/utils2.c: Include tree-inline.
4113         (known_alignment) <CALL_EXPR>: Likewise.
4114
4115 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4116
4117         * raise-gcc.c: Include dwarf2.h conditionally.
4118         
4119 2009-06-29  Tom Tromey  <tromey@redhat.com>
4120
4121         * raise-gcc.c: Include elf/dwarf2.h.
4122
4123 2009-06-27  Laurent GUERBY  <laurent@guerby.net>
4124
4125         * tb-gcc.c (trace_callback): Add casts to silence warning.
4126
4127 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4128
4129         * tb-gcc.c: Fix copyright notice.
4130
4131 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4132
4133         * init.c (__gnat_set_globals): Add prototype.
4134         * adaint.c (__gnat_binder_supports_auto_init): Likewise.
4135         (__gnat_sals_init_using_constructors): Likewise.
4136         * gcc-interface/utils.c (gnat_pushlevel): Likewise.
4137         (get_block_jmpbuf_decl): Likewise.
4138         (gnat_poplevel): Likewise.
4139         (merge_sizes): Rename local variable.
4140         (copy_type): Likewise.
4141         (build_vms_descriptor32): Likewise.
4142         (build_vms_descriptor): Likewise.
4143         (convert_vms_descriptor64): Likewise.
4144         (convert_vms_descriptor32): Likewise.
4145         (convert_to_fat_pointer): Likewise.
4146         (maybe_unconstrained_array): Likewise.
4147         (def_fn_type): Use promoted type with va_arg.
4148         * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
4149         (substitute_in_type): Rename local variable.
4150         * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
4151
4152 2009-06-26  Laurent GUERBY  <laurent@guerby.net>
4153
4154         * tb-gcc.c (trace_callback): Use char* instead of void*.
4155         * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
4156         * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
4157         (Attribute_to_gnu): Adjust for above change.
4158         (Subprogram_Body_to_gnu): Likewise.
4159         * gcc-interface/utils.c (merge_sizes): Rename local variable.
4160         (copy_type): Likewise.
4161         (build_vms_descriptor32): Likewise.
4162         (build_vms_descriptor): Likewise.
4163         (convert_vms_descriptor64): Likewise.
4164         (convert_vms_descriptor32): Likewise.
4165         (convert_to_fat_pointer): Likewise.
4166         (maybe_unconstrained_array): Likewise.
4167         * gcc-interface/decl.c (substitute_in_type): Likewise.
4168
4169 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4170
4171         * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
4172         (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
4173         of the upper bound of the index types.
4174
4175 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4176
4177         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
4178         out common predicate.  Use the maximum to compute the upper bound of
4179         the index type only when it is not wider than sizetype.  Perform the
4180         comparison in the index type for the generic expression.  Use real
4181         precision to decide whether to generate special types for debugging
4182         information.
4183
4184 2009-06-26  Matthew Gingell  <gingell@adacore.com>
4185
4186         * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
4187
4188 2009-06-26  Vincent Celier  <celier@adacore.com>
4189
4190         * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
4191         default.
4192
4193 2009-06-26  Robert Dewar  <dewar@adacore.com>
4194
4195         * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
4196
4197 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4198
4199         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
4200         correct arguments to create_field_decl.  Remove redundant iteration.
4201         Rewrite computation of the maximum size.
4202         <E_Array_Subtype>: Reorder and simplify handling of special cases.
4203         Rewrite computation of the maximum size.  Use consistent naming.
4204         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
4205         comparison order for consistency.  Use generic integer node to
4206         build the operator and fold the result.
4207
4208 2009-06-25  Vincent Celier  <celier@adacore.com>
4209
4210         * vms_data.ads: Minor comment change
4211
4212 2009-06-25  Gary Dismukes  <dismukes@adacore.com>
4213
4214         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
4215         assignment statement to targeting a caller-provided object when the
4216         result type is an interface type.
4217
4218         * exp_ch6.adb (Expand_Call): Remove redundant test of
4219         Is_Limited_Interface (Is_Inherently_Limited is sufficient).
4220         (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
4221
4222         * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
4223         to OK_For_Limited_Init.
4224
4225         * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
4226         condition so that True is returned for all limited interfaces, not
4227         just synchronized ones. Ignore components of an interface type when
4228         checking for limited components (such a component can be a parent
4229         component).
4230
4231         * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
4232         (OK_For_Limited_Init): Add type parameter.
4233
4234         * sem_ch3.adb (Check_Initialization): Add type in call to
4235         OK_For_Limited_Init.
4236         (OK_For_Limited_Init): Add new type param in call to
4237         OK_For_Limited_Init_In_05.
4238         (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
4239         nonlimited type when the context type is a limited interface. Add type
4240         on recursive calls.
4241
4242         * sem_ch4.adb (Analyze_Allocator): Add type in call to
4243         OK_For_Limited_Init.
4244
4245         * sem_ch6.adb (Check_Limited_Return): Add type in call to
4246         OK_For_Limited_Init.
4247
4248         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
4249         OK_For_Limited_Init.
4250         (Instantiate_Object): Add type in call to OK_For_Limited_Init.
4251
4252         * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
4253         class-wide interface, get the base type before applying Etype, in order
4254         to account for class-wide subtypes.
4255
4256 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4257
4258         * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
4259         prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
4260         between gnatmake and gprbuild.
4261         (Naming_Data): Removed, no longer used
4262         (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
4263         needed locally in one subprogram, no need to store forever in the
4264         structure.
4265         (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
4266         a similar role.
4267         (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
4268         Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
4269         Spec_Suffix_Id_Of): removed, no longer used.
4270
4271 2009-06-25  Javier Miranda  <miranda@adacore.com>
4272
4273         * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
4274         types on qualified expression in calls to imported C++ constructors.
4275
4276         * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
4277         imported C++ constructors.
4278
4279 2009-06-25  Sergey Rybin  <rybin@adacore.com>
4280
4281         * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
4282
4283 2009-06-25  Vincent Celier  <celier@adacore.com>
4284
4285         * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
4286         provided, on Windows change all '/' to '\'.
4287
4288         * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
4289         used. Minor comment changes
4290
4291         * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
4292         Remove_Forbidden_File_Name.
4293
4294 2009-06-25  Quentin Ochem  <ochem@adacore.com>
4295
4296         * prj.ads (Unit_Index): Now general access type.
4297
4298 2009-06-25  Pascal Obry  <obry@adacore.com>
4299
4300         * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
4301
4302 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4303
4304         * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
4305         prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
4306         computed efficiently from the other fields.
4307         (Object_To_Global_Archive): New subprogram
4308         (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
4309         (Override_Kind): Fix handling of separates in Ada.
4310         (Create_Mapping_File): Remove duplicate code
4311         (Naming_Data.Implementation_Exception, Specification_Exception):
4312         field removed, since never used.
4313         (Naming_Data.Specs, .Bodies): field removed, since this is only
4314         used while processing the project and is not needed once the tree
4315         is in memory. This brings Naming_Data and Lang_Naming_Data
4316         closer (same content now, but different use still).
4317
4318 2009-06-25  Pascal Obry  <obry@adacore.com>
4319
4320         * sem_ch4.adb: Minor reformatting.
4321
4322         * a-strsea.adb: Fix confusion between 'Length and 'Last.
4323
4324 2009-06-25  Ed Schonberg  <schonberg@adacore.com>
4325
4326         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
4327         Unchecked_Access): If the context is an interface type, and the prefix
4328         is of the corresponding class-wide type, do not insert a conversion
4329         because the pointer displacement has already taken place, and we must
4330         retain the class-wide type in a dispatching context.
4331
4332 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4333
4334         * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
4335         the previous source file.
4336         (Create_Mapping): Iterate on sources rather than on units.
4337
4338 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4339
4340         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
4341         prj-env.adb, prj-env.ads (Slash): removed, no longer used
4342         (Source_Data): no longer use Path.Name to point to a locally removed
4343         file. Instead we use the field Locally_Removed which is clearer
4344
4345 2009-06-25  Arnaud Charlet  <charlet@adacore.com>
4346
4347         * gcc-interface/Make-lang.in: Remove references to sem_maps.o
4348
4349         * sem_maps.adb, sem_maps.ads: Removed, not used.
4350
4351 2009-06-25  Ed Falis  <falis@adacore.com>
4352
4353         * s-vxwext-rtp.ads: Add missing declaration
4354
4355 2009-06-25  Matthew Gingell  <gingell@adacore.com>
4356
4357         * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
4358         speed up unmapped case.
4359
4360 2009-06-25  Vincent Celier  <celier@adacore.com>
4361
4362         * prj-nmsc.adb (Check): Change error message for illegal abstract
4363         projects.
4364
4365 2009-06-25  Robert Dewar  <dewar@adacore.com>
4366
4367         * gnat_ugn.texi: Add note on use of -gnatct for ASIS
4368
4369 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4370
4371         * fmap.ads: Add documentation on mapping files
4372
4373 2009-06-25  Robert Dewar  <dewar@adacore.com>
4374
4375         * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
4376         reformatting
4377
4378 2009-06-24  Robert Dewar  <dewar@adacore.com>
4379
4380         * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
4381
4382         * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
4383         case.
4384         (Index): Ditto.
4385
4386 2009-06-24  Ed Schonberg  <schonberg@adacore.com>
4387
4388         * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
4389         present when checking whether a call may be interpreted as an indexing
4390         of the result of a call.
4391
4392         * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
4393         body for a null procedure on the freeze actions for the procedure, so
4394         that it will be analyzed at the proper place without premature freezing
4395         of actuals.
4396
4397         * sem_ch3.adb (Check_Completion): Code cleanup. 
4398         Do not diagnose a null procedure without a body, if previous errors
4399         have disabled expansion.
4400
4401 2009-06-24  Doug Rupp  <rupp@adacore.com>
4402
4403         * init.c [VMS] Resignal C$_SIGKILL
4404
4405 2009-06-24  Ed Falis  <falis@adacore.com>
4406
4407         * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
4408         Define ERROR in body for VxWorks 6 kernel
4409
4410 2009-06-24  Pascal Obry  <obry@adacore.com>
4411
4412         * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
4413         in [Send/Receive]_Socket.
4414
4415 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4416
4417         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
4418         prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
4419         to several subprograms.
4420         (Source_Data.Other_Part): Removed, since can be computed from the
4421         language.
4422         (Other_Part): New subprogram.
4423
4424 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4425
4426         * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
4427         the full base name of the file when the suffix doesn't start with a '.'.
4428
4429 2009-06-24  Vincent Celier  <celier@adacore.com>
4430
4431         * prj-nmsc.adb (Check): A project declared abstract is legal if no
4432         attribute Source_Dirs, Source_Files, Source_List_File or Languages is
4433         declared.
4434
4435 2009-06-24  Robert Dewar  <dewar@adacore.com>
4436
4437         * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
4438         prj-env.adb: Minor reformatting
4439
4440 2009-06-24  Ed Falis  <falis@adacore.com>
4441
4442         * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
4443         s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
4444         s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
4445         support for VxWorks SMP.
4446
4447         * gcc-interface/Make-lang.in: Update dependencies
4448
4449 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4450
4451         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
4452         prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
4453         no longer useful.
4454         (Source_Data.Lang_Kind): Removed, since it duplicates information
4455         already available through Language.Config.
4456         (Source_Data.Compile): Removed, since information is already available
4457         through the language.
4458         (Is_Compilable): New subprogram.
4459         (Source_Data.Dependency): Removed, since already available through
4460         the language.
4461         (Source_Data.Object_Exist, Object_Linked): Removed since available
4462         through the language already.
4463         (Unit_Data.File_Names): Is now also set in multi_language mode, to
4464         bring the two modes closer in the resulting data structures.
4465         (Source_Data.Unit): Now a direct pointer to the unit data, rather than
4466         just the name that would point into a hash table.
4467         (Get_Language_From_Name): New subprogram.
4468
4469 2009-06-24  Javier Miranda  <miranda@adacore.com>
4470
4471         * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
4472         visible through limited-with context clauses. In addition, avoid an
4473         extra tag check that is not required when the class-wide
4474         designated types of the operand and target types are
4475         the same entity.
4476         (Tagged_Membership): Handle entities from the limited view.
4477
4478 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4479
4480         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
4481         prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
4482         (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
4483         different vocabularies for similar concepts (Impl/Body_Part and
4484         Spec/Specification).
4485         (Unit_Data): now points directly to a Source_Id, rather than duplicating
4486         some of the information in File_Name_Data. This also saves a bit of
4487         memory. However, since we are now using a pointer we need to test
4488         for null explicitly in several places of the code
4489
4490 2009-06-24  Javier Miranda  <miranda@adacore.com>
4491
4492         * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
4493         from processing the type conversion when the node is
4494         replaced by an N_Raise_Program_Error node.
4495
4496 2009-06-24  Hristian Kirtchev  <kirtchev@adacore.com>
4497
4498         * sem_ch6.adb (Designates_From_With_Type): New routine.
4499         (Process_Formals): Since anonymous access types are no longer flagged
4500         as from with types, traverse the designated type to determine whether
4501         it is coming from a limited view.
4502
4503         * sem_res.adb: Remove with and use clauses for Sem_Ch10.
4504         (Full_Designated_Type): Use Available_View to extract the non-limited /
4505         full view of a type.
4506
4507 2009-06-24  Robert Dewar  <dewar@adacore.com>
4508
4509         * exp_ch6.adb: Minor reformatting
4510
4511         * layout.adb: Minor reformatting
4512
4513         * make.adb: Minor reformatting
4514
4515 2009-06-24  Thomas Quinot  <quinot@adacore.com>
4516
4517         * sem_ch10.adb: Minor code reorganization.
4518
4519 2009-06-24  Eric Botcazou  <ebotcazou@adacore.com>
4520
4521         * ttypes.ads: Minor editing.
4522         
4523 2009-06-24  Robert Dewar  <dewar@adacore.com>
4524
4525         * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
4526         in deciding to do call-by-copy code.
4527
4528 2009-06-24  Vincent Celier  <celier@adacore.com>
4529
4530         * make.adb (Gnatmake): To decide if an executable should be rebuilt,
4531         check if an externally built library file is more current than the
4532         executable.
4533
4534 2009-06-23  Olivier Hainque  <hainque@adacore.com>
4535
4536         * gcc-interface/utils.c (handle_vector_size_attribute): Import from
4537         c-common.c and populate in gnat_internal_attribute_table.
4538         
4539 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4540
4541         * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
4542         Available_View only when designated type of an anonymous access type
4543         is  limited view.
4544
4545 2009-06-23  Robert Dewar  <dewar@adacore.com>
4546
4547         * sem_ch10.adb: Minor reformatting
4548
4549         * ali.ads: Mino reformatting.
4550
4551         * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
4552         turning off inlining if ASIS mode active).
4553         
4554         * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
4555         This belongs in gnat1drv.adb after switches are scanned.
4556
4557 2009-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
4558
4559         * sem_attr.adb: Add with and use clauses for Sem_Ch10.
4560         (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
4561         when dealing with class-wide types. Detect a legal shadow entity and
4562         retrieve its non-limited view.
4563
4564         * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
4565         subprogram to top package level from Intall_Limited_Withed_Unit.
4566         (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
4567         Add check which prevents the installation of a limited view if the
4568         non-limited view is already visible through a with clause.
4569         (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
4570         legal shadow entity which may occur in subprogram formals of anonymous
4571         access type.
4572
4573         * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
4574
4575         * sem_ch3.adb (Access_Definition): Remove the propagation of flag
4576         From_With_Type from the designated type to the generated anonymous
4577         access type. Remove associated comment.
4578
4579         * sem_res.adb Add with and use clauses for Sem_Ch10.
4580         (Full_Designated_Type): Detect a legal shadow entity and retrieve its
4581         non-limited view. Since the shadow entity may replace a regular
4582         incomplete type, return the available full view.
4583
4584 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4585
4586         * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
4587         incomplete type declarations. Previous code was potentially quadratic
4588         in the number of visible declarations in any package appearing in a
4589         limited_with_clause.
4590
4591 2009-06-23  Robert Dewar  <dewar@adacore.com>
4592
4593         * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
4594         xref_lib.adb: Minor reformatting
4595
4596 2009-06-23  Robert Dewar  <dewar@adacore.com>
4597
4598         * a-stzhas.adb: Provide dummy body to avoid build problems with old
4599         versions which did have a body for this unit.
4600
4601 2009-06-23  Vincent Celier  <celier@adacore.com>
4602
4603         * prj-attr.adb: Attribute names Initial_Required_Switches and
4604         Final_Required_Switches changed to Leading_Required_Switches and
4605         Trailing_Required_Switches.
4606
4607         * prj-nmsc.adb (Process_Compiler): Attribute names
4608         Initial_Required_Switches and Final_Required_Switches changed to
4609         Leading_Required_Switches and Trailing_Required_Switches.
4610
4611         * prj.ads (Language_Config): Component Initial_Required_Switches and
4612         Final_Required_Switches changed to Leading_Required_Switches and
4613         Trailing_Required_Switches.
4614
4615         * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
4616         Final_Required_Switches; add standard names Leading_Required_Switches
4617         and Trailing_Required_Switches.
4618
4619 2009-06-23  Thomas Quinot  <quinot@adacore.com>
4620
4621         * prj-conf.adb: Minor reformatting
4622
4623         * xref_lib.adb: Minor cleanup
4624
4625 2009-06-23  Emmanuel Briot  <briot@adacore.com>
4626
4627         * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
4628         prj-conf.ads (Check_Configuration): New parameter
4629         Compiler_Driver_Mandatory.
4630
4631 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4632
4633         * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
4634         context of the current unit has an inline pragma, the instance is not
4635         rewritten as the declaration of the package wrapper. Handle both
4636         possibilities when retrieving the visible subprogram that renames the
4637         instantiation itself.
4638
4639 2009-06-23  Javier Miranda  <miranda@adacore.com>
4640
4641         * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
4642         designated types referencing entities from the limited view.
4643
4644 2009-06-23  Robert Dewar  <dewar@adacore.com>
4645
4646         * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
4647
4648         * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
4649         small values
4650
4651         * prj-conf.ads: Minor reformatting
4652
4653         * prj-conf.adb: Minor reformatting
4654
4655 2009-06-23  Vasiliy Fofanov  <fofanov@adacore.com>
4656
4657         * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
4658         to correspond to the log format that gnatmem now expects.
4659
4660 2009-06-23  Vincent Celier  <celier@adacore.com>
4661
4662         * prj-attr.adb: New attributes Initial_Required_Switches,
4663         Final_Required_Switches and Object_File_Switches
4664         
4665         * prj-nmsc.adb (Process_Compiler): Process new attributes
4666         Name_Final_Required_Switches, Name_Initial_Required_Switches and
4667         Name_Object_File_Switches.
4668
4669         * prj.ads (Language_Config): New component
4670         Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
4671         Compiler_Final_Required_Switches and Object_File_Switches.
4672
4673         * snames.ads-tmpl: New standard names Initial_Required_Switches,
4674         Final_Required_Switches and Object_File_Switches
4675
4676 2009-06-23  Pascal Obry  <obry@adacore.com>
4677
4678         * s-strhas.adb, s-strhas.ads: Minor reformatting.
4679
4680 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4681
4682         * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
4683         not indicate that the enclosing unit needs a body.
4684
4685 2009-06-23  Emmanuel Briot  <briot@adacore.com>
4686
4687         * prj-conf.ads, prj-conf.adb: New files part of the project manager.
4688
4689 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4690
4691         * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
4692         primitive equality include it with its source name even if the
4693         operation is currently invisible, to make sure that the corresponding
4694         slot in the dispatch table is reserved for the internal equality
4695         subsequently generated during expansion.
4696
4697 2009-06-23  Matthew Gingell  <gingell@adacore.com>
4698
4699         * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
4700
4701 2009-06-22  Jose Ruiz  <ruiz@adacore.com>
4702
4703         * sysdep.c (__gnat_localtime_tzoff for RTX):
4704         SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
4705         GetTimeZoneInformation instead.
4706
4707 2009-06-22  Robert Dewar  <dewar@adacore.com>
4708
4709         * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
4710
4711 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
4712
4713         * sem_ch12.adb (Collect_Previous_Instances): Do not collect
4714         instantiations declared in a previous generic package body.
4715
4716 2009-06-22  Robert Dewar  <dewar@adacore.com>
4717
4718         * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
4719         restriction No_Direct_Boolean_Operators.
4720
4721 2009-06-22  Thomas Quinot  <quinot@adacore.com>
4722
4723         * bindusg.adb: Minor fixes to gnatbind usage message
4724
4725         * sem_eval.adb: Minor reformatting
4726
4727 2009-06-22  Javier Miranda  <miranda@adacore.com>
4728
4729         * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
4730         freezing point the check on the use of abstract types in object
4731         declarations. Done to allow the declaration of C++ imported variables
4732         or constants whose type corresponds with an imported C++ classes for
4733         which the constructor is not imported.
4734
4735 2009-06-22  Thomas Quinot  <quinot@adacore.com>
4736
4737         * sem_ch6.adb: Minor reformatting
4738
4739 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
4740
4741         * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
4742         component is constrained with an expression rather than with a
4743         discriminant of the enclosing type, use that expression when building
4744         the call to default-initialize the component, when the call is part of
4745         an aggregate with box initialization.
4746
4747 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
4748
4749         * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
4750         unconditional rather than a style check, because a formal name out of
4751         order is suspicious.
4752
4753 2009-06-22  Vincent Celier  <celier@adacore.com>
4754
4755         * prj-nmsc.adb (Locate_Directory): Indicate the project name when
4756         creating a directory automatically.
4757
4758 2009-06-22  Eric Botcazou  <ebotcazou@adacore.com>
4759
4760         * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
4761         untagged derived type, add a hidden component for every constrained
4762         discriminant of the parent type to keep record layout consistent.
4763
4764 2009-06-22  Thomas Quinot  <quinot@adacore.com>
4765
4766         * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
4767         copy).
4768
4769 2009-06-22  Matthew Gingell  <gingell@adacore.com>
4770
4771         * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
4772         s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
4773         g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
4774         a-swuwha.adb: New unit System.String_Hash.  
4775         Refactor redundant cut and pasted hash functions with instances of a
4776         new generic hash function.
4777         Implement a new string hashing algorithm which appears in testing to
4778         be move effective than to previous approach.
4779
4780 2009-06-22  Ed Falis  <falis@adacore.com>
4781
4782         * sysdep.c: remove include for nfsLib.h and an NFS specific error
4783         message for VxWorks 653 vThreads: not supported by the OS.
4784
4785         * gsocket.h: disable sockets for VxWorks 653 vThreads.
4786
4787 2009-06-22  Robert Dewar  <dewar@adacore.com>
4788
4789         * sem_ch6.adb: Add ??? comment for bad use of Style_Check
4790
4791 2009-06-22  Robert Dewar  <dewar@adacore.com>
4792
4793         * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
4794         by Sloc_Range.
4795
4796         * freeze.adb: Minor comment updates
4797
4798         * s-valrea.adb (Bad_Based_Value): New procedure
4799         (Scan_Real): Raise exceptions with messages
4800
4801 2009-06-22  Matthew Gingell  <gingell@adacore.com>
4802
4803         * adaint.h: Complete previous change.
4804
4805 2009-06-22  Thomas Quinot  <quinot@adacore.com>
4806
4807         * exp_ch7.ads, exp_ch3.adb: Minor reformatting
4808
4809 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
4810
4811         * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
4812         enabled, emit warning when a non-controlling argument of the overriding
4813         operation appears out of place vis-a-vis of the formal of the
4814         overridden operation.
4815
4816 2009-06-22  Vincent Celier  <celier@adacore.com>
4817
4818         * gnatcmd.adb (Check_Files): Close temporary files after all file names
4819         have been written into it.
4820
4821 2009-06-22  Matthew Gingell  <gingell@adacore.com>
4822
4823         * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
4824         available.
4825
4826 2009-06-22  Thomas Quinot  <quinot@adacore.com>
4827
4828         * sem_disp.adb (Check_Direct_Call): Handle the case where the full
4829         view of the root type is visible at the point of the call.
4830
4831 2009-06-22  Pat Rogers  <rogers@adacore.com>
4832
4833         * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
4834
4835 2009-06-22  Jerome Lambourg  <lambourg@adacore.com>
4836
4837         * freeze.adb: Add comments.
4838
4839 2009-06-21  Thomas Quinot  <quinot@adacore.com>
4840
4841         * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
4842         sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
4843         Factor out code to new subprogram...
4844         (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
4845         for a default initialized variable.
4846         (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
4847         entity that has an associated freeze node.
4848         (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
4849         If there is an init call for the object, defer it to the object freeze
4850         point.
4851         (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
4852         name clash with new subprogram introduced in Exp_Util.
4853
4854 2009-06-21  Robert Dewar  <dewar@adacore.com>
4855
4856         * einfo.ads: Minor reformatting
4857
4858 2009-06-21  Ed Falis  <falis@adacore.com>
4859
4860         * env.c (__gnat_environ): return NULL for vThreads - unimplemented
4861
4862 2009-06-21  Eric Botcazou  <ebotcazou@adacore.com>
4863
4864         * einfo.ads: Update comments.
4865
4866 2009-06-21  Hristian Kirtchev  <kirtchev@adacore.com>
4867
4868         * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
4869         where the controlling formal is of private class-wide type whose
4870         completion is a synchronized type can be converted into direct calls.
4871
4872 2009-06-21  Vincent Celier  <celier@adacore.com>
4873
4874         * gnatcmd.adb (Check_Files): When all sources of the project are to be
4875         indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
4876         of sources using -files=, so that the distinction can be made by the
4877         tool of a call with no source (to display the usage) from a call with
4878         a project file that contains no source.
4879
4880 2009-06-21  Jerome Lambourg  <lambourg@adacore.com>
4881
4882         * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
4883         case of VM convention arrays.
4884
4885 2009-06-20  Robert Dewar  <dewar@adacore.com>
4886
4887         * a-nudira.adb: Minor reformatting
4888
4889 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
4890
4891         * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
4892         expressions (possibly from a parent type) indicate that the scope of
4893         the new itypes is the initialization procedure being built.
4894
4895 2009-06-20  Robert Dewar  <dewar@adacore.com>
4896
4897         * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
4898         Needs_64, and now computed without anomolies for some dynamic types.
4899
4900 2009-06-20  Thomas Quinot  <quinot@adacore.com>
4901
4902         * sem_prag.adb: Minor reformatting
4903
4904         * exp_disp.ads: Minor reformatting
4905
4906 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
4907
4908         * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
4909         function call is a legal expression to initialize a limited object.
4910
4911         * exp_ch3.adb: Rename various freeze operations that perform expansion
4912         actions, to prevent confusion with subprograms in the freeze package.
4913
4914 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
4915
4916         * sem.adb (Walk_Library_Units): Check instantiations first.
4917
4918         * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
4919         private primitive if it is a function with a controlling result that is
4920         a type extension with progenitors.
4921
4922         * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
4923         a primitive operation of a synchronized tagged type that has a
4924         controlling result.
4925
4926 2009-06-20  Thomas Quinot  <quinot@adacore.com>
4927
4928         * einfo.ads: Fix typo.
4929
4930 2009-06-20  Ed Falis  <falis@adacore.com>
4931
4932         * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
4933
4934 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
4935
4936         * gcc-interface/trans.c (emit_check): Do not wrap up the result
4937         in a SAVE_EXPR.
4938         (protect_multiple_eval): Always protect complex expressions.
4939
4940 2009-06-19  Emmanuel Briot  <briot@adacore.com>
4941
4942         * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
4943         make sure we always return a name ending with a path separator.
4944
4945 2009-06-19  Javier Miranda  <miranda@adacore.com>
4946
4947         * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
4948         Save and restore the visibility of the parent when installed.
4949
4950 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
4951
4952         * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
4953         by Common which contains all these fields.
4954
4955         * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
4956         Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
4957         Remove code duplication in this package by means of calling the
4958         equivalent code in s-taprob.
4959
4960 2009-06-19  Robert Dewar  <dewar@adacore.com>
4961
4962         * a-einuoc.ads: Minor reformatting
4963
4964 2009-06-19  Ed Falis  <falis@adacore.com>
4965
4966         * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
4967         s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
4968
4969 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
4970
4971         * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
4972
4973 2009-06-19  Robert Dewar  <dewar@adacore.com>
4974
4975         * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
4976         ranges
4977
4978         * checks.adb (Determine_Range): Move the test for generic types later.
4979
4980         * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
4981         cases.
4982         (Eval_Relational_Op): Fold more cases including string compares
4983
4984         * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
4985         function.
4986
4987 2009-06-19  Robert Dewar  <dewar@adacore.com>
4988
4989         * sem_type.ads, sem_ch12.adb: Minor reformatting
4990
4991         * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
4992
4993 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
4994
4995         * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
4996         primitive operation of a rivate extension whose controlling argument
4997         is an out parameter.
4998
4999         * sem.adb (Walk_Library_Units): exclude generic package declarations
5000         from check.
5001
5002 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5003
5004         * i-vxwoio.ads: Add comments
5005
5006 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5007
5008         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5009         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
5010         g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
5011         (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
5012         (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
5013         Thin_Common.Socket_Ioctl.
5014         (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
5015         __gnat_socket_ioctl.
5016         (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
5017         argument after the file descriptor and request code.
5018
5019 2009-06-19  Robert Dewar  <dewar@adacore.com>
5020
5021         * checks.adb: Minor reformatting
5022
5023 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
5024
5025         * env.c (__gnat_environ): RTX does not support this functionality.
5026
5027 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5028
5029         * sem.adb (Walk_Library_Items): Include bodies in the list of units to
5030         traverse, to account for front-end inlining and instantiations in a
5031         spec or in the main unit.
5032
5033 2009-06-19  Robert Dewar  <dewar@adacore.com>
5034
5035         * checks.adb (Determine_Range): Do not attempt to get range of generic
5036         type.
5037
5038 2009-06-19  Sergey Rybin  <rybin@adacore.com>
5039
5040         * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
5041         gnatmetric option for generating the schema file for gnatmetric XML
5042         output. Add corresponding VMS qualifier.
5043
5044 2009-06-19  Robert Dewar  <dewar@adacore.com>
5045
5046         * g-cgi.adb: Minor reformatting
5047
5048 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5049
5050         * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
5051         signal code for SIGFPE and raise Program_Error for SIGILL.
5052
5053         * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
5054
5055 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5056
5057         * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
5058         generic package if there is a visibility candidate that is declared in
5059         a regular package.
5060
5061 2009-06-18  Olivier Hainque  <hainque@adacore.com>
5062
5063         * system-aix64.ads: New file.
5064         * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
5065         64bit system.ads for ppc64 multilib variants.
5066
5067 2009-06-16  Robert Dewar  <dewar@adacore.com>
5068             Olivier Hainque  <hainque@adacore.com>
5069
5070         Relax constraints on Machine_Attribute argument types:
5071         * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
5072         missing type.
5073         (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
5074         * gcc-interface/decl.c (prepend_attributes): Accept static
5075         expressions of any type as attribute arguments, not only string
5076         literals.
5077         * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
5078         the relaxation of the restriction on the Info argument type.
5079         
5080 2009-06-13  Aldy Hernandez  <aldyh@redhat.com>
5081
5082         * gcc-interface/utils.c (record_builtin_type): Pass location
5083         argument to build_decl.
5084         (create_type_stub_decl): Same.
5085         (create_type_decl): Same.
5086         (create_var_decl_1): Same.
5087         (create_field_decl): Same.
5088         (create_param_decl): Same.
5089         (create_label_decl): Same.
5090         (create_subprog_decl): Same.
5091         * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
5092         * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
5093         argument to create_artificial_label.
5094         (Loop_Statement_to_gnu): Same.
5095         (Subprogram_Body_to_gnu): Same.
5096         (gnat_gimplify_stmt): Same.
5097
5098 2009-06-11  Richard Henderson  <rth@redhat.com>
5099
5100         * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
5101         OPT_gdwarfplus.
5102
5103 2009-06-11  Ed Schonberg  <schonberg@adacore.com>
5104
5105         * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
5106         accessibiliy check on access_to_subprogram in the context of an
5107         anonymous access that is not an access parameter.
5108
5109 2009-06-11  Eric Botcazou  <ebotcazou@adacore.com>
5110
5111         * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
5112         
5113 2009-06-11  Quentin Ochem  <ochem@adacore.com>
5114
5115         * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
5116         comments for message handled by GPS.
5117
5118 2009-06-11  Matthew Gingell  <gingell@adacore.com>
5119
5120         * adaint.c: Use fopen64 instead of fopen on platforms where we know
5121         it's supported.
5122
5123 2009-06-11  Pascal Obry  <obry@adacore.com>
5124
5125         * g-cgi.ads: Fix comment typo.
5126
5127         * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
5128
5129 2009-06-10  Eric Botcazou  <ebotcazou@adacore.com>
5130
5131         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
5132         a reference to the original type for the type of the field of the
5133         XVS type.
5134         (maybe_pad_type): Likewise.
5135
5136         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
5137         common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
5138         Pass correctly typed arguments to create_field_decl.
5139         <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
5140         case of contrained discriminants as well.  Use the padded base type
5141         in the other case as well.  Rename temporary variable.  Tweak test.
5142         Factor common access pattern.  Set GNU_SIZE only once.
5143
5144 2009-06-09  Olivier Hainque  <hainque@adacore.com>
5145
5146         * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
5147         helper for build_call_alloc_dealloc with arguments to be interpreted
5148         identically.  Process the case where a GNAT_PROC to call is provided.
5149         (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
5150         and return an allocator for DATA_SIZE bytes aimed at containing a
5151         DATA_TYPE object, using the default __gnat_malloc allocator.  Honor
5152         DATA_TYPE alignments greater than what the latter offers.
5153         (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
5154         release a DATA_TYPE object designated by DATA_PTR using the
5155         __gnat_free entry point.
5156         (build_call_alloc_dealloc): Expect object data type instead of naked
5157         alignment constraint. Use the new helpers.
5158         (build_allocator): Remove special processing for the super-aligned
5159         case, now handled by build_call_alloc_dealloc.  Pass data
5160         type instead of the former alignment argument, as expected by the new
5161         interface.
5162         * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
5163         and comment.
5164         * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
5165         Remove special processing for the super-aligned case, now handled
5166         by build_call_alloc_dealloc.  Pass data type instead of the former
5167         alignment argument, as expected by the new interface.
5168         
5169 2009-06-08  Alexandre Oliva  <aoliva@redhat.com>
5170
5171         * lib-writ.adb (flag_compare_debug): Import.
5172         (Write_ALI): Skip during -fcompare-debug-second.
5173
5174 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5175
5176         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
5177         adjusting the discriminant nodes in an extension, use the full view
5178         of the parent subtype if it is of a private kind.
5179
5180 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5181
5182         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
5183         _Parent field, if any, to the record before adding the other fields.
5184         <E_Record_Subtype>: Put the _Controller field before the other fields
5185         except for the _Tag or _Parent fields.
5186         (components_to_record): Likewise.  Retrieve the _Parent field from the
5187         record type.
5188
5189 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5190
5191         * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
5192         remove unused parameter and simplify.
5193         (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS.  Factor
5194         common predicate.  Rewrite loop for clarity.  Use GNU_TYPE directly
5195         as context for all discriminants.  Fix formatting nits.
5196         <E_Record_Subtype>: Add cosmetic 'break'.  Test Has_Discriminants
5197         before Discriminant_Constraint.  Adjust for above renaming.  Do not
5198         set GNU_TYPE more than once.
5199         (elaborate_entity): Test Has_Discriminants on the entity and use
5200         Implementation_Base_Type.
5201         (components_to_record): Rename component_list to gnat_component_list.
5202         Retrieve the _Parent field from the list.  Fix nits in comments.
5203         Clarify logic in loop.  Pass correct arguments to create_field_decl.
5204
5205 2009-06-02  Eric Botcazou  <ebotcazou@adacore.com>
5206
5207         * gcc-interface/Make-lang.in: Fix formatting.
5208
5209 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5210             Eric Botcazou  <ebotcazou@adacore.com>
5211         
5212         * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
5213         to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
5214         on the result if at least one of the input fields couldn't be output
5215         as a static constant any more.
5216
5217 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5218             Eric Botcazou  <ebotcazou@adacore.com>
5219         
5220         * gcc-interface/utils2.c (gnat_build_constructor): Factor
5221         out code.  Use initializer_constant_valid_for_bitfield_p and
5222         CONSTRUCTOR_BITFIELD_P for bit-fields.
5223
5224 2009-05-26  Ian Lance Taylor  <iant@google.com>
5225
5226         * gcc-interface/Makefile.in (COMPILER): Define.
5227         (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
5228         (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
5229         (seh_init.o, tracebak.o): Likewise.
5230         * gcc-interface/Make-lang.in (ada/targext.o): Likewise.
5231         (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
5232         (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
5233         (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
5234         (ada/utils2.o): Likewise.
5235
5236 2009-05-24  Olivier Hainque  <hainque@adacore.com>
5237
5238         * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
5239         * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
5240         Add -auxbase variants to the list of recognized internal switches.
5241         * back_end.adb (Scan_Back_End_Switches): Use the new functions and
5242         adjust comments.
5243         * lib.ads: Make comment on internal GCC switches more general.
5244         * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
5245         as for C.       
5246         
5247 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5248
5249         * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
5250
5251 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5252
5253         * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
5254         types.
5255
5256 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5257
5258         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
5259         original type because of the alignment when there is an address clause.
5260
5261 2009-05-20  Eric Botcazou  <ebotcazou@adacore.com>
5262
5263         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
5264         discriminants affect the shape of the subtype, retrieve the GCC type
5265         directly from the original field if the GNAT types for the field and
5266         the original field are the same.
5267
5268 2009-05-15  Eric Botcazou  <ebotcazou@adacore.com>
5269
5270         * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
5271         New macros.
5272         (TYPE_RM_VALUES): Likewise.
5273         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
5274         (SET_TYPE_RM_SIZE): New macro.
5275         (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
5276         (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
5277         (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
5278         * gcc-interface/gigi.h (create_range_type): Declare.
5279         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
5280         Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
5281         <E_Signed_Integer_Subtype>: Build a regular integer type first and
5282         then set the RM bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5283         <E_Floating_Point_Subtype>: Build a regular floating-point type first
5284         and then set the RM bounds.
5285         <E_Array_Type>: Use create_range_type instead of build_range_type.
5286         <E_Array_Subtype>: Build a regular integer type first and then set
5287         the RM bounds for the extra subtype.
5288         <E_String_Literal_Subtype>: Use create_range_type instead of
5289         build_range_type.
5290         <all>: Set the RM bounds for enumeration types and the GCC bounds for
5291         floating-point types.
5292         (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
5293         (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
5294         to set the bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5295         (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
5296         types and with RM bounds for subtypes.
5297         * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
5298         (gnat_print_type) <REAL_TYPE>: New case.
5299         <ENUMERAL_TYPE>: Fall through to above case.
5300         (gnat_get_subrange_bounds): New function.
5301         * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
5302         TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
5303         * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
5304         for booleans.  Adjust and use SET_TYPE_RM_SIZE to set the RM size.
5305         (create_range_type): New function.
5306         (create_param_decl): Build a regular integer type first and then set
5307         the RM bounds for the extra subtype.
5308         (unchecked_convert): Remove kludge for 'Valid.
5309         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
5310         the index to sizetype instead of TYPE_DOMAIN.
5311
5312 2009-05-14  Eric Botcazou  <ebotcazou@adacore.com>
5313
5314         * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
5315         parameter and move check for static expression to...
5316         (elaborate_expression): ...here.  Adjust call to above function.
5317         (gnat_to_gnu_entity): Likewise for all calls.  Use correct arguments
5318         in calls to elaborate_expression.
5319         (elaborate_entity): Likewise.
5320         (substitution_list): Likewise.
5321         (maybe_variable): Fix formatting.
5322         (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
5323         missing guard.
5324         * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
5325
5326 2009-05-07  Arnaud Charlet  <charlet@adacore.com>
5327
5328         * gcc-interface/Make-lang.in: Update dependencies.
5329
5330 2009-05-06  Laurent GUERBY  <laurent@guerby.net>
5331
5332         * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
5333         Define sa_handler_pos.
5334         * s-osinte-linux.ads: Use it.
5335         * s-linux-mipsel.ads: New.
5336         * system-linux-mips64el.ads: New.
5337         * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
5338         mips64el-linux.
5339
5340 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5341
5342         * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
5343         targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
5344         opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
5345         (Tagged_Type_Expansion): New flag.
5346         Replace use of VM_Target related to tagged types expansion by
5347         Tagged_Type_Expansion, since tagged type expansion is not necessarily
5348         linked to VM targets.
5349
5350 2009-05-06  Robert Dewar  <dewar@adacore.com>
5351
5352         * sem_attr.adb: Add processing for Standard'Compiler_Version
5353
5354         * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
5355         skipping.
5356         (Expr_First_Char): Add ??? comment that paren skipping needs work
5357         (Expr_Last_Char): Add ??? comment that paren skipping needs work
5358
5359         * exp_attr.adb: Add processing for Compiler_Version
5360
5361         * sem_attr.adb: New attribute Compiler_Version
5362
5363         * snames.ads-tmpl: Add entries for Compiler_Version attribute
5364
5365         * gnat_rm.texi: Document Compiler_Version attribute
5366
5367 2009-05-06  Robert Dewar  <dewar@adacore.com>
5368
5369         * errout.adb: Minor reformatting
5370
5371         * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
5372         sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
5373         styleg.adb: Add stylized comments to error messages that are included
5374         in the codefix circuitry of IDE's such as GPS.
5375
5376 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5377
5378         * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
5379         new form of the rule parameter that allows to specify the suffix for
5380         access-to-access type names.
5381
5382 2009-05-06  Robert Dewar  <dewar@adacore.com>
5383
5384         * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
5385         out parameter assigned when exception handlers are present.
5386
5387         * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
5388         assignments on exit.
5389
5390         * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
5391         sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
5392         prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
5393         par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
5394         messages that are included in the codefix circuitry of IDE's such as
5395         GPS.
5396
5397         * sinput.ads, sinput.adb (Expr_First_Char): New function
5398         (Expr_Last_Char): New function
5399
5400 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5401
5402         * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
5403         Add formal definition for extra exit point metric
5404
5405 2009-05-06  Pascal Obry  <obry@adacore.com>
5406
5407         * adaint.c: Support for setting attributes on unicode filename on
5408         Windows.
5409
5410 2009-05-06  Robert Dewar  <dewar@adacore.com>
5411
5412         * sem_warn.adb: Minor reformatting
5413
5414 2009-05-06  Javier Miranda  <miranda@adacore.com>
5415
5416         * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
5417         not have discriminants or components with default expressions.
5418         (Analyze_Pragma): For pragma CPP_Class check that imported types
5419         have no discriminants and components have no default expression.
5420
5421         * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
5422         class-wide types in the expression of a record component association.
5423
5424 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5425
5426         * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
5427
5428         * gnat_ugn.texi: Add description for the new extra exit points metric
5429         (gnatmetric section).
5430
5431 2009-05-06  Robert Dewar  <dewar@adacore.com>
5432
5433         * s-fileio.adb: Minor comment update
5434
5435         * sem_ch8.adb: Minor reformatting
5436
5437         * exp_ch3.adb: Update comments.
5438
5439 2009-05-06  Tristan Gingold  <gingold@adacore.com>
5440
5441         * init.c, s-osinte-darwin.ads: Reduce alternate stack size
5442
5443 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5444
5445         * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
5446         Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
5447
5448         * gcc-interface/Make-lang.in: Update dependencies
5449
5450 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5451
5452         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
5453         change. The context clause of a generic instance declaration must be
5454         preserved until the end of the compilation, because it may have to be
5455         installed/removed repeatedly.
5456         The latest change to sem.adb ensures that the context of both spec and
5457         body of an instance is traversed before the instance itself, making
5458         this patch redundant.
5459
5460 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5461
5462         * sem_aggr.adb: Fix typo.
5463
5464 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5465
5466         * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
5467         declaration, do not adjust if the declaration is to be rewritten into
5468         a renaming.
5469
5470 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5471
5472         * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
5473         discriminant part.
5474
5475 2009-05-06  Bob Duff  <duff@adacore.com>
5476
5477         * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
5478         otherwise the compiler would be allowed to optimize away the cleanup
5479         code.
5480
5481 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5482
5483         * gnat_ugn.texi: Fix typo.
5484
5485 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5486
5487         * g-debuti.adb: Minor reformatting
5488
5489         * exp_attr.adb: Minor reformatting
5490
5491 2009-05-06  Robert Dewar  <dewar@adacore.com>
5492
5493         * sem_aggr.adb: Minor reformatting.
5494
5495         * g-socthi-vms.adb: Minor reformatting
5496
5497 2009-05-06  Bob Duff  <duff@adacore.com>
5498
5499         * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
5500         (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
5501
5502 2009-05-06  Bob Duff  <duff@adacore.com>
5503
5504         * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
5505         flags.
5506
5507 2009-05-06  Javier Miranda  <miranda@adacore.com>
5508
5509         * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
5510         (Resolve_Extension_Aggregate): Do not reject C++ constructors in
5511         extension aggregates.
5512         (Resolve_Record_Aggregate): Add support for C++ constructors in
5513         extension aggregates.
5514
5515         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
5516         constructors in extension aggregates.
5517
5518 2009-05-06  Robert Dewar  <dewar@adacore.com>
5519
5520         * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
5521         clause.
5522
5523 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5524
5525         * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
5526         packed type, since on OpenVMS, struct msghdr is packed.
5527
5528 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5529
5530         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
5531         call returning an unconstrained composite value, create the proper
5532         subtype for it, as is done for object dclarations with unconstrained
5533         nominal subtypes. Perform this transformation regarless of whether
5534         call comes from source.
5535
5536 2009-05-06  Robert Dewar  <dewar@adacore.com>
5537
5538         * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
5539         records
5540
5541         * gnat_rm.texi:
5542         Add documentation for pragma Implicit_Packing applied to record
5543         types.
5544
5545 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5546
5547         * sem.adb (Walk_Library_Items): Place all with_clauses of an
5548         instantiation on the spec, because late instance bodies may generate
5549         with_clauses for the instance body but are inserted in the instance
5550         spec.
5551
5552 2009-05-06  Emmanuel Briot  <briot@adacore.com>
5553
5554         * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
5555         support for returning the directory even if it doesn't exist. This is
5556         used for the object directory, since we are always setting it to a
5557         non-null value, and we should set it to an absolute name rather than a
5558         relative name for the sake of external tools that might depend on it.
5559         (Check_Library_Attributes): When Project.Library_Dir is known, check
5560         that the directory exists.
5561
5562 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5563
5564         * sem_attr.adb (Check_Dereference): If the prefix of an attribute
5565         reference is an implicit dereference, do not freeze the designated type
5566         if within a default expression or when preanalyzing a pre/postcondtion.
5567
5568 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5569
5570         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
5571         call returning an unconstrained composite value, create the proper
5572         subtype for it, as is done for object dclarations with unconstrained
5573         nominal subtypes
5574
5575 2009-05-06  Robert Dewar  <dewar@adacore.com>
5576
5577         * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
5578         improvements
5579
5580         * freeze.adb: Minor reformatting
5581
5582 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5583
5584         * sem_ch3.adb (Access_Type_Declaration): An access type whose
5585         designated type is a limited view from a limited with clause (flagged
5586         From_With_Type) is not itself such a limited view.
5587
5588 2009-05-06  Emmanuel Briot  <briot@adacore.com>
5589
5590         * prj-nmsc.adb: Remove unused variable.
5591
5592         * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
5593         prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
5594         makeutl.ads, since not all users of prj.ads need this.
5595
5596 2009-05-06  Javier Miranda  <miranda@adacore.com>
5597
5598         * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
5599         constructor in case of aggregates whose type is a CPP_Class type.
5600
5601 2009-05-06  Robert Dewar  <dewar@adacore.com>
5602
5603         * sem_ch13.adb: Minor comment additions
5604
5605         * osint.adb: Minor reformatting
5606
5607 2009-05-06  Pascal Obry  <obry@adacore.com>
5608
5609         * initialize.c: On Windows, keep full pathname to expanded command
5610         line patterns.
5611
5612 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5613
5614         * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
5615         an aggregate with box default is of a discriminated private type, do
5616         not build a subaggregate for it.
5617         A proper call to the initialization procedure is generated for it.
5618
5619 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5620
5621         * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
5622         (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
5623         Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
5624         use standard array code for Standard.String.
5625         (Exp_Dist): Bump PolyORB s-parint API version to 3.
5626         (Rtsfind): New entities TA_Std_String, Unbounded_String.
5627
5628 2009-05-06  Robert Dewar  <dewar@adacore.com>
5629
5630         * g-comlin.ads: Minor reformatting
5631
5632         * xoscons.adb: Minor reformatting
5633
5634 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5635
5636         * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
5637         Underlying_Type before retrieving the type definition for gathering
5638         components, to account for the case where the type is private.
5639
5640 2009-05-06  Tristan Gingold  <gingold@adacore.com>
5641
5642         * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
5643
5644 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5645
5646         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5647         g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
5648         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
5649         (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
5650         Windows versions): Fix incorrect base
5651         address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
5652         (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
5653         System.Address for the To parameter instead of a Sockaddr_In_Access, to
5654         achieve independance from AF_INET family, and also to allow this
5655         parameter to be retrieved from a Msghdr for the Windows case where
5656         these routines are used to implement C_Sendmsg and C_Recvmsg.
5657
5658 2009-05-06  Bob Duff  <duff@adacore.com>
5659
5660         * g-expect.adb, g-expect.ads: Minor reformatting
5661
5662         * sdefault.ads: Minor comment fix
5663
5664         * g-expect-vms.adb: Minor reformatting
5665
5666         * table.ads, table.adb (Append_All): New convenience procedure for
5667         appending a whole array.
5668
5669         * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
5670         box message. Call Osint.Dump_Source_File_Names to print out the file
5671         list, instead of rummaging around in various data structures.
5672
5673         * debug.adb: New switch -gnatd.n, to print source file names as they
5674         are read.
5675
5676         * alloc.ads: Add parameters for Osint.File_Name_Chars.
5677
5678         * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
5679         out source file names during a "bug box".
5680         (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
5681         (Read_Source_File): Print out the file name, if requested via -gnatd.n.
5682         If it's not part of the runtimes, store it for later printing by
5683         Dump_Source_File_Names.
5684
5685 2009-05-06  Javier Miranda  <miranda@adacore.com>
5686
5687         * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
5688         documentation and add reference to the GNAT user guide for further
5689         details.
5690
5691 2009-05-06  Javier Miranda  <miranda@adacore.com>
5692
5693         * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
5694         also wrong examples that use extension aggregates.
5695
5696 2009-05-06  Albert Lee  <lee@adacore.com>
5697
5698         * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
5699         of Msg_Iovlen_T for VMS.
5700
5701 2009-05-04  Laurent GUERBY  <laurent@guerby.net>
5702
5703         PR ada/38874
5704         * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
5705         
5706 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5707
5708         * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
5709         box-defaulted operator in an instantiation, when the type of the
5710         operands is not directly visible.
5711
5712 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
5713
5714         * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
5715         (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
5716         analysis of the ancestor part. Remove prohibition against limited
5717         interpretations of the ancestor expression in the case of Ada 2005.
5718         Revise error message in overloaded case, adding a message to cover
5719         the Ada 2005 case.
5720
5721 2009-04-29  Thomas Quinot  <quinot@adacore.com>
5722
5723         * xoscons.adb: Minor reformatting
5724
5725 2009-04-29  Bob Duff  <duff@adacore.com>
5726
5727         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
5728         attribute_definition_clauses for the following attributes when the
5729         -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
5730         Storage_Size, Write. Otherwise, we get spurious errors (for example,
5731         missing Read attribute on remote types).
5732
5733         * gnat_ugn.texi: Document the change, and add a stern warning.
5734
5735 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5736
5737         * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
5738         disabled not just for the current scope, but for the innermost dynamic
5739         scope as well.
5740
5741 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
5742
5743         * gcc-interface/Make-lang.in: Update dependencies
5744
5745 2009-04-29  Vincent Celier  <celier@adacore.com>
5746
5747         * prj-part.adb: Minor comment update
5748
5749 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5750
5751         * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
5752         box-initialized records with discriminated subcomponents that are
5753         constrained by discriminants of enclosing components. New subsidiary
5754         procedures Add_Discriminant_Values, Propagate_Discriminants.
5755
5756 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
5757
5758         * g-socket.adb: Code clean up.
5759
5760 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
5761
5762         * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
5763         function entity, to cover the case of a parameterless function call
5764         that has not been resolved.
5765
5766 2009-04-29  Robert Dewar  <dewar@adacore.com>
5767
5768         * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
5769         reformatting and comment updates.
5770
5771 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
5772
5773         * gnat_ugn.texi: Update some documentation about interfacing with C++
5774         Mention -fkeep-inline-functions.
5775
5776         * gnat_ugn.texi: Minor edits
5777
5778 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5779
5780         * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
5781         for a defaulted component of an enclosing aggregate, inherit the type
5782         from the component declaration of the enclosing type. 
5783
5784 2009-04-29  Albert Lee  <lee@adacore.com>
5785
5786         * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
5787         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
5788         (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
5789         msg_iovlen field in struct msghdr is 32 or 64 bits wide.
5790         Relocate the Msghdr record type from GNAT.Sockets.Thin to
5791         GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
5792         type for the Msg_Iovlen field.
5793
5794 2009-04-29  Vincent Celier  <celier@adacore.com>
5795
5796         * sinput-l.adb (Load_File): When preprocessing, set temporarily the
5797         Source_File_Index_Table entries for the source, to avoid crash when
5798         reporting an error.
5799
5800         * gnatcmd.adb (Test_If_Relative_Path): Use
5801         Makeutl.Test_If_Relative_Path.
5802         
5803         * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
5804         Including_RTS is True.
5805
5806         * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
5807         Including_RTS defaulted to False.
5808
5809         * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
5810         a default value.
5811
5812 2009-04-29  Javier Miranda  <miranda@adacore.com>
5813
5814         * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
5815
5816 2009-04-29  Javier Miranda  <miranda@adacore.com>
5817
5818         * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
5819         associated with dyamically tagged expressions if the expression
5820         initializing a tagged type corresponds with a non default CPP
5821         constructor.
5822         (OK_For_Limited_Init): CPP constructor calls are OK for initialization
5823         of limited type objects.
5824
5825         * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
5826         when a CPP constructor is called in an assignment. Disable also the
5827         error message associated with dyamically tagged expressions if the
5828         exporession initializing a tagged type corresponds with a non default
5829         CPP constructor.
5830
5831         * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
5832         non-default C++ constructors.
5833
5834         * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
5835
5836         * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
5837         non-default constructors.
5838         (Init_Proc): Add support for non-default constructors.
5839
5840         * exp_disp.adb (Set_Default_Constructor): Removed.
5841         (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
5842         but extending its functionality to handle non-default constructors.
5843
5844         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
5845         constructors. Minor code cleanup removing unrequired label and goto
5846         statement.
5847
5848         * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
5849         constructors.
5850         (Build_Init_Statements): Add support for non-default constructors.
5851         (Expand_N_Object_Declaration): Add support for non-default constructors.
5852         (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
5853         to Set_CPP_Constructors.
5854
5855         * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
5856         non-default constructors.
5857         Required to handle its use in build-in-place statements.
5858
5859         * gnat_rm.texi (CPP_Constructor): Document new extended use of this
5860         pragma for non-default C++ constructors and the new compiler support
5861         that allows the use of these constructors in record components, limited
5862         aggregates, and extended return statements.
5863
5864 2009-04-29  Vincent Celier  <celier@adacore.com>
5865
5866         * prj-part.adb (Parse_Single_Project): Do not attempt to find a
5867         project extending an abstract project.
5868
5869 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
5870
5871         * targparm.ads: Fix oversight.
5872
5873 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5874
5875         * lib-xref.adb (Output_Overridden_Op): Follow several levels of
5876         derivation when necessary, to find the user-subprogram that is actally
5877         being overridden.
5878
5879 2009-04-29  Robert Dewar  <dewar@adacore.com>
5880
5881         * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
5882         components
5883
5884 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5885
5886         * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
5887         primitive operation, rather than source line of synchronized type, when
5888         building the wrapper for a primitive operation that overrides an
5889         operation inherited from a progenitor, to improve the error message on
5890         duplicate declarations.
5891
5892         * sem_ch3.adb (Process_Full_View): Use new signature of
5893         Build_Wrapper_Spec.
5894
5895 2009-04-29  Robert Dewar  <dewar@adacore.com>
5896
5897         * prj-nmsc.ads: Minor reformatting
5898
5899 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
5900
5901         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
5902         expression on the existing parent If statement.
5903
5904 2009-04-29  Robert Dewar  <dewar@adacore.com>
5905
5906         * prj-proc.adb, prj.ads: Minor reformatting
5907
5908 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
5909
5910         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
5911         existing parent If statement on the newly created one.
5912
5913 2009-04-29  Emmanuel Briot  <briot@adacore.com>
5914
5915         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
5916         prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
5917         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
5918         (Set_In_Configuration, In_Configuration): Removed.
5919         Replaced by an extra parameter Is_Config_File in several parameter to
5920         avoid global variables to store the state of the parser.
5921
5922 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5923
5924         * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
5925         with_clauses generated for the same unit through rtsfind, and that
5926         appear in the context of different units.
5927
5928         * rtsfind.adb: New attribute First_Implicit_With, component of the
5929         Unit_Record that stores information about a unit loaded through rtsfind.
5930
5931 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
5932
5933         * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
5934         (other conditions permitting), so that abstract stream subprograms will
5935         be declared for them.
5936
5937 2009-04-29  Bob Duff  <duff@adacore.com>
5938
5939         * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
5940
5941         * g-expect.ads: Minor comment fixes.
5942
5943 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5944
5945         * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
5946         dispatching operation is a body without previous spec, update the list
5947         of primitive operations to ensure that cross-reference information is
5948         up-to-date.
5949
5950 2009-04-29  Albert Lee  <lee@adacore.com>
5951
5952         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5953         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
5954         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
5955         (GNAT.Sockets.Thin.C_Readv,
5956         GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
5957         (GNAT.Sockets.Thin.C_Recvmsg,
5958         GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
5959         sendmsg(2).  
5960         (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
5961         C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
5962
5963 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5964
5965         * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
5966         operation is a body without previous spec, update the list of
5967         primitive operations to ensure that cross-reference information is
5968         up-to-date.
5969
5970         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
5971         new compilation unit node for the instance declaration, keep the
5972         context items of the original unit on it, so that the context of the
5973         instance body only holds the context inherited from the generic body.
5974
5975 2009-04-29  Bob Duff  <duff@adacore.com>
5976
5977         * sem_res.adb: Minor comment fix.
5978
5979 2009-04-29  Thomas Quinot  <quinot@adacore.com>
5980
5981         * sem_elim.adb: Minor reformatting
5982
5983 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5984
5985         * exp_aggr.adb (Convert_To_Positional): if the current unit is a
5986         predefined unit, allow arbitrary number of components in static
5987         aggregate, to ensure that the same level of constant folding applies
5988         for Ada 95 and Ada 05 versions of the file.
5989
5990 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5991
5992         * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
5993         information: no need for full scope check.
5994         (Eliminate_Error): Do not emit error in a generic context.
5995
5996 2009-04-29  Ed Falis  <falis@adacore.com>
5997
5998         * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
5999         VxWorks 653 POS does not support rmdir.
6000
6001 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6002
6003         * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
6004         results are printed.
6005
6006 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6007
6008         * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
6009         unused assignment.
6010
6011 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6012
6013         * make.adb: Minor reformatting.
6014         Minor code reorganization throughout.
6015
6016 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6017
6018         * s-stausa.ads: Changed visibility of type Task_Result: moved to
6019         public part to give application visibility over it.
6020         This is for future improvement and to build a public API on top of it.
6021         Changed record components name of type Task_Result to reflect the new
6022         way of reporting. 
6023
6024         * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
6025         reporting Stack usage.
6026
6027         * gnat_ugn.texi: Update doc of stack usage report.
6028
6029         * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
6030
6031         * Makefile.rtl: Add new run-time files.
6032
6033 2009-04-29  Pascal Obry  <obry@adacore.com>
6034
6035         * initialize.c: Do not expand quoted arguments.
6036
6037 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6038
6039         * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
6040
6041         * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
6042          Prj.Ultimate_Extending_Project_Of
6043
6044 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6045
6046         * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
6047         Amendment type, add the with_clause for Finalization.List_Controller
6048         only if the current context is a package body.
6049
6050 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6051
6052         * sem_ch12.adb: Minor reformatting
6053
6054         * sem_aggr.adb: Minor reformatting
6055
6056         * sem_ch6.adb, sem_cat.ads: Minor reformatting
6057
6058         * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
6059
6060 2009-04-29  Quentin Ochem  <ochem@adacore.com>
6061
6062         * prj.ads (Source_Id): Now general pointer type.
6063
6064 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6065
6066         * exp_ch7.adb, rtsfind.adb: Minor reformatting
6067
6068         * sem_res.adb: Minor reformatting
6069
6070 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6071
6072         * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
6073         operands is static only if it is a predefined concatenation operator.
6074
6075         * sem_util.adb: Minor reformatting
6076
6077         * sem_ch12.adb (Save_References): When propagating semantic information
6078         from generic copy back to generic template, for the case of an
6079         identifier that has been rewritten to an explicit dereference whose
6080         prefix is either an object name or a parameterless funcion call
6081         denoting a global object or function, properly capture the denoted
6082         global entity: perform the corresponding rewriting in the template,
6083         and point the rewritten identifier to the correct global entity (not
6084         to the associated identifier in the generic copy).
6085
6086 2009-04-29  Robert Dewar  <dewar@adacore.com>
6087
6088         * rtsfind.adb, prj-env.adb: Minor reformatting
6089         Minor code reorganization
6090
6091 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6092
6093         * make.adb: Fix comment
6094
6095         * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
6096         is given as argument, as might happen in gnatmake.
6097
6098 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6099
6100         * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
6101         an abstract operation of a progenitor is not properly overridden by an
6102         operation of a derived synchronized type.
6103
6104 2009-04-29  Robert Dewar  <dewar@adacore.com>
6105
6106         * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
6107         prj-proc.adb: Minor reformatting
6108         Minor code reorganization
6109
6110 2009-04-29  Bob Duff  <duff@adacore.com>
6111
6112         * exp_ch7.adb (Build_Final_List): For an access type that designates a
6113         Taft Amendment type, if the access type needs finalization, make sure
6114         the implicit with clause for List_Controller occurs on the package spec.
6115
6116         * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
6117         with's created for the pseudo-children of Text_IO and friends. In
6118         particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
6119         Ada.Text_IO.Integer_IO both with-ing each other.
6120
6121         * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
6122         oddball cases when pragma Extend_System is used.
6123
6124         * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
6125         the case where a package spec instantiates a generic whose body with's
6126         this package, so Walk_Library_Items won't complain about cyclic with's.
6127
6128 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6129
6130         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
6131         prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
6132         mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
6133         (Project_Id): now a real pointer to Project_Data, instead of an index
6134         into the Projects_Table. This simplifies the API significantly, avoiding
6135         extra lookups in this table and the need to pass the Project_Tree_Ref
6136         parameter in several cases
6137
6138 2009-04-29  Nicolas Setton  <setton@adacore.com>
6139
6140         * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
6141         darwin.
6142
6143 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
6144
6145         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
6146         back kludge.
6147
6148 2009-04-24  Robert Dewar  <dewar@adacore.com>
6149
6150         * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
6151         clean.adb: Minor reformatting.
6152         Minor code reorganization and message improvement.
6153
6154 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6155
6156         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
6157         (Alternate_Languages): now implemented as a malloc-ed list rather
6158         than through a table.
6159
6160 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6161
6162         * sem_res.adb (Static_Concatenation): Simplify predicate to make it
6163         accurately handle cases such as "lit" & "lit" and
6164         "lit" & static_string_constant
6165
6166 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6167
6168         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
6169         prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
6170         removed. Lists of projects are now implemented via standard malloc
6171         rather than through the table.
6172
6173 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6174
6175         * sem_ch12.adb: Minor reformatting
6176
6177         * g-trasym.adb: Minor reformatting
6178
6179         * exp_ch6.adb: Minor reformatting
6180
6181 2009-04-24  Robert Dewar  <dewar@adacore.com>
6182
6183         * layout.adb (Layout_Type): For packed array type, copy unset
6184         size/alignment fields from the referenced Packed_Array_Type.
6185
6186 2009-04-24  Bob Duff  <duff@adacore.com>
6187
6188         * lib-load.adb (Make_Instance_Unit): Revert previous change, no
6189         longer needed after sem_ch12 changes.
6190
6191         * sem.adb (Walk_Library_Items): Include with's in some debugging
6192         printouts.
6193
6194 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6195
6196         * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
6197         only ever using the Project field.
6198
6199 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6200
6201         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
6202         Body_Required on the generated compilation node. The new node is linked
6203         to its body, but both share the same file, so we do not set this flag
6204         on the new unit so as not to create a spurious dependency on a
6205         non-existent body in the ali file for the instance.
6206
6207 2009-04-24  Robert Dewar  <dewar@adacore.com>
6208
6209         * make.adb: Minor reformatting
6210
6211 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6212
6213         * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
6214         Add_Source): merge some code between those. In particular change where
6215         file normalization is done to avoid a few extra calls to
6216         Canonicalize_File_Name. This also removes the need for passing
6217         Current_Dir in a number of subprograms.
6218
6219 2009-04-24  Bob Duff  <duff@adacore.com>
6220
6221         * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
6222         False, assign the correct unit to the Cunit field of the new table
6223         entry. We want the spec unit, not the body unit.
6224
6225         * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
6226         interface for these.
6227         (Maybe_Add_With): Check whether we're trying to a with on the current
6228         unit, and avoid creating such directly self-referential with clauses.
6229         (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
6230         [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
6231         and matches existing comments in the spec.
6232
6233         * sem.adb (Walk_Library_Items): Add various special cases to make the
6234         assertions pass.
6235
6236         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
6237         instead of Parent (N), for uniformity.
6238
6239 2009-04-24  Robert Dewar  <dewar@adacore.com>
6240
6241         * errout.ads: Minor reformatting
6242
6243 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6244
6245         * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
6246         behavior when the project includes sources from multiple languages
6247
6248 2009-04-24  Vincent Celier  <celier@adacore.com>
6249
6250         * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
6251         is a language other than Ada declared.
6252
6253         * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
6254         Imported_First set to True.
6255
6256 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6257
6258         * sem_res.adb: additional optimization to inhibit creation of
6259         redundant transient scopes.
6260
6261 2009-04-24  Bob Duff  <duff@adacore.com>
6262
6263         * rtsfind.ads: Minor comment fix
6264
6265 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6266
6267         * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
6268         Get_Path_Name_And_Record_Ada_Sources): merged, since these were
6269         basically doing the same work (for explicit or implicit sources).
6270         (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
6271         role. Rewritten to share some code (testing that all explicit sources
6272         have been found) between ada_only and multi_language modes.
6273
6274 2009-04-24  Jerome Lambourg  <lambourg@adacore.com>
6275
6276         * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
6277         for CLI imported types.
6278         (Analyze_Pragma): Allow CIL or Java imported functions returning
6279         access-to-subprogram types.
6280
6281 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6282
6283         * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
6284         (Project_Data.Dir_Path): field removed, since it can be computed
6285         directly from .Directory, and is needed only once when processing the
6286         project is buildgpr.adb or make.adb
6287
6288 2009-04-24  Robert Dewar  <dewar@adacore.com>
6289
6290         * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
6291         rtsfind.adb: Minor reformatting.
6292         Minor code reorganization
6293
6294 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6295
6296         * mlib-prj.adb: Use friendlier english identifier.
6297
6298         * gnatcmd.adb, make.adb: Use better english identifiers.
6299
6300 2009-04-24  Robert Dewar  <dewar@adacore.com>
6301
6302         * clean.adb: Minor reformatting
6303
6304 2009-04-24  Robert Dewar  <dewar@adacore.com>
6305
6306         * einfo.adb (OK_To_Rename): New flag
6307
6308         * einfo.ads (OK_To_Rename): New flag
6309
6310         * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
6311         OK_To_Rename set.
6312
6313         * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
6314
6315         * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
6316         OK_To_Rename.
6317
6318 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6319
6320         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
6321         clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
6322         field removed. This is not a property of the
6323         project, just a boolean used to traverse the project tree, and storing
6324         it in the structure prevents doing multiple traversal in parallel.
6325         (Project_Data.Checked): also removed, since it was playing the same role
6326         as Seen when we had two nested loops, and this is no longer necessary
6327         (For_All_Imported_Projects): removed, since in fact there was already
6328         the equivalent in For_Every_Project_Imported. The latter was rewritten
6329         to use a local hash table instead of Project_Data.Seen
6330         Various loops were rewritten to use For_Every_Project_Imported, thus
6331         removing the need for Project_Data.Seen. This avoids a lot of code
6332         duplication
6333
6334 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6335
6336         * sem_res.adb (Resolve_Actuals): Do not create blocks around code
6337         statements, even though the actual of the call is a concatenation,
6338         because the argument is static, and we want to preserve warning
6339         messages  about sequences of code statements that are not marked
6340         volatile.
6341
6342         * sem_warn.adb: remove obsolete comment about warning being obsolete
6343
6344         * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
6345         requeued and the delay has expired while within the accept statement
6346         that executes the requeue, do not perform the requeue and indicate that
6347         the timed call has been aborted.
6348
6349 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6350
6351         * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6352         (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
6353         (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
6354         since they can be computed from the above.
6355
6356 2009-04-24  Vincent Celier  <celier@adacore.com>
6357
6358         * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
6359
6360         * prj-env.adb: Move all global variables to the private part of the
6361         project tree data.
6362         Access these new components instead of the global variables no longer
6363         in existence.
6364         (Add_To_Path): New Project_Tree_Ref parameter, to access the new
6365         components that were previously global variables.
6366
6367         * prj-env.ads (Initialize): New Project_Tree_Ref parameter
6368         (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
6369         parameter.
6370
6371         * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
6372         be able to call Set_Mapping_File_Initial_State_To_Empty with it.
6373
6374         * prj.adb (Initialize): Do not call Prj.Env.Initialize
6375         (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
6376         components in the private part of the project tree data.
6377
6378         * prj.ads (Private_Project_Tree_Data): new components moved from
6379         Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
6380         Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
6381         Ada_Prj_Objects_File_Set, Fill_Mapping_File.
6382
6383 2009-04-24  Vincent Celier  <celier@adacore.com>
6384
6385         * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
6386
6387         * prj-nmsc.adb (Check_Library): No error for imports by shared library
6388         projects, when --unchecked-shared-lib-imports is used.
6389
6390 2009-04-24  Robert Dewar  <dewar@adacore.com>
6391
6392         * sem_ch7.adb: Minor reformatting
6393
6394 2009-04-24  Tristan Gingold  <gingold@adacore.com>
6395
6396         * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
6397         mach thread id.
6398
6399 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6400
6401         * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
6402         Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
6403         (For_All_Imported_Projects): new procedure
6404         (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
6405         above rather than duplicating code.
6406
6407 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6408
6409         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6410         (Source_Id, Source_Data): use a real list to store sources rather than
6411         using an external table to store the elements. This makes code more
6412         efficient and more readable.
6413
6414 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6415
6416         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6417         (Source_Iterator): new type.
6418         This removes the need for having the sources on three different
6419         lists at the project tree, project and language level. They are now
6420         on a single list.
6421
6422 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6423
6424         * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
6425
6426 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6427
6428         * sem_warn.adb: Add comment on obsolete warning
6429
6430 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6431
6432         * s-tassta.adb (Create_Task): Fix violation of locking rule.
6433
6434 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6435
6436         * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
6437         to Language_Ptr to better reflect its new implementation.
6438         (Project_Data.First_Languages_Processing): renamed to Languages now
6439         that the field with that name is no longer used
6440         (Project_Data.Languages): removed, no longer used, and duplicates
6441         information already available through First_Language_Processing.
6442         (Prj.Language_Index): now an actual pointer, instead of an index into
6443         a table. This makes the list somewhat more obvious, but more importantly
6444         removes the need to pass a pointer to the project_tree_data in a few
6445         places, and makes accessing the attributes of a languages more
6446         efficient.
6447
6448 2009-04-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6449             Thomas Quinot  <quinot@adacore.com>
6450
6451         * fe.h (Set_Identifier_Casing): Add const to second parameter.
6452         * gcc-interface/misc.c (internal_error_function): Make copy of return
6453         from pp_formatted_text before assigning BUFFER to it.
6454         (gnat_init): Likewise for main_input_filename and gnat_argv.
6455         (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
6456
6457 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6458
6459         * ttypes.ads (Target_Double_Float_Alignment): New variable.
6460         (Target_Double_Scalar_Alignment): Likewise.
6461         * get_targ.ads (Get_Strict_Alignment): Adjust external name.
6462         (Get_Double_Float_Alignment): New imported function.
6463         (Get_Double_Scalar_Alignment): Likewise.
6464         * layout.adb (Set_Elem_Alignment): Take into account specific caps for
6465         the alignment of "double" floating-point types and "double" or larger
6466         scalar types, as parameterized by Target_Double_Float_Alignment and
6467         Target_Double_Scalar_Alignment respectively.
6468         * gcc-interface/gigi.h (double_float_alignment): Declare.
6469         (double_scalar_alignment): Likewise.
6470         (is_double_float_or_array): Likewise.
6471         (is_double_scalar_or_array): Likewise.
6472         (get_target_double_float_alignment): Likewise.
6473         (get_target_double_scalar_alignment): Likewise.
6474         * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
6475         (get_target_strict_alignment): ...this.
6476         (get_target_double_float_alignment): New function.
6477         (get_target_double_scalar_alignment): Likewise.
6478         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6479         Test the presence of an alignment clause for under-aligned integer
6480         types.  Take into account specific caps for the alignment of "double"
6481         floating-point types and "double" or larger scalar types, as
6482         parameterized by Target_Double_Float_Alignment and
6483         Target_Double_Scalar_Alignment respectively.
6484         (validate_alignment): Likewise.
6485         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
6486         (gigi): Initialize double_float_alignment and double_scalar_alignment.
6487         * gcc-interface/utils.c (double_float_alignment): New global variable.
6488         (double_scalar_alignment): Likewise.
6489         (is_double_float_or_array): New predicate.
6490         (is_double_scalar_or_array): Likewise.
6491
6492 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6493
6494         * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
6495         the conditional expression only if it is common to both arms.
6496
6497 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6498
6499         * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
6500         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
6501         arguments to build_allocator.
6502         * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
6503         Remove code handling special allocator and assert its uselessness.
6504
6505 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6506
6507         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
6508         alignment is specified, do not promote that of the component type
6509         beyond it.
6510         <E_Array_Subtype>: Likewise.
6511
6512 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6513
6514         * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
6515         * sinfo.ads (Object Declaration): Likewise.
6516         (Assignment Statement): Likewise.
6517         * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
6518         Do not force Is_True_Constant to false on the temporary.
6519         (Freeze_Entity): Do not force Is_True_Constant to false on names on
6520         the RHS of object declarations.
6521         * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
6522         New case.  Return 1 if the object is atomic.
6523         <N_Assignment_Statement>: Likewise.
6524
6525 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6526
6527         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
6528         For packed array types, make the original array type a parallel type
6529         for the modular type and its JM wrapper if the type is bit-packed.
6530         <E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
6531         record type for packed array types.  Remove kludge.
6532
6533 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6534
6535         * gcc-interface/gigi.h (create_index_type): Adjust head comment.
6536         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6537         Use front-end predicates to compute signedness and precision.
6538         <E_String_Literal_Subtype>: Fold range type.
6539         Make sure to set longest_float_type_node to a scalar type.
6540         (elaborate_entity): Use consistent Constraint_Error spelling.
6541         (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
6542         * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
6543         output for the modulus, if any.
6544         <ENUMERAL_TYPE>: Likewise for the RM size.
6545         * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
6546         spelling.
6547         * gcc-interface/utils.c (finish_record_type): Really test the alignment
6548         of BLKmode bit-fields to compute their addressability.
6549         (create_index_type): Adjust comments.
6550         (create_param_decl): Create the biased subtype manually.
6551         * gcc-interface/utils2.c (build_component_ref): Use consistent
6552         Constraint_Error spelling.
6553
6554 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6555
6556         * gcc-interface/cuintp.c: Clean up include directives.
6557         * gcc-interface/targtyps.c: Likewise.
6558         * gcc-interface/decl.c: Likewise.
6559         * gcc-interface/misc.c: Likewise.
6560         * gcc-interface/trans.c: Likewise.
6561         * gcc-interface/utils.c: Likewise.
6562         * gcc-interface/utils2.c: Likewise.
6563         * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
6564
6565 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6566
6567         * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
6568         (SET_TYPE_LANG_SPECIFIC): Likewise.  Fix formatting.
6569         (SET_DECL_LANG_SPECIFIC): Likewise.
6570         Reorder macros.
6571         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6572         Update comment about use of build_range_type.
6573         <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
6574         <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
6575         check for other cases of overloading.
6576         * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
6577         * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
6578         Use size_int in lieu of build_int_cst.
6579         (build_call_alloc_dealloc): Use build_index_2_type in lieu of
6580         build_range_type.
6581
6582 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6583
6584         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
6585         type is an enumeral or a boolean type, change it to an integer type
6586         with the same mode and signedness.
6587
6588 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6589
6590         * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
6591         for an external constant whose initializer is not absolute.
6592
6593 2009-04-22  Taras Glek  <tglek@mozilla.com>
6594
6595         * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
6596         * gcc-interface/trans.c: Likewise.
6597         * gcc-interface/utils.c: Likewise.
6598
6599 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
6600
6601         * sem_res.adb: Create block around procedure call when actual is a
6602         concatenation.
6603
6604 2009-04-22  Thomas Quinot  <quinot@adacore.com>
6605
6606         * s-soflin.ads: Fix typos
6607
6608 2009-04-22  Vincent Celier  <celier@adacore.com>
6609
6610         * prj-env.adb: Minor comment change
6611
6612         * prj-nmsc.adb (Check_Common): Add guard to avoid calling
6613         Get_Name_String with No_File.
6614
6615         * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
6616         cannot be created even when not in verbose mode.
6617
6618 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6619
6620         * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
6621         prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
6622         Multi_Language modes, to avoid code duplication.
6623         (Project_Data.Include_Language): Removed.
6624
6625 2009-04-22  Vincent Celier  <celier@adacore.com>
6626
6627         * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
6628         the temporary file cannot be created, indicating the directory when the
6629         creation was attempted.
6630
6631 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6632
6633         * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
6634         the language names, not their indices.
6635
6636 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6637
6638         * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
6639         (Source_Data.Language_Name): Field removed.
6640
6641 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6642
6643         * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
6644         Two fields removed.
6645
6646 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6647
6648         * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
6649         separate_suffix to the same value as the body_suffix.
6650
6651 2009-04-22  Robert Dewar  <dewar@adacore.com>
6652
6653         * prj.adb: Minor code reorganization
6654         Code clean up.
6655
6656         * prj-proc.adb: Minor code reorganization, clean up.
6657
6658         * prj-nmsc.adb: Minor reformatting
6659         Minor code reorganization
6660
6661         * gnat_ugn.texi: Add to doc on strict aliasing
6662
6663 2009-04-22  Pascal Obry  <obry@adacore.com>
6664
6665         * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
6666         SpinCount.
6667
6668         * s-tasini.adb: Minor reformatting.
6669
6670         * s-tassta.adb: Minor reformatting.
6671
6672 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6673
6674         * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
6675         smaller subprograms.
6676         Renamed to Check_File_Naming_Schemes to avoid confusion with the
6677         other Check_Naming_Schemes functions that plays a totally different
6678         role.
6679         (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
6680         extracted from the above. These were partially rewritten to avoid
6681         unnecessary code and temporary variables.
6682         (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
6683         and Get_Unit (which for now still exist since they contain mode-specific
6684         code)
6685
6686 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6687
6688         * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
6689         Remove duplicated code.
6690         (Canonical_Case_File_Name): new subprogram
6691         (Check_And_Normalize_Unit_Names): new subprogram
6692         (Write_Attr): new subprogram
6693         Better sharing of code
6694         (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
6695         split Check_Naming and help find duplicated code
6696         (Check_Common): new subprogram, sharing code between ada_only and
6697         multi_language mode.
6698         (Naming_Data.Dot_Repl_Loc): field removed
6699
6700 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6701
6702         * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
6703         Minor refactoring to reduce the size of
6704         Process_Sources_In_Multi_Language_Mode.
6705         Avoid extra copied of Source_Data, which we found in the past could be
6706         quite slow.
6707         (Mark_Excluded_Sources): new subprogram.
6708         (Remove_Locally_Removed_Files_From_Units): merged into the above
6709         Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
6710         and allow better sharing of code between multi_lang and ada_only modes
6711         (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
6712
6713 2009-04-22  Emmanuel Briot  <briot@adacore.com>
6714
6715         * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
6716         Removed, since unused.
6717
6718 2009-04-22  Vincent Celier  <celier@adacore.com>
6719
6720         * prj-attr.adb: New single project level attribute
6721         Separate_Run_Path_Options.
6722
6723         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
6724         attribute Seperate_Run_Path_Options.
6725
6726         * prj.ads: (Project_Configuration): New Boolean component
6727         Separate_Run_Path_Options, defaulted to False.
6728
6729         * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
6730
6731 2009-04-22  Robert Dewar  <dewar@adacore.com>
6732
6733         * sem_type.adb: Minor reformatting
6734
6735         * mlib.adb: Minor reformatting
6736
6737         * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
6738         syntax error.
6739
6740 2009-04-22  Nicolas Setton  <setton@adacore.com>
6741
6742         * link.c: Add flag __gnat_separate_run_path_options.
6743
6744         * mlib.adb (Separate_Run_Path_Options): New subprogram.
6745
6746         * mlib.ads (Separate_Run_Path_Options): Declare.
6747
6748         * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
6749         switch per directory, rather than one "rpath" switch listing all
6750         directories.
6751
6752         * gnatlink.adb (Process_Binder_File): Likewise.
6753
6754         * make.adb (Gnatmake): Likewise.
6755
6756 2009-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
6757
6758         * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
6759         Add a call to Move_Final_List when the target of the assignment is a
6760         return object that needs finalization and the expression is a
6761         controlled build-in-place function.
6762
6763 2009-04-22  Vincent Celier  <celier@adacore.com>
6764
6765         * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
6766         Including_Libraries set to True.
6767
6768 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
6769
6770         * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
6771         create a unit table entry for the subprogram declaration created for a
6772         child suprogram body that has no separate specification.
6773
6774         * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
6775         subprogram body, call Make_Child_Decl_Unit.
6776
6777         * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
6778         table can only be the created specification of a child subprogram body
6779         that is the main unit, which has not been entered in the table yet.
6780
6781         * errout.adb  (Output_Messages): Ignore created specification of a
6782         child subprogram body to prevent repeated listing of error messages.
6783
6784         * gnat1drv.adb (gnat1drv): The generated specification for a child
6785         subprogram body does not generate code.
6786
6787 2009-04-22  Arnaud Charlet  <charlet@adacore.com>
6788
6789         * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
6790         since this unit is now part of bootstrap units, so must use Ada 95
6791         syntax only.
6792
6793 2009-04-22  Thomas Quinot  <quinot@adacore.com>
6794
6795         * a-tasatt.adb: Minor reformatting
6796
6797 2009-04-22  Bob Duff  <duff@adacore.com>
6798
6799         * s-stalib.ads: Remove "with System;" since we're inside System, so
6800         it's unnecessary.
6801
6802 2009-04-22  Vincent Celier  <celier@adacore.com>
6803
6804         * prj-nmsc.adb (Add_Source): Always put the dependency file name in
6805         the source record, as there may be a dependency file even if no object
6806         file is created.
6807
6808 2009-04-22  Robert Dewar  <dewar@adacore.com>
6809
6810         * lib-load.adb: Minor reformatting
6811
6812         * lib-load.ads: Minor reformatting
6813
6814         * sinfo.ads: Minor reformatting
6815
6816 2009-04-22  Bob Duff  <duff@adacore.com>
6817
6818         * exp_pakd.adb: Minor comment fixes.
6819
6820         * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
6821         sem_ch12.adb: Change the meaning of the Library_Unit attribute to
6822         include units containing instantiations, as well as units that are
6823         generic instantiations.
6824
6825         * sem.adb: Include dependents and corresponding specs/bodies in the
6826         unit walk.
6827
6828         * gcc-interface/Make-lang.in:
6829         sem now depends on s-bitops, because of the packed array of Booleans.
6830
6831 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6832
6833         * gcc-interface/ada-tree.def: Fix formatting nits.
6834         (REGION_STMT): Delete.
6835         (HANDLER_STMT): Likewise.
6836         * gcc-interface/ada-tree.h: Fix formatting nits.
6837         (IS_STMT): Delete.
6838         (REGION_STMT_BODY): Likewise.
6839         (REGION_STMT_HANDLE): Likewise.
6840         (REGION_STMT_BLOCK): Likewise.
6841         (HANDLER_STMT_ARG): Likewise.
6842         (HANDLER_STMT_LIST): Likewise.
6843         (HANDLER_STMT_BLOCK): Likewise.
6844         * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
6845         (fp_size_to_prec): Likewise.
6846         (largest_move_alignment): Delete.
6847         (gnat_compute_largest_alignment): Likewise.
6848         Fix minor nits.
6849         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6850         Remove redundant code.
6851         <E_Array_Type>: Remove redundant assert.
6852         <E_Array_Subtype>: Exit early from index computation in pathological
6853         cases.
6854         Rewrite conditional assignment.
6855         (make_type_from_size): Likewise.
6856         * gcc-interface/misc.c (largest_move_alignment): Delete.
6857         (gnat_finish_incomplete_decl): Likewise.
6858         (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
6859         (asm_out_file): Likewise
6860         (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
6861         (gnat_dwarf_name): Move around.
6862         * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
6863         (gigi): Remove call to gnat_compute_largest_alignment.
6864         * utils.c (create_field_decl): Rewrite conditional assignment.
6865         Fix minor nits.
6866
6867 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6868
6869         * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
6870         on entry.  Defer common processing for types.  Reorder and clean up.
6871         Compute the equivalent GNAT node and the default size for types only.
6872         <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
6873         <E_Access_Type>: For an unconstrained designated type, do not pretend
6874         that a dummy type is always made.
6875         <all> Fix nits in comments.
6876         (validate_size): Fix formatting nits and comments.
6877         (set_rm_size): Likewise.
6878         * gcc-interface/utils.c (create_param_decl): Replace bogus argument
6879         passed to TARGET_PROMOTE_PROTOTYPES hook.
6880
6881 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
6882
6883         * fe.h (Get_External_Name): Declare.
6884         * gcc-interface/gigi.h (concat_id_with_name): Rename to...
6885         (concat_name): ...this.
6886         * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
6887         gnu_entity_name and adjust for above renaming.
6888         <E_Access_Type>: Use create_concat_name to get the name of the various
6889         types associated with unconstrained array types.
6890         (make_aligning_type): Adjust for above renaming.
6891         (maybe_pad_type): Likewise.
6892         (components_to_record): Likewise.  Use get_identifier_with_length for
6893         the encoding of the variant.
6894         (get_entity_name): Use get_identifier_with_length.
6895         (create_concat_name): Likewise.  Use Get_External_Name if no suffix.
6896         Do not fiddle with Name_Buffer.
6897         (concat_id_with_name): Rename to...
6898         (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
6899         with Name_Buffer.
6900         * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
6901         above renaming.
6902
6903 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
6904
6905         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
6906         license notices.
6907
6908 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
6909
6910         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
6911
6912 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
6913
6914         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
6915         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
6916         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
6917         Remove useless support code for packed array types and assert its
6918         uselessness.
6919         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
6920         adjust for TYPE_RM_SIZE change.
6921         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
6922         of Associated_Node_For_Itype accessor for packed array types.
6923         (make_packable_type): Likewise.
6924         (maybe_pad_type): Likewise.
6925         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
6926         TYPE_RM_SIZE change.
6927         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
6928         (rm_size): Fix nits in comments.  Rework conditional statements.
6929         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
6930         change.
6931         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
6932         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
6933         appropriate function to initialize the size_type_node.  Adjust for
6934         TYPE_RM_SIZE change.
6935
6936 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
6937
6938         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
6939         for imported subprograms.
6940
6941 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
6942
6943         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
6944         constant objects covered by 13.3(19) volatile.
6945
6946 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
6947
6948         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
6949         of dummy fat pointer types to the debug back-end.
6950
6951 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6952
6953         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
6954         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
6955         before wrapping it up in the record type.  Do not overwrite the
6956         Ada size of the record type with the Esize.
6957
6958 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6959
6960         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
6961         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
6962         if the conversion is on the LHS of an assignment and a no-op.
6963         <all> Do not convert the result to the result type if the Parent
6964         node is such a conversion.
6965
6966 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6967
6968         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
6969         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
6970         of types with unknown discriminants.
6971         (substitute_in_type): Rewrite and restrict to formal substitutions.
6972         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
6973         (update_pointer_to): Update comment.
6974
6975 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6976
6977         * sem_ch8.adb (Use_One_Package): In an instance, if two
6978         potentially_use_visible and non-overloadable homonyms are available
6979         from  the actuals of distinct formal packages, retain the current one,
6980         which was visible in the generic, to prevent spurious visibility
6981         errors.
6982         (End_Use_Package): Restore use_visibility when needed.
6983
6984 2009-04-20  Sergey Rybin  <rybin@adacore.com>
6985
6986         * gnat_ugn.texi, vms_data.ads: Update doc.
6987
6988 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
6989
6990         * gcc-interface/Make-lang.in: Update dependencies
6991
6992         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
6993         Windows.
6994
6995 2009-04-20  Robert Dewar  <dewar@adacore.com>
6996
6997         * checks.ads: Fix documentation of range check handling
6998
6999 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7000
7001         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
7002         a redundant use_type clause.
7003
7004 2009-04-20  Robert Dewar  <dewar@adacore.com>
7005
7006         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
7007         this attribute can be evaluated at compile time.
7008         (Eval_Attribute, case Range_Length): Same improvement
7009
7010         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
7011
7012 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7013
7014         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
7015         for better handling of null procedures.
7016         (Check_Overriding_Indicator): Do not emit a warning on a missing
7017         overriding indicator on an operator when the type of which the operator
7018         is a primitive is private.
7019
7020 2009-04-20  Bob Duff  <duff@adacore.com>
7021
7022         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
7023         debugging output.
7024
7025 2009-04-20  Robert Dewar  <dewar@adacore.com>
7026
7027         * sem_attr.adb: Minor reformatting
7028
7029         * gnatcmd.adb: Minor reformatting
7030
7031 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7032
7033         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
7034         overloaded and one interpretation matches the context, label the
7035         operand with the type of first formal.
7036
7037 2009-04-20  Bob Duff  <duff@adacore.com>
7038
7039         * debug.ads: Minor comment fix.
7040
7041         * debug.adb: Minor comment fixes.
7042
7043 2009-04-20  Javier Miranda  <miranda@adacore.com>
7044
7045         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
7046
7047         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
7048
7049         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
7050         is expanded into a call to Raise_Exception, avoid passing the
7051         exception-name'identity in runtimes in which this argument
7052         is not used.
7053
7054 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
7055
7056         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
7057         generated bindings for cil.
7058
7059 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7060
7061         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
7062         discriminants, collect components from the Underlying_Record_View,
7063         which will be used in the expansion of the aggregate into assignments.
7064
7065         * sem_ch3.adb: Do not label derived type with unknown discriminants as
7066         having a private declaration.
7067
7068 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7069
7070         * exp_util.adb (Expand_Subtype_From_Expr): use the
7071         underlying_record_view when available, to create the proper constrained
7072         subtype for an object of a derived type with unknown discriminants.
7073
7074 2009-04-20  Javier Miranda  <miranda@adacore.com>
7075
7076         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
7077         formals that have pragma unreferenced.
7078
7079 2009-04-20  Pascal Obry  <obry@adacore.com>
7080
7081         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
7082         Remove all calls to To_Lower_If_Case_Insensitive to preserve
7083         the pathname original casing.
7084
7085 2009-04-20  Robert Dewar  <dewar@adacore.com>
7086
7087         * g-trasym.adb: Minor reformatting
7088
7089         * s-os_lib.adb: Minor reformatting
7090
7091         * sem.adb: Minor reformatting
7092         Minor code reorganization
7093
7094         * sem_ch3.adb: Minor reformatting
7095
7096         * sem_ch4.adb: Minor reformatting
7097
7098         * sem_ch8.adb: Minor reformatting
7099
7100         * sem_type.adb: Minor reformatting
7101
7102 2009-04-20  Javier Miranda  <miranda@adacore.com>
7103
7104         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
7105         generated by derivations of tagged types use the aliased subprogram a
7106         reference to locate their controlling type.
7107
7108 2009-04-20  Tristan Gingold  <gingold@adacore.com>
7109
7110         * g-trasym.adb: Set size of result buffer before calling
7111         convert_address.
7112
7113 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7114
7115         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
7116         to a function returning an array can be interpreted as a call with
7117         defaulted parameters whose result is indexed, take into account the
7118         types of all the indices of the array result type.
7119
7120 2009-04-20  Pascal Obry  <obry@adacore.com>
7121
7122         * a-direct.adb, s-os_lib.adb: Minor reformatting.
7123
7124 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7125
7126         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
7127         null exclusion qualifiers for object renaming declarations.
7128
7129 2009-04-20  Nicolas Roche  <roche@adacore.com>
7130
7131         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
7132         unsigned long long. So compare local_time and utc_time before computing
7133         the difference.
7134
7135 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7136
7137         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
7138         of the Underlying_Record_View before that of the derived type.
7139
7140         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
7141         with unknown discriminants with regard to the parent subtype.
7142
7143 2009-04-20  Bob Duff  <duff@adacore.com>
7144
7145         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
7146         that are not included. This is necessary if the main unit is a generic
7147         instantiation.
7148
7149         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
7150         because it doesn't work if -gnatn is used.
7151
7152 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7153
7154         * rtsfind.adb (RTE, RTE_Record_Component): In
7155         Configurable_Run_Time_Mode, do not enable front-end inlining.
7156
7157 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7158
7159         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
7160         System.Address_To_Access_Conversions.
7161
7162 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7163
7164         * sem.adb: Guard against ill-formed subunits.
7165
7166 2009-04-20  Bob Duff  <duff@adacore.com>
7167
7168         * output.adb (Flush_Buffer): Do not indent blank lines.
7169         (Ignore_Output): New procedure for output suppression.
7170
7171 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7172
7173         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
7174         when it is positive.  This avoids a potential constraint error raised
7175         by the conversion to Natural.
7176
7177 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7178
7179         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
7180         involves a target that has a specified address, don't set Forward_OK
7181         and Backward_OK to False if the rhs is an aggregate, since overlap
7182         can't occur.
7183
7184 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7185
7186         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
7187         in an object renaming declaration when the expected type is an
7188         anonymous access type.
7189
7190         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
7191         ambiguity when one interpretation is an anonymous access type and the
7192         other is a named access type, and the context itself is anonymous
7193
7194 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7195
7196         * einfo.ads: Minor comment rewording
7197
7198         * sem_aggr.adb: Minor comment rewording
7199
7200         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
7201
7202 2009-04-20  Pascal Obry  <obry@adacore.com>
7203
7204         * adaint.c (__gnat_is_readable_file): Check for file existence
7205         when not using ACL (always the case on remote drives).
7206
7207 2009-04-20  Robert Dewar  <dewar@adacore.com>
7208
7209         * sinfo.ads: Minor comment fixes
7210
7211         * exp_disp.adb: Minor reformatting
7212
7213         * gnat1drv.adb: Minor reformatting
7214
7215         * output.adb: Minor reformatting
7216
7217         * s-vxwext-kernel.ads: Minor reformatting
7218
7219         * sem.ads: Minor reformatting
7220
7221         * sem.adb: Minor reformatting
7222
7223         * sem_elim.adb: Minor reformatting
7224
7225         * uname.ads: Minor reformatting
7226
7227 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7228
7229         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
7230         a small dope of 4 words to the adjustment to the stack pointer.
7231
7232 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7233
7234         * xoscons.adb: generate C header s-oscons.h in
7235         addition to s-oscons.ads.
7236
7237         * socket.c: On VMS, use s-oscons.h.
7238
7239         * sem_ch3.adb: Minor reformatting
7240
7241         * exp_ch9.adb: Minor reformatting
7242
7243 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7244
7245         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
7246         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
7247         (call_to_gnu): Likewise.
7248
7249 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7250
7251         * gcc-interface/trans.c (gigi): Declare the name of the compilation
7252         unit as the first global name at the very beginning.
7253
7254 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7255
7256         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7257         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
7258         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
7259         since HP-UX supports neither inet_aton nor inet_pton (altough the
7260         latter is part of the Single UNIX Specification!).
7261         So reorganize code, and share C implementation based on inet_addr(3)
7262         with VMS (instead of having a VMS specific Ada implementation in
7263         g-socthi-vms.adb).
7264
7265 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7266
7267         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
7268         to return the object file name saved by Set_Object_Output_File_Name.
7269
7270 2009-04-20  Emmanuel Briot  <briot@adacore.com>
7271
7272         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
7273         for the standard command line, when argc has been modified since the
7274         start of the application.
7275
7276 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7277
7278         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
7279         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
7280
7281 2009-04-20  Bob Duff  <duff@adacore.com>
7282
7283         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
7284         pragma Debug.
7285
7286 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7287
7288         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
7289         subprogram as Eliminated when source operation is.
7290         (Expand_N_Protected_Type_Declaration): Generate protected and
7291         unprotected specs for the internal operations, even if the source
7292         operation is eliminated.
7293
7294 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7295
7296         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
7297         Predefined_Primitive_Bodies): Do not create the declarations and bodies
7298         of the primitive subprograms associated with dispatching select
7299         statements when the runtime is in configurable mode.
7300
7301 2009-04-20  Ed Falis  <falis@adacore.com>
7302
7303         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
7304
7305 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7306
7307         * s-oscons-tmplt.c: Add support for generating a dummy version of
7308         s-oscons.ads providing all possible constants.
7309
7310         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
7311
7312         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
7313         ANSI version (not the UNICODE version) of WSAStringToAddress.
7314
7315 2009-04-20  Pascal Obry  <obry@adacore.com>
7316
7317         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
7318         allocated for the security descriptor and make sure all
7319         handles are closed before leaving this procedure.
7320
7321 2009-04-20  Javier Miranda  <miranda@adacore.com>
7322
7323         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
7324         (Set_Is_Underlying_Record_View): New subprogram
7325
7326         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
7327         private types with unknown discriminants use the underlying record view
7328         if available.
7329
7330         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
7331         underlying record view in the full view of private types whose parent
7332         has unknown discriminants.
7333         (Build_Derived_Record_Type): Avoid generating the class-wide entity
7334         associated with an underlying record view.
7335         (Derived_Type_Declaration): Avoid deriving parent primitives in
7336         underlying record views.
7337
7338         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
7339         records with unknown discriminants.
7340
7341         * sem_type.adb (Covers): Handle underlying record views.
7342         (Is_Ancestor): Add support for underlying record views.
7343
7344         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
7345         dispatching call if the type of the target object is tagged and has
7346         unknown discriminants.
7347
7348         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
7349         unknown discriminants.
7350
7351         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
7352         tables for internally built underlying record views.
7353
7354         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
7355         empty list of component associations.
7356
7357 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7358
7359         * sem_ch10.adb: Minor reformatting
7360
7361         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7362         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
7363         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
7364         standard inet_pton API (and emulate it on platforms that do not
7365         support it).
7366         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
7367         DECC$INET_ADDR, imported in Ada.
7368         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
7369         implementation provided by GNAT runtime.
7370         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
7371         Windows.
7372
7373 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7374
7375         * gnat_ugn.texi: Add documentation for -fno-ivopts.
7376
7377 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7378
7379         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
7380         with_clause if it is the main unit.
7381
7382 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7383
7384         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
7385         (no behaviour change): Use Append instead of Increment_Last followed
7386         by assignment.
7387
7388 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7389
7390         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
7391         declarations of all primitives associated with dispatching asynchronous,
7392         conditional and timed selects when dispaching calls are forbidden and
7393         select statements are not allowed (such as in Ravenscar).
7394         (Predefined_Primitive_Bodies): Ditto for bodies.
7395
7396         * exp_disp.ad (Make_DT): Do not create and populate the
7397         Select_Specific_Data of the dispatch table when dispatching calls are
7398         forbidden and select statements are not allowed (such as in Ravenscar).
7399
7400 2009-04-20  Robert Dewar  <dewar@adacore.com>
7401
7402         * a-tifiio.adb: Minor reformatting
7403
7404 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7405
7406         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
7407         other C library functions, report *failure* with a zero status, and
7408         success with a non-zero status.
7409
7410 2009-04-20  Bob Duff  <duff@adacore.com>
7411
7412         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
7413         (Semantics): After analyzing each unit, Append it to the
7414         Comp_Unit_List, if appropriate.
7415
7416         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
7417         purposes.
7418         (Gnat1drv): Correct comment regarding Back_End_Mode.
7419
7420 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7421
7422         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
7423
7424 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7425
7426         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
7427         output.adb, output.ads, s-taprop-hpux-dce.adb,
7428         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
7429         reformatting.
7430
7431 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7432
7433         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
7434         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
7435         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
7436         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
7437         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
7438         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
7439
7440         * debug.adb: Fix typo
7441
7442         * gnat_rm.texi: Minor doc fix.
7443
7444         * sem_ch7.adb, freeze.adb: Minor reformatting
7445
7446 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7447
7448         * g-socket.ads: Add new constants:
7449           Loopback_Inet_Addr
7450           Unspecified_Group_Inet_Addr
7451           All_Hosts_Group_Inet_Addr
7452           All_Routers_Group_Inet_Addr
7453
7454         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
7455         ERANGE (Result too large).
7456         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
7457         propagation of errno to caller.
7458
7459 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7460
7461         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
7462         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
7463         Leap_Second_Times.
7464
7465 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7466
7467         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
7468         checking for references to eliminated subprograms that should be
7469         flagged.
7470         (Eliminate_Error_Message): Update comment to say "references" rather
7471         than "calls" (since attribute cases are handled here as well).
7472
7473         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
7474         checking for references to eliminated subprograms that should be
7475         flagged.  Add with and use of Sem and Sem_Util.
7476
7477         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
7478         Add with and use of Sem_Elim.
7479
7480         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
7481         applied to eliminated subprograms.
7482         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
7483         eliminated subprograms.
7484         Add with and use of Sem_Elim.
7485
7486         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
7487         to eliminated subprograms, now handled during Resolve_Call.
7488         Remove with and use of Sem_Elim.
7489
7490         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
7491         testing Is_Eliminated, for proper handling of primitive derived from
7492         eliminated subprograms.
7493
7494 2009-04-20  Vincent Celier  <celier@adacore.com>
7495
7496         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
7497         has been declared (Library_GCC or Linker'Driver), for the driver name.
7498
7499         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
7500         Linker'Driver is, use Linker'Driver as the shared library linker.
7501         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
7502         Library_GCC is declared.
7503         (Check_Library_Attributes): Set up the shared linker driver: either
7504         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
7505         declared.
7506
7507 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7508
7509         * g-socket.ads (Send_Socket): Fix misleading comment.
7510
7511 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7512
7513         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
7514         ASIS mode.
7515
7516 2009-04-20  Geert Bosch  <bosch@adacore.com>
7517
7518         * a-tifiio.adb (Put): Avoid generating too many digits for certain
7519         fixed types with smalls that are neither integer or the reciprocal
7520         of an integer.
7521
7522 2009-04-20  Bob Duff  <duff@adacore.com>
7523
7524         * uname.ads: Minor comment fix.
7525
7526         * types.ads: Minor comment fix.
7527
7528 2009-04-20  Pascal Obry  <obry@adacore.com>
7529
7530         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
7531         avoid warning. At the same time fix a memory leak.
7532
7533         * osint.adb (Get_Libraries_From_Registry): Properly free memory
7534         returned by the above routine.
7535
7536 2009-04-20  Robert Dewar  <dewar@adacore.com>
7537
7538         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
7539         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
7540         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
7541         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
7542
7543         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
7544
7545 2009-04-20  Pascal Obry  <obry@adacore.com>
7546
7547         * initialize.c (__gnat_initialize): Add braces to kill warning.
7548
7549         * adaint.c: Minor reformatting, remove trailing spaces.
7550
7551 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
7552
7553         * gcc-interface/Make-lang.in: Update dependencies.
7554
7555 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7556
7557         * adaint.h (__gnat_lwp_self): Declare on Linux.
7558
7559         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
7560
7561 2009-04-20  Robert Dewar  <dewar@adacore.com>
7562
7563         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
7564         front-end part of -fpreserve-control-flow switch.
7565
7566 2009-04-20  Bob Duff  <duff@adacore.com>
7567
7568         * rtsfind.adb: Minor comment fix
7569
7570 2009-04-20  Robert Dewar  <dewar@adacore.com>
7571
7572         * exp_aggr.adb: Minor reformatting
7573         Minor code reorganization (use Nkind_In)
7574
7575         * g-socket.adb: Minor reformatting
7576
7577         * g-socket.ads: Minor comment fix
7578
7579         * s-auxdec.ads: Minor comment and organization update.
7580
7581         * s-auxdec-vms_64.ads: Minor comment and organization update.
7582
7583         * sem_ch10.adb: Minor addition of ??? comment
7584
7585         * sem_disp.adb: Minor reformatting
7586
7587 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7588
7589         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
7590         list a caller of an inlined subprogram, if the caller itself is not
7591         called.
7592
7593 2009-04-20  Pascal Obry  <obry@adacore.com>
7594
7595         * adaint.c: Disable use of ACL on network drives.
7596
7597 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7598
7599         * gnat_ugn.texi: Add examples.
7600
7601 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7602
7603         * g-socket.ads (Abort_Selector): Clarify documentation.
7604
7605 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7606
7607         * opt.ads (Inspector_Mode): Update documentation of this flag.
7608
7609 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7610
7611         * g-socket.ads: Minor reformatting
7612
7613         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
7614         consider S_resolvLib error codes since we only use the hostLib wrappers.
7615
7616 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7617
7618         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
7619         of the Underlying_Record_View after that of the derived type.
7620
7621 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7622
7623         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
7624         in inspector mode.
7625
7626 2009-04-20  Javier Miranda  <miranda@adacore.com>
7627
7628         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
7629
7630         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
7631         documentation.
7632
7633         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
7634
7635         * sem_disp.adb
7636         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
7637         in internally built overriding subprograms.
7638
7639 2009-04-20  Doug Rupp  <rupp@adacore.com>
7640
7641         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
7642
7643         * s-auxdec.ads: Likewise
7644
7645 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7646
7647         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
7648         type by an interface.
7649
7650         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
7651         minimze difference in expanded tree when compiled as spec of the main
7652         unit, or as a spec in the context of another unit.
7653
7654 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7655
7656         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
7657         (localtime_tzoff): This routine no longer accepts an actual of type
7658         tm_Pointer.
7659         (UTC_Time_Offset): Remove local variable Secs_TM.
7660
7661         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
7662         actual of type struct tm*. Add local variable of type struct tm for all
7663         targets that provide localtime_r and need to invoke it.
7664
7665 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7666
7667         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
7668         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
7669         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
7670
7671 2009-04-20  Robert Dewar  <dewar@adacore.com>
7672
7673         * sem_ch3.adb: Minor reformatting
7674
7675         * lib-load.adb: Minor reformatting
7676
7677         * sem_ch4.adb: Minor reformatting
7678
7679 2009-04-20  Robert Dewar  <dewar@adacore.com>
7680
7681         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
7682         (equal values => False).
7683
7684 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7685
7686         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
7687         to null procedures can be inlined unconditionally.
7688
7689 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7690
7691         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
7692         non-addressable parameter passed by reference, do not convert the
7693         actual if its type is already the nominal type, unless it is of
7694         self-referential size.
7695
7696 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7697
7698         * gnat_ugn.texi: Fix typos.
7699
7700 2009-04-20  Robert Dewar  <dewar@adacore.com>
7701
7702         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
7703         Validate_Unchecked_Warnings to suppress warnings about size or
7704         alignment or extra bits if either type involved has pragma Warnings
7705         (Off) set for the type entity.
7706
7707 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
7708
7709         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
7710         a builtin type and give it a name.
7711
7712 2009-04-17  Diego Novillo  <dnovillo@google.com>
7713
7714         * gcc-interface/misc.c (gnat_expand_expr): Remove.
7715         (LANG_HOOKS_EXPAND_EXPR): Remove.
7716
7717 2009-04-17  Robert Dewar  <dewar@adacore.com>
7718
7719         * sem_ch3.adb: Minor reformatting
7720
7721 2009-04-17  Pascal Obry  <obry@adacore.com>
7722
7723         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
7724
7725 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
7726
7727         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
7728         illegal constraints on type derived from formal discrete types.
7729
7730 2009-04-17  Thomas Quinot  <quinot@adacore.com>
7731
7732         PR ada/35953
7733
7734         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
7735         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
7736         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
7737         g-socket.ads (GNAT.Sockets.Thin.C_Send,
7738         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
7739         Replace calls to send(2) with equivalent sendto(2) calls.
7740         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
7741         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
7742         report an error in that case. Factor code common to the two versions
7743         (datagram and stream) in common routine Stream_Write.
7744
7745 2009-04-17  Robert Dewar  <dewar@adacore.com>
7746
7747         * exp_disp.adb: Minor reformatting
7748         Minor code reorganization (use Nkind_In)
7749
7750         * prepcomp.adb: Minor reformatting
7751
7752         * sem_ch3.adb: Minor reformatting
7753
7754         * sem_res.adb: Minor comment addition
7755
7756         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
7757         for address clause
7758
7759         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
7760         setting Is_Referenced
7761
7762         * types.ads: Minor reformatting
7763
7764 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
7765
7766         * gnat_ugn.texi: Initial documentation on binding generator.
7767
7768 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
7769
7770         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
7771         type extensions whose parent is a type with unknown discriminants.
7772
7773         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
7774         aggregate has unknown discriminants, use the Underlying_Record_View to
7775         obtain the discriminants of the ancestor part.
7776
7777         * exp_disp.adb (Build_Dispatch_Tables): Types that are
7778         Underlying_Record_Views share the dispatching information of the
7779         original record extension.
7780
7781         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
7782         discriminants, propagate dispach table information to the
7783         Underlying_Record_View.
7784
7785         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
7786         discriminants and declaration is not a completion, generate
7787         Underlying_Record_View to provide proper discriminant information to
7788         the front-end and to gigi.
7789
7790 2009-04-17  Robert Dewar  <dewar@adacore.com>
7791
7792         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
7793         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
7794         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
7795         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
7796         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
7797         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
7798         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
7799         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
7800         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
7801         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
7802         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
7803         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
7804         s-conca3.ads: Remove unneeded pragma Warnings
7805
7806 2009-04-17  Robert Dewar  <dewar@adacore.com>
7807
7808         * g-moreex.adb: Add comments.
7809
7810         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
7811
7812         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
7813         Warnings (Off)
7814
7815         * prepcomp.adb: Add ??? comment
7816
7817         * a-tasatt.adb: Minor reformatting
7818
7819         * g-trasym-vms-alpha.adb: Add ??? comment
7820
7821         * g-trasym-vms-ia64.adb: Add ??? comment
7822
7823         * xoscons.adb: Minor reformatting
7824
7825         * s-tassta.adb: Minor reformatting
7826
7827         * s-scaval.adb: Add ??? comment
7828
7829         * stand.ads: Minor code clean up (remove junk with of Namet)
7830
7831         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
7832         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
7833         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
7834         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
7835         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
7836         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
7837         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
7838         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
7839         Warnings off pragmas.
7840
7841 2009-04-17  Pascal Obry  <obry@adacore.com>
7842
7843         * initialize.c: Fix test for reallocating the arguments array.
7844
7845 2009-04-17  Geert Bosch  <bosch@adacore.com>
7846
7847         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
7848         conversion truncate only for decimal fixed point types.
7849
7850 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
7851
7852         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
7853         reinitialized.
7854
7855 2009-04-17  Robert Dewar  <dewar@adacore.com>
7856
7857         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
7858         Backwards_OK if either operand has an address clause.
7859
7860 2009-04-17  Pascal Obry  <obry@adacore.com>
7861
7862         * initialize.c: Code clean up, use realloc.
7863
7864 2009-04-17  Pascal Obry  <obry@adacore.com>
7865
7866         * initialize.c: Do not get Unicode command line if Unicode support not
7867         activated.
7868         Add support for wildcard expansion for Unicode parameters on Win32.
7869
7870         * mingw32.h: Add missing macros when Unicode support not activated.
7871
7872 2009-04-17  Javier Miranda  <miranda@adacore.com>
7873
7874         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
7875         avoid generating code that references the Current_Master
7876         when compiling without tasks.
7877
7878 2009-04-17  Vincent Celier  <celier@adacore.com>
7879
7880         * prj-attr.adb: New project level attribute Target
7881         
7882         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
7883         attribute Target
7884         
7885         * prj.ads (Project_Configuration): New component Target
7886
7887 2009-04-17  Thomas Quinot  <quinot@adacore.com>
7888
7889         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
7890         case for the case of an aggregate component, the attach call for the
7891         result is actually needed.
7892
7893         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
7894         an array aggregate must be disabled if the component type requires
7895         controlled actions.
7896
7897         * exp_ch3.adb: Minor reformatting
7898
7899 2009-04-17  Bob Duff  <duff@adacore.com>
7900
7901         * output.ads (Indent,Outdent): New procedures for indenting the output.
7902         (Write_Char): Correct comment -- LF _is_ allowed.
7903
7904         * output.adb (Indent,Outdent): New procedures for indenting the output.
7905         Keep track of the indentation level, and make sure it doesn't get too
7906         high.
7907         (Flush_Buffer): Insert spaces at the beginning of each line, if
7908         indentation level is nonzero.
7909         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
7910         indentation level.
7911         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
7912         "Next_Col := 1;".  Flush_Buffer does that.
7913
7914         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
7915         controlled by the -gnatdc switch. It now occurs on entry/exit to the
7916         relevant analysis routines, and calls Indent/Outdent to make the
7917         indentation reflect the nesting level.  Add "helper" routines, since
7918         otherwise lots of "return;" statements would skip the debugging output.
7919
7920 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
7921
7922         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
7923         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
7924         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
7925
7926 2009-04-17  Thomas Quinot  <quinot@adacore.com>
7927
7928         * exp_aggr.adb: Minor code reorganization, no behaviour change.
7929
7930 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
7931
7932         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
7933         clause in a unit that is a package body or a subunit, when the previous
7934         clause appears in a spec or a parent.
7935
7936 2009-04-17  Thomas Quinot  <quinot@adacore.com>
7937
7938         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
7939
7940         * exp_ch7.adb: Minor reformatting
7941
7942 2009-04-17  Bob Duff  <duff@adacore.com>
7943
7944         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
7945         allocator, check that the expression of the qualified expression obeys
7946         the constraints of the subtype of the qualified expression.
7947
7948 2009-04-17  Thomas Quinot  <quinot@adacore.com>
7949
7950         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
7951
7952 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
7953
7954         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
7955         aggregate, using context imposed by subtype mark in allocator.
7956
7957 2009-04-17  Pascal Obry  <obry@adacore.com>
7958
7959         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
7960
7961 2009-04-17  Nicolas Roche  <roche@adacore.com>
7962
7963         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
7964         argument length.
7965
7966 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
7967
7968         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
7969         cover both calls and attribute references ("call" => "reference").
7970
7971 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
7972
7973         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
7974         type for which Storage_Size is set to 0 is legal in a pure unit.
7975
7976 2009-04-17  Thomas Quinot  <quinot@adacore.com>
7977
7978         * exp_ch7.adb: Minor reformatting
7979
7980 2009-04-17  Robert Dewar  <dewar@adacore.com>
7981
7982         * restrict.adb (Check_Restriction_No_Dependence): Don't check
7983         restriction if outside main extended source unit.
7984
7985         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
7986         for parents of child units as well as the child unit itself.
7987
7988 2009-04-17  Bob Duff  <duff@adacore.com>
7989
7990         * checks.ads: Minor comment fix
7991
7992         * exp_aggr.ads: Minor comment fix
7993
7994 2009-04-17  Nicolas Roche  <roche@adacore.com>
7995
7996         * adaint.c: Improve cross compiler detection and handling.
7997
7998 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
7999
8000         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
8001
8002 2009-04-17  Pascal Obry  <obry@adacore.com>
8003
8004         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
8005         CurrentCodePage.
8006
8007         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
8008         value when no encoding form paramter is set on Text_IO services.
8009
8010         * adaint.c: CurrentCodePage new variable on Windows.
8011         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8012         ones.
8013
8014         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8015         ones.
8016
8017         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
8018         environment variable value. Default is UTF-8.
8019
8020         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
8021         fopen and freopen encoding parameter is now set to Unspecified.
8022         The default value is in this case UTF-8 (as it was before) but
8023         use the new macros that convert to/from the code page set
8024         at runtime (CurrentCodePage).
8025
8026         * s-fileio.adb: When no encoding specified use Unspecified value.
8027
8028 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8029
8030         * atree.adb, atree.ads: Remove dead code.
8031
8032 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8033
8034         * gcc-interface/Make-lang.in: Update dependencies.
8035
8036 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8037
8038         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
8039         illegal uses of incomplete types in formal parts and return types.
8040
8041         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
8042         access to subprograms.
8043
8044         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
8045         Taft-amendment types as the return type of an access_to_function type.
8046
8047         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8048         type for access_to_subprograms. The check is performed on package exit.
8049
8050 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8051
8052         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
8053
8054         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
8055         
8056         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
8057
8058         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
8059         semantic units, because the handling of itypes in the copied tree
8060         requires semantic information that does not belong in atree.
8061
8062 2009-04-17  Robert Dewar  <dewar@adacore.com>
8063
8064         * par-ch6.adb: Minor reformatting
8065
8066         * prj.adb: Minor reformatting
8067
8068 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
8069
8070         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
8071         on protected subprogram bodies, so exclude the case where Pf_Flags is
8072         Pf_Decl_Pbod from the error check.
8073
8074         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
8075         indicators on subprograms in protected bodies, and proceed with parsing
8076         the subprogram.
8077
8078         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
8079         subprograms from the check for primitiveness on subprograms with
8080         overriding indicators.
8081         (Check_Overriding_Indicator): Include protected subprograms in the
8082         style check for missing overriding indicators.
8083
8084 2009-04-17  Tristan Gingold  <gingold@adacore.com>
8085
8086         * init.c: Fix stack checking for x86 Darwin.
8087
8088 2009-04-17  Vincent Celier  <celier@adacore.com>
8089
8090         * prj-attr.adb: New project level attribute Object_File_Suffix
8091         (<language>).
8092         
8093         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
8094         object file name
8095         (Process_Compiler): Process attribute Object_File_Suffix
8096
8097         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
8098         platform suffix, when specified.
8099
8100         * prj.ads (Language_Config): New component Object_File_Suffix,
8101         defaulted to No_Name.
8102         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
8103
8104         * snames.ads-tmpl: New standard name Object_File_Suffix
8105
8106 2009-04-17  Robert Dewar  <dewar@adacore.com>
8107
8108         * gnat_rm.texi: Add documentation about No_Streams restriction
8109
8110         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
8111         attributes when checking No_Streams restriction.
8112
8113 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8114
8115         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
8116
8117         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
8118         missing calls to RE_Request_Destroy to deallocate request objects after
8119         use.
8120
8121 2009-04-17  Nicolas Setton  <setton@adacore.com>
8122
8123         * link.c: Fix support for passing a response file under Darwin.
8124
8125 2009-04-17  Emmanuel Briot  <briot@adacore.com>
8126
8127         * prj.adb (Free): new subprogram.
8128
8129 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8130
8131         * sem_ch3.adb: additional initialization on incomplete subtypes.
8132         
8133         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
8134         part and one of the formals is an incomplete tagged type, attach to
8135         list of private dependends of the type for later validation.
8136
8137         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
8138         primitive operations of a Taft-amendmment type.
8139
8140         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8141         type. The check is performed on package exit, possibly after the
8142         subprogram is frozen.
8143
8144 2009-04-17  Vincent Celier  <celier@adacore.com>
8145
8146         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
8147         before looking for source directories, but make sure that there are nil
8148         if they are not explicitely declared and there is explicitely no
8149         sources in the project.
8150
8151 2009-04-17  Pascal Obry  <obry@adacore.com>
8152
8153         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
8154
8155         * init.c: Fix minor typo and style fix.
8156
8157 2009-04-17  Robert Dewar  <dewar@adacore.com>
8158
8159         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
8160
8161         * sem_attr.adb (Analyze_Attribute, case Address): Use
8162         PE_Address_Of_Intrinsic.
8163
8164         * types.ads: Add PE_Address_Of_Intrinsic
8165
8166         * types.h: Add PE_Address_Of_Intrinsic
8167
8168 2009-04-17  Nicolas Setton  <setton@adacore.com>
8169
8170         * gcc-interface/Makefile.in: Under darwin, build shared libraries
8171         with install_name starting with "@rpath/".
8172
8173 2009-04-17  Nicolas Setton  <setton@adacore.com>
8174
8175         * link.c: Add darwin section
8176
8177 2009-04-16  Robert Dewar  <dewar@adacore.com>
8178
8179         * g-pehage.adb: Minor reformatting
8180
8181         * sem_ch12.adb: Minor reformatting
8182
8183         * exp_dist.adb: Minor reformatting
8184
8185         * bindgen.adb: Minor style fixes.
8186
8187 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8188
8189         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
8190         indexed components to the case where the prefix is a static string
8191         literal.
8192
8193 2009-04-16  Javier Miranda  <miranda@adacore.com>
8194
8195         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
8196         objects avoid any further expansion of the expression initializing the
8197         object.
8198
8199 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8200
8201         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
8202         that hides an outer homograph, make that homograph invisible when
8203         analyzing the actuals, to to prevent illegal direct visibility on it.
8204
8205 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8206
8207         * g-pehage.adb (Initialize): Fix off-by-one error.
8208
8209 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8210
8211         * init.c: Detect real stack overflow on Darwin.
8212
8213         * system-darwin-x86.ads: Use stack probing on darwin x86.
8214
8215 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8216
8217         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
8218         take the address of an intrinsic subprogram.
8219
8220 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8221
8222         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
8223         for the targets where GNAT.Traceback.Symbolic is not supported.
8224
8225 2009-04-16  Vincent Celier  <celier@adacore.com>
8226
8227         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
8228
8229         * g-trasym.ads: Update comments.
8230
8231 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8232
8233         * tracebak.c (STOP_FRAME): Verify validity of the current address
8234         before dereferencing.
8235
8236 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8237
8238         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
8239         the original location of the index expressions and the index subtypes,
8240         to prevent spurious out-of-scope references in gigi.
8241
8242 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8243
8244         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
8245         Add support for stack checking on darwin.
8246
8247 2009-04-16  Vincent Celier  <celier@adacore.com>
8248
8249         * prj-attr.adb: New attribute Runtime_Source_Dir
8250
8251         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
8252         attribute Runtime_Source_Dir.
8253         (Check_Naming_Schemes): Give default values to out parameters to avoid
8254         invalid data.
8255
8256         * prj.ads (Language_Config): New component Runtime_Source_Dir
8257
8258         * snames.ads-tmpl: New standard name Runtime_Source_Dir
8259
8260 2009-04-16  Pascal Obry  <obry@adacore.com>
8261
8262         * adaint.h, adaint.c (__gnat_rmdir): New routine.
8263         Simple wrapper routines used to convert to proper encoding on
8264         Windows.
8265
8266         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
8267
8268         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
8269         twice.
8270
8271 2009-04-16  Pascal Obry  <obry@adacore.com>
8272
8273         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
8274
8275 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8276
8277         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
8278         integrated preprocessor.
8279
8280         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
8281         (Initialize): Split into two subprograms, Initialize (to be called
8282         prior to compiler command line processing) and Setup_Hooks (to be called
8283         later on when the first source file is loaded).
8284
8285         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
8286         Add call to Prep.Initialize.
8287
8288         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
8289         to Prep.Setup_Hooks.
8290
8291 2009-04-16  Pascal Obry  <obry@adacore.com>
8292
8293         * adaint.h, adaint.c (__gnat_chdir): New routine.
8294         Simple wrapper routines used to convert to proper encoding on
8295         Windows.
8296
8297         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
8298
8299         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
8300
8301 2009-04-16  Quentin Ochem  <ochem@adacore.com>
8302
8303         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
8304         of Source.Init.
8305
8306 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8307
8308         * a-convec.ads (Is_Empty): Mark inline.
8309
8310 2009-04-16  Nicolas Roche  <roche@adacore.com>
8311
8312         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
8313
8314 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8315
8316         * prepcomp.adb: Minor reformatting
8317
8318 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8319
8320         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
8321         Access_Subprogram types can also be imported.
8322         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
8323         names.
8324
8325 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8326
8327         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
8328         preserve homonym chain when the declaration is rewritten into a
8329         renaming declaration, in order to preserve visibility structure.
8330
8331 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8332
8333         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
8334         taken into account for VM targets.
8335
8336 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8337
8338         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
8339         Year_Week_In_Year.
8340         (Year_Week_In_Year): New routine which contains the original code from
8341         Week_In_Year. Add the missing special case for January 1st falling on
8342         a Monday.
8343
8344 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8345
8346         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
8347         actual type, use the base type to build the To_Any function.
8348         (Build_From_Any_Function): Remove junk, useless subtype conversion.
8349
8350 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8351
8352         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
8353         restrict.adb: Minor code reorganization (use
8354         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
8355
8356 2009-04-16  Bob Duff  <duff@adacore.com>
8357
8358         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
8359         unused.
8360
8361 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8362
8363         * sem_ch4.adb: Minor reformatting
8364
8365         * adaint.c: Remove junk duplicated code.
8366
8367         * sem_ch3.adb: Minor reformatting
8368
8369         * exp_dist.adb: Minor comment rewording
8370
8371 2009-04-16  Robert Dewar  <dewar@adacore.com>
8372
8373         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
8374         used together.
8375
8376 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8377
8378         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
8379         usable before calling Add_One_Interp, to resolve spurious ambiguities.
8380
8381 2009-04-16  Robert Dewar  <dewar@adacore.com>
8382
8383         * Make-lang.in: Add entries for s-conca?.o
8384
8385         * Makefile.rtl: Add entries for s-conca?
8386
8387         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
8388         of concatenation expansion
8389
8390         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
8391         string cases instead of expanding assignments inline.
8392
8393         * opt.ads (Optimize_Size): New flag
8394
8395         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
8396         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
8397         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
8398         s-conca9.adb, s-conca9.ads: New file.
8399
8400 2009-04-16  Robert Dewar  <dewar@adacore.com>
8401
8402         * exp_ch6.adb: Add comments
8403
8404         * rtsfind.ads: Add entries for s-conca? routines
8405
8406 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8407
8408         * gcc-interface/Make-lang.in: Update dependencies.
8409
8410         * gcc-interface/Makefile.in: Update translation for vms.
8411
8412 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8413
8414         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
8415         and made global, to be used when installing parents of a child
8416         instance, to provide mappings for entities declared in formal packages
8417         of ancestor units. Now called from Install_Formal_Packages.
8418
8419 2009-04-16  Doug Rupp  <rupp@adacore.com>
8420
8421         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
8422         notation for clarity.
8423
8424         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
8425         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
8426         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
8427         (Initialize): Initialize Known_Tasks with Environment task.
8428
8429         * s-taskin.ads (Task_States): Move new states to end for the sake of
8430         GDB compatibility.
8431
8432         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
8433
8434 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8435
8436         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
8437         operation has an inline pragma, propagate the flag to the internal
8438         unprotected subprogram.
8439
8440 2009-04-16  Doug Rupp  <rupp@adacore.com>
8441
8442         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
8443         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
8444         s-taprop-hpux-dce.adb, s-taprop-posix.adb
8445         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
8446
8447         * s-taprop-vms.adb (Enter_Task): Likewise.
8448         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
8449
8450         * s-tassta.adb (Activate_Tasks): After task creation set state to
8451         Activating, vice Runnable. Initialize Known_Tasks, moved here from
8452         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
8453         Set state to Runnable after above.
8454         (Task_Wrapper): Set Debug_Event_Run. In exception block set
8455         Debug_Event_Terminated.
8456
8457         * s-taskin.ads (Task_States): Add new states Activiting and
8458         Activator_Delay_Sleep.
8459         (Bit_Array, Debug_Event_Array): New types.
8460         (Global_Task_Debug_Event_Set: New flag.
8461         (Common_ATCB): New field Debug_Events.
8462
8463         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
8464
8465         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
8466         Activator_Sleep.
8467
8468         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
8469         Activating and when Acceptor_Delay_Sleep.
8470
8471         * s-tasdeb.ads: Add constants for Debug_Events.
8472         (Debug_Event_Kind_Type): New subtype.
8473         (Signal_Debug_Event): New subprogram.
8474
8475         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
8476
8477 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8478
8479         * sem_elim.adb: Minor reformatting
8480
8481         * freeze.adb: Minor reformatting
8482
8483         * exp_ch4.adb: Minor reformatting
8484
8485 2009-04-16  Emmanuel Briot  <briot@adacore.com>
8486
8487         * prj-nmsc.adb (Path_Name_Of): fix memory leak
8488
8489 2009-04-16  Robert Dewar  <dewar@adacore.com>
8490
8491         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
8492
8493 2009-04-16  Vincent Celier  <celier@adacore.com>
8494
8495         * fmap.adb (Initialize): Show the current line when the mapping file
8496         is detected as "incorrectly formatted".
8497
8498 2009-04-16  Robert Dewar  <dewar@adacore.com>
8499
8500         * sem_ch12.adb: Minor reformatting
8501
8502         * sem_ch5.adb: Minor comment addition
8503
8504         * sem_util.adb: Minor reformatting
8505
8506         * sinput-p.adb: Minor reformatting
8507         Add missing pragma Warnings (On)
8508
8509 2009-04-16  Ed Falis  <falis@adacore.com>
8510
8511         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
8512
8513 2009-04-16  Vincent Celier  <celier@adacore.com>
8514
8515         * ali-util.adb: Minor comment spelling error fix
8516
8517 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8518
8519         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
8520         generate an assignment loop in case of overlap.
8521
8522 2009-04-16  Olivier Hainque  <hainque@adacore.com>
8523
8524         * gnat_ugn.texi (gnatmem description): Make it explicit that
8525         gnatmem is designed to work in association with static runtime
8526         library only.
8527
8528 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8529
8530         * sem_type.adb: Minor reformatting
8531
8532 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8533
8534         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
8535         concerning return codes of gettimeofday and return value check.
8536
8537 2009-04-16  Ed Falis  <falis@adacore.com>
8538
8539         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
8540         body can be renaming of imported routines.
8541
8542 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8543
8544         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
8545         targeted fashion.
8546
8547 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8548
8549         * exp_ch9.adb: Comment improvements.
8550         (Build_Entry_Family_Name): Add parentheses around the index of a entry
8551         family member.
8552
8553 2009-04-15  Bob Duff  <duff@adacore.com>
8554
8555         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
8556         "while X /= null loop" where X is unchanged inside the loop. We were
8557         not warning in this case, because of the pointers -- we feared that the
8558         loop variable could be updated via a pointer, if there are any pointers
8559         around the place. But that is impossible in this case.
8560
8561         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
8562         the case of dereferences. In X.all, X cannot be an l-value. We now
8563         catch that case (and implicit dereferences, too).
8564
8565 2009-04-15  Vincent Celier  <celier@adacore.com>
8566
8567         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
8568
8569 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8570
8571         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
8572         From code reading.
8573         (Analyze_Package_Instantiation): If generic unit in child instance is
8574         the same as generic unit in parent instance, look for an outer homonym
8575         to locate the desired generic.
8576
8577 2009-04-15  Bob Duff  <duff@adacore.com>
8578
8579         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
8580         warnings unless the loop comes from source, because checking generated
8581         loops is a waste of time, and makes it harder to debug
8582         Check_Infinite_Loop_Warning.
8583
8584         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
8585         tested in the while loop is a renaming, do not warn. Otherwise, we get
8586         false alarms, because it's usually renaming something that we can't
8587         deal with (an indexed component, a global variable, ...).
8588
8589         * gnat_rm.texi: Fix typo
8590
8591 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8592
8593         * sem_ch6.adb: Minor reformatting
8594
8595 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8596
8597         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
8598         immediate parent of the controlled function call is a component
8599         association.
8600
8601 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8602
8603         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
8604         corresponding class-wide type is also in use.
8605
8606 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8607
8608         * frontend.adb: Minor comment fix
8609
8610 2009-04-15  Robert Dewar  <dewar@adacore.com>
8611
8612         * gnatchop.adb (BOM_Length): New global variable
8613         (Write_Unit): Add new parameter Write_BOM
8614         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
8615         to Write_Unit
8616
8617         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
8618
8619 2009-04-15  Geert Bosch  <bosch@adacore.com>
8620
8621         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
8622         (Backend_Overflow_Checks): Set to True.
8623
8624 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
8625
8626         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
8627         keyword is given in a record extension.
8628
8629 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8630
8631         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
8632         of a controlled function call in the context of a record aggregate.
8633         This does not apply to array aggregates since the call will be expanded
8634         into assignments.
8635
8636 2009-04-15  Ed Falis  <falis@adacore.com>
8637
8638         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
8639         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
8640         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
8641         s-osinte-vxworks* and s-vxwext*.
8642
8643 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
8644
8645         * gcc-interface/Make-lang.in: Update dependencies.
8646
8647         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
8648         and s-vxwext*.
8649
8650 2009-04-15  Robert Dewar  <dewar@adacore.com>
8651
8652         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
8653         of node for location for warning messages.
8654
8655         * gnatchop.adb: Minor reformatting
8656
8657 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8658
8659         * exp_ch6.adb: additional guard for renaming declarations for in
8660         parameters of an array type.
8661
8662 2009-04-15  Robert Dewar  <dewar@adacore.com>
8663
8664         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
8665         in case they were rewritten by expander (Force_Evaluation).
8666
8667         * targparm.adb (Get_Target_Parameters): Correct check for
8668         Suppress_Exception_Locations.
8669
8670 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8671
8672         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
8673         inlined  is of an array type that is not bit-packed, use a renaming
8674         declaration to capture its value, rather than a constant declaration.
8675
8676 2009-04-15  Robert Dewar  <dewar@adacore.com>
8677
8678         * rtsfind.adb: Minor reformatting.
8679
8680 2009-04-15  Emmanuel Briot  <briot@adacore.com>
8681
8682         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
8683         Restore, and free the saved context.
8684
8685 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
8686
8687         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
8688         for illegal private extension from a synchronized interface parent in
8689         front of check for illegal limited extension so that limited extension
8690         from a synchronized interface will be rejected.
8691         (Check_Ifaces): Check that a private extension that has a synchronized
8692         interface as a progenitor must be explicitly declared synchronized.
8693         Also check that a record extension cannot derive from a synchronized
8694         interface.
8695
8696 2009-04-15  Pascal Obry  <obry@adacore.com>
8697
8698         * adaint.h (__gnat_unlink): Add spec.
8699         (__gnat_rename): Likewise.
8700
8701 2009-04-15  Vincent Celier  <celier@adacore.com>
8702
8703         * prj-nmsc.adb: Minor spelling error corrections in error messages
8704
8705 2009-04-15  Robert Dewar  <dewar@adacore.com>
8706
8707         * sinfo.ads: Minor comment update
8708
8709         * opt.ads: Minor comment updates
8710
8711         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
8712         modular type.
8713
8714 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8715
8716         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
8717         that generates the code needed to update a dispatch table when a
8718         primitive operation is declared with a subprogram body without previous
8719         spec. Insertion of the generated code is responsibility of the caller.
8720         (Make_DT): When building static tables, append the code created by
8721         Register_Primitive to update a secondary table after it has been
8722         constructed.
8723
8724         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
8725
8726         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
8727         on an overriding operation that implements an interface operation only
8728         if not building static dispatch tables.
8729
8730 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8731
8732         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
8733         does not cause overflow when converted to Duration. Use the safe value
8734         as the maximum allowable time delay..
8735
8736 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
8737
8738         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
8739         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
8740         translated to "-j 2".
8741
8742 2009-04-15  Bob Duff  <duff@adacore.com>
8743
8744         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
8745         with_clauses, to avoid code duplication. Change this processing so we
8746         always add a with_clause on the main unit if needed.
8747
8748 2009-04-15  Pascal Obry  <obry@adacore.com>
8749
8750         Add support for Win32 native encoding for delete/rename routines.
8751         
8752         * adaint.c (__gnat_unlink): New routine.
8753         (__gnat_rename): New routine.
8754         Simple wrapper routines used to convert to proper encoding on
8755         Windows.
8756
8757         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
8758         call to the C library.
8759
8760         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
8761
8762 2009-04-15  Robert Dewar  <dewar@adacore.com>
8763
8764         * s-tassta.adb: Minor reformatting
8765
8766 2009-04-15  Robert Dewar  <dewar@adacore.com>
8767
8768         * frontend.adb (Frontend): Set proper default for
8769         Warn_On_Non_Local_Exception.
8770
8771         * opt.ads (Exception_Handler_Encountered): New flag
8772         (No_Warn_On_Non_Local_Exception): New flag
8773
8774         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
8775
8776         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
8777         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
8778
8779 2009-04-15  Cyrille Comar  <comar@adacore.com>
8780
8781         * s-tassta.adb, a-exextr.adb, a-elchha.adb
8782         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
8783         message when exception traces are active since it would generate
8784         redundant information.
8785         (Exception_Traces.Notify_Exception): put message output by a critical
8786         section to avoid unsynchronized output.
8787         (Trace_Unhandled_Exception_In_Task): put message output by a critical
8788         section to avoid unsynchronized output.
8789
8790 2009-04-15  Emmanuel Briot  <briot@adacore.com>
8791
8792         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
8793         (Free): New subprogram.
8794
8795 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8796
8797         * a-calend.adb: Add new constant Nanos_In_Four_Years.
8798         (Formatting_Operations.Time_Of): Change the way four year chunks of
8799         nanoseconds are added to the intermediate result.
8800
8801 2009-04-15  Nicolas Setton  <setton@adacore.com>
8802
8803         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
8804         does not need to wait for a carriage return.
8805
8806 2009-04-15  Tristan Gingold  <gingold@adacore.com>
8807
8808         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
8809         is set.
8810
8811 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8812
8813         * freeze.adb (Freeze_Entity): improve error message for improper use of
8814         incomplete types.
8815         Diagnose additional illegal uses of incomplete types in formal parts.
8816         appearing in formal parts.
8817
8818         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
8819
8820 2009-04-15  Robert Dewar  <dewar@adacore.com>
8821
8822         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
8823
8824 2009-04-15  Nicolas Roche  <roche@adacore.com>
8825
8826         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
8827         current thread.
8828
8829         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
8830
8831         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
8832
8833 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8834
8835         * sem_ch4.adb: improve error message on exponentiation.
8836
8837 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8838
8839         * a-calend.adb: Move constant Epoch_Offset from package
8840         Conversion_Operations to top level.
8841         (Delay_Operations.To_Duration): Define a constant which represents
8842         "end of time" and use it as a guard against very distant delay dates.
8843         Protect the code against overflow when performing the origin shift to
8844         Unix time.
8845
8846 2009-04-15  Robert Dewar  <dewar@adacore.com>
8847
8848         * sem_prag.adb: Minor reformatting.
8849
8850         * sem_type.adb: Minor reformatting
8851
8852 2009-04-15  Javier Miranda  <miranda@adacore.com>
8853
8854         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
8855         support to check eliminated subprograms.
8856
8857         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
8858
8859         * sem_elim.adb (Set_Eliminated): Add support for elimination of
8860         dispatching subprograms.
8861
8862         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
8863         operations. Initialize with "null" the slots of eliminated dispaching
8864         primitives.
8865         (Write_DT): Add output for eliminated primitives.
8866
8867         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
8868
8869 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8870
8871         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
8872         the second is redundant, regardless of scopes.
8873
8874 2009-04-15  Vincent Celier  <celier@adacore.com>
8875
8876         * prj-nmsc.adb (Get_Directories): Check for sources before checking
8877         the object directory as when there are no sources, they may not be any
8878         object directory.
8879
8880         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
8881         directory, when there are no exec directory.
8882
8883 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8884
8885         * sem_type.adb (Remove_Conversions): In order to resolve spurious
8886         ambiguities, refine removal of universal interpretations from complex
8887         expressions with literal arguments, when some numeric operators have
8888         been declared abstract.
8889
8890 2009-04-15  Ed Falis  <falis@adacore.com>
8891
8892         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
8893         and backward compatibility for targets using probing for stack overflow
8894
8895 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8896
8897         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
8898         after any declaration, including renaming declarations.
8899
8900 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
8901
8902         * gcc-interface/Make-lang.in: Update dependencies.
8903
8904         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
8905         Update xenomai target pairs.
8906
8907 2009-04-15  Javier Miranda  <miranda@adacore.com>
8908
8909         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
8910
8911         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
8912         functions returning anonymous access to class-wide limited types. Mark
8913         also the containing scope as a task master.
8914
8915         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
8916         limited-withed packages. Required to restore their visibility after
8917         processing packages associated with implicit with-clauses.
8918
8919         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
8920         associated with return statements because this work is now done by
8921         Check_Anonymous_Return.
8922         (Build_Master): Code cleanup.
8923
8924 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8925
8926         * sem_warn.ads: Minor reformatting
8927
8928 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8929
8930         * sem_ch3.adb: better error message for illegal interfaces
8931
8932         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
8933         formal is an incomplete type from a limited_with clause.
8934
8935 2009-04-15  Vincent Celier  <celier@adacore.com>
8936
8937         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
8938         Externally_Built indicating if the project is externally built. If it
8939         is, and --subdirs is specified, but the subdir does not exist, look
8940         for the specified directory, without the subdir.
8941
8942 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
8943
8944         * a-tasatt.adb: Fix typo, plus minor reformatting
8945
8946         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
8947
8948         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
8949
8950 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8951
8952         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
8953         private extension whose parent is a synchronized interface carries an
8954         explicit synchronized keyword.
8955
8956 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8957
8958         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
8959         instantiate generic shared object package with the corresponding
8960         record type.
8961
8962 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
8963
8964         * system-linux-sparc.ads: Remove obsolete entries.
8965
8966 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8967
8968         * s-tasuti.ads: Add ??? comment
8969
8970 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8971
8972         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
8973         type even if the designated type comes from a limited_with clause, to
8974         ensure that the symbol for the finalization list of the access type is
8975         created.
8976
8977 2009-04-10  Robert Dewar  <dewar@adacore.com>
8978
8979         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
8980         for warning suppression.
8981
8982 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
8983
8984         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
8985         identical, there is no redudancy to check.
8986
8987 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
8988
8989         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
8990         calls initializing SS_Allocator (which is initialized in following
8991         code).
8992         (Expand_Simple_Function_Return): Add comment about False value for
8993         Comes_From_Source on secondary-stack allocator.
8994
8995         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
8996         (Build_Entry_Name): Add comment.
8997
8998 2009-04-10  Robert Dewar  <dewar@adacore.com>
8999
9000         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
9001
9002         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
9003         bound tested, since this is now done more generally in Sem_Res.
9004
9005         * sem_res.adb (Resolve_Comparison_Op): Add call to
9006         Check_Lower_Bound_Tested.
9007         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
9008
9009         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
9010         (Low_Bound_Tested): New name for Low_Bound_Known flag
9011
9012         * exp_ch5.adb: Minor reformatting
9013
9014         * exp_ch4.adb:
9015         Add comments on copying the Comes_From_Source flag for allocators
9016
9017         * sinfo.ads:
9018         Add comments on copying the Comes_From_Source flag for allocators
9019
9020         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
9021         Comes_From_Source flag from old allocator to new one.
9022
9023 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9024
9025         * sem_ch6.ads: Address missing documentation query
9026
9027 2009-04-10  Vincent Celier  <celier@adacore.com>
9028
9029         * prj-attr.adb:
9030         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
9031         and Response_File_Switches.
9032
9033         * prj-nmsc.adb (Process_Linker): Process new attributes
9034         Max_Command_Line_Length, Response_File_Format and
9035         Response_File_Switches.
9036
9037         * prj.ads (Response_File_Format): New enumeration type
9038         (Project_Configuration): New componants Max_Command_Line_Length,
9039         Resp_File_Format and Resp_File_Options.
9040
9041         * snames.ads-tmpl: Add new standard names for linking response files
9042         for gprbuild: GNU, None, Object_List, Option_List,
9043         Max_Command_Line_Length, Response_File_Format and
9044         Response_File_Switches.
9045
9046 2009-04-10  Geert Bosch  <bosch@adacore.com>
9047
9048         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
9049         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
9050         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
9051         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
9052         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
9053         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
9054         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
9055         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
9056         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
9057         system-vxworks-arm.ads, system-vxworks-m68k.ads,
9058         system-vxworks-mips.ads, system-vxworks-ppc.ads,
9059         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
9060         (Backend_Overflow_Checks): Set to True.
9061
9062 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9063
9064         * exp_attr.adb: Minor reformatting
9065
9066 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9067
9068         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
9069         analyze the expression for a postcondition, even if the compiler mode
9070         is Generate_Code.
9071
9072 2009-04-10  Robert Dewar  <dewar@adacore.com>
9073
9074         * sem_aux.adb: Minor reformatting
9075
9076 2009-04-10  Ed Falis  <falis@adacore.com>
9077
9078         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
9079
9080         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
9081
9082 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9083
9084         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
9085         undocumented formal.
9086         Minor reformatting
9087
9088         * a-direio.ads: Fix typo in comment
9089
9090         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
9091         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
9092         Use uniform phrasing for comment at start of subprogram body.
9093
9094         * xsnamest.adb: Add note to explain why we use specific names for the
9095         newly generated files instead of generating snames.{ads,adb,h} directly
9096
9097 2009-04-10  Sergey Rybin  <rybin@adacore.com>
9098
9099         * vms_data.ads:
9100         Add qualifier for new gnatstub option '--no-exception'
9101
9102         * gnat_ugn.texi:
9103         Add the description of the new gnatstub option '--no-exception'
9104
9105 2009-04-10  Robert Dewar  <dewar@adacore.com>
9106
9107         * rtsfind.adb: Minor reformatting
9108
9109 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9110
9111         * sem_disp.adb: Minor reformatting.
9112         Add comment pointing to RM clause for the case of warning against a
9113         (failed) attempt at declaring a primitive operation elsewhere than in a
9114         package spec.
9115
9116 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9117
9118         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
9119         an actual for a previous formal package of the current instance.
9120
9121 2009-04-10  Bob Duff  <duff@adacore.com>
9122
9123         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
9124         them first, rather than on the extended main unit.
9125
9126 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9127
9128         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
9129         specification of full view carries a null exclusion indicator, create
9130         an itype for it, to check for conformance with partial view.
9131
9132 2009-04-10  Bob Duff  <duff@adacore.com>
9133
9134         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
9135
9136         * rtsfind.adb: Minor comment changes, and remove useless code.
9137
9138         * sinfo.ads: Add ??? comment.
9139
9140 2009-04-10  Vincent Celier  <celier@adacore.com>
9141
9142         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
9143
9144 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9145
9146         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
9147         type is a synchronized type, retrieve tag information from the
9148         corresponding record, which has the dispatch table link.
9149
9150 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
9151
9152         * g-comlin.adb (Group_Analysis): Take care of switches that might be
9153         decomposed afterwards, but are present as-is in the command line
9154         configuration, and thus should be kept as-is.
9155
9156 2009-04-10  Robert Dewar  <dewar@adacore.com>
9157
9158         * gnat_rm.texi: Document that postconditions are tested on implicit
9159         returns.
9160
9161         * sem_aux.adb: Minor reformatting
9162
9163 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9164
9165         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
9166         setting Etype.
9167         
9168         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
9169         Null_Exclusion_In_Return_Present when an access-to-function type has a
9170         result type with an explicit not null.
9171
9172         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
9173         given on the result type, then create a null-excluding itype for the
9174         function.
9175
9176         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
9177         the case where a null exclusion is imposed on a named access type.
9178         (Analyze_Subprogram_Specification): Push and pop the scope of the
9179         function around the call to Analyze_Return_Type in the case of no
9180         formals, for consistency with handling when formals are present
9181         (Process_Formals does this). Ensures that any itype created for the
9182         return type will be associated with the proper scope.
9183
9184         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
9185         exclusion is given on a generic function's result type, then create a
9186         null-excluding itype for the generic function.
9187         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
9188         for an actual for a formal in object according to the setting on the
9189         formal. Ensures null exclusion checks are done when the association is
9190         elaborated.
9191
9192         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
9193         N_Access_Function_Definition.
9194
9195         * sinfo.adb: Add Get_ and Set_ operations for
9196         Null_Exclusion_In_Return_Present.
9197
9198 2009-04-10  Bob Duff  <duff@adacore.com>
9199
9200         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
9201         call to the _Postconditions procedure in the case of implicit returns
9202         from analysis to expansion. This eliminates some duplicated code. Use
9203         the Postcondition_Proc to find the identity of this procedure during
9204         expansion.
9205
9206 2009-04-10  Robert Dewar  <dewar@adacore.com>
9207
9208         * sem_ch6.adb: Minor code clean up.
9209
9210         * einfo.ads, sem_attr.adb: Minor comment fixes.
9211
9212 2009-04-10  Robert Dewar  <dewar@adacore.com>
9213
9214         * sem_ch8.adb: Minor reformatting
9215
9216 2009-04-10  Robert Dewar  <dewar@adacore.com>
9217
9218         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
9219         procedures.
9220
9221         * sem_ch6.adb: Minor code clean up.
9222
9223 2009-04-10  Robert Dewar  <dewar@adacore.com>
9224
9225         * mlib-tgt-specific-xi.adb: Minor reformatting
9226
9227 2009-04-10  Bob Duff  <duff@adacore.com>
9228
9229         * einfo.ads: Minor comment fixes
9230
9231 2009-04-10  Vincent Celier  <celier@adacore.com>
9232
9233         * snames.ads-tmpl: Remove names that are no longer used in the
9234         Project Manager.
9235         Mark specifically those that are used only in gprbuild
9236
9237 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
9238
9239         * init.c: Adjust EH support code on Alpha/Tru64.
9240
9241 2009-04-10  Bob Duff  <duff@adacore.com>
9242
9243         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
9244         procedure on every path that could return implicitly (not via a return
9245         statement) from a procedure.
9246
9247 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9248
9249         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
9250         valid scope for a task declarations and therefore for a master id.
9251
9252 2009-04-10  Robert Dewar  <dewar@adacore.com>
9253
9254         * sem_aux.adb: Minor reformatting
9255
9256 2009-04-10  Vincent Celier  <celier@adacore.com>
9257
9258         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
9259         True.
9260         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
9261         (Set_Obsolescent_Check): New procedure to change the value of
9262         Obsolescent_Check_Flag.
9263
9264         * scn.ads (Set_Obsolescent_Check): New procedure to control
9265         Obsolescent_Check.
9266
9267         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
9268         obsolescent features while preprocessing.
9269
9270 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9271
9272         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
9273         generated files on all platforms.
9274
9275 2009-04-10  Robert Dewar  <dewar@adacore.com>
9276
9277         * sem_aux.adb: Minor reformatting
9278
9279 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9280
9281         * sem_ch3.adb (Access_Definition): Handle properly the case of a
9282         protected function with formals that returns an anonymous access type.
9283
9284 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9285
9286         * sem_disp.adb: Minor reformatting
9287
9288 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
9289
9290         * seh_init.c: Do not use the 32-bit specific implementation of
9291         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
9292         version TBD).
9293
9294 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9295
9296         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
9297         a '/' at the end so we better use the complete target name to determine
9298         whether it is a PowerPC 55xx target.
9299
9300 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9301
9302         * sem_eval.adb: Minor reformatting
9303
9304 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9305
9306         * snames.h, snames.ads, snames.adb: Remove files, now generated from
9307         templates.
9308
9309         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
9310         above.
9311
9312         * xsnamest.adb: New file.
9313
9314         * gcc-interface/Make-lang.in: New target for automated generation of
9315         snames.ads, snames.adb and snames.h
9316
9317 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9318
9319         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
9320         avoid compile time warnings.
9321         Do not add gcc/config in include search list while compiling the RTS.
9322         Pragma Thread_Local_Storage is available on any target.
9323
9324 2009-04-10  Bob Duff  <duff@adacore.com>
9325
9326         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
9327
9328 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9329
9330         * init.c: Install signal handler on Darwin.
9331
9332 2009-04-10  Robert Dewar  <dewar@adacore.com>
9333
9334         * sem_prag.adb: Minor reformatting
9335
9336         * exp_util.adb (Make_Non_Empty_Check): New function
9337         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
9338         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
9339
9340 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
9341
9342         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
9343
9344 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9345
9346         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
9347         tool prefix for AVR and PowerPC 55xx targets.
9348
9349 2009-04-10  Robert Dewar  <dewar@adacore.com>
9350
9351         * sem_warn.adb (Within_Postcondition): New function
9352         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
9353
9354 2009-04-10  Robert Dewar  <dewar@adacore.com>
9355
9356         * sem_warn.adb: Minor reformatting
9357
9358         * make.adb: Minor reformatting.
9359
9360 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9361
9362         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
9363         entity and the scope is a subprogram, retrieve the Sloc of the
9364         subprogram's body rather than using the sloc of the spec, for better
9365         line-stepping behavior in gdb.
9366         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
9367         controller, use the Sloc of the first declaration of the containing list
9368         rather than that of the node that triggered creation of the list
9369         controller.
9370
9371 2009-04-10  Vincent Celier  <celier@adacore.com>
9372
9373         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
9374         to avoid gcc warning.
9375
9376 2009-04-10  Robert Dewar  <dewar@adacore.com>
9377
9378         * g-comlin.adb: Add ??? comment
9379
9380 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9381
9382         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
9383         unreferenced entities for a package with no visible declarations.
9384
9385 2009-04-10  Robert Dewar  <dewar@adacore.com>
9386
9387         * exp_ch9.adb: Minor reformatting
9388
9389 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9390
9391         * sem_prag.adb: Minor reformatting
9392
9393 2009-04-10  Vincent Celier  <celier@adacore.com>
9394
9395         * prj-nmsc.adb:
9396         (Check_Library_Attributes): For a project qualified as a library project
9397         that is not a library project, indicate in the error message which
9398         attributes are missing (Library_Dir and/or Library_Name).
9399
9400 2009-04-10  Bob Duff  <duff@adacore.com>
9401
9402         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
9403         generated nodes, because it might confuse various circuits in the FE.
9404
9405 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9406
9407         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
9408         of pragma. It will be recopied and analyzed when used in call to
9409         Create_Task.
9410
9411         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
9412         initialization operations and recognize use of it in procedure calls
9413         within init_procs.
9414
9415         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
9416         argument, because it may have side-effects.
9417
9418         * exp_ch2.adb: Remove obsolete comments on default functions
9419
9420 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9421
9422         * adaint.c (RTX section): Do for RTX the same thing as we do for
9423         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
9424
9425 2009-04-10  Robert Dewar  <dewar@adacore.com>
9426
9427         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
9428
9429         * sem_res.adb (Resolve_Call): Fix test for
9430         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
9431         a non-dynamic scope).
9432
9433 2009-04-10  Robert Dewar  <dewar@adacore.com>
9434
9435         * make.adb: Add comment.
9436         Minor reformatting
9437
9438 2009-04-10  Nicolas Setton  <setton@adacore.com>
9439
9440         * s-osprim-darwin.adb: New file.
9441
9442         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
9443
9444 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9445
9446         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
9447
9448 2009-04-09  Nick Clifton  <nickc@redhat.com>
9449
9450         * adadecode.h: Change copyright header to refer to version
9451         3 of the GNU General Public License with version 3.1 of the
9452         GCC Runtime Library Exception and to point readers at the
9453         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
9454         page.
9455         * 9drpc.adb: Likewise.
9456         * a-assert.adb: Likewise.
9457         * a-astaco.adb: Likewise.
9458         * a-calari.adb: Likewise.
9459         * a-calcon.adb: Likewise.
9460         * a-calcon.ads: Likewise.
9461         * a-caldel.ads: Likewise.
9462         * a-calend-vms.adb: Likewise.
9463         * a-calend-vms.ads: Likewise.
9464         * a-calend.adb: Likewise.
9465         * a-calend.ads: Likewise.
9466         * a-calfor.adb: Likewise.
9467         * a-catizo.adb: Likewise.
9468         * a-cdlili.adb: Likewise.
9469         * a-cdlili.ads: Likewise.
9470         * a-cgaaso.adb: Likewise.
9471         * a-cgaaso.ads: Likewise.
9472         * a-cgarso.adb: Likewise.
9473         * a-cgcaso.adb: Likewise.
9474         * a-chacon.adb: Likewise.
9475         * a-chacon.ads: Likewise.
9476         * a-chahan.adb: Likewise.
9477         * a-chahan.ads: Likewise.
9478         * a-chlat9.ads: Likewise.
9479         * a-chtgke.adb: Likewise.
9480         * a-chtgke.ads: Likewise.
9481         * a-chtgop.adb: Likewise.
9482         * a-chtgop.ads: Likewise.
9483         * a-chzla1.ads: Likewise.
9484         * a-chzla9.ads: Likewise.
9485         * a-cidlli.adb: Likewise.
9486         * a-cidlli.ads: Likewise.
9487         * a-cihama.adb: Likewise.
9488         * a-cihama.ads: Likewise.
9489         * a-cihase.adb: Likewise.
9490         * a-cihase.ads: Likewise.
9491         * a-ciorma.adb: Likewise.
9492         * a-ciorma.ads: Likewise.
9493         * a-ciormu.adb: Likewise.
9494         * a-ciormu.ads: Likewise.
9495         * a-ciorse.adb: Likewise.
9496         * a-ciorse.ads: Likewise.
9497         * a-clrefi.adb: Likewise.
9498         * a-clrefi.ads: Likewise.
9499         * a-cohama.adb: Likewise.
9500         * a-cohama.ads: Likewise.
9501         * a-cohase.adb: Likewise.
9502         * a-cohase.ads: Likewise.
9503         * a-cohata.ads: Likewise.
9504         * a-coinve.adb: Likewise.
9505         * a-coinve.ads: Likewise.
9506         * a-colien.adb: Likewise.
9507         * a-colien.ads: Likewise.
9508         * a-colire.adb: Likewise.
9509         * a-colire.ads: Likewise.
9510         * a-comlin.adb: Likewise.
9511         * a-comlin.ads: Likewise.
9512         * a-convec.adb: Likewise.
9513         * a-convec.ads: Likewise.
9514         * a-coorma.adb: Likewise.
9515         * a-coorma.ads: Likewise.
9516         * a-coormu.adb: Likewise.
9517         * a-coormu.ads: Likewise.
9518         * a-coorse.adb: Likewise.
9519         * a-coorse.ads: Likewise.
9520         * a-coprnu.adb: Likewise.
9521         * a-coprnu.ads: Likewise.
9522         * a-crbltr.ads: Likewise.
9523         * a-crbtgk.adb: Likewise.
9524         * a-crbtgk.ads: Likewise.
9525         * a-crbtgo.adb: Likewise.
9526         * a-crbtgo.ads: Likewise.
9527         * a-crdlli.adb: Likewise.
9528         * a-crdlli.ads: Likewise.
9529         * a-cwila1.ads: Likewise.
9530         * a-cwila9.ads: Likewise.
9531         * a-decima.adb: Likewise.
9532         * a-decima.ads: Likewise.
9533         * a-diocst.adb: Likewise.
9534         * a-diocst.ads: Likewise.
9535         * a-direct.adb: Likewise.
9536         * a-direct.ads: Likewise.
9537         * a-direio.adb: Likewise.
9538         * a-direio.ads: Likewise.
9539         * a-dirval-mingw.adb: Likewise.
9540         * a-dirval-vms.adb: Likewise.
9541         * a-dirval.adb: Likewise.
9542         * a-dirval.ads: Likewise.
9543         * a-dynpri.adb: Likewise.
9544         * a-einuoc.adb: Likewise.
9545         * a-einuoc.ads: Likewise.
9546         * a-elchha.adb: Likewise.
9547         * a-elchha.ads: Likewise.
9548         * a-envvar.adb: Likewise.
9549         * a-excach.adb: Likewise.
9550         * a-except-2005.adb: Likewise.
9551         * a-except-2005.ads: Likewise.
9552         * a-except.adb: Likewise.
9553         * a-except.ads: Likewise.
9554         * a-excpol-abort.adb: Likewise.
9555         * a-excpol.adb: Likewise.
9556         * a-exctra.adb: Likewise.
9557         * a-exctra.ads: Likewise.
9558         * a-exetim-mingw.adb: Likewise.
9559         * a-exetim-mingw.ads: Likewise.
9560         * a-exexda.adb: Likewise.
9561         * a-exexpr-gcc.adb: Likewise.
9562         * a-exexpr.adb: Likewise.
9563         * a-exextr.adb: Likewise.
9564         * a-exstat.adb: Likewise.
9565         * a-filico.adb: Likewise.
9566         * a-filico.ads: Likewise.
9567         * a-finali.adb: Likewise.
9568         * a-finali.ads: Likewise.
9569         * a-interr.ads: Likewise.
9570         * a-intnam-aix.ads: Likewise.
9571         * a-intnam-darwin.ads: Likewise.
9572         * a-intnam-dummy.ads: Likewise.
9573         * a-intnam-freebsd.ads: Likewise.
9574         * a-intnam-hpux.ads: Likewise.
9575         * a-intnam-irix.ads: Likewise.
9576         * a-intnam-linux.ads: Likewise.
9577         * a-intnam-lynxos.ads: Likewise.
9578         * a-intnam-mingw.ads: Likewise.
9579         * a-intnam-rtems.ads: Likewise.
9580         * a-intnam-solaris.ads: Likewise.
9581         * a-intnam-tru64.ads: Likewise.
9582         * a-intnam-vms.ads: Likewise.
9583         * a-intnam-vxworks.ads: Likewise.
9584         * a-intsig.adb: Likewise.
9585         * a-intsig.ads: Likewise.
9586         * a-ngcefu.adb: Likewise.
9587         * a-ngcoar.adb: Likewise.
9588         * a-ngcoty.adb: Likewise.
9589         * a-ngcoty.ads: Likewise.
9590         * a-ngelfu.adb: Likewise.
9591         * a-ngrear.adb: Likewise.
9592         * a-ngrear.ads: Likewise.
9593         * a-nudira.adb: Likewise.
9594         * a-nudira.ads: Likewise.
9595         * a-nuflra.adb: Likewise.
9596         * a-nuflra.ads: Likewise.
9597         * a-numaux-darwin.adb: Likewise.
9598         * a-numaux-darwin.ads: Likewise.
9599         * a-numaux-libc-x86.ads: Likewise.
9600         * a-numaux-vxworks.ads: Likewise.
9601         * a-numaux-x86.adb: Likewise.
9602         * a-numaux-x86.ads: Likewise.
9603         * a-numaux.ads: Likewise.
9604         * a-rbtgso.adb: Likewise.
9605         * a-rbtgso.ads: Likewise.
9606         * a-reatim.ads: Likewise.
9607         * a-retide.adb: Likewise.
9608         * a-retide.ads: Likewise.
9609         * a-rttiev.adb: Likewise.
9610         * a-rttiev.ads: Likewise.
9611         * a-secain.adb: Likewise.
9612         * a-secain.ads: Likewise.
9613         * a-sequio.adb: Likewise.
9614         * a-sequio.ads: Likewise.
9615         * a-shcain.adb: Likewise.
9616         * a-shcain.ads: Likewise.
9617         * a-siocst.adb: Likewise.
9618         * a-siocst.ads: Likewise.
9619         * a-slcain.adb: Likewise.
9620         * a-slcain.ads: Likewise.
9621         * a-ssicst.adb: Likewise.
9622         * a-ssicst.ads: Likewise.
9623         * a-stboha.adb: Likewise.
9624         * a-stmaco.ads: Likewise.
9625         * a-storio.adb: Likewise.
9626         * a-strbou.adb: Likewise.
9627         * a-strbou.ads: Likewise.
9628         * a-stream.ads: Likewise.
9629         * a-strfix.adb: Likewise.
9630         * a-strhas.adb: Likewise.
9631         * a-strmap.adb: Likewise.
9632         * a-strmap.ads: Likewise.
9633         * a-strsea.adb: Likewise.
9634         * a-strsea.ads: Likewise.
9635         * a-strsup.adb: Likewise.
9636         * a-strsup.ads: Likewise.
9637         * a-strunb.adb: Likewise.
9638         * a-strunb.ads: Likewise.
9639         * a-ststio.adb: Likewise.
9640         * a-ststio.ads: Likewise.
9641         * a-stunau.adb: Likewise.
9642         * a-stunau.ads: Likewise.
9643         * a-stunha.adb: Likewise.
9644         * a-stwibo.adb: Likewise.
9645         * a-stwibo.ads: Likewise.
9646         * a-stwifi.adb: Likewise.
9647         * a-stwiha.adb: Likewise.
9648         * a-stwima.adb: Likewise.
9649         * a-stwima.ads: Likewise.
9650         * a-stwise.adb: Likewise.
9651         * a-stwise.ads: Likewise.
9652         * a-stwisu.adb: Likewise.
9653         * a-stwisu.ads: Likewise.
9654         * a-stwiun.adb: Likewise.
9655         * a-stwiun.ads: Likewise.
9656         * a-stzbou.adb: Likewise.
9657         * a-stzbou.ads: Likewise.
9658         * a-stzfix.adb: Likewise.
9659         * a-stzhas.adb: Likewise.
9660         * a-stzmap.adb: Likewise.
9661         * a-stzmap.ads: Likewise.
9662         * a-stzsea.adb: Likewise.
9663         * a-stzsea.ads: Likewise.
9664         * a-stzsup.adb: Likewise.
9665         * a-stzsup.ads: Likewise.
9666         * a-stzunb.adb: Likewise.
9667         * a-stzunb.ads: Likewise.
9668         * a-suteio.adb: Likewise.
9669         * a-suteio.ads: Likewise.
9670         * a-swbwha.adb: Likewise.
9671         * a-swmwco.ads: Likewise.
9672         * a-swunau.adb: Likewise.
9673         * a-swunau.ads: Likewise.
9674         * a-swuwha.adb: Likewise.
9675         * a-swuwti.adb: Likewise.
9676         * a-swuwti.ads: Likewise.
9677         * a-sytaco.adb: Likewise.
9678         * a-sytaco.ads: Likewise.
9679         * a-szbzha.adb: Likewise.
9680         * a-szmzco.ads: Likewise.
9681         * a-szunau.adb: Likewise.
9682         * a-szunau.ads: Likewise.
9683         * a-szuzha.adb: Likewise.
9684         * a-szuzti.adb: Likewise.
9685         * a-szuzti.ads: Likewise.
9686         * a-tags.adb: Likewise.
9687         * a-tags.ads: Likewise.
9688         * a-tasatt.ads: Likewise.
9689         * a-taside.adb: Likewise.
9690         * a-taside.ads: Likewise.
9691         * a-taster.adb: Likewise.
9692         * a-teioed.adb: Likewise.
9693         * a-teioed.ads: Likewise.
9694         * a-textio.adb: Likewise.
9695         * a-textio.ads: Likewise.
9696         * a-tiboio.adb: Likewise.
9697         * a-ticoau.adb: Likewise.
9698         * a-ticoau.ads: Likewise.
9699         * a-ticoio.adb: Likewise.
9700         * a-ticoio.ads: Likewise.
9701         * a-tideau.adb: Likewise.
9702         * a-tideau.ads: Likewise.
9703         * a-tideio.adb: Likewise.
9704         * a-tideio.ads: Likewise.
9705         * a-tienau.adb: Likewise.
9706         * a-tienau.ads: Likewise.
9707         * a-tienio.adb: Likewise.
9708         * a-tienio.ads: Likewise.
9709         * a-tifiio.adb: Likewise.
9710         * a-tifiio.ads: Likewise.
9711         * a-tiflau.adb: Likewise.
9712         * a-tiflau.ads: Likewise.
9713         * a-tiflio.adb: Likewise.
9714         * a-tiflio.ads: Likewise.
9715         * a-tigeau.adb: Likewise.
9716         * a-tigeau.ads: Likewise.
9717         * a-tiinau.adb: Likewise.
9718         * a-tiinau.ads: Likewise.
9719         * a-tiinio.adb: Likewise.
9720         * a-tiinio.ads: Likewise.
9721         * a-timoau.adb: Likewise.
9722         * a-timoau.ads: Likewise.
9723         * a-timoio.adb: Likewise.
9724         * a-timoio.ads: Likewise.
9725         * a-tiocst.adb: Likewise.
9726         * a-tiocst.ads: Likewise.
9727         * a-titest.adb: Likewise.
9728         * a-wichun.adb: Likewise.
9729         * a-wichun.ads: Likewise.
9730         * a-witeio.adb: Likewise.
9731         * a-witeio.ads: Likewise.
9732         * a-wtcoau.adb: Likewise.
9733         * a-wtcoau.ads: Likewise.
9734         * a-wtcoio.adb: Likewise.
9735         * a-wtcstr.adb: Likewise.
9736         * a-wtcstr.ads: Likewise.
9737         * a-wtdeau.adb: Likewise.
9738         * a-wtdeau.ads: Likewise.
9739         * a-wtdeio.adb: Likewise.
9740         * a-wtdeio.ads: Likewise.
9741         * a-wtedit.adb: Likewise.
9742         * a-wtedit.ads: Likewise.
9743         * a-wtenau.adb: Likewise.
9744         * a-wtenau.ads: Likewise.
9745         * a-wtenio.adb: Likewise.
9746         * a-wtenio.ads: Likewise.
9747         * a-wtfiio.adb: Likewise.
9748         * a-wtfiio.ads: Likewise.
9749         * a-wtflau.adb: Likewise.
9750         * a-wtflau.ads: Likewise.
9751         * a-wtflio.adb: Likewise.
9752         * a-wtflio.ads: Likewise.
9753         * a-wtgeau.adb: Likewise.
9754         * a-wtgeau.ads: Likewise.
9755         * a-wtinau.adb: Likewise.
9756         * a-wtinau.ads: Likewise.
9757         * a-wtinio.adb: Likewise.
9758         * a-wtmoau.adb: Likewise.
9759         * a-wtmoau.ads: Likewise.
9760         * a-wtmoio.adb: Likewise.
9761         * a-wtmoio.ads: Likewise.
9762         * a-wttest.adb: Likewise.
9763         * a-wwboio.adb: Likewise.
9764         * a-zchuni.adb: Likewise.
9765         * a-zchuni.ads: Likewise.
9766         * a-ztcoau.adb: Likewise.
9767         * a-ztcoau.ads: Likewise.
9768         * a-ztcoio.adb: Likewise.
9769         * a-ztcstr.adb: Likewise.
9770         * a-ztcstr.ads: Likewise.
9771         * a-ztdeau.adb: Likewise.
9772         * a-ztdeau.ads: Likewise.
9773         * a-ztdeio.adb: Likewise.
9774         * a-ztdeio.ads: Likewise.
9775         * a-ztedit.adb: Likewise.
9776         * a-ztedit.ads: Likewise.
9777         * a-ztenau.adb: Likewise.
9778         * a-ztenau.ads: Likewise.
9779         * a-ztenio.adb: Likewise.
9780         * a-ztenio.ads: Likewise.
9781         * a-ztexio.adb: Likewise.
9782         * a-ztexio.ads: Likewise.
9783         * a-ztfiio.adb: Likewise.
9784         * a-ztfiio.ads: Likewise.
9785         * a-ztflau.adb: Likewise.
9786         * a-ztflau.ads: Likewise.
9787         * a-ztflio.adb: Likewise.
9788         * a-ztflio.ads: Likewise.
9789         * a-ztgeau.adb: Likewise.
9790         * a-ztgeau.ads: Likewise.
9791         * a-ztinau.adb: Likewise.
9792         * a-ztinau.ads: Likewise.
9793         * a-ztinio.adb: Likewise.
9794         * a-ztmoau.adb: Likewise.
9795         * a-ztmoau.ads: Likewise.
9796         * a-ztmoio.adb: Likewise.
9797         * a-ztmoio.ads: Likewise.
9798         * a-zttest.adb: Likewise.
9799         * a-zzboio.adb: Likewise.
9800         * adadecode.c: Likewise.
9801         * adaint.c: Likewise.
9802         * adaint.h: Likewise.
9803         * alloc.ads: Likewise.
9804         * argv.c: Likewise.
9805         * arit64.c: Likewise.
9806         * atree.adb: Likewise.
9807         * atree.ads: Likewise.
9808         * aux-io.c: Likewise.
9809         * cal.c: Likewise.
9810         * casing.adb: Likewise.
9811         * casing.ads: Likewise.
9812         * cio.c: Likewise.
9813         * csets.adb: Likewise.
9814         * csets.ads: Likewise.
9815         * cstreams.c: Likewise.
9816         * ctrl_c.c: Likewise.
9817         * debug.adb: Likewise.
9818         * debug.ads: Likewise.
9819         * dec.ads: Likewise.
9820         * einfo.adb: Likewise.
9821         * einfo.ads: Likewise.
9822         * elists.adb: Likewise.
9823         * elists.ads: Likewise.
9824         * env.c: Likewise.
9825         * env.h: Likewise.
9826         * errno.c: Likewise.
9827         * exit.c: Likewise.
9828         * fe.h: Likewise.
9829         * final.c: Likewise.
9830         * fname.adb: Likewise.
9831         * fname.ads: Likewise.
9832         * g-allein.ads: Likewise.
9833         * g-alleve.adb: Likewise.
9834         * g-alleve.ads: Likewise.
9835         * g-altcon.adb: Likewise.
9836         * g-altcon.ads: Likewise.
9837         * g-altive.ads: Likewise.
9838         * g-alveop.adb: Likewise.
9839         * g-alveop.ads: Likewise.
9840         * g-alvety.ads: Likewise.
9841         * g-alvevi.ads: Likewise.
9842         * g-arrspl.adb: Likewise.
9843         * g-arrspl.ads: Likewise.
9844         * g-calend.ads: Likewise.
9845         * g-comlin.adb: Likewise.
9846         * g-debpoo.adb: Likewise.
9847         * g-debpoo.ads: Likewise.
9848         * g-eacodu-vms.adb: Likewise.
9849         * g-eacodu.adb: Likewise.
9850         * g-excact.adb: Likewise.
9851         * g-excact.ads: Likewise.
9852         * g-locfil.adb: Likewise.
9853         * g-os_lib.ads: Likewise.
9854         * g-rannum.adb: Likewise.
9855         * g-rannum.ads: Likewise.
9856         * g-regist.adb: Likewise.
9857         * g-regist.ads: Likewise.
9858         * g-signal.adb: Likewise.
9859         * g-signal.ads: Likewise.
9860         * g-soccon.ads: Likewise.
9861         * g-string.adb: Likewise.
9862         * g-string.ads: Likewise.
9863         * g-strspl.ads: Likewise.
9864         * g-timsta.adb: Likewise.
9865         * g-timsta.ads: Likewise.
9866         * g-trasym-vms-alpha.adb: Likewise.
9867         * g-trasym-vms-ia64.adb: Likewise.
9868         * g-utf_32.adb: Likewise.
9869         * g-utf_32.ads: Likewise.
9870         * g-wistsp.ads: Likewise.
9871         * g-zstspl.ads: Likewise.
9872         * gmem.c: Likewise.
9873         * gnatvsn.adb: Likewise.
9874         * gnatvsn.ads: Likewise.
9875         * gsocket.h: Likewise.
9876         * hostparm.ads: Likewise.
9877         * i-c.adb: Likewise.
9878         * i-cexten.ads: Likewise.
9879         * i-cobol.adb: Likewise.
9880         * i-cobol.ads: Likewise.
9881         * i-cpoint.adb: Likewise.
9882         * i-cpoint.ads: Likewise.
9883         * i-cpp.adb: Likewise.
9884         * i-cpp.ads: Likewise.
9885         * i-cstrea-vms.adb: Likewise.
9886         * i-cstrea.adb: Likewise.
9887         * i-cstrea.ads: Likewise.
9888         * i-cstrin.adb: Likewise.
9889         * i-cstrin.ads: Likewise.
9890         * i-forbla-darwin.adb: Likewise.
9891         * i-forbla-unimplemented.ads: Likewise.
9892         * i-forbla.adb: Likewise.
9893         * i-forbla.ads: Likewise.
9894         * i-forlap.ads: Likewise.
9895         * i-fortra.adb: Likewise.
9896         * i-pacdec.adb: Likewise.
9897         * i-pacdec.ads: Likewise.
9898         * i-vxwoio.adb: Likewise.
9899         * i-vxwoio.ads: Likewise.
9900         * indepsw-aix.adb: Likewise.
9901         * indepsw-gnu.adb: Likewise.
9902         * indepsw-mingw.adb: Likewise.
9903         * indepsw.adb: Likewise.
9904         * indepsw.ads: Likewise.
9905         * init.c: Likewise.
9906         * initialize.c: Likewise.
9907         * interfac.ads: Likewise.
9908         * krunch.adb: Likewise.
9909         * krunch.ads: Likewise.
9910         * lib-list.adb: Likewise.
9911         * lib-sort.adb: Likewise.
9912         * lib.adb: Likewise.
9913         * lib.ads: Likewise.
9914         * link.c: Likewise.
9915         * math_lib.adb: Likewise.
9916         * memtrack.adb: Likewise.
9917         * mingw32.h: Likewise.
9918         * mkdir.c: Likewise.
9919         * namet-sp.adb: Likewise.
9920         * namet-sp.ads: Likewise.
9921         * namet.adb: Likewise.
9922         * namet.ads: Likewise.
9923         * nlists.adb: Likewise.
9924         * nlists.ads: Likewise.
9925         * opt.adb: Likewise.
9926         * opt.ads: Likewise.
9927         * output.adb: Likewise.
9928         * output.ads: Likewise.
9929         * raise-gcc.c: Likewise.
9930         * raise.c: Likewise.
9931         * raise.h: Likewise.
9932         * repinfo.adb: Likewise.
9933         * repinfo.ads: Likewise.
9934         * repinfo.h: Likewise.
9935         * rident.ads: Likewise.
9936         * s-addima.adb: Likewise.
9937         * s-addima.ads: Likewise.
9938         * s-addope.adb: Likewise.
9939         * s-addope.ads: Likewise.
9940         * s-arit64.adb: Likewise.
9941         * s-arit64.ads: Likewise.
9942         * s-assert.adb: Likewise.
9943         * s-assert.ads: Likewise.
9944         * s-asthan-vms-alpha.adb: Likewise.
9945         * s-asthan.adb: Likewise.
9946         * s-asthan.ads: Likewise.
9947         * s-atacco.adb: Likewise.
9948         * s-atacco.ads: Likewise.
9949         * s-auxdec-empty.adb: Likewise.
9950         * s-auxdec-empty.ads: Likewise.
9951         * s-auxdec-vms_64.ads: Likewise.
9952         * s-auxdec.adb: Likewise.
9953         * s-auxdec.ads: Likewise.
9954         * s-bitops.adb: Likewise.
9955         * s-bitops.ads: Likewise.
9956         * s-boarop.ads: Likewise.
9957         * s-carsi8.adb: Likewise.
9958         * s-carsi8.ads: Likewise.
9959         * s-carun8.adb: Likewise.
9960         * s-carun8.ads: Likewise.
9961         * s-casi16.adb: Likewise.
9962         * s-casi16.ads: Likewise.
9963         * s-casi32.adb: Likewise.
9964         * s-casi32.ads: Likewise.
9965         * s-casi64.adb: Likewise.
9966         * s-casi64.ads: Likewise.
9967         * s-casuti.ads: Likewise.
9968         * s-caun16.adb: Likewise.
9969         * s-caun16.ads: Likewise.
9970         * s-caun32.adb: Likewise.
9971         * s-caun32.ads: Likewise.
9972         * s-caun64.adb: Likewise.
9973         * s-caun64.ads: Likewise.
9974         * s-chepoo.ads: Likewise.
9975         * s-crc32.adb: Likewise.
9976         * s-crc32.ads: Likewise.
9977         * s-crtl.ads: Likewise.
9978         * s-direio.adb: Likewise.
9979         * s-direio.ads: Likewise.
9980         * s-dsaser.ads: Likewise.
9981         * s-except.adb: Likewise.
9982         * s-except.ads: Likewise.
9983         * s-exctab.adb: Likewise.
9984         * s-exctab.ads: Likewise.
9985         * s-exnint.adb: Likewise.
9986         * s-exnint.ads: Likewise.
9987         * s-exnllf.adb: Likewise.
9988         * s-exnllf.ads: Likewise.
9989         * s-exnlli.adb: Likewise.
9990         * s-exnlli.ads: Likewise.
9991         * s-expint.adb: Likewise.
9992         * s-expint.ads: Likewise.
9993         * s-explli.adb: Likewise.
9994         * s-explli.ads: Likewise.
9995         * s-expllu.adb: Likewise.
9996         * s-expllu.ads: Likewise.
9997         * s-expmod.adb: Likewise.
9998         * s-expmod.ads: Likewise.
9999         * s-expuns.adb: Likewise.
10000         * s-expuns.ads: Likewise.
10001         * s-fatflt.ads: Likewise.
10002         * s-fatgen.adb: Likewise.
10003         * s-fatgen.ads: Likewise.
10004         * s-fatlfl.ads: Likewise.
10005         * s-fatllf.ads: Likewise.
10006         * s-fatsfl.ads: Likewise.
10007         * s-ficobl.ads: Likewise.
10008         * s-fileio.adb: Likewise.
10009         * s-fileio.ads: Likewise.
10010         * s-filofl.ads: Likewise.
10011         * s-finimp.adb: Likewise.
10012         * s-finimp.ads: Likewise.
10013         * s-finroo.adb: Likewise.
10014         * s-finroo.ads: Likewise.
10015         * s-fishfl.ads: Likewise.
10016         * s-fore.adb: Likewise.
10017         * s-fore.ads: Likewise.
10018         * s-fvadfl.ads: Likewise.
10019         * s-fvaffl.ads: Likewise.
10020         * s-fvagfl.ads: Likewise.
10021         * s-gearop.adb: Likewise.
10022         * s-gearop.ads: Likewise.
10023         * s-gecobl.adb: Likewise.
10024         * s-gecobl.ads: Likewise.
10025         * s-gecola.adb: Likewise.
10026         * s-gecola.ads: Likewise.
10027         * s-gerebl.adb: Likewise.
10028         * s-gerebl.ads: Likewise.
10029         * s-gerela.adb: Likewise.
10030         * s-gerela.ads: Likewise.
10031         * s-geveop.adb: Likewise.
10032         * s-geveop.ads: Likewise.
10033         * s-gloloc.adb: Likewise.
10034         * s-gloloc.ads: Likewise.
10035         * s-hibaen.ads: Likewise.
10036         * s-imenne.adb: Likewise.
10037         * s-imenne.ads: Likewise.
10038         * s-imgbiu.adb: Likewise.
10039         * s-imgbiu.ads: Likewise.
10040         * s-imgboo.adb: Likewise.
10041         * s-imgboo.ads: Likewise.
10042         * s-imgcha.adb: Likewise.
10043         * s-imgcha.ads: Likewise.
10044         * s-imgdec.adb: Likewise.
10045         * s-imgdec.ads: Likewise.
10046         * s-imgenu.adb: Likewise.
10047         * s-imgenu.ads: Likewise.
10048         * s-imgint.adb: Likewise.
10049         * s-imgint.ads: Likewise.
10050         * s-imgllb.adb: Likewise.
10051         * s-imgllb.ads: Likewise.
10052         * s-imglld.adb: Likewise.
10053         * s-imglld.ads: Likewise.
10054         * s-imglli.adb: Likewise.
10055         * s-imglli.ads: Likewise.
10056         * s-imgllu.adb: Likewise.
10057         * s-imgllu.ads: Likewise.
10058         * s-imgllw.adb: Likewise.
10059         * s-imgllw.ads: Likewise.
10060         * s-imgrea.adb: Likewise.
10061         * s-imgrea.ads: Likewise.
10062         * s-imguns.adb: Likewise.
10063         * s-imguns.ads: Likewise.
10064         * s-imgwch.adb: Likewise.
10065         * s-imgwch.ads: Likewise.
10066         * s-imgwiu.adb: Likewise.
10067         * s-imgwiu.ads: Likewise.
10068         * s-inmaop-dummy.adb: Likewise.
10069         * s-inmaop-vms.adb: Likewise.
10070         * s-inmaop.ads: Likewise.
10071         * s-interr-hwint.adb: Likewise.
10072         * s-interr-sigaction.adb: Likewise.
10073         * s-interr-vms.adb: Likewise.
10074         * s-interr.adb: Likewise.
10075         * s-interr.ads: Likewise.
10076         * s-intman-dummy.adb: Likewise.
10077         * s-intman-mingw.adb: Likewise.
10078         * s-intman-posix.adb: Likewise.
10079         * s-intman-solaris.adb: Likewise.
10080         * s-intman-vms.adb: Likewise.
10081         * s-intman-vms.ads: Likewise.
10082         * s-intman-vxworks.adb: Likewise.
10083         * s-intman-vxworks.ads: Likewise.
10084         * s-intman.ads: Likewise.
10085         * s-io.adb: Likewise.
10086         * s-io.ads: Likewise.
10087         * s-linux-alpha.ads: Likewise.
10088         * s-linux-hppa.ads: Likewise.
10089         * s-linux.ads: Likewise.
10090         * s-maccod.ads: Likewise.
10091         * s-mantis.adb: Likewise.
10092         * s-mantis.ads: Likewise.
10093         * s-mastop-irix.adb: Likewise.
10094         * s-mastop.adb: Likewise.
10095         * s-mastop.ads: Likewise.
10096         * s-memcop.ads: Likewise.
10097         * s-memory-mingw.adb: Likewise.
10098         * s-memory.adb: Likewise.
10099         * s-memory.ads: Likewise.
10100         * s-os_lib.ads: Likewise.
10101         * s-oscons-tmplt.c: Likewise.
10102         * s-osinte-aix.adb: Likewise.
10103         * s-osinte-darwin.adb: Likewise.
10104         * s-osinte-freebsd.adb: Likewise.
10105         * s-osinte-irix.adb: Likewise.
10106         * s-osinte-lynxos-3.adb: Likewise.
10107         * s-osinte-rtems.ads: Likewise.
10108         * s-osinte-tru64.adb: Likewise.
10109         * s-osinte-vxworks-kernel.adb: Likewise.
10110         * s-osinte-vxworks.adb: Likewise.
10111         * s-osprim-mingw.adb: Likewise.
10112         * s-osprim-posix.adb: Likewise.
10113         * s-osprim-solaris.adb: Likewise.
10114         * s-osprim-unix.adb: Likewise.
10115         * s-osprim-vms.adb: Likewise.
10116         * s-osprim-vms.ads: Likewise.
10117         * s-osprim-vxworks.adb: Likewise.
10118         * s-osprim.ads: Likewise.
10119         * s-pack03.adb: Likewise.
10120         * s-pack03.ads: Likewise.
10121         * s-pack05.adb: Likewise.
10122         * s-pack05.ads: Likewise.
10123         * s-pack06.adb: Likewise.
10124         * s-pack06.ads: Likewise.
10125         * s-pack07.adb: Likewise.
10126         * s-pack07.ads: Likewise.
10127         * s-pack09.adb: Likewise.
10128         * s-pack09.ads: Likewise.
10129         * s-pack10.adb: Likewise.
10130         * s-pack10.ads: Likewise.
10131         * s-pack11.adb: Likewise.
10132         * s-pack11.ads: Likewise.
10133         * s-pack12.adb: Likewise.
10134         * s-pack12.ads: Likewise.
10135         * s-pack13.adb: Likewise.
10136         * s-pack13.ads: Likewise.
10137         * s-pack14.adb: Likewise.
10138         * s-pack14.ads: Likewise.
10139         * s-pack15.adb: Likewise.
10140         * s-pack15.ads: Likewise.
10141         * s-pack17.adb: Likewise.
10142         * s-pack17.ads: Likewise.
10143         * s-pack18.adb: Likewise.
10144         * s-pack18.ads: Likewise.
10145         * s-pack19.adb: Likewise.
10146         * s-pack19.ads: Likewise.
10147         * s-pack20.adb: Likewise.
10148         * s-pack20.ads: Likewise.
10149         * s-pack21.adb: Likewise.
10150         * s-pack21.ads: Likewise.
10151         * s-pack22.adb: Likewise.
10152         * s-pack22.ads: Likewise.
10153         * s-pack23.adb: Likewise.
10154         * s-pack23.ads: Likewise.
10155         * s-pack24.adb: Likewise.
10156         * s-pack24.ads: Likewise.
10157         * s-pack25.adb: Likewise.
10158         * s-pack25.ads: Likewise.
10159         * s-pack26.adb: Likewise.
10160         * s-pack26.ads: Likewise.
10161         * s-pack27.adb: Likewise.
10162         * s-pack27.ads: Likewise.
10163         * s-pack28.adb: Likewise.
10164         * s-pack28.ads: Likewise.
10165         * s-pack29.adb: Likewise.
10166         * s-pack29.ads: Likewise.
10167         * s-pack30.adb: Likewise.
10168         * s-pack30.ads: Likewise.
10169         * s-pack31.adb: Likewise.
10170         * s-pack31.ads: Likewise.
10171         * s-pack33.adb: Likewise.
10172         * s-pack33.ads: Likewise.
10173         * s-pack34.adb: Likewise.
10174         * s-pack34.ads: Likewise.
10175         * s-pack35.adb: Likewise.
10176         * s-pack35.ads: Likewise.
10177         * s-pack36.adb: Likewise.
10178         * s-pack36.ads: Likewise.
10179         * s-pack37.adb: Likewise.
10180         * s-pack37.ads: Likewise.
10181         * s-pack38.adb: Likewise.
10182         * s-pack38.ads: Likewise.
10183         * s-pack39.adb: Likewise.
10184         * s-pack39.ads: Likewise.
10185         * s-pack40.adb: Likewise.
10186         * s-pack40.ads: Likewise.
10187         * s-pack41.adb: Likewise.
10188         * s-pack41.ads: Likewise.
10189         * s-pack42.adb: Likewise.
10190         * s-pack42.ads: Likewise.
10191         * s-pack43.adb: Likewise.
10192         * s-pack43.ads: Likewise.
10193         * s-pack44.adb: Likewise.
10194         * s-pack44.ads: Likewise.
10195         * s-pack45.adb: Likewise.
10196         * s-pack45.ads: Likewise.
10197         * s-pack46.adb: Likewise.
10198         * s-pack46.ads: Likewise.
10199         * s-pack47.adb: Likewise.
10200         * s-pack47.ads: Likewise.
10201         * s-pack48.adb: Likewise.
10202         * s-pack48.ads: Likewise.
10203         * s-pack49.adb: Likewise.
10204         * s-pack49.ads: Likewise.
10205         * s-pack50.adb: Likewise.
10206         * s-pack50.ads: Likewise.
10207         * s-pack51.adb: Likewise.
10208         * s-pack51.ads: Likewise.
10209         * s-pack52.adb: Likewise.
10210         * s-pack52.ads: Likewise.
10211         * s-pack53.adb: Likewise.
10212         * s-pack53.ads: Likewise.
10213         * s-pack54.adb: Likewise.
10214         * s-pack54.ads: Likewise.
10215         * s-pack55.adb: Likewise.
10216         * s-pack55.ads: Likewise.
10217         * s-pack56.adb: Likewise.
10218         * s-pack56.ads: Likewise.
10219         * s-pack57.adb: Likewise.
10220         * s-pack57.ads: Likewise.
10221         * s-pack58.adb: Likewise.
10222         * s-pack58.ads: Likewise.
10223         * s-pack59.adb: Likewise.
10224         * s-pack59.ads: Likewise.
10225         * s-pack60.adb: Likewise.
10226         * s-pack60.ads: Likewise.
10227         * s-pack61.adb: Likewise.
10228         * s-pack61.ads: Likewise.
10229         * s-pack62.adb: Likewise.
10230         * s-pack62.ads: Likewise.
10231         * s-pack63.adb: Likewise.
10232         * s-pack63.ads: Likewise.
10233         * s-parame-ae653.ads: Likewise.
10234         * s-parame-hpux.ads: Likewise.
10235         * s-parame-rtems.adb: Likewise.
10236         * s-parame-vms-alpha.ads: Likewise.
10237         * s-parame-vms-ia64.ads: Likewise.
10238         * s-parame-vms-restrict.ads: Likewise.
10239         * s-parame-vxworks.adb: Likewise.
10240         * s-parame-vxworks.ads: Likewise.
10241         * s-parame.adb: Likewise.
10242         * s-parame.ads: Likewise.
10243         * s-parint.adb: Likewise.
10244         * s-parint.ads: Likewise.
10245         * s-pooglo.adb: Likewise.
10246         * s-pooglo.ads: Likewise.
10247         * s-pooloc.adb: Likewise.
10248         * s-pooloc.ads: Likewise.
10249         * s-poosiz.adb: Likewise.
10250         * s-poosiz.ads: Likewise.
10251         * s-powtab.ads: Likewise.
10252         * s-proinf-irix-athread.adb: Likewise.
10253         * s-proinf-irix-athread.ads: Likewise.
10254         * s-proinf.adb: Likewise.
10255         * s-proinf.ads: Likewise.
10256         * s-purexc.ads: Likewise.
10257         * s-rannum.adb: Likewise.
10258         * s-rannum.ads: Likewise.
10259         * s-restri.adb: Likewise.
10260         * s-restri.ads: Likewise.
10261         * s-rident.ads: Likewise.
10262         * s-rpc.adb: Likewise.
10263         * s-rpc.ads: Likewise.
10264         * s-scaval.adb: Likewise.
10265         * s-scaval.ads: Likewise.
10266         * s-secsta.adb: Likewise.
10267         * s-secsta.ads: Likewise.
10268         * s-sequio.adb: Likewise.
10269         * s-sequio.ads: Likewise.
10270         * s-shasto.adb: Likewise.
10271         * s-shasto.ads: Likewise.
10272         * s-soflin.adb: Likewise.
10273         * s-soflin.ads: Likewise.
10274         * s-solita.adb: Likewise.
10275         * s-solita.ads: Likewise.
10276         * s-sopco3.adb: Likewise.
10277         * s-sopco3.ads: Likewise.
10278         * s-sopco4.adb: Likewise.
10279         * s-sopco4.ads: Likewise.
10280         * s-sopco5.adb: Likewise.
10281         * s-sopco5.ads: Likewise.
10282         * s-stache.adb: Likewise.
10283         * s-stache.ads: Likewise.
10284         * s-stalib.adb: Likewise.
10285         * s-stalib.ads: Likewise.
10286         * s-stausa.adb: Likewise.
10287         * s-stausa.ads: Likewise.
10288         * s-stchop-limit.ads: Likewise.
10289         * s-stchop-rtems.adb: Likewise.
10290         * s-stchop-vxworks.adb: Likewise.
10291         * s-stchop.adb: Likewise.
10292         * s-stchop.ads: Likewise.
10293         * s-stoele.adb: Likewise.
10294         * s-stoele.ads: Likewise.
10295         * s-stopoo.adb: Likewise.
10296         * s-stopoo.ads: Likewise.
10297         * s-stratt.adb: Likewise.
10298         * s-stratt.ads: Likewise.
10299         * s-strcom.adb: Likewise.
10300         * s-strcom.ads: Likewise.
10301         * s-string.adb: Likewise.
10302         * s-string.ads: Likewise.
10303         * s-strops.adb: Likewise.
10304         * s-strops.ads: Likewise.
10305         * s-strxdr.adb: Likewise.
10306         * s-ststop.adb: Likewise.
10307         * s-ststop.ads: Likewise.
10308         * s-taasde.adb: Likewise.
10309         * s-taasde.ads: Likewise.
10310         * s-tadeca.adb: Likewise.
10311         * s-tadeca.ads: Likewise.
10312         * s-tadert.adb: Likewise.
10313         * s-tadert.ads: Likewise.
10314         * s-taenca.adb: Likewise.
10315         * s-taenca.ads: Likewise.
10316         * s-taprob.ads: Likewise.
10317         * s-taprop-dummy.adb: Likewise.
10318         * s-taprop-hpux-dce.adb: Likewise.
10319         * s-taprop-irix.adb: Likewise.
10320         * s-taprop-linux.adb: Likewise.
10321         * s-taprop-lynxos.adb: Likewise.
10322         * s-taprop-mingw.adb: Likewise.
10323         * s-taprop-posix.adb: Likewise.
10324         * s-taprop-solaris.adb: Likewise.
10325         * s-taprop-tru64.adb: Likewise.
10326         * s-taprop-vms.adb: Likewise.
10327         * s-taprop-vxworks.adb: Likewise.
10328         * s-taprop.ads: Likewise.
10329         * s-tarest.adb: Likewise.
10330         * s-tarest.ads: Likewise.
10331         * s-tasdeb.adb: Likewise.
10332         * s-tasdeb.ads: Likewise.
10333         * s-tasinf-irix.ads: Likewise.
10334         * s-tasinf-linux.adb: Likewise.
10335         * s-tasinf-linux.ads: Likewise.
10336         * s-tasinf-mingw.adb: Likewise.
10337         * s-tasinf-mingw.ads: Likewise.
10338         * s-tasinf-solaris.adb: Likewise.
10339         * s-tasinf-solaris.ads: Likewise.
10340         * s-tasinf-tru64.ads: Likewise.
10341         * s-tasinf.adb: Likewise.
10342         * s-tasinf.ads: Likewise.
10343         * s-tasini.adb: Likewise.
10344         * s-tasini.ads: Likewise.
10345         * s-taskin.adb: Likewise.
10346         * s-taskin.ads: Likewise.
10347         * s-taspri-dummy.ads: Likewise.
10348         * s-taspri-hpux-dce.ads: Likewise.
10349         * s-taspri-mingw.ads: Likewise.
10350         * s-taspri-solaris.ads: Likewise.
10351         * s-taspri-tru64.ads: Likewise.
10352         * s-taspri-vms.ads: Likewise.
10353         * s-taspri-vxworks.ads: Likewise.
10354         * s-tasque.adb: Likewise.
10355         * s-tasque.ads: Likewise.
10356         * s-tasren.adb: Likewise.
10357         * s-tasren.ads: Likewise.
10358         * s-tasres.ads: Likewise.
10359         * s-tassta.adb: Likewise.
10360         * s-tassta.ads: Likewise.
10361         * s-tasuti.adb: Likewise.
10362         * s-tasuti.ads: Likewise.
10363         * s-tfsetr-default.adb: Likewise.
10364         * s-tfsetr-vxworks.adb: Likewise.
10365         * s-tpinop.adb: Likewise.
10366         * s-tpinop.ads: Likewise.
10367         * s-tpoben.adb: Likewise.
10368         * s-tpoben.ads: Likewise.
10369         * s-tpobop.adb: Likewise.
10370         * s-tpobop.ads: Likewise.
10371         * s-tpopde-vms.adb: Likewise.
10372         * s-tpopde-vms.ads: Likewise.
10373         * s-tpopsp-lynxos.adb: Likewise.
10374         * s-tpopsp-posix-foreign.adb: Likewise.
10375         * s-tpopsp-posix.adb: Likewise.
10376         * s-tpopsp-solaris.adb: Likewise.
10377         * s-tpopsp-vxworks.adb: Likewise.
10378         * s-tporft.adb: Likewise.
10379         * s-tposen.adb: Likewise.
10380         * s-tposen.ads: Likewise.
10381         * s-traceb.adb: Likewise.
10382         * s-traceb.ads: Likewise.
10383         * s-traces-default.adb: Likewise.
10384         * s-traces.adb: Likewise.
10385         * s-traces.ads: Likewise.
10386         * s-traent-vms.adb: Likewise.
10387         * s-traent-vms.ads: Likewise.
10388         * s-traent.adb: Likewise.
10389         * s-traent.ads: Likewise.
10390         * s-trafor-default.adb: Likewise.
10391         * s-trafor-default.ads: Likewise.
10392         * s-tratas-default.adb: Likewise.
10393         * s-tratas.adb: Likewise.
10394         * s-tratas.ads: Likewise.
10395         * s-unstyp.ads: Likewise.
10396         * s-utf_32.adb: Likewise.
10397         * s-utf_32.ads: Likewise.
10398         * s-vaflop-vms-alpha.adb: Likewise.
10399         * s-vaflop.adb: Likewise.
10400         * s-vaflop.ads: Likewise.
10401         * s-valboo.adb: Likewise.
10402         * s-valboo.ads: Likewise.
10403         * s-valcha.adb: Likewise.
10404         * s-valcha.ads: Likewise.
10405         * s-valdec.adb: Likewise.
10406         * s-valdec.ads: Likewise.
10407         * s-valenu.adb: Likewise.
10408         * s-valenu.ads: Likewise.
10409         * s-valint.adb: Likewise.
10410         * s-valint.ads: Likewise.
10411         * s-vallld.adb: Likewise.
10412         * s-vallld.ads: Likewise.
10413         * s-vallli.adb: Likewise.
10414         * s-vallli.ads: Likewise.
10415         * s-valllu.adb: Likewise.
10416         * s-valllu.ads: Likewise.
10417         * s-valrea.adb: Likewise.
10418         * s-valrea.ads: Likewise.
10419         * s-valuns.adb: Likewise.
10420         * s-valuns.ads: Likewise.
10421         * s-valuti.adb: Likewise.
10422         * s-valuti.ads: Likewise.
10423         * s-valwch.adb: Likewise.
10424         * s-valwch.ads: Likewise.
10425         * s-veboop.adb: Likewise.
10426         * s-veboop.ads: Likewise.
10427         * s-vector.ads: Likewise.
10428         * s-vercon.adb: Likewise.
10429         * s-vercon.ads: Likewise.
10430         * s-vmexta.adb: Likewise.
10431         * s-vmexta.ads: Likewise.
10432         * s-vxwext-kernel.ads: Likewise.
10433         * s-vxwext-rtp.adb: Likewise.
10434         * s-vxwext-rtp.ads: Likewise.
10435         * s-vxwext.ads: Likewise.
10436         * s-vxwork-arm.ads: Likewise.
10437         * s-vxwork-m68k.ads: Likewise.
10438         * s-vxwork-mips.ads: Likewise.
10439         * s-vxwork-ppc.ads: Likewise.
10440         * s-vxwork-sparcv9.ads: Likewise.
10441         * s-vxwork-x86.ads: Likewise.
10442         * s-wchcnv.adb: Likewise.
10443         * s-wchcnv.ads: Likewise.
10444         * s-wchcon.adb: Likewise.
10445         * s-wchcon.ads: Likewise.
10446         * s-wchjis.adb: Likewise.
10447         * s-wchjis.ads: Likewise.
10448         * s-wchstw.adb: Likewise.
10449         * s-wchstw.ads: Likewise.
10450         * s-wchwts.adb: Likewise.
10451         * s-wchwts.ads: Likewise.
10452         * s-widboo.adb: Likewise.
10453         * s-widboo.ads: Likewise.
10454         * s-widcha.adb: Likewise.
10455         * s-widcha.ads: Likewise.
10456         * s-widenu.adb: Likewise.
10457         * s-widenu.ads: Likewise.
10458         * s-widlli.adb: Likewise.
10459         * s-widlli.ads: Likewise.
10460         * s-widllu.adb: Likewise.
10461         * s-widllu.ads: Likewise.
10462         * s-widwch.adb: Likewise.
10463         * s-widwch.ads: Likewise.
10464         * s-win32.ads: Likewise.
10465         * s-winext.ads: Likewise.
10466         * s-wwdcha.adb: Likewise.
10467         * s-wwdcha.ads: Likewise.
10468         * s-wwdenu.adb: Likewise.
10469         * s-wwdenu.ads: Likewise.
10470         * s-wwdwch.adb: Likewise.
10471         * s-wwdwch.ads: Likewise.
10472         * scans.adb: Likewise.
10473         * scans.ads: Likewise.
10474         * seh_init.c: Likewise.
10475         * sfn_scan.adb: Likewise.
10476         * sinfo.adb: Likewise.
10477         * sinfo.ads: Likewise.
10478         * sinput.adb: Likewise.
10479         * sinput.ads: Likewise.
10480         * snames.adb: Likewise.
10481         * snames.ads: Likewise.
10482         * socket.c: Likewise.
10483         * stand.adb: Likewise.
10484         * stand.ads: Likewise.
10485         * stringt.adb: Likewise.
10486         * stringt.ads: Likewise.
10487         * sysdep.c: Likewise.
10488         * system-aix.ads: Likewise.
10489         * system-darwin-ppc.ads: Likewise.
10490         * system-darwin-x86.ads: Likewise.
10491         * system-darwin-x86_64.ads: Likewise.
10492         * system-freebsd-x86.ads: Likewise.
10493         * system-hpux-ia64.ads: Likewise.
10494         * system-hpux.ads: Likewise.
10495         * system-irix-n32.ads: Likewise.
10496         * system-irix-n64.ads: Likewise.
10497         * system-irix-o32.ads: Likewise.
10498         * system-linux-alpha.ads: Likewise.
10499         * system-linux-hppa.ads: Likewise.
10500         * system-linux-ia64.ads: Likewise.
10501         * system-linux-mips.ads: Likewise.
10502         * system-linux-mipsel.ads: Likewise.
10503         * system-linux-ppc.ads: Likewise.
10504         * system-linux-ppc64.ads: Likewise.
10505         * system-linux-s390.ads: Likewise.
10506         * system-linux-s390x.ads: Likewise.
10507         * system-linux-sh4.ads: Likewise.
10508         * system-linux-sparc.ads: Likewise.
10509         * system-linux-sparcv9.ads: Likewise.
10510         * system-linux-x86.ads: Likewise.
10511         * system-linux-x86_64.ads: Likewise.
10512         * system-lynxos-ppc.ads: Likewise.
10513         * system-lynxos-x86.ads: Likewise.
10514         * system-mingw-x86_64.ads: Likewise.
10515         * system-mingw.ads: Likewise.
10516         * system-rtems.ads: Likewise.
10517         * system-solaris-sparc.ads: Likewise.
10518         * system-solaris-sparcv9.ads: Likewise.
10519         * system-solaris-x86.ads: Likewise.
10520         * system-solaris-x86_64.ads: Likewise.
10521         * system-tru64.ads: Likewise.
10522         * system-vms-ia64.ads: Likewise.
10523         * system-vms-zcx.ads: Likewise.
10524         * system-vms.ads: Likewise.
10525         * system-vms_64.ads: Likewise.
10526         * system-vxworks-arm.ads: Likewise.
10527         * system-vxworks-m68k.ads: Likewise.
10528         * system-vxworks-mips.ads: Likewise.
10529         * system-vxworks-ppc.ads: Likewise.
10530         * system-vxworks-sparcv9.ads: Likewise.
10531         * system-vxworks-x86.ads: Likewise.
10532         * system.ads: Likewise.
10533         * table.adb: Likewise.
10534         * table.ads: Likewise.
10535         * targext.c: Likewise.
10536         * targparm.ads: Likewise.
10537         * tree_in.adb: Likewise.
10538         * tree_in.ads: Likewise.
10539         * tree_io.adb: Likewise.
10540         * tree_io.ads: Likewise.
10541         * types.adb: Likewise.
10542         * types.ads: Likewise.
10543         * uintp.adb: Likewise.
10544         * uintp.ads: Likewise.
10545         * uname.adb: Likewise.
10546         * uname.ads: Likewise.
10547         * urealp.adb: Likewise.
10548         * urealp.ads: Likewise.
10549         * vx_stack_info.c: Likewise.
10550         * widechar.adb: Likewise.
10551         * widechar.ads: Likewise.
10552         * exp_attr.adb: Change copyright header to refer to version
10553         3 of the GNU General Public License and to point readers at the
10554         COPYING3 file and the FSF's license web page.
10555         * sem.adb: Likewise.
10556         * sem_attr.ads: Likewise.
10557         * freeze.adb: Likewise.
10558         * freeze.ads: Likewise.
10559         * errout.ads: Likewise.
10560         * erroutc.adb: Likewise.
10561         * exp_ch11.ads: Likewise.
10562
10563 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
10564
10565         * config-lang.in: Change copyright header to refer to version
10566         3 of the GNU General Public License and to point readers at the
10567         COPYING3 file and the FSF's license web page.
10568         * gcc-interface/trans.c: Likewise.
10569         * gnathtml.pl: Likewise.
10570         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
10571         * gcc-interface/gigi.h: Likewise.
10572         * gcc-interface/misc.c: Likewise.
10573         * gcc-interface/targtyps.c: Likewise.
10574
10575 2009-04-09  Nicolas Setton  <setton@adacore.com>
10576
10577         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
10578
10579         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
10580         struct_timeval.
10581
10582 2009-04-09  Bob Duff  <duff@adacore.com>
10583
10584         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
10585         internally-generated nodes related to select statements to avoid
10586         confusing the debugger.
10587
10588 2009-04-09  Pascal Obry  <obry@adacore.com>
10589
10590         * make.adb: Ensure that all linker arguments are duplicated.
10591
10592 2009-04-09  Robert Dewar  <dewar@adacore.com>
10593
10594         * sem_ch5.adb: Minor reformatting
10595
10596 2009-04-09  Vincent Celier  <celier@adacore.com>
10597
10598         * vms_data.ads:
10599         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
10600         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
10601         New qualifier /LXDEBUG=nnn for -gnatDnnn
10602         For H820-010
10603
10604         * gnat_ugn.texi:
10605         Update documentation for VMS qualifiers equivalent to -gnatGnn and
10606         -gnatDnn
10607
10608 2009-04-09  Nicolas Setton  <setton@adacore.com>
10609
10610         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
10611         to match layout of siginfo_t in sys/signal.h.
10612
10613         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
10614
10615 2009-04-09  Thomas Quinot  <quinot@adacore.com>
10616
10617         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
10618
10619 2009-04-09  Nicolas Setton  <setton@adacore.com>
10620
10621         * s-oscons-tmplt.c: Allow long lines in the generated spec.
10622         Add generation of Darwin-specific constants needed when binding to the
10623         pthread library.
10624
10625 2009-04-09  Robert Dewar  <dewar@adacore.com>
10626
10627         * checks.adb:
10628         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
10629         when no invalid values exist, Avoid duplicate read of atomic variable.
10630
10631         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
10632         (Standard_Unsigned): Set Is_Known_Valid
10633
10634         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
10635         subtype declaration if no constraint.
10636         (Set_Modular_Size): Set Is_Known_Valid if appropriate
10637         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
10638
10639 2009-04-09  Robert Dewar  <dewar@adacore.com>
10640
10641         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
10642         switch.ads: for numeric switches, an optional equal sign is always
10643         allowed.
10644
10645 2009-04-09  Vincent Celier  <celier@adacore.com>
10646
10647         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
10648         the case of file names is not significant.
10649
10650 2009-04-09  Vincent Celier  <celier@adacore.com>
10651
10652         * errout.adb: Remove dependency on package Style
10653
10654         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
10655         moved to Stylesw.
10656         
10657         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
10658         Styleg.
10659
10660         * errutil.adb, par.adb: Import Stylesw
10661
10662 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
10663
10664         * opt.ads: Fix typos.
10665
10666 2009-04-09  Robert Dewar  <dewar@adacore.com>
10667
10668         * einfo.adb: Minor reformatting
10669
10670 2009-04-09  Robert Dewar  <dewar@adacore.com>
10671
10672         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
10673         units.
10674
10675         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
10676
10677 2009-04-09  Robert Dewar  <dewar@adacore.com>
10678
10679         * g-comver.adb: Minor reformatting.
10680
10681 2009-04-09  Thomas Quinot  <quinot@adacore.com>
10682
10683         * lib-load.ads (Load_Unit): Update documentation.
10684
10685 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
10686
10687         * lib-load.adb (Load_Unit): When loading the parent of a child unit
10688         named in a with_clause, retain the with_clause to preserve a
10689         limited_with indication.
10690
10691 2009-04-09  Robert Dewar  <dewar@adacore.com>
10692
10693         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
10694         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
10695         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
10696         possible to replace an OR of two separate tests.
10697
10698 2009-04-09  Robert Dewar  <dewar@adacore.com>
10699
10700         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
10701         Maximum_Messages.
10702         
10703         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
10704         warning status as well.
10705         
10706         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
10707         
10708         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
10709         Maximum_Messages.
10710         
10711         * bindusg.adb, usage.adb: Update line for -gnatm switch
10712
10713         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
10714         -mnn binder switch.
10715
10716 2009-04-09  Robert Dewar  <dewar@adacore.com>
10717
10718         * sem_ch10.adb: Minor reformatting.
10719
10720 2009-04-09  Bob Duff  <duff@adacore.com>
10721
10722         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
10723         Set Sloc of generated nodes for calls to Undefer_Aborts and
10724         Save_Occurrence to No_Location, so the debugger ignores them and
10725         therefore does not jump back and forth when single stepping.
10726
10727 2009-04-09  Robert Dewar  <dewar@adacore.com>
10728
10729         * switch-b.adb: Minor reformatting.
10730
10731 2009-04-09  Robert Dewar  <dewar@adacore.com>
10732
10733         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
10734         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
10735         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
10736         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
10737         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
10738         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
10739         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
10740         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
10741         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
10742         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
10743         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
10744
10745 2009-04-09  Robert Dewar  <dewar@adacore.com>
10746
10747         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
10748
10749         * atree.h: Add Elist26
10750
10751         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
10752         backends.
10753
10754 2009-04-09  Javier Miranda  <miranda@adacore.com>
10755
10756         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
10757         retrieve from the Dispatch_Table_Wrappers list the external name.
10758         Addition of documentation.
10759         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
10760         used to export secondary dispatch tables (in the previous version of
10761         the frontend only primary dispatch tables were exported). Addition of
10762         documentation.
10763         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
10764         dispatch table of a given tagged type. 
10765         (Make_Tags): Modified to import secondary dispatch tables.
10766
10767         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
10768         (Constant_Redeclaration): Code cleanup.
10769
10770         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
10771         Dispatch_Table_Wrappers.  Update documentation.
10772
10773         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
10774         Renamed to Dispatch_Table_Wrappers.
10775
10776         * sem_util.adb (Collect_Interface_Components): Improve handling of
10777         private types.
10778
10779         * atree.ads (Elist26, Set_Elist26): New subprograms
10780
10781         * atree.adb (Elist26, Set_Elist26): New subprograms
10782
10783 2009-04-09  Javier Miranda  <miranda@adacore.com>
10784
10785         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
10786         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
10787         tagged types.
10788
10789 2009-04-09  Robert Dewar  <dewar@adacore.com>
10790
10791         * s-direio.adb: Minor reformatting
10792
10793         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
10794
10795 2009-04-09  Robert Dewar  <dewar@adacore.com>
10796
10797         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
10798
10799 2009-04-09  Pascal Obry  <obry@adacore.com>
10800
10801         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
10802         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
10803         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
10804         a-filico.ads: Add some missing overriding keywords.
10805
10806 2009-04-09  Pascal Obry  <obry@adacore.com>
10807
10808         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
10809         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
10810         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
10811         reformatting.
10812
10813 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
10814
10815         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
10816         missing overriding indicator if the new declaration is not seen as
10817         primitive.
10818
10819 2009-04-09  Thomas Quinot  <quinot@adacore.com>
10820
10821         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
10822         overflows in computation of bounds.
10823
10824 2009-04-09  Pascal Obry  <obry@adacore.com>
10825
10826         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
10827         typos in comment.
10828
10829 2009-04-09  Robert Dewar  <dewar@adacore.com>
10830
10831         * sem_attr.adb (Check_Stream_Attribute): Check violation of
10832         restriction No_Streams
10833
10834         * gnat_rm.texi: Clarify No_Streams restriction
10835
10836         * g-socket.adb: Minor reformatting.
10837
10838 2009-04-09  Thomas Quinot  <quinot@adacore.com>
10839
10840         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
10841
10842 2009-04-09  Geert Bosch  <bosch@adacore.com>
10843
10844         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
10845         (Set_Result): Likewise.
10846         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
10847         conversion, as required by RM 4.6(31).
10848
10849 2009-04-08  Robert Dewar  <dewar@adacore.com>
10850
10851         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
10852         suppressed.
10853         
10854         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
10855         resolution steps.
10856
10857 2009-04-08  Robert Dewar  <dewar@adacore.com>
10858
10859         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
10860         No_Local_Allocators restriction preventing local instantiation.
10861
10862 2009-04-08  Thomas Quinot  <quinot@adacore.com>
10863
10864         * sem_eval.adb: Minor comment fix
10865
10866 2009-04-08  Thomas Quinot  <quinot@adacore.com>
10867
10868         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
10869         New limited controlled type used to automate the initialization and
10870         finalization of the sockets implementation.
10871         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
10872
10873 2009-04-08  Vincent Celier  <celier@adacore.com>
10874
10875         * prj-attr.adb: New read-only project-level attribute Project_Dir
10876
10877         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
10878         read-only attribute of the same name.
10879         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
10880         (Recursive_Process): Ditto
10881
10882         * snames.adb: Add new standard name Project_Dir
10883
10884         * snames.ads: Add new standard name Project_Dir
10885
10886 2009-04-08  Thomas Quinot  <quinot@adacore.com>
10887
10888         * checks.adb: Minor reformatting
10889
10890 2009-04-08  Vincent Celier  <celier@adacore.com>
10891
10892         * vms_data.ads: Add documentation for new style keyword
10893         OVERRIDING_INDICATORS
10894
10895 2009-04-08  Robert Dewar  <dewar@adacore.com>
10896
10897         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
10898         spec is in the current unit.
10899
10900 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
10901
10902         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
10903         presence of entity.
10904
10905         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
10906
10907 2009-04-08  Vincent Celier  <celier@adacore.com>
10908
10909         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
10910
10911 2009-04-08  Thomas Quinot  <quinot@adacore.com>
10912
10913         * checks.ads: Minor reformatting
10914
10915 2009-04-08  Robert Dewar  <dewar@adacore.com>
10916
10917         * gnat_rm.texi: Update documentation of pragma Obsolescent
10918         
10919         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
10920         be omitted, and allow Entity parameter to be omitted.
10921
10922 2009-04-08  Thomas Quinot  <quinot@adacore.com>
10923
10924         * exp_util.adb: Minor comment fix
10925
10926 2009-04-08  Robert Dewar  <dewar@adacore.com>
10927
10928         * g-socket.ads: Fix bad syntax in pragma Obsolescent
10929
10930         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
10931         argument with no identifier following one that has an identifier. Was
10932         missed in some cases.
10933
10934         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
10935         identifier.
10936         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
10937
10938         * snames.adb: Add Name_Policy
10939
10940         * snames.ads: Add Name_Policy
10941
10942 2009-04-08  Robert Dewar  <dewar@adacore.com>
10943
10944         * gnat_rm.texi: Minor reformatting
10945
10946         * par-ch2.adb: Minor reformatting
10947
10948 2009-04-08  Robert Dewar  <dewar@adacore.com>
10949
10950         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
10951
10952 2009-04-08  Robert Dewar  <dewar@adacore.com>
10953
10954         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
10955         properly in the presence of Remote_Types or Remote_Call_Interface.
10956
10957         * sem_util.adb: Add comment.
10958
10959 2009-04-08  Robert Dewar  <dewar@adacore.com>
10960
10961         * ug_words: Add /ASSUME_VALID for -gnatB
10962
10963         * vms_data.ads: Add /ASSUME_VALID for -gnatB
10964
10965         * sem_cat.adb: Add clarifying commment
10966
10967         * a-direio.ads (Bytes): Make sure value is non-zero
10968
10969 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
10970
10971         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
10972         that does not come from source, check for a rewritten function call in
10973         prefixed notation before other forms of rewriting.
10974
10975 2009-04-08  Robert Dewar  <dewar@adacore.com>
10976
10977         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
10978         these are now obsolescent units used only for bootrapping with an
10979         older compiler.
10980
10981 2009-04-08  Robert Dewar  <dewar@adacore.com>
10982
10983         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
10984
10985         * sem_ch3.adb: Minor comment updates
10986
10987 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
10988
10989         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
10990         that come from source.
10991
10992 2009-04-08  Tristan Gingold  <gingold@adacore.com>
10993
10994         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
10995         * gcc-interface/decl.c (prepend_attributes): New case
10996         Pragma_Thread_Local_Storage.
10997         * gcc-interface/utils.c (process_attributes): New case
10998         ATTR_THREAD_LOCAL_STORAGE.
10999
11000 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11001
11002         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
11003         by the back-end if it contains a call to a subprogram without a
11004         previous spec that is declared in the same unit.
11005
11006         * errout.ads: Update comments on uses of dirs
11007
11008 2009-04-08  Robert Dewar  <dewar@adacore.com>
11009
11010         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
11011
11012 2009-04-08  Tristan Gingold  <gingold@adacore.com>
11013
11014         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
11015         variables.
11016         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
11017
11018 2009-04-08  Vincent Celier  <celier@adacore.com>
11019
11020         * prj-nmsc.adb:
11021         (Add_Source): Add the mapping of the unit name to source file name in
11022         the Unit_Sources_HT hash table, if the unit name is not null.
11023
11024         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
11025
11026         * prj.ads (Unit_Sources_Htable): New hash table instantiation
11027         (Project_Tree_Data): New component Unit_Sources_HT
11028
11029 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11030
11031         * sem_ch8.adb: Minor reformatting.
11032         Minor code reorganization.
11033
11034 2009-04-08  Robert Dewar  <dewar@adacore.com>
11035
11036         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
11037         snames.ads, freeze.adb, par-prag.adb: Add implementation of
11038         pragma Thread_Local_Storage, setting new flag
11039         Has_Pragma_Thread_Local_Storage in corresponding entities.
11040
11041 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11042
11043         * prj.ads: Update comment on switches file
11044
11045         * prj-nmsc.adb: Code clean up. Use renaming clauses.
11046
11047 2009-04-08  Robert Dewar  <dewar@adacore.com>
11048
11049         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
11050
11051 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11052
11053         * ali-util.adb: Minor comment fix
11054
11055 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11056
11057         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
11058         appears in a context clause, and the enclosing package is mentioned in
11059         a limited_with_clause.
11060         (Use_One_Type): Reject clause if type is still incomplete.
11061
11062 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11063
11064         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
11065         avoid copies of Source_Data variables when possible, since these
11066         involve calls to memcpy() which are done too many times.
11067
11068 2009-04-08  Robert Dewar  <dewar@adacore.com>
11069
11070         * exp_ch4.adb (Expand_Concatenate): Clean up code
11071
11072 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11073
11074         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
11075         type for the case of concatenating a constrained array indexed by an
11076         enumeration type.
11077
11078 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11079
11080         * sem_ch6.adb (Check_Conformance): when checking conformance of an
11081         operation that overrides an abstract operation inherited from an
11082         interface, return False if only one of the controlling formals is an
11083         access parameter.
11084
11085 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11086
11087         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
11088         mandated by AI05-105.
11089
11090 2009-04-07  Vincent Celier  <celier@adacore.com>
11091
11092         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
11093
11094 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11095
11096         * usage.adb: Minor fix in usage message.
11097
11098         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
11099         match declaration; the correct subtype is Node_Id, not Entity_Id,
11100         because the expected node kind is an identifier, not a defining
11101         identifier.
11102
11103         * switch-c.adb: Minor reformatting.
11104
11105         * uintp.adb: Minor reformatting.
11106
11107 2009-04-07  Robert Dewar  <dewar@adacore.com>
11108
11109         * exp_ch13.adb: Minor reformatting
11110
11111 2009-04-07  Robert Dewar  <dewar@adacore.com>
11112
11113         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
11114         against missing parent.
11115
11116 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11117
11118         * xoscons.adb: Minor reformatting
11119
11120 2009-04-07  Robert Dewar  <dewar@adacore.com>
11121
11122         * rtsfind.ads: Remove obsolete string concatenation entries
11123
11124 2009-04-07  Robert Dewar  <dewar@adacore.com>
11125
11126         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
11127
11128 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11129
11130         * sem_ch10.adb (Check_Body_Required): Handle properly imported
11131         subprograms.
11132
11133 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
11134
11135         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
11136         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
11137         is of a scalar or string type then suppress the setting of the
11138         expression to Empty.
11139
11140         * freeze.adb (Warn_Overlay): Also emit the warnings about default
11141         initialization for the cases of scalar and string objects when
11142         Init_Or_Norm_Scalars is True.
11143
11144 2009-04-07  Bob Duff  <duff@adacore.com>
11145
11146         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
11147
11148 2009-04-07  Bob Duff  <duff@adacore.com>
11149
11150         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
11151         Form parameter of Text_Translation=No allows binary mode for Text_IO
11152         files.
11153
11154         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
11155
11156 2009-04-07  Javier Miranda  <miranda@adacore.com>
11157
11158         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
11159         processing the bounds for bit packed arrays or VM target machines.
11160
11161 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11162
11163         * g-sothco.ads (Int_Access): Remove extraneous access type (use
11164         anonymous access instead).
11165         (Get_Socket_From_Set): Fix incorrectly reverted formals
11166         Last and Socket to match the underlying C routine.
11167
11168         * g-socket.adb, g-socket.ads
11169         (Get): Use named parameter associations instead of positional ones in
11170         call go Get_Socket_From_Set, since this routine has two formals of the
11171         same type.
11172         (Image): New procedure.
11173
11174         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11175         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
11176         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
11177         for type of Arg formal.
11178
11179         * sem_warn.adb: Minor reformatting
11180
11181 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11182
11183         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
11184         over record components.
11185
11186 2009-04-07  Nicolas Roche  <roche@adacore.com>
11187
11188         * gsocket.h:
11189         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
11190         has disappeared between VxWorks 6.4 and VxWorks 6.5
11191         In RTP mode use time.h instead of times.h
11192
11193 2009-04-07  Robert Dewar  <dewar@adacore.com>
11194
11195         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
11196
11197 2009-04-07  Kevin Pouget  <pouget@adacore.com>
11198
11199         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
11200         expanded code for constrained types.
11201
11202 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11203
11204         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
11205         AI05-105: in an object renaming declaration, anonymousness is a name
11206         resolution rule.
11207
11208         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
11209
11210 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11211
11212         * g-comlin.adb (Expansion): Fix old regression: also return directory
11213         names when matching.
11214
11215 2009-04-07  Robert Dewar  <dewar@adacore.com>
11216
11217         * exp_ch4.adb:
11218         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
11219         (Expand_Concatenate): New name for Expand_Concatenate_String which has
11220         been rewritten to handle all types.
11221         (Expand_Concatenate_Other): Remove
11222
11223 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11224
11225         * lib-xref.adb (Generate_Reference): A default subprogram in an
11226         instance appears within the tree for the instance, but generates an
11227         implicit reference in the ALI.
11228
11229 2009-04-07  Javier Miranda  <miranda@adacore.com>
11230
11231         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
11232         derived type that has discriminants, propagate the list of interfaces
11233         to the corresponding new base type. In addition, propagate also
11234         attribute Limited_Present (found working in this patch).
11235
11236 2009-04-07  Robert Dewar  <dewar@adacore.com>
11237
11238         * exp_ch4.adb: Rewrite concatenation expansion.
11239
11240 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11241
11242         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
11243         relevant to packages.
11244
11245 2009-04-07  Robert Dewar  <dewar@adacore.com>
11246
11247         * sem_attr.adb: Minor reformatting
11248
11249         * sem_ch6.adb: Minor reformatting
11250
11251 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11252
11253         * socket.c: Add more protections against S_resolvLib_ macros.
11254
11255 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11256
11257         * sem_attr.adb: Minor reformatting
11258
11259 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11260
11261         * sem_ch6.adb (New_Overloaded_Entity): New predicate
11262         Is_Overriding_Alias to handle properly types that inherit two homonym
11263         operations that have distinct dispatch table entries.
11264
11265 2009-04-07  Emmanuel Briot  <briot@adacore.com>
11266
11267         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
11268         looking for the end of a parenthesis group
11269
11270 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11271
11272         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
11273
11274         * socket.c Don't use resolvLib_ macros if not defined.
11275
11276 2009-04-07  Robert Dewar  <dewar@adacore.com>
11277
11278         * g-socket.adb: Minor reformatting.
11279
11280         * g-socthi-mingw.adb: Minor reformatting
11281
11282         * g-sothco.ads: Minor reformatting
11283
11284         * exp_ch4.adb:
11285         (Expand_Concatenate_String): Complete rewrite to generate efficient code
11286         inline instead of relying on external library routines.
11287
11288         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
11289         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
11290         obsolescent
11291
11292 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11293
11294         * sem_attr.adb:
11295         (Eval_Attribute): for attributes of array objects that are not strings,
11296         attributes are not static if nominal subtype of object is unconstrained.
11297
11298 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11299
11300         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
11301         operations for a type T in an instance do not override each other,
11302         when T is derived from a formal private type, the corresponding
11303         operations inherited by a type derived from T outside
11304         of the instance do not override each other either.
11305
11306 2009-04-07  Robert Dewar  <dewar@adacore.com>
11307
11308         (Osint.Fail): Change calling sequence to have one string arg
11309         (Make.Make_Failed): Same change
11310         All callers are adjusted to use concatenation
11311
11312 2009-04-07  Robert Dewar  <dewar@adacore.com>
11313
11314         * exp_ch4.adb: Fix documentation typo
11315
11316 2009-04-07  Robert Dewar  <dewar@adacore.com>
11317
11318         * tbuild.ads: Minor reformatting
11319
11320 2009-04-07  Javier Miranda  <miranda@adacore.com>
11321
11322         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
11323         when compiling under ZFP runtime.
11324
11325 2009-04-07  Robert Dewar  <dewar@adacore.com>
11326
11327         * g-comlin.adb: Minor reformatting
11328
11329 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11330
11331         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11332         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
11333         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
11334         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
11335
11336 2009-04-07  Robert Dewar  <dewar@adacore.com>
11337
11338         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
11339
11340         * opt.ads (Sprint_Line_Limit): New parameter
11341         
11342         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
11343         
11344         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
11345         
11346         * usage.adb: Output information for -gnatGnn -gnatDnn
11347
11348 2009-04-07  Robert Dewar  <dewar@adacore.com>
11349
11350         * make.adb: Minor reformatting
11351
11352 2009-04-07  Robert Dewar  <dewar@adacore.com>
11353
11354         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
11355
11356 2009-04-07  Robert Dewar  <dewar@adacore.com>
11357
11358         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
11359
11360 2009-04-07  Robert Dewar  <dewar@adacore.com>
11361
11362         * checks.adb:
11363         Remove Assume_Valid parameter from In_Subrange_Of calls
11364         
11365         * sem_eval.adb:
11366         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11367         (Is_In_Range): Remove incorrect use of Assume_Valid
11368         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
11369         
11370         * sem_eval.ads:
11371         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11372         (Is_In_Range): Documentation cleanup
11373         (Is_Out_Of_Range): Documentation cleanup
11374
11375         * gnat_rm.texi:
11376         Add documentation for Assume_No_Invalid_Values pragma
11377
11378         * sem_ch12.adb: Minor reformatting
11379
11380         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
11381
11382         * sem_prag.adb: Improve error message.
11383
11384         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
11385         LF/CR no longer recognized as line terminator
11386
11387         * switch.ads: Minor documentation improvement
11388
11389         * vms_data.ads: Minor reformatting
11390
11391 2009-04-07  Robert Dewar  <dewar@adacore.com>
11392
11393         * checks.adb (Determine_Range): Add Assume_Valid parameter
11394         
11395         * checks.ads (Determine_Range): Add Assume_Valid parameter
11396         
11397         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
11398          Is_Null_Loop to suppress warnings in a loop body.
11399         
11400         * exp_ch4.adb:
11401         (Rewrite_Comparison): Major rewrite to accomodate invalid values
11402         
11403         * exp_ch5.adb:
11404         (Expand_N_Loop_Statement): Delete loop known not to execute
11405         
11406         * opt.ads:
11407         (Assume_No_Invalid_Values): Now set to False, and as documented, this
11408          fully enables the proper handling of invalid values.
11409         
11410         * sem_attr.adb:
11411         New calling sequence for Is_In_Range
11412         
11413         * sem_ch5.adb:
11414         (Analyze_Iteration_Scheme): Accomodate possible invalid values
11415          in determining if a loop range is null.
11416         
11417         * sem_eval.adb:
11418         (Is_In_Range): Add Assume_Valid parameter
11419         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11420         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
11421          also to do more accurate and complete range analysis, catching more
11422          cases.
11423         
11424         * sem_eval.ads:
11425         (Is_In_Range): Add Assume_Valid parameter
11426         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11427         
11428         * sem_util.adb:
11429         New calling sequence for Is_In_Range
11430         
11431         * sinfo.adb:
11432         (Suppress_Loop_Warnings): New flag
11433         
11434         * sinfo.ads:
11435         (Is_Null_Loop): Update documentation
11436         (Suppress_Loop_Warnings): New flag
11437         
11438         * gnat_ugn.texi: Document -gnatB switch
11439
11440 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11441
11442         * gnatvsn.ads: Bump version number.
11443
11444 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11445
11446         * exp_ch3.adb: Minor rewording (comments)
11447
11448 2009-04-07  Robert Dewar  <dewar@adacore.com>
11449
11450         * exp_disp.adb: Minor reformatting
11451
11452 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11453
11454         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
11455         underlying type.
11456         * gcc-interface/trans.c (lvalue_required_p): Likewise.
11457
11458 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11459
11460         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
11461         Do not convert the result.  Remove obsolete comment.
11462
11463 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11464
11465         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
11466         DECL_CONTEXT.
11467         (Subprogram_Body_to_gnu): Fix pasto.
11468
11469 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11470
11471         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
11472         (void_type_decl_node): Remove.
11473         (init_gigi_decls): Likewise.
11474         (gnat_install_builtins): Declare.
11475         (record_builtin_type): Likewise.
11476         (create_type_stub_decl): Likewise.
11477         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
11478         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
11479         artificial.
11480         <E_Array_Subtype>: Use the index types, not only their name, in the
11481         record giving the names of the bounds, if any.
11482         For a packed array type, make it artificial only if the base type
11483         was artificial as well.  Remove redundant statement.
11484         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
11485         dummy types.
11486         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
11487         (rest_of_type_decl_compilation_no_defer): Likewise.
11488         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
11489         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
11490         and use create_type_stub_decl to build it.
11491         (gnat_pushdecl): Rewrite condition.
11492         (gnat_install_builtins): Remove bogus declaration.
11493         (record_builtin_type): New function.
11494         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
11495         of types.
11496         (create_type_stub_decl): New function.
11497         (create_type_decl): Assert that the type is not dummy.  If the type
11498         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
11499         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
11500         (build_vms_descriptor): Likewise.
11501         (init_gigi_decls): Delete and move bulk of code to...
11502         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
11503         (emit_range_check): Add gnat_node parameter.
11504         (emit_index_check): Likewise.
11505         (emit_check): Likewise.
11506         (build_unary_op_trapv): Likewise.
11507         (build_binary_op_trapv): Likewise.
11508         (convert_with_check): Likewise.
11509         (Attribute_to_gnu): Adjust calls for above changes.
11510         (call_to_gnu): Likewise.
11511         (gnat_to_gnu): Likewise.
11512         (assoc_to_constructor): Likewise.
11513         (pos_to_constructor): Likewise.
11514         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
11515         (process_type): Do not create TYPE_DECL for dummy types.
11516
11517 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11518
11519         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
11520         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
11521         * gcc-interface/utils.c: Fix comments.
11522
11523 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11524
11525         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
11526         move around.
11527         (gnat_to_gnu_type): Move around.
11528         (get_unpadded_type): Likewise.
11529         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
11530         Tidy comments.
11531
11532 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11533
11534         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
11535         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
11536         (call_to_gnu): Invoke it instead of manually checking.
11537
11538 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
11539
11540         * gcc-interface/utils.c (finish_record_type): Force structural equality
11541         checks if the record type is discriminated.
11542
11543 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
11544
11545         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
11546         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
11547         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
11548         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
11549         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
11550         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
11551         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
11552
11553 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
11554
11555         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
11556         of TREE_CONSTANT_OVERFLOW.
11557
11558 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
11559
11560         PR rtl-optimization/323
11561         * gcc-interface/misc.c (gnat_post_options): Set
11562         flag_excess_precision_cmdline.  Give an error for
11563         -fexcess-precision=standard for processors where the option is
11564         significant.
11565
11566 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
11567
11568         PR c/39323
11569         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
11570         on bit_align.
11571
11572 2009-03-11  Olivier Hainque  <hainque@adacore.com>
11573
11574         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
11575         checks processing, remove unintended TREE_TYPE walk on index type.
11576
11577 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
11578
11579         PR ada/39264
11580         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
11581         call make_packable_type on fat pointer types.
11582         <E_Array_Subtype>: Likewise.
11583         <E_Record_Subtype>: Call make_packable_type on all record types
11584         except for fat pointer types.
11585         (make_packable_type): Likewise.
11586         (gnat_to_gnu_field): Likewise.
11587
11588 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
11589
11590         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
11591         EH_MECHANISM change made on 2007-12-06.
11592
11593 2009-02-26  Andreas Schwab  <schwab@suse.de>
11594
11595         PR ada/39172
11596         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
11597         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
11598         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
11599         (AWK): Substitute.
11600         (target_cpu_default): Substitute.
11601
11602 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
11603
11604         PR ada/39221
11605         * a-teioed.adb (Expand): Fix Result overflow.
11606
11607 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
11608
11609         * gcc-interface/Makefile.in: Fix multilib handling for
11610         sparc64-linux.
11611
11612 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11613
11614         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
11615
11616 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
11617
11618         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
11619
11620 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
11621
11622         * gcc-interface/deftarg.c: Remove.
11623
11624 2009-02-10  Olivier Hainque  <hainque@adacore.com>
11625             Eric Botcazou  <ebotcazou@adacore.com>
11626
11627         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
11628         (copy_alias_set): Rename into...
11629         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
11630         underlying array of unconstrained arrays for the new type as well.
11631         If the old and new alias sets don't conflict, make one a subset of
11632         the other as per the OP parameter.
11633         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
11634         <E_Record_Type>: Do not copy the alias set for derived types.
11635         For all types, make the alias set of derived types a superset of
11636         that of their parent type.
11637         (make_aligning_type): Adjust calls to copy_alias_set.
11638         (make_packable_type): Likewise.
11639         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
11640         Check for alias set conflict instead of strict equality to issue the
11641         warning.
11642
11643 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
11644
11645         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
11646         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
11647         (copy_alias_set): Assert that arrays have the same aliasing settings.
11648         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
11649
11650 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
11651
11652         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
11653         Set TYPE_NONALIASED_COMPONENT on the array type.
11654
11655 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
11656
11657         * gcc-interface/Makefile.in: Fix mipsel linux handling.
11658
11659 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
11660
11661         * gcc-interface/Makefile.in: Fix multilib handling for
11662         powerpc64-linux.
11663
11664 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
11665
11666         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
11667         only useless conversions around renamed objects.
11668
11669 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
11670
11671         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
11672         the _Tag field before any discriminants in the field list.
11673         (components_to_record): Remove obsolete comment.
11674
11675
11676 \f
11677 Copyright (C) 2009 Free Software Foundation, Inc.
11678
11679 Copying and distribution of this file, with or without modification,
11680 are permitted in any medium without royalty provided the copyright
11681 notice and this notice are preserved.