OSDN Git Service

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