OSDN Git Service

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