OSDN Git Service

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