OSDN Git Service

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