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