OSDN Git Service

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