OSDN Git Service

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