OSDN Git Service

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