OSDN Git Service

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