OSDN Git Service

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