OSDN Git Service

46a198f367fa89b001f13322c83d9a52a0d534f0
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
2
3         * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
4         primitive operation, rather than source line of synchronized type, when
5         building the wrapper for a primitive operation that overrides an
6         operation inherited from a progenitor, to improve the error message on
7         duplicate declarations.
8
9         * sem_ch3.adb (Process_Full_View): Use new signature of
10         Build_Wrapper_Spec.
11
12 2009-04-29  Robert Dewar  <dewar@adacore.com>
13
14         * prj-nmsc.ads: Minor reformatting
15
16 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
17
18         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
19         expression on the existing parent If statement.
20
21 2009-04-29  Robert Dewar  <dewar@adacore.com>
22
23         * prj-proc.adb, prj.ads: Minor reformatting
24
25 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
26
27         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
28         existing parent If statement on the newly created one.
29
30 2009-04-29  Emmanuel Briot  <briot@adacore.com>
31
32         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
33         prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
34         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
35         (Set_In_Configuration, In_Configuration): Removed.
36         Replaced by an extra parameter Is_Config_File in several parameter to
37         avoid global variables to store the state of the parser.
38
39 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
40
41         * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
42         with_clauses generated for the same unit through rtsfind, and that
43         appear in the context of different units.
44
45         * rtsfind.adb: New attribute First_Implicit_With, component of the
46         Unit_Record that stores information about a unit loaded through rtsfind.
47
48 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
49
50         * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
51         (other conditions permitting), so that abstract stream subprograms will
52         be declared for them.
53
54 2009-04-29  Bob Duff  <duff@adacore.com>
55
56         * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
57
58         * g-expect.ads: Minor comment fixes.
59
60 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
61
62         * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
63         dispatching operation is a body without previous spec, update the list
64         of primitive operations to ensure that cross-reference information is
65         up-to-date.
66
67 2009-04-29  Albert Lee  <lee@adacore.com>
68
69         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
70         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
71         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
72         (GNAT.Sockets.Thin.C_Readv,
73         GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
74         (GNAT.Sockets.Thin.C_Recvmsg,
75         GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
76         sendmsg(2).  
77         (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
78         C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
79
80 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
81
82         * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
83         operation is a body without previous spec, update the list of
84         primitive operations to ensure that cross-reference information is
85         up-to-date.
86
87         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
88         new compilation unit node for the instance declaration, keep the
89         context items of the original unit on it, so that the context of the
90         instance body only holds the context inherited from the generic body.
91
92 2009-04-29  Bob Duff  <duff@adacore.com>
93
94         * sem_res.adb: Minor comment fix.
95
96 2009-04-29  Thomas Quinot  <quinot@adacore.com>
97
98         * sem_elim.adb: Minor reformatting
99
100 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
101
102         * exp_aggr.adb (Convert_To_Positional): if the current unit is a
103         predefined unit, allow arbitrary number of components in static
104         aggregate, to ensure that the same level of constant folding applies
105         for Ada 95 and Ada 05 versions of the file.
106
107 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
108
109         * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
110         information: no need for full scope check.
111         (Eliminate_Error): Do not emit error in a generic context.
112
113 2009-04-29  Ed Falis  <falis@adacore.com>
114
115         * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
116         VxWorks 653 POS does not support rmdir.
117
118 2009-04-29  Matteo Bordin  <bordin@adacore.com>
119
120         * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
121         results are printed.
122
123 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
124
125         * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
126         unused assignment.
127
128 2009-04-29  Thomas Quinot  <quinot@adacore.com>
129
130         * make.adb: Minor reformatting.
131         Minor code reorganization throughout.
132
133 2009-04-29  Matteo Bordin  <bordin@adacore.com>
134
135         * s-stausa.ads: Changed visibility of type Task_Result: moved to
136         public part to give application visibility over it.
137         This is for future improvement and to build a public API on top of it.
138         Changed record components name of type Task_Result to reflect the new
139         way of reporting. 
140
141         * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
142         reporting Stack usage.
143
144         * gnat_ugn.texi: Update doc of stack usage report.
145
146         * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
147
148         * Makefile.rtl: Add new run-time files.
149
150 2009-04-29  Pascal Obry  <obry@adacore.com>
151
152         * initialize.c: Do not expand quoted arguments.
153
154 2009-04-29  Emmanuel Briot  <briot@adacore.com>
155
156         * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
157
158         * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
159          Prj.Ultimate_Extending_Project_Of
160
161 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
162
163         * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
164         Amendment type, add the with_clause for Finalization.List_Controller
165         only if the current context is a package body.
166
167 2009-04-29  Thomas Quinot  <quinot@adacore.com>
168
169         * sem_ch12.adb: Minor reformatting
170
171         * sem_aggr.adb: Minor reformatting
172
173         * sem_ch6.adb, sem_cat.ads: Minor reformatting
174
175         * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
176
177 2009-04-29  Quentin Ochem  <ochem@adacore.com>
178
179         * prj.ads (Source_Id): Now general pointer type.
180
181 2009-04-29  Thomas Quinot  <quinot@adacore.com>
182
183         * exp_ch7.adb, rtsfind.adb: Minor reformatting
184
185         * sem_res.adb: Minor reformatting
186
187 2009-04-29  Thomas Quinot  <quinot@adacore.com>
188
189         * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
190         operands is static only if it is a predefined concatenation operator.
191
192         * sem_util.adb: Minor reformatting
193
194         * sem_ch12.adb (Save_References): When propagating semantic information
195         from generic copy back to generic template, for the case of an
196         identifier that has been rewritten to an explicit dereference whose
197         prefix is either an object name or a parameterless funcion call
198         denoting a global object or function, properly capture the denoted
199         global entity: perform the corresponding rewriting in the template,
200         and point the rewritten identifier to the correct global entity (not
201         to the associated identifier in the generic copy).
202
203 2009-04-29  Robert Dewar  <dewar@adacore.com>
204
205         * rtsfind.adb, prj-env.adb: Minor reformatting
206         Minor code reorganization
207
208 2009-04-29  Emmanuel Briot  <briot@adacore.com>
209
210         * make.adb: Fix comment
211
212         * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
213         is given as argument, as might happen in gnatmake.
214
215 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
216
217         * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
218         an abstract operation of a progenitor is not properly overridden by an
219         operation of a derived synchronized type.
220
221 2009-04-29  Robert Dewar  <dewar@adacore.com>
222
223         * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
224         prj-proc.adb: Minor reformatting
225         Minor code reorganization
226
227 2009-04-29  Bob Duff  <duff@adacore.com>
228
229         * exp_ch7.adb (Build_Final_List): For an access type that designates a
230         Taft Amendment type, if the access type needs finalization, make sure
231         the implicit with clause for List_Controller occurs on the package spec.
232
233         * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
234         with's created for the pseudo-children of Text_IO and friends. In
235         particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
236         Ada.Text_IO.Integer_IO both with-ing each other.
237
238         * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
239         oddball cases when pragma Extend_System is used.
240
241         * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
242         the case where a package spec instantiates a generic whose body with's
243         this package, so Walk_Library_Items won't complain about cyclic with's.
244
245 2009-04-29  Emmanuel Briot  <briot@adacore.com>
246
247         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
248         prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
249         mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
250         (Project_Id): now a real pointer to Project_Data, instead of an index
251         into the Projects_Table. This simplifies the API significantly, avoiding
252         extra lookups in this table and the need to pass the Project_Tree_Ref
253         parameter in several cases
254
255 2009-04-29  Nicolas Setton  <setton@adacore.com>
256
257         * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
258         darwin.
259
260 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
261
262         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
263         back kludge.
264
265 2009-04-24  Robert Dewar  <dewar@adacore.com>
266
267         * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
268         clean.adb: Minor reformatting.
269         Minor code reorganization and message improvement.
270
271 2009-04-24  Emmanuel Briot  <briot@adacore.com>
272
273         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
274         (Alternate_Languages): now implemented as a malloc-ed list rather
275         than through a table.
276
277 2009-04-24  Thomas Quinot  <quinot@adacore.com>
278
279         * sem_res.adb (Static_Concatenation): Simplify predicate to make it
280         accurately handle cases such as "lit" & "lit" and
281         "lit" & static_string_constant
282
283 2009-04-24  Emmanuel Briot  <briot@adacore.com>
284
285         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
286         prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
287         removed. Lists of projects are now implemented via standard malloc
288         rather than through the table.
289
290 2009-04-24  Thomas Quinot  <quinot@adacore.com>
291
292         * sem_ch12.adb: Minor reformatting
293
294         * g-trasym.adb: Minor reformatting
295
296         * exp_ch6.adb: Minor reformatting
297
298 2009-04-24  Robert Dewar  <dewar@adacore.com>
299
300         * layout.adb (Layout_Type): For packed array type, copy unset
301         size/alignment fields from the referenced Packed_Array_Type.
302
303 2009-04-24  Bob Duff  <duff@adacore.com>
304
305         * lib-load.adb (Make_Instance_Unit): Revert previous change, no
306         longer needed after sem_ch12 changes.
307
308         * sem.adb (Walk_Library_Items): Include with's in some debugging
309         printouts.
310
311 2009-04-24  Emmanuel Briot  <briot@adacore.com>
312
313         * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
314         only ever using the Project field.
315
316 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
317
318         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
319         Body_Required on the generated compilation node. The new node is linked
320         to its body, but both share the same file, so we do not set this flag
321         on the new unit so as not to create a spurious dependency on a
322         non-existent body in the ali file for the instance.
323
324 2009-04-24  Robert Dewar  <dewar@adacore.com>
325
326         * make.adb: Minor reformatting
327
328 2009-04-24  Emmanuel Briot  <briot@adacore.com>
329
330         * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
331         Add_Source): merge some code between those. In particular change where
332         file normalization is done to avoid a few extra calls to
333         Canonicalize_File_Name. This also removes the need for passing
334         Current_Dir in a number of subprograms.
335
336 2009-04-24  Bob Duff  <duff@adacore.com>
337
338         * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
339         False, assign the correct unit to the Cunit field of the new table
340         entry. We want the spec unit, not the body unit.
341
342         * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
343         interface for these.
344         (Maybe_Add_With): Check whether we're trying to a with on the current
345         unit, and avoid creating such directly self-referential with clauses.
346         (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
347         [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
348         and matches existing comments in the spec.
349
350         * sem.adb (Walk_Library_Items): Add various special cases to make the
351         assertions pass.
352
353         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
354         instead of Parent (N), for uniformity.
355
356 2009-04-24  Robert Dewar  <dewar@adacore.com>
357
358         * errout.ads: Minor reformatting
359
360 2009-04-24  Emmanuel Briot  <briot@adacore.com>
361
362         * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
363         behavior when the project includes sources from multiple languages
364
365 2009-04-24  Vincent Celier  <celier@adacore.com>
366
367         * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
368         is a language other than Ada declared.
369
370         * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
371         Imported_First set to True.
372
373 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
374
375         * sem_res.adb: additional optimization to inhibit creation of
376         redundant transient scopes.
377
378 2009-04-24  Bob Duff  <duff@adacore.com>
379
380         * rtsfind.ads: Minor comment fix
381
382 2009-04-24  Emmanuel Briot  <briot@adacore.com>
383
384         * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
385         Get_Path_Name_And_Record_Ada_Sources): merged, since these were
386         basically doing the same work (for explicit or implicit sources).
387         (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
388         role. Rewritten to share some code (testing that all explicit sources
389         have been found) between ada_only and multi_language modes.
390
391 2009-04-24  Jerome Lambourg  <lambourg@adacore.com>
392
393         * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
394         for CLI imported types.
395         (Analyze_Pragma): Allow CIL or Java imported functions returning
396         access-to-subprogram types.
397
398 2009-04-24  Emmanuel Briot  <briot@adacore.com>
399
400         * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
401         (Project_Data.Dir_Path): field removed, since it can be computed
402         directly from .Directory, and is needed only once when processing the
403         project is buildgpr.adb or make.adb
404
405 2009-04-24  Robert Dewar  <dewar@adacore.com>
406
407         * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
408         rtsfind.adb: Minor reformatting.
409         Minor code reorganization
410
411 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
412
413         * mlib-prj.adb: Use friendlier english identifier.
414
415         * gnatcmd.adb, make.adb: Use better english identifiers.
416
417 2009-04-24  Robert Dewar  <dewar@adacore.com>
418
419         * clean.adb: Minor reformatting
420
421 2009-04-24  Robert Dewar  <dewar@adacore.com>
422
423         * einfo.adb (OK_To_Rename): New flag
424
425         * einfo.ads (OK_To_Rename): New flag
426
427         * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
428         OK_To_Rename set.
429
430         * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
431
432         * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
433         OK_To_Rename.
434
435 2009-04-24  Emmanuel Briot  <briot@adacore.com>
436
437         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
438         clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
439         field removed. This is not a property of the
440         project, just a boolean used to traverse the project tree, and storing
441         it in the structure prevents doing multiple traversal in parallel.
442         (Project_Data.Checked): also removed, since it was playing the same role
443         as Seen when we had two nested loops, and this is no longer necessary
444         (For_All_Imported_Projects): removed, since in fact there was already
445         the equivalent in For_Every_Project_Imported. The latter was rewritten
446         to use a local hash table instead of Project_Data.Seen
447         Various loops were rewritten to use For_Every_Project_Imported, thus
448         removing the need for Project_Data.Seen. This avoids a lot of code
449         duplication
450
451 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
452
453         * sem_res.adb (Resolve_Actuals): Do not create blocks around code
454         statements, even though the actual of the call is a concatenation,
455         because the argument is static, and we want to preserve warning
456         messages  about sequences of code statements that are not marked
457         volatile.
458
459         * sem_warn.adb: remove obsolete comment about warning being obsolete
460
461         * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
462         requeued and the delay has expired while within the accept statement
463         that executes the requeue, do not perform the requeue and indicate that
464         the timed call has been aborted.
465
466 2009-04-24  Emmanuel Briot  <briot@adacore.com>
467
468         * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
469         (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
470         (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
471         since they can be computed from the above.
472
473 2009-04-24  Vincent Celier  <celier@adacore.com>
474
475         * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
476
477         * prj-env.adb: Move all global variables to the private part of the
478         project tree data.
479         Access these new components instead of the global variables no longer
480         in existence.
481         (Add_To_Path): New Project_Tree_Ref parameter, to access the new
482         components that were previously global variables.
483
484         * prj-env.ads (Initialize): New Project_Tree_Ref parameter
485         (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
486         parameter.
487
488         * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
489         be able to call Set_Mapping_File_Initial_State_To_Empty with it.
490
491         * prj.adb (Initialize): Do not call Prj.Env.Initialize
492         (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
493         components in the private part of the project tree data.
494
495         * prj.ads (Private_Project_Tree_Data): new components moved from
496         Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
497         Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
498         Ada_Prj_Objects_File_Set, Fill_Mapping_File.
499
500 2009-04-24  Vincent Celier  <celier@adacore.com>
501
502         * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
503
504         * prj-nmsc.adb (Check_Library): No error for imports by shared library
505         projects, when --unchecked-shared-lib-imports is used.
506
507 2009-04-24  Robert Dewar  <dewar@adacore.com>
508
509         * sem_ch7.adb: Minor reformatting
510
511 2009-04-24  Tristan Gingold  <gingold@adacore.com>
512
513         * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
514         mach thread id.
515
516 2009-04-24  Emmanuel Briot  <briot@adacore.com>
517
518         * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
519         Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
520         (For_All_Imported_Projects): new procedure
521         (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
522         above rather than duplicating code.
523
524 2009-04-24  Emmanuel Briot  <briot@adacore.com>
525
526         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
527         (Source_Id, Source_Data): use a real list to store sources rather than
528         using an external table to store the elements. This makes code more
529         efficient and more readable.
530
531 2009-04-24  Emmanuel Briot  <briot@adacore.com>
532
533         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
534         (Source_Iterator): new type.
535         This removes the need for having the sources on three different
536         lists at the project tree, project and language level. They are now
537         on a single list.
538
539 2009-04-24  Emmanuel Briot  <briot@adacore.com>
540
541         * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
542
543 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
544
545         * sem_warn.adb: Add comment on obsolete warning
546
547 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
548
549         * s-tassta.adb (Create_Task): Fix violation of locking rule.
550
551 2009-04-24  Emmanuel Briot  <briot@adacore.com>
552
553         * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
554         to Language_Ptr to better reflect its new implementation.
555         (Project_Data.First_Languages_Processing): renamed to Languages now
556         that the field with that name is no longer used
557         (Project_Data.Languages): removed, no longer used, and duplicates
558         information already available through First_Language_Processing.
559         (Prj.Language_Index): now an actual pointer, instead of an index into
560         a table. This makes the list somewhat more obvious, but more importantly
561         removes the need to pass a pointer to the project_tree_data in a few
562         places, and makes accessing the attributes of a languages more
563         efficient.
564
565 2009-04-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
566             Thomas Quinot  <quinot@adacore.com>
567
568         * fe.h (Set_Identifier_Casing): Add const to second parameter.
569         * gcc-interface/misc.c (internal_error_function): Make copy of return
570         from pp_formatted_text before assigning BUFFER to it.
571         (gnat_init): Likewise for main_input_filename and gnat_argv.
572         (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
573
574 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
575
576         * ttypes.ads (Target_Double_Float_Alignment): New variable.
577         (Target_Double_Scalar_Alignment): Likewise.
578         * get_targ.ads (Get_Strict_Alignment): Adjust external name.
579         (Get_Double_Float_Alignment): New imported function.
580         (Get_Double_Scalar_Alignment): Likewise.
581         * layout.adb (Set_Elem_Alignment): Take into account specific caps for
582         the alignment of "double" floating-point types and "double" or larger
583         scalar types, as parameterized by Target_Double_Float_Alignment and
584         Target_Double_Scalar_Alignment respectively.
585         * gcc-interface/gigi.h (double_float_alignment): Declare.
586         (double_scalar_alignment): Likewise.
587         (is_double_float_or_array): Likewise.
588         (is_double_scalar_or_array): Likewise.
589         (get_target_double_float_alignment): Likewise.
590         (get_target_double_scalar_alignment): Likewise.
591         * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
592         (get_target_strict_alignment): ...this.
593         (get_target_double_float_alignment): New function.
594         (get_target_double_scalar_alignment): Likewise.
595         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
596         Test the presence of an alignment clause for under-aligned integer
597         types.  Take into account specific caps for the alignment of "double"
598         floating-point types and "double" or larger scalar types, as
599         parameterized by Target_Double_Float_Alignment and
600         Target_Double_Scalar_Alignment respectively.
601         (validate_alignment): Likewise.
602         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
603         (gigi): Initialize double_float_alignment and double_scalar_alignment.
604         * gcc-interface/utils.c (double_float_alignment): New global variable.
605         (double_scalar_alignment): Likewise.
606         (is_double_float_or_array): New predicate.
607         (is_double_scalar_or_array): Likewise.
608
609 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
610
611         * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
612         the conditional expression only if it is common to both arms.
613
614 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
615
616         * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
617         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
618         arguments to build_allocator.
619         * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
620         Remove code handling special allocator and assert its uselessness.
621
622 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
623
624         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
625         alignment is specified, do not promote that of the component type
626         beyond it.
627         <E_Array_Subtype>: Likewise.
628
629 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
630
631         * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
632         * sinfo.ads (Object Declaration): Likewise.
633         (Assignment Statement): Likewise.
634         * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
635         Do not force Is_True_Constant to false on the temporary.
636         (Freeze_Entity): Do not force Is_True_Constant to false on names on
637         the RHS of object declarations.
638         * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
639         New case.  Return 1 if the object is atomic.
640         <N_Assignment_Statement>: Likewise.
641
642 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
643
644         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
645         For packed array types, make the original array type a parallel type
646         for the modular type and its JM wrapper if the type is bit-packed.
647         <E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
648         record type for packed array types.  Remove kludge.
649
650 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
651
652         * gcc-interface/gigi.h (create_index_type): Adjust head comment.
653         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
654         Use front-end predicates to compute signedness and precision.
655         <E_String_Literal_Subtype>: Fold range type.
656         Make sure to set longest_float_type_node to a scalar type.
657         (elaborate_entity): Use consistent Constraint_Error spelling.
658         (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
659         * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
660         output for the modulus, if any.
661         <ENUMERAL_TYPE>: Likewise for the RM size.
662         * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
663         spelling.
664         * gcc-interface/utils.c (finish_record_type): Really test the alignment
665         of BLKmode bit-fields to compute their addressability.
666         (create_index_type): Adjust comments.
667         (create_param_decl): Create the biased subtype manually.
668         * gcc-interface/utils2.c (build_component_ref): Use consistent
669         Constraint_Error spelling.
670
671 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
672
673         * gcc-interface/cuintp.c: Clean up include directives.
674         * gcc-interface/targtyps.c: Likewise.
675         * gcc-interface/decl.c: Likewise.
676         * gcc-interface/misc.c: Likewise.
677         * gcc-interface/trans.c: Likewise.
678         * gcc-interface/utils.c: Likewise.
679         * gcc-interface/utils2.c: Likewise.
680         * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
681
682 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
683
684         * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
685         (SET_TYPE_LANG_SPECIFIC): Likewise.  Fix formatting.
686         (SET_DECL_LANG_SPECIFIC): Likewise.
687         Reorder macros.
688         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
689         Update comment about use of build_range_type.
690         <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
691         <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
692         check for other cases of overloading.
693         * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
694         * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
695         Use size_int in lieu of build_int_cst.
696         (build_call_alloc_dealloc): Use build_index_2_type in lieu of
697         build_range_type.
698
699 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
700
701         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
702         type is an enumeral or a boolean type, change it to an integer type
703         with the same mode and signedness.
704
705 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
706
707         * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
708         for an external constant whose initializer is not absolute.
709
710 2009-04-22  Taras Glek  <tglek@mozilla.com>
711
712         * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
713         * gcc-interface/trans.c: Likewise.
714         * gcc-interface/utils.c: Likewise.
715
716 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
717
718         * sem_res.adb: Create block around procedure call when actual is a
719         concatenation.
720
721 2009-04-22  Thomas Quinot  <quinot@adacore.com>
722
723         * s-soflin.ads: Fix typos
724
725 2009-04-22  Vincent Celier  <celier@adacore.com>
726
727         * prj-env.adb: Minor comment change
728
729         * prj-nmsc.adb (Check_Common): Add guard to avoid calling
730         Get_Name_String with No_File.
731
732         * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
733         cannot be created even when not in verbose mode.
734
735 2009-04-22  Emmanuel Briot  <briot@adacore.com>
736
737         * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
738         prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
739         Multi_Language modes, to avoid code duplication.
740         (Project_Data.Include_Language): Removed.
741
742 2009-04-22  Vincent Celier  <celier@adacore.com>
743
744         * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
745         the temporary file cannot be created, indicating the directory when the
746         creation was attempted.
747
748 2009-04-22  Emmanuel Briot  <briot@adacore.com>
749
750         * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
751         the language names, not their indices.
752
753 2009-04-22  Emmanuel Briot  <briot@adacore.com>
754
755         * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
756         (Source_Data.Language_Name): Field removed.
757
758 2009-04-22  Emmanuel Briot  <briot@adacore.com>
759
760         * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
761         Two fields removed.
762
763 2009-04-22  Emmanuel Briot  <briot@adacore.com>
764
765         * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
766         separate_suffix to the same value as the body_suffix.
767
768 2009-04-22  Robert Dewar  <dewar@adacore.com>
769
770         * prj.adb: Minor code reorganization
771         Code clean up.
772
773         * prj-proc.adb: Minor code reorganization, clean up.
774
775         * prj-nmsc.adb: Minor reformatting
776         Minor code reorganization
777
778         * gnat_ugn.texi: Add to doc on strict aliasing
779
780 2009-04-22  Pascal Obry  <obry@adacore.com>
781
782         * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
783         SpinCount.
784
785         * s-tasini.adb: Minor reformatting.
786
787         * s-tassta.adb: Minor reformatting.
788
789 2009-04-22  Emmanuel Briot  <briot@adacore.com>
790
791         * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
792         smaller subprograms.
793         Renamed to Check_File_Naming_Schemes to avoid confusion with the
794         other Check_Naming_Schemes functions that plays a totally different
795         role.
796         (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
797         extracted from the above. These were partially rewritten to avoid
798         unnecessary code and temporary variables.
799         (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
800         and Get_Unit (which for now still exist since they contain mode-specific
801         code)
802
803 2009-04-22  Emmanuel Briot  <briot@adacore.com>
804
805         * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
806         Remove duplicated code.
807         (Canonical_Case_File_Name): new subprogram
808         (Check_And_Normalize_Unit_Names): new subprogram
809         (Write_Attr): new subprogram
810         Better sharing of code
811         (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
812         split Check_Naming and help find duplicated code
813         (Check_Common): new subprogram, sharing code between ada_only and
814         multi_language mode.
815         (Naming_Data.Dot_Repl_Loc): field removed
816
817 2009-04-22  Emmanuel Briot  <briot@adacore.com>
818
819         * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
820         Minor refactoring to reduce the size of
821         Process_Sources_In_Multi_Language_Mode.
822         Avoid extra copied of Source_Data, which we found in the past could be
823         quite slow.
824         (Mark_Excluded_Sources): new subprogram.
825         (Remove_Locally_Removed_Files_From_Units): merged into the above
826         Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
827         and allow better sharing of code between multi_lang and ada_only modes
828         (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
829
830 2009-04-22  Emmanuel Briot  <briot@adacore.com>
831
832         * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
833         Removed, since unused.
834
835 2009-04-22  Vincent Celier  <celier@adacore.com>
836
837         * prj-attr.adb: New single project level attribute
838         Separate_Run_Path_Options.
839
840         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
841         attribute Seperate_Run_Path_Options.
842
843         * prj.ads: (Project_Configuration): New Boolean component
844         Separate_Run_Path_Options, defaulted to False.
845
846         * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
847
848 2009-04-22  Robert Dewar  <dewar@adacore.com>
849
850         * sem_type.adb: Minor reformatting
851
852         * mlib.adb: Minor reformatting
853
854         * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
855         syntax error.
856
857 2009-04-22  Nicolas Setton  <setton@adacore.com>
858
859         * link.c: Add flag __gnat_separate_run_path_options.
860
861         * mlib.adb (Separate_Run_Path_Options): New subprogram.
862
863         * mlib.ads (Separate_Run_Path_Options): Declare.
864
865         * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
866         switch per directory, rather than one "rpath" switch listing all
867         directories.
868
869         * gnatlink.adb (Process_Binder_File): Likewise.
870
871         * make.adb (Gnatmake): Likewise.
872
873 2009-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
874
875         * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
876         Add a call to Move_Final_List when the target of the assignment is a
877         return object that needs finalization and the expression is a
878         controlled build-in-place function.
879
880 2009-04-22  Vincent Celier  <celier@adacore.com>
881
882         * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
883         Including_Libraries set to True.
884
885 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
886
887         * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
888         create a unit table entry for the subprogram declaration created for a
889         child suprogram body that has no separate specification.
890
891         * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
892         subprogram body, call Make_Child_Decl_Unit.
893
894         * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
895         table can only be the created specification of a child subprogram body
896         that is the main unit, which has not been entered in the table yet.
897
898         * errout.adb  (Output_Messages): Ignore created specification of a
899         child subprogram body to prevent repeated listing of error messages.
900
901         * gnat1drv.adb (gnat1drv): The generated specification for a child
902         subprogram body does not generate code.
903
904 2009-04-22  Arnaud Charlet  <charlet@adacore.com>
905
906         * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
907         since this unit is now part of bootstrap units, so must use Ada 95
908         syntax only.
909
910 2009-04-22  Thomas Quinot  <quinot@adacore.com>
911
912         * a-tasatt.adb: Minor reformatting
913
914 2009-04-22  Bob Duff  <duff@adacore.com>
915
916         * s-stalib.ads: Remove "with System;" since we're inside System, so
917         it's unnecessary.
918
919 2009-04-22  Vincent Celier  <celier@adacore.com>
920
921         * prj-nmsc.adb (Add_Source): Always put the dependency file name in
922         the source record, as there may be a dependency file even if no object
923         file is created.
924
925 2009-04-22  Robert Dewar  <dewar@adacore.com>
926
927         * lib-load.adb: Minor reformatting
928
929         * lib-load.ads: Minor reformatting
930
931         * sinfo.ads: Minor reformatting
932
933 2009-04-22  Bob Duff  <duff@adacore.com>
934
935         * exp_pakd.adb: Minor comment fixes.
936
937         * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
938         sem_ch12.adb: Change the meaning of the Library_Unit attribute to
939         include units containing instantiations, as well as units that are
940         generic instantiations.
941
942         * sem.adb: Include dependents and corresponding specs/bodies in the
943         unit walk.
944
945         * gcc-interface/Make-lang.in:
946         sem now depends on s-bitops, because of the packed array of Booleans.
947
948 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
949
950         * gcc-interface/ada-tree.def: Fix formatting nits.
951         (REGION_STMT): Delete.
952         (HANDLER_STMT): Likewise.
953         * gcc-interface/ada-tree.h: Fix formatting nits.
954         (IS_STMT): Delete.
955         (REGION_STMT_BODY): Likewise.
956         (REGION_STMT_HANDLE): Likewise.
957         (REGION_STMT_BLOCK): Likewise.
958         (HANDLER_STMT_ARG): Likewise.
959         (HANDLER_STMT_LIST): Likewise.
960         (HANDLER_STMT_BLOCK): Likewise.
961         * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
962         (fp_size_to_prec): Likewise.
963         (largest_move_alignment): Delete.
964         (gnat_compute_largest_alignment): Likewise.
965         Fix minor nits.
966         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
967         Remove redundant code.
968         <E_Array_Type>: Remove redundant assert.
969         <E_Array_Subtype>: Exit early from index computation in pathological
970         cases.
971         Rewrite conditional assignment.
972         (make_type_from_size): Likewise.
973         * gcc-interface/misc.c (largest_move_alignment): Delete.
974         (gnat_finish_incomplete_decl): Likewise.
975         (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
976         (asm_out_file): Likewise
977         (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
978         (gnat_dwarf_name): Move around.
979         * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
980         (gigi): Remove call to gnat_compute_largest_alignment.
981         * utils.c (create_field_decl): Rewrite conditional assignment.
982         Fix minor nits.
983
984 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
985
986         * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
987         on entry.  Defer common processing for types.  Reorder and clean up.
988         Compute the equivalent GNAT node and the default size for types only.
989         <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
990         <E_Access_Type>: For an unconstrained designated type, do not pretend
991         that a dummy type is always made.
992         <all> Fix nits in comments.
993         (validate_size): Fix formatting nits and comments.
994         (set_rm_size): Likewise.
995         * gcc-interface/utils.c (create_param_decl): Replace bogus argument
996         passed to TARGET_PROMOTE_PROTOTYPES hook.
997
998 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
999
1000         * fe.h (Get_External_Name): Declare.
1001         * gcc-interface/gigi.h (concat_id_with_name): Rename to...
1002         (concat_name): ...this.
1003         * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
1004         gnu_entity_name and adjust for above renaming.
1005         <E_Access_Type>: Use create_concat_name to get the name of the various
1006         types associated with unconstrained array types.
1007         (make_aligning_type): Adjust for above renaming.
1008         (maybe_pad_type): Likewise.
1009         (components_to_record): Likewise.  Use get_identifier_with_length for
1010         the encoding of the variant.
1011         (get_entity_name): Use get_identifier_with_length.
1012         (create_concat_name): Likewise.  Use Get_External_Name if no suffix.
1013         Do not fiddle with Name_Buffer.
1014         (concat_id_with_name): Rename to...
1015         (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
1016         with Name_Buffer.
1017         * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
1018         above renaming.
1019
1020 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
1021
1022         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
1023         license notices.
1024
1025 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
1026
1027         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
1028
1029 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
1030
1031         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
1032         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
1033         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
1034         Remove useless support code for packed array types and assert its
1035         uselessness.
1036         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
1037         adjust for TYPE_RM_SIZE change.
1038         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
1039         of Associated_Node_For_Itype accessor for packed array types.
1040         (make_packable_type): Likewise.
1041         (maybe_pad_type): Likewise.
1042         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
1043         TYPE_RM_SIZE change.
1044         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
1045         (rm_size): Fix nits in comments.  Rework conditional statements.
1046         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
1047         change.
1048         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
1049         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
1050         appropriate function to initialize the size_type_node.  Adjust for
1051         TYPE_RM_SIZE change.
1052
1053 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
1054
1055         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
1056         for imported subprograms.
1057
1058 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
1059
1060         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
1061         constant objects covered by 13.3(19) volatile.
1062
1063 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
1064
1065         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
1066         of dummy fat pointer types to the debug back-end.
1067
1068 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1069
1070         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
1071         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
1072         before wrapping it up in the record type.  Do not overwrite the
1073         Ada size of the record type with the Esize.
1074
1075 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1076
1077         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
1078         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
1079         if the conversion is on the LHS of an assignment and a no-op.
1080         <all> Do not convert the result to the result type if the Parent
1081         node is such a conversion.
1082
1083 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1084
1085         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
1086         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
1087         of types with unknown discriminants.
1088         (substitute_in_type): Rewrite and restrict to formal substitutions.
1089         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
1090         (update_pointer_to): Update comment.
1091
1092 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1093
1094         * sem_ch8.adb (Use_One_Package): In an instance, if two
1095         potentially_use_visible and non-overloadable homonyms are available
1096         from  the actuals of distinct formal packages, retain the current one,
1097         which was visible in the generic, to prevent spurious visibility
1098         errors.
1099         (End_Use_Package): Restore use_visibility when needed.
1100
1101 2009-04-20  Sergey Rybin  <rybin@adacore.com>
1102
1103         * gnat_ugn.texi, vms_data.ads: Update doc.
1104
1105 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
1106
1107         * gcc-interface/Make-lang.in: Update dependencies
1108
1109         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
1110         Windows.
1111
1112 2009-04-20  Robert Dewar  <dewar@adacore.com>
1113
1114         * checks.ads: Fix documentation of range check handling
1115
1116 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1117
1118         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
1119         a redundant use_type clause.
1120
1121 2009-04-20  Robert Dewar  <dewar@adacore.com>
1122
1123         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
1124         this attribute can be evaluated at compile time.
1125         (Eval_Attribute, case Range_Length): Same improvement
1126
1127         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
1128
1129 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1130
1131         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
1132         for better handling of null procedures.
1133         (Check_Overriding_Indicator): Do not emit a warning on a missing
1134         overriding indicator on an operator when the type of which the operator
1135         is a primitive is private.
1136
1137 2009-04-20  Bob Duff  <duff@adacore.com>
1138
1139         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
1140         debugging output.
1141
1142 2009-04-20  Robert Dewar  <dewar@adacore.com>
1143
1144         * sem_attr.adb: Minor reformatting
1145
1146         * gnatcmd.adb: Minor reformatting
1147
1148 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1149
1150         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
1151         overloaded and one interpretation matches the context, label the
1152         operand with the type of first formal.
1153
1154 2009-04-20  Bob Duff  <duff@adacore.com>
1155
1156         * debug.ads: Minor comment fix.
1157
1158         * debug.adb: Minor comment fixes.
1159
1160 2009-04-20  Javier Miranda  <miranda@adacore.com>
1161
1162         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
1163
1164         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
1165
1166         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
1167         is expanded into a call to Raise_Exception, avoid passing the
1168         exception-name'identity in runtimes in which this argument
1169         is not used.
1170
1171 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
1172
1173         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
1174         generated bindings for cil.
1175
1176 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1177
1178         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
1179         discriminants, collect components from the Underlying_Record_View,
1180         which will be used in the expansion of the aggregate into assignments.
1181
1182         * sem_ch3.adb: Do not label derived type with unknown discriminants as
1183         having a private declaration.
1184
1185 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1186
1187         * exp_util.adb (Expand_Subtype_From_Expr): use the
1188         underlying_record_view when available, to create the proper constrained
1189         subtype for an object of a derived type with unknown discriminants.
1190
1191 2009-04-20  Javier Miranda  <miranda@adacore.com>
1192
1193         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
1194         formals that have pragma unreferenced.
1195
1196 2009-04-20  Pascal Obry  <obry@adacore.com>
1197
1198         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
1199         Remove all calls to To_Lower_If_Case_Insensitive to preserve
1200         the pathname original casing.
1201
1202 2009-04-20  Robert Dewar  <dewar@adacore.com>
1203
1204         * g-trasym.adb: Minor reformatting
1205
1206         * s-os_lib.adb: Minor reformatting
1207
1208         * sem.adb: Minor reformatting
1209         Minor code reorganization
1210
1211         * sem_ch3.adb: Minor reformatting
1212
1213         * sem_ch4.adb: Minor reformatting
1214
1215         * sem_ch8.adb: Minor reformatting
1216
1217         * sem_type.adb: Minor reformatting
1218
1219 2009-04-20  Javier Miranda  <miranda@adacore.com>
1220
1221         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
1222         generated by derivations of tagged types use the aliased subprogram a
1223         reference to locate their controlling type.
1224
1225 2009-04-20  Tristan Gingold  <gingold@adacore.com>
1226
1227         * g-trasym.adb: Set size of result buffer before calling
1228         convert_address.
1229
1230 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1231
1232         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
1233         to a function returning an array can be interpreted as a call with
1234         defaulted parameters whose result is indexed, take into account the
1235         types of all the indices of the array result type.
1236
1237 2009-04-20  Pascal Obry  <obry@adacore.com>
1238
1239         * a-direct.adb, s-os_lib.adb: Minor reformatting.
1240
1241 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1242
1243         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
1244         null exclusion qualifiers for object renaming declarations.
1245
1246 2009-04-20  Nicolas Roche  <roche@adacore.com>
1247
1248         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
1249         unsigned long long. So compare local_time and utc_time before computing
1250         the difference.
1251
1252 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1253
1254         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
1255         of the Underlying_Record_View before that of the derived type.
1256
1257         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
1258         with unknown discriminants with regard to the parent subtype.
1259
1260 2009-04-20  Bob Duff  <duff@adacore.com>
1261
1262         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
1263         that are not included. This is necessary if the main unit is a generic
1264         instantiation.
1265
1266         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
1267         because it doesn't work if -gnatn is used.
1268
1269 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1270
1271         * rtsfind.adb (RTE, RTE_Record_Component): In
1272         Configurable_Run_Time_Mode, do not enable front-end inlining.
1273
1274 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1275
1276         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
1277         System.Address_To_Access_Conversions.
1278
1279 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1280
1281         * sem.adb: Guard against ill-formed subunits.
1282
1283 2009-04-20  Bob Duff  <duff@adacore.com>
1284
1285         * output.adb (Flush_Buffer): Do not indent blank lines.
1286         (Ignore_Output): New procedure for output suppression.
1287
1288 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
1289
1290         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
1291         when it is positive.  This avoids a potential constraint error raised
1292         by the conversion to Natural.
1293
1294 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
1295
1296         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
1297         involves a target that has a specified address, don't set Forward_OK
1298         and Backward_OK to False if the rhs is an aggregate, since overlap
1299         can't occur.
1300
1301 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1302
1303         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
1304         in an object renaming declaration when the expected type is an
1305         anonymous access type.
1306
1307         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
1308         ambiguity when one interpretation is an anonymous access type and the
1309         other is a named access type, and the context itself is anonymous
1310
1311 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1312
1313         * einfo.ads: Minor comment rewording
1314
1315         * sem_aggr.adb: Minor comment rewording
1316
1317         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
1318
1319 2009-04-20  Pascal Obry  <obry@adacore.com>
1320
1321         * adaint.c (__gnat_is_readable_file): Check for file existence
1322         when not using ACL (always the case on remote drives).
1323
1324 2009-04-20  Robert Dewar  <dewar@adacore.com>
1325
1326         * sinfo.ads: Minor comment fixes
1327
1328         * exp_disp.adb: Minor reformatting
1329
1330         * gnat1drv.adb: Minor reformatting
1331
1332         * output.adb: Minor reformatting
1333
1334         * s-vxwext-kernel.ads: Minor reformatting
1335
1336         * sem.ads: Minor reformatting
1337
1338         * sem.adb: Minor reformatting
1339
1340         * sem_elim.adb: Minor reformatting
1341
1342         * uname.ads: Minor reformatting
1343
1344 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1345
1346         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
1347         a small dope of 4 words to the adjustment to the stack pointer.
1348
1349 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1350
1351         * xoscons.adb: generate C header s-oscons.h in
1352         addition to s-oscons.ads.
1353
1354         * socket.c: On VMS, use s-oscons.h.
1355
1356         * sem_ch3.adb: Minor reformatting
1357
1358         * exp_ch9.adb: Minor reformatting
1359
1360 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1361
1362         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
1363         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
1364         (call_to_gnu): Likewise.
1365
1366 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1367
1368         * gcc-interface/trans.c (gigi): Declare the name of the compilation
1369         unit as the first global name at the very beginning.
1370
1371 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1372
1373         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
1374         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
1375         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
1376         since HP-UX supports neither inet_aton nor inet_pton (altough the
1377         latter is part of the Single UNIX Specification!).
1378         So reorganize code, and share C implementation based on inet_addr(3)
1379         with VMS (instead of having a VMS specific Ada implementation in
1380         g-socthi-vms.adb).
1381
1382 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
1383
1384         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
1385         to return the object file name saved by Set_Object_Output_File_Name.
1386
1387 2009-04-20  Emmanuel Briot  <briot@adacore.com>
1388
1389         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
1390         for the standard command line, when argc has been modified since the
1391         start of the application.
1392
1393 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1394
1395         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
1396         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
1397
1398 2009-04-20  Bob Duff  <duff@adacore.com>
1399
1400         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
1401         pragma Debug.
1402
1403 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1404
1405         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
1406         subprogram as Eliminated when source operation is.
1407         (Expand_N_Protected_Type_Declaration): Generate protected and
1408         unprotected specs for the internal operations, even if the source
1409         operation is eliminated.
1410
1411 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
1412
1413         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
1414         Predefined_Primitive_Bodies): Do not create the declarations and bodies
1415         of the primitive subprograms associated with dispatching select
1416         statements when the runtime is in configurable mode.
1417
1418 2009-04-20  Ed Falis  <falis@adacore.com>
1419
1420         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
1421
1422 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1423
1424         * s-oscons-tmplt.c: Add support for generating a dummy version of
1425         s-oscons.ads providing all possible constants.
1426
1427         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
1428
1429         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
1430         ANSI version (not the UNICODE version) of WSAStringToAddress.
1431
1432 2009-04-20  Pascal Obry  <obry@adacore.com>
1433
1434         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
1435         allocated for the security descriptor and make sure all
1436         handles are closed before leaving this procedure.
1437
1438 2009-04-20  Javier Miranda  <miranda@adacore.com>
1439
1440         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
1441         (Set_Is_Underlying_Record_View): New subprogram
1442
1443         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
1444         private types with unknown discriminants use the underlying record view
1445         if available.
1446
1447         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
1448         underlying record view in the full view of private types whose parent
1449         has unknown discriminants.
1450         (Build_Derived_Record_Type): Avoid generating the class-wide entity
1451         associated with an underlying record view.
1452         (Derived_Type_Declaration): Avoid deriving parent primitives in
1453         underlying record views.
1454
1455         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
1456         records with unknown discriminants.
1457
1458         * sem_type.adb (Covers): Handle underlying record views.
1459         (Is_Ancestor): Add support for underlying record views.
1460
1461         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
1462         dispatching call if the type of the target object is tagged and has
1463         unknown discriminants.
1464
1465         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
1466         unknown discriminants.
1467
1468         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
1469         tables for internally built underlying record views.
1470
1471         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
1472         empty list of component associations.
1473
1474 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1475
1476         * sem_ch10.adb: Minor reformatting
1477
1478         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
1479         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
1480         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
1481         standard inet_pton API (and emulate it on platforms that do not
1482         support it).
1483         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
1484         DECC$INET_ADDR, imported in Ada.
1485         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
1486         implementation provided by GNAT runtime.
1487         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
1488         Windows.
1489
1490 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1491
1492         * gnat_ugn.texi: Add documentation for -fno-ivopts.
1493
1494 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1495
1496         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
1497         with_clause if it is the main unit.
1498
1499 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1500
1501         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
1502         (no behaviour change): Use Append instead of Increment_Last followed
1503         by assignment.
1504
1505 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
1506
1507         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
1508         declarations of all primitives associated with dispatching asynchronous,
1509         conditional and timed selects when dispaching calls are forbidden and
1510         select statements are not allowed (such as in Ravenscar).
1511         (Predefined_Primitive_Bodies): Ditto for bodies.
1512
1513         * exp_disp.ad (Make_DT): Do not create and populate the
1514         Select_Specific_Data of the dispatch table when dispatching calls are
1515         forbidden and select statements are not allowed (such as in Ravenscar).
1516
1517 2009-04-20  Robert Dewar  <dewar@adacore.com>
1518
1519         * a-tifiio.adb: Minor reformatting
1520
1521 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1522
1523         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
1524         other C library functions, report *failure* with a zero status, and
1525         success with a non-zero status.
1526
1527 2009-04-20  Bob Duff  <duff@adacore.com>
1528
1529         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
1530         (Semantics): After analyzing each unit, Append it to the
1531         Comp_Unit_List, if appropriate.
1532
1533         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
1534         purposes.
1535         (Gnat1drv): Correct comment regarding Back_End_Mode.
1536
1537 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1538
1539         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
1540
1541 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1542
1543         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
1544         output.adb, output.ads, s-taprop-hpux-dce.adb,
1545         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
1546         reformatting.
1547
1548 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1549
1550         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
1551         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
1552         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
1553         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
1554         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
1555         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
1556
1557         * debug.adb: Fix typo
1558
1559         * gnat_rm.texi: Minor doc fix.
1560
1561         * sem_ch7.adb, freeze.adb: Minor reformatting
1562
1563 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1564
1565         * g-socket.ads: Add new constants:
1566           Loopback_Inet_Addr
1567           Unspecified_Group_Inet_Addr
1568           All_Hosts_Group_Inet_Addr
1569           All_Routers_Group_Inet_Addr
1570
1571         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
1572         ERANGE (Result too large).
1573         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
1574         propagation of errno to caller.
1575
1576 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
1577
1578         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
1579         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
1580         Leap_Second_Times.
1581
1582 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
1583
1584         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
1585         checking for references to eliminated subprograms that should be
1586         flagged.
1587         (Eliminate_Error_Message): Update comment to say "references" rather
1588         than "calls" (since attribute cases are handled here as well).
1589
1590         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
1591         checking for references to eliminated subprograms that should be
1592         flagged.  Add with and use of Sem and Sem_Util.
1593
1594         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
1595         Add with and use of Sem_Elim.
1596
1597         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
1598         applied to eliminated subprograms.
1599         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
1600         eliminated subprograms.
1601         Add with and use of Sem_Elim.
1602
1603         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
1604         to eliminated subprograms, now handled during Resolve_Call.
1605         Remove with and use of Sem_Elim.
1606
1607         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
1608         testing Is_Eliminated, for proper handling of primitive derived from
1609         eliminated subprograms.
1610
1611 2009-04-20  Vincent Celier  <celier@adacore.com>
1612
1613         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
1614         has been declared (Library_GCC or Linker'Driver), for the driver name.
1615
1616         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
1617         Linker'Driver is, use Linker'Driver as the shared library linker.
1618         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
1619         Library_GCC is declared.
1620         (Check_Library_Attributes): Set up the shared linker driver: either
1621         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
1622         declared.
1623
1624 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1625
1626         * g-socket.ads (Send_Socket): Fix misleading comment.
1627
1628 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
1629
1630         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
1631         ASIS mode.
1632
1633 2009-04-20  Geert Bosch  <bosch@adacore.com>
1634
1635         * a-tifiio.adb (Put): Avoid generating too many digits for certain
1636         fixed types with smalls that are neither integer or the reciprocal
1637         of an integer.
1638
1639 2009-04-20  Bob Duff  <duff@adacore.com>
1640
1641         * uname.ads: Minor comment fix.
1642
1643         * types.ads: Minor comment fix.
1644
1645 2009-04-20  Pascal Obry  <obry@adacore.com>
1646
1647         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
1648         avoid warning. At the same time fix a memory leak.
1649
1650         * osint.adb (Get_Libraries_From_Registry): Properly free memory
1651         returned by the above routine.
1652
1653 2009-04-20  Robert Dewar  <dewar@adacore.com>
1654
1655         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
1656         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
1657         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
1658         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
1659
1660         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
1661
1662 2009-04-20  Pascal Obry  <obry@adacore.com>
1663
1664         * initialize.c (__gnat_initialize): Add braces to kill warning.
1665
1666         * adaint.c: Minor reformatting, remove trailing spaces.
1667
1668 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
1669
1670         * gcc-interface/Make-lang.in: Update dependencies.
1671
1672 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1673
1674         * adaint.h (__gnat_lwp_self): Declare on Linux.
1675
1676         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
1677
1678 2009-04-20  Robert Dewar  <dewar@adacore.com>
1679
1680         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
1681         front-end part of -fpreserve-control-flow switch.
1682
1683 2009-04-20  Bob Duff  <duff@adacore.com>
1684
1685         * rtsfind.adb: Minor comment fix
1686
1687 2009-04-20  Robert Dewar  <dewar@adacore.com>
1688
1689         * exp_aggr.adb: Minor reformatting
1690         Minor code reorganization (use Nkind_In)
1691
1692         * g-socket.adb: Minor reformatting
1693
1694         * g-socket.ads: Minor comment fix
1695
1696         * s-auxdec.ads: Minor comment and organization update.
1697
1698         * s-auxdec-vms_64.ads: Minor comment and organization update.
1699
1700         * sem_ch10.adb: Minor addition of ??? comment
1701
1702         * sem_disp.adb: Minor reformatting
1703
1704 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1705
1706         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
1707         list a caller of an inlined subprogram, if the caller itself is not
1708         called.
1709
1710 2009-04-20  Pascal Obry  <obry@adacore.com>
1711
1712         * adaint.c: Disable use of ACL on network drives.
1713
1714 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
1715
1716         * gnat_ugn.texi: Add examples.
1717
1718 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1719
1720         * g-socket.ads (Abort_Selector): Clarify documentation.
1721
1722 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
1723
1724         * opt.ads (Inspector_Mode): Update documentation of this flag.
1725
1726 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1727
1728         * g-socket.ads: Minor reformatting
1729
1730         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
1731         consider S_resolvLib error codes since we only use the hostLib wrappers.
1732
1733 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1734
1735         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
1736         of the Underlying_Record_View after that of the derived type.
1737
1738 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
1739
1740         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
1741         in inspector mode.
1742
1743 2009-04-20  Javier Miranda  <miranda@adacore.com>
1744
1745         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
1746
1747         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
1748         documentation.
1749
1750         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
1751
1752         * sem_disp.adb
1753         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
1754         in internally built overriding subprograms.
1755
1756 2009-04-20  Doug Rupp  <rupp@adacore.com>
1757
1758         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
1759
1760         * s-auxdec.ads: Likewise
1761
1762 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1763
1764         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
1765         type by an interface.
1766
1767         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
1768         minimze difference in expanded tree when compiled as spec of the main
1769         unit, or as a spec in the context of another unit.
1770
1771 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
1772
1773         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
1774         (localtime_tzoff): This routine no longer accepts an actual of type
1775         tm_Pointer.
1776         (UTC_Time_Offset): Remove local variable Secs_TM.
1777
1778         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
1779         actual of type struct tm*. Add local variable of type struct tm for all
1780         targets that provide localtime_r and need to invoke it.
1781
1782 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1783
1784         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
1785         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
1786         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
1787
1788 2009-04-20  Robert Dewar  <dewar@adacore.com>
1789
1790         * sem_ch3.adb: Minor reformatting
1791
1792         * lib-load.adb: Minor reformatting
1793
1794         * sem_ch4.adb: Minor reformatting
1795
1796 2009-04-20  Robert Dewar  <dewar@adacore.com>
1797
1798         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
1799         (equal values => False).
1800
1801 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1802
1803         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
1804         to null procedures can be inlined unconditionally.
1805
1806 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1807
1808         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
1809         non-addressable parameter passed by reference, do not convert the
1810         actual if its type is already the nominal type, unless it is of
1811         self-referential size.
1812
1813 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
1814
1815         * gnat_ugn.texi: Fix typos.
1816
1817 2009-04-20  Robert Dewar  <dewar@adacore.com>
1818
1819         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
1820         Validate_Unchecked_Warnings to suppress warnings about size or
1821         alignment or extra bits if either type involved has pragma Warnings
1822         (Off) set for the type entity.
1823
1824 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
1825
1826         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
1827         a builtin type and give it a name.
1828
1829 2009-04-17  Diego Novillo  <dnovillo@google.com>
1830
1831         * gcc-interface/misc.c (gnat_expand_expr): Remove.
1832         (LANG_HOOKS_EXPAND_EXPR): Remove.
1833
1834 2009-04-17  Robert Dewar  <dewar@adacore.com>
1835
1836         * sem_ch3.adb: Minor reformatting
1837
1838 2009-04-17  Pascal Obry  <obry@adacore.com>
1839
1840         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
1841
1842 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1843
1844         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
1845         illegal constraints on type derived from formal discrete types.
1846
1847 2009-04-17  Thomas Quinot  <quinot@adacore.com>
1848
1849         PR ada/35953
1850
1851         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
1852         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
1853         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
1854         g-socket.ads (GNAT.Sockets.Thin.C_Send,
1855         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
1856         Replace calls to send(2) with equivalent sendto(2) calls.
1857         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
1858         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
1859         report an error in that case. Factor code common to the two versions
1860         (datagram and stream) in common routine Stream_Write.
1861
1862 2009-04-17  Robert Dewar  <dewar@adacore.com>
1863
1864         * exp_disp.adb: Minor reformatting
1865         Minor code reorganization (use Nkind_In)
1866
1867         * prepcomp.adb: Minor reformatting
1868
1869         * sem_ch3.adb: Minor reformatting
1870
1871         * sem_res.adb: Minor comment addition
1872
1873         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
1874         for address clause
1875
1876         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
1877         setting Is_Referenced
1878
1879         * types.ads: Minor reformatting
1880
1881 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
1882
1883         * gnat_ugn.texi: Initial documentation on binding generator.
1884
1885 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1886
1887         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
1888         type extensions whose parent is a type with unknown discriminants.
1889
1890         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
1891         aggregate has unknown discriminants, use the Underlying_Record_View to
1892         obtain the discriminants of the ancestor part.
1893
1894         * exp_disp.adb (Build_Dispatch_Tables): Types that are
1895         Underlying_Record_Views share the dispatching information of the
1896         original record extension.
1897
1898         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
1899         discriminants, propagate dispach table information to the
1900         Underlying_Record_View.
1901
1902         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
1903         discriminants and declaration is not a completion, generate
1904         Underlying_Record_View to provide proper discriminant information to
1905         the front-end and to gigi.
1906
1907 2009-04-17  Robert Dewar  <dewar@adacore.com>
1908
1909         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
1910         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
1911         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
1912         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
1913         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
1914         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
1915         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
1916         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
1917         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
1918         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
1919         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
1920         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
1921         s-conca3.ads: Remove unneeded pragma Warnings
1922
1923 2009-04-17  Robert Dewar  <dewar@adacore.com>
1924
1925         * g-moreex.adb: Add comments.
1926
1927         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
1928
1929         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
1930         Warnings (Off)
1931
1932         * prepcomp.adb: Add ??? comment
1933
1934         * a-tasatt.adb: Minor reformatting
1935
1936         * g-trasym-vms-alpha.adb: Add ??? comment
1937
1938         * g-trasym-vms-ia64.adb: Add ??? comment
1939
1940         * xoscons.adb: Minor reformatting
1941
1942         * s-tassta.adb: Minor reformatting
1943
1944         * s-scaval.adb: Add ??? comment
1945
1946         * stand.ads: Minor code clean up (remove junk with of Namet)
1947
1948         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
1949         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
1950         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
1951         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
1952         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
1953         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
1954         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
1955         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
1956         Warnings off pragmas.
1957
1958 2009-04-17  Pascal Obry  <obry@adacore.com>
1959
1960         * initialize.c: Fix test for reallocating the arguments array.
1961
1962 2009-04-17  Geert Bosch  <bosch@adacore.com>
1963
1964         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
1965         conversion truncate only for decimal fixed point types.
1966
1967 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
1968
1969         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
1970         reinitialized.
1971
1972 2009-04-17  Robert Dewar  <dewar@adacore.com>
1973
1974         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
1975         Backwards_OK if either operand has an address clause.
1976
1977 2009-04-17  Pascal Obry  <obry@adacore.com>
1978
1979         * initialize.c: Code clean up, use realloc.
1980
1981 2009-04-17  Pascal Obry  <obry@adacore.com>
1982
1983         * initialize.c: Do not get Unicode command line if Unicode support not
1984         activated.
1985         Add support for wildcard expansion for Unicode parameters on Win32.
1986
1987         * mingw32.h: Add missing macros when Unicode support not activated.
1988
1989 2009-04-17  Javier Miranda  <miranda@adacore.com>
1990
1991         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
1992         avoid generating code that references the Current_Master
1993         when compiling without tasks.
1994
1995 2009-04-17  Vincent Celier  <celier@adacore.com>
1996
1997         * prj-attr.adb: New project level attribute Target
1998         
1999         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
2000         attribute Target
2001         
2002         * prj.ads (Project_Configuration): New component Target
2003
2004 2009-04-17  Thomas Quinot  <quinot@adacore.com>
2005
2006         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
2007         case for the case of an aggregate component, the attach call for the
2008         result is actually needed.
2009
2010         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
2011         an array aggregate must be disabled if the component type requires
2012         controlled actions.
2013
2014         * exp_ch3.adb: Minor reformatting
2015
2016 2009-04-17  Bob Duff  <duff@adacore.com>
2017
2018         * output.ads (Indent,Outdent): New procedures for indenting the output.
2019         (Write_Char): Correct comment -- LF _is_ allowed.
2020
2021         * output.adb (Indent,Outdent): New procedures for indenting the output.
2022         Keep track of the indentation level, and make sure it doesn't get too
2023         high.
2024         (Flush_Buffer): Insert spaces at the beginning of each line, if
2025         indentation level is nonzero.
2026         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
2027         indentation level.
2028         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
2029         "Next_Col := 1;".  Flush_Buffer does that.
2030
2031         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
2032         controlled by the -gnatdc switch. It now occurs on entry/exit to the
2033         relevant analysis routines, and calls Indent/Outdent to make the
2034         indentation reflect the nesting level.  Add "helper" routines, since
2035         otherwise lots of "return;" statements would skip the debugging output.
2036
2037 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
2038
2039         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
2040         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
2041         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
2042
2043 2009-04-17  Thomas Quinot  <quinot@adacore.com>
2044
2045         * exp_aggr.adb: Minor code reorganization, no behaviour change.
2046
2047 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2048
2049         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
2050         clause in a unit that is a package body or a subunit, when the previous
2051         clause appears in a spec or a parent.
2052
2053 2009-04-17  Thomas Quinot  <quinot@adacore.com>
2054
2055         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
2056
2057         * exp_ch7.adb: Minor reformatting
2058
2059 2009-04-17  Bob Duff  <duff@adacore.com>
2060
2061         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
2062         allocator, check that the expression of the qualified expression obeys
2063         the constraints of the subtype of the qualified expression.
2064
2065 2009-04-17  Thomas Quinot  <quinot@adacore.com>
2066
2067         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
2068
2069 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2070
2071         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
2072         aggregate, using context imposed by subtype mark in allocator.
2073
2074 2009-04-17  Pascal Obry  <obry@adacore.com>
2075
2076         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
2077
2078 2009-04-17  Nicolas Roche  <roche@adacore.com>
2079
2080         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
2081         argument length.
2082
2083 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
2084
2085         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
2086         cover both calls and attribute references ("call" => "reference").
2087
2088 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2089
2090         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
2091         type for which Storage_Size is set to 0 is legal in a pure unit.
2092
2093 2009-04-17  Thomas Quinot  <quinot@adacore.com>
2094
2095         * exp_ch7.adb: Minor reformatting
2096
2097 2009-04-17  Robert Dewar  <dewar@adacore.com>
2098
2099         * restrict.adb (Check_Restriction_No_Dependence): Don't check
2100         restriction if outside main extended source unit.
2101
2102         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
2103         for parents of child units as well as the child unit itself.
2104
2105 2009-04-17  Bob Duff  <duff@adacore.com>
2106
2107         * checks.ads: Minor comment fix
2108
2109         * exp_aggr.ads: Minor comment fix
2110
2111 2009-04-17  Nicolas Roche  <roche@adacore.com>
2112
2113         * adaint.c: Improve cross compiler detection and handling.
2114
2115 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2116
2117         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
2118
2119 2009-04-17  Pascal Obry  <obry@adacore.com>
2120
2121         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
2122         CurrentCodePage.
2123
2124         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
2125         value when no encoding form paramter is set on Text_IO services.
2126
2127         * adaint.c: CurrentCodePage new variable on Windows.
2128         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
2129         ones.
2130
2131         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
2132         ones.
2133
2134         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
2135         environment variable value. Default is UTF-8.
2136
2137         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
2138         fopen and freopen encoding parameter is now set to Unspecified.
2139         The default value is in this case UTF-8 (as it was before) but
2140         use the new macros that convert to/from the code page set
2141         at runtime (CurrentCodePage).
2142
2143         * s-fileio.adb: When no encoding specified use Unspecified value.
2144
2145 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2146
2147         * atree.adb, atree.ads: Remove dead code.
2148
2149 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
2150
2151         * gcc-interface/Make-lang.in: Update dependencies.
2152
2153 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2154
2155         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
2156         illegal uses of incomplete types in formal parts and return types.
2157
2158         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
2159         access to subprograms.
2160
2161         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
2162         Taft-amendment types as the return type of an access_to_function type.
2163
2164         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
2165         type for access_to_subprograms. The check is performed on package exit.
2166
2167 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2168
2169         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
2170
2171         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
2172         
2173         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
2174
2175         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
2176         semantic units, because the handling of itypes in the copied tree
2177         requires semantic information that does not belong in atree.
2178
2179 2009-04-17  Robert Dewar  <dewar@adacore.com>
2180
2181         * par-ch6.adb: Minor reformatting
2182
2183         * prj.adb: Minor reformatting
2184
2185 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
2186
2187         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
2188         on protected subprogram bodies, so exclude the case where Pf_Flags is
2189         Pf_Decl_Pbod from the error check.
2190
2191         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
2192         indicators on subprograms in protected bodies, and proceed with parsing
2193         the subprogram.
2194
2195         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
2196         subprograms from the check for primitiveness on subprograms with
2197         overriding indicators.
2198         (Check_Overriding_Indicator): Include protected subprograms in the
2199         style check for missing overriding indicators.
2200
2201 2009-04-17  Tristan Gingold  <gingold@adacore.com>
2202
2203         * init.c: Fix stack checking for x86 Darwin.
2204
2205 2009-04-17  Vincent Celier  <celier@adacore.com>
2206
2207         * prj-attr.adb: New project level attribute Object_File_Suffix
2208         (<language>).
2209         
2210         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
2211         object file name
2212         (Process_Compiler): Process attribute Object_File_Suffix
2213
2214         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
2215         platform suffix, when specified.
2216
2217         * prj.ads (Language_Config): New component Object_File_Suffix,
2218         defaulted to No_Name.
2219         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
2220
2221         * snames.ads-tmpl: New standard name Object_File_Suffix
2222
2223 2009-04-17  Robert Dewar  <dewar@adacore.com>
2224
2225         * gnat_rm.texi: Add documentation about No_Streams restriction
2226
2227         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
2228         attributes when checking No_Streams restriction.
2229
2230 2009-04-17  Thomas Quinot  <quinot@adacore.com>
2231
2232         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
2233
2234         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
2235         missing calls to RE_Request_Destroy to deallocate request objects after
2236         use.
2237
2238 2009-04-17  Nicolas Setton  <setton@adacore.com>
2239
2240         * link.c: Fix support for passing a response file under Darwin.
2241
2242 2009-04-17  Emmanuel Briot  <briot@adacore.com>
2243
2244         * prj.adb (Free): new subprogram.
2245
2246 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2247
2248         * sem_ch3.adb: additional initialization on incomplete subtypes.
2249         
2250         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
2251         part and one of the formals is an incomplete tagged type, attach to
2252         list of private dependends of the type for later validation.
2253
2254         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
2255         primitive operations of a Taft-amendmment type.
2256
2257         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
2258         type. The check is performed on package exit, possibly after the
2259         subprogram is frozen.
2260
2261 2009-04-17  Vincent Celier  <celier@adacore.com>
2262
2263         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
2264         before looking for source directories, but make sure that there are nil
2265         if they are not explicitely declared and there is explicitely no
2266         sources in the project.
2267
2268 2009-04-17  Pascal Obry  <obry@adacore.com>
2269
2270         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
2271
2272         * init.c: Fix minor typo and style fix.
2273
2274 2009-04-17  Robert Dewar  <dewar@adacore.com>
2275
2276         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
2277
2278         * sem_attr.adb (Analyze_Attribute, case Address): Use
2279         PE_Address_Of_Intrinsic.
2280
2281         * types.ads: Add PE_Address_Of_Intrinsic
2282
2283         * types.h: Add PE_Address_Of_Intrinsic
2284
2285 2009-04-17  Nicolas Setton  <setton@adacore.com>
2286
2287         * gcc-interface/Makefile.in: Under darwin, build shared libraries
2288         with install_name starting with "@rpath/".
2289
2290 2009-04-17  Nicolas Setton  <setton@adacore.com>
2291
2292         * link.c: Add darwin section
2293
2294 2009-04-16  Robert Dewar  <dewar@adacore.com>
2295
2296         * g-pehage.adb: Minor reformatting
2297
2298         * sem_ch12.adb: Minor reformatting
2299
2300         * exp_dist.adb: Minor reformatting
2301
2302         * bindgen.adb: Minor style fixes.
2303
2304 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
2305
2306         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
2307         indexed components to the case where the prefix is a static string
2308         literal.
2309
2310 2009-04-16  Javier Miranda  <miranda@adacore.com>
2311
2312         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
2313         objects avoid any further expansion of the expression initializing the
2314         object.
2315
2316 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
2317
2318         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
2319         that hides an outer homograph, make that homograph invisible when
2320         analyzing the actuals, to to prevent illegal direct visibility on it.
2321
2322 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2323
2324         * g-pehage.adb (Initialize): Fix off-by-one error.
2325
2326 2009-04-16  Tristan Gingold  <gingold@adacore.com>
2327
2328         * init.c: Detect real stack overflow on Darwin.
2329
2330         * system-darwin-x86.ads: Use stack probing on darwin x86.
2331
2332 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
2333
2334         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
2335         take the address of an intrinsic subprogram.
2336
2337 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
2338
2339         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
2340         for the targets where GNAT.Traceback.Symbolic is not supported.
2341
2342 2009-04-16  Vincent Celier  <celier@adacore.com>
2343
2344         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
2345
2346         * g-trasym.ads: Update comments.
2347
2348 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
2349
2350         * tracebak.c (STOP_FRAME): Verify validity of the current address
2351         before dereferencing.
2352
2353 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
2354
2355         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
2356         the original location of the index expressions and the index subtypes,
2357         to prevent spurious out-of-scope references in gigi.
2358
2359 2009-04-16  Tristan Gingold  <gingold@adacore.com>
2360
2361         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
2362         Add support for stack checking on darwin.
2363
2364 2009-04-16  Vincent Celier  <celier@adacore.com>
2365
2366         * prj-attr.adb: New attribute Runtime_Source_Dir
2367
2368         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
2369         attribute Runtime_Source_Dir.
2370         (Check_Naming_Schemes): Give default values to out parameters to avoid
2371         invalid data.
2372
2373         * prj.ads (Language_Config): New component Runtime_Source_Dir
2374
2375         * snames.ads-tmpl: New standard name Runtime_Source_Dir
2376
2377 2009-04-16  Pascal Obry  <obry@adacore.com>
2378
2379         * adaint.h, adaint.c (__gnat_rmdir): New routine.
2380         Simple wrapper routines used to convert to proper encoding on
2381         Windows.
2382
2383         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
2384
2385         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
2386         twice.
2387
2388 2009-04-16  Pascal Obry  <obry@adacore.com>
2389
2390         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
2391
2392 2009-04-16  Thomas Quinot  <quinot@adacore.com>
2393
2394         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
2395         integrated preprocessor.
2396
2397         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
2398         (Initialize): Split into two subprograms, Initialize (to be called
2399         prior to compiler command line processing) and Setup_Hooks (to be called
2400         later on when the first source file is loaded).
2401
2402         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
2403         Add call to Prep.Initialize.
2404
2405         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
2406         to Prep.Setup_Hooks.
2407
2408 2009-04-16  Pascal Obry  <obry@adacore.com>
2409
2410         * adaint.h, adaint.c (__gnat_chdir): New routine.
2411         Simple wrapper routines used to convert to proper encoding on
2412         Windows.
2413
2414         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
2415
2416         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
2417
2418 2009-04-16  Quentin Ochem  <ochem@adacore.com>
2419
2420         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
2421         of Source.Init.
2422
2423 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2424
2425         * a-convec.ads (Is_Empty): Mark inline.
2426
2427 2009-04-16  Nicolas Roche  <roche@adacore.com>
2428
2429         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
2430
2431 2009-04-16  Thomas Quinot  <quinot@adacore.com>
2432
2433         * prepcomp.adb: Minor reformatting
2434
2435 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
2436
2437         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
2438         Access_Subprogram types can also be imported.
2439         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
2440         names.
2441
2442 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
2443
2444         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
2445         preserve homonym chain when the declaration is rewritten into a
2446         renaming declaration, in order to preserve visibility structure.
2447
2448 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
2449
2450         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
2451         taken into account for VM targets.
2452
2453 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
2454
2455         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
2456         Year_Week_In_Year.
2457         (Year_Week_In_Year): New routine which contains the original code from
2458         Week_In_Year. Add the missing special case for January 1st falling on
2459         a Monday.
2460
2461 2009-04-16  Thomas Quinot  <quinot@adacore.com>
2462
2463         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
2464         actual type, use the base type to build the To_Any function.
2465         (Build_From_Any_Function): Remove junk, useless subtype conversion.
2466
2467 2009-04-16  Thomas Quinot  <quinot@adacore.com>
2468
2469         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
2470         restrict.adb: Minor code reorganization (use
2471         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
2472
2473 2009-04-16  Bob Duff  <duff@adacore.com>
2474
2475         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
2476         unused.
2477
2478 2009-04-16  Thomas Quinot  <quinot@adacore.com>
2479
2480         * sem_ch4.adb: Minor reformatting
2481
2482         * adaint.c: Remove junk duplicated code.
2483
2484         * sem_ch3.adb: Minor reformatting
2485
2486         * exp_dist.adb: Minor comment rewording
2487
2488 2009-04-16  Robert Dewar  <dewar@adacore.com>
2489
2490         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
2491         used together.
2492
2493 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
2494
2495         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
2496         usable before calling Add_One_Interp, to resolve spurious ambiguities.
2497
2498 2009-04-16  Robert Dewar  <dewar@adacore.com>
2499
2500         * Make-lang.in: Add entries for s-conca?.o
2501
2502         * Makefile.rtl: Add entries for s-conca?
2503
2504         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
2505         of concatenation expansion
2506
2507         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
2508         string cases instead of expanding assignments inline.
2509
2510         * opt.ads (Optimize_Size): New flag
2511
2512         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
2513         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
2514         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
2515         s-conca9.adb, s-conca9.ads: New file.
2516
2517 2009-04-16  Robert Dewar  <dewar@adacore.com>
2518
2519         * exp_ch6.adb: Add comments
2520
2521         * rtsfind.ads: Add entries for s-conca? routines
2522
2523 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
2524
2525         * gcc-interface/Make-lang.in: Update dependencies.
2526
2527         * gcc-interface/Makefile.in: Update translation for vms.
2528
2529 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
2530
2531         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
2532         and made global, to be used when installing parents of a child
2533         instance, to provide mappings for entities declared in formal packages
2534         of ancestor units. Now called from Install_Formal_Packages.
2535
2536 2009-04-16  Doug Rupp  <rupp@adacore.com>
2537
2538         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
2539         notation for clarity.
2540
2541         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
2542         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
2543         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
2544         (Initialize): Initialize Known_Tasks with Environment task.
2545
2546         * s-taskin.ads (Task_States): Move new states to end for the sake of
2547         GDB compatibility.
2548
2549         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
2550
2551 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
2552
2553         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
2554         operation has an inline pragma, propagate the flag to the internal
2555         unprotected subprogram.
2556
2557 2009-04-16  Doug Rupp  <rupp@adacore.com>
2558
2559         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
2560         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
2561         s-taprop-hpux-dce.adb, s-taprop-posix.adb
2562         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
2563
2564         * s-taprop-vms.adb (Enter_Task): Likewise.
2565         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
2566
2567         * s-tassta.adb (Activate_Tasks): After task creation set state to
2568         Activating, vice Runnable. Initialize Known_Tasks, moved here from
2569         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
2570         Set state to Runnable after above.
2571         (Task_Wrapper): Set Debug_Event_Run. In exception block set
2572         Debug_Event_Terminated.
2573
2574         * s-taskin.ads (Task_States): Add new states Activiting and
2575         Activator_Delay_Sleep.
2576         (Bit_Array, Debug_Event_Array): New types.
2577         (Global_Task_Debug_Event_Set: New flag.
2578         (Common_ATCB): New field Debug_Events.
2579
2580         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
2581
2582         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
2583         Activator_Sleep.
2584
2585         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
2586         Activating and when Acceptor_Delay_Sleep.
2587
2588         * s-tasdeb.ads: Add constants for Debug_Events.
2589         (Debug_Event_Kind_Type): New subtype.
2590         (Signal_Debug_Event): New subprogram.
2591
2592         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
2593
2594 2009-04-16  Thomas Quinot  <quinot@adacore.com>
2595
2596         * sem_elim.adb: Minor reformatting
2597
2598         * freeze.adb: Minor reformatting
2599
2600         * exp_ch4.adb: Minor reformatting
2601
2602 2009-04-16  Emmanuel Briot  <briot@adacore.com>
2603
2604         * prj-nmsc.adb (Path_Name_Of): fix memory leak
2605
2606 2009-04-16  Robert Dewar  <dewar@adacore.com>
2607
2608         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
2609
2610 2009-04-16  Vincent Celier  <celier@adacore.com>
2611
2612         * fmap.adb (Initialize): Show the current line when the mapping file
2613         is detected as "incorrectly formatted".
2614
2615 2009-04-16  Robert Dewar  <dewar@adacore.com>
2616
2617         * sem_ch12.adb: Minor reformatting
2618
2619         * sem_ch5.adb: Minor comment addition
2620
2621         * sem_util.adb: Minor reformatting
2622
2623         * sinput-p.adb: Minor reformatting
2624         Add missing pragma Warnings (On)
2625
2626 2009-04-16  Ed Falis  <falis@adacore.com>
2627
2628         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
2629
2630 2009-04-16  Vincent Celier  <celier@adacore.com>
2631
2632         * ali-util.adb: Minor comment spelling error fix
2633
2634 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2635
2636         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
2637         generate an assignment loop in case of overlap.
2638
2639 2009-04-16  Olivier Hainque  <hainque@adacore.com>
2640
2641         * gnat_ugn.texi (gnatmem description): Make it explicit that
2642         gnatmem is designed to work in association with static runtime
2643         library only.
2644
2645 2009-04-16  Thomas Quinot  <quinot@adacore.com>
2646
2647         * sem_type.adb: Minor reformatting
2648
2649 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
2650
2651         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
2652         concerning return codes of gettimeofday and return value check.
2653
2654 2009-04-16  Ed Falis  <falis@adacore.com>
2655
2656         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
2657         body can be renaming of imported routines.
2658
2659 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
2660
2661         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
2662         targeted fashion.
2663
2664 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
2665
2666         * exp_ch9.adb: Comment improvements.
2667         (Build_Entry_Family_Name): Add parentheses around the index of a entry
2668         family member.
2669
2670 2009-04-15  Bob Duff  <duff@adacore.com>
2671
2672         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
2673         "while X /= null loop" where X is unchanged inside the loop. We were
2674         not warning in this case, because of the pointers -- we feared that the
2675         loop variable could be updated via a pointer, if there are any pointers
2676         around the place. But that is impossible in this case.
2677
2678         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
2679         the case of dereferences. In X.all, X cannot be an l-value. We now
2680         catch that case (and implicit dereferences, too).
2681
2682 2009-04-15  Vincent Celier  <celier@adacore.com>
2683
2684         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
2685
2686 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2687
2688         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
2689         From code reading.
2690         (Analyze_Package_Instantiation): If generic unit in child instance is
2691         the same as generic unit in parent instance, look for an outer homonym
2692         to locate the desired generic.
2693
2694 2009-04-15  Bob Duff  <duff@adacore.com>
2695
2696         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
2697         warnings unless the loop comes from source, because checking generated
2698         loops is a waste of time, and makes it harder to debug
2699         Check_Infinite_Loop_Warning.
2700
2701         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
2702         tested in the while loop is a renaming, do not warn. Otherwise, we get
2703         false alarms, because it's usually renaming something that we can't
2704         deal with (an indexed component, a global variable, ...).
2705
2706         * gnat_rm.texi: Fix typo
2707
2708 2009-04-15  Thomas Quinot  <quinot@adacore.com>
2709
2710         * sem_ch6.adb: Minor reformatting
2711
2712 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
2713
2714         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
2715         immediate parent of the controlled function call is a component
2716         association.
2717
2718 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2719
2720         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
2721         corresponding class-wide type is also in use.
2722
2723 2009-04-15  Thomas Quinot  <quinot@adacore.com>
2724
2725         * frontend.adb: Minor comment fix
2726
2727 2009-04-15  Robert Dewar  <dewar@adacore.com>
2728
2729         * gnatchop.adb (BOM_Length): New global variable
2730         (Write_Unit): Add new parameter Write_BOM
2731         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
2732         to Write_Unit
2733
2734         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
2735
2736 2009-04-15  Geert Bosch  <bosch@adacore.com>
2737
2738         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
2739         (Backend_Overflow_Checks): Set to True.
2740
2741 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
2742
2743         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
2744         keyword is given in a record extension.
2745
2746 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
2747
2748         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
2749         of a controlled function call in the context of a record aggregate.
2750         This does not apply to array aggregates since the call will be expanded
2751         into assignments.
2752
2753 2009-04-15  Ed Falis  <falis@adacore.com>
2754
2755         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
2756         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
2757         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
2758         s-osinte-vxworks* and s-vxwext*.
2759
2760 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
2761
2762         * gcc-interface/Make-lang.in: Update dependencies.
2763
2764         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
2765         and s-vxwext*.
2766
2767 2009-04-15  Robert Dewar  <dewar@adacore.com>
2768
2769         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
2770         of node for location for warning messages.
2771
2772         * gnatchop.adb: Minor reformatting
2773
2774 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2775
2776         * exp_ch6.adb: additional guard for renaming declarations for in
2777         parameters of an array type.
2778
2779 2009-04-15  Robert Dewar  <dewar@adacore.com>
2780
2781         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
2782         in case they were rewritten by expander (Force_Evaluation).
2783
2784         * targparm.adb (Get_Target_Parameters): Correct check for
2785         Suppress_Exception_Locations.
2786
2787 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2788
2789         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
2790         inlined  is of an array type that is not bit-packed, use a renaming
2791         declaration to capture its value, rather than a constant declaration.
2792
2793 2009-04-15  Robert Dewar  <dewar@adacore.com>
2794
2795         * rtsfind.adb: Minor reformatting.
2796
2797 2009-04-15  Emmanuel Briot  <briot@adacore.com>
2798
2799         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
2800         Restore, and free the saved context.
2801
2802 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
2803
2804         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
2805         for illegal private extension from a synchronized interface parent in
2806         front of check for illegal limited extension so that limited extension
2807         from a synchronized interface will be rejected.
2808         (Check_Ifaces): Check that a private extension that has a synchronized
2809         interface as a progenitor must be explicitly declared synchronized.
2810         Also check that a record extension cannot derive from a synchronized
2811         interface.
2812
2813 2009-04-15  Pascal Obry  <obry@adacore.com>
2814
2815         * adaint.h (__gnat_unlink): Add spec.
2816         (__gnat_rename): Likewise.
2817
2818 2009-04-15  Vincent Celier  <celier@adacore.com>
2819
2820         * prj-nmsc.adb: Minor spelling error corrections in error messages
2821
2822 2009-04-15  Robert Dewar  <dewar@adacore.com>
2823
2824         * sinfo.ads: Minor comment update
2825
2826         * opt.ads: Minor comment updates
2827
2828         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
2829         modular type.
2830
2831 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2832
2833         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
2834         that generates the code needed to update a dispatch table when a
2835         primitive operation is declared with a subprogram body without previous
2836         spec. Insertion of the generated code is responsibility of the caller.
2837         (Make_DT): When building static tables, append the code created by
2838         Register_Primitive to update a secondary table after it has been
2839         constructed.
2840
2841         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
2842
2843         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
2844         on an overriding operation that implements an interface operation only
2845         if not building static dispatch tables.
2846
2847 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
2848
2849         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
2850         does not cause overflow when converted to Duration. Use the safe value
2851         as the maximum allowable time delay..
2852
2853 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
2854
2855         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
2856         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
2857         translated to "-j 2".
2858
2859 2009-04-15  Bob Duff  <duff@adacore.com>
2860
2861         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
2862         with_clauses, to avoid code duplication. Change this processing so we
2863         always add a with_clause on the main unit if needed.
2864
2865 2009-04-15  Pascal Obry  <obry@adacore.com>
2866
2867         Add support for Win32 native encoding for delete/rename routines.
2868         
2869         * adaint.c (__gnat_unlink): New routine.
2870         (__gnat_rename): New routine.
2871         Simple wrapper routines used to convert to proper encoding on
2872         Windows.
2873
2874         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
2875         call to the C library.
2876
2877         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
2878
2879 2009-04-15  Robert Dewar  <dewar@adacore.com>
2880
2881         * s-tassta.adb: Minor reformatting
2882
2883 2009-04-15  Robert Dewar  <dewar@adacore.com>
2884
2885         * frontend.adb (Frontend): Set proper default for
2886         Warn_On_Non_Local_Exception.
2887
2888         * opt.ads (Exception_Handler_Encountered): New flag
2889         (No_Warn_On_Non_Local_Exception): New flag
2890
2891         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
2892
2893         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
2894         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
2895
2896 2009-04-15  Cyrille Comar  <comar@adacore.com>
2897
2898         * s-tassta.adb, a-exextr.adb, a-elchha.adb
2899         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
2900         message when exception traces are active since it would generate
2901         redundant information.
2902         (Exception_Traces.Notify_Exception): put message output by a critical
2903         section to avoid unsynchronized output.
2904         (Trace_Unhandled_Exception_In_Task): put message output by a critical
2905         section to avoid unsynchronized output.
2906
2907 2009-04-15  Emmanuel Briot  <briot@adacore.com>
2908
2909         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
2910         (Free): New subprogram.
2911
2912 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
2913
2914         * a-calend.adb: Add new constant Nanos_In_Four_Years.
2915         (Formatting_Operations.Time_Of): Change the way four year chunks of
2916         nanoseconds are added to the intermediate result.
2917
2918 2009-04-15  Nicolas Setton  <setton@adacore.com>
2919
2920         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
2921         does not need to wait for a carriage return.
2922
2923 2009-04-15  Tristan Gingold  <gingold@adacore.com>
2924
2925         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
2926         is set.
2927
2928 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2929
2930         * freeze.adb (Freeze_Entity): improve error message for improper use of
2931         incomplete types.
2932         Diagnose additional illegal uses of incomplete types in formal parts.
2933         appearing in formal parts.
2934
2935         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
2936
2937 2009-04-15  Robert Dewar  <dewar@adacore.com>
2938
2939         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
2940
2941 2009-04-15  Nicolas Roche  <roche@adacore.com>
2942
2943         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
2944         current thread.
2945
2946         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
2947
2948         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
2949
2950 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2951
2952         * sem_ch4.adb: improve error message on exponentiation.
2953
2954 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
2955
2956         * a-calend.adb: Move constant Epoch_Offset from package
2957         Conversion_Operations to top level.
2958         (Delay_Operations.To_Duration): Define a constant which represents
2959         "end of time" and use it as a guard against very distant delay dates.
2960         Protect the code against overflow when performing the origin shift to
2961         Unix time.
2962
2963 2009-04-15  Robert Dewar  <dewar@adacore.com>
2964
2965         * sem_prag.adb: Minor reformatting.
2966
2967         * sem_type.adb: Minor reformatting
2968
2969 2009-04-15  Javier Miranda  <miranda@adacore.com>
2970
2971         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
2972         support to check eliminated subprograms.
2973
2974         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
2975
2976         * sem_elim.adb (Set_Eliminated): Add support for elimination of
2977         dispatching subprograms.
2978
2979         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
2980         operations. Initialize with "null" the slots of eliminated dispaching
2981         primitives.
2982         (Write_DT): Add output for eliminated primitives.
2983
2984         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
2985
2986 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2987
2988         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
2989         the second is redundant, regardless of scopes.
2990
2991 2009-04-15  Vincent Celier  <celier@adacore.com>
2992
2993         * prj-nmsc.adb (Get_Directories): Check for sources before checking
2994         the object directory as when there are no sources, they may not be any
2995         object directory.
2996
2997         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
2998         directory, when there are no exec directory.
2999
3000 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3001
3002         * sem_type.adb (Remove_Conversions): In order to resolve spurious
3003         ambiguities, refine removal of universal interpretations from complex
3004         expressions with literal arguments, when some numeric operators have
3005         been declared abstract.
3006
3007 2009-04-15  Ed Falis  <falis@adacore.com>
3008
3009         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
3010         and backward compatibility for targets using probing for stack overflow
3011
3012 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3013
3014         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
3015         after any declaration, including renaming declarations.
3016
3017 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
3018
3019         * gcc-interface/Make-lang.in: Update dependencies.
3020
3021         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
3022         Update xenomai target pairs.
3023
3024 2009-04-15  Javier Miranda  <miranda@adacore.com>
3025
3026         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
3027
3028         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
3029         functions returning anonymous access to class-wide limited types. Mark
3030         also the containing scope as a task master.
3031
3032         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
3033         limited-withed packages. Required to restore their visibility after
3034         processing packages associated with implicit with-clauses.
3035
3036         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
3037         associated with return statements because this work is now done by
3038         Check_Anonymous_Return.
3039         (Build_Master): Code cleanup.
3040
3041 2009-04-15  Thomas Quinot  <quinot@adacore.com>
3042
3043         * sem_warn.ads: Minor reformatting
3044
3045 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3046
3047         * sem_ch3.adb: better error message for illegal interfaces
3048
3049         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
3050         formal is an incomplete type from a limited_with clause.
3051
3052 2009-04-15  Vincent Celier  <celier@adacore.com>
3053
3054         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
3055         Externally_Built indicating if the project is externally built. If it
3056         is, and --subdirs is specified, but the subdir does not exist, look
3057         for the specified directory, without the subdir.
3058
3059 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
3060
3061         * a-tasatt.adb: Fix typo, plus minor reformatting
3062
3063         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
3064
3065         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
3066
3067 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3068
3069         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
3070         private extension whose parent is a synchronized interface carries an
3071         explicit synchronized keyword.
3072
3073 2009-04-15  Thomas Quinot  <quinot@adacore.com>
3074
3075         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
3076         instantiate generic shared object package with the corresponding
3077         record type.
3078
3079 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
3080
3081         * system-linux-sparc.ads: Remove obsolete entries.
3082
3083 2009-04-15  Thomas Quinot  <quinot@adacore.com>
3084
3085         * s-tasuti.ads: Add ??? comment
3086
3087 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3088
3089         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
3090         type even if the designated type comes from a limited_with clause, to
3091         ensure that the symbol for the finalization list of the access type is
3092         created.
3093
3094 2009-04-10  Robert Dewar  <dewar@adacore.com>
3095
3096         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
3097         for warning suppression.
3098
3099 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3100
3101         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
3102         identical, there is no redudancy to check.
3103
3104 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
3105
3106         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
3107         calls initializing SS_Allocator (which is initialized in following
3108         code).
3109         (Expand_Simple_Function_Return): Add comment about False value for
3110         Comes_From_Source on secondary-stack allocator.
3111
3112         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
3113         (Build_Entry_Name): Add comment.
3114
3115 2009-04-10  Robert Dewar  <dewar@adacore.com>
3116
3117         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
3118
3119         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
3120         bound tested, since this is now done more generally in Sem_Res.
3121
3122         * sem_res.adb (Resolve_Comparison_Op): Add call to
3123         Check_Lower_Bound_Tested.
3124         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
3125
3126         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
3127         (Low_Bound_Tested): New name for Low_Bound_Known flag
3128
3129         * exp_ch5.adb: Minor reformatting
3130
3131         * exp_ch4.adb:
3132         Add comments on copying the Comes_From_Source flag for allocators
3133
3134         * sinfo.ads:
3135         Add comments on copying the Comes_From_Source flag for allocators
3136
3137         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
3138         Comes_From_Source flag from old allocator to new one.
3139
3140 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3141
3142         * sem_ch6.ads: Address missing documentation query
3143
3144 2009-04-10  Vincent Celier  <celier@adacore.com>
3145
3146         * prj-attr.adb:
3147         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
3148         and Response_File_Switches.
3149
3150         * prj-nmsc.adb (Process_Linker): Process new attributes
3151         Max_Command_Line_Length, Response_File_Format and
3152         Response_File_Switches.
3153
3154         * prj.ads (Response_File_Format): New enumeration type
3155         (Project_Configuration): New componants Max_Command_Line_Length,
3156         Resp_File_Format and Resp_File_Options.
3157
3158         * snames.ads-tmpl: Add new standard names for linking response files
3159         for gprbuild: GNU, None, Object_List, Option_List,
3160         Max_Command_Line_Length, Response_File_Format and
3161         Response_File_Switches.
3162
3163 2009-04-10  Geert Bosch  <bosch@adacore.com>
3164
3165         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
3166         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
3167         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
3168         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
3169         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
3170         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
3171         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
3172         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
3173         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
3174         system-vxworks-arm.ads, system-vxworks-m68k.ads,
3175         system-vxworks-mips.ads, system-vxworks-ppc.ads,
3176         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
3177         (Backend_Overflow_Checks): Set to True.
3178
3179 2009-04-10  Thomas Quinot  <quinot@adacore.com>
3180
3181         * exp_attr.adb: Minor reformatting
3182
3183 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3184
3185         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
3186         analyze the expression for a postcondition, even if the compiler mode
3187         is Generate_Code.
3188
3189 2009-04-10  Robert Dewar  <dewar@adacore.com>
3190
3191         * sem_aux.adb: Minor reformatting
3192
3193 2009-04-10  Ed Falis  <falis@adacore.com>
3194
3195         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
3196
3197         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
3198
3199 2009-04-10  Thomas Quinot  <quinot@adacore.com>
3200
3201         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
3202         undocumented formal.
3203         Minor reformatting
3204
3205         * a-direio.ads: Fix typo in comment
3206
3207         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
3208         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
3209         Use uniform phrasing for comment at start of subprogram body.
3210
3211         * xsnamest.adb: Add note to explain why we use specific names for the
3212         newly generated files instead of generating snames.{ads,adb,h} directly
3213
3214 2009-04-10  Sergey Rybin  <rybin@adacore.com>
3215
3216         * vms_data.ads:
3217         Add qualifier for new gnatstub option '--no-exception'
3218
3219         * gnat_ugn.texi:
3220         Add the description of the new gnatstub option '--no-exception'
3221
3222 2009-04-10  Robert Dewar  <dewar@adacore.com>
3223
3224         * rtsfind.adb: Minor reformatting
3225
3226 2009-04-10  Thomas Quinot  <quinot@adacore.com>
3227
3228         * sem_disp.adb: Minor reformatting.
3229         Add comment pointing to RM clause for the case of warning against a
3230         (failed) attempt at declaring a primitive operation elsewhere than in a
3231         package spec.
3232
3233 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3234
3235         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
3236         an actual for a previous formal package of the current instance.
3237
3238 2009-04-10  Bob Duff  <duff@adacore.com>
3239
3240         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
3241         them first, rather than on the extended main unit.
3242
3243 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3244
3245         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
3246         specification of full view carries a null exclusion indicator, create
3247         an itype for it, to check for conformance with partial view.
3248
3249 2009-04-10  Bob Duff  <duff@adacore.com>
3250
3251         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
3252
3253         * rtsfind.adb: Minor comment changes, and remove useless code.
3254
3255         * sinfo.ads: Add ??? comment.
3256
3257 2009-04-10  Vincent Celier  <celier@adacore.com>
3258
3259         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
3260
3261 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3262
3263         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
3264         type is a synchronized type, retrieve tag information from the
3265         corresponding record, which has the dispatch table link.
3266
3267 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
3268
3269         * g-comlin.adb (Group_Analysis): Take care of switches that might be
3270         decomposed afterwards, but are present as-is in the command line
3271         configuration, and thus should be kept as-is.
3272
3273 2009-04-10  Robert Dewar  <dewar@adacore.com>
3274
3275         * gnat_rm.texi: Document that postconditions are tested on implicit
3276         returns.
3277
3278         * sem_aux.adb: Minor reformatting
3279
3280 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
3281
3282         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
3283         setting Etype.
3284         
3285         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
3286         Null_Exclusion_In_Return_Present when an access-to-function type has a
3287         result type with an explicit not null.
3288
3289         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
3290         given on the result type, then create a null-excluding itype for the
3291         function.
3292
3293         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
3294         the case where a null exclusion is imposed on a named access type.
3295         (Analyze_Subprogram_Specification): Push and pop the scope of the
3296         function around the call to Analyze_Return_Type in the case of no
3297         formals, for consistency with handling when formals are present
3298         (Process_Formals does this). Ensures that any itype created for the
3299         return type will be associated with the proper scope.
3300
3301         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
3302         exclusion is given on a generic function's result type, then create a
3303         null-excluding itype for the generic function.
3304         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
3305         for an actual for a formal in object according to the setting on the
3306         formal. Ensures null exclusion checks are done when the association is
3307         elaborated.
3308
3309         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
3310         N_Access_Function_Definition.
3311
3312         * sinfo.adb: Add Get_ and Set_ operations for
3313         Null_Exclusion_In_Return_Present.
3314
3315 2009-04-10  Bob Duff  <duff@adacore.com>
3316
3317         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
3318         call to the _Postconditions procedure in the case of implicit returns
3319         from analysis to expansion. This eliminates some duplicated code. Use
3320         the Postcondition_Proc to find the identity of this procedure during
3321         expansion.
3322
3323 2009-04-10  Robert Dewar  <dewar@adacore.com>
3324
3325         * sem_ch6.adb: Minor code clean up.
3326
3327         * einfo.ads, sem_attr.adb: Minor comment fixes.
3328
3329 2009-04-10  Robert Dewar  <dewar@adacore.com>
3330
3331         * sem_ch8.adb: Minor reformatting
3332
3333 2009-04-10  Robert Dewar  <dewar@adacore.com>
3334
3335         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
3336         procedures.
3337
3338         * sem_ch6.adb: Minor code clean up.
3339
3340 2009-04-10  Robert Dewar  <dewar@adacore.com>
3341
3342         * mlib-tgt-specific-xi.adb: Minor reformatting
3343
3344 2009-04-10  Bob Duff  <duff@adacore.com>
3345
3346         * einfo.ads: Minor comment fixes
3347
3348 2009-04-10  Vincent Celier  <celier@adacore.com>
3349
3350         * snames.ads-tmpl: Remove names that are no longer used in the
3351         Project Manager.
3352         Mark specifically those that are used only in gprbuild
3353
3354 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
3355
3356         * init.c: Adjust EH support code on Alpha/Tru64.
3357
3358 2009-04-10  Bob Duff  <duff@adacore.com>
3359
3360         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
3361         procedure on every path that could return implicitly (not via a return
3362         statement) from a procedure.
3363
3364 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3365
3366         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
3367         valid scope for a task declarations and therefore for a master id.
3368
3369 2009-04-10  Robert Dewar  <dewar@adacore.com>
3370
3371         * sem_aux.adb: Minor reformatting
3372
3373 2009-04-10  Vincent Celier  <celier@adacore.com>
3374
3375         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
3376         True.
3377         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
3378         (Set_Obsolescent_Check): New procedure to change the value of
3379         Obsolescent_Check_Flag.
3380
3381         * scn.ads (Set_Obsolescent_Check): New procedure to control
3382         Obsolescent_Check.
3383
3384         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
3385         obsolescent features while preprocessing.
3386
3387 2009-04-10  Thomas Quinot  <quinot@adacore.com>
3388
3389         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
3390         generated files on all platforms.
3391
3392 2009-04-10  Robert Dewar  <dewar@adacore.com>
3393
3394         * sem_aux.adb: Minor reformatting
3395
3396 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3397
3398         * sem_ch3.adb (Access_Definition): Handle properly the case of a
3399         protected function with formals that returns an anonymous access type.
3400
3401 2009-04-10  Thomas Quinot  <quinot@adacore.com>
3402
3403         * sem_disp.adb: Minor reformatting
3404
3405 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
3406
3407         * seh_init.c: Do not use the 32-bit specific implementation of
3408         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
3409         version TBD).
3410
3411 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
3412
3413         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
3414         a '/' at the end so we better use the complete target name to determine
3415         whether it is a PowerPC 55xx target.
3416
3417 2009-04-10  Thomas Quinot  <quinot@adacore.com>
3418
3419         * sem_eval.adb: Minor reformatting
3420
3421 2009-04-10  Thomas Quinot  <quinot@adacore.com>
3422
3423         * snames.h, snames.ads, snames.adb: Remove files, now generated from
3424         templates.
3425
3426         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
3427         above.
3428
3429         * xsnamest.adb: New file.
3430
3431         * gcc-interface/Make-lang.in: New target for automated generation of
3432         snames.ads, snames.adb and snames.h
3433
3434 2009-04-10  Tristan Gingold  <gingold@adacore.com>
3435
3436         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
3437         avoid compile time warnings.
3438         Do not add gcc/config in include search list while compiling the RTS.
3439         Pragma Thread_Local_Storage is available on any target.
3440
3441 2009-04-10  Bob Duff  <duff@adacore.com>
3442
3443         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
3444
3445 2009-04-10  Tristan Gingold  <gingold@adacore.com>
3446
3447         * init.c: Install signal handler on Darwin.
3448
3449 2009-04-10  Robert Dewar  <dewar@adacore.com>
3450
3451         * sem_prag.adb: Minor reformatting
3452
3453         * exp_util.adb (Make_Non_Empty_Check): New function
3454         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
3455         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
3456
3457 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
3458
3459         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
3460
3461 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
3462
3463         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
3464         tool prefix for AVR and PowerPC 55xx targets.
3465
3466 2009-04-10  Robert Dewar  <dewar@adacore.com>
3467
3468         * sem_warn.adb (Within_Postcondition): New function
3469         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
3470
3471 2009-04-10  Robert Dewar  <dewar@adacore.com>
3472
3473         * sem_warn.adb: Minor reformatting
3474
3475         * make.adb: Minor reformatting.
3476
3477 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
3478
3479         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
3480         entity and the scope is a subprogram, retrieve the Sloc of the
3481         subprogram's body rather than using the sloc of the spec, for better
3482         line-stepping behavior in gdb.
3483         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
3484         controller, use the Sloc of the first declaration of the containing list
3485         rather than that of the node that triggered creation of the list
3486         controller.
3487
3488 2009-04-10  Vincent Celier  <celier@adacore.com>
3489
3490         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
3491         to avoid gcc warning.
3492
3493 2009-04-10  Robert Dewar  <dewar@adacore.com>
3494
3495         * g-comlin.adb: Add ??? comment
3496
3497 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3498
3499         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
3500         unreferenced entities for a package with no visible declarations.
3501
3502 2009-04-10  Robert Dewar  <dewar@adacore.com>
3503
3504         * exp_ch9.adb: Minor reformatting
3505
3506 2009-04-10  Thomas Quinot  <quinot@adacore.com>
3507
3508         * sem_prag.adb: Minor reformatting
3509
3510 2009-04-10  Vincent Celier  <celier@adacore.com>
3511
3512         * prj-nmsc.adb:
3513         (Check_Library_Attributes): For a project qualified as a library project
3514         that is not a library project, indicate in the error message which
3515         attributes are missing (Library_Dir and/or Library_Name).
3516
3517 2009-04-10  Bob Duff  <duff@adacore.com>
3518
3519         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
3520         generated nodes, because it might confuse various circuits in the FE.
3521
3522 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3523
3524         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
3525         of pragma. It will be recopied and analyzed when used in call to
3526         Create_Task.
3527
3528         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
3529         initialization operations and recognize use of it in procedure calls
3530         within init_procs.
3531
3532         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
3533         argument, because it may have side-effects.
3534
3535         * exp_ch2.adb: Remove obsolete comments on default functions
3536
3537 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
3538
3539         * adaint.c (RTX section): Do for RTX the same thing as we do for
3540         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
3541
3542 2009-04-10  Robert Dewar  <dewar@adacore.com>
3543
3544         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
3545
3546         * sem_res.adb (Resolve_Call): Fix test for
3547         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
3548         a non-dynamic scope).
3549
3550 2009-04-10  Robert Dewar  <dewar@adacore.com>
3551
3552         * make.adb: Add comment.
3553         Minor reformatting
3554
3555 2009-04-10  Nicolas Setton  <setton@adacore.com>
3556
3557         * s-osprim-darwin.adb: New file.
3558
3559         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
3560
3561 2009-04-10  Thomas Quinot  <quinot@adacore.com>
3562
3563         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
3564
3565 2009-04-09  Nick Clifton  <nickc@redhat.com>
3566
3567         * adadecode.h: Change copyright header to refer to version
3568         3 of the GNU General Public License with version 3.1 of the
3569         GCC Runtime Library Exception and to point readers at the
3570         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
3571         page.
3572         * 9drpc.adb: Likewise.
3573         * a-assert.adb: Likewise.
3574         * a-astaco.adb: Likewise.
3575         * a-calari.adb: Likewise.
3576         * a-calcon.adb: Likewise.
3577         * a-calcon.ads: Likewise.
3578         * a-caldel.ads: Likewise.
3579         * a-calend-vms.adb: Likewise.
3580         * a-calend-vms.ads: Likewise.
3581         * a-calend.adb: Likewise.
3582         * a-calend.ads: Likewise.
3583         * a-calfor.adb: Likewise.
3584         * a-catizo.adb: Likewise.
3585         * a-cdlili.adb: Likewise.
3586         * a-cdlili.ads: Likewise.
3587         * a-cgaaso.adb: Likewise.
3588         * a-cgaaso.ads: Likewise.
3589         * a-cgarso.adb: Likewise.
3590         * a-cgcaso.adb: Likewise.
3591         * a-chacon.adb: Likewise.
3592         * a-chacon.ads: Likewise.
3593         * a-chahan.adb: Likewise.
3594         * a-chahan.ads: Likewise.
3595         * a-chlat9.ads: Likewise.
3596         * a-chtgke.adb: Likewise.
3597         * a-chtgke.ads: Likewise.
3598         * a-chtgop.adb: Likewise.
3599         * a-chtgop.ads: Likewise.
3600         * a-chzla1.ads: Likewise.
3601         * a-chzla9.ads: Likewise.
3602         * a-cidlli.adb: Likewise.
3603         * a-cidlli.ads: Likewise.
3604         * a-cihama.adb: Likewise.
3605         * a-cihama.ads: Likewise.
3606         * a-cihase.adb: Likewise.
3607         * a-cihase.ads: Likewise.
3608         * a-ciorma.adb: Likewise.
3609         * a-ciorma.ads: Likewise.
3610         * a-ciormu.adb: Likewise.
3611         * a-ciormu.ads: Likewise.
3612         * a-ciorse.adb: Likewise.
3613         * a-ciorse.ads: Likewise.
3614         * a-clrefi.adb: Likewise.
3615         * a-clrefi.ads: Likewise.
3616         * a-cohama.adb: Likewise.
3617         * a-cohama.ads: Likewise.
3618         * a-cohase.adb: Likewise.
3619         * a-cohase.ads: Likewise.
3620         * a-cohata.ads: Likewise.
3621         * a-coinve.adb: Likewise.
3622         * a-coinve.ads: Likewise.
3623         * a-colien.adb: Likewise.
3624         * a-colien.ads: Likewise.
3625         * a-colire.adb: Likewise.
3626         * a-colire.ads: Likewise.
3627         * a-comlin.adb: Likewise.
3628         * a-comlin.ads: Likewise.
3629         * a-convec.adb: Likewise.
3630         * a-convec.ads: Likewise.
3631         * a-coorma.adb: Likewise.
3632         * a-coorma.ads: Likewise.
3633         * a-coormu.adb: Likewise.
3634         * a-coormu.ads: Likewise.
3635         * a-coorse.adb: Likewise.
3636         * a-coorse.ads: Likewise.
3637         * a-coprnu.adb: Likewise.
3638         * a-coprnu.ads: Likewise.
3639         * a-crbltr.ads: Likewise.
3640         * a-crbtgk.adb: Likewise.
3641         * a-crbtgk.ads: Likewise.
3642         * a-crbtgo.adb: Likewise.
3643         * a-crbtgo.ads: Likewise.
3644         * a-crdlli.adb: Likewise.
3645         * a-crdlli.ads: Likewise.
3646         * a-cwila1.ads: Likewise.
3647         * a-cwila9.ads: Likewise.
3648         * a-decima.adb: Likewise.
3649         * a-decima.ads: Likewise.
3650         * a-diocst.adb: Likewise.
3651         * a-diocst.ads: Likewise.
3652         * a-direct.adb: Likewise.
3653         * a-direct.ads: Likewise.
3654         * a-direio.adb: Likewise.
3655         * a-direio.ads: Likewise.
3656         * a-dirval-mingw.adb: Likewise.
3657         * a-dirval-vms.adb: Likewise.
3658         * a-dirval.adb: Likewise.
3659         * a-dirval.ads: Likewise.
3660         * a-dynpri.adb: Likewise.
3661         * a-einuoc.adb: Likewise.
3662         * a-einuoc.ads: Likewise.
3663         * a-elchha.adb: Likewise.
3664         * a-elchha.ads: Likewise.
3665         * a-envvar.adb: Likewise.
3666         * a-excach.adb: Likewise.
3667         * a-except-2005.adb: Likewise.
3668         * a-except-2005.ads: Likewise.
3669         * a-except.adb: Likewise.
3670         * a-except.ads: Likewise.
3671         * a-excpol-abort.adb: Likewise.
3672         * a-excpol.adb: Likewise.
3673         * a-exctra.adb: Likewise.
3674         * a-exctra.ads: Likewise.
3675         * a-exetim-mingw.adb: Likewise.
3676         * a-exetim-mingw.ads: Likewise.
3677         * a-exexda.adb: Likewise.
3678         * a-exexpr-gcc.adb: Likewise.
3679         * a-exexpr.adb: Likewise.
3680         * a-exextr.adb: Likewise.
3681         * a-exstat.adb: Likewise.
3682         * a-filico.adb: Likewise.
3683         * a-filico.ads: Likewise.
3684         * a-finali.adb: Likewise.
3685         * a-finali.ads: Likewise.
3686         * a-interr.ads: Likewise.
3687         * a-intnam-aix.ads: Likewise.
3688         * a-intnam-darwin.ads: Likewise.
3689         * a-intnam-dummy.ads: Likewise.
3690         * a-intnam-freebsd.ads: Likewise.
3691         * a-intnam-hpux.ads: Likewise.
3692         * a-intnam-irix.ads: Likewise.
3693         * a-intnam-linux.ads: Likewise.
3694         * a-intnam-lynxos.ads: Likewise.
3695         * a-intnam-mingw.ads: Likewise.
3696         * a-intnam-rtems.ads: Likewise.
3697         * a-intnam-solaris.ads: Likewise.
3698         * a-intnam-tru64.ads: Likewise.
3699         * a-intnam-vms.ads: Likewise.
3700         * a-intnam-vxworks.ads: Likewise.
3701         * a-intsig.adb: Likewise.
3702         * a-intsig.ads: Likewise.
3703         * a-ngcefu.adb: Likewise.
3704         * a-ngcoar.adb: Likewise.
3705         * a-ngcoty.adb: Likewise.
3706         * a-ngcoty.ads: Likewise.
3707         * a-ngelfu.adb: Likewise.
3708         * a-ngrear.adb: Likewise.
3709         * a-ngrear.ads: Likewise.
3710         * a-nudira.adb: Likewise.
3711         * a-nudira.ads: Likewise.
3712         * a-nuflra.adb: Likewise.
3713         * a-nuflra.ads: Likewise.
3714         * a-numaux-darwin.adb: Likewise.
3715         * a-numaux-darwin.ads: Likewise.
3716         * a-numaux-libc-x86.ads: Likewise.
3717         * a-numaux-vxworks.ads: Likewise.
3718         * a-numaux-x86.adb: Likewise.
3719         * a-numaux-x86.ads: Likewise.
3720         * a-numaux.ads: Likewise.
3721         * a-rbtgso.adb: Likewise.
3722         * a-rbtgso.ads: Likewise.
3723         * a-reatim.ads: Likewise.
3724         * a-retide.adb: Likewise.
3725         * a-retide.ads: Likewise.
3726         * a-rttiev.adb: Likewise.
3727         * a-rttiev.ads: Likewise.
3728         * a-secain.adb: Likewise.
3729         * a-secain.ads: Likewise.
3730         * a-sequio.adb: Likewise.
3731         * a-sequio.ads: Likewise.
3732         * a-shcain.adb: Likewise.
3733         * a-shcain.ads: Likewise.
3734         * a-siocst.adb: Likewise.
3735         * a-siocst.ads: Likewise.
3736         * a-slcain.adb: Likewise.
3737         * a-slcain.ads: Likewise.
3738         * a-ssicst.adb: Likewise.
3739         * a-ssicst.ads: Likewise.
3740         * a-stboha.adb: Likewise.
3741         * a-stmaco.ads: Likewise.
3742         * a-storio.adb: Likewise.
3743         * a-strbou.adb: Likewise.
3744         * a-strbou.ads: Likewise.
3745         * a-stream.ads: Likewise.
3746         * a-strfix.adb: Likewise.
3747         * a-strhas.adb: Likewise.
3748         * a-strmap.adb: Likewise.
3749         * a-strmap.ads: Likewise.
3750         * a-strsea.adb: Likewise.
3751         * a-strsea.ads: Likewise.
3752         * a-strsup.adb: Likewise.
3753         * a-strsup.ads: Likewise.
3754         * a-strunb.adb: Likewise.
3755         * a-strunb.ads: Likewise.
3756         * a-ststio.adb: Likewise.
3757         * a-ststio.ads: Likewise.
3758         * a-stunau.adb: Likewise.
3759         * a-stunau.ads: Likewise.
3760         * a-stunha.adb: Likewise.
3761         * a-stwibo.adb: Likewise.
3762         * a-stwibo.ads: Likewise.
3763         * a-stwifi.adb: Likewise.
3764         * a-stwiha.adb: Likewise.
3765         * a-stwima.adb: Likewise.
3766         * a-stwima.ads: Likewise.
3767         * a-stwise.adb: Likewise.
3768         * a-stwise.ads: Likewise.
3769         * a-stwisu.adb: Likewise.
3770         * a-stwisu.ads: Likewise.
3771         * a-stwiun.adb: Likewise.
3772         * a-stwiun.ads: Likewise.
3773         * a-stzbou.adb: Likewise.
3774         * a-stzbou.ads: Likewise.
3775         * a-stzfix.adb: Likewise.
3776         * a-stzhas.adb: Likewise.
3777         * a-stzmap.adb: Likewise.
3778         * a-stzmap.ads: Likewise.
3779         * a-stzsea.adb: Likewise.
3780         * a-stzsea.ads: Likewise.
3781         * a-stzsup.adb: Likewise.
3782         * a-stzsup.ads: Likewise.
3783         * a-stzunb.adb: Likewise.
3784         * a-stzunb.ads: Likewise.
3785         * a-suteio.adb: Likewise.
3786         * a-suteio.ads: Likewise.
3787         * a-swbwha.adb: Likewise.
3788         * a-swmwco.ads: Likewise.
3789         * a-swunau.adb: Likewise.
3790         * a-swunau.ads: Likewise.
3791         * a-swuwha.adb: Likewise.
3792         * a-swuwti.adb: Likewise.
3793         * a-swuwti.ads: Likewise.
3794         * a-sytaco.adb: Likewise.
3795         * a-sytaco.ads: Likewise.
3796         * a-szbzha.adb: Likewise.
3797         * a-szmzco.ads: Likewise.
3798         * a-szunau.adb: Likewise.
3799         * a-szunau.ads: Likewise.
3800         * a-szuzha.adb: Likewise.
3801         * a-szuzti.adb: Likewise.
3802         * a-szuzti.ads: Likewise.
3803         * a-tags.adb: Likewise.
3804         * a-tags.ads: Likewise.
3805         * a-tasatt.ads: Likewise.
3806         * a-taside.adb: Likewise.
3807         * a-taside.ads: Likewise.
3808         * a-taster.adb: Likewise.
3809         * a-teioed.adb: Likewise.
3810         * a-teioed.ads: Likewise.
3811         * a-textio.adb: Likewise.
3812         * a-textio.ads: Likewise.
3813         * a-tiboio.adb: Likewise.
3814         * a-ticoau.adb: Likewise.
3815         * a-ticoau.ads: Likewise.
3816         * a-ticoio.adb: Likewise.
3817         * a-ticoio.ads: Likewise.
3818         * a-tideau.adb: Likewise.
3819         * a-tideau.ads: Likewise.
3820         * a-tideio.adb: Likewise.
3821         * a-tideio.ads: Likewise.
3822         * a-tienau.adb: Likewise.
3823         * a-tienau.ads: Likewise.
3824         * a-tienio.adb: Likewise.
3825         * a-tienio.ads: Likewise.
3826         * a-tifiio.adb: Likewise.
3827         * a-tifiio.ads: Likewise.
3828         * a-tiflau.adb: Likewise.
3829         * a-tiflau.ads: Likewise.
3830         * a-tiflio.adb: Likewise.
3831         * a-tiflio.ads: Likewise.
3832         * a-tigeau.adb: Likewise.
3833         * a-tigeau.ads: Likewise.
3834         * a-tiinau.adb: Likewise.
3835         * a-tiinau.ads: Likewise.
3836         * a-tiinio.adb: Likewise.
3837         * a-tiinio.ads: Likewise.
3838         * a-timoau.adb: Likewise.
3839         * a-timoau.ads: Likewise.
3840         * a-timoio.adb: Likewise.
3841         * a-timoio.ads: Likewise.
3842         * a-tiocst.adb: Likewise.
3843         * a-tiocst.ads: Likewise.
3844         * a-titest.adb: Likewise.
3845         * a-wichun.adb: Likewise.
3846         * a-wichun.ads: Likewise.
3847         * a-witeio.adb: Likewise.
3848         * a-witeio.ads: Likewise.
3849         * a-wtcoau.adb: Likewise.
3850         * a-wtcoau.ads: Likewise.
3851         * a-wtcoio.adb: Likewise.
3852         * a-wtcstr.adb: Likewise.
3853         * a-wtcstr.ads: Likewise.
3854         * a-wtdeau.adb: Likewise.
3855         * a-wtdeau.ads: Likewise.
3856         * a-wtdeio.adb: Likewise.
3857         * a-wtdeio.ads: Likewise.
3858         * a-wtedit.adb: Likewise.
3859         * a-wtedit.ads: Likewise.
3860         * a-wtenau.adb: Likewise.
3861         * a-wtenau.ads: Likewise.
3862         * a-wtenio.adb: Likewise.
3863         * a-wtenio.ads: Likewise.
3864         * a-wtfiio.adb: Likewise.
3865         * a-wtfiio.ads: Likewise.
3866         * a-wtflau.adb: Likewise.
3867         * a-wtflau.ads: Likewise.
3868         * a-wtflio.adb: Likewise.
3869         * a-wtflio.ads: Likewise.
3870         * a-wtgeau.adb: Likewise.
3871         * a-wtgeau.ads: Likewise.
3872         * a-wtinau.adb: Likewise.
3873         * a-wtinau.ads: Likewise.
3874         * a-wtinio.adb: Likewise.
3875         * a-wtmoau.adb: Likewise.
3876         * a-wtmoau.ads: Likewise.
3877         * a-wtmoio.adb: Likewise.
3878         * a-wtmoio.ads: Likewise.
3879         * a-wttest.adb: Likewise.
3880         * a-wwboio.adb: Likewise.
3881         * a-zchuni.adb: Likewise.
3882         * a-zchuni.ads: Likewise.
3883         * a-ztcoau.adb: Likewise.
3884         * a-ztcoau.ads: Likewise.
3885         * a-ztcoio.adb: Likewise.
3886         * a-ztcstr.adb: Likewise.
3887         * a-ztcstr.ads: Likewise.
3888         * a-ztdeau.adb: Likewise.
3889         * a-ztdeau.ads: Likewise.
3890         * a-ztdeio.adb: Likewise.
3891         * a-ztdeio.ads: Likewise.
3892         * a-ztedit.adb: Likewise.
3893         * a-ztedit.ads: Likewise.
3894         * a-ztenau.adb: Likewise.
3895         * a-ztenau.ads: Likewise.
3896         * a-ztenio.adb: Likewise.
3897         * a-ztenio.ads: Likewise.
3898         * a-ztexio.adb: Likewise.
3899         * a-ztexio.ads: Likewise.
3900         * a-ztfiio.adb: Likewise.
3901         * a-ztfiio.ads: Likewise.
3902         * a-ztflau.adb: Likewise.
3903         * a-ztflau.ads: Likewise.
3904         * a-ztflio.adb: Likewise.
3905         * a-ztflio.ads: Likewise.
3906         * a-ztgeau.adb: Likewise.
3907         * a-ztgeau.ads: Likewise.
3908         * a-ztinau.adb: Likewise.
3909         * a-ztinau.ads: Likewise.
3910         * a-ztinio.adb: Likewise.
3911         * a-ztmoau.adb: Likewise.
3912         * a-ztmoau.ads: Likewise.
3913         * a-ztmoio.adb: Likewise.
3914         * a-ztmoio.ads: Likewise.
3915         * a-zttest.adb: Likewise.
3916         * a-zzboio.adb: Likewise.
3917         * adadecode.c: Likewise.
3918         * adaint.c: Likewise.
3919         * adaint.h: Likewise.
3920         * alloc.ads: Likewise.
3921         * argv.c: Likewise.
3922         * arit64.c: Likewise.
3923         * atree.adb: Likewise.
3924         * atree.ads: Likewise.
3925         * aux-io.c: Likewise.
3926         * cal.c: Likewise.
3927         * casing.adb: Likewise.
3928         * casing.ads: Likewise.
3929         * cio.c: Likewise.
3930         * csets.adb: Likewise.
3931         * csets.ads: Likewise.
3932         * cstreams.c: Likewise.
3933         * ctrl_c.c: Likewise.
3934         * debug.adb: Likewise.
3935         * debug.ads: Likewise.
3936         * dec.ads: Likewise.
3937         * einfo.adb: Likewise.
3938         * einfo.ads: Likewise.
3939         * elists.adb: Likewise.
3940         * elists.ads: Likewise.
3941         * env.c: Likewise.
3942         * env.h: Likewise.
3943         * errno.c: Likewise.
3944         * exit.c: Likewise.
3945         * fe.h: Likewise.
3946         * final.c: Likewise.
3947         * fname.adb: Likewise.
3948         * fname.ads: Likewise.
3949         * g-allein.ads: Likewise.
3950         * g-alleve.adb: Likewise.
3951         * g-alleve.ads: Likewise.
3952         * g-altcon.adb: Likewise.
3953         * g-altcon.ads: Likewise.
3954         * g-altive.ads: Likewise.
3955         * g-alveop.adb: Likewise.
3956         * g-alveop.ads: Likewise.
3957         * g-alvety.ads: Likewise.
3958         * g-alvevi.ads: Likewise.
3959         * g-arrspl.adb: Likewise.
3960         * g-arrspl.ads: Likewise.
3961         * g-calend.ads: Likewise.
3962         * g-comlin.adb: Likewise.
3963         * g-debpoo.adb: Likewise.
3964         * g-debpoo.ads: Likewise.
3965         * g-eacodu-vms.adb: Likewise.
3966         * g-eacodu.adb: Likewise.
3967         * g-excact.adb: Likewise.
3968         * g-excact.ads: Likewise.
3969         * g-locfil.adb: Likewise.
3970         * g-os_lib.ads: Likewise.
3971         * g-rannum.adb: Likewise.
3972         * g-rannum.ads: Likewise.
3973         * g-regist.adb: Likewise.
3974         * g-regist.ads: Likewise.
3975         * g-signal.adb: Likewise.
3976         * g-signal.ads: Likewise.
3977         * g-soccon.ads: Likewise.
3978         * g-string.adb: Likewise.
3979         * g-string.ads: Likewise.
3980         * g-strspl.ads: Likewise.
3981         * g-timsta.adb: Likewise.
3982         * g-timsta.ads: Likewise.
3983         * g-trasym-vms-alpha.adb: Likewise.
3984         * g-trasym-vms-ia64.adb: Likewise.
3985         * g-utf_32.adb: Likewise.
3986         * g-utf_32.ads: Likewise.
3987         * g-wistsp.ads: Likewise.
3988         * g-zstspl.ads: Likewise.
3989         * gmem.c: Likewise.
3990         * gnatvsn.adb: Likewise.
3991         * gnatvsn.ads: Likewise.
3992         * gsocket.h: Likewise.
3993         * hostparm.ads: Likewise.
3994         * i-c.adb: Likewise.
3995         * i-cexten.ads: Likewise.
3996         * i-cobol.adb: Likewise.
3997         * i-cobol.ads: Likewise.
3998         * i-cpoint.adb: Likewise.
3999         * i-cpoint.ads: Likewise.
4000         * i-cpp.adb: Likewise.
4001         * i-cpp.ads: Likewise.
4002         * i-cstrea-vms.adb: Likewise.
4003         * i-cstrea.adb: Likewise.
4004         * i-cstrea.ads: Likewise.
4005         * i-cstrin.adb: Likewise.
4006         * i-cstrin.ads: Likewise.
4007         * i-forbla-darwin.adb: Likewise.
4008         * i-forbla-unimplemented.ads: Likewise.
4009         * i-forbla.adb: Likewise.
4010         * i-forbla.ads: Likewise.
4011         * i-forlap.ads: Likewise.
4012         * i-fortra.adb: Likewise.
4013         * i-pacdec.adb: Likewise.
4014         * i-pacdec.ads: Likewise.
4015         * i-vxwoio.adb: Likewise.
4016         * i-vxwoio.ads: Likewise.
4017         * indepsw-aix.adb: Likewise.
4018         * indepsw-gnu.adb: Likewise.
4019         * indepsw-mingw.adb: Likewise.
4020         * indepsw.adb: Likewise.
4021         * indepsw.ads: Likewise.
4022         * init.c: Likewise.
4023         * initialize.c: Likewise.
4024         * interfac.ads: Likewise.
4025         * krunch.adb: Likewise.
4026         * krunch.ads: Likewise.
4027         * lib-list.adb: Likewise.
4028         * lib-sort.adb: Likewise.
4029         * lib.adb: Likewise.
4030         * lib.ads: Likewise.
4031         * link.c: Likewise.
4032         * math_lib.adb: Likewise.
4033         * memtrack.adb: Likewise.
4034         * mingw32.h: Likewise.
4035         * mkdir.c: Likewise.
4036         * namet-sp.adb: Likewise.
4037         * namet-sp.ads: Likewise.
4038         * namet.adb: Likewise.
4039         * namet.ads: Likewise.
4040         * nlists.adb: Likewise.
4041         * nlists.ads: Likewise.
4042         * opt.adb: Likewise.
4043         * opt.ads: Likewise.
4044         * output.adb: Likewise.
4045         * output.ads: Likewise.
4046         * raise-gcc.c: Likewise.
4047         * raise.c: Likewise.
4048         * raise.h: Likewise.
4049         * repinfo.adb: Likewise.
4050         * repinfo.ads: Likewise.
4051         * repinfo.h: Likewise.
4052         * rident.ads: Likewise.
4053         * s-addima.adb: Likewise.
4054         * s-addima.ads: Likewise.
4055         * s-addope.adb: Likewise.
4056         * s-addope.ads: Likewise.
4057         * s-arit64.adb: Likewise.
4058         * s-arit64.ads: Likewise.
4059         * s-assert.adb: Likewise.
4060         * s-assert.ads: Likewise.
4061         * s-asthan-vms-alpha.adb: Likewise.
4062         * s-asthan.adb: Likewise.
4063         * s-asthan.ads: Likewise.
4064         * s-atacco.adb: Likewise.
4065         * s-atacco.ads: Likewise.
4066         * s-auxdec-empty.adb: Likewise.
4067         * s-auxdec-empty.ads: Likewise.
4068         * s-auxdec-vms_64.ads: Likewise.
4069         * s-auxdec.adb: Likewise.
4070         * s-auxdec.ads: Likewise.
4071         * s-bitops.adb: Likewise.
4072         * s-bitops.ads: Likewise.
4073         * s-boarop.ads: Likewise.
4074         * s-carsi8.adb: Likewise.
4075         * s-carsi8.ads: Likewise.
4076         * s-carun8.adb: Likewise.
4077         * s-carun8.ads: Likewise.
4078         * s-casi16.adb: Likewise.
4079         * s-casi16.ads: Likewise.
4080         * s-casi32.adb: Likewise.
4081         * s-casi32.ads: Likewise.
4082         * s-casi64.adb: Likewise.
4083         * s-casi64.ads: Likewise.
4084         * s-casuti.ads: Likewise.
4085         * s-caun16.adb: Likewise.
4086         * s-caun16.ads: Likewise.
4087         * s-caun32.adb: Likewise.
4088         * s-caun32.ads: Likewise.
4089         * s-caun64.adb: Likewise.
4090         * s-caun64.ads: Likewise.
4091         * s-chepoo.ads: Likewise.
4092         * s-crc32.adb: Likewise.
4093         * s-crc32.ads: Likewise.
4094         * s-crtl.ads: Likewise.
4095         * s-direio.adb: Likewise.
4096         * s-direio.ads: Likewise.
4097         * s-dsaser.ads: Likewise.
4098         * s-except.adb: Likewise.
4099         * s-except.ads: Likewise.
4100         * s-exctab.adb: Likewise.
4101         * s-exctab.ads: Likewise.
4102         * s-exnint.adb: Likewise.
4103         * s-exnint.ads: Likewise.
4104         * s-exnllf.adb: Likewise.
4105         * s-exnllf.ads: Likewise.
4106         * s-exnlli.adb: Likewise.
4107         * s-exnlli.ads: Likewise.
4108         * s-expint.adb: Likewise.
4109         * s-expint.ads: Likewise.
4110         * s-explli.adb: Likewise.
4111         * s-explli.ads: Likewise.
4112         * s-expllu.adb: Likewise.
4113         * s-expllu.ads: Likewise.
4114         * s-expmod.adb: Likewise.
4115         * s-expmod.ads: Likewise.
4116         * s-expuns.adb: Likewise.
4117         * s-expuns.ads: Likewise.
4118         * s-fatflt.ads: Likewise.
4119         * s-fatgen.adb: Likewise.
4120         * s-fatgen.ads: Likewise.
4121         * s-fatlfl.ads: Likewise.
4122         * s-fatllf.ads: Likewise.
4123         * s-fatsfl.ads: Likewise.
4124         * s-ficobl.ads: Likewise.
4125         * s-fileio.adb: Likewise.
4126         * s-fileio.ads: Likewise.
4127         * s-filofl.ads: Likewise.
4128         * s-finimp.adb: Likewise.
4129         * s-finimp.ads: Likewise.
4130         * s-finroo.adb: Likewise.
4131         * s-finroo.ads: Likewise.
4132         * s-fishfl.ads: Likewise.
4133         * s-fore.adb: Likewise.
4134         * s-fore.ads: Likewise.
4135         * s-fvadfl.ads: Likewise.
4136         * s-fvaffl.ads: Likewise.
4137         * s-fvagfl.ads: Likewise.
4138         * s-gearop.adb: Likewise.
4139         * s-gearop.ads: Likewise.
4140         * s-gecobl.adb: Likewise.
4141         * s-gecobl.ads: Likewise.
4142         * s-gecola.adb: Likewise.
4143         * s-gecola.ads: Likewise.
4144         * s-gerebl.adb: Likewise.
4145         * s-gerebl.ads: Likewise.
4146         * s-gerela.adb: Likewise.
4147         * s-gerela.ads: Likewise.
4148         * s-geveop.adb: Likewise.
4149         * s-geveop.ads: Likewise.
4150         * s-gloloc.adb: Likewise.
4151         * s-gloloc.ads: Likewise.
4152         * s-hibaen.ads: Likewise.
4153         * s-imenne.adb: Likewise.
4154         * s-imenne.ads: Likewise.
4155         * s-imgbiu.adb: Likewise.
4156         * s-imgbiu.ads: Likewise.
4157         * s-imgboo.adb: Likewise.
4158         * s-imgboo.ads: Likewise.
4159         * s-imgcha.adb: Likewise.
4160         * s-imgcha.ads: Likewise.
4161         * s-imgdec.adb: Likewise.
4162         * s-imgdec.ads: Likewise.
4163         * s-imgenu.adb: Likewise.
4164         * s-imgenu.ads: Likewise.
4165         * s-imgint.adb: Likewise.
4166         * s-imgint.ads: Likewise.
4167         * s-imgllb.adb: Likewise.
4168         * s-imgllb.ads: Likewise.
4169         * s-imglld.adb: Likewise.
4170         * s-imglld.ads: Likewise.
4171         * s-imglli.adb: Likewise.
4172         * s-imglli.ads: Likewise.
4173         * s-imgllu.adb: Likewise.
4174         * s-imgllu.ads: Likewise.
4175         * s-imgllw.adb: Likewise.
4176         * s-imgllw.ads: Likewise.
4177         * s-imgrea.adb: Likewise.
4178         * s-imgrea.ads: Likewise.
4179         * s-imguns.adb: Likewise.
4180         * s-imguns.ads: Likewise.
4181         * s-imgwch.adb: Likewise.
4182         * s-imgwch.ads: Likewise.
4183         * s-imgwiu.adb: Likewise.
4184         * s-imgwiu.ads: Likewise.
4185         * s-inmaop-dummy.adb: Likewise.
4186         * s-inmaop-vms.adb: Likewise.
4187         * s-inmaop.ads: Likewise.
4188         * s-interr-hwint.adb: Likewise.
4189         * s-interr-sigaction.adb: Likewise.
4190         * s-interr-vms.adb: Likewise.
4191         * s-interr.adb: Likewise.
4192         * s-interr.ads: Likewise.
4193         * s-intman-dummy.adb: Likewise.
4194         * s-intman-mingw.adb: Likewise.
4195         * s-intman-posix.adb: Likewise.
4196         * s-intman-solaris.adb: Likewise.
4197         * s-intman-vms.adb: Likewise.
4198         * s-intman-vms.ads: Likewise.
4199         * s-intman-vxworks.adb: Likewise.
4200         * s-intman-vxworks.ads: Likewise.
4201         * s-intman.ads: Likewise.
4202         * s-io.adb: Likewise.
4203         * s-io.ads: Likewise.
4204         * s-linux-alpha.ads: Likewise.
4205         * s-linux-hppa.ads: Likewise.
4206         * s-linux.ads: Likewise.
4207         * s-maccod.ads: Likewise.
4208         * s-mantis.adb: Likewise.
4209         * s-mantis.ads: Likewise.
4210         * s-mastop-irix.adb: Likewise.
4211         * s-mastop.adb: Likewise.
4212         * s-mastop.ads: Likewise.
4213         * s-memcop.ads: Likewise.
4214         * s-memory-mingw.adb: Likewise.
4215         * s-memory.adb: Likewise.
4216         * s-memory.ads: Likewise.
4217         * s-os_lib.ads: Likewise.
4218         * s-oscons-tmplt.c: Likewise.
4219         * s-osinte-aix.adb: Likewise.
4220         * s-osinte-darwin.adb: Likewise.
4221         * s-osinte-freebsd.adb: Likewise.
4222         * s-osinte-irix.adb: Likewise.
4223         * s-osinte-lynxos-3.adb: Likewise.
4224         * s-osinte-rtems.ads: Likewise.
4225         * s-osinte-tru64.adb: Likewise.
4226         * s-osinte-vxworks-kernel.adb: Likewise.
4227         * s-osinte-vxworks.adb: Likewise.
4228         * s-osprim-mingw.adb: Likewise.
4229         * s-osprim-posix.adb: Likewise.
4230         * s-osprim-solaris.adb: Likewise.
4231         * s-osprim-unix.adb: Likewise.
4232         * s-osprim-vms.adb: Likewise.
4233         * s-osprim-vms.ads: Likewise.
4234         * s-osprim-vxworks.adb: Likewise.
4235         * s-osprim.ads: Likewise.
4236         * s-pack03.adb: Likewise.
4237         * s-pack03.ads: Likewise.
4238         * s-pack05.adb: Likewise.
4239         * s-pack05.ads: Likewise.
4240         * s-pack06.adb: Likewise.
4241         * s-pack06.ads: Likewise.
4242         * s-pack07.adb: Likewise.
4243         * s-pack07.ads: Likewise.
4244         * s-pack09.adb: Likewise.
4245         * s-pack09.ads: Likewise.
4246         * s-pack10.adb: Likewise.
4247         * s-pack10.ads: Likewise.
4248         * s-pack11.adb: Likewise.
4249         * s-pack11.ads: Likewise.
4250         * s-pack12.adb: Likewise.
4251         * s-pack12.ads: Likewise.
4252         * s-pack13.adb: Likewise.
4253         * s-pack13.ads: Likewise.
4254         * s-pack14.adb: Likewise.
4255         * s-pack14.ads: Likewise.
4256         * s-pack15.adb: Likewise.
4257         * s-pack15.ads: Likewise.
4258         * s-pack17.adb: Likewise.
4259         * s-pack17.ads: Likewise.
4260         * s-pack18.adb: Likewise.
4261         * s-pack18.ads: Likewise.
4262         * s-pack19.adb: Likewise.
4263         * s-pack19.ads: Likewise.
4264         * s-pack20.adb: Likewise.
4265         * s-pack20.ads: Likewise.
4266         * s-pack21.adb: Likewise.
4267         * s-pack21.ads: Likewise.
4268         * s-pack22.adb: Likewise.
4269         * s-pack22.ads: Likewise.
4270         * s-pack23.adb: Likewise.
4271         * s-pack23.ads: Likewise.
4272         * s-pack24.adb: Likewise.
4273         * s-pack24.ads: Likewise.
4274         * s-pack25.adb: Likewise.
4275         * s-pack25.ads: Likewise.
4276         * s-pack26.adb: Likewise.
4277         * s-pack26.ads: Likewise.
4278         * s-pack27.adb: Likewise.
4279         * s-pack27.ads: Likewise.
4280         * s-pack28.adb: Likewise.
4281         * s-pack28.ads: Likewise.
4282         * s-pack29.adb: Likewise.
4283         * s-pack29.ads: Likewise.
4284         * s-pack30.adb: Likewise.
4285         * s-pack30.ads: Likewise.
4286         * s-pack31.adb: Likewise.
4287         * s-pack31.ads: Likewise.
4288         * s-pack33.adb: Likewise.
4289         * s-pack33.ads: Likewise.
4290         * s-pack34.adb: Likewise.
4291         * s-pack34.ads: Likewise.
4292         * s-pack35.adb: Likewise.
4293         * s-pack35.ads: Likewise.
4294         * s-pack36.adb: Likewise.
4295         * s-pack36.ads: Likewise.
4296         * s-pack37.adb: Likewise.
4297         * s-pack37.ads: Likewise.
4298         * s-pack38.adb: Likewise.
4299         * s-pack38.ads: Likewise.
4300         * s-pack39.adb: Likewise.
4301         * s-pack39.ads: Likewise.
4302         * s-pack40.adb: Likewise.
4303         * s-pack40.ads: Likewise.
4304         * s-pack41.adb: Likewise.
4305         * s-pack41.ads: Likewise.
4306         * s-pack42.adb: Likewise.
4307         * s-pack42.ads: Likewise.
4308         * s-pack43.adb: Likewise.
4309         * s-pack43.ads: Likewise.
4310         * s-pack44.adb: Likewise.
4311         * s-pack44.ads: Likewise.
4312         * s-pack45.adb: Likewise.
4313         * s-pack45.ads: Likewise.
4314         * s-pack46.adb: Likewise.
4315         * s-pack46.ads: Likewise.
4316         * s-pack47.adb: Likewise.
4317         * s-pack47.ads: Likewise.
4318         * s-pack48.adb: Likewise.
4319         * s-pack48.ads: Likewise.
4320         * s-pack49.adb: Likewise.
4321         * s-pack49.ads: Likewise.
4322         * s-pack50.adb: Likewise.
4323         * s-pack50.ads: Likewise.
4324         * s-pack51.adb: Likewise.
4325         * s-pack51.ads: Likewise.
4326         * s-pack52.adb: Likewise.
4327         * s-pack52.ads: Likewise.
4328         * s-pack53.adb: Likewise.
4329         * s-pack53.ads: Likewise.
4330         * s-pack54.adb: Likewise.
4331         * s-pack54.ads: Likewise.
4332         * s-pack55.adb: Likewise.
4333         * s-pack55.ads: Likewise.
4334         * s-pack56.adb: Likewise.
4335         * s-pack56.ads: Likewise.
4336         * s-pack57.adb: Likewise.
4337         * s-pack57.ads: Likewise.
4338         * s-pack58.adb: Likewise.
4339         * s-pack58.ads: Likewise.
4340         * s-pack59.adb: Likewise.
4341         * s-pack59.ads: Likewise.
4342         * s-pack60.adb: Likewise.
4343         * s-pack60.ads: Likewise.
4344         * s-pack61.adb: Likewise.
4345         * s-pack61.ads: Likewise.
4346         * s-pack62.adb: Likewise.
4347         * s-pack62.ads: Likewise.
4348         * s-pack63.adb: Likewise.
4349         * s-pack63.ads: Likewise.
4350         * s-parame-ae653.ads: Likewise.
4351         * s-parame-hpux.ads: Likewise.
4352         * s-parame-rtems.adb: Likewise.
4353         * s-parame-vms-alpha.ads: Likewise.
4354         * s-parame-vms-ia64.ads: Likewise.
4355         * s-parame-vms-restrict.ads: Likewise.
4356         * s-parame-vxworks.adb: Likewise.
4357         * s-parame-vxworks.ads: Likewise.
4358         * s-parame.adb: Likewise.
4359         * s-parame.ads: Likewise.
4360         * s-parint.adb: Likewise.
4361         * s-parint.ads: Likewise.
4362         * s-pooglo.adb: Likewise.
4363         * s-pooglo.ads: Likewise.
4364         * s-pooloc.adb: Likewise.
4365         * s-pooloc.ads: Likewise.
4366         * s-poosiz.adb: Likewise.
4367         * s-poosiz.ads: Likewise.
4368         * s-powtab.ads: Likewise.
4369         * s-proinf-irix-athread.adb: Likewise.
4370         * s-proinf-irix-athread.ads: Likewise.
4371         * s-proinf.adb: Likewise.
4372         * s-proinf.ads: Likewise.
4373         * s-purexc.ads: Likewise.
4374         * s-rannum.adb: Likewise.
4375         * s-rannum.ads: Likewise.
4376         * s-restri.adb: Likewise.
4377         * s-restri.ads: Likewise.
4378         * s-rident.ads: Likewise.
4379         * s-rpc.adb: Likewise.
4380         * s-rpc.ads: Likewise.
4381         * s-scaval.adb: Likewise.
4382         * s-scaval.ads: Likewise.
4383         * s-secsta.adb: Likewise.
4384         * s-secsta.ads: Likewise.
4385         * s-sequio.adb: Likewise.
4386         * s-sequio.ads: Likewise.
4387         * s-shasto.adb: Likewise.
4388         * s-shasto.ads: Likewise.
4389         * s-soflin.adb: Likewise.
4390         * s-soflin.ads: Likewise.
4391         * s-solita.adb: Likewise.
4392         * s-solita.ads: Likewise.
4393         * s-sopco3.adb: Likewise.
4394         * s-sopco3.ads: Likewise.
4395         * s-sopco4.adb: Likewise.
4396         * s-sopco4.ads: Likewise.
4397         * s-sopco5.adb: Likewise.
4398         * s-sopco5.ads: Likewise.
4399         * s-stache.adb: Likewise.
4400         * s-stache.ads: Likewise.
4401         * s-stalib.adb: Likewise.
4402         * s-stalib.ads: Likewise.
4403         * s-stausa.adb: Likewise.
4404         * s-stausa.ads: Likewise.
4405         * s-stchop-limit.ads: Likewise.
4406         * s-stchop-rtems.adb: Likewise.
4407         * s-stchop-vxworks.adb: Likewise.
4408         * s-stchop.adb: Likewise.
4409         * s-stchop.ads: Likewise.
4410         * s-stoele.adb: Likewise.
4411         * s-stoele.ads: Likewise.
4412         * s-stopoo.adb: Likewise.
4413         * s-stopoo.ads: Likewise.
4414         * s-stratt.adb: Likewise.
4415         * s-stratt.ads: Likewise.
4416         * s-strcom.adb: Likewise.
4417         * s-strcom.ads: Likewise.
4418         * s-string.adb: Likewise.
4419         * s-string.ads: Likewise.
4420         * s-strops.adb: Likewise.
4421         * s-strops.ads: Likewise.
4422         * s-strxdr.adb: Likewise.
4423         * s-ststop.adb: Likewise.
4424         * s-ststop.ads: Likewise.
4425         * s-taasde.adb: Likewise.
4426         * s-taasde.ads: Likewise.
4427         * s-tadeca.adb: Likewise.
4428         * s-tadeca.ads: Likewise.
4429         * s-tadert.adb: Likewise.
4430         * s-tadert.ads: Likewise.
4431         * s-taenca.adb: Likewise.
4432         * s-taenca.ads: Likewise.
4433         * s-taprob.ads: Likewise.
4434         * s-taprop-dummy.adb: Likewise.
4435         * s-taprop-hpux-dce.adb: Likewise.
4436         * s-taprop-irix.adb: Likewise.
4437         * s-taprop-linux.adb: Likewise.
4438         * s-taprop-lynxos.adb: Likewise.
4439         * s-taprop-mingw.adb: Likewise.
4440         * s-taprop-posix.adb: Likewise.
4441         * s-taprop-solaris.adb: Likewise.
4442         * s-taprop-tru64.adb: Likewise.
4443         * s-taprop-vms.adb: Likewise.
4444         * s-taprop-vxworks.adb: Likewise.
4445         * s-taprop.ads: Likewise.
4446         * s-tarest.adb: Likewise.
4447         * s-tarest.ads: Likewise.
4448         * s-tasdeb.adb: Likewise.
4449         * s-tasdeb.ads: Likewise.
4450         * s-tasinf-irix.ads: Likewise.
4451         * s-tasinf-linux.adb: Likewise.
4452         * s-tasinf-linux.ads: Likewise.
4453         * s-tasinf-mingw.adb: Likewise.
4454         * s-tasinf-mingw.ads: Likewise.
4455         * s-tasinf-solaris.adb: Likewise.
4456         * s-tasinf-solaris.ads: Likewise.
4457         * s-tasinf-tru64.ads: Likewise.
4458         * s-tasinf.adb: Likewise.
4459         * s-tasinf.ads: Likewise.
4460         * s-tasini.adb: Likewise.
4461         * s-tasini.ads: Likewise.
4462         * s-taskin.adb: Likewise.
4463         * s-taskin.ads: Likewise.
4464         * s-taspri-dummy.ads: Likewise.
4465         * s-taspri-hpux-dce.ads: Likewise.
4466         * s-taspri-mingw.ads: Likewise.
4467         * s-taspri-solaris.ads: Likewise.
4468         * s-taspri-tru64.ads: Likewise.
4469         * s-taspri-vms.ads: Likewise.
4470         * s-taspri-vxworks.ads: Likewise.
4471         * s-tasque.adb: Likewise.
4472         * s-tasque.ads: Likewise.
4473         * s-tasren.adb: Likewise.
4474         * s-tasren.ads: Likewise.
4475         * s-tasres.ads: Likewise.
4476         * s-tassta.adb: Likewise.
4477         * s-tassta.ads: Likewise.
4478         * s-tasuti.adb: Likewise.
4479         * s-tasuti.ads: Likewise.
4480         * s-tfsetr-default.adb: Likewise.
4481         * s-tfsetr-vxworks.adb: Likewise.
4482         * s-tpinop.adb: Likewise.
4483         * s-tpinop.ads: Likewise.
4484         * s-tpoben.adb: Likewise.
4485         * s-tpoben.ads: Likewise.
4486         * s-tpobop.adb: Likewise.
4487         * s-tpobop.ads: Likewise.
4488         * s-tpopde-vms.adb: Likewise.
4489         * s-tpopde-vms.ads: Likewise.
4490         * s-tpopsp-lynxos.adb: Likewise.
4491         * s-tpopsp-posix-foreign.adb: Likewise.
4492         * s-tpopsp-posix.adb: Likewise.
4493         * s-tpopsp-solaris.adb: Likewise.
4494         * s-tpopsp-vxworks.adb: Likewise.
4495         * s-tporft.adb: Likewise.
4496         * s-tposen.adb: Likewise.
4497         * s-tposen.ads: Likewise.
4498         * s-traceb.adb: Likewise.
4499         * s-traceb.ads: Likewise.
4500         * s-traces-default.adb: Likewise.
4501         * s-traces.adb: Likewise.
4502         * s-traces.ads: Likewise.
4503         * s-traent-vms.adb: Likewise.
4504         * s-traent-vms.ads: Likewise.
4505         * s-traent.adb: Likewise.
4506         * s-traent.ads: Likewise.
4507         * s-trafor-default.adb: Likewise.
4508         * s-trafor-default.ads: Likewise.
4509         * s-tratas-default.adb: Likewise.
4510         * s-tratas.adb: Likewise.
4511         * s-tratas.ads: Likewise.
4512         * s-unstyp.ads: Likewise.
4513         * s-utf_32.adb: Likewise.
4514         * s-utf_32.ads: Likewise.
4515         * s-vaflop-vms-alpha.adb: Likewise.
4516         * s-vaflop.adb: Likewise.
4517         * s-vaflop.ads: Likewise.
4518         * s-valboo.adb: Likewise.
4519         * s-valboo.ads: Likewise.
4520         * s-valcha.adb: Likewise.
4521         * s-valcha.ads: Likewise.
4522         * s-valdec.adb: Likewise.
4523         * s-valdec.ads: Likewise.
4524         * s-valenu.adb: Likewise.
4525         * s-valenu.ads: Likewise.
4526         * s-valint.adb: Likewise.
4527         * s-valint.ads: Likewise.
4528         * s-vallld.adb: Likewise.
4529         * s-vallld.ads: Likewise.
4530         * s-vallli.adb: Likewise.
4531         * s-vallli.ads: Likewise.
4532         * s-valllu.adb: Likewise.
4533         * s-valllu.ads: Likewise.
4534         * s-valrea.adb: Likewise.
4535         * s-valrea.ads: Likewise.
4536         * s-valuns.adb: Likewise.
4537         * s-valuns.ads: Likewise.
4538         * s-valuti.adb: Likewise.
4539         * s-valuti.ads: Likewise.
4540         * s-valwch.adb: Likewise.
4541         * s-valwch.ads: Likewise.
4542         * s-veboop.adb: Likewise.
4543         * s-veboop.ads: Likewise.
4544         * s-vector.ads: Likewise.
4545         * s-vercon.adb: Likewise.
4546         * s-vercon.ads: Likewise.
4547         * s-vmexta.adb: Likewise.
4548         * s-vmexta.ads: Likewise.
4549         * s-vxwext-kernel.ads: Likewise.
4550         * s-vxwext-rtp.adb: Likewise.
4551         * s-vxwext-rtp.ads: Likewise.
4552         * s-vxwext.ads: Likewise.
4553         * s-vxwork-arm.ads: Likewise.
4554         * s-vxwork-m68k.ads: Likewise.
4555         * s-vxwork-mips.ads: Likewise.
4556         * s-vxwork-ppc.ads: Likewise.
4557         * s-vxwork-sparcv9.ads: Likewise.
4558         * s-vxwork-x86.ads: Likewise.
4559         * s-wchcnv.adb: Likewise.
4560         * s-wchcnv.ads: Likewise.
4561         * s-wchcon.adb: Likewise.
4562         * s-wchcon.ads: Likewise.
4563         * s-wchjis.adb: Likewise.
4564         * s-wchjis.ads: Likewise.
4565         * s-wchstw.adb: Likewise.
4566         * s-wchstw.ads: Likewise.
4567         * s-wchwts.adb: Likewise.
4568         * s-wchwts.ads: Likewise.
4569         * s-widboo.adb: Likewise.
4570         * s-widboo.ads: Likewise.
4571         * s-widcha.adb: Likewise.
4572         * s-widcha.ads: Likewise.
4573         * s-widenu.adb: Likewise.
4574         * s-widenu.ads: Likewise.
4575         * s-widlli.adb: Likewise.
4576         * s-widlli.ads: Likewise.
4577         * s-widllu.adb: Likewise.
4578         * s-widllu.ads: Likewise.
4579         * s-widwch.adb: Likewise.
4580         * s-widwch.ads: Likewise.
4581         * s-win32.ads: Likewise.
4582         * s-winext.ads: Likewise.
4583         * s-wwdcha.adb: Likewise.
4584         * s-wwdcha.ads: Likewise.
4585         * s-wwdenu.adb: Likewise.
4586         * s-wwdenu.ads: Likewise.
4587         * s-wwdwch.adb: Likewise.
4588         * s-wwdwch.ads: Likewise.
4589         * scans.adb: Likewise.
4590         * scans.ads: Likewise.
4591         * seh_init.c: Likewise.
4592         * sfn_scan.adb: Likewise.
4593         * sinfo.adb: Likewise.
4594         * sinfo.ads: Likewise.
4595         * sinput.adb: Likewise.
4596         * sinput.ads: Likewise.
4597         * snames.adb: Likewise.
4598         * snames.ads: Likewise.
4599         * socket.c: Likewise.
4600         * stand.adb: Likewise.
4601         * stand.ads: Likewise.
4602         * stringt.adb: Likewise.
4603         * stringt.ads: Likewise.
4604         * sysdep.c: Likewise.
4605         * system-aix.ads: Likewise.
4606         * system-darwin-ppc.ads: Likewise.
4607         * system-darwin-x86.ads: Likewise.
4608         * system-darwin-x86_64.ads: Likewise.
4609         * system-freebsd-x86.ads: Likewise.
4610         * system-hpux-ia64.ads: Likewise.
4611         * system-hpux.ads: Likewise.
4612         * system-irix-n32.ads: Likewise.
4613         * system-irix-n64.ads: Likewise.
4614         * system-irix-o32.ads: Likewise.
4615         * system-linux-alpha.ads: Likewise.
4616         * system-linux-hppa.ads: Likewise.
4617         * system-linux-ia64.ads: Likewise.
4618         * system-linux-mips.ads: Likewise.
4619         * system-linux-mipsel.ads: Likewise.
4620         * system-linux-ppc.ads: Likewise.
4621         * system-linux-ppc64.ads: Likewise.
4622         * system-linux-s390.ads: Likewise.
4623         * system-linux-s390x.ads: Likewise.
4624         * system-linux-sh4.ads: Likewise.
4625         * system-linux-sparc.ads: Likewise.
4626         * system-linux-sparcv9.ads: Likewise.
4627         * system-linux-x86.ads: Likewise.
4628         * system-linux-x86_64.ads: Likewise.
4629         * system-lynxos-ppc.ads: Likewise.
4630         * system-lynxos-x86.ads: Likewise.
4631         * system-mingw-x86_64.ads: Likewise.
4632         * system-mingw.ads: Likewise.
4633         * system-rtems.ads: Likewise.
4634         * system-solaris-sparc.ads: Likewise.
4635         * system-solaris-sparcv9.ads: Likewise.
4636         * system-solaris-x86.ads: Likewise.
4637         * system-solaris-x86_64.ads: Likewise.
4638         * system-tru64.ads: Likewise.
4639         * system-vms-ia64.ads: Likewise.
4640         * system-vms-zcx.ads: Likewise.
4641         * system-vms.ads: Likewise.
4642         * system-vms_64.ads: Likewise.
4643         * system-vxworks-arm.ads: Likewise.
4644         * system-vxworks-m68k.ads: Likewise.
4645         * system-vxworks-mips.ads: Likewise.
4646         * system-vxworks-ppc.ads: Likewise.
4647         * system-vxworks-sparcv9.ads: Likewise.
4648         * system-vxworks-x86.ads: Likewise.
4649         * system.ads: Likewise.
4650         * table.adb: Likewise.
4651         * table.ads: Likewise.
4652         * targext.c: Likewise.
4653         * targparm.ads: Likewise.
4654         * tree_in.adb: Likewise.
4655         * tree_in.ads: Likewise.
4656         * tree_io.adb: Likewise.
4657         * tree_io.ads: Likewise.
4658         * types.adb: Likewise.
4659         * types.ads: Likewise.
4660         * uintp.adb: Likewise.
4661         * uintp.ads: Likewise.
4662         * uname.adb: Likewise.
4663         * uname.ads: Likewise.
4664         * urealp.adb: Likewise.
4665         * urealp.ads: Likewise.
4666         * vx_stack_info.c: Likewise.
4667         * widechar.adb: Likewise.
4668         * widechar.ads: Likewise.
4669         * exp_attr.adb: Change copyright header to refer to version
4670         3 of the GNU General Public License and to point readers at the
4671         COPYING3 file and the FSF's license web page.
4672         * sem.adb: Likewise.
4673         * sem_attr.ads: Likewise.
4674         * freeze.adb: Likewise.
4675         * freeze.ads: Likewise.
4676         * errout.ads: Likewise.
4677         * erroutc.adb: Likewise.
4678         * exp_ch11.ads: Likewise.
4679
4680 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
4681
4682         * config-lang.in: Change copyright header to refer to version
4683         3 of the GNU General Public License and to point readers at the
4684         COPYING3 file and the FSF's license web page.
4685         * gcc-interface/trans.c: Likewise.
4686         * gnathtml.pl: Likewise.
4687         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
4688         * gcc-interface/gigi.h: Likewise.
4689         * gcc-interface/misc.c: Likewise.
4690         * gcc-interface/targtyps.c: Likewise.
4691
4692 2009-04-09  Nicolas Setton  <setton@adacore.com>
4693
4694         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
4695
4696         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
4697         struct_timeval.
4698
4699 2009-04-09  Bob Duff  <duff@adacore.com>
4700
4701         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
4702         internally-generated nodes related to select statements to avoid
4703         confusing the debugger.
4704
4705 2009-04-09  Pascal Obry  <obry@adacore.com>
4706
4707         * make.adb: Ensure that all linker arguments are duplicated.
4708
4709 2009-04-09  Robert Dewar  <dewar@adacore.com>
4710
4711         * sem_ch5.adb: Minor reformatting
4712
4713 2009-04-09  Vincent Celier  <celier@adacore.com>
4714
4715         * vms_data.ads:
4716         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
4717         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
4718         New qualifier /LXDEBUG=nnn for -gnatDnnn
4719         For H820-010
4720
4721         * gnat_ugn.texi:
4722         Update documentation for VMS qualifiers equivalent to -gnatGnn and
4723         -gnatDnn
4724
4725 2009-04-09  Nicolas Setton  <setton@adacore.com>
4726
4727         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
4728         to match layout of siginfo_t in sys/signal.h.
4729
4730         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
4731
4732 2009-04-09  Thomas Quinot  <quinot@adacore.com>
4733
4734         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
4735
4736 2009-04-09  Nicolas Setton  <setton@adacore.com>
4737
4738         * s-oscons-tmplt.c: Allow long lines in the generated spec.
4739         Add generation of Darwin-specific constants needed when binding to the
4740         pthread library.
4741
4742 2009-04-09  Robert Dewar  <dewar@adacore.com>
4743
4744         * checks.adb:
4745         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
4746         when no invalid values exist, Avoid duplicate read of atomic variable.
4747
4748         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
4749         (Standard_Unsigned): Set Is_Known_Valid
4750
4751         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
4752         subtype declaration if no constraint.
4753         (Set_Modular_Size): Set Is_Known_Valid if appropriate
4754         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
4755
4756 2009-04-09  Robert Dewar  <dewar@adacore.com>
4757
4758         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
4759         switch.ads: for numeric switches, an optional equal sign is always
4760         allowed.
4761
4762 2009-04-09  Vincent Celier  <celier@adacore.com>
4763
4764         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
4765         the case of file names is not significant.
4766
4767 2009-04-09  Vincent Celier  <celier@adacore.com>
4768
4769         * errout.adb: Remove dependency on package Style
4770
4771         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
4772         moved to Stylesw.
4773         
4774         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
4775         Styleg.
4776
4777         * errutil.adb, par.adb: Import Stylesw
4778
4779 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
4780
4781         * opt.ads: Fix typos.
4782
4783 2009-04-09  Robert Dewar  <dewar@adacore.com>
4784
4785         * einfo.adb: Minor reformatting
4786
4787 2009-04-09  Robert Dewar  <dewar@adacore.com>
4788
4789         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
4790         units.
4791
4792         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
4793
4794 2009-04-09  Robert Dewar  <dewar@adacore.com>
4795
4796         * g-comver.adb: Minor reformatting.
4797
4798 2009-04-09  Thomas Quinot  <quinot@adacore.com>
4799
4800         * lib-load.ads (Load_Unit): Update documentation.
4801
4802 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
4803
4804         * lib-load.adb (Load_Unit): When loading the parent of a child unit
4805         named in a with_clause, retain the with_clause to preserve a
4806         limited_with indication.
4807
4808 2009-04-09  Robert Dewar  <dewar@adacore.com>
4809
4810         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
4811         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
4812         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
4813         possible to replace an OR of two separate tests.
4814
4815 2009-04-09  Robert Dewar  <dewar@adacore.com>
4816
4817         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
4818         Maximum_Messages.
4819         
4820         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
4821         warning status as well.
4822         
4823         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
4824         
4825         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
4826         Maximum_Messages.
4827         
4828         * bindusg.adb, usage.adb: Update line for -gnatm switch
4829
4830         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
4831         -mnn binder switch.
4832
4833 2009-04-09  Robert Dewar  <dewar@adacore.com>
4834
4835         * sem_ch10.adb: Minor reformatting.
4836
4837 2009-04-09  Bob Duff  <duff@adacore.com>
4838
4839         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
4840         Set Sloc of generated nodes for calls to Undefer_Aborts and
4841         Save_Occurrence to No_Location, so the debugger ignores them and
4842         therefore does not jump back and forth when single stepping.
4843
4844 2009-04-09  Robert Dewar  <dewar@adacore.com>
4845
4846         * switch-b.adb: Minor reformatting.
4847
4848 2009-04-09  Robert Dewar  <dewar@adacore.com>
4849
4850         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
4851         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
4852         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
4853         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
4854         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
4855         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
4856         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
4857         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
4858         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
4859         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
4860         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
4861
4862 2009-04-09  Robert Dewar  <dewar@adacore.com>
4863
4864         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
4865
4866         * atree.h: Add Elist26
4867
4868         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
4869         backends.
4870
4871 2009-04-09  Javier Miranda  <miranda@adacore.com>
4872
4873         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
4874         retrieve from the Dispatch_Table_Wrappers list the external name.
4875         Addition of documentation.
4876         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
4877         used to export secondary dispatch tables (in the previous version of
4878         the frontend only primary dispatch tables were exported). Addition of
4879         documentation.
4880         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
4881         dispatch table of a given tagged type. 
4882         (Make_Tags): Modified to import secondary dispatch tables.
4883
4884         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
4885         (Constant_Redeclaration): Code cleanup.
4886
4887         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
4888         Dispatch_Table_Wrappers.  Update documentation.
4889
4890         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
4891         Renamed to Dispatch_Table_Wrappers.
4892
4893         * sem_util.adb (Collect_Interface_Components): Improve handling of
4894         private types.
4895
4896         * atree.ads (Elist26, Set_Elist26): New subprograms
4897
4898         * atree.adb (Elist26, Set_Elist26): New subprograms
4899
4900 2009-04-09  Javier Miranda  <miranda@adacore.com>
4901
4902         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
4903         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
4904         tagged types.
4905
4906 2009-04-09  Robert Dewar  <dewar@adacore.com>
4907
4908         * s-direio.adb: Minor reformatting
4909
4910         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
4911
4912 2009-04-09  Robert Dewar  <dewar@adacore.com>
4913
4914         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
4915
4916 2009-04-09  Pascal Obry  <obry@adacore.com>
4917
4918         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
4919         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
4920         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
4921         a-filico.ads: Add some missing overriding keywords.
4922
4923 2009-04-09  Pascal Obry  <obry@adacore.com>
4924
4925         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
4926         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
4927         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
4928         reformatting.
4929
4930 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
4931
4932         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
4933         missing overriding indicator if the new declaration is not seen as
4934         primitive.
4935
4936 2009-04-09  Thomas Quinot  <quinot@adacore.com>
4937
4938         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
4939         overflows in computation of bounds.
4940
4941 2009-04-09  Pascal Obry  <obry@adacore.com>
4942
4943         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
4944         typos in comment.
4945
4946 2009-04-09  Robert Dewar  <dewar@adacore.com>
4947
4948         * sem_attr.adb (Check_Stream_Attribute): Check violation of
4949         restriction No_Streams
4950
4951         * gnat_rm.texi: Clarify No_Streams restriction
4952
4953         * g-socket.adb: Minor reformatting.
4954
4955 2009-04-09  Thomas Quinot  <quinot@adacore.com>
4956
4957         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
4958
4959 2009-04-09  Geert Bosch  <bosch@adacore.com>
4960
4961         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
4962         (Set_Result): Likewise.
4963         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
4964         conversion, as required by RM 4.6(31).
4965
4966 2009-04-08  Robert Dewar  <dewar@adacore.com>
4967
4968         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
4969         suppressed.
4970         
4971         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
4972         resolution steps.
4973
4974 2009-04-08  Robert Dewar  <dewar@adacore.com>
4975
4976         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
4977         No_Local_Allocators restriction preventing local instantiation.
4978
4979 2009-04-08  Thomas Quinot  <quinot@adacore.com>
4980
4981         * sem_eval.adb: Minor comment fix
4982
4983 2009-04-08  Thomas Quinot  <quinot@adacore.com>
4984
4985         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
4986         New limited controlled type used to automate the initialization and
4987         finalization of the sockets implementation.
4988         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
4989
4990 2009-04-08  Vincent Celier  <celier@adacore.com>
4991
4992         * prj-attr.adb: New read-only project-level attribute Project_Dir
4993
4994         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
4995         read-only attribute of the same name.
4996         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
4997         (Recursive_Process): Ditto
4998
4999         * snames.adb: Add new standard name Project_Dir
5000
5001         * snames.ads: Add new standard name Project_Dir
5002
5003 2009-04-08  Thomas Quinot  <quinot@adacore.com>
5004
5005         * checks.adb: Minor reformatting
5006
5007 2009-04-08  Vincent Celier  <celier@adacore.com>
5008
5009         * vms_data.ads: Add documentation for new style keyword
5010         OVERRIDING_INDICATORS
5011
5012 2009-04-08  Robert Dewar  <dewar@adacore.com>
5013
5014         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
5015         spec is in the current unit.
5016
5017 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
5018
5019         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
5020         presence of entity.
5021
5022         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
5023
5024 2009-04-08  Vincent Celier  <celier@adacore.com>
5025
5026         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
5027
5028 2009-04-08  Thomas Quinot  <quinot@adacore.com>
5029
5030         * checks.ads: Minor reformatting
5031
5032 2009-04-08  Robert Dewar  <dewar@adacore.com>
5033
5034         * gnat_rm.texi: Update documentation of pragma Obsolescent
5035         
5036         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
5037         be omitted, and allow Entity parameter to be omitted.
5038
5039 2009-04-08  Thomas Quinot  <quinot@adacore.com>
5040
5041         * exp_util.adb: Minor comment fix
5042
5043 2009-04-08  Robert Dewar  <dewar@adacore.com>
5044
5045         * g-socket.ads: Fix bad syntax in pragma Obsolescent
5046
5047         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
5048         argument with no identifier following one that has an identifier. Was
5049         missed in some cases.
5050
5051         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
5052         identifier.
5053         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
5054
5055         * snames.adb: Add Name_Policy
5056
5057         * snames.ads: Add Name_Policy
5058
5059 2009-04-08  Robert Dewar  <dewar@adacore.com>
5060
5061         * gnat_rm.texi: Minor reformatting
5062
5063         * par-ch2.adb: Minor reformatting
5064
5065 2009-04-08  Robert Dewar  <dewar@adacore.com>
5066
5067         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
5068
5069 2009-04-08  Robert Dewar  <dewar@adacore.com>
5070
5071         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
5072         properly in the presence of Remote_Types or Remote_Call_Interface.
5073
5074         * sem_util.adb: Add comment.
5075
5076 2009-04-08  Robert Dewar  <dewar@adacore.com>
5077
5078         * ug_words: Add /ASSUME_VALID for -gnatB
5079
5080         * vms_data.ads: Add /ASSUME_VALID for -gnatB
5081
5082         * sem_cat.adb: Add clarifying commment
5083
5084         * a-direio.ads (Bytes): Make sure value is non-zero
5085
5086 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
5087
5088         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
5089         that does not come from source, check for a rewritten function call in
5090         prefixed notation before other forms of rewriting.
5091
5092 2009-04-08  Robert Dewar  <dewar@adacore.com>
5093
5094         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
5095         these are now obsolescent units used only for bootrapping with an
5096         older compiler.
5097
5098 2009-04-08  Robert Dewar  <dewar@adacore.com>
5099
5100         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
5101
5102         * sem_ch3.adb: Minor comment updates
5103
5104 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
5105
5106         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
5107         that come from source.
5108
5109 2009-04-08  Tristan Gingold  <gingold@adacore.com>
5110
5111         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
5112         * gcc-interface/decl.c (prepend_attributes): New case
5113         Pragma_Thread_Local_Storage.
5114         * gcc-interface/utils.c (process_attributes): New case
5115         ATTR_THREAD_LOCAL_STORAGE.
5116
5117 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
5118
5119         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
5120         by the back-end if it contains a call to a subprogram without a
5121         previous spec that is declared in the same unit.
5122
5123         * errout.ads: Update comments on uses of dirs
5124
5125 2009-04-08  Robert Dewar  <dewar@adacore.com>
5126
5127         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
5128
5129 2009-04-08  Tristan Gingold  <gingold@adacore.com>
5130
5131         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
5132         variables.
5133         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
5134
5135 2009-04-08  Vincent Celier  <celier@adacore.com>
5136
5137         * prj-nmsc.adb:
5138         (Add_Source): Add the mapping of the unit name to source file name in
5139         the Unit_Sources_HT hash table, if the unit name is not null.
5140
5141         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
5142
5143         * prj.ads (Unit_Sources_Htable): New hash table instantiation
5144         (Project_Tree_Data): New component Unit_Sources_HT
5145
5146 2009-04-08  Thomas Quinot  <quinot@adacore.com>
5147
5148         * sem_ch8.adb: Minor reformatting.
5149         Minor code reorganization.
5150
5151 2009-04-08  Robert Dewar  <dewar@adacore.com>
5152
5153         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
5154         snames.ads, freeze.adb, par-prag.adb: Add implementation of
5155         pragma Thread_Local_Storage, setting new flag
5156         Has_Pragma_Thread_Local_Storage in corresponding entities.
5157
5158 2009-04-08  Emmanuel Briot  <briot@adacore.com>
5159
5160         * prj.ads: Update comment on switches file
5161
5162         * prj-nmsc.adb: Code clean up. Use renaming clauses.
5163
5164 2009-04-08  Robert Dewar  <dewar@adacore.com>
5165
5166         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
5167
5168 2009-04-08  Thomas Quinot  <quinot@adacore.com>
5169
5170         * ali-util.adb: Minor comment fix
5171
5172 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
5173
5174         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
5175         appears in a context clause, and the enclosing package is mentioned in
5176         a limited_with_clause.
5177         (Use_One_Type): Reject clause if type is still incomplete.
5178
5179 2009-04-08  Emmanuel Briot  <briot@adacore.com>
5180
5181         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
5182         avoid copies of Source_Data variables when possible, since these
5183         involve calls to memcpy() which are done too many times.
5184
5185 2009-04-08  Robert Dewar  <dewar@adacore.com>
5186
5187         * exp_ch4.adb (Expand_Concatenate): Clean up code
5188
5189 2009-04-07  Thomas Quinot  <quinot@adacore.com>
5190
5191         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
5192         type for the case of concatenating a constrained array indexed by an
5193         enumeration type.
5194
5195 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5196
5197         * sem_ch6.adb (Check_Conformance): when checking conformance of an
5198         operation that overrides an abstract operation inherited from an
5199         interface, return False if only one of the controlling formals is an
5200         access parameter.
5201
5202 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5203
5204         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
5205         mandated by AI05-105.
5206
5207 2009-04-07  Vincent Celier  <celier@adacore.com>
5208
5209         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
5210
5211 2009-04-07  Thomas Quinot  <quinot@adacore.com>
5212
5213         * usage.adb: Minor fix in usage message.
5214
5215         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
5216         match declaration; the correct subtype is Node_Id, not Entity_Id,
5217         because the expected node kind is an identifier, not a defining
5218         identifier.
5219
5220         * switch-c.adb: Minor reformatting.
5221
5222         * uintp.adb: Minor reformatting.
5223
5224 2009-04-07  Robert Dewar  <dewar@adacore.com>
5225
5226         * exp_ch13.adb: Minor reformatting
5227
5228 2009-04-07  Robert Dewar  <dewar@adacore.com>
5229
5230         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
5231         against missing parent.
5232
5233 2009-04-07  Thomas Quinot  <quinot@adacore.com>
5234
5235         * xoscons.adb: Minor reformatting
5236
5237 2009-04-07  Robert Dewar  <dewar@adacore.com>
5238
5239         * rtsfind.ads: Remove obsolete string concatenation entries
5240
5241 2009-04-07  Robert Dewar  <dewar@adacore.com>
5242
5243         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
5244
5245 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5246
5247         * sem_ch10.adb (Check_Body_Required): Handle properly imported
5248         subprograms.
5249
5250 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
5251
5252         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
5253         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
5254         is of a scalar or string type then suppress the setting of the
5255         expression to Empty.
5256
5257         * freeze.adb (Warn_Overlay): Also emit the warnings about default
5258         initialization for the cases of scalar and string objects when
5259         Init_Or_Norm_Scalars is True.
5260
5261 2009-04-07  Bob Duff  <duff@adacore.com>
5262
5263         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
5264
5265 2009-04-07  Bob Duff  <duff@adacore.com>
5266
5267         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
5268         Form parameter of Text_Translation=No allows binary mode for Text_IO
5269         files.
5270
5271         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
5272
5273 2009-04-07  Javier Miranda  <miranda@adacore.com>
5274
5275         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
5276         processing the bounds for bit packed arrays or VM target machines.
5277
5278 2009-04-07  Thomas Quinot  <quinot@adacore.com>
5279
5280         * g-sothco.ads (Int_Access): Remove extraneous access type (use
5281         anonymous access instead).
5282         (Get_Socket_From_Set): Fix incorrectly reverted formals
5283         Last and Socket to match the underlying C routine.
5284
5285         * g-socket.adb, g-socket.ads
5286         (Get): Use named parameter associations instead of positional ones in
5287         call go Get_Socket_From_Set, since this routine has two formals of the
5288         same type.
5289         (Image): New procedure.
5290
5291         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5292         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
5293         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
5294         for type of Arg formal.
5295
5296         * sem_warn.adb: Minor reformatting
5297
5298 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5299
5300         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
5301         over record components.
5302
5303 2009-04-07  Nicolas Roche  <roche@adacore.com>
5304
5305         * gsocket.h:
5306         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
5307         has disappeared between VxWorks 6.4 and VxWorks 6.5
5308         In RTP mode use time.h instead of times.h
5309
5310 2009-04-07  Robert Dewar  <dewar@adacore.com>
5311
5312         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
5313
5314 2009-04-07  Kevin Pouget  <pouget@adacore.com>
5315
5316         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
5317         expanded code for constrained types.
5318
5319 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5320
5321         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
5322         AI05-105: in an object renaming declaration, anonymousness is a name
5323         resolution rule.
5324
5325         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
5326
5327 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
5328
5329         * g-comlin.adb (Expansion): Fix old regression: also return directory
5330         names when matching.
5331
5332 2009-04-07  Robert Dewar  <dewar@adacore.com>
5333
5334         * exp_ch4.adb:
5335         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
5336         (Expand_Concatenate): New name for Expand_Concatenate_String which has
5337         been rewritten to handle all types.
5338         (Expand_Concatenate_Other): Remove
5339
5340 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5341
5342         * lib-xref.adb (Generate_Reference): A default subprogram in an
5343         instance appears within the tree for the instance, but generates an
5344         implicit reference in the ALI.
5345
5346 2009-04-07  Javier Miranda  <miranda@adacore.com>
5347
5348         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
5349         derived type that has discriminants, propagate the list of interfaces
5350         to the corresponding new base type. In addition, propagate also
5351         attribute Limited_Present (found working in this patch).
5352
5353 2009-04-07  Robert Dewar  <dewar@adacore.com>
5354
5355         * exp_ch4.adb: Rewrite concatenation expansion.
5356
5357 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5358
5359         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
5360         relevant to packages.
5361
5362 2009-04-07  Robert Dewar  <dewar@adacore.com>
5363
5364         * sem_attr.adb: Minor reformatting
5365
5366         * sem_ch6.adb: Minor reformatting
5367
5368 2009-04-07  Tristan Gingold  <gingold@adacore.com>
5369
5370         * socket.c: Add more protections against S_resolvLib_ macros.
5371
5372 2009-04-07  Thomas Quinot  <quinot@adacore.com>
5373
5374         * sem_attr.adb: Minor reformatting
5375
5376 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5377
5378         * sem_ch6.adb (New_Overloaded_Entity): New predicate
5379         Is_Overriding_Alias to handle properly types that inherit two homonym
5380         operations that have distinct dispatch table entries.
5381
5382 2009-04-07  Emmanuel Briot  <briot@adacore.com>
5383
5384         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
5385         looking for the end of a parenthesis group
5386
5387 2009-04-07  Tristan Gingold  <gingold@adacore.com>
5388
5389         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
5390
5391         * socket.c Don't use resolvLib_ macros if not defined.
5392
5393 2009-04-07  Robert Dewar  <dewar@adacore.com>
5394
5395         * g-socket.adb: Minor reformatting.
5396
5397         * g-socthi-mingw.adb: Minor reformatting
5398
5399         * g-sothco.ads: Minor reformatting
5400
5401         * exp_ch4.adb:
5402         (Expand_Concatenate_String): Complete rewrite to generate efficient code
5403         inline instead of relying on external library routines.
5404
5405         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
5406         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
5407         obsolescent
5408
5409 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5410
5411         * sem_attr.adb:
5412         (Eval_Attribute): for attributes of array objects that are not strings,
5413         attributes are not static if nominal subtype of object is unconstrained.
5414
5415 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5416
5417         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
5418         operations for a type T in an instance do not override each other,
5419         when T is derived from a formal private type, the corresponding
5420         operations inherited by a type derived from T outside
5421         of the instance do not override each other either.
5422
5423 2009-04-07  Robert Dewar  <dewar@adacore.com>
5424
5425         (Osint.Fail): Change calling sequence to have one string arg
5426         (Make.Make_Failed): Same change
5427         All callers are adjusted to use concatenation
5428
5429 2009-04-07  Robert Dewar  <dewar@adacore.com>
5430
5431         * exp_ch4.adb: Fix documentation typo
5432
5433 2009-04-07  Robert Dewar  <dewar@adacore.com>
5434
5435         * tbuild.ads: Minor reformatting
5436
5437 2009-04-07  Javier Miranda  <miranda@adacore.com>
5438
5439         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
5440         when compiling under ZFP runtime.
5441
5442 2009-04-07  Robert Dewar  <dewar@adacore.com>
5443
5444         * g-comlin.adb: Minor reformatting
5445
5446 2009-04-07  Thomas Quinot  <quinot@adacore.com>
5447
5448         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5449         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
5450         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
5451         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
5452
5453 2009-04-07  Robert Dewar  <dewar@adacore.com>
5454
5455         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
5456
5457         * opt.ads (Sprint_Line_Limit): New parameter
5458         
5459         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
5460         
5461         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
5462         
5463         * usage.adb: Output information for -gnatGnn -gnatDnn
5464
5465 2009-04-07  Robert Dewar  <dewar@adacore.com>
5466
5467         * make.adb: Minor reformatting
5468
5469 2009-04-07  Robert Dewar  <dewar@adacore.com>
5470
5471         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
5472
5473 2009-04-07  Robert Dewar  <dewar@adacore.com>
5474
5475         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
5476
5477 2009-04-07  Robert Dewar  <dewar@adacore.com>
5478
5479         * checks.adb:
5480         Remove Assume_Valid parameter from In_Subrange_Of calls
5481         
5482         * sem_eval.adb:
5483         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
5484         (Is_In_Range): Remove incorrect use of Assume_Valid
5485         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
5486         
5487         * sem_eval.ads:
5488         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
5489         (Is_In_Range): Documentation cleanup
5490         (Is_Out_Of_Range): Documentation cleanup
5491
5492         * gnat_rm.texi:
5493         Add documentation for Assume_No_Invalid_Values pragma
5494
5495         * sem_ch12.adb: Minor reformatting
5496
5497         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
5498
5499         * sem_prag.adb: Improve error message.
5500
5501         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
5502         LF/CR no longer recognized as line terminator
5503
5504         * switch.ads: Minor documentation improvement
5505
5506         * vms_data.ads: Minor reformatting
5507
5508 2009-04-07  Robert Dewar  <dewar@adacore.com>
5509
5510         * checks.adb (Determine_Range): Add Assume_Valid parameter
5511         
5512         * checks.ads (Determine_Range): Add Assume_Valid parameter
5513         
5514         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
5515          Is_Null_Loop to suppress warnings in a loop body.
5516         
5517         * exp_ch4.adb:
5518         (Rewrite_Comparison): Major rewrite to accomodate invalid values
5519         
5520         * exp_ch5.adb:
5521         (Expand_N_Loop_Statement): Delete loop known not to execute
5522         
5523         * opt.ads:
5524         (Assume_No_Invalid_Values): Now set to False, and as documented, this
5525          fully enables the proper handling of invalid values.
5526         
5527         * sem_attr.adb:
5528         New calling sequence for Is_In_Range
5529         
5530         * sem_ch5.adb:
5531         (Analyze_Iteration_Scheme): Accomodate possible invalid values
5532          in determining if a loop range is null.
5533         
5534         * sem_eval.adb:
5535         (Is_In_Range): Add Assume_Valid parameter
5536         (Is_Out_Of_Range): Add Assume_Valid_Parameter
5537         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
5538          also to do more accurate and complete range analysis, catching more
5539          cases.
5540         
5541         * sem_eval.ads:
5542         (Is_In_Range): Add Assume_Valid parameter
5543         (Is_Out_Of_Range): Add Assume_Valid_Parameter
5544         
5545         * sem_util.adb:
5546         New calling sequence for Is_In_Range
5547         
5548         * sinfo.adb:
5549         (Suppress_Loop_Warnings): New flag
5550         
5551         * sinfo.ads:
5552         (Is_Null_Loop): Update documentation
5553         (Suppress_Loop_Warnings): New flag
5554         
5555         * gnat_ugn.texi: Document -gnatB switch
5556
5557 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
5558
5559         * gnatvsn.ads: Bump version number.
5560
5561 2009-04-07  Thomas Quinot  <quinot@adacore.com>
5562
5563         * exp_ch3.adb: Minor rewording (comments)
5564
5565 2009-04-07  Robert Dewar  <dewar@adacore.com>
5566
5567         * exp_disp.adb: Minor reformatting
5568
5569 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
5570
5571         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
5572         underlying type.
5573         * gcc-interface/trans.c (lvalue_required_p): Likewise.
5574
5575 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
5576
5577         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
5578         Do not convert the result.  Remove obsolete comment.
5579
5580 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
5581
5582         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
5583         DECL_CONTEXT.
5584         (Subprogram_Body_to_gnu): Fix pasto.
5585
5586 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
5587
5588         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
5589         (void_type_decl_node): Remove.
5590         (init_gigi_decls): Likewise.
5591         (gnat_install_builtins): Declare.
5592         (record_builtin_type): Likewise.
5593         (create_type_stub_decl): Likewise.
5594         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
5595         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
5596         artificial.
5597         <E_Array_Subtype>: Use the index types, not only their name, in the
5598         record giving the names of the bounds, if any.
5599         For a packed array type, make it artificial only if the base type
5600         was artificial as well.  Remove redundant statement.
5601         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
5602         dummy types.
5603         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
5604         (rest_of_type_decl_compilation_no_defer): Likewise.
5605         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
5606         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
5607         and use create_type_stub_decl to build it.
5608         (gnat_pushdecl): Rewrite condition.
5609         (gnat_install_builtins): Remove bogus declaration.
5610         (record_builtin_type): New function.
5611         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
5612         of types.
5613         (create_type_stub_decl): New function.
5614         (create_type_decl): Assert that the type is not dummy.  If the type
5615         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
5616         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
5617         (build_vms_descriptor): Likewise.
5618         (init_gigi_decls): Delete and move bulk of code to...
5619         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
5620         (emit_range_check): Add gnat_node parameter.
5621         (emit_index_check): Likewise.
5622         (emit_check): Likewise.
5623         (build_unary_op_trapv): Likewise.
5624         (build_binary_op_trapv): Likewise.
5625         (convert_with_check): Likewise.
5626         (Attribute_to_gnu): Adjust calls for above changes.
5627         (call_to_gnu): Likewise.
5628         (gnat_to_gnu): Likewise.
5629         (assoc_to_constructor): Likewise.
5630         (pos_to_constructor): Likewise.
5631         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
5632         (process_type): Do not create TYPE_DECL for dummy types.
5633
5634 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
5635
5636         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
5637         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
5638         * gcc-interface/utils.c: Fix comments.
5639
5640 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
5641
5642         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
5643         move around.
5644         (gnat_to_gnu_type): Move around.
5645         (get_unpadded_type): Likewise.
5646         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
5647         Tidy comments.
5648
5649 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
5650
5651         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
5652         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
5653         (call_to_gnu): Invoke it instead of manually checking.
5654
5655 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
5656
5657         * gcc-interface/utils.c (finish_record_type): Force structural equality
5658         checks if the record type is discriminated.
5659
5660 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
5661
5662         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
5663         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
5664         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
5665         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
5666         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
5667         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
5668         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
5669
5670 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
5671
5672         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
5673         of TREE_CONSTANT_OVERFLOW.
5674
5675 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
5676
5677         PR rtl-optimization/323
5678         * gcc-interface/misc.c (gnat_post_options): Set
5679         flag_excess_precision_cmdline.  Give an error for
5680         -fexcess-precision=standard for processors where the option is
5681         significant.
5682
5683 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
5684
5685         PR c/39323
5686         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
5687         on bit_align.
5688
5689 2009-03-11  Olivier Hainque  <hainque@adacore.com>
5690
5691         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
5692         checks processing, remove unintended TREE_TYPE walk on index type.
5693
5694 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
5695
5696         PR ada/39264
5697         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
5698         call make_packable_type on fat pointer types.
5699         <E_Array_Subtype>: Likewise.
5700         <E_Record_Subtype>: Call make_packable_type on all record types
5701         except for fat pointer types.
5702         (make_packable_type): Likewise.
5703         (gnat_to_gnu_field): Likewise.
5704
5705 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
5706
5707         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
5708         EH_MECHANISM change made on 2007-12-06.
5709
5710 2009-02-26  Andreas Schwab  <schwab@suse.de>
5711
5712         PR ada/39172
5713         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
5714         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
5715         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
5716         (AWK): Substitute.
5717         (target_cpu_default): Substitute.
5718
5719 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
5720
5721         PR ada/39221
5722         * a-teioed.adb (Expand): Fix Result overflow.
5723
5724 2009-02-25  Laurent GUERBY <laurent@guerby.net>
5725
5726         * gcc-interface/Makefile.in: Fix multilib handling for
5727         sparc64-linux.
5728
5729 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5730
5731         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
5732
5733 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
5734
5735         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
5736
5737 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
5738
5739         * gcc-interface/deftarg.c: Remove.
5740
5741 2009-02-10  Olivier Hainque  <hainque@adacore.com>
5742             Eric Botcazou  <ebotcazou@adacore.com>
5743
5744         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
5745         (copy_alias_set): Rename into...
5746         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
5747         underlying array of unconstrained arrays for the new type as well.
5748         If the old and new alias sets don't conflict, make one a subset of
5749         the other as per the OP parameter.
5750         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
5751         <E_Record_Type>: Do not copy the alias set for derived types.
5752         For all types, make the alias set of derived types a superset of
5753         that of their parent type.
5754         (make_aligning_type): Adjust calls to copy_alias_set.
5755         (make_packable_type): Likewise.
5756         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
5757         Check for alias set conflict instead of strict equality to issue the
5758         warning.
5759
5760 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
5761
5762         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
5763         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
5764         (copy_alias_set): Assert that arrays have the same aliasing settings.
5765         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
5766
5767 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
5768
5769         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
5770         Set TYPE_NONALIASED_COMPONENT on the array type.
5771
5772 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
5773
5774         * gcc-interface/Makefile.in: Fix mipsel linux handling.
5775
5776 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
5777
5778         * gcc-interface/Makefile.in: Fix multilib handling for
5779         powerpc64-linux.
5780
5781 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
5782
5783         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
5784         only useless conversions around renamed objects.
5785
5786 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
5787
5788         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
5789         the _Tag field before any discriminants in the field list.
5790         (components_to_record): Remove obsolete comment.
5791
5792
5793 \f
5794 Copyright (C) 2009 Free Software Foundation, Inc.
5795
5796 Copying and distribution of this file, with or without modification,
5797 are permitted in any medium without royalty provided the copyright
5798 notice and this notice are preserved.