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