OSDN Git Service

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