OSDN Git Service

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