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