OSDN Git Service

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