OSDN Git Service

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