OSDN Git Service

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