OSDN Git Service

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