OSDN Git Service

8dfceb4b01ba30c30e8402f2714847f9cc895b9f
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2009-08-17  Vasiliy Fofanov  <fofanov@adacore.com>
2
3         * a-calend-vms.adb: Fix typo.
4
5 2009-08-17  Tristan Gingold  <gingold@adacore.com>
6
7         * s-taprop-posix.adb: Round up the stack size to avoid failure on
8         Darwin.
9
10 2009-08-17  Gary Dismukes  <dismukes@adacore.com>
11
12         * sem_cat.adb (Validate_Static_Object_Name): Update comment.
13
14 2009-08-17  Vincent Celier  <celier@adacore.com>
15
16         * make.adb (Arguments_Collected): Unneeded, removed
17         (Change_To_Object_Directory): Use Project directly. Add pragma Assert to
18         ensure caller does not pass in No_Project.
19         (Compile): Add new parameter Project. Let procedure
20         Collect_Arguments_And_Compile provide the proper value.
21
22         * switch-c.adb: Add documentation for -gnatea and -gnatez
23
24 2009-08-17  Ben Brosgol  <brosgol@adacore.com>
25
26         * gnat_ugn.texi: Changed name of package in SAL example, to avoid
27         clash with Ada 2005 reserved word (interface).
28
29 2009-08-17  Robert Dewar  <dewar@adacore.com>
30
31         * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
32         a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
33         a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
34         (use conditional expressions).
35
36 2009-08-17  Robert Dewar  <dewar@adacore.com>
37
38         * make.adb: Add ??? comment
39         * tbuild.adb: Minor reformatting
40
41 2009-08-17  Thomas Quinot  <quinot@adacore.com>
42
43         * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
44         Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
45         Use Tbuild.Make_Temporary to create entity for the temporary.
46
47 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
48
49         * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
50         and ignore -mieee switch to avoid spawning an extra gcc in this case.
51
52 2009-08-17  Thomas Quinot  <quinot@adacore.com>
53
54         * tbuild.adb: Minor reformatting
55
56 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
57
58         * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
59         exist, as is the case for synchronized types, use the type of the
60         discriminal in the parameter specification, to prevent a spurious
61         subtype mismatch in gigi.
62
63 2009-08-17  Robert Dewar  <dewar@adacore.com>
64
65         * prj-env.adb: Minor reformatting
66         * make.adb: Minor reformatting
67         Comment updates
68
69 2009-08-17  Javier Miranda  <miranda@adacore.com>
70
71         * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
72
73 2009-08-17  Emmanuel Briot  <briot@adacore.com>
74
75         * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
76         (Processing_Flags.Require_Obj_Dirs): new field, which controls whether
77         object directories must be present. In the case of gprclean at least,
78         these are optional (if they do not exist there is nothing to clean)
79
80 2009-08-17  Robert Dewar  <dewar@adacore.com>
81
82         * prj-env.adb: Minor reformatting
83         * sem_ch3.adb: Minor reformatting
84
85 2009-08-17  Hristian Kirtchev  <kirtchev@adacore.com>
86
87         * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
88         the time zone since VxWorks chose positive values to represent west
89         time zones and negative for east zones.
90
91 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
92
93         * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
94         an anonymous access type whose designated type is generic.
95
96 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
97
98         * comperr.adb (Compiler_Abort): Do not generate a bug box when in
99         codepeer mode, friendlier.
100
101 2009-08-10  Laurent GUERBY  <laurent@guerby.net>
102
103         * make.adb: Handle multilib
104         
105 2009-08-10  Vincent Celier  <celier@adacore.com>
106
107         * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
108         the temporary file name in the error message when the temporary file
109         cannot be created.
110
111 2009-08-10  Yannick Moy  <moy@adacore.com>
112
113         * gnat_ugn.texi: Fix typo
114
115 2009-08-10  Robert Dewar  <dewar@adacore.com>
116
117         * exp_ch7.adb: Add ??? comment for last change
118
119 2009-08-10  Vincent Celier  <celier@adacore.com>
120
121         * prj-env.adb (Add_To_Buffer): New procedure
122         (Create_Config_Pragmas_File): Write to temporary file in one shot
123         (Create_Mapping_File): Ditto
124         (Set_Ada_Paths): Ditto
125
126 2009-08-10  Vincent Celier  <celier@adacore.com>
127
128         PR ada/17566
129         * xref_lib.adb (Print_Xref): Make sure that there is at least one space
130         between a declaration name and its type.
131
132 2009-08-07  Javier Miranda  <miranda@adacore.com>
133
134         * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
135         SCIL node.
136
137 2009-08-07  Robert Dewar  <dewar@adacore.com>
138
139         * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
140
141 2009-08-07  Vincent Celier  <celier@adacore.com>
142
143         * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
144         specified on the command line and there are switches in the Compiler
145         package of the project file, use these compilation switches to invoke
146         the tool.
147
148 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
149
150         * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
151
152 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
153
154         * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
155         even if not in main unit, to simplify debugging.
156
157 2009-08-07  Arnaud Charlet  <charlet@adacore.com>
158
159         * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
160         * gcc-interface/Make-lang.in: Update dependencies.
161
162 2009-08-07  Robert Dewar  <dewar@adacore.com>
163
164         * types.ads: Minor reformatting
165         * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
166         * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
167         Output_Non_Modified_In_Out_Warnings.
168         * sem_ch13.adb: Remove ??? comment.
169
170 2009-08-07  Vincent Celier  <celier@adacore.com>
171
172         * mlib-prj.adb (Build_Library): Include binder generate object file
173         for SAL when library name is only one character.
174
175 2009-08-07  Thomas Quinot  <quinot@adacore.com>
176
177         * targparm.adb: Minor reformatting
178         * sem.adb: Minor reformatting
179         * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
180
181 2009-08-07  Emmanuel Briot  <briot@adacore.com>
182
183         * prj-conf.adb: Remove duplicate directory separator in the output when
184         an object directory does not exist.
185
186 2009-08-07  Robert Dewar  <dewar@adacore.com>
187
188         * exp_util.adb: Minor reformatting
189
190 2009-08-07  Vincent Celier  <celier@adacore.com>
191
192         * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
193         length used).
194
195 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
196
197         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
198         detect non-static private components that will violate restriction
199         No_Implicit_Heap_Allocation.
200
201 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
202
203         * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
204
205 2009-08-02  Eric Botcazou  <ebotcazou@adacore.com>
206
207         * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
208         * gcc-interface/utils.c (end_subprog_body): Likewise.
209         * gcc-interface/trans.c (gigi): Likewise.
210         (gnat_to_gnu): Likewise.
211
212 2009-07-30  Ben Brosgol  <brosgol@adacore.com>
213
214         * gnat_ugn.texi: Correct minor texi glitch.
215
216 2009-07-30  Ed Schonberg  <schonberg@adacore.com>
217
218         * exp_util.adb (Expand_Subtype_From_Expr): If the type of the
219         expression has an underlying representation that is an unchecked union,
220         there is no subtype to build.
221
222 2009-07-30  Robert Dewar  <dewar@adacore.com>
223
224         * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
225         s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
226         sem_ch7.adb, adaint.c: Minor reformatting
227
228 2009-07-29  Javier Miranda  <miranda@adacore.com>
229
230         * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
231         moved from the expander to the semantic analyzer to allow the
232         generation of these internal entities when compiling with no code
233         generation. Required by ASIS.
234         * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
235         * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
236         * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
237         (Expand_Freeze_Record_Type): Remove call to
238         Add_Internal_Interface_Entities because this routine is now called at
239         early stage --when the freezing node is analyzed.
240
241 2009-07-29  Robert Dewar  <dewar@adacore.com>
242
243         * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
244         exp_disp.adb, g-socket.adb: Minor reformatting
245
246 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
247
248         * sem_ch7.adb (New_Private_Type): Create class-wide type after other
249         attributes have been established, so that they are all inherited by the
250         class-wide type.
251         * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
252         properly named subtypes of class-wide types.
253
254 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
255
256         * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
257         indicators on user-defined operators.
258
259 2009-07-29  Vadim Godunko  <godunko@adacore.com>
260
261         * g-socket.adb (Receive_Vector): Add comment.
262
263 2009-07-29  Javier Miranda  <miranda@adacore.com>
264
265         * frontend.adb (Frontend): Code cleanup.
266         * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
267         Rewriten as a procedure because it a new out-mode parameters to
268         keep up-to-date the controlling tag node in the caller.
269         (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
270         new out-mode parameter to keep up-to-date the controlling tag node in
271         the caller.
272         * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
273         exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
274         package Sem_SCIL.
275         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
276         available in new package Sem_SCIL.
277         (Next_Non_SCIL_Node): Ditto.
278         * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
279         package Sem_SCIL.
280         (Expand_Dispatching_Call): Update call to modified Exp_Atags routines
281         plus complete decoration of SCIL dispatching node.
282         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
283         * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
284         package Sem_SCIL.
285         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
286         * exp_ch3.adb (Build_Init_Procedure): Fix comment.
287         * sem_scil.ads, sem_scil.adb: New files.
288         * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
289         Update dependencies.
290
291 2009-07-28  Robert Dewar  <dewar@adacore.com>
292
293         * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
294         makeutl.adb: Minor reformatting & code reorganization
295         * sem_ch3.adb: Minor reformatting.
296         Fix spelling error (constraint for constrain) in error msg.
297
298 2009-07-28  Emmanuel Briot  <briot@adacore.com>
299
300         * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
301         global variable that also exists in makeutl.ads, and that some routines
302         in that package use already.
303         (Check): Moved part of the code to makeutl.adb for better sharing with
304         gprbuild.
305
306 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
307
308         * gcc-interface/Make-lang.in: Update dependencies.
309
310 2009-07-28  Emmanuel Briot  <briot@adacore.com>
311
312         * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
313         importing project does not end up in the list, in the case of extending
314         projects.
315         * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
316         makeutl.ads, for better sharing with gprbuild.
317
318 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
319
320         * gnat_ugn.texi: Fix typo.
321
322 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
323
324         * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
325         derivation that renames some discriminants and constrain others.
326         * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
327         prefix is a derived untagged type, convert to the root type to conform
328         to the signature of the protected operations.
329
330 2009-07-28  Robert Dewar  <dewar@adacore.com>
331
332         * sinfo.ads: Update comments.
333         * exp_attr.adb: Minor reformatting
334
335 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
336
337         * sem_aggr.adb (Get_Value): A named association in a record aggregate
338         should be treated as a modification of the named component, not as a
339         reference.
340
341 2009-07-28  Quentin Ochem  <ochem@adacore.com>
342
343         * prj-tree.ads, prj-tree.adb (Free): Minor editing.
344         * prj.ads, prj.adb (Image): Ditto.
345
346 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
347
348         * frontend.adb: Minor reformatting.
349         (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
350         for efficiency.
351
352 2009-07-28  Bob Duff  <duff@adacore.com>
353
354         * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
355         'Address to get a pointer to the protected body wrapper.
356
357 2009-07-28  Javier Miranda  <miranda@adacore.com>
358
359         * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
360         nodes if we are not generating code.
361         * frontend.adb (Check_SCIL_Node): New subprogram. Used to check
362         attribute SCIL_Related_Node of SCIL dispatching nodes.
363         (Check_SCIL_Nodes): New instantiation of Traverse_Proc.
364         * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
365         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
366         (SCIL_Entity): Update documentation.
367         (SCIL_Related_Node): Update documentation.
368         (SCIL_Controlling_Tag): New attribute.
369         (SCIL_Target_Prim): Update documentation.
370         (N_Null_Statement): Remove attributes associated with SCIL nodes.
371         (N_SCIL_Dispatch_Table_Object_Init): New node.
372         (N_SCIL_Dispatch_Table_Tag_Init): New node.
373         (N_SCIL_Dispatching_Call): New node.
374         (N_SCIL_Tag_Init): New node.
375         * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
376         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
377         (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
378         (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
379         (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
380         (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
381         N_SCIL_Dispatching_Call nodes.
382         * sem.adb (Analyze): No need to analyze SCIL nodes.
383         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
384         (Next_Non_SCIL_Node): New subprogram
385         * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
386         dispatching nodes.
387         * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
388         dispatching node.
389         * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
390         dispatching node.
391         * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
392         null statement nodes.
393         (Build_Init_Procedure): Generate new SCIL node.
394         * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
395         node.
396         * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
397         they are currently implemented as special N_Null_Statement nodes.
398         * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
399         procedure call then check if some SCIL node references it and needs
400         readjustment.
401         * exp_disp.ads (SCIL_Node_Kind): Removed.
402         (Adjust_SCIL_Node): New subprogram.
403         (Find_SCIL_Node): New subprogram.
404         (Get_SCIL_Node_Kind): Removed.
405         (New_SCIL_Node): Removed.
406         * exp_disp.adb (Adjust_SCIL_Node): New subprogram
407         (Expand_Dispatching_Call): Generate new SCIL dispatching node including
408         decoration of its new controlling_tag attribute.
409         (Get_SCIL_Node_Kind): Removed.
410         (Find_SCIL_Node): New subprogram.
411         (Make_Secondary_DT): Generate new SCIL nodes.
412         (Make_Tags): Generate new SCIL nodes.
413         (New_SCIL_Node): Removed.
414         * exp_util.adb (Insert_Actions): Handle SCIL nodes.
415         (Remove_Side_Effects): Check if relocated nodes require readjustment
416         of some SCIL dispatching node.
417         * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
418
419 2009-07-28  Robert Dewar  <dewar@adacore.com>
420
421         * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
422
423 2009-07-28  Sergey Rybin  <rybin@adacore.com>
424
425         * gnat_ugn.texi: Add section about gnatcheck rule exemption.
426
427 2009-07-28  Vadim Godunko  <godunko@adacore.com>
428
429         * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
430         not defined by limits.h.
431
432         * g-socket.adb (Receive_Vector): Use minimum length from user's vector
433         length and maximum supported length of data vector.
434
435 2009-07-28  Gary Dismukes  <dismukes@adacore.com>
436
437         * usage.adb: Inhibit printing gcc-specific switches for AAMP target.
438         * make.adb: Call Get_Target_Parameters before calling Usage so that
439         VM_Target and AAMP_On_Target will be set.
440
441 2009-07-28  Olivier Hainque  <hainque@adacore.com>
442
443         * g-ssinty.ads: Remove, pointless and just confusing at this stage.
444         * gnat_rm.texi: Remove documentation.
445         * g-sse.ads: Minor reorg along the way.
446         * gcc-interface/Makefile.in: Remove processing for g-ssinty.
447         * g-ssvety.ads: Minor comment updates.
448
449 2009-07-28  Sergey Rybin  <rybin@adacore.com>
450
451         * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
452         for the new format of the report file.
453
454 2009-07-28  Sergey Rybin  <rybin@adacore.com>
455
456         * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
457
458 2009-07-28  Pascal Obry  <obry@adacore.com>
459
460         * g-expect.adb: Record standard handles only on Windows.
461
462 2009-07-27  Emmanuel Briot  <briot@adacore.com>
463
464         * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
465         Add comments.
466
467 2009-07-27  Sergey Rybin  <rybin@adacore.com>
468
469         * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
470         rule definition the paragraph that explains that generic functions and
471         functions from generic packages are not checked.
472
473 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
474
475         * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
476         procedure when determining whether to set the Overridden_Operation
477         field of a subprogram overriding an inherited subprogram.
478         
479 2009-07-27  Robert Dewar  <dewar@adacore.com>
480
481         * a-except.adb, a-except-2005.ads: Minor reformatting
482
483 2009-07-27  Robert Dewar  <dewar@adacore.com>
484
485         * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
486
487 2009-07-27  Javier Miranda  <miranda@adacore.com>
488
489         * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
490         add some documentation explaining why the SCIL nodes must be generated
491         at that point.
492
493 2009-07-27  Olivier Hainque  <hainque@adacore.com>
494
495         * a-except.adb: Bind to __builtin_longjmp directly.
496         * a-except-2005.ads: Provide direct binding to __builtin_longjmp
497         for sjlj variants.
498         * a-exexpr.adb: Use it.
499         * a-except-xi.adb: Likewise.
500         * raise.c (_gnat_builtin_longjmp): Remove and update comments.
501         * raise.h (_gnat_builtin_longjmp): Remove declaration.
502
503 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
504
505         * sem_eval.adb (Compile_Time_Compare): More precise handling of
506         Known_Valid flag, to prevent spurious range deductions when scalar
507         variables may be uninitialized. New predicate Is_Known_Valid_Operand.
508
509 2009-07-27  Robert Dewar  <dewar@adacore.com>
510
511         * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
512         and code clean up.
513
514 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
515
516         * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
517         Ravenscar mode. Error has already been posted on specification.
518
519         * sem.adb: Further code clean ups.
520
521 2009-07-27  Robert Dewar  <dewar@adacore.com>
522
523         * g-sse.ads: Minor reformatting
524
525 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
526
527         * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
528         alternate ali extension.
529         * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
530         account Osint.ALI_Suffix.
531         * osint.ads (ALI_Suffix): Make visible.
532         * gnatfind.adb (Gnatfind): Add support for --ext= switch.
533         * gnat_ugn.texi: Document new gnatfind --ext= switch.
534
535 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
536
537         * sem.adb (Walk_Library_Items): If main unit is an instance body, do
538         its spec first.
539
540 2009-07-27  Javier Miranda  <miranda@adacore.com>
541
542         * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
543         the dispatching call has is expanded.
544
545 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
546
547         * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
548         Is_Known_Valid flag on the temporary created for the value whose
549         validity is being checked.
550
551         * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
552         handle properly main units that are package specifications.
553
554 2009-07-27  Geert Bosch  <bosch@adacore.com>
555
556         * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
557         * sem_aux.ads: Fix typo in comment
558         * sem_util.ads (Is_LHS): Adjust comment to match body
559
560 2009-07-27  Sergey Rybin  <rybin@adacore.com>
561
562         * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
563         rule definition.
564
565 2009-07-27  Olivier Hainque  <hainque@adacore.com>
566
567         * g-sse.ads, g-ssvety.ads: Update comments.
568
569 2009-07-27  Sergey Rybin  <rybin@adacore.com>
570
571         * gnat_ugn.texi: Update gnatcheck doc.
572
573 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
574
575         * lib-xref.ads: Allocate/document 'o' char for use by references to
576         spark 'own' variables.
577
578 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
579
580         * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
581         objects, since these are implicitly referenced by the return statement.
582         * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
583         Is_Return_Object in this procedure, as return objects will never make
584         it here since they're now marked as Referenced.
585
586 2009-07-27  Robert Dewar  <dewar@adacore.com>
587
588         * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
589
590 2009-07-27  Robert Dewar  <dewar@adacore.com>
591
592         * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
593
594         * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
595
596 2009-07-27  Geert Bosch  <bosch@adacore.com>
597
598         * checks.adb (Find_Check): Minor streamlining of logic.
599         * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
600         * debug.adb: Document -gnatdX debug flag
601         * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
602         list information about reads from scalar entities.
603         Also slightly simplify condition for Expand_Current_Value.
604         * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
605         functions.
606
607 2009-07-26  Dave Korn  <dave.korn.cygwin@gmail.com>
608
609         PR bootstrap/40578
610         * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
611         (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
612         to these.
613         (__gnat_stat): Adjust reference to STAT in prototype.
614         * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
615         __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
616         __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
617         __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
618         __gnat_is_writable_file, __gnat_is_executable_file,
619         __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
620         __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
621         __gnat_copy_attribs): Adjust all references to the above.
622         * cstreams.c (__gnat_is_regular_file_fd): Likewise.
623
624 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
625
626         * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
627         done at the same time, guard against listing a body more than once.
628
629 2009-07-23  Robert Dewar  <dewar@adacore.com>
630
631         * exp_ch6.adb: Minor reformatting
632
633 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
634
635         * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
636         static expression is known valid.
637         * sem_eval.adb (Compile_Time_Compare): Handle properly non-static
638         operands of a subtype with a single value.
639
640 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
641
642         * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
643         are in the context of the main unit body.
644
645 2009-07-23  Sergey Rybin  <rybin@adacore.com>
646
647         * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
648         misprint in rule description.
649
650 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
651
652         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
653         test that the object declaration is within an extended return statement
654         with direct test of whether the declared object associated with the
655         build-in-place call is a return object, since the enclosing function
656         might not even be a build-in-place function.
657
658 2009-07-23  Robert Dewar  <dewar@adacore.com>
659
660         * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
661         Minor code reorganization
662
663 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
664
665         * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
666         for static analysis, only packed arrays are causing troubles.
667
668 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
669
670         * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
671         ancestor part is a call to a limited function with an unconstrained
672         result subtype unless the aggregate has a null extension type.
673         * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
674         the parent type declaration to avoid blowups on subtype cases.
675
676 2009-07-23  Robert Dewar  <dewar@adacore.com>
677
678         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
679         comma.
680
681         * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
682
683         * s-regexp.adb: Minor reformatting
684         * scos.ads: Minor reformatting.
685
686 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
687
688         * freeze.adb (Set_Small_Size): Remove extra space for consistency with
689         other similar messages.
690         * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
691         messages/implicit packing in CodePeer mode.
692         (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
693         * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
694         CodePeer mode.
695
696 2009-07-23  Pascal Obry  <obry@adacore.com>
697
698         * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
699         systems.
700
701 2009-07-23  Robert Dewar  <dewar@adacore.com>
702
703         * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
704         Minor reformatting.
705
706 2009-07-23  Yannick Moy  <moy@adacore.com>
707
708         * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
709         pattern.
710         (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
711         string.
712         (Raise_Exception): Ditto.
713
714 2009-07-23  Olivier Hainque  <hainque@adacore.com>
715
716         * g-sse.ads: Simplify comment.
717
718 2009-07-23  Olivier Hainque  <hainque@adacore.com>
719
720         * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
721         low level internal type definitions for distinct higher level
722         binding development activities (user type definitions and
723         operations).
724         * gnat_rm.texi: Document it.
725         * g-ssvety.ads: Use it.
726         * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
727         g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
728         * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
729         for the "may_alias" attribute.
730
731 2009-07-23  Thomas Quinot  <quinot@adacore.com>
732
733         * scos.ads: Minor typo fix
734
735         * gcc-interface/decl.c (validate_alignment): For the case of an
736         implicit array base type, look for alignment clause on first subtype.
737
738 2009-07-23  Robert Dewar  <dewar@adacore.com>
739
740         * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
741         with tagged parent if tagged parent is fully repped.
742
743 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
744
745         * sem.adb (Walk_Library_Units): Handle properly the case where a unit
746         in the context depends on the spec of the main unit, by delaying
747         processing of the main unit body until all other units have been
748         processed.
749
750 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
751
752         * a-convec.adb: Add comments about suspicious/subtle code.
753
754 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
755
756         * einfo.ads: Document use of Alias in private overriding
757
758 2009-07-23  Thomas Quinot  <quinot@adacore.com>
759
760         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
761         an array type, propagate alignment from first subtype to implicit base
762         type so that other subtypes (such as the itypes for aggregates of the
763         type) also receive the expected alignment.
764
765         * g-comlin.ads: Minor documentation clarification/rewording. 
766         * scos.ads: Minor comments update.
767         * lib-writ.ads: Minor reformatting
768
769 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
770
771         * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
772         of a class-wide interface type that is a return object of a
773         build-in-place function, bypass the interface-related expansions into
774         renamings with displacement conversions, etc.
775         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
776         for the case where a renaming occurs in a build-in-place context, to
777         assert that the bypassing of the build-in-place treatment only occurs
778         in the case of a renaming that is an expansion of a return expression
779         that is itself a build-in-place function call.
780
781 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
782
783         * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
784         valid candidate interpretation in a prefixed view if it is hidden, but
785         overrides an inherited operation declared in the visible part.
786
787 2009-07-23  Robert Dewar  <dewar@adacore.com>
788
789         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
790         division operands to 64-bit at all in any circumstances.
791
792 2009-07-23  Robert Dewar  <dewar@adacore.com>
793
794         * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
795         checking ranges for mod/rem to see if conditional jump will be
796         generated.
797         (Analyze_N_Op_Rem): Don't try to check actual lower bounds for
798         generating special -1 test for rem, generate it whenever both
799         operands can be negative (match circuit in Sem_Res).
800         (Analyze_N_Op_Rem): Don't go to base type, no longer needed and
801         destroys memory of positive range.
802         * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
803         checking ranges for mod/rem to see if conditional jump will be generated
804
805 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
806
807         * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
808         scalar components has non-static bounds, the equivalent aggregate
809         cannot be built, even if the expression is static, because range checks
810         will be generated.
811
812 2009-07-23  Robert Dewar  <dewar@adacore.com>
813
814         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
815         division operands to 64-bit inside a conversion if 64-bit division not
816         available.
817
818 2009-07-23  Sergey Rybin  <rybin@adacore.com>
819
820         * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
821
822 2009-07-23  Javier Miranda  <miranda@adacore.com>
823
824         * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
825         (Entity/Set_Entity): not available in N_Null_Statement nodes
826         (Is_Scil_Node): renamed as Is_SCIL_Node
827         (Scil_Nkind): renamed as SCIL_Nkind
828         (Scil_Related_Node): renamed as SCIL_Related_Node
829         (Scil_Target_Prim): renamed as SCIL_Target_Prim
830         (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
831         (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
832         (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
833         Update documentation
834         * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
835         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
836         (New_Scil_Node): Renamed as New_SCIL_Node
837         * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
838         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
839         (New_Scil_Node): Renamed as New_SCIL_Node
840         * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
841
842 2009-07-23  Robert Dewar  <dewar@adacore.com>
843
844         * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
845         * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
846         * einfo.adb: Minor reformatting
847
848 2009-07-23  Robert Dewar  <dewar@adacore.com>
849
850         * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
851         cross-referencing the new related code in
852         Exp_Ch4.Expand_N_Type_Conversion.
853         * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
854
855         * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
856         Add comment.
857
858 2009-07-23  Javier Miranda  <miranda@adacore.com>
859
860         * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
861         Scil_Target_Prim, N_Has_Entity): Add missing documentation.
862         * exp_disp.ads (Scil_Node_Kind): Ditto.
863         * exp_disp.adb (Make_DT, Make_Tags): Ditto.
864         * exp_ch3.adb (Build_Init_Procedure): Ditto.
865
866 2009-07-23  Javier Miranda  <miranda@adacore.com>
867
868         * einfo.adb (Component_Type): Add missing assertion.
869         * sem_res.adb (Resolve_Call): Ensure proper kind of entity before
870         reading attribute Component_Size.
871         * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
872         before reading attributes Component_Size and Component_Type.
873         * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
874         before reading attribute Component_Type.
875
876 2009-07-23  Olivier Hainque  <hainque@adacore.com>
877
878         * gnat_rm.texi: Document the GNAT.SSE units.
879
880 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
881
882         * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
883         not null return if it appears on a subunit.
884
885 2009-07-23  Robert Dewar  <dewar@adacore.com>
886
887         * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
888         check right away so it does not get skipped for early returns, e.g.
889         array assignments.
890         (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
891         left-side unless we really know the value is valid.
892
893         * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
894         reformatting. Minor code reorganization. Add comments.
895
896 2009-07-23  Robert Dewar  <dewar@adacore.com>
897
898         * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
899         complex condition.
900
901 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
902
903         * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
904         with test of coverage, to allow specific type objects in extended
905         returns of class-wide functions. Remove now-unnecessary special-case
906         tests that allowed this in certain cases of expanded extended returns.
907
908 2009-07-23  Javier Miranda  <miranda@adacore.com>
909
910         * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
911         N_Null_Statements (for SCIL nodes).
912         (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
913         (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
914         (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
915         nodes).
916         (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
917         * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
918         associated with dispatching call.
919         (Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
920         (Make_DT, Make_Tags): Add generation of SCIL nodes associated with
921         initialization of dispatch tables and initialization of tags.
922         (New_Scil_Node): New function that creates a new SCIL node.
923         (Build_Init_Procedure): Add generation of SCIL node associated with the
924         initialization of tags done in the IP subprogram.
925
926 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
927
928         * errout.adb (Error_Msg_NEL): If the entity in the initial message has
929         Warnings_Off, do not emit continuation messages.
930
931         * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
932         spec.
933
934 2009-07-23  Emmanuel Briot  <briot@adacore.com>
935
936         * ali.adb: Minor comment update
937
938 2009-07-23  Vasiliy Fofanov  <fofanov@adacore.com>
939
940         * s-win32.ads (HANDLE): Define to be the same size as address type.
941         Fix copyright.
942
943 2009-07-23  Olivier Hainque  <hainque@adacore.com>
944
945         * g-sse.ads: New file. Root of the SSE facilities trees, with
946         general description and common declarations.
947         * g-ssvety.ads: New file. Expose user level SSE vector types.
948         * impunit.adb (Non_Imp_File_Names_95): Register new units.
949         * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
950         EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
951
952 2009-07-23  Ben Brosgol  <brosgol@adacore.com>
953
954         * gnat_ugn.texi: Wordsmithing.
955
956 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
957
958         * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
959
960 2009-07-22  Eric Botcazou  <ebotcazou@adacore.com>
961
962         * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
963         they are already of the base type of the index.
964
965 2009-07-22  Brett Porter  <porter@adacore.com>
966
967         * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
968
969 2009-07-22  Robert Dewar  <dewar@adacore.com>
970
971         * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
972         * gnat_ugn.texi: Add documentation for -gnateS switch
973         * ug_words: Add entry for -gnateS /SCO_OUTPUT
974         * gcc-interface/Make-lang.in: Update dependencies.
975
976         * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
977         par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
978         complete information for SCO input/output.
979
980 2009-07-22  Sergey Rybin  <rybin@adacore.com>
981
982         * gnat_ugn.texi: Update doc for some gnatcheck rules.
983
984 2009-07-22  Robert Dewar  <dewar@adacore.com>
985
986         * par_sco.adb, par_sco.ads (pscos): New debug routine to output
987         contents of SCO tables.
988         * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
989         scos.adb, scos.ads: New files.
990         * gcc-interface/Make-lang.in: Update dependencies.
991
992         * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
993         fixes and reformatting.
994
995 2009-07-22  Robert Dewar  <dewar@adacore.com>
996
997         * g-socket.ads: Minor reformatting
998
999 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
1000
1001         * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
1002         include the entity kind for following cases of unreferenced entities:
1003         E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
1004
1005 2009-07-22  Ed Falis  <falis@adacore.com>
1006
1007         * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
1008         with taskSuspend.
1009
1010 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
1011
1012         * adadecode.c: Make this file compilable outside of GCC.
1013
1014 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1015
1016         * g-socket.adb, g-socket.ads (Check_Selector): Make sure that
1017         (partially) default-initialized socket sets are handled properly by
1018         clearing their Set component.
1019
1020 2009-07-22  Bob Duff  <duff@adacore.com>
1021
1022         * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
1023
1024 2009-07-22  Robert Dewar  <dewar@adacore.com>
1025
1026         * gnat_ugn.texi: Minor reformatting
1027
1028 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1029
1030         * errout.adb (Error_Msg): A style message within an instantiation
1031         should not be labelled as an error.
1032
1033 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1034
1035         * freeze.adb (Freeze_Entity): Do not generate extra formal for function
1036         in initialization expression if function does not have convention Ada.
1037
1038 2009-07-22  Sergey Rybin  <rybin@adacore.com>
1039
1040         * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
1041         '--separate-label' to control label layout.
1042
1043 2009-07-22  Robert Dewar  <dewar@adacore.com>
1044
1045         * exp_tss.ads, sem_eval.adb: Minor reformatting
1046
1047 2009-07-22  Bob Duff  <duff@adacore.com>
1048
1049         * exp_dist.adb, exp_dist.ads: Update comments.
1050
1051 2009-07-22  Brett Porter  <porter@adacore.com>
1052
1053         * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
1054         FPSCR.
1055         * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
1056
1057 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
1058
1059         * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
1060         exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
1061         Minor reformatting.
1062         * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
1063         used poor terminology.
1064
1065 2009-07-22  Robert Dewar  <dewar@adacore.com>
1066
1067         * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
1068         * sem_eval.adb, exp_tss.adb: Minor comment update.
1069         * stylesw.adb: Code clean up.
1070
1071 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1072
1073         * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
1074         component size is an exact number of bytes, an array type can have a
1075         size clause that forces packing even though the array type itself is
1076         not bit-packed.
1077
1078 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1079
1080         * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
1081         if there is a previous entity with the same name in the scope, ignore
1082         it if it is the renaming declaration for a generic package introduced
1083         in instances.
1084
1085 2009-07-22  Nicolas Roche  <roche@adacore.com>
1086
1087         * seh_init.c: use RtlAddFunctionTable to register our SEH exception
1088         handler on x86_64 windows.
1089
1090 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
1091
1092         * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
1093         false positives in CodePeer, so ignore this pragma in this mode.
1094
1095 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1096
1097         * sem_util.adb, sem_ch10.adb: Minor reformatting
1098
1099         * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
1100         special handling for the case of no data received and Item'First =
1101         Stream_Element_Offset'First.
1102         (Last_Index): New subprogram factoring the above special handling
1103         over the various locations where it is required.
1104
1105 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
1106
1107         * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
1108         checks in CodePeer_Mode.
1109         * gcc-interface/Make-lang.in: Update dependencies.
1110
1111 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1112
1113         * sem_aggr.adb: Improve error message.
1114
1115         * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
1116         of an address representation clause.
1117         * freeze.adb (Freeze_Static_Object): An local imported object is legal
1118         if it has an address clause.
1119
1120 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1121
1122         * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
1123         expression to insert an elab check using a conditional expression, be
1124         sure to carry the original list of interpretations to the new location.
1125
1126 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
1127
1128         * gnat1drv.adb: Fix spelling error.
1129
1130 2009-07-22  Javier Miranda  <miranda@adacore.com>
1131
1132         * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
1133         at the library level and fix a hidden bug in its implementation: its
1134         functionality for renaming objects was broken because
1135         N_Object_Renaming_Declarations nodes are not a subclass of
1136         N_Declaration nodes (as documented in sinfo.ads).
1137         * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
1138         check nodes that are actuals of generic instantiations.
1139
1140 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1141
1142         * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
1143         context of a compilation unit is being analyzed. Used to detect
1144         circularities created by with_clauses that are not detected by the
1145         loading machinery.
1146         * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
1147         analyzing the context of the current compilation unit, to detect
1148         possible circularities created by with_clauses.
1149
1150 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1151
1152         * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
1153
1154 2009-07-22  Robert Dewar  <dewar@adacore.com>
1155
1156         * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
1157         * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
1158         procedure.
1159         * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
1160         * gnat_ugn.texi: Add documentation of -gnatyB
1161         * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
1162
1163 2009-07-22  Robert Dewar  <dewar@adacore.com>
1164
1165         * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
1166         make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
1167         s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
1168         s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
1169         errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
1170         a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
1171         s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
1172         a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
1173         erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
1174         obey short-circuit style rule.
1175
1176 2009-07-20  Bob Duff  <duff@adacore.com>
1177
1178         * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
1179         instead of "and", because otherwise Parent_Last_Bit is read
1180         uninitialized in the case where it's not a tagged type, or the tagged
1181         parent does not have a complete rep clause.
1182
1183 2009-07-20  Robert Dewar  <dewar@adacore.com>
1184
1185         * stylesw.ads: Minor documentation change.
1186
1187         * types.ads: Minor reformatting
1188
1189 2009-07-20  Javier Miranda  <miranda@adacore.com>
1190
1191         * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
1192         generating the tag checks associated with dispatching calls.
1193         * exp_disp.adb (Apply_Access_Checks): New subprogram.
1194         (New_Value): This routine was previously local to expand dispatching
1195         calls but it is now used also by Apply_Access_Checks.
1196         (Expand_Dispatching_Calls): Cleanup code because the functionality of
1197         tag checks is now provided by Apply_Access_Checks. 
1198         * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
1199         case of dispatching calls.
1200
1201 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
1202
1203         * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
1204         CodePeer_Mode.
1205
1206 2009-07-20  Gary Dismukes  <dismukes@adacore.com>
1207
1208         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
1209         for VMS, only rewrite the first component of the associated exception's
1210         aggregate init (as 'V'), and eliminate the bogus rewrites of the second
1211         and third components  that were being replaced with 'M' and 'S'.
1212
1213 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
1214
1215         * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
1216         Also do not generate error when parsing a spec in CodePeer mode.
1217
1218 2009-07-20  Javier Miranda  <miranda@adacore.com>
1219
1220         * checks.adb (Apply_Access_Check): Avoid checks on availability of
1221         runtime function Offset_To_Top_Ptr when compiling with no tagged
1222         types expansion.
1223         * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
1224         adding code to the init proc when compiling for VM backends.
1225
1226 2009-07-20  Vincent Celier  <celier@adacore.com>
1227
1228         * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
1229         account switches -gnatw.?
1230
1231 2009-07-20  Thomas Quinot  <quinot@adacore.com>
1232
1233         * sem_dist.adb, exp_dist.adb: Minor reformatting
1234
1235         * Make-generated.in: New file.
1236
1237         * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
1238
1239 2009-07-20  Javier Miranda  <miranda@adacore.com>
1240
1241         * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
1242         subprogram.
1243         * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
1244         dynamically tagged expression.
1245         * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
1246         factorizes code.
1247         * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
1248         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
1249
1250 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
1251
1252         * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
1253         CodePeer_Mode is set, to benefit from full front-end expansion
1254         (e.g. generics).
1255
1256 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
1257
1258         * sem_res.adb: Add guard.
1259
1260         * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
1261         for possible attribute definition of External_Tag, in case clause
1262         appears in the private part of a package.
1263
1264 2009-07-20  Jerome Guitton  <guitton@adacore.com>
1265
1266         * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
1267
1268 2009-07-20  Vadim Godunko  <godunko@adacore.com>
1269
1270         * a-coorma.adb: Minor reformatting.
1271
1272 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
1273
1274         * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
1275         access return types.
1276         * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
1277         provide an itype reference to gigi to force elaboration of the subtype
1278         at the proper point.
1279
1280 2009-07-20  Tristan Gingold  <gingold@adacore.com>
1281
1282         * g-expect.adb: Avoid closeing already closed handle.
1283
1284 2009-07-20  Robert Dewar  <dewar@adacore.com>
1285
1286         * sprint.adb (Write_Subprogram_Name): New procedure to output
1287         subprogram name with possible preceding $ (replaces
1288         Note_Implicit_Run_Time_Call).
1289
1290 2009-07-20  Robert Dewar  <dewar@adacore.com>
1291
1292         * vms_data.ads: Minor reformatting
1293
1294         * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
1295         applies to base type.
1296         (Parent_Subtype): Now allowed on record subtype, applies to base type
1297         * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
1298         for case of fully repped tagged type.
1299         (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
1300         tag save/restore for fully repped tagged type case.
1301         * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
1302         * fe.h (Is_Fully_Repped_Tagged_Type): New function
1303         * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
1304         overlap of tagged type components with parent type if parent type is
1305         fully repped.
1306         * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
1307
1308         * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
1309         comparisons.
1310         (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
1311         (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
1312
1313         * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
1314         logical operators (AND/OR/XOR), not comparison operators.
1315
1316         * sprint.ads: Minor reformatting
1317
1318 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
1319
1320         * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
1321         intrinsics, check that argument is a string literal, rather than
1322         checking for staticness.
1323
1324 2009-07-20  Robert Dewar  <dewar@adacore.com>
1325
1326         * sem_ch13.adb: Minor reformatting
1327
1328         * einfo.ads: Minor reformatting
1329         Component_Bit_Offset is no longer considered obsolescent
1330
1331 2009-07-20  Nicolas Roche  <roche@adacore.com>
1332
1333         * a-calend.adb: Redefine time_t as signed integer with same size as
1334         Address type.
1335         * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
1336         Address type
1337         * adaint.h: On Windows 64bits declare OS_Time as long long instead of
1338         long
1339
1340 2009-07-20  Javier Miranda  <miranda@adacore.com>
1341
1342         * exp_tss.adb (Init_Proc): Add missing support for non-default C++
1343         constructors that have anonymous access type formals.
1344
1345         * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
1346         class-wide arguments in case of imported C++ subprograms.
1347
1348         * exp_ch3.adb (Build_Initialization_Call): Add assertion.
1349
1350 2009-07-20  Sergey Rybin  <rybin@adacore.com>
1351
1352         * vms_data.ads: Update qualifiers.
1353
1354 2009-07-20  Robert Dewar  <dewar@adacore.com>
1355
1356         * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
1357         reformatting
1358
1359 2009-07-17  Richard Guenther  <rguenther@suse.de>
1360
1361         PR c/40401
1362         * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
1363         state.  Remove unused parameter.
1364         (gnat_gimplify_function): Do not gimplify here.
1365         Fold into its only caller and remove.
1366         (gnat_builtin_function): Adjust for end_subprog_body signature change.
1367         (gnat_write_global_declarations): Also finalize the CU.
1368         * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
1369         * gcc-interface/trans.c (gigi): Revert to pre-tuples state.
1370         (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
1371         change.
1372         * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
1373
1374 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
1375
1376         * gcc-interface/Make-lang.in: Update dependencies
1377
1378         * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
1379
1380 2009-07-15  Robert Dewar  <dewar@adacore.com>
1381
1382         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
1383         N_Label. Remove SCO table entry for entry point (not used).
1384
1385         * par_sco.ads: Remove SCO entry point type (not used)
1386
1387         * switch.adb: Minor code clean up.
1388
1389 2009-07-15  Eric Botcazou  <ebotcazou@adacore.com>
1390
1391         * exp_dbug.ads (Base Record Types): Document enhanced encoding.
1392
1393 2009-07-15  Thomas Quinot  <quinot@adacore.com>
1394
1395         * gnatls.adb: Minor reformatting
1396
1397         * gnatcmd.adb: Minor code reorganization
1398
1399 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
1400
1401         * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
1402         determine whether a component of a private type has a composite type.
1403
1404 2009-07-15  Robert Dewar  <dewar@adacore.com>
1405
1406         * sem_ch10.adb: Minor reformatting throughout
1407         Minor code reorganization (put nested subprograms in alpha order)
1408
1409 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
1410
1411         * exp_ch6.adb (Expand_Call): Prevent double attachment of the result
1412         when compiling a call to a protected function that returns a controlled
1413         object.
1414
1415 2009-07-15  Hristian Kirtchev  <kirtchev@adacore.com>
1416
1417         * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
1418         one. Add task locking and unlocking around the critical region which
1419         mentions localtime_r and global variable timezone for various targets.
1420         Comment reformatting.
1421
1422 2009-07-15  Robert Dewar  <dewar@adacore.com>
1423
1424         * gnat_rm.texi: Document s-ststop.ads
1425
1426         * impunit.ad: (Map_Array): New table of alternative names
1427         (Get_Kind_Of_Unit): Return possible suggested alternative name
1428
1429         * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
1430         alternative name.
1431
1432         * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
1433         alternative unit if an implementation unit is with'ed.
1434
1435 2009-07-15  Robert Dewar  <dewar@adacore.com>
1436
1437         * gnat_ugn.texi: Minor updates.
1438
1439         * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
1440
1441 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
1442
1443         * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
1444         conditions of a derived boolean type.
1445         Minor reformatting
1446
1447 2009-07-15  Robert Dewar  <dewar@adacore.com>
1448
1449         * gnat1drv.adb: Initialize SCO tables
1450
1451         * par-load.adb: Call SCO_Record for main unit spec
1452
1453         * par.adb: Make call to SCO_Record for main unit
1454
1455         * par_sco.adb (Unit_Table): Change format to facilitate sort
1456         (Process_Decisions): New procedure with list argument
1457         (Traverse_Generic_Package_Declaration): New procedure
1458         (Initialize): New procedure, replaces Init
1459         (SCO_Output): Sort unit table before output
1460         (SCO_Record): Avoid duplications
1461         (SCO_Record): Handle remaining cases of units
1462         (Traverse_Declarations_Or_Statements): Handle generics
1463
1464         * par_sco.ads (Initialize): New peocedure (replaces Init)
1465
1466         * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
1467         subunit.
1468
1469 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
1470
1471         * debug.adb: Add -gnatd.J switch for now to support scil generation in
1472         parallel. Add missing doc for -gnatd.I and -gnatd.O
1473
1474 2009-07-15  Robert Dewar  <dewar@adacore.com>
1475
1476         * lib-load.adb: Minor reformatting
1477
1478         * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
1479
1480 2009-07-15  Robert Dewar  <dewar@adacore.com>
1481
1482         * par.adb: Minor reformatting
1483         Add ??? comment for possible bad comment
1484
1485         * par-ch10.adb: Minor reformatting
1486
1487 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
1488
1489         * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
1490         is a literal of a derived boolean type, it appears as an unchecked
1491         conversion. Retrieve actual value from expression of conversion.
1492
1493 2009-07-15  Robert Dewar  <dewar@adacore.com>
1494
1495         * sem_ch3.adb: Minor reformatting
1496
1497         * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
1498         lib-writ.ads, lib-writ.adb: Minor reformatting.
1499         Fix problem with SCO format in ALI files
1500
1501 2009-07-15  Robert Dewar  <dewar@adacore.com>
1502
1503         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
1504         exp_aggr.adb: Minor code reorganization (better calling sequence for
1505         Make_Temporary).
1506
1507 2009-07-15  Thomas Quinot  <quinot@adacore.com>
1508
1509         * opt.ads: Minor comment edits
1510
1511 2009-07-15  Tristan Gingold  <gingold@adacore.com>
1512
1513         * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
1514         needed.
1515
1516 2009-07-15  Robert Dewar  <dewar@adacore.com>
1517
1518         * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
1519         information.
1520
1521         * lib-writ.ads: Document addition of SCO lines to ALI file
1522
1523         * par_sco.ads, par_sco.adb: New files.
1524
1525         * opt.ads (Generate_SCO): New switch
1526
1527         * par.adb (Par): Call SCO_Record to record SCO information
1528
1529         * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
1530
1531         * switch-c.adb: Recognize -gnateS to generate SCO information
1532
1533         * usage.adb: Add line for -gnateS
1534
1535         * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
1536
1537 2009-07-15  Robert Dewar  <dewar@adacore.com>
1538
1539         * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
1540         reformatting.
1541
1542 2009-07-15  Thomas Quinot  <quinot@adacore.com>
1543
1544         * g-socthi-mingw.adb: Minor comment addition
1545
1546         * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
1547
1548 2009-07-15  Robert Dewar  <dewar@adacore.com>
1549
1550         * g-htable.ads, s-htable.ads: Minor reformatting
1551
1552 2009-07-15  Robert Dewar  <dewar@adacore.com>
1553
1554         * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
1555         new switch -gnatw.g.
1556         (Set_GNAT_Mode_Warnings): New procedure.
1557
1558         * lib-xref.adb: Minor reformatting
1559
1560 2009-07-15  Robert Dewar  <dewar@adacore.com>
1561
1562         * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
1563         Minor code reorganization
1564
1565 2009-07-14  Taras Glek  <tglek@mozilla.com>
1566             Rafael Espindola  <espindola@google.com>
1567
1568         * gcc-interface/Make-lang.in (ada.install-plugin): New target for
1569         installing plugin headers.
1570
1571 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
1572
1573         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
1574         exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
1575         and link it to the expression whose value it captures.
1576
1577 2009-07-13  Robert Dewar  <dewar@adacore.com>
1578
1579         * output.adb: Minor comment addition for last change
1580
1581         * sinfo.ads: Minor reformatting
1582
1583 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
1584
1585         * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
1586         spawn failed like on all other targets.
1587
1588 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
1589
1590         * exp_ch7.adb: Indicate origin of temporary for transient expression.
1591
1592 2009-07-13  Thomas Quinot  <quinot@adacore.com>
1593
1594         * s-oscons-tmplt.c: Add comment.
1595
1596 2009-07-13  Robert Dewar  <dewar@adacore.com>
1597
1598         * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
1599         reformatting. Minor code reorganization (add 9 argument version of
1600         Nkind_In).
1601
1602         * impunit.adb: Remove s-os_lib from list of system extensions.
1603
1604         * sem_util.ads: Minor reformatting
1605
1606         * output.adb: Add warnings off/on around System.OS_Lib.
1607
1608 2009-07-13  Bob Duff  <duff@adacore.com>
1609
1610         * exp_dist.adb: Minor comment updates.
1611
1612 2009-07-13  Gary Dismukes  <dismukes@adacore.com>
1613
1614         * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
1615         several references to CodePeer.
1616
1617 2009-07-13  Bob Duff  <duff@adacore.com>
1618
1619         * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
1620         Build_TypeCode_Function_All): Do not recurse if the type is the base
1621         type.
1622
1623 2009-07-13  Robert Dewar  <dewar@adacore.com>
1624
1625         * exp_ch4.adb: Minor comment change
1626
1627 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
1628
1629         * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
1630         type of iteration, to prevent spurious warnings.
1631
1632 2009-07-13  Nicolas Roche  <roche@adacore.com>
1633
1634         * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
1635         included.
1636
1637 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
1638
1639         * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
1640         gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
1641         Generate_SCIL.
1642         (CodePeer_Mode): New -gnatC switch.
1643         (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
1644         CodePeer_Mode.
1645
1646 2009-07-13  Eric Botcazou  <ebotcazou@adacore.com>
1647
1648         * checks.adb (Selected_Range_Checks): Do not consider that a non-static
1649         integer bound forces the check if it is compared to its subtype range.
1650
1651 2009-07-13  Robert Dewar  <dewar@adacore.com>
1652
1653         * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
1654         prj-strt.ads: Minor reformatting
1655
1656 2009-07-13  Thomas Quinot  <quinot@adacore.com>
1657
1658         * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
1659         set the type of the From_Any call to the base type.
1660
1661 2009-07-13  Doug Rupp  <rupp@adacore.com>
1662
1663         * symbols-processing-vms-ia64.adb (Process): Add variables and
1664         constants to retrieve and check for symbol visibility.
1665
1666 2009-07-13  Javier Miranda  <miranda@adacore.com>
1667
1668         * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
1669         the identical type we remove the conversion completely because
1670         it is useless.
1671
1672 2009-07-13  Emmanuel Briot  <briot@adacore.com>
1673
1674         * prj-err.adb (Error_Msg): One more case where a message should be
1675         considered as a warning.
1676
1677         * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
1678
1679 2009-07-13  Thomas Quinot  <quinot@adacore.com>
1680
1681         * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
1682         calling stubs in the (library level) scope of the RCI locator, where it
1683         is attached, not in the caller's scope.
1684
1685 2009-07-13  Javier Miranda  <miranda@adacore.com>
1686
1687         * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
1688         interface object declarations we delay the generation of the equivalent
1689         record type declarations until its expansion because there are cases in
1690         which they are not required.            
1691
1692         * sem_util.adb (Implements_Interface): Add missing support for subtypes.
1693
1694         * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
1695         addition of assertion.
1696
1697         * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
1698         interface types require no equivalent constrained type declarations
1699         because the expanded code only references the tag component associated
1700         with the interface.
1701         (Find_Interface_Tag): Improve management of interfaces that are
1702         ancestors of tagged types.
1703
1704         * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
1705         class-wide object declarations to add missing support to statically
1706         displace the pointer to the object to reference the tag component
1707         associated with the interface.
1708
1709         * exp_disp.adb (Make_Tags) Avoid generation of internally generated
1710         auxiliary types associated with user-defined dispatching calls if the
1711         type has no user-defined primitives.
1712
1713 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
1714
1715         * mingw32.h: Make it explicit that we need XP or later.
1716
1717         * initialize.c: Remove useless extern symbol declaration.
1718
1719         * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
1720         code reuse in expect.c.
1721
1722         * adaint.c: Changes throughout the Windows section to redesign storage
1723         of the child process list and the process identification.
1724
1725         * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
1726         for interfacing, fix errors.
1727         (__gnat_expect_portable_execvp): use function in adaint.c
1728
1729 2009-07-13  Emmanuel Briot  <briot@adacore.com>
1730
1731         * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
1732         prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
1733         prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
1734         errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
1735         (Prj.Nmsc.Report_Error): Removed, no longer needed.
1736         Always use Prj.Err.Report_Message.
1737
1738 2009-07-13  Robert Dewar  <dewar@adacore.com>
1739
1740         * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
1741         & comment edits.
1742
1743 2009-07-13  Robert Dewar  <dewar@adacore.com>
1744
1745         * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
1746         prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
1747
1748 2009-07-13  Emmanuel Briot  <briot@adacore.com>
1749
1750         * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
1751         mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
1752         Ada_Prj_Include_File_Set): Removed, since not needed
1753         Code clean up.
1754
1755 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
1756
1757         * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
1758         Analyze_Membership_Op.
1759
1760         * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
1761         Resolve_Membership_Op.
1762
1763         * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
1764         Expand_N_In.
1765
1766 2009-07-13  Robert Dewar  <dewar@adacore.com>
1767
1768         * clean.adb: Minor reformattting
1769
1770 2009-07-13  Emmanuel Briot  <briot@adacore.com>
1771
1772         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
1773         gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
1774         prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
1775         prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
1776         and attributes in a project tree.
1777         (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
1778         Remove last remaining mode-specific code (ada_only or
1779         multi_language). This was duplicating code
1780         (Get_Mode, Set_Mode): removed, no longer used.
1781         (Initialize_Project_Path): all tools will now take into account both
1782         GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
1783         Remove some global variables and subprograms no longer used
1784         Make temporary files tree-specific, to avoid interferences between
1785         trees loaded in memory at the same time.
1786         (Prj.Delete_Temporary_File): new subprogram
1787         (Object_Paths, Source_Paths): fields no longer stored in the project
1788         tree, since they are only needed locally in Set_Ada_Paths.
1789         (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
1790         effect in practice.
1791         (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
1792         by local variables in the appropriate subprograms
1793         (Has_Foreign_Sources): removed.
1794
1795         * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
1796
1797 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
1798
1799         * gnat1drv.adb (Adjust_Global_Switches): No longer set
1800         Back_Annotate_Rep_Info in inspector mode.
1801         (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
1802
1803         * opt.ads: Update comment.
1804
1805 2009-07-13  Robert Dewar  <dewar@adacore.com>
1806
1807         * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
1808         prj.ads: Minor reformatting and code reorganization.
1809
1810         * par-ch3.adb (Check_Restricted_Expression): New procedure
1811
1812 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
1813
1814         * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
1815         attribute into a call of the corresponding suprogram, create extra
1816         formals for the subprogram, because it may be a renaming whose
1817         analysis does not create extra formals.
1818
1819 2009-07-13  Emmanuel Briot  <briot@adacore.com>
1820
1821         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
1822         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
1823         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
1824         prj-tree.ads: Minor reformatting.
1825         (Processing_Flags): new record to encapsulate the set of common
1826         parameters to several subprograms in the project manager.
1827         (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
1828         Remove the need for the Current_Dir parameter in subprograms.
1829         (Look_For_Sources): minor refactoring, now that we no longer need to
1830         share subprograms between the two Ada_Only and Multi_Language modes
1831         (Processing_Flags): New field Error_On_Unknown_Language.
1832         Merge tests for library project between gnatmake and gprbuild.
1833
1834 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
1835
1836         * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
1837         Minor reformatting.
1838
1839 2009-07-13  Emmanuel Briot  <briot@adacore.com>
1840
1841         * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
1842         than units.
1843
1844 2009-07-13  Thomas Quinot  <quinot@adacore.com>
1845
1846         * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
1847         Write,Input,Output} from private view to full view.
1848
1849         * sem_type.adb, sem_type.ads: Minor reformatting
1850
1851 2009-07-13  Nicolas Setton  <setton@adacore.com>
1852
1853         * exp_dbug.ads: Add documentation note on the utility of
1854         DW_AT_GNAT_encoding for IDEs.
1855
1856 2009-07-13  Robert Dewar  <dewar@adacore.com>
1857
1858         * g-socthi-vxworks.adb: Minor reformatting
1859
1860         * gnatcmd.adb: Minor reformatting
1861
1862 2009-07-13  Thomas Quinot  <quinot@adacore.com>
1863
1864         * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
1865         removed, not used anymore.
1866         (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
1867         New subprogram, implements copy of an Any value into a limited object.
1868         (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
1869         Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
1870         Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
1871         of parameters of a limited type, use the above new subprogram.
1872
1873 2009-07-13  Emmanuel Briot  <briot@adacore.com>
1874
1875         * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
1876         Location.
1877         (Copy_ALI_Files): Avoid calls to read when pointing outside of the
1878         allocated space.
1879         (Error_Report): Remove global variable, replaced by parameters.
1880
1881 2009-07-13  Thomas Quinot  <quinot@adacore.com>
1882
1883         * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
1884         standard sendto(2) interface for connected sockets (passing a null
1885         destination address). Use send(2) instead for that case.
1886
1887 2009-07-13  Pascal Obry  <obry@adacore.com>
1888
1889         * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
1890
1891 2009-07-13  Emmanuel Briot  <briot@adacore.com>
1892
1893         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
1894         prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
1895         variables and tables in prj-nmsc.adb.
1896         (Tree_Processing_Data): Renames Processing_Data, some new fields added
1897         (Project_Processing_Data): New record
1898         Simplify/unify check for missing sources.
1899
1900 2009-07-13  Emmanuel Briot  <briot@adacore.com>
1901
1902         * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
1903         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
1904         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
1905         prj-tree.ads (Immediate_Directory_Of): Removed.
1906         (Prj.Pars): Now parse the project simulating a default config file.
1907         (Add_Default_GNAT_Naming_Scheme): New subprogram
1908         (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
1909         Remove gnatmake-specific parsing of source files.
1910         (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
1911         the error itself to provide more precise diagnostics.
1912         (Process_Exceptions_Unit_Based): Avoid duplicate error message when
1913         a unit belongs to several projects.
1914         (Copy_Interface_Sources): Search the full path of files to copy in the
1915         list of sources of the application rather than in the list of units.
1916         (Parse_Project_And_Apply_Config): Do not reset the name of the main
1917         project file.
1918         (Check_File): Use htables to find out whether a source is duplicated.
1919         (Add_Source): check whether the source or unit were already seen earlier
1920
1921         * gcc-interface/Makefile.in: Update gnatmake dependencies.
1922
1923 2009-07-13  Robert Dewar  <dewar@adacore.com>
1924
1925         * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
1926         expression if extensions permitted.
1927
1928         * par-ch4.adb (P_Membership_Test): New procedure (implement membership
1929         set tests).
1930         (P_Relation): Use P_Membership_Test
1931
1932         * par.adb (P_Membership_Test): New procedure (implement membership set
1933         tests).
1934
1935         * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
1936
1937         * sprint.adb (Sprint_Node): Handle set form for membership tests.
1938
1939 2009-07-13  Thomas Quinot  <quinot@adacore.com>
1940
1941         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
1942         Do not attempt to generate stubs for predefined primitives of
1943         synchronized interfaces.
1944         (Add_Stub_Type): Factor some code from the PCS-specific variants of
1945         Build_Stub_Type.
1946
1947 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
1948
1949         * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
1950         Controlling_Result flag from the operation they override.
1951
1952 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
1953
1954         * gcc-interface/Make-lang.in: Update dependencies
1955
1956 2009-07-13  Robert Dewar  <dewar@adacore.com>
1957
1958         * gnat_ugn.texi: The gnatf switch no longer is needed to get full
1959         details on unsupported constructs.
1960
1961         * rtsfind.adb: Remove references to All_Errors_Mode, give errors
1962         unconditionally.
1963
1964         * s-trafor-default.adb: Correct some warnings
1965
1966         * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
1967         sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
1968         Minor reformatting.
1969
1970         * par-ch4.adb (Conditional_Expression): Capture proper location for
1971         conditional expression, should point to IF.
1972
1973         * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
1974         s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
1975         g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
1976         reorganization (use conditional expressions).
1977
1978 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
1979
1980         * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
1981         build-in-place function that returns an inherently limited type (not
1982         just a task type) create proper object declaration so that extra
1983         build-in-place actuals are properly added to the call.
1984
1985 2009-07-13  Robert Dewar  <dewar@adacore.com>
1986
1987         * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
1988
1989         * gnat_ugn.texi: Add documentation for -gnatw.m/.M
1990
1991         * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
1992
1993         * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
1994         Warn_On_Suspicious_Modulus_Value.
1995
1996         * ug_words: Add entries for -gnatw.m/-gnatw.M.
1997
1998         * usage.adb: Add lines for -gnatw.m/.M switches.
1999
2000         * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
2001
2002 2009-07-13  Javier Miranda  <miranda@adacore.com>
2003
2004         * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
2005         reading the Is_Interface attribute of the dispatching type.
2006
2007 2009-07-13  Robert Dewar  <dewar@adacore.com>
2008
2009         * a-convec.adb: Minor code reorganization (use conditional expressions)
2010
2011 2009-07-13  Robert Dewar  <dewar@adacore.com>
2012
2013         * freeze.adb (Check_Suspicious_Modulus): New procedure.
2014
2015 2009-07-13  Robert Dewar  <dewar@adacore.com>
2016
2017         * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
2018         warning).
2019
2020         * par-ch4.adb: Minor reformatting
2021
2022 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2023
2024         * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
2025         => Is_Atomic_Aggregate
2026
2027 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2028
2029         * prj-nmsc.adb: Avoid traversing the list of source files if
2030         we have already processed all locally removed files.
2031
2032 2009-07-13  Jose Ruiz  <ruiz@adacore.com>
2033
2034         * gnat_ugn.texi: Fix typo.
2035
2036 2009-07-13  Robert Dewar  <dewar@adacore.com>
2037
2038         * freeze.adb: Minor reformatting
2039         Minor code reorganization (use Nkind_In)
2040
2041         * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
2042
2043 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
2044
2045         * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
2046         local variable and do not test it in Compile_Time_Bad_Alignment.
2047         Do not issue size or alignment warnings for the X'Address form.
2048         * sem_util.ads (Find_Overlaid_Object): Delete.
2049         (Find_Overlaid_Entity): New procedure.
2050         * sem_util.adb (Find_Overlaid_Object): Rename to...
2051         (Find_Overlaid_Entity): ...this and turn into a procedure.  Report
2052         whether the address is offseted within the overlaid entity.
2053         (Has_Compatible_Alignment): Track the offset globally instead of
2054         passing it to Check_Offset.  For an indexed component, compute the
2055         full offset when possible.  If the resulting offset is zero, only
2056         check the prefix.
2057         (Check_Offset): Delete.
2058         * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
2059         (Address_Aliased_Entity): Delete.
2060         (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
2061         Find_Overlaid_Entity to find the overlaid entity and the offset.
2062         Adjust throughout for above change.
2063         (Validate_Address_Clauses): Always use attributes of entities, not of
2064         their type.  Tweak message for warning.  Call Has_Compatible_Alignment
2065         if the address is offseted to warn about incompatible alignments.
2066         * gcc-interface/gigi.h (annotate_object): Declare.
2067         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
2068         entity.  Call annotate_object instead of annotating manually objects.
2069         (annotate_object): New function.
2070         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
2071         at the end.
2072
2073 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
2074
2075         * gcc-interface/ada-tree.h: Minor reorganization.
2076         * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
2077         (gnat_print_type): Likewise.
2078
2079 2009-07-11  Thomas Quinot  <quinot@adacore.com>
2080
2081         * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
2082         Lvalue -> lvalue
2083
2084         * exp_ch6.adb: Minor reformatting
2085
2086 2009-07-11  Ed Schonberg  <schonberg@adacore.com>
2087
2088         * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
2089         account possible type qualification to determine whether aggregate
2090         needs a target temporary to respect atomic type or object.
2091
2092         * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
2093         Expand_Atomic_Aggregate.
2094
2095 2009-07-11  Emmanuel Briot  <briot@adacore.com>
2096
2097         * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
2098         algorithm.
2099         (Excluded_Sources_Htable): No longer a global table.
2100         Change error message to indicate which files are illegal in the list
2101         of excluded files, as opposed to only the location in the project
2102         file.
2103         (Find_Source): New subprogram.
2104
2105 2009-07-10  Thomas Quinot  <quinot@adacore.com>
2106
2107         * exp_ch7.adb: Update comments.
2108
2109 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
2110
2111         * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
2112         clause if -gnatI is set instead of crashing.
2113
2114 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2115
2116         * sem_ch11.adb (Same_Expression): Null is always equal to itself.
2117         Additional work to remove redundant successive raise statements, in
2118         this case access checks.
2119
2120 2009-07-10  Vincent Celier  <celier@adacore.com>
2121
2122         * make.adb (Compile): Always create a deep copy of the mapping file
2123         argument (-gnatem=...) as it may be deallocate/reallocate by
2124         Normalize_Arguments.
2125
2126 2009-07-10  Javier Miranda  <miranda@adacore.com>
2127
2128         * einfo.adb (Directly_Designated_Type): Add assertion.
2129         
2130         * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
2131         access types before using attribute Directly_Designated_Type.
2132
2133 2009-07-10  Emmanuel Briot  <briot@adacore.com>
2134
2135         * prj.ads: Minor typo fix
2136
2137 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2138
2139         * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
2140         special treatment.
2141
2142         * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
2143         subprogram is a function call, resolve properly, to ensure that extra
2144         actuals are added as needed.
2145
2146 2009-07-10  Thomas Quinot  <quinot@adacore.com>
2147
2148         * sem_aggr.adb: Minor comments editing
2149
2150         * exp_tss.adb, exp_ch3.adb: Minor reformatting
2151
2152 2009-07-10  Robert Dewar  <dewar@adacore.com>
2153
2154         * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
2155
2156         * exp_ch4.adb: Add ??? comment for conditional expressions on limited
2157         types.
2158
2159         * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
2160         replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
2161         case of conditional expressions that may not be elaborated.
2162
2163         * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
2164         conditional expression where we may not execute then then or else
2165         branches.
2166
2167 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
2168
2169         * i-cexten.ads (bool): New type.
2170
2171 2009-07-10  Robert Dewar  <dewar@adacore.com>
2172
2173         * sinfo.ads (N_Short_Circuit): New definition
2174         
2175         * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
2176         treepr.adb: Minor code reorganization (use N_Short_Circuit)
2177
2178 2009-07-10  Javier Miranda  <miranda@adacore.com>
2179
2180         * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
2181         non-tagged record types.
2182
2183         * sem_prag.adb
2184         (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
2185         with non-tagged types. Required to import C++ classes that have no
2186         virtual primitives.
2187         (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
2188         returning non-tagged types. For backward compatibility, if the
2189         constructor returns a class wide type we internally change the
2190         returned type to the corresponding non class-wide type.
2191
2192         * sem_aggr.adb
2193         (Valid_Ancestor_Type): CPP_Constructors code cleanup.
2194         (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
2195         (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
2196         (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
2197
2198         * sem_ch3.adb
2199         (Analyze_Object_Declaration): CPP_Constructors code cleanup.
2200
2201         * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
2202
2203         * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
2204
2205         * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
2206
2207         * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
2208         cleanup.
2209         
2210         * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
2211
2212         * gnat_rm.texi
2213         (pragma CPP_Class): Document that it can be used now with non-tagged
2214         record types.
2215         (pragma CPP_Constructor): Document that it can be used now with
2216         functions returning specific types. For backward compatibility
2217         we also support functions returning class-wide types.
2218
2219         * gnat_ugn.texi
2220         (Interfacing with C++ constructors): Update the examples to incorporate
2221         the new syntax in which the functions used to import C++ constructors
2222         return specific types.
2223         (Interfacing with C++ at the Class Level): Update the examples to
2224         incorporate the new syntax in which the functions used to import
2225         C++ constructors return specific types.
2226
2227 2009-07-10  Thomas Quinot  <quinot@adacore.com>
2228
2229         * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
2230         Make_Disp_Conditional_Select_Body,
2231         Make_Disp_Timed_Select_Body): For the case of a type that is neither an
2232         interface nor a concurrent type, the primitive body is empty. Generate
2233         a null statement so that it remains well formed.
2234
2235 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2236
2237         * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
2238         replace references to them in defaulted component expressions with
2239         references to the values of the discriminants of the target object.
2240
2241 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2242
2243         * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
2244         pragma, to capture global references if the context is generic.
2245
2246         * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
2247         appears within the initialization procedure for the corresponding
2248         record, replace it with the proper discriminal.
2249
2250 2009-07-10  Vincent Celier  <celier@adacore.com>
2251
2252         * make.adb: Do not include object directories or library ALI
2253         directories of library projects in the object path.
2254
2255 2009-07-10  Javier Miranda  <miranda@adacore.com>
2256
2257         * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
2258         Typ argument to ensure proper management of access types.
2259
2260 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2261
2262         * exp_ch7.adb (Build_Final_List): If the list is being built for a
2263         Taft-Amendment type, place the finalization list in the package body,
2264         to ensure that the tree for the spec is identical whenever it is
2265         compiled.
2266
2267 2009-07-10  Javier Miranda  <miranda@adacore.com>
2268
2269         * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
2270         inheriting attributes from a private Parent_Base.
2271
2272 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2273
2274         * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
2275         statements with the same condition.
2276
2277 2009-07-10  Robert Dewar  <dewar@adacore.com>
2278
2279         * exp_ch4.adb (Raise_Accessibility_Error): New procedure
2280
2281 2009-07-09  Tom Tromey  <tromey@redhat.com>
2282
2283         * raise-gcc.c: Include dwarf2h (unconditionally).
2284
2285 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2286
2287         * sem_ch10.adb (Install_Context): If the unit is a package body,
2288         install the private with_clauses of the corresponding package
2289         declaration.
2290
2291 2009-07-09  Robert Dewar  <dewar@adacore.com>
2292
2293         * checks.adb: Minor reformatting
2294
2295 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
2296
2297         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2298         into ug_words.
2299
2300 2009-07-09  Thomas Quinot  <quinot@adacore.com>
2301
2302         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2303         Do not warn for a constant overlaying any constant object
2304
2305 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2306
2307         * sem_ch10.adb (Install_Context): If the unit is a package body,
2308         install the private with_clauses of the corresponding package
2309         declaration.
2310
2311 2009-07-09  Robert Dewar  <dewar@adacore.com>
2312
2313         * checks.adb: Minor reformatting
2314
2315 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
2316
2317         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2318         into ug_words.
2319
2320 2009-07-09  Thomas Quinot  <quinot@adacore.com>
2321
2322         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2323         Do not warn for a constant overlaying any constant object
2324
2325 2009-07-09  Arnaud Charlet  <charlet@adacore.com>
2326
2327         * gcc-interface/Make-lang.in: Update dependencies
2328
2329 2009-07-09  Thomas Quinot  <quinot@adacore.com>
2330
2331         * g-socket.adb (Check_Selector): Do not create local copies of the
2332         socket sets on the stack.
2333
2334 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
2335
2336         * gnat_ugn.texi: Add missing VMS translations.
2337
2338 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2339
2340         * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
2341         condition, to prevent generation of visible code during expansion,
2342         when Check is not enabled.
2343
2344 2009-07-09  Gary Dismukes  <dismukes@adacore.com>
2345
2346         * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
2347         the check gets registered for any available local handler
2348         (Set_Local_Raise).
2349
2350         * sem_util.adb: Add with and use of Exp_Ch11.
2351         (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
2352         that the check gets registered for any available local handler.
2353
2354         * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
2355         on slice ranges.
2356
2357 2009-07-09  Steve Baird  <baird@adacore.com>
2358
2359         * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
2360         function.
2361         (Expand_N_Exception_Declaration): Fix handling of exceptions
2362         declared in a subprogram.
2363
2364 2009-07-09  Emmanuel Briot  <briot@adacore.com>
2365
2366         * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
2367         multi-unit files.
2368
2369 2009-07-09  Thomas Quinot  <quinot@adacore.com>
2370
2371         * freeze.adb: Minor reformatting
2372
2373         * exp_ch3.adb: Minor comment fix.
2374
2375         * sinfo.ads: Minor comment fix
2376
2377 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2378
2379         * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
2380
2381 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2382
2383         * freeze.adb (Freeze_Expression): If the expression is the name of a
2384         function in a call, and the function has not been frozen yet, create
2385         extra formals for it to ensure that the proper actuals are created
2386         when expanding the call.
2387
2388 2009-07-09  Emmanuel Briot  <briot@adacore.com>
2389
2390         * prj-pp.adb (Print): Fix handling of source index when set on a
2391         declaration node.
2392
2393 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2394
2395         * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
2396         a temporary to the source expression whose value it captures.
2397
2398         * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
2399
2400 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2401
2402         * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
2403         EXPR_LOCATION.
2404
2405 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
2406
2407         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
2408         parameters when the subtype of the actual is not known to be a subrange
2409         of the formal's subtype.
2410         (Expand_Call): Generate a range check only in the E_In_parameter case
2411         (in out parameter range checks are now handled in Expand_Actuals).
2412
2413         * exp_ch4.adb (Expand_N_Slice): Restore code that calls
2414         Enable_Range_Check.
2415
2416 2009-07-07  Robert Dewar  <dewar@adacore.com>
2417
2418         * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
2419
2420 2009-07-07  Javier Miranda  <miranda@adacore.com>
2421
2422         * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
2423         designated type comes from a limited views.
2424
2425 2009-07-07  Emmanuel Briot  <briot@adacore.com>
2426
2427         * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
2428         locally removed files that are later made visible again in an importing
2429         project.
2430
2431 2009-07-07  Robert Dewar  <dewar@adacore.com>
2432
2433         * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
2434
2435 2009-07-07  Sergey Rybin  <rybin@adacore.com>
2436
2437         * gnat_ugn.texi: Add an example to the description of gnatcheck
2438         'Style_Checks' rule option.
2439
2440 2009-07-07  Tristan Gingold  <gingold@adacore.com>
2441
2442         * seh_init.c: Fix inline assembly statement in seh_init.c
2443
2444 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
2445
2446         * sem_warn.adb (Check_References): Do not emit warnings on formals of
2447         an entry body. Only the formals of the entry declaration are traced.
2448
2449 2009-07-07  Robert Dewar  <dewar@adacore.com>
2450
2451         * s-osprim-mingw.adb: Minor code reorganization
2452
2453 2009-07-07  Robert Dewar  <dewar@adacore.com>
2454
2455         * prj-nmsc.adb: Minor reformatting
2456
2457 2009-07-07  Pascal Obry  <obry@adacore.com>
2458
2459         * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
2460         cases where Pattern is longer than Source.
2461
2462 2009-07-07  Pascal Obry  <obry@adacore.com>
2463
2464         * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
2465
2466 2009-07-07  Emmanuel Briot  <briot@adacore.com>
2467
2468         * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
2469         project file.
2470
2471 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
2472
2473         * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
2474         primitive operations, in case one of them is called in the
2475         initialization procedure for the type.
2476
2477 2009-07-07  Robert Dewar  <dewar@adacore.com>
2478
2479         * a-calend.adb: Minor code reorganization (use conditional expressions)
2480
2481         * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
2482         prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
2483         s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
2484         s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
2485         s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
2486         g-comlin.adb, exp_ch11.adb: Minor reformatting.
2487
2488 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
2489
2490         * checks.adb (Generate_Range_Check): Replace type conversions with
2491         unchecked conversions to support the case of performing range checks
2492         on Enum'Val (permits integer values to be converted to enumeration).
2493
2494         * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
2495         Attribute_Succ): Set Do_Range_Check to False before calling
2496         Expand_Pred_Succ, to prevent gigi from generating any range checks.
2497         (Expand_N_Attribute_Reference, case Attribute_Val):
2498         Generate a range check when needed (and set Do_Range_Check to False).
2499
2500         * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
2501         scalar object initialization if needed.
2502
2503         * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
2504         when needed on scalar allocators.
2505         (Expand_N_Qualified_Expression): Generate range check when needed.
2506         (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
2507         Checks on slice ranges handled in Resolve_Slice.
2508
2509         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
2510         when needed, for all scalar assignments, not just discrete.
2511         (Expand_Simple_Function_Return): Resolve the conversion created for a
2512         scalar function return so that the conversion will get expanded to
2513         generate a possible constraint check.
2514
2515         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
2516         in out scalar actuals when subtypes don't match, to ensure generation
2517         of return checks (and set Do_Range_Check to False).
2518         (Expand_Call): Uncomment code to perform range checks, but make it apply
2519         only to in and in out parameters (checks on parameter returns are
2520         handled in Expand_Actuals). If a scalar actual for a call to a derived
2521         subprogram is marked as needing a range check, peform it here (and set
2522         Do_Range_Check to False).
2523
2524         * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
2525         range check on scalar component associations when needed.
2526
2527         * sem_eval.adb (In_Subrange_Of): Return False when the first type has
2528         infinities but the second type does not, as these aren't compatible
2529         floating-point types.
2530
2531         * sem_res.adb (Resolve_Slice): In the case where the prefix of the
2532         slice is itself a slice, pick up the Etype of the prefix. This handles
2533         the case where the prefix was an Image attribute expanded to a slice,
2534         and ensures that we get the subtype with the slice constraint rather
2535         than the unconstrained subbtype of the 'Image.
2536
2537 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
2538
2539         * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
2540         overloaded expressions in a conditional expressions.
2541
2542         * sem_res.adb (Resolve): Handle properly overloaded conditional
2543         expressions.
2544
2545 2009-07-07  Robert Dewar  <dewar@adacore.com>
2546
2547         * scng.adb: Minor reformattting
2548
2549         * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
2550         association allows conditional expression without parens.
2551
2552         * par-ch4.adb (P_Name): Attribute arguments can be conditional
2553         expressions without enclosing parentheses, and also as parameters,
2554         indexing expressions etc.
2555         (P_Conditional_Expression): New procedure
2556         (P_Expression_If_OK): New procedure
2557
2558         * par.adb (P_Conditional_Expression): New procedure
2559         (P_Expression_If_OK): New procedure
2560
2561         * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
2562         form of conditional expression.
2563
2564         * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
2565         missing True argument if ELSE argument missing.
2566
2567         * sinfo.adb (Is_Elsif): New flag
2568
2569         * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
2570         part of the language, and the documentation is modified accordingly.
2571         (Is_Elsif): New flag
2572
2573 2009-07-06  Olivier Hainque  <hainque@adacore.com>
2574
2575         * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
2576         setjmp_longjmp): Attach the exception propagation reraise fallback
2577         to the sequence end label location when we have it.
2578
2579 2009-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2580
2581         PR ada/40608
2582         * init.c (APPLE): Include <mach/mach_init.h>.
2583         (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
2584
2585 2009-07-04  Eric Botcazou  <ebotcazou@adacore.com>
2586
2587         * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
2588         (SET_DECL_LANG_SPECIFIC): Likewise.
2589         (TYPE_RM_VALUE): New macro.
2590         (SET_TYPE_RM_VALUE): Likewise.
2591         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
2592         (TYPE_RM_MIN_VALUE): Likewise.
2593         (TYPE_RM_MAX_VALUE): Likewise.
2594         (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
2595         (SET_TYPE_RM_MIN_VALUE): Likewise.
2596         (SET_TYPE_RM_MAX_VALUE): Likewise.
2597         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
2598
2599 2009-07-04  Laurent GUERBY  <laurent@guerby.net>
2600
2601         PR ada/40631
2602         * tracebak.c (__gnat_backtrace): Fix old-style definition.
2603
2604 2009-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2605
2606         * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
2607
2608 2009-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2609
2610         PR ada/40609
2611         * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
2612         ucontext argument.
2613
2614 2009-07-01  Eric Botcazou  <ebotcazou@adacore.com>
2615
2616         * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
2617
2618 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
2619
2620         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
2621         the type of the left operand if it pads a self-referential type when
2622         the right operand is a constructor.
2623
2624         * gcc-interface/lang-specs.h: Fix copyright date.
2625
2626 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
2627
2628         * gcc-interface/decl.c: Include tree-inline.h.
2629         (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
2630         * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
2631         * gcc-interface/utils2.c: Include tree-inline.
2632         (known_alignment) <CALL_EXPR>: Likewise.
2633
2634 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
2635
2636         * raise-gcc.c: Include dwarf2.h conditionally.
2637         
2638 2009-06-29  Tom Tromey  <tromey@redhat.com>
2639
2640         * raise-gcc.c: Include elf/dwarf2.h.
2641
2642 2009-06-27  Laurent GUERBY  <laurent@guerby.net>
2643
2644         * tb-gcc.c (trace_callback): Add casts to silence warning.
2645
2646 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
2647
2648         * tb-gcc.c: Fix copyright notice.
2649
2650 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
2651
2652         * init.c (__gnat_set_globals): Add prototype.
2653         * adaint.c (__gnat_binder_supports_auto_init): Likewise.
2654         (__gnat_sals_init_using_constructors): Likewise.
2655         * gcc-interface/utils.c (gnat_pushlevel): Likewise.
2656         (get_block_jmpbuf_decl): Likewise.
2657         (gnat_poplevel): Likewise.
2658         (merge_sizes): Rename local variable.
2659         (copy_type): Likewise.
2660         (build_vms_descriptor32): Likewise.
2661         (build_vms_descriptor): Likewise.
2662         (convert_vms_descriptor64): Likewise.
2663         (convert_vms_descriptor32): Likewise.
2664         (convert_to_fat_pointer): Likewise.
2665         (maybe_unconstrained_array): Likewise.
2666         (def_fn_type): Use promoted type with va_arg.
2667         * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
2668         (substitute_in_type): Rename local variable.
2669         * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
2670
2671 2009-06-26  Laurent GUERBY  <laurent@guerby.net>
2672
2673         * tb-gcc.c (trace_callback): Use char* instead of void*.
2674         * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
2675         * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
2676         (Attribute_to_gnu): Adjust for above change.
2677         (Subprogram_Body_to_gnu): Likewise.
2678         * gcc-interface/utils.c (merge_sizes): Rename local variable.
2679         (copy_type): Likewise.
2680         (build_vms_descriptor32): Likewise.
2681         (build_vms_descriptor): Likewise.
2682         (convert_vms_descriptor64): Likewise.
2683         (convert_vms_descriptor32): Likewise.
2684         (convert_to_fat_pointer): Likewise.
2685         (maybe_unconstrained_array): Likewise.
2686         * gcc-interface/decl.c (substitute_in_type): Likewise.
2687
2688 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
2689
2690         * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
2691         (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
2692         of the upper bound of the index types.
2693
2694 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
2695
2696         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
2697         out common predicate.  Use the maximum to compute the upper bound of
2698         the index type only when it is not wider than sizetype.  Perform the
2699         comparison in the index type for the generic expression.  Use real
2700         precision to decide whether to generate special types for debugging
2701         information.
2702
2703 2009-06-26  Matthew Gingell  <gingell@adacore.com>
2704
2705         * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
2706
2707 2009-06-26  Vincent Celier  <celier@adacore.com>
2708
2709         * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
2710         default.
2711
2712 2009-06-26  Robert Dewar  <dewar@adacore.com>
2713
2714         * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
2715
2716 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
2717
2718         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
2719         correct arguments to create_field_decl.  Remove redundant iteration.
2720         Rewrite computation of the maximum size.
2721         <E_Array_Subtype>: Reorder and simplify handling of special cases.
2722         Rewrite computation of the maximum size.  Use consistent naming.
2723         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
2724         comparison order for consistency.  Use generic integer node to
2725         build the operator and fold the result.
2726
2727 2009-06-25  Vincent Celier  <celier@adacore.com>
2728
2729         * vms_data.ads: Minor comment change
2730
2731 2009-06-25  Gary Dismukes  <dismukes@adacore.com>
2732
2733         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
2734         assignment statement to targeting a caller-provided object when the
2735         result type is an interface type.
2736
2737         * exp_ch6.adb (Expand_Call): Remove redundant test of
2738         Is_Limited_Interface (Is_Inherently_Limited is sufficient).
2739         (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
2740
2741         * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
2742         to OK_For_Limited_Init.
2743
2744         * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
2745         condition so that True is returned for all limited interfaces, not
2746         just synchronized ones. Ignore components of an interface type when
2747         checking for limited components (such a component can be a parent
2748         component).
2749
2750         * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
2751         (OK_For_Limited_Init): Add type parameter.
2752
2753         * sem_ch3.adb (Check_Initialization): Add type in call to
2754         OK_For_Limited_Init.
2755         (OK_For_Limited_Init): Add new type param in call to
2756         OK_For_Limited_Init_In_05.
2757         (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
2758         nonlimited type when the context type is a limited interface. Add type
2759         on recursive calls.
2760
2761         * sem_ch4.adb (Analyze_Allocator): Add type in call to
2762         OK_For_Limited_Init.
2763
2764         * sem_ch6.adb (Check_Limited_Return): Add type in call to
2765         OK_For_Limited_Init.
2766
2767         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
2768         OK_For_Limited_Init.
2769         (Instantiate_Object): Add type in call to OK_For_Limited_Init.
2770
2771         * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
2772         class-wide interface, get the base type before applying Etype, in order
2773         to account for class-wide subtypes.
2774
2775 2009-06-25  Emmanuel Briot  <briot@adacore.com>
2776
2777         * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
2778         prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
2779         between gnatmake and gprbuild.
2780         (Naming_Data): Removed, no longer used
2781         (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
2782         needed locally in one subprogram, no need to store forever in the
2783         structure.
2784         (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
2785         a similar role.
2786         (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
2787         Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
2788         Spec_Suffix_Id_Of): removed, no longer used.
2789
2790 2009-06-25  Javier Miranda  <miranda@adacore.com>
2791
2792         * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
2793         types on qualified expression in calls to imported C++ constructors.
2794
2795         * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
2796         imported C++ constructors.
2797
2798 2009-06-25  Sergey Rybin  <rybin@adacore.com>
2799
2800         * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
2801
2802 2009-06-25  Vincent Celier  <celier@adacore.com>
2803
2804         * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
2805         provided, on Windows change all '/' to '\'.
2806
2807         * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
2808         used. Minor comment changes
2809
2810         * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
2811         Remove_Forbidden_File_Name.
2812
2813 2009-06-25  Quentin Ochem  <ochem@adacore.com>
2814
2815         * prj.ads (Unit_Index): Now general access type.
2816
2817 2009-06-25  Pascal Obry  <obry@adacore.com>
2818
2819         * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
2820
2821 2009-06-25  Emmanuel Briot  <briot@adacore.com>
2822
2823         * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
2824         prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
2825         computed efficiently from the other fields.
2826         (Object_To_Global_Archive): New subprogram
2827         (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
2828         (Override_Kind): Fix handling of separates in Ada.
2829         (Create_Mapping_File): Remove duplicate code
2830         (Naming_Data.Implementation_Exception, Specification_Exception):
2831         field removed, since never used.
2832         (Naming_Data.Specs, .Bodies): field removed, since this is only
2833         used while processing the project and is not needed once the tree
2834         is in memory. This brings Naming_Data and Lang_Naming_Data
2835         closer (same content now, but different use still).
2836
2837 2009-06-25  Pascal Obry  <obry@adacore.com>
2838
2839         * sem_ch4.adb: Minor reformatting.
2840
2841         * a-strsea.adb: Fix confusion between 'Length and 'Last.
2842
2843 2009-06-25  Ed Schonberg  <schonberg@adacore.com>
2844
2845         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
2846         Unchecked_Access): If the context is an interface type, and the prefix
2847         is of the corresponding class-wide type, do not insert a conversion
2848         because the pointer displacement has already taken place, and we must
2849         retain the class-wide type in a dispatching context.
2850
2851 2009-06-25  Emmanuel Briot  <briot@adacore.com>
2852
2853         * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
2854         the previous source file.
2855         (Create_Mapping): Iterate on sources rather than on units.
2856
2857 2009-06-25  Emmanuel Briot  <briot@adacore.com>
2858
2859         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
2860         prj-env.adb, prj-env.ads (Slash): removed, no longer used
2861         (Source_Data): no longer use Path.Name to point to a locally removed
2862         file. Instead we use the field Locally_Removed which is clearer
2863
2864 2009-06-25  Arnaud Charlet  <charlet@adacore.com>
2865
2866         * gcc-interface/Make-lang.in: Remove references to sem_maps.o
2867
2868         * sem_maps.adb, sem_maps.ads: Removed, not used.
2869
2870 2009-06-25  Ed Falis  <falis@adacore.com>
2871
2872         * s-vxwext-rtp.ads: Add missing declaration
2873
2874 2009-06-25  Matthew Gingell  <gingell@adacore.com>
2875
2876         * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
2877         speed up unmapped case.
2878
2879 2009-06-25  Vincent Celier  <celier@adacore.com>
2880
2881         * prj-nmsc.adb (Check): Change error message for illegal abstract
2882         projects.
2883
2884 2009-06-25  Robert Dewar  <dewar@adacore.com>
2885
2886         * gnat_ugn.texi: Add note on use of -gnatct for ASIS
2887
2888 2009-06-25  Emmanuel Briot  <briot@adacore.com>
2889
2890         * fmap.ads: Add documentation on mapping files
2891
2892 2009-06-25  Robert Dewar  <dewar@adacore.com>
2893
2894         * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
2895         reformatting
2896
2897 2009-06-24  Robert Dewar  <dewar@adacore.com>
2898
2899         * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
2900
2901         * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
2902         case.
2903         (Index): Ditto.
2904
2905 2009-06-24  Ed Schonberg  <schonberg@adacore.com>
2906
2907         * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
2908         present when checking whether a call may be interpreted as an indexing
2909         of the result of a call.
2910
2911         * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
2912         body for a null procedure on the freeze actions for the procedure, so
2913         that it will be analyzed at the proper place without premature freezing
2914         of actuals.
2915
2916         * sem_ch3.adb (Check_Completion): Code cleanup. 
2917         Do not diagnose a null procedure without a body, if previous errors
2918         have disabled expansion.
2919
2920 2009-06-24  Doug Rupp  <rupp@adacore.com>
2921
2922         * init.c [VMS] Resignal C$_SIGKILL
2923
2924 2009-06-24  Ed Falis  <falis@adacore.com>
2925
2926         * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
2927         Define ERROR in body for VxWorks 6 kernel
2928
2929 2009-06-24  Pascal Obry  <obry@adacore.com>
2930
2931         * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
2932         in [Send/Receive]_Socket.
2933
2934 2009-06-24  Emmanuel Briot  <briot@adacore.com>
2935
2936         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
2937         prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
2938         to several subprograms.
2939         (Source_Data.Other_Part): Removed, since can be computed from the
2940         language.
2941         (Other_Part): New subprogram.
2942
2943 2009-06-24  Emmanuel Briot  <briot@adacore.com>
2944
2945         * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
2946         the full base name of the file when the suffix doesn't start with a '.'.
2947
2948 2009-06-24  Vincent Celier  <celier@adacore.com>
2949
2950         * prj-nmsc.adb (Check): A project declared abstract is legal if no
2951         attribute Source_Dirs, Source_Files, Source_List_File or Languages is
2952         declared.
2953
2954 2009-06-24  Robert Dewar  <dewar@adacore.com>
2955
2956         * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
2957         prj-env.adb: Minor reformatting
2958
2959 2009-06-24  Ed Falis  <falis@adacore.com>
2960
2961         * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
2962         s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
2963         s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
2964         support for VxWorks SMP.
2965
2966         * gcc-interface/Make-lang.in: Update dependencies
2967
2968 2009-06-24  Emmanuel Briot  <briot@adacore.com>
2969
2970         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
2971         prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
2972         no longer useful.
2973         (Source_Data.Lang_Kind): Removed, since it duplicates information
2974         already available through Language.Config.
2975         (Source_Data.Compile): Removed, since information is already available
2976         through the language.
2977         (Is_Compilable): New subprogram.
2978         (Source_Data.Dependency): Removed, since already available through
2979         the language.
2980         (Source_Data.Object_Exist, Object_Linked): Removed since available
2981         through the language already.
2982         (Unit_Data.File_Names): Is now also set in multi_language mode, to
2983         bring the two modes closer in the resulting data structures.
2984         (Source_Data.Unit): Now a direct pointer to the unit data, rather than
2985         just the name that would point into a hash table.
2986         (Get_Language_From_Name): New subprogram.
2987
2988 2009-06-24  Javier Miranda  <miranda@adacore.com>
2989
2990         * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
2991         visible through limited-with context clauses. In addition, avoid an
2992         extra tag check that is not required when the class-wide
2993         designated types of the operand and target types are
2994         the same entity.
2995         (Tagged_Membership): Handle entities from the limited view.
2996
2997 2009-06-24  Emmanuel Briot  <briot@adacore.com>
2998
2999         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
3000         prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
3001         (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
3002         different vocabularies for similar concepts (Impl/Body_Part and
3003         Spec/Specification).
3004         (Unit_Data): now points directly to a Source_Id, rather than duplicating
3005         some of the information in File_Name_Data. This also saves a bit of
3006         memory. However, since we are now using a pointer we need to test
3007         for null explicitly in several places of the code
3008
3009 2009-06-24  Javier Miranda  <miranda@adacore.com>
3010
3011         * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
3012         from processing the type conversion when the node is
3013         replaced by an N_Raise_Program_Error node.
3014
3015 2009-06-24  Hristian Kirtchev  <kirtchev@adacore.com>
3016
3017         * sem_ch6.adb (Designates_From_With_Type): New routine.
3018         (Process_Formals): Since anonymous access types are no longer flagged
3019         as from with types, traverse the designated type to determine whether
3020         it is coming from a limited view.
3021
3022         * sem_res.adb: Remove with and use clauses for Sem_Ch10.
3023         (Full_Designated_Type): Use Available_View to extract the non-limited /
3024         full view of a type.
3025
3026 2009-06-24  Robert Dewar  <dewar@adacore.com>
3027
3028         * exp_ch6.adb: Minor reformatting
3029
3030         * layout.adb: Minor reformatting
3031
3032         * make.adb: Minor reformatting
3033
3034 2009-06-24  Thomas Quinot  <quinot@adacore.com>
3035
3036         * sem_ch10.adb: Minor code reorganization.
3037
3038 2009-06-24  Eric Botcazou  <ebotcazou@adacore.com>
3039
3040         * ttypes.ads: Minor editing.
3041         
3042 2009-06-24  Robert Dewar  <dewar@adacore.com>
3043
3044         * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
3045         in deciding to do call-by-copy code.
3046
3047 2009-06-24  Vincent Celier  <celier@adacore.com>
3048
3049         * make.adb (Gnatmake): To decide if an executable should be rebuilt,
3050         check if an externally built library file is more current than the
3051         executable.
3052
3053 2009-06-23  Olivier Hainque  <hainque@adacore.com>
3054
3055         * gcc-interface/utils.c (handle_vector_size_attribute): Import from
3056         c-common.c and populate in gnat_internal_attribute_table.
3057         
3058 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
3059
3060         * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
3061         Available_View only when designated type of an anonymous access type
3062         is  limited view.
3063
3064 2009-06-23  Robert Dewar  <dewar@adacore.com>
3065
3066         * sem_ch10.adb: Minor reformatting
3067
3068         * ali.ads: Mino reformatting.
3069
3070         * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
3071         turning off inlining if ASIS mode active).
3072         
3073         * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
3074         This belongs in gnat1drv.adb after switches are scanned.
3075
3076 2009-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
3077
3078         * sem_attr.adb: Add with and use clauses for Sem_Ch10.
3079         (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
3080         when dealing with class-wide types. Detect a legal shadow entity and
3081         retrieve its non-limited view.
3082
3083         * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
3084         subprogram to top package level from Intall_Limited_Withed_Unit.
3085         (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
3086         Add check which prevents the installation of a limited view if the
3087         non-limited view is already visible through a with clause.
3088         (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
3089         legal shadow entity which may occur in subprogram formals of anonymous
3090         access type.
3091
3092         * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
3093
3094         * sem_ch3.adb (Access_Definition): Remove the propagation of flag
3095         From_With_Type from the designated type to the generated anonymous
3096         access type. Remove associated comment.
3097
3098         * sem_res.adb Add with and use clauses for Sem_Ch10.
3099         (Full_Designated_Type): Detect a legal shadow entity and retrieve its
3100         non-limited view. Since the shadow entity may replace a regular
3101         incomplete type, return the available full view.
3102
3103 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
3104
3105         * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
3106         incomplete type declarations. Previous code was potentially quadratic
3107         in the number of visible declarations in any package appearing in a
3108         limited_with_clause.
3109
3110 2009-06-23  Robert Dewar  <dewar@adacore.com>
3111
3112         * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
3113         xref_lib.adb: Minor reformatting
3114
3115 2009-06-23  Robert Dewar  <dewar@adacore.com>
3116
3117         * a-stzhas.adb: Provide dummy body to avoid build problems with old
3118         versions which did have a body for this unit.
3119
3120 2009-06-23  Vincent Celier  <celier@adacore.com>
3121
3122         * prj-attr.adb: Attribute names Initial_Required_Switches and
3123         Final_Required_Switches changed to Leading_Required_Switches and
3124         Trailing_Required_Switches.
3125
3126         * prj-nmsc.adb (Process_Compiler): Attribute names
3127         Initial_Required_Switches and Final_Required_Switches changed to
3128         Leading_Required_Switches and Trailing_Required_Switches.
3129
3130         * prj.ads (Language_Config): Component Initial_Required_Switches and
3131         Final_Required_Switches changed to Leading_Required_Switches and
3132         Trailing_Required_Switches.
3133
3134         * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
3135         Final_Required_Switches; add standard names Leading_Required_Switches
3136         and Trailing_Required_Switches.
3137
3138 2009-06-23  Thomas Quinot  <quinot@adacore.com>
3139
3140         * prj-conf.adb: Minor reformatting
3141
3142         * xref_lib.adb: Minor cleanup
3143
3144 2009-06-23  Emmanuel Briot  <briot@adacore.com>
3145
3146         * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
3147         prj-conf.ads (Check_Configuration): New parameter
3148         Compiler_Driver_Mandatory.
3149
3150 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
3151
3152         * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
3153         context of the current unit has an inline pragma, the instance is not
3154         rewritten as the declaration of the package wrapper. Handle both
3155         possibilities when retrieving the visible subprogram that renames the
3156         instantiation itself.
3157
3158 2009-06-23  Javier Miranda  <miranda@adacore.com>
3159
3160         * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
3161         designated types referencing entities from the limited view.
3162
3163 2009-06-23  Robert Dewar  <dewar@adacore.com>
3164
3165         * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
3166
3167         * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
3168         small values
3169
3170         * prj-conf.ads: Minor reformatting
3171
3172         * prj-conf.adb: Minor reformatting
3173
3174 2009-06-23  Vasiliy Fofanov  <fofanov@adacore.com>
3175
3176         * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
3177         to correspond to the log format that gnatmem now expects.
3178
3179 2009-06-23  Vincent Celier  <celier@adacore.com>
3180
3181         * prj-attr.adb: New attributes Initial_Required_Switches,
3182         Final_Required_Switches and Object_File_Switches
3183         
3184         * prj-nmsc.adb (Process_Compiler): Process new attributes
3185         Name_Final_Required_Switches, Name_Initial_Required_Switches and
3186         Name_Object_File_Switches.
3187
3188         * prj.ads (Language_Config): New component
3189         Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
3190         Compiler_Final_Required_Switches and Object_File_Switches.
3191
3192         * snames.ads-tmpl: New standard names Initial_Required_Switches,
3193         Final_Required_Switches and Object_File_Switches
3194
3195 2009-06-23  Pascal Obry  <obry@adacore.com>
3196
3197         * s-strhas.adb, s-strhas.ads: Minor reformatting.
3198
3199 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
3200
3201         * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
3202         not indicate that the enclosing unit needs a body.
3203
3204 2009-06-23  Emmanuel Briot  <briot@adacore.com>
3205
3206         * prj-conf.ads, prj-conf.adb: New files part of the project manager.
3207
3208 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
3209
3210         * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
3211         primitive equality include it with its source name even if the
3212         operation is currently invisible, to make sure that the corresponding
3213         slot in the dispatch table is reserved for the internal equality
3214         subsequently generated during expansion.
3215
3216 2009-06-23  Matthew Gingell  <gingell@adacore.com>
3217
3218         * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
3219
3220 2009-06-22  Jose Ruiz  <ruiz@adacore.com>
3221
3222         * sysdep.c (__gnat_localtime_tzoff for RTX):
3223         SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
3224         GetTimeZoneInformation instead.
3225
3226 2009-06-22  Robert Dewar  <dewar@adacore.com>
3227
3228         * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
3229
3230 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
3231
3232         * sem_ch12.adb (Collect_Previous_Instances): Do not collect
3233         instantiations declared in a previous generic package body.
3234
3235 2009-06-22  Robert Dewar  <dewar@adacore.com>
3236
3237         * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
3238         restriction No_Direct_Boolean_Operators.
3239
3240 2009-06-22  Thomas Quinot  <quinot@adacore.com>
3241
3242         * bindusg.adb: Minor fixes to gnatbind usage message
3243
3244         * sem_eval.adb: Minor reformatting
3245
3246 2009-06-22  Javier Miranda  <miranda@adacore.com>
3247
3248         * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
3249         freezing point the check on the use of abstract types in object
3250         declarations. Done to allow the declaration of C++ imported variables
3251         or constants whose type corresponds with an imported C++ classes for
3252         which the constructor is not imported.
3253
3254 2009-06-22  Thomas Quinot  <quinot@adacore.com>
3255
3256         * sem_ch6.adb: Minor reformatting
3257
3258 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
3259
3260         * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
3261         component is constrained with an expression rather than with a
3262         discriminant of the enclosing type, use that expression when building
3263         the call to default-initialize the component, when the call is part of
3264         an aggregate with box initialization.
3265
3266 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
3267
3268         * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
3269         unconditional rather than a style check, because a formal name out of
3270         order is suspicious.
3271
3272 2009-06-22  Vincent Celier  <celier@adacore.com>
3273
3274         * prj-nmsc.adb (Locate_Directory): Indicate the project name when
3275         creating a directory automatically.
3276
3277 2009-06-22  Eric Botcazou  <ebotcazou@adacore.com>
3278
3279         * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
3280         untagged derived type, add a hidden component for every constrained
3281         discriminant of the parent type to keep record layout consistent.
3282
3283 2009-06-22  Thomas Quinot  <quinot@adacore.com>
3284
3285         * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
3286         copy).
3287
3288 2009-06-22  Matthew Gingell  <gingell@adacore.com>
3289
3290         * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
3291         s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
3292         g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
3293         a-swuwha.adb: New unit System.String_Hash.  
3294         Refactor redundant cut and pasted hash functions with instances of a
3295         new generic hash function.
3296         Implement a new string hashing algorithm which appears in testing to
3297         be move effective than to previous approach.
3298
3299 2009-06-22  Ed Falis  <falis@adacore.com>
3300
3301         * sysdep.c: remove include for nfsLib.h and an NFS specific error
3302         message for VxWorks 653 vThreads: not supported by the OS.
3303
3304         * gsocket.h: disable sockets for VxWorks 653 vThreads.
3305
3306 2009-06-22  Robert Dewar  <dewar@adacore.com>
3307
3308         * sem_ch6.adb: Add ??? comment for bad use of Style_Check
3309
3310 2009-06-22  Robert Dewar  <dewar@adacore.com>
3311
3312         * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
3313         by Sloc_Range.
3314
3315         * freeze.adb: Minor comment updates
3316
3317         * s-valrea.adb (Bad_Based_Value): New procedure
3318         (Scan_Real): Raise exceptions with messages
3319
3320 2009-06-22  Matthew Gingell  <gingell@adacore.com>
3321
3322         * adaint.h: Complete previous change.
3323
3324 2009-06-22  Thomas Quinot  <quinot@adacore.com>
3325
3326         * exp_ch7.ads, exp_ch3.adb: Minor reformatting
3327
3328 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
3329
3330         * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
3331         enabled, emit warning when a non-controlling argument of the overriding
3332         operation appears out of place vis-a-vis of the formal of the
3333         overridden operation.
3334
3335 2009-06-22  Vincent Celier  <celier@adacore.com>
3336
3337         * gnatcmd.adb (Check_Files): Close temporary files after all file names
3338         have been written into it.
3339
3340 2009-06-22  Matthew Gingell  <gingell@adacore.com>
3341
3342         * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
3343         available.
3344
3345 2009-06-22  Thomas Quinot  <quinot@adacore.com>
3346
3347         * sem_disp.adb (Check_Direct_Call): Handle the case where the full
3348         view of the root type is visible at the point of the call.
3349
3350 2009-06-22  Pat Rogers  <rogers@adacore.com>
3351
3352         * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
3353
3354 2009-06-22  Jerome Lambourg  <lambourg@adacore.com>
3355
3356         * freeze.adb: Add comments.
3357
3358 2009-06-21  Thomas Quinot  <quinot@adacore.com>
3359
3360         * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
3361         sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
3362         Factor out code to new subprogram...
3363         (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
3364         for a default initialized variable.
3365         (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
3366         entity that has an associated freeze node.
3367         (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
3368         If there is an init call for the object, defer it to the object freeze
3369         point.
3370         (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
3371         name clash with new subprogram introduced in Exp_Util.
3372
3373 2009-06-21  Robert Dewar  <dewar@adacore.com>
3374
3375         * einfo.ads: Minor reformatting
3376
3377 2009-06-21  Ed Falis  <falis@adacore.com>
3378
3379         * env.c (__gnat_environ): return NULL for vThreads - unimplemented
3380
3381 2009-06-21  Eric Botcazou  <ebotcazou@adacore.com>
3382
3383         * einfo.ads: Update comments.
3384
3385 2009-06-21  Hristian Kirtchev  <kirtchev@adacore.com>
3386
3387         * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
3388         where the controlling formal is of private class-wide type whose
3389         completion is a synchronized type can be converted into direct calls.
3390
3391 2009-06-21  Vincent Celier  <celier@adacore.com>
3392
3393         * gnatcmd.adb (Check_Files): When all sources of the project are to be
3394         indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
3395         of sources using -files=, so that the distinction can be made by the
3396         tool of a call with no source (to display the usage) from a call with
3397         a project file that contains no source.
3398
3399 2009-06-21  Jerome Lambourg  <lambourg@adacore.com>
3400
3401         * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
3402         case of VM convention arrays.
3403
3404 2009-06-20  Robert Dewar  <dewar@adacore.com>
3405
3406         * a-nudira.adb: Minor reformatting
3407
3408 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
3409
3410         * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
3411         expressions (possibly from a parent type) indicate that the scope of
3412         the new itypes is the initialization procedure being built.
3413
3414 2009-06-20  Robert Dewar  <dewar@adacore.com>
3415
3416         * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
3417         Needs_64, and now computed without anomolies for some dynamic types.
3418
3419 2009-06-20  Thomas Quinot  <quinot@adacore.com>
3420
3421         * sem_prag.adb: Minor reformatting
3422
3423         * exp_disp.ads: Minor reformatting
3424
3425 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
3426
3427         * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
3428         function call is a legal expression to initialize a limited object.
3429
3430         * exp_ch3.adb: Rename various freeze operations that perform expansion
3431         actions, to prevent confusion with subprograms in the freeze package.
3432
3433 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
3434
3435         * sem.adb (Walk_Library_Units): Check instantiations first.
3436
3437         * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
3438         private primitive if it is a function with a controlling result that is
3439         a type extension with progenitors.
3440
3441         * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
3442         a primitive operation of a synchronized tagged type that has a
3443         controlling result.
3444
3445 2009-06-20  Thomas Quinot  <quinot@adacore.com>
3446
3447         * einfo.ads: Fix typo.
3448
3449 2009-06-20  Ed Falis  <falis@adacore.com>
3450
3451         * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
3452
3453 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
3454
3455         * gcc-interface/trans.c (emit_check): Do not wrap up the result
3456         in a SAVE_EXPR.
3457         (protect_multiple_eval): Always protect complex expressions.
3458
3459 2009-06-19  Emmanuel Briot  <briot@adacore.com>
3460
3461         * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
3462         make sure we always return a name ending with a path separator.
3463
3464 2009-06-19  Javier Miranda  <miranda@adacore.com>
3465
3466         * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
3467         Save and restore the visibility of the parent when installed.
3468
3469 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
3470
3471         * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
3472         by Common which contains all these fields.
3473
3474         * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
3475         Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
3476         Remove code duplication in this package by means of calling the
3477         equivalent code in s-taprob.
3478
3479 2009-06-19  Robert Dewar  <dewar@adacore.com>
3480
3481         * a-einuoc.ads: Minor reformatting
3482
3483 2009-06-19  Ed Falis  <falis@adacore.com>
3484
3485         * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
3486         s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
3487
3488 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
3489
3490         * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
3491
3492 2009-06-19  Robert Dewar  <dewar@adacore.com>
3493
3494         * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
3495         ranges
3496
3497         * checks.adb (Determine_Range): Move the test for generic types later.
3498
3499         * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
3500         cases.
3501         (Eval_Relational_Op): Fold more cases including string compares
3502
3503         * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
3504         function.
3505
3506 2009-06-19  Robert Dewar  <dewar@adacore.com>
3507
3508         * sem_type.ads, sem_ch12.adb: Minor reformatting
3509
3510         * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
3511
3512 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
3513
3514         * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
3515         primitive operation of a rivate extension whose controlling argument
3516         is an out parameter.
3517
3518         * sem.adb (Walk_Library_Units): exclude generic package declarations
3519         from check.
3520
3521 2009-06-19  Thomas Quinot  <quinot@adacore.com>
3522
3523         * i-vxwoio.ads: Add comments
3524
3525 2009-06-19  Thomas Quinot  <quinot@adacore.com>
3526
3527         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
3528         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
3529         g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
3530         (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
3531         (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
3532         Thin_Common.Socket_Ioctl.
3533         (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
3534         __gnat_socket_ioctl.
3535         (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
3536         argument after the file descriptor and request code.
3537
3538 2009-06-19  Robert Dewar  <dewar@adacore.com>
3539
3540         * checks.adb: Minor reformatting
3541
3542 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
3543
3544         * env.c (__gnat_environ): RTX does not support this functionality.
3545
3546 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
3547
3548         * sem.adb (Walk_Library_Items): Include bodies in the list of units to
3549         traverse, to account for front-end inlining and instantiations in a
3550         spec or in the main unit.
3551
3552 2009-06-19  Robert Dewar  <dewar@adacore.com>
3553
3554         * checks.adb (Determine_Range): Do not attempt to get range of generic
3555         type.
3556
3557 2009-06-19  Sergey Rybin  <rybin@adacore.com>
3558
3559         * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
3560         gnatmetric option for generating the schema file for gnatmetric XML
3561         output. Add corresponding VMS qualifier.
3562
3563 2009-06-19  Robert Dewar  <dewar@adacore.com>
3564
3565         * g-cgi.adb: Minor reformatting
3566
3567 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
3568
3569         * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
3570         signal code for SIGFPE and raise Program_Error for SIGILL.
3571
3572         * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
3573
3574 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
3575
3576         * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
3577         generic package if there is a visibility candidate that is declared in
3578         a regular package.
3579
3580 2009-06-18  Olivier Hainque  <hainque@adacore.com>
3581
3582         * system-aix64.ads: New file.
3583         * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
3584         64bit system.ads for ppc64 multilib variants.
3585
3586 2009-06-16  Robert Dewar  <dewar@adacore.com>
3587             Olivier Hainque  <hainque@adacore.com>
3588
3589         Relax constraints on Machine_Attribute argument types:
3590         * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
3591         missing type.
3592         (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
3593         * gcc-interface/decl.c (prepend_attributes): Accept static
3594         expressions of any type as attribute arguments, not only string
3595         literals.
3596         * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
3597         the relaxation of the restriction on the Info argument type.
3598         
3599 2009-06-13  Aldy Hernandez  <aldyh@redhat.com>
3600
3601         * gcc-interface/utils.c (record_builtin_type): Pass location
3602         argument to build_decl.
3603         (create_type_stub_decl): Same.
3604         (create_type_decl): Same.
3605         (create_var_decl_1): Same.
3606         (create_field_decl): Same.
3607         (create_param_decl): Same.
3608         (create_label_decl): Same.
3609         (create_subprog_decl): Same.
3610         * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
3611         * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
3612         argument to create_artificial_label.
3613         (Loop_Statement_to_gnu): Same.
3614         (Subprogram_Body_to_gnu): Same.
3615         (gnat_gimplify_stmt): Same.
3616
3617 2009-06-11  Richard Henderson  <rth@redhat.com>
3618
3619         * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
3620         OPT_gdwarfplus.
3621
3622 2009-06-11  Ed Schonberg  <schonberg@adacore.com>
3623
3624         * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
3625         accessibiliy check on access_to_subprogram in the context of an
3626         anonymous access that is not an access parameter.
3627
3628 2009-06-11  Eric Botcazou  <ebotcazou@adacore.com>
3629
3630         * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
3631         
3632 2009-06-11  Quentin Ochem  <ochem@adacore.com>
3633
3634         * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
3635         comments for message handled by GPS.
3636
3637 2009-06-11  Matthew Gingell  <gingell@adacore.com>
3638
3639         * adaint.c: Use fopen64 instead of fopen on platforms where we know
3640         it's supported.
3641
3642 2009-06-11  Pascal Obry  <obry@adacore.com>
3643
3644         * g-cgi.ads: Fix comment typo.
3645
3646         * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
3647
3648 2009-06-10  Eric Botcazou  <ebotcazou@adacore.com>
3649
3650         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
3651         a reference to the original type for the type of the field of the
3652         XVS type.
3653         (maybe_pad_type): Likewise.
3654
3655         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
3656         common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
3657         Pass correctly typed arguments to create_field_decl.
3658         <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
3659         case of contrained discriminants as well.  Use the padded base type
3660         in the other case as well.  Rename temporary variable.  Tweak test.
3661         Factor common access pattern.  Set GNU_SIZE only once.
3662
3663 2009-06-09  Olivier Hainque  <hainque@adacore.com>
3664
3665         * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
3666         helper for build_call_alloc_dealloc with arguments to be interpreted
3667         identically.  Process the case where a GNAT_PROC to call is provided.
3668         (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
3669         and return an allocator for DATA_SIZE bytes aimed at containing a
3670         DATA_TYPE object, using the default __gnat_malloc allocator.  Honor
3671         DATA_TYPE alignments greater than what the latter offers.
3672         (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
3673         release a DATA_TYPE object designated by DATA_PTR using the
3674         __gnat_free entry point.
3675         (build_call_alloc_dealloc): Expect object data type instead of naked
3676         alignment constraint. Use the new helpers.
3677         (build_allocator): Remove special processing for the super-aligned
3678         case, now handled by build_call_alloc_dealloc.  Pass data
3679         type instead of the former alignment argument, as expected by the new
3680         interface.
3681         * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
3682         and comment.
3683         * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
3684         Remove special processing for the super-aligned case, now handled
3685         by build_call_alloc_dealloc.  Pass data type instead of the former
3686         alignment argument, as expected by the new interface.
3687         
3688 2009-06-08  Alexandre Oliva  <aoliva@redhat.com>
3689
3690         * lib-writ.adb (flag_compare_debug): Import.
3691         (Write_ALI): Skip during -fcompare-debug-second.
3692
3693 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
3694
3695         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
3696         adjusting the discriminant nodes in an extension, use the full view
3697         of the parent subtype if it is of a private kind.
3698
3699 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
3700
3701         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
3702         _Parent field, if any, to the record before adding the other fields.
3703         <E_Record_Subtype>: Put the _Controller field before the other fields
3704         except for the _Tag or _Parent fields.
3705         (components_to_record): Likewise.  Retrieve the _Parent field from the
3706         record type.
3707
3708 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
3709
3710         * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
3711         remove unused parameter and simplify.
3712         (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS.  Factor
3713         common predicate.  Rewrite loop for clarity.  Use GNU_TYPE directly
3714         as context for all discriminants.  Fix formatting nits.
3715         <E_Record_Subtype>: Add cosmetic 'break'.  Test Has_Discriminants
3716         before Discriminant_Constraint.  Adjust for above renaming.  Do not
3717         set GNU_TYPE more than once.
3718         (elaborate_entity): Test Has_Discriminants on the entity and use
3719         Implementation_Base_Type.
3720         (components_to_record): Rename component_list to gnat_component_list.
3721         Retrieve the _Parent field from the list.  Fix nits in comments.
3722         Clarify logic in loop.  Pass correct arguments to create_field_decl.
3723
3724 2009-06-02  Eric Botcazou  <ebotcazou@adacore.com>
3725
3726         * gcc-interface/Make-lang.in: Fix formatting.
3727
3728 2009-06-01  Olivier Hainque  <hainque@adacore.com>
3729             Eric Botcazou  <ebotcazou@adacore.com>
3730         
3731         * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
3732         to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
3733         on the result if at least one of the input fields couldn't be output
3734         as a static constant any more.
3735
3736 2009-06-01  Olivier Hainque  <hainque@adacore.com>
3737             Eric Botcazou  <ebotcazou@adacore.com>
3738         
3739         * gcc-interface/utils2.c (gnat_build_constructor): Factor
3740         out code.  Use initializer_constant_valid_for_bitfield_p and
3741         CONSTRUCTOR_BITFIELD_P for bit-fields.
3742
3743 2009-05-26  Ian Lance Taylor  <iant@google.com>
3744
3745         * gcc-interface/Makefile.in (COMPILER): Define.
3746         (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
3747         (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
3748         (seh_init.o, tracebak.o): Likewise.
3749         * gcc-interface/Make-lang.in (ada/targext.o): Likewise.
3750         (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
3751         (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
3752         (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
3753         (ada/utils2.o): Likewise.
3754
3755 2009-05-24  Olivier Hainque  <hainque@adacore.com>
3756
3757         * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
3758         * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
3759         Add -auxbase variants to the list of recognized internal switches.
3760         * back_end.adb (Scan_Back_End_Switches): Use the new functions and
3761         adjust comments.
3762         * lib.ads: Make comment on internal GCC switches more general.
3763         * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
3764         as for C.       
3765         
3766 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
3767
3768         * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
3769
3770 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
3771
3772         * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
3773         types.
3774
3775 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
3776
3777         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
3778         original type because of the alignment when there is an address clause.
3779
3780 2009-05-20  Eric Botcazou  <ebotcazou@adacore.com>
3781
3782         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
3783         discriminants affect the shape of the subtype, retrieve the GCC type
3784         directly from the original field if the GNAT types for the field and
3785         the original field are the same.
3786
3787 2009-05-15  Eric Botcazou  <ebotcazou@adacore.com>
3788
3789         * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
3790         New macros.
3791         (TYPE_RM_VALUES): Likewise.
3792         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
3793         (SET_TYPE_RM_SIZE): New macro.
3794         (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
3795         (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
3796         (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
3797         * gcc-interface/gigi.h (create_range_type): Declare.
3798         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
3799         Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
3800         <E_Signed_Integer_Subtype>: Build a regular integer type first and
3801         then set the RM bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
3802         <E_Floating_Point_Subtype>: Build a regular floating-point type first
3803         and then set the RM bounds.
3804         <E_Array_Type>: Use create_range_type instead of build_range_type.
3805         <E_Array_Subtype>: Build a regular integer type first and then set
3806         the RM bounds for the extra subtype.
3807         <E_String_Literal_Subtype>: Use create_range_type instead of
3808         build_range_type.
3809         <all>: Set the RM bounds for enumeration types and the GCC bounds for
3810         floating-point types.
3811         (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
3812         (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
3813         to set the bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
3814         (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
3815         types and with RM bounds for subtypes.
3816         * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
3817         (gnat_print_type) <REAL_TYPE>: New case.
3818         <ENUMERAL_TYPE>: Fall through to above case.
3819         (gnat_get_subrange_bounds): New function.
3820         * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
3821         TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
3822         * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
3823         for booleans.  Adjust and use SET_TYPE_RM_SIZE to set the RM size.
3824         (create_range_type): New function.
3825         (create_param_decl): Build a regular integer type first and then set
3826         the RM bounds for the extra subtype.
3827         (unchecked_convert): Remove kludge for 'Valid.
3828         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
3829         the index to sizetype instead of TYPE_DOMAIN.
3830
3831 2009-05-14  Eric Botcazou  <ebotcazou@adacore.com>
3832
3833         * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
3834         parameter and move check for static expression to...
3835         (elaborate_expression): ...here.  Adjust call to above function.
3836         (gnat_to_gnu_entity): Likewise for all calls.  Use correct arguments
3837         in calls to elaborate_expression.
3838         (elaborate_entity): Likewise.
3839         (substitution_list): Likewise.
3840         (maybe_variable): Fix formatting.
3841         (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
3842         missing guard.
3843         * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
3844
3845 2009-05-07  Arnaud Charlet  <charlet@adacore.com>
3846
3847         * gcc-interface/Make-lang.in: Update dependencies.
3848
3849 2009-05-06  Laurent GUERBY  <laurent@guerby.net>
3850
3851         * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
3852         Define sa_handler_pos.
3853         * s-osinte-linux.ads: Use it.
3854         * s-linux-mipsel.ads: New.
3855         * system-linux-mips64el.ads: New.
3856         * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
3857         mips64el-linux.
3858
3859 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
3860
3861         * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
3862         targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
3863         opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
3864         (Tagged_Type_Expansion): New flag.
3865         Replace use of VM_Target related to tagged types expansion by
3866         Tagged_Type_Expansion, since tagged type expansion is not necessarily
3867         linked to VM targets.
3868
3869 2009-05-06  Robert Dewar  <dewar@adacore.com>
3870
3871         * sem_attr.adb: Add processing for Standard'Compiler_Version
3872
3873         * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
3874         skipping.
3875         (Expr_First_Char): Add ??? comment that paren skipping needs work
3876         (Expr_Last_Char): Add ??? comment that paren skipping needs work
3877
3878         * exp_attr.adb: Add processing for Compiler_Version
3879
3880         * sem_attr.adb: New attribute Compiler_Version
3881
3882         * snames.ads-tmpl: Add entries for Compiler_Version attribute
3883
3884         * gnat_rm.texi: Document Compiler_Version attribute
3885
3886 2009-05-06  Robert Dewar  <dewar@adacore.com>
3887
3888         * errout.adb: Minor reformatting
3889
3890         * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
3891         sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
3892         styleg.adb: Add stylized comments to error messages that are included
3893         in the codefix circuitry of IDE's such as GPS.
3894
3895 2009-05-06  Sergey Rybin  <rybin@adacore.com>
3896
3897         * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
3898         new form of the rule parameter that allows to specify the suffix for
3899         access-to-access type names.
3900
3901 2009-05-06  Robert Dewar  <dewar@adacore.com>
3902
3903         * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
3904         out parameter assigned when exception handlers are present.
3905
3906         * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
3907         assignments on exit.
3908
3909         * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
3910         sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
3911         prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
3912         par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
3913         messages that are included in the codefix circuitry of IDE's such as
3914         GPS.
3915
3916         * sinput.ads, sinput.adb (Expr_First_Char): New function
3917         (Expr_Last_Char): New function
3918
3919 2009-05-06  Sergey Rybin  <rybin@adacore.com>
3920
3921         * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
3922         Add formal definition for extra exit point metric
3923
3924 2009-05-06  Pascal Obry  <obry@adacore.com>
3925
3926         * adaint.c: Support for setting attributes on unicode filename on
3927         Windows.
3928
3929 2009-05-06  Robert Dewar  <dewar@adacore.com>
3930
3931         * sem_warn.adb: Minor reformatting
3932
3933 2009-05-06  Javier Miranda  <miranda@adacore.com>
3934
3935         * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
3936         not have discriminants or components with default expressions.
3937         (Analyze_Pragma): For pragma CPP_Class check that imported types
3938         have no discriminants and components have no default expression.
3939
3940         * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
3941         class-wide types in the expression of a record component association.
3942
3943 2009-05-06  Sergey Rybin  <rybin@adacore.com>
3944
3945         * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
3946
3947         * gnat_ugn.texi: Add description for the new extra exit points metric
3948         (gnatmetric section).
3949
3950 2009-05-06  Robert Dewar  <dewar@adacore.com>
3951
3952         * s-fileio.adb: Minor comment update
3953
3954         * sem_ch8.adb: Minor reformatting
3955
3956         * exp_ch3.adb: Update comments.
3957
3958 2009-05-06  Tristan Gingold  <gingold@adacore.com>
3959
3960         * init.c, s-osinte-darwin.ads: Reduce alternate stack size
3961
3962 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
3963
3964         * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
3965         Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
3966
3967         * gcc-interface/Make-lang.in: Update dependencies
3968
3969 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
3970
3971         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
3972         change. The context clause of a generic instance declaration must be
3973         preserved until the end of the compilation, because it may have to be
3974         installed/removed repeatedly.
3975         The latest change to sem.adb ensures that the context of both spec and
3976         body of an instance is traversed before the instance itself, making
3977         this patch redundant.
3978
3979 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
3980
3981         * sem_aggr.adb: Fix typo.
3982
3983 2009-05-06  Thomas Quinot  <quinot@adacore.com>
3984
3985         * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
3986         declaration, do not adjust if the declaration is to be rewritten into
3987         a renaming.
3988
3989 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
3990
3991         * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
3992         discriminant part.
3993
3994 2009-05-06  Bob Duff  <duff@adacore.com>
3995
3996         * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
3997         otherwise the compiler would be allowed to optimize away the cleanup
3998         code.
3999
4000 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
4001
4002         * gnat_ugn.texi: Fix typo.
4003
4004 2009-05-06  Thomas Quinot  <quinot@adacore.com>
4005
4006         * g-debuti.adb: Minor reformatting
4007
4008         * exp_attr.adb: Minor reformatting
4009
4010 2009-05-06  Robert Dewar  <dewar@adacore.com>
4011
4012         * sem_aggr.adb: Minor reformatting.
4013
4014         * g-socthi-vms.adb: Minor reformatting
4015
4016 2009-05-06  Bob Duff  <duff@adacore.com>
4017
4018         * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
4019         (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
4020
4021 2009-05-06  Bob Duff  <duff@adacore.com>
4022
4023         * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
4024         flags.
4025
4026 2009-05-06  Javier Miranda  <miranda@adacore.com>
4027
4028         * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
4029         (Resolve_Extension_Aggregate): Do not reject C++ constructors in
4030         extension aggregates.
4031         (Resolve_Record_Aggregate): Add support for C++ constructors in
4032         extension aggregates.
4033
4034         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
4035         constructors in extension aggregates.
4036
4037 2009-05-06  Robert Dewar  <dewar@adacore.com>
4038
4039         * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
4040         clause.
4041
4042 2009-05-06  Thomas Quinot  <quinot@adacore.com>
4043
4044         * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
4045         packed type, since on OpenVMS, struct msghdr is packed.
4046
4047 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
4048
4049         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
4050         call returning an unconstrained composite value, create the proper
4051         subtype for it, as is done for object dclarations with unconstrained
4052         nominal subtypes. Perform this transformation regarless of whether
4053         call comes from source.
4054
4055 2009-05-06  Robert Dewar  <dewar@adacore.com>
4056
4057         * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
4058         records
4059
4060         * gnat_rm.texi:
4061         Add documentation for pragma Implicit_Packing applied to record
4062         types.
4063
4064 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
4065
4066         * sem.adb (Walk_Library_Items): Place all with_clauses of an
4067         instantiation on the spec, because late instance bodies may generate
4068         with_clauses for the instance body but are inserted in the instance
4069         spec.
4070
4071 2009-05-06  Emmanuel Briot  <briot@adacore.com>
4072
4073         * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
4074         support for returning the directory even if it doesn't exist. This is
4075         used for the object directory, since we are always setting it to a
4076         non-null value, and we should set it to an absolute name rather than a
4077         relative name for the sake of external tools that might depend on it.
4078         (Check_Library_Attributes): When Project.Library_Dir is known, check
4079         that the directory exists.
4080
4081 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
4082
4083         * sem_attr.adb (Check_Dereference): If the prefix of an attribute
4084         reference is an implicit dereference, do not freeze the designated type
4085         if within a default expression or when preanalyzing a pre/postcondtion.
4086
4087 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
4088
4089         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
4090         call returning an unconstrained composite value, create the proper
4091         subtype for it, as is done for object dclarations with unconstrained
4092         nominal subtypes
4093
4094 2009-05-06  Robert Dewar  <dewar@adacore.com>
4095
4096         * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
4097         improvements
4098
4099         * freeze.adb: Minor reformatting
4100
4101 2009-05-06  Thomas Quinot  <quinot@adacore.com>
4102
4103         * sem_ch3.adb (Access_Type_Declaration): An access type whose
4104         designated type is a limited view from a limited with clause (flagged
4105         From_With_Type) is not itself such a limited view.
4106
4107 2009-05-06  Emmanuel Briot  <briot@adacore.com>
4108
4109         * prj-nmsc.adb: Remove unused variable.
4110
4111         * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
4112         prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
4113         makeutl.ads, since not all users of prj.ads need this.
4114
4115 2009-05-06  Javier Miranda  <miranda@adacore.com>
4116
4117         * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
4118         constructor in case of aggregates whose type is a CPP_Class type.
4119
4120 2009-05-06  Robert Dewar  <dewar@adacore.com>
4121
4122         * sem_ch13.adb: Minor comment additions
4123
4124         * osint.adb: Minor reformatting
4125
4126 2009-05-06  Pascal Obry  <obry@adacore.com>
4127
4128         * initialize.c: On Windows, keep full pathname to expanded command
4129         line patterns.
4130
4131 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
4132
4133         * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
4134         an aggregate with box default is of a discriminated private type, do
4135         not build a subaggregate for it.
4136         A proper call to the initialization procedure is generated for it.
4137
4138 2009-05-06  Thomas Quinot  <quinot@adacore.com>
4139
4140         * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
4141         (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
4142         Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
4143         use standard array code for Standard.String.
4144         (Exp_Dist): Bump PolyORB s-parint API version to 3.
4145         (Rtsfind): New entities TA_Std_String, Unbounded_String.
4146
4147 2009-05-06  Robert Dewar  <dewar@adacore.com>
4148
4149         * g-comlin.ads: Minor reformatting
4150
4151         * xoscons.adb: Minor reformatting
4152
4153 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
4154
4155         * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
4156         Underlying_Type before retrieving the type definition for gathering
4157         components, to account for the case where the type is private.
4158
4159 2009-05-06  Tristan Gingold  <gingold@adacore.com>
4160
4161         * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
4162
4163 2009-05-06  Thomas Quinot  <quinot@adacore.com>
4164
4165         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
4166         g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
4167         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
4168         (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
4169         Windows versions): Fix incorrect base
4170         address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
4171         (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
4172         System.Address for the To parameter instead of a Sockaddr_In_Access, to
4173         achieve independance from AF_INET family, and also to allow this
4174         parameter to be retrieved from a Msghdr for the Windows case where
4175         these routines are used to implement C_Sendmsg and C_Recvmsg.
4176
4177 2009-05-06  Bob Duff  <duff@adacore.com>
4178
4179         * g-expect.adb, g-expect.ads: Minor reformatting
4180
4181         * sdefault.ads: Minor comment fix
4182
4183         * g-expect-vms.adb: Minor reformatting
4184
4185         * table.ads, table.adb (Append_All): New convenience procedure for
4186         appending a whole array.
4187
4188         * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
4189         box message. Call Osint.Dump_Source_File_Names to print out the file
4190         list, instead of rummaging around in various data structures.
4191
4192         * debug.adb: New switch -gnatd.n, to print source file names as they
4193         are read.
4194
4195         * alloc.ads: Add parameters for Osint.File_Name_Chars.
4196
4197         * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
4198         out source file names during a "bug box".
4199         (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
4200         (Read_Source_File): Print out the file name, if requested via -gnatd.n.
4201         If it's not part of the runtimes, store it for later printing by
4202         Dump_Source_File_Names.
4203
4204 2009-05-06  Javier Miranda  <miranda@adacore.com>
4205
4206         * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
4207         documentation and add reference to the GNAT user guide for further
4208         details.
4209
4210 2009-05-06  Javier Miranda  <miranda@adacore.com>
4211
4212         * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
4213         also wrong examples that use extension aggregates.
4214
4215 2009-05-06  Albert Lee  <lee@adacore.com>
4216
4217         * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
4218         of Msg_Iovlen_T for VMS.
4219
4220 2009-05-04   Laurent GUERBY  <laurent@guerby.net>
4221
4222         PR ada/38874
4223         * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
4224         
4225 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4226
4227         * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
4228         box-defaulted operator in an instantiation, when the type of the
4229         operands is not directly visible.
4230
4231 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
4232
4233         * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
4234         (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
4235         analysis of the ancestor part. Remove prohibition against limited
4236         interpretations of the ancestor expression in the case of Ada 2005.
4237         Revise error message in overloaded case, adding a message to cover
4238         the Ada 2005 case.
4239
4240 2009-04-29  Thomas Quinot  <quinot@adacore.com>
4241
4242         * xoscons.adb: Minor reformatting
4243
4244 2009-04-29  Bob Duff  <duff@adacore.com>
4245
4246         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
4247         attribute_definition_clauses for the following attributes when the
4248         -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
4249         Storage_Size, Write. Otherwise, we get spurious errors (for example,
4250         missing Read attribute on remote types).
4251
4252         * gnat_ugn.texi: Document the change, and add a stern warning.
4253
4254 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4255
4256         * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
4257         disabled not just for the current scope, but for the innermost dynamic
4258         scope as well.
4259
4260 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
4261
4262         * gcc-interface/Make-lang.in: Update dependencies
4263
4264 2009-04-29  Vincent Celier  <celier@adacore.com>
4265
4266         * prj-part.adb: Minor comment update
4267
4268 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4269
4270         * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
4271         box-initialized records with discriminated subcomponents that are
4272         constrained by discriminants of enclosing components. New subsidiary
4273         procedures Add_Discriminant_Values, Propagate_Discriminants.
4274
4275 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
4276
4277         * g-socket.adb: Code clean up.
4278
4279 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
4280
4281         * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
4282         function entity, to cover the case of a parameterless function call
4283         that has not been resolved.
4284
4285 2009-04-29  Robert Dewar  <dewar@adacore.com>
4286
4287         * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
4288         reformatting and comment updates.
4289
4290 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
4291
4292         * gnat_ugn.texi: Update some documentation about interfacing with C++
4293         Mention -fkeep-inline-functions.
4294
4295         * gnat_ugn.texi: Minor edits
4296
4297 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4298
4299         * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
4300         for a defaulted component of an enclosing aggregate, inherit the type
4301         from the component declaration of the enclosing type. 
4302
4303 2009-04-29  Albert Lee  <lee@adacore.com>
4304
4305         * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
4306         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
4307         (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
4308         msg_iovlen field in struct msghdr is 32 or 64 bits wide.
4309         Relocate the Msghdr record type from GNAT.Sockets.Thin to
4310         GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
4311         type for the Msg_Iovlen field.
4312
4313 2009-04-29  Vincent Celier  <celier@adacore.com>
4314
4315         * sinput-l.adb (Load_File): When preprocessing, set temporarily the
4316         Source_File_Index_Table entries for the source, to avoid crash when
4317         reporting an error.
4318
4319         * gnatcmd.adb (Test_If_Relative_Path): Use
4320         Makeutl.Test_If_Relative_Path.
4321         
4322         * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
4323         Including_RTS is True.
4324
4325         * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
4326         Including_RTS defaulted to False.
4327
4328         * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
4329         a default value.
4330
4331 2009-04-29  Javier Miranda  <miranda@adacore.com>
4332
4333         * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
4334
4335 2009-04-29  Javier Miranda  <miranda@adacore.com>
4336
4337         * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
4338         associated with dyamically tagged expressions if the expression
4339         initializing a tagged type corresponds with a non default CPP
4340         constructor.
4341         (OK_For_Limited_Init): CPP constructor calls are OK for initialization
4342         of limited type objects.
4343
4344         * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
4345         when a CPP constructor is called in an assignment. Disable also the
4346         error message associated with dyamically tagged expressions if the
4347         exporession initializing a tagged type corresponds with a non default
4348         CPP constructor.
4349
4350         * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
4351         non-default C++ constructors.
4352
4353         * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
4354
4355         * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
4356         non-default constructors.
4357         (Init_Proc): Add support for non-default constructors.
4358
4359         * exp_disp.adb (Set_Default_Constructor): Removed.
4360         (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
4361         but extending its functionality to handle non-default constructors.
4362
4363         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
4364         constructors. Minor code cleanup removing unrequired label and goto
4365         statement.
4366
4367         * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
4368         constructors.
4369         (Build_Init_Statements): Add support for non-default constructors.
4370         (Expand_N_Object_Declaration): Add support for non-default constructors.
4371         (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
4372         to Set_CPP_Constructors.
4373
4374         * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
4375         non-default constructors.
4376         Required to handle its use in build-in-place statements.
4377
4378         * gnat_rm.texi (CPP_Constructor): Document new extended use of this
4379         pragma for non-default C++ constructors and the new compiler support
4380         that allows the use of these constructors in record components, limited
4381         aggregates, and extended return statements.
4382
4383 2009-04-29  Vincent Celier  <celier@adacore.com>
4384
4385         * prj-part.adb (Parse_Single_Project): Do not attempt to find a
4386         project extending an abstract project.
4387
4388 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
4389
4390         * targparm.ads: Fix oversight.
4391
4392 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4393
4394         * lib-xref.adb (Output_Overridden_Op): Follow several levels of
4395         derivation when necessary, to find the user-subprogram that is actally
4396         being overridden.
4397
4398 2009-04-29  Robert Dewar  <dewar@adacore.com>
4399
4400         * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
4401         components
4402
4403 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4404
4405         * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
4406         primitive operation, rather than source line of synchronized type, when
4407         building the wrapper for a primitive operation that overrides an
4408         operation inherited from a progenitor, to improve the error message on
4409         duplicate declarations.
4410
4411         * sem_ch3.adb (Process_Full_View): Use new signature of
4412         Build_Wrapper_Spec.
4413
4414 2009-04-29  Robert Dewar  <dewar@adacore.com>
4415
4416         * prj-nmsc.ads: Minor reformatting
4417
4418 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
4419
4420         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
4421         expression on the existing parent If statement.
4422
4423 2009-04-29  Robert Dewar  <dewar@adacore.com>
4424
4425         * prj-proc.adb, prj.ads: Minor reformatting
4426
4427 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
4428
4429         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
4430         existing parent If statement on the newly created one.
4431
4432 2009-04-29  Emmanuel Briot  <briot@adacore.com>
4433
4434         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
4435         prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
4436         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
4437         (Set_In_Configuration, In_Configuration): Removed.
4438         Replaced by an extra parameter Is_Config_File in several parameter to
4439         avoid global variables to store the state of the parser.
4440
4441 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4442
4443         * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
4444         with_clauses generated for the same unit through rtsfind, and that
4445         appear in the context of different units.
4446
4447         * rtsfind.adb: New attribute First_Implicit_With, component of the
4448         Unit_Record that stores information about a unit loaded through rtsfind.
4449
4450 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
4451
4452         * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
4453         (other conditions permitting), so that abstract stream subprograms will
4454         be declared for them.
4455
4456 2009-04-29  Bob Duff  <duff@adacore.com>
4457
4458         * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
4459
4460         * g-expect.ads: Minor comment fixes.
4461
4462 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4463
4464         * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
4465         dispatching operation is a body without previous spec, update the list
4466         of primitive operations to ensure that cross-reference information is
4467         up-to-date.
4468
4469 2009-04-29  Albert Lee  <lee@adacore.com>
4470
4471         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
4472         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
4473         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
4474         (GNAT.Sockets.Thin.C_Readv,
4475         GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
4476         (GNAT.Sockets.Thin.C_Recvmsg,
4477         GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
4478         sendmsg(2).  
4479         (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
4480         C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
4481
4482 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4483
4484         * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
4485         operation is a body without previous spec, update the list of
4486         primitive operations to ensure that cross-reference information is
4487         up-to-date.
4488
4489         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
4490         new compilation unit node for the instance declaration, keep the
4491         context items of the original unit on it, so that the context of the
4492         instance body only holds the context inherited from the generic body.
4493
4494 2009-04-29  Bob Duff  <duff@adacore.com>
4495
4496         * sem_res.adb: Minor comment fix.
4497
4498 2009-04-29  Thomas Quinot  <quinot@adacore.com>
4499
4500         * sem_elim.adb: Minor reformatting
4501
4502 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4503
4504         * exp_aggr.adb (Convert_To_Positional): if the current unit is a
4505         predefined unit, allow arbitrary number of components in static
4506         aggregate, to ensure that the same level of constant folding applies
4507         for Ada 95 and Ada 05 versions of the file.
4508
4509 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4510
4511         * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
4512         information: no need for full scope check.
4513         (Eliminate_Error): Do not emit error in a generic context.
4514
4515 2009-04-29  Ed Falis  <falis@adacore.com>
4516
4517         * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
4518         VxWorks 653 POS does not support rmdir.
4519
4520 2009-04-29  Matteo Bordin  <bordin@adacore.com>
4521
4522         * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
4523         results are printed.
4524
4525 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
4526
4527         * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
4528         unused assignment.
4529
4530 2009-04-29  Thomas Quinot  <quinot@adacore.com>
4531
4532         * make.adb: Minor reformatting.
4533         Minor code reorganization throughout.
4534
4535 2009-04-29  Matteo Bordin  <bordin@adacore.com>
4536
4537         * s-stausa.ads: Changed visibility of type Task_Result: moved to
4538         public part to give application visibility over it.
4539         This is for future improvement and to build a public API on top of it.
4540         Changed record components name of type Task_Result to reflect the new
4541         way of reporting. 
4542
4543         * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
4544         reporting Stack usage.
4545
4546         * gnat_ugn.texi: Update doc of stack usage report.
4547
4548         * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
4549
4550         * Makefile.rtl: Add new run-time files.
4551
4552 2009-04-29  Pascal Obry  <obry@adacore.com>
4553
4554         * initialize.c: Do not expand quoted arguments.
4555
4556 2009-04-29  Emmanuel Briot  <briot@adacore.com>
4557
4558         * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
4559
4560         * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
4561          Prj.Ultimate_Extending_Project_Of
4562
4563 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4564
4565         * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
4566         Amendment type, add the with_clause for Finalization.List_Controller
4567         only if the current context is a package body.
4568
4569 2009-04-29  Thomas Quinot  <quinot@adacore.com>
4570
4571         * sem_ch12.adb: Minor reformatting
4572
4573         * sem_aggr.adb: Minor reformatting
4574
4575         * sem_ch6.adb, sem_cat.ads: Minor reformatting
4576
4577         * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
4578
4579 2009-04-29  Quentin Ochem  <ochem@adacore.com>
4580
4581         * prj.ads (Source_Id): Now general pointer type.
4582
4583 2009-04-29  Thomas Quinot  <quinot@adacore.com>
4584
4585         * exp_ch7.adb, rtsfind.adb: Minor reformatting
4586
4587         * sem_res.adb: Minor reformatting
4588
4589 2009-04-29  Thomas Quinot  <quinot@adacore.com>
4590
4591         * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
4592         operands is static only if it is a predefined concatenation operator.
4593
4594         * sem_util.adb: Minor reformatting
4595
4596         * sem_ch12.adb (Save_References): When propagating semantic information
4597         from generic copy back to generic template, for the case of an
4598         identifier that has been rewritten to an explicit dereference whose
4599         prefix is either an object name or a parameterless funcion call
4600         denoting a global object or function, properly capture the denoted
4601         global entity: perform the corresponding rewriting in the template,
4602         and point the rewritten identifier to the correct global entity (not
4603         to the associated identifier in the generic copy).
4604
4605 2009-04-29  Robert Dewar  <dewar@adacore.com>
4606
4607         * rtsfind.adb, prj-env.adb: Minor reformatting
4608         Minor code reorganization
4609
4610 2009-04-29  Emmanuel Briot  <briot@adacore.com>
4611
4612         * make.adb: Fix comment
4613
4614         * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
4615         is given as argument, as might happen in gnatmake.
4616
4617 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4618
4619         * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
4620         an abstract operation of a progenitor is not properly overridden by an
4621         operation of a derived synchronized type.
4622
4623 2009-04-29  Robert Dewar  <dewar@adacore.com>
4624
4625         * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
4626         prj-proc.adb: Minor reformatting
4627         Minor code reorganization
4628
4629 2009-04-29  Bob Duff  <duff@adacore.com>
4630
4631         * exp_ch7.adb (Build_Final_List): For an access type that designates a
4632         Taft Amendment type, if the access type needs finalization, make sure
4633         the implicit with clause for List_Controller occurs on the package spec.
4634
4635         * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
4636         with's created for the pseudo-children of Text_IO and friends. In
4637         particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
4638         Ada.Text_IO.Integer_IO both with-ing each other.
4639
4640         * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
4641         oddball cases when pragma Extend_System is used.
4642
4643         * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
4644         the case where a package spec instantiates a generic whose body with's
4645         this package, so Walk_Library_Items won't complain about cyclic with's.
4646
4647 2009-04-29  Emmanuel Briot  <briot@adacore.com>
4648
4649         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
4650         prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
4651         mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
4652         (Project_Id): now a real pointer to Project_Data, instead of an index
4653         into the Projects_Table. This simplifies the API significantly, avoiding
4654         extra lookups in this table and the need to pass the Project_Tree_Ref
4655         parameter in several cases
4656
4657 2009-04-29  Nicolas Setton  <setton@adacore.com>
4658
4659         * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
4660         darwin.
4661
4662 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
4663
4664         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
4665         back kludge.
4666
4667 2009-04-24  Robert Dewar  <dewar@adacore.com>
4668
4669         * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
4670         clean.adb: Minor reformatting.
4671         Minor code reorganization and message improvement.
4672
4673 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4674
4675         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
4676         (Alternate_Languages): now implemented as a malloc-ed list rather
4677         than through a table.
4678
4679 2009-04-24  Thomas Quinot  <quinot@adacore.com>
4680
4681         * sem_res.adb (Static_Concatenation): Simplify predicate to make it
4682         accurately handle cases such as "lit" & "lit" and
4683         "lit" & static_string_constant
4684
4685 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4686
4687         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
4688         prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
4689         removed. Lists of projects are now implemented via standard malloc
4690         rather than through the table.
4691
4692 2009-04-24  Thomas Quinot  <quinot@adacore.com>
4693
4694         * sem_ch12.adb: Minor reformatting
4695
4696         * g-trasym.adb: Minor reformatting
4697
4698         * exp_ch6.adb: Minor reformatting
4699
4700 2009-04-24  Robert Dewar  <dewar@adacore.com>
4701
4702         * layout.adb (Layout_Type): For packed array type, copy unset
4703         size/alignment fields from the referenced Packed_Array_Type.
4704
4705 2009-04-24  Bob Duff  <duff@adacore.com>
4706
4707         * lib-load.adb (Make_Instance_Unit): Revert previous change, no
4708         longer needed after sem_ch12 changes.
4709
4710         * sem.adb (Walk_Library_Items): Include with's in some debugging
4711         printouts.
4712
4713 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4714
4715         * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
4716         only ever using the Project field.
4717
4718 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
4719
4720         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
4721         Body_Required on the generated compilation node. The new node is linked
4722         to its body, but both share the same file, so we do not set this flag
4723         on the new unit so as not to create a spurious dependency on a
4724         non-existent body in the ali file for the instance.
4725
4726 2009-04-24  Robert Dewar  <dewar@adacore.com>
4727
4728         * make.adb: Minor reformatting
4729
4730 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4731
4732         * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
4733         Add_Source): merge some code between those. In particular change where
4734         file normalization is done to avoid a few extra calls to
4735         Canonicalize_File_Name. This also removes the need for passing
4736         Current_Dir in a number of subprograms.
4737
4738 2009-04-24  Bob Duff  <duff@adacore.com>
4739
4740         * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
4741         False, assign the correct unit to the Cunit field of the new table
4742         entry. We want the spec unit, not the body unit.
4743
4744         * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
4745         interface for these.
4746         (Maybe_Add_With): Check whether we're trying to a with on the current
4747         unit, and avoid creating such directly self-referential with clauses.
4748         (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
4749         [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
4750         and matches existing comments in the spec.
4751
4752         * sem.adb (Walk_Library_Items): Add various special cases to make the
4753         assertions pass.
4754
4755         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
4756         instead of Parent (N), for uniformity.
4757
4758 2009-04-24  Robert Dewar  <dewar@adacore.com>
4759
4760         * errout.ads: Minor reformatting
4761
4762 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4763
4764         * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
4765         behavior when the project includes sources from multiple languages
4766
4767 2009-04-24  Vincent Celier  <celier@adacore.com>
4768
4769         * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
4770         is a language other than Ada declared.
4771
4772         * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
4773         Imported_First set to True.
4774
4775 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
4776
4777         * sem_res.adb: additional optimization to inhibit creation of
4778         redundant transient scopes.
4779
4780 2009-04-24  Bob Duff  <duff@adacore.com>
4781
4782         * rtsfind.ads: Minor comment fix
4783
4784 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4785
4786         * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
4787         Get_Path_Name_And_Record_Ada_Sources): merged, since these were
4788         basically doing the same work (for explicit or implicit sources).
4789         (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
4790         role. Rewritten to share some code (testing that all explicit sources
4791         have been found) between ada_only and multi_language modes.
4792
4793 2009-04-24  Jerome Lambourg  <lambourg@adacore.com>
4794
4795         * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
4796         for CLI imported types.
4797         (Analyze_Pragma): Allow CIL or Java imported functions returning
4798         access-to-subprogram types.
4799
4800 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4801
4802         * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
4803         (Project_Data.Dir_Path): field removed, since it can be computed
4804         directly from .Directory, and is needed only once when processing the
4805         project is buildgpr.adb or make.adb
4806
4807 2009-04-24  Robert Dewar  <dewar@adacore.com>
4808
4809         * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
4810         rtsfind.adb: Minor reformatting.
4811         Minor code reorganization
4812
4813 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
4814
4815         * mlib-prj.adb: Use friendlier english identifier.
4816
4817         * gnatcmd.adb, make.adb: Use better english identifiers.
4818
4819 2009-04-24  Robert Dewar  <dewar@adacore.com>
4820
4821         * clean.adb: Minor reformatting
4822
4823 2009-04-24  Robert Dewar  <dewar@adacore.com>
4824
4825         * einfo.adb (OK_To_Rename): New flag
4826
4827         * einfo.ads (OK_To_Rename): New flag
4828
4829         * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
4830         OK_To_Rename set.
4831
4832         * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
4833
4834         * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
4835         OK_To_Rename.
4836
4837 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4838
4839         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
4840         clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
4841         field removed. This is not a property of the
4842         project, just a boolean used to traverse the project tree, and storing
4843         it in the structure prevents doing multiple traversal in parallel.
4844         (Project_Data.Checked): also removed, since it was playing the same role
4845         as Seen when we had two nested loops, and this is no longer necessary
4846         (For_All_Imported_Projects): removed, since in fact there was already
4847         the equivalent in For_Every_Project_Imported. The latter was rewritten
4848         to use a local hash table instead of Project_Data.Seen
4849         Various loops were rewritten to use For_Every_Project_Imported, thus
4850         removing the need for Project_Data.Seen. This avoids a lot of code
4851         duplication
4852
4853 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
4854
4855         * sem_res.adb (Resolve_Actuals): Do not create blocks around code
4856         statements, even though the actual of the call is a concatenation,
4857         because the argument is static, and we want to preserve warning
4858         messages  about sequences of code statements that are not marked
4859         volatile.
4860
4861         * sem_warn.adb: remove obsolete comment about warning being obsolete
4862
4863         * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
4864         requeued and the delay has expired while within the accept statement
4865         that executes the requeue, do not perform the requeue and indicate that
4866         the timed call has been aborted.
4867
4868 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4869
4870         * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
4871         (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
4872         (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
4873         since they can be computed from the above.
4874
4875 2009-04-24  Vincent Celier  <celier@adacore.com>
4876
4877         * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
4878
4879         * prj-env.adb: Move all global variables to the private part of the
4880         project tree data.
4881         Access these new components instead of the global variables no longer
4882         in existence.
4883         (Add_To_Path): New Project_Tree_Ref parameter, to access the new
4884         components that were previously global variables.
4885
4886         * prj-env.ads (Initialize): New Project_Tree_Ref parameter
4887         (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
4888         parameter.
4889
4890         * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
4891         be able to call Set_Mapping_File_Initial_State_To_Empty with it.
4892
4893         * prj.adb (Initialize): Do not call Prj.Env.Initialize
4894         (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
4895         components in the private part of the project tree data.
4896
4897         * prj.ads (Private_Project_Tree_Data): new components moved from
4898         Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
4899         Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
4900         Ada_Prj_Objects_File_Set, Fill_Mapping_File.
4901
4902 2009-04-24  Vincent Celier  <celier@adacore.com>
4903
4904         * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
4905
4906         * prj-nmsc.adb (Check_Library): No error for imports by shared library
4907         projects, when --unchecked-shared-lib-imports is used.
4908
4909 2009-04-24  Robert Dewar  <dewar@adacore.com>
4910
4911         * sem_ch7.adb: Minor reformatting
4912
4913 2009-04-24  Tristan Gingold  <gingold@adacore.com>
4914
4915         * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
4916         mach thread id.
4917
4918 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4919
4920         * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
4921         Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
4922         (For_All_Imported_Projects): new procedure
4923         (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
4924         above rather than duplicating code.
4925
4926 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4927
4928         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
4929         (Source_Id, Source_Data): use a real list to store sources rather than
4930         using an external table to store the elements. This makes code more
4931         efficient and more readable.
4932
4933 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4934
4935         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
4936         (Source_Iterator): new type.
4937         This removes the need for having the sources on three different
4938         lists at the project tree, project and language level. They are now
4939         on a single list.
4940
4941 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4942
4943         * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
4944
4945 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
4946
4947         * sem_warn.adb: Add comment on obsolete warning
4948
4949 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
4950
4951         * s-tassta.adb (Create_Task): Fix violation of locking rule.
4952
4953 2009-04-24  Emmanuel Briot  <briot@adacore.com>
4954
4955         * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
4956         to Language_Ptr to better reflect its new implementation.
4957         (Project_Data.First_Languages_Processing): renamed to Languages now
4958         that the field with that name is no longer used
4959         (Project_Data.Languages): removed, no longer used, and duplicates
4960         information already available through First_Language_Processing.
4961         (Prj.Language_Index): now an actual pointer, instead of an index into
4962         a table. This makes the list somewhat more obvious, but more importantly
4963         removes the need to pass a pointer to the project_tree_data in a few
4964         places, and makes accessing the attributes of a languages more
4965         efficient.
4966
4967 2009-04-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4968             Thomas Quinot  <quinot@adacore.com>
4969
4970         * fe.h (Set_Identifier_Casing): Add const to second parameter.
4971         * gcc-interface/misc.c (internal_error_function): Make copy of return
4972         from pp_formatted_text before assigning BUFFER to it.
4973         (gnat_init): Likewise for main_input_filename and gnat_argv.
4974         (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
4975
4976 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
4977
4978         * ttypes.ads (Target_Double_Float_Alignment): New variable.
4979         (Target_Double_Scalar_Alignment): Likewise.
4980         * get_targ.ads (Get_Strict_Alignment): Adjust external name.
4981         (Get_Double_Float_Alignment): New imported function.
4982         (Get_Double_Scalar_Alignment): Likewise.
4983         * layout.adb (Set_Elem_Alignment): Take into account specific caps for
4984         the alignment of "double" floating-point types and "double" or larger
4985         scalar types, as parameterized by Target_Double_Float_Alignment and
4986         Target_Double_Scalar_Alignment respectively.
4987         * gcc-interface/gigi.h (double_float_alignment): Declare.
4988         (double_scalar_alignment): Likewise.
4989         (is_double_float_or_array): Likewise.
4990         (is_double_scalar_or_array): Likewise.
4991         (get_target_double_float_alignment): Likewise.
4992         (get_target_double_scalar_alignment): Likewise.
4993         * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
4994         (get_target_strict_alignment): ...this.
4995         (get_target_double_float_alignment): New function.
4996         (get_target_double_scalar_alignment): Likewise.
4997         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
4998         Test the presence of an alignment clause for under-aligned integer
4999         types.  Take into account specific caps for the alignment of "double"
5000         floating-point types and "double" or larger scalar types, as
5001         parameterized by Target_Double_Float_Alignment and
5002         Target_Double_Scalar_Alignment respectively.
5003         (validate_alignment): Likewise.
5004         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
5005         (gigi): Initialize double_float_alignment and double_scalar_alignment.
5006         * gcc-interface/utils.c (double_float_alignment): New global variable.
5007         (double_scalar_alignment): Likewise.
5008         (is_double_float_or_array): New predicate.
5009         (is_double_scalar_or_array): Likewise.
5010
5011 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
5012
5013         * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
5014         the conditional expression only if it is common to both arms.
5015
5016 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
5017
5018         * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
5019         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
5020         arguments to build_allocator.
5021         * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
5022         Remove code handling special allocator and assert its uselessness.
5023
5024 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
5025
5026         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
5027         alignment is specified, do not promote that of the component type
5028         beyond it.
5029         <E_Array_Subtype>: Likewise.
5030
5031 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
5032
5033         * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
5034         * sinfo.ads (Object Declaration): Likewise.
5035         (Assignment Statement): Likewise.
5036         * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
5037         Do not force Is_True_Constant to false on the temporary.
5038         (Freeze_Entity): Do not force Is_True_Constant to false on names on
5039         the RHS of object declarations.
5040         * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
5041         New case.  Return 1 if the object is atomic.
5042         <N_Assignment_Statement>: Likewise.
5043
5044 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
5045
5046         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
5047         For packed array types, make the original array type a parallel type
5048         for the modular type and its JM wrapper if the type is bit-packed.
5049         <E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
5050         record type for packed array types.  Remove kludge.
5051
5052 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
5053
5054         * gcc-interface/gigi.h (create_index_type): Adjust head comment.
5055         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
5056         Use front-end predicates to compute signedness and precision.
5057         <E_String_Literal_Subtype>: Fold range type.
5058         Make sure to set longest_float_type_node to a scalar type.
5059         (elaborate_entity): Use consistent Constraint_Error spelling.
5060         (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
5061         * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
5062         output for the modulus, if any.
5063         <ENUMERAL_TYPE>: Likewise for the RM size.
5064         * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
5065         spelling.
5066         * gcc-interface/utils.c (finish_record_type): Really test the alignment
5067         of BLKmode bit-fields to compute their addressability.
5068         (create_index_type): Adjust comments.
5069         (create_param_decl): Create the biased subtype manually.
5070         * gcc-interface/utils2.c (build_component_ref): Use consistent
5071         Constraint_Error spelling.
5072
5073 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
5074
5075         * gcc-interface/cuintp.c: Clean up include directives.
5076         * gcc-interface/targtyps.c: Likewise.
5077         * gcc-interface/decl.c: Likewise.
5078         * gcc-interface/misc.c: Likewise.
5079         * gcc-interface/trans.c: Likewise.
5080         * gcc-interface/utils.c: Likewise.
5081         * gcc-interface/utils2.c: Likewise.
5082         * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
5083
5084 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
5085
5086         * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
5087         (SET_TYPE_LANG_SPECIFIC): Likewise.  Fix formatting.
5088         (SET_DECL_LANG_SPECIFIC): Likewise.
5089         Reorder macros.
5090         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
5091         Update comment about use of build_range_type.
5092         <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
5093         <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
5094         check for other cases of overloading.
5095         * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
5096         * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
5097         Use size_int in lieu of build_int_cst.
5098         (build_call_alloc_dealloc): Use build_index_2_type in lieu of
5099         build_range_type.
5100
5101 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
5102
5103         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
5104         type is an enumeral or a boolean type, change it to an integer type
5105         with the same mode and signedness.
5106
5107 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
5108
5109         * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
5110         for an external constant whose initializer is not absolute.
5111
5112 2009-04-22  Taras Glek  <tglek@mozilla.com>
5113
5114         * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
5115         * gcc-interface/trans.c: Likewise.
5116         * gcc-interface/utils.c: Likewise.
5117
5118 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
5119
5120         * sem_res.adb: Create block around procedure call when actual is a
5121         concatenation.
5122
5123 2009-04-22  Thomas Quinot  <quinot@adacore.com>
5124
5125         * s-soflin.ads: Fix typos
5126
5127 2009-04-22  Vincent Celier  <celier@adacore.com>
5128
5129         * prj-env.adb: Minor comment change
5130
5131         * prj-nmsc.adb (Check_Common): Add guard to avoid calling
5132         Get_Name_String with No_File.
5133
5134         * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
5135         cannot be created even when not in verbose mode.
5136
5137 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5138
5139         * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
5140         prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
5141         Multi_Language modes, to avoid code duplication.
5142         (Project_Data.Include_Language): Removed.
5143
5144 2009-04-22  Vincent Celier  <celier@adacore.com>
5145
5146         * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
5147         the temporary file cannot be created, indicating the directory when the
5148         creation was attempted.
5149
5150 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5151
5152         * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
5153         the language names, not their indices.
5154
5155 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5156
5157         * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
5158         (Source_Data.Language_Name): Field removed.
5159
5160 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5161
5162         * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
5163         Two fields removed.
5164
5165 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5166
5167         * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
5168         separate_suffix to the same value as the body_suffix.
5169
5170 2009-04-22  Robert Dewar  <dewar@adacore.com>
5171
5172         * prj.adb: Minor code reorganization
5173         Code clean up.
5174
5175         * prj-proc.adb: Minor code reorganization, clean up.
5176
5177         * prj-nmsc.adb: Minor reformatting
5178         Minor code reorganization
5179
5180         * gnat_ugn.texi: Add to doc on strict aliasing
5181
5182 2009-04-22  Pascal Obry  <obry@adacore.com>
5183
5184         * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
5185         SpinCount.
5186
5187         * s-tasini.adb: Minor reformatting.
5188
5189         * s-tassta.adb: Minor reformatting.
5190
5191 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5192
5193         * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
5194         smaller subprograms.
5195         Renamed to Check_File_Naming_Schemes to avoid confusion with the
5196         other Check_Naming_Schemes functions that plays a totally different
5197         role.
5198         (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
5199         extracted from the above. These were partially rewritten to avoid
5200         unnecessary code and temporary variables.
5201         (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
5202         and Get_Unit (which for now still exist since they contain mode-specific
5203         code)
5204
5205 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5206
5207         * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
5208         Remove duplicated code.
5209         (Canonical_Case_File_Name): new subprogram
5210         (Check_And_Normalize_Unit_Names): new subprogram
5211         (Write_Attr): new subprogram
5212         Better sharing of code
5213         (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
5214         split Check_Naming and help find duplicated code
5215         (Check_Common): new subprogram, sharing code between ada_only and
5216         multi_language mode.
5217         (Naming_Data.Dot_Repl_Loc): field removed
5218
5219 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5220
5221         * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
5222         Minor refactoring to reduce the size of
5223         Process_Sources_In_Multi_Language_Mode.
5224         Avoid extra copied of Source_Data, which we found in the past could be
5225         quite slow.
5226         (Mark_Excluded_Sources): new subprogram.
5227         (Remove_Locally_Removed_Files_From_Units): merged into the above
5228         Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
5229         and allow better sharing of code between multi_lang and ada_only modes
5230         (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
5231
5232 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5233
5234         * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
5235         Removed, since unused.
5236
5237 2009-04-22  Vincent Celier  <celier@adacore.com>
5238
5239         * prj-attr.adb: New single project level attribute
5240         Separate_Run_Path_Options.
5241
5242         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
5243         attribute Seperate_Run_Path_Options.
5244
5245         * prj.ads: (Project_Configuration): New Boolean component
5246         Separate_Run_Path_Options, defaulted to False.
5247
5248         * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
5249
5250 2009-04-22  Robert Dewar  <dewar@adacore.com>
5251
5252         * sem_type.adb: Minor reformatting
5253
5254         * mlib.adb: Minor reformatting
5255
5256         * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
5257         syntax error.
5258
5259 2009-04-22  Nicolas Setton  <setton@adacore.com>
5260
5261         * link.c: Add flag __gnat_separate_run_path_options.
5262
5263         * mlib.adb (Separate_Run_Path_Options): New subprogram.
5264
5265         * mlib.ads (Separate_Run_Path_Options): Declare.
5266
5267         * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
5268         switch per directory, rather than one "rpath" switch listing all
5269         directories.
5270
5271         * gnatlink.adb (Process_Binder_File): Likewise.
5272
5273         * make.adb (Gnatmake): Likewise.
5274
5275 2009-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
5276
5277         * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
5278         Add a call to Move_Final_List when the target of the assignment is a
5279         return object that needs finalization and the expression is a
5280         controlled build-in-place function.
5281
5282 2009-04-22  Vincent Celier  <celier@adacore.com>
5283
5284         * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
5285         Including_Libraries set to True.
5286
5287 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
5288
5289         * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
5290         create a unit table entry for the subprogram declaration created for a
5291         child suprogram body that has no separate specification.
5292
5293         * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
5294         subprogram body, call Make_Child_Decl_Unit.
5295
5296         * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
5297         table can only be the created specification of a child subprogram body
5298         that is the main unit, which has not been entered in the table yet.
5299
5300         * errout.adb  (Output_Messages): Ignore created specification of a
5301         child subprogram body to prevent repeated listing of error messages.
5302
5303         * gnat1drv.adb (gnat1drv): The generated specification for a child
5304         subprogram body does not generate code.
5305
5306 2009-04-22  Arnaud Charlet  <charlet@adacore.com>
5307
5308         * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
5309         since this unit is now part of bootstrap units, so must use Ada 95
5310         syntax only.
5311
5312 2009-04-22  Thomas Quinot  <quinot@adacore.com>
5313
5314         * a-tasatt.adb: Minor reformatting
5315
5316 2009-04-22  Bob Duff  <duff@adacore.com>
5317
5318         * s-stalib.ads: Remove "with System;" since we're inside System, so
5319         it's unnecessary.
5320
5321 2009-04-22  Vincent Celier  <celier@adacore.com>
5322
5323         * prj-nmsc.adb (Add_Source): Always put the dependency file name in
5324         the source record, as there may be a dependency file even if no object
5325         file is created.
5326
5327 2009-04-22  Robert Dewar  <dewar@adacore.com>
5328
5329         * lib-load.adb: Minor reformatting
5330
5331         * lib-load.ads: Minor reformatting
5332
5333         * sinfo.ads: Minor reformatting
5334
5335 2009-04-22  Bob Duff  <duff@adacore.com>
5336
5337         * exp_pakd.adb: Minor comment fixes.
5338
5339         * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
5340         sem_ch12.adb: Change the meaning of the Library_Unit attribute to
5341         include units containing instantiations, as well as units that are
5342         generic instantiations.
5343
5344         * sem.adb: Include dependents and corresponding specs/bodies in the
5345         unit walk.
5346
5347         * gcc-interface/Make-lang.in:
5348         sem now depends on s-bitops, because of the packed array of Booleans.
5349
5350 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
5351
5352         * gcc-interface/ada-tree.def: Fix formatting nits.
5353         (REGION_STMT): Delete.
5354         (HANDLER_STMT): Likewise.
5355         * gcc-interface/ada-tree.h: Fix formatting nits.
5356         (IS_STMT): Delete.
5357         (REGION_STMT_BODY): Likewise.
5358         (REGION_STMT_HANDLE): Likewise.
5359         (REGION_STMT_BLOCK): Likewise.
5360         (HANDLER_STMT_ARG): Likewise.
5361         (HANDLER_STMT_LIST): Likewise.
5362         (HANDLER_STMT_BLOCK): Likewise.
5363         * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
5364         (fp_size_to_prec): Likewise.
5365         (largest_move_alignment): Delete.
5366         (gnat_compute_largest_alignment): Likewise.
5367         Fix minor nits.
5368         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
5369         Remove redundant code.
5370         <E_Array_Type>: Remove redundant assert.
5371         <E_Array_Subtype>: Exit early from index computation in pathological
5372         cases.
5373         Rewrite conditional assignment.
5374         (make_type_from_size): Likewise.
5375         * gcc-interface/misc.c (largest_move_alignment): Delete.
5376         (gnat_finish_incomplete_decl): Likewise.
5377         (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
5378         (asm_out_file): Likewise
5379         (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
5380         (gnat_dwarf_name): Move around.
5381         * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
5382         (gigi): Remove call to gnat_compute_largest_alignment.
5383         * utils.c (create_field_decl): Rewrite conditional assignment.
5384         Fix minor nits.
5385
5386 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
5387
5388         * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
5389         on entry.  Defer common processing for types.  Reorder and clean up.
5390         Compute the equivalent GNAT node and the default size for types only.
5391         <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
5392         <E_Access_Type>: For an unconstrained designated type, do not pretend
5393         that a dummy type is always made.
5394         <all> Fix nits in comments.
5395         (validate_size): Fix formatting nits and comments.
5396         (set_rm_size): Likewise.
5397         * gcc-interface/utils.c (create_param_decl): Replace bogus argument
5398         passed to TARGET_PROMOTE_PROTOTYPES hook.
5399
5400 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
5401
5402         * fe.h (Get_External_Name): Declare.
5403         * gcc-interface/gigi.h (concat_id_with_name): Rename to...
5404         (concat_name): ...this.
5405         * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
5406         gnu_entity_name and adjust for above renaming.
5407         <E_Access_Type>: Use create_concat_name to get the name of the various
5408         types associated with unconstrained array types.
5409         (make_aligning_type): Adjust for above renaming.
5410         (maybe_pad_type): Likewise.
5411         (components_to_record): Likewise.  Use get_identifier_with_length for
5412         the encoding of the variant.
5413         (get_entity_name): Use get_identifier_with_length.
5414         (create_concat_name): Likewise.  Use Get_External_Name if no suffix.
5415         Do not fiddle with Name_Buffer.
5416         (concat_id_with_name): Rename to...
5417         (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
5418         with Name_Buffer.
5419         * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
5420         above renaming.
5421
5422 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
5423
5424         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
5425         license notices.
5426
5427 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
5428
5429         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
5430
5431 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
5432
5433         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
5434         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
5435         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
5436         Remove useless support code for packed array types and assert its
5437         uselessness.
5438         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
5439         adjust for TYPE_RM_SIZE change.
5440         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
5441         of Associated_Node_For_Itype accessor for packed array types.
5442         (make_packable_type): Likewise.
5443         (maybe_pad_type): Likewise.
5444         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
5445         TYPE_RM_SIZE change.
5446         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
5447         (rm_size): Fix nits in comments.  Rework conditional statements.
5448         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
5449         change.
5450         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
5451         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
5452         appropriate function to initialize the size_type_node.  Adjust for
5453         TYPE_RM_SIZE change.
5454
5455 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
5456
5457         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
5458         for imported subprograms.
5459
5460 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
5461
5462         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
5463         constant objects covered by 13.3(19) volatile.
5464
5465 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
5466
5467         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
5468         of dummy fat pointer types to the debug back-end.
5469
5470 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
5471
5472         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
5473         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
5474         before wrapping it up in the record type.  Do not overwrite the
5475         Ada size of the record type with the Esize.
5476
5477 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
5478
5479         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
5480         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
5481         if the conversion is on the LHS of an assignment and a no-op.
5482         <all> Do not convert the result to the result type if the Parent
5483         node is such a conversion.
5484
5485 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
5486
5487         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
5488         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
5489         of types with unknown discriminants.
5490         (substitute_in_type): Rewrite and restrict to formal substitutions.
5491         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
5492         (update_pointer_to): Update comment.
5493
5494 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
5495
5496         * sem_ch8.adb (Use_One_Package): In an instance, if two
5497         potentially_use_visible and non-overloadable homonyms are available
5498         from  the actuals of distinct formal packages, retain the current one,
5499         which was visible in the generic, to prevent spurious visibility
5500         errors.
5501         (End_Use_Package): Restore use_visibility when needed.
5502
5503 2009-04-20  Sergey Rybin  <rybin@adacore.com>
5504
5505         * gnat_ugn.texi, vms_data.ads: Update doc.
5506
5507 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
5508
5509         * gcc-interface/Make-lang.in: Update dependencies
5510
5511         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
5512         Windows.
5513
5514 2009-04-20  Robert Dewar  <dewar@adacore.com>
5515
5516         * checks.ads: Fix documentation of range check handling
5517
5518 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
5519
5520         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
5521         a redundant use_type clause.
5522
5523 2009-04-20  Robert Dewar  <dewar@adacore.com>
5524
5525         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
5526         this attribute can be evaluated at compile time.
5527         (Eval_Attribute, case Range_Length): Same improvement
5528
5529         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
5530
5531 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
5532
5533         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
5534         for better handling of null procedures.
5535         (Check_Overriding_Indicator): Do not emit a warning on a missing
5536         overriding indicator on an operator when the type of which the operator
5537         is a primitive is private.
5538
5539 2009-04-20  Bob Duff  <duff@adacore.com>
5540
5541         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
5542         debugging output.
5543
5544 2009-04-20  Robert Dewar  <dewar@adacore.com>
5545
5546         * sem_attr.adb: Minor reformatting
5547
5548         * gnatcmd.adb: Minor reformatting
5549
5550 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
5551
5552         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
5553         overloaded and one interpretation matches the context, label the
5554         operand with the type of first formal.
5555
5556 2009-04-20  Bob Duff  <duff@adacore.com>
5557
5558         * debug.ads: Minor comment fix.
5559
5560         * debug.adb: Minor comment fixes.
5561
5562 2009-04-20  Javier Miranda  <miranda@adacore.com>
5563
5564         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
5565
5566         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
5567
5568         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
5569         is expanded into a call to Raise_Exception, avoid passing the
5570         exception-name'identity in runtimes in which this argument
5571         is not used.
5572
5573 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
5574
5575         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
5576         generated bindings for cil.
5577
5578 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
5579
5580         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
5581         discriminants, collect components from the Underlying_Record_View,
5582         which will be used in the expansion of the aggregate into assignments.
5583
5584         * sem_ch3.adb: Do not label derived type with unknown discriminants as
5585         having a private declaration.
5586
5587 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
5588
5589         * exp_util.adb (Expand_Subtype_From_Expr): use the
5590         underlying_record_view when available, to create the proper constrained
5591         subtype for an object of a derived type with unknown discriminants.
5592
5593 2009-04-20  Javier Miranda  <miranda@adacore.com>
5594
5595         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
5596         formals that have pragma unreferenced.
5597
5598 2009-04-20  Pascal Obry  <obry@adacore.com>
5599
5600         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
5601         Remove all calls to To_Lower_If_Case_Insensitive to preserve
5602         the pathname original casing.
5603
5604 2009-04-20  Robert Dewar  <dewar@adacore.com>
5605
5606         * g-trasym.adb: Minor reformatting
5607
5608         * s-os_lib.adb: Minor reformatting
5609
5610         * sem.adb: Minor reformatting
5611         Minor code reorganization
5612
5613         * sem_ch3.adb: Minor reformatting
5614
5615         * sem_ch4.adb: Minor reformatting
5616
5617         * sem_ch8.adb: Minor reformatting
5618
5619         * sem_type.adb: Minor reformatting
5620
5621 2009-04-20  Javier Miranda  <miranda@adacore.com>
5622
5623         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
5624         generated by derivations of tagged types use the aliased subprogram a
5625         reference to locate their controlling type.
5626
5627 2009-04-20  Tristan Gingold  <gingold@adacore.com>
5628
5629         * g-trasym.adb: Set size of result buffer before calling
5630         convert_address.
5631
5632 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
5633
5634         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
5635         to a function returning an array can be interpreted as a call with
5636         defaulted parameters whose result is indexed, take into account the
5637         types of all the indices of the array result type.
5638
5639 2009-04-20  Pascal Obry  <obry@adacore.com>
5640
5641         * a-direct.adb, s-os_lib.adb: Minor reformatting.
5642
5643 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
5644
5645         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
5646         null exclusion qualifiers for object renaming declarations.
5647
5648 2009-04-20  Nicolas Roche  <roche@adacore.com>
5649
5650         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
5651         unsigned long long. So compare local_time and utc_time before computing
5652         the difference.
5653
5654 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
5655
5656         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
5657         of the Underlying_Record_View before that of the derived type.
5658
5659         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
5660         with unknown discriminants with regard to the parent subtype.
5661
5662 2009-04-20  Bob Duff  <duff@adacore.com>
5663
5664         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
5665         that are not included. This is necessary if the main unit is a generic
5666         instantiation.
5667
5668         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
5669         because it doesn't work if -gnatn is used.
5670
5671 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
5672
5673         * rtsfind.adb (RTE, RTE_Record_Component): In
5674         Configurable_Run_Time_Mode, do not enable front-end inlining.
5675
5676 2009-04-20  Thomas Quinot  <quinot@adacore.com>
5677
5678         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
5679         System.Address_To_Access_Conversions.
5680
5681 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
5682
5683         * sem.adb: Guard against ill-formed subunits.
5684
5685 2009-04-20  Bob Duff  <duff@adacore.com>
5686
5687         * output.adb (Flush_Buffer): Do not indent blank lines.
5688         (Ignore_Output): New procedure for output suppression.
5689
5690 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
5691
5692         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
5693         when it is positive.  This avoids a potential constraint error raised
5694         by the conversion to Natural.
5695
5696 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
5697
5698         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
5699         involves a target that has a specified address, don't set Forward_OK
5700         and Backward_OK to False if the rhs is an aggregate, since overlap
5701         can't occur.
5702
5703 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
5704
5705         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
5706         in an object renaming declaration when the expected type is an
5707         anonymous access type.
5708
5709         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
5710         ambiguity when one interpretation is an anonymous access type and the
5711         other is a named access type, and the context itself is anonymous
5712
5713 2009-04-20  Thomas Quinot  <quinot@adacore.com>
5714
5715         * einfo.ads: Minor comment rewording
5716
5717         * sem_aggr.adb: Minor comment rewording
5718
5719         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
5720
5721 2009-04-20  Pascal Obry  <obry@adacore.com>
5722
5723         * adaint.c (__gnat_is_readable_file): Check for file existence
5724         when not using ACL (always the case on remote drives).
5725
5726 2009-04-20  Robert Dewar  <dewar@adacore.com>
5727
5728         * sinfo.ads: Minor comment fixes
5729
5730         * exp_disp.adb: Minor reformatting
5731
5732         * gnat1drv.adb: Minor reformatting
5733
5734         * output.adb: Minor reformatting
5735
5736         * s-vxwext-kernel.ads: Minor reformatting
5737
5738         * sem.ads: Minor reformatting
5739
5740         * sem.adb: Minor reformatting
5741
5742         * sem_elim.adb: Minor reformatting
5743
5744         * uname.ads: Minor reformatting
5745
5746 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
5747
5748         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
5749         a small dope of 4 words to the adjustment to the stack pointer.
5750
5751 2009-04-20  Thomas Quinot  <quinot@adacore.com>
5752
5753         * xoscons.adb: generate C header s-oscons.h in
5754         addition to s-oscons.ads.
5755
5756         * socket.c: On VMS, use s-oscons.h.
5757
5758         * sem_ch3.adb: Minor reformatting
5759
5760         * exp_ch9.adb: Minor reformatting
5761
5762 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
5763
5764         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
5765         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
5766         (call_to_gnu): Likewise.
5767
5768 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
5769
5770         * gcc-interface/trans.c (gigi): Declare the name of the compilation
5771         unit as the first global name at the very beginning.
5772
5773 2009-04-20  Thomas Quinot  <quinot@adacore.com>
5774
5775         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
5776         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
5777         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
5778         since HP-UX supports neither inet_aton nor inet_pton (altough the
5779         latter is part of the Single UNIX Specification!).
5780         So reorganize code, and share C implementation based on inet_addr(3)
5781         with VMS (instead of having a VMS specific Ada implementation in
5782         g-socthi-vms.adb).
5783
5784 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
5785
5786         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
5787         to return the object file name saved by Set_Object_Output_File_Name.
5788
5789 2009-04-20  Emmanuel Briot  <briot@adacore.com>
5790
5791         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
5792         for the standard command line, when argc has been modified since the
5793         start of the application.
5794
5795 2009-04-20  Thomas Quinot  <quinot@adacore.com>
5796
5797         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
5798         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
5799
5800 2009-04-20  Bob Duff  <duff@adacore.com>
5801
5802         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
5803         pragma Debug.
5804
5805 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
5806
5807         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
5808         subprogram as Eliminated when source operation is.
5809         (Expand_N_Protected_Type_Declaration): Generate protected and
5810         unprotected specs for the internal operations, even if the source
5811         operation is eliminated.
5812
5813 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
5814
5815         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
5816         Predefined_Primitive_Bodies): Do not create the declarations and bodies
5817         of the primitive subprograms associated with dispatching select
5818         statements when the runtime is in configurable mode.
5819
5820 2009-04-20  Ed Falis  <falis@adacore.com>
5821
5822         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
5823
5824 2009-04-20  Thomas Quinot  <quinot@adacore.com>
5825
5826         * s-oscons-tmplt.c: Add support for generating a dummy version of
5827         s-oscons.ads providing all possible constants.
5828
5829         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
5830
5831         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
5832         ANSI version (not the UNICODE version) of WSAStringToAddress.
5833
5834 2009-04-20  Pascal Obry  <obry@adacore.com>
5835
5836         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
5837         allocated for the security descriptor and make sure all
5838         handles are closed before leaving this procedure.
5839
5840 2009-04-20  Javier Miranda  <miranda@adacore.com>
5841
5842         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
5843         (Set_Is_Underlying_Record_View): New subprogram
5844
5845         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
5846         private types with unknown discriminants use the underlying record view
5847         if available.
5848
5849         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
5850         underlying record view in the full view of private types whose parent
5851         has unknown discriminants.
5852         (Build_Derived_Record_Type): Avoid generating the class-wide entity
5853         associated with an underlying record view.
5854         (Derived_Type_Declaration): Avoid deriving parent primitives in
5855         underlying record views.
5856
5857         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
5858         records with unknown discriminants.
5859
5860         * sem_type.adb (Covers): Handle underlying record views.
5861         (Is_Ancestor): Add support for underlying record views.
5862
5863         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
5864         dispatching call if the type of the target object is tagged and has
5865         unknown discriminants.
5866
5867         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
5868         unknown discriminants.
5869
5870         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
5871         tables for internally built underlying record views.
5872
5873         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
5874         empty list of component associations.
5875
5876 2009-04-20  Thomas Quinot  <quinot@adacore.com>
5877
5878         * sem_ch10.adb: Minor reformatting
5879
5880         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
5881         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
5882         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
5883         standard inet_pton API (and emulate it on platforms that do not
5884         support it).
5885         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
5886         DECC$INET_ADDR, imported in Ada.
5887         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
5888         implementation provided by GNAT runtime.
5889         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
5890         Windows.
5891
5892 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
5893
5894         * gnat_ugn.texi: Add documentation for -fno-ivopts.
5895
5896 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
5897
5898         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
5899         with_clause if it is the main unit.
5900
5901 2009-04-20  Thomas Quinot  <quinot@adacore.com>
5902
5903         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
5904         (no behaviour change): Use Append instead of Increment_Last followed
5905         by assignment.
5906
5907 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
5908
5909         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
5910         declarations of all primitives associated with dispatching asynchronous,
5911         conditional and timed selects when dispaching calls are forbidden and
5912         select statements are not allowed (such as in Ravenscar).
5913         (Predefined_Primitive_Bodies): Ditto for bodies.
5914
5915         * exp_disp.ad (Make_DT): Do not create and populate the
5916         Select_Specific_Data of the dispatch table when dispatching calls are
5917         forbidden and select statements are not allowed (such as in Ravenscar).
5918
5919 2009-04-20  Robert Dewar  <dewar@adacore.com>
5920
5921         * a-tifiio.adb: Minor reformatting
5922
5923 2009-04-20  Thomas Quinot  <quinot@adacore.com>
5924
5925         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
5926         other C library functions, report *failure* with a zero status, and
5927         success with a non-zero status.
5928
5929 2009-04-20  Bob Duff  <duff@adacore.com>
5930
5931         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
5932         (Semantics): After analyzing each unit, Append it to the
5933         Comp_Unit_List, if appropriate.
5934
5935         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
5936         purposes.
5937         (Gnat1drv): Correct comment regarding Back_End_Mode.
5938
5939 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
5940
5941         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
5942
5943 2009-04-20  Thomas Quinot  <quinot@adacore.com>
5944
5945         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
5946         output.adb, output.ads, s-taprop-hpux-dce.adb,
5947         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
5948         reformatting.
5949
5950 2009-04-20  Thomas Quinot  <quinot@adacore.com>
5951
5952         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
5953         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
5954         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
5955         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
5956         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
5957         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
5958
5959         * debug.adb: Fix typo
5960
5961         * gnat_rm.texi: Minor doc fix.
5962
5963         * sem_ch7.adb, freeze.adb: Minor reformatting
5964
5965 2009-04-20  Thomas Quinot  <quinot@adacore.com>
5966
5967         * g-socket.ads: Add new constants:
5968           Loopback_Inet_Addr
5969           Unspecified_Group_Inet_Addr
5970           All_Hosts_Group_Inet_Addr
5971           All_Routers_Group_Inet_Addr
5972
5973         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
5974         ERANGE (Result too large).
5975         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
5976         propagation of errno to caller.
5977
5978 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
5979
5980         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
5981         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
5982         Leap_Second_Times.
5983
5984 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
5985
5986         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
5987         checking for references to eliminated subprograms that should be
5988         flagged.
5989         (Eliminate_Error_Message): Update comment to say "references" rather
5990         than "calls" (since attribute cases are handled here as well).
5991
5992         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
5993         checking for references to eliminated subprograms that should be
5994         flagged.  Add with and use of Sem and Sem_Util.
5995
5996         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
5997         Add with and use of Sem_Elim.
5998
5999         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
6000         applied to eliminated subprograms.
6001         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
6002         eliminated subprograms.
6003         Add with and use of Sem_Elim.
6004
6005         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
6006         to eliminated subprograms, now handled during Resolve_Call.
6007         Remove with and use of Sem_Elim.
6008
6009         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
6010         testing Is_Eliminated, for proper handling of primitive derived from
6011         eliminated subprograms.
6012
6013 2009-04-20  Vincent Celier  <celier@adacore.com>
6014
6015         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
6016         has been declared (Library_GCC or Linker'Driver), for the driver name.
6017
6018         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
6019         Linker'Driver is, use Linker'Driver as the shared library linker.
6020         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
6021         Library_GCC is declared.
6022         (Check_Library_Attributes): Set up the shared linker driver: either
6023         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
6024         declared.
6025
6026 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6027
6028         * g-socket.ads (Send_Socket): Fix misleading comment.
6029
6030 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
6031
6032         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
6033         ASIS mode.
6034
6035 2009-04-20  Geert Bosch  <bosch@adacore.com>
6036
6037         * a-tifiio.adb (Put): Avoid generating too many digits for certain
6038         fixed types with smalls that are neither integer or the reciprocal
6039         of an integer.
6040
6041 2009-04-20  Bob Duff  <duff@adacore.com>
6042
6043         * uname.ads: Minor comment fix.
6044
6045         * types.ads: Minor comment fix.
6046
6047 2009-04-20  Pascal Obry  <obry@adacore.com>
6048
6049         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
6050         avoid warning. At the same time fix a memory leak.
6051
6052         * osint.adb (Get_Libraries_From_Registry): Properly free memory
6053         returned by the above routine.
6054
6055 2009-04-20  Robert Dewar  <dewar@adacore.com>
6056
6057         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
6058         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
6059         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
6060         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
6061
6062         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
6063
6064 2009-04-20  Pascal Obry  <obry@adacore.com>
6065
6066         * initialize.c (__gnat_initialize): Add braces to kill warning.
6067
6068         * adaint.c: Minor reformatting, remove trailing spaces.
6069
6070 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
6071
6072         * gcc-interface/Make-lang.in: Update dependencies.
6073
6074 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6075
6076         * adaint.h (__gnat_lwp_self): Declare on Linux.
6077
6078         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
6079
6080 2009-04-20  Robert Dewar  <dewar@adacore.com>
6081
6082         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
6083         front-end part of -fpreserve-control-flow switch.
6084
6085 2009-04-20  Bob Duff  <duff@adacore.com>
6086
6087         * rtsfind.adb: Minor comment fix
6088
6089 2009-04-20  Robert Dewar  <dewar@adacore.com>
6090
6091         * exp_aggr.adb: Minor reformatting
6092         Minor code reorganization (use Nkind_In)
6093
6094         * g-socket.adb: Minor reformatting
6095
6096         * g-socket.ads: Minor comment fix
6097
6098         * s-auxdec.ads: Minor comment and organization update.
6099
6100         * s-auxdec-vms_64.ads: Minor comment and organization update.
6101
6102         * sem_ch10.adb: Minor addition of ??? comment
6103
6104         * sem_disp.adb: Minor reformatting
6105
6106 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6107
6108         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
6109         list a caller of an inlined subprogram, if the caller itself is not
6110         called.
6111
6112 2009-04-20  Pascal Obry  <obry@adacore.com>
6113
6114         * adaint.c: Disable use of ACL on network drives.
6115
6116 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
6117
6118         * gnat_ugn.texi: Add examples.
6119
6120 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6121
6122         * g-socket.ads (Abort_Selector): Clarify documentation.
6123
6124 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
6125
6126         * opt.ads (Inspector_Mode): Update documentation of this flag.
6127
6128 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6129
6130         * g-socket.ads: Minor reformatting
6131
6132         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
6133         consider S_resolvLib error codes since we only use the hostLib wrappers.
6134
6135 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6136
6137         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
6138         of the Underlying_Record_View after that of the derived type.
6139
6140 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
6141
6142         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
6143         in inspector mode.
6144
6145 2009-04-20  Javier Miranda  <miranda@adacore.com>
6146
6147         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
6148
6149         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
6150         documentation.
6151
6152         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
6153
6154         * sem_disp.adb
6155         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
6156         in internally built overriding subprograms.
6157
6158 2009-04-20  Doug Rupp  <rupp@adacore.com>
6159
6160         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
6161
6162         * s-auxdec.ads: Likewise
6163
6164 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6165
6166         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
6167         type by an interface.
6168
6169         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
6170         minimze difference in expanded tree when compiled as spec of the main
6171         unit, or as a spec in the context of another unit.
6172
6173 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
6174
6175         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
6176         (localtime_tzoff): This routine no longer accepts an actual of type
6177         tm_Pointer.
6178         (UTC_Time_Offset): Remove local variable Secs_TM.
6179
6180         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
6181         actual of type struct tm*. Add local variable of type struct tm for all
6182         targets that provide localtime_r and need to invoke it.
6183
6184 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6185
6186         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
6187         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
6188         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
6189
6190 2009-04-20  Robert Dewar  <dewar@adacore.com>
6191
6192         * sem_ch3.adb: Minor reformatting
6193
6194         * lib-load.adb: Minor reformatting
6195
6196         * sem_ch4.adb: Minor reformatting
6197
6198 2009-04-20  Robert Dewar  <dewar@adacore.com>
6199
6200         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
6201         (equal values => False).
6202
6203 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6204
6205         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
6206         to null procedures can be inlined unconditionally.
6207
6208 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6209
6210         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
6211         non-addressable parameter passed by reference, do not convert the
6212         actual if its type is already the nominal type, unless it is of
6213         self-referential size.
6214
6215 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
6216
6217         * gnat_ugn.texi: Fix typos.
6218
6219 2009-04-20  Robert Dewar  <dewar@adacore.com>
6220
6221         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
6222         Validate_Unchecked_Warnings to suppress warnings about size or
6223         alignment or extra bits if either type involved has pragma Warnings
6224         (Off) set for the type entity.
6225
6226 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
6227
6228         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
6229         a builtin type and give it a name.
6230
6231 2009-04-17  Diego Novillo  <dnovillo@google.com>
6232
6233         * gcc-interface/misc.c (gnat_expand_expr): Remove.
6234         (LANG_HOOKS_EXPAND_EXPR): Remove.
6235
6236 2009-04-17  Robert Dewar  <dewar@adacore.com>
6237
6238         * sem_ch3.adb: Minor reformatting
6239
6240 2009-04-17  Pascal Obry  <obry@adacore.com>
6241
6242         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
6243
6244 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
6245
6246         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
6247         illegal constraints on type derived from formal discrete types.
6248
6249 2009-04-17  Thomas Quinot  <quinot@adacore.com>
6250
6251         PR ada/35953
6252
6253         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6254         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
6255         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
6256         g-socket.ads (GNAT.Sockets.Thin.C_Send,
6257         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
6258         Replace calls to send(2) with equivalent sendto(2) calls.
6259         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
6260         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
6261         report an error in that case. Factor code common to the two versions
6262         (datagram and stream) in common routine Stream_Write.
6263
6264 2009-04-17  Robert Dewar  <dewar@adacore.com>
6265
6266         * exp_disp.adb: Minor reformatting
6267         Minor code reorganization (use Nkind_In)
6268
6269         * prepcomp.adb: Minor reformatting
6270
6271         * sem_ch3.adb: Minor reformatting
6272
6273         * sem_res.adb: Minor comment addition
6274
6275         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
6276         for address clause
6277
6278         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
6279         setting Is_Referenced
6280
6281         * types.ads: Minor reformatting
6282
6283 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
6284
6285         * gnat_ugn.texi: Initial documentation on binding generator.
6286
6287 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
6288
6289         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
6290         type extensions whose parent is a type with unknown discriminants.
6291
6292         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
6293         aggregate has unknown discriminants, use the Underlying_Record_View to
6294         obtain the discriminants of the ancestor part.
6295
6296         * exp_disp.adb (Build_Dispatch_Tables): Types that are
6297         Underlying_Record_Views share the dispatching information of the
6298         original record extension.
6299
6300         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
6301         discriminants, propagate dispach table information to the
6302         Underlying_Record_View.
6303
6304         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
6305         discriminants and declaration is not a completion, generate
6306         Underlying_Record_View to provide proper discriminant information to
6307         the front-end and to gigi.
6308
6309 2009-04-17  Robert Dewar  <dewar@adacore.com>
6310
6311         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
6312         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
6313         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
6314         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
6315         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
6316         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
6317         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
6318         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
6319         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
6320         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
6321         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
6322         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
6323         s-conca3.ads: Remove unneeded pragma Warnings
6324
6325 2009-04-17  Robert Dewar  <dewar@adacore.com>
6326
6327         * g-moreex.adb: Add comments.
6328
6329         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
6330
6331         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
6332         Warnings (Off)
6333
6334         * prepcomp.adb: Add ??? comment
6335
6336         * a-tasatt.adb: Minor reformatting
6337
6338         * g-trasym-vms-alpha.adb: Add ??? comment
6339
6340         * g-trasym-vms-ia64.adb: Add ??? comment
6341
6342         * xoscons.adb: Minor reformatting
6343
6344         * s-tassta.adb: Minor reformatting
6345
6346         * s-scaval.adb: Add ??? comment
6347
6348         * stand.ads: Minor code clean up (remove junk with of Namet)
6349
6350         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
6351         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
6352         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
6353         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
6354         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
6355         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
6356         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
6357         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
6358         Warnings off pragmas.
6359
6360 2009-04-17  Pascal Obry  <obry@adacore.com>
6361
6362         * initialize.c: Fix test for reallocating the arguments array.
6363
6364 2009-04-17  Geert Bosch  <bosch@adacore.com>
6365
6366         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
6367         conversion truncate only for decimal fixed point types.
6368
6369 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
6370
6371         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
6372         reinitialized.
6373
6374 2009-04-17  Robert Dewar  <dewar@adacore.com>
6375
6376         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
6377         Backwards_OK if either operand has an address clause.
6378
6379 2009-04-17  Pascal Obry  <obry@adacore.com>
6380
6381         * initialize.c: Code clean up, use realloc.
6382
6383 2009-04-17  Pascal Obry  <obry@adacore.com>
6384
6385         * initialize.c: Do not get Unicode command line if Unicode support not
6386         activated.
6387         Add support for wildcard expansion for Unicode parameters on Win32.
6388
6389         * mingw32.h: Add missing macros when Unicode support not activated.
6390
6391 2009-04-17  Javier Miranda  <miranda@adacore.com>
6392
6393         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
6394         avoid generating code that references the Current_Master
6395         when compiling without tasks.
6396
6397 2009-04-17  Vincent Celier  <celier@adacore.com>
6398
6399         * prj-attr.adb: New project level attribute Target
6400         
6401         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
6402         attribute Target
6403         
6404         * prj.ads (Project_Configuration): New component Target
6405
6406 2009-04-17  Thomas Quinot  <quinot@adacore.com>
6407
6408         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
6409         case for the case of an aggregate component, the attach call for the
6410         result is actually needed.
6411
6412         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
6413         an array aggregate must be disabled if the component type requires
6414         controlled actions.
6415
6416         * exp_ch3.adb: Minor reformatting
6417
6418 2009-04-17  Bob Duff  <duff@adacore.com>
6419
6420         * output.ads (Indent,Outdent): New procedures for indenting the output.
6421         (Write_Char): Correct comment -- LF _is_ allowed.
6422
6423         * output.adb (Indent,Outdent): New procedures for indenting the output.
6424         Keep track of the indentation level, and make sure it doesn't get too
6425         high.
6426         (Flush_Buffer): Insert spaces at the beginning of each line, if
6427         indentation level is nonzero.
6428         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
6429         indentation level.
6430         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
6431         "Next_Col := 1;".  Flush_Buffer does that.
6432
6433         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
6434         controlled by the -gnatdc switch. It now occurs on entry/exit to the
6435         relevant analysis routines, and calls Indent/Outdent to make the
6436         indentation reflect the nesting level.  Add "helper" routines, since
6437         otherwise lots of "return;" statements would skip the debugging output.
6438
6439 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
6440
6441         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
6442         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
6443         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
6444
6445 2009-04-17  Thomas Quinot  <quinot@adacore.com>
6446
6447         * exp_aggr.adb: Minor code reorganization, no behaviour change.
6448
6449 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
6450
6451         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
6452         clause in a unit that is a package body or a subunit, when the previous
6453         clause appears in a spec or a parent.
6454
6455 2009-04-17  Thomas Quinot  <quinot@adacore.com>
6456
6457         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
6458
6459         * exp_ch7.adb: Minor reformatting
6460
6461 2009-04-17  Bob Duff  <duff@adacore.com>
6462
6463         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
6464         allocator, check that the expression of the qualified expression obeys
6465         the constraints of the subtype of the qualified expression.
6466
6467 2009-04-17  Thomas Quinot  <quinot@adacore.com>
6468
6469         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
6470
6471 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
6472
6473         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
6474         aggregate, using context imposed by subtype mark in allocator.
6475
6476 2009-04-17  Pascal Obry  <obry@adacore.com>
6477
6478         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
6479
6480 2009-04-17  Nicolas Roche  <roche@adacore.com>
6481
6482         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
6483         argument length.
6484
6485 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
6486
6487         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
6488         cover both calls and attribute references ("call" => "reference").
6489
6490 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
6491
6492         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
6493         type for which Storage_Size is set to 0 is legal in a pure unit.
6494
6495 2009-04-17  Thomas Quinot  <quinot@adacore.com>
6496
6497         * exp_ch7.adb: Minor reformatting
6498
6499 2009-04-17  Robert Dewar  <dewar@adacore.com>
6500
6501         * restrict.adb (Check_Restriction_No_Dependence): Don't check
6502         restriction if outside main extended source unit.
6503
6504         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
6505         for parents of child units as well as the child unit itself.
6506
6507 2009-04-17  Bob Duff  <duff@adacore.com>
6508
6509         * checks.ads: Minor comment fix
6510
6511         * exp_aggr.ads: Minor comment fix
6512
6513 2009-04-17  Nicolas Roche  <roche@adacore.com>
6514
6515         * adaint.c: Improve cross compiler detection and handling.
6516
6517 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
6518
6519         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
6520
6521 2009-04-17  Pascal Obry  <obry@adacore.com>
6522
6523         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
6524         CurrentCodePage.
6525
6526         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
6527         value when no encoding form paramter is set on Text_IO services.
6528
6529         * adaint.c: CurrentCodePage new variable on Windows.
6530         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
6531         ones.
6532
6533         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
6534         ones.
6535
6536         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
6537         environment variable value. Default is UTF-8.
6538
6539         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
6540         fopen and freopen encoding parameter is now set to Unspecified.
6541         The default value is in this case UTF-8 (as it was before) but
6542         use the new macros that convert to/from the code page set
6543         at runtime (CurrentCodePage).
6544
6545         * s-fileio.adb: When no encoding specified use Unspecified value.
6546
6547 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
6548
6549         * atree.adb, atree.ads: Remove dead code.
6550
6551 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
6552
6553         * gcc-interface/Make-lang.in: Update dependencies.
6554
6555 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
6556
6557         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
6558         illegal uses of incomplete types in formal parts and return types.
6559
6560         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
6561         access to subprograms.
6562
6563         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
6564         Taft-amendment types as the return type of an access_to_function type.
6565
6566         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
6567         type for access_to_subprograms. The check is performed on package exit.
6568
6569 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
6570
6571         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
6572
6573         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
6574         
6575         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
6576
6577         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
6578         semantic units, because the handling of itypes in the copied tree
6579         requires semantic information that does not belong in atree.
6580
6581 2009-04-17  Robert Dewar  <dewar@adacore.com>
6582
6583         * par-ch6.adb: Minor reformatting
6584
6585         * prj.adb: Minor reformatting
6586
6587 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
6588
6589         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
6590         on protected subprogram bodies, so exclude the case where Pf_Flags is
6591         Pf_Decl_Pbod from the error check.
6592
6593         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
6594         indicators on subprograms in protected bodies, and proceed with parsing
6595         the subprogram.
6596
6597         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
6598         subprograms from the check for primitiveness on subprograms with
6599         overriding indicators.
6600         (Check_Overriding_Indicator): Include protected subprograms in the
6601         style check for missing overriding indicators.
6602
6603 2009-04-17  Tristan Gingold  <gingold@adacore.com>
6604
6605         * init.c: Fix stack checking for x86 Darwin.
6606
6607 2009-04-17  Vincent Celier  <celier@adacore.com>
6608
6609         * prj-attr.adb: New project level attribute Object_File_Suffix
6610         (<language>).
6611         
6612         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
6613         object file name
6614         (Process_Compiler): Process attribute Object_File_Suffix
6615
6616         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
6617         platform suffix, when specified.
6618
6619         * prj.ads (Language_Config): New component Object_File_Suffix,
6620         defaulted to No_Name.
6621         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
6622
6623         * snames.ads-tmpl: New standard name Object_File_Suffix
6624
6625 2009-04-17  Robert Dewar  <dewar@adacore.com>
6626
6627         * gnat_rm.texi: Add documentation about No_Streams restriction
6628
6629         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
6630         attributes when checking No_Streams restriction.
6631
6632 2009-04-17  Thomas Quinot  <quinot@adacore.com>
6633
6634         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
6635
6636         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
6637         missing calls to RE_Request_Destroy to deallocate request objects after
6638         use.
6639
6640 2009-04-17  Nicolas Setton  <setton@adacore.com>
6641
6642         * link.c: Fix support for passing a response file under Darwin.
6643
6644 2009-04-17  Emmanuel Briot  <briot@adacore.com>
6645
6646         * prj.adb (Free): new subprogram.
6647
6648 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
6649
6650         * sem_ch3.adb: additional initialization on incomplete subtypes.
6651         
6652         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
6653         part and one of the formals is an incomplete tagged type, attach to
6654         list of private dependends of the type for later validation.
6655
6656         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
6657         primitive operations of a Taft-amendmment type.
6658
6659         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
6660         type. The check is performed on package exit, possibly after the
6661         subprogram is frozen.
6662
6663 2009-04-17  Vincent Celier  <celier@adacore.com>
6664
6665         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
6666         before looking for source directories, but make sure that there are nil
6667         if they are not explicitely declared and there is explicitely no
6668         sources in the project.
6669
6670 2009-04-17  Pascal Obry  <obry@adacore.com>
6671
6672         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
6673
6674         * init.c: Fix minor typo and style fix.
6675
6676 2009-04-17  Robert Dewar  <dewar@adacore.com>
6677
6678         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
6679
6680         * sem_attr.adb (Analyze_Attribute, case Address): Use
6681         PE_Address_Of_Intrinsic.
6682
6683         * types.ads: Add PE_Address_Of_Intrinsic
6684
6685         * types.h: Add PE_Address_Of_Intrinsic
6686
6687 2009-04-17  Nicolas Setton  <setton@adacore.com>
6688
6689         * gcc-interface/Makefile.in: Under darwin, build shared libraries
6690         with install_name starting with "@rpath/".
6691
6692 2009-04-17  Nicolas Setton  <setton@adacore.com>
6693
6694         * link.c: Add darwin section
6695
6696 2009-04-16  Robert Dewar  <dewar@adacore.com>
6697
6698         * g-pehage.adb: Minor reformatting
6699
6700         * sem_ch12.adb: Minor reformatting
6701
6702         * exp_dist.adb: Minor reformatting
6703
6704         * bindgen.adb: Minor style fixes.
6705
6706 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
6707
6708         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
6709         indexed components to the case where the prefix is a static string
6710         literal.
6711
6712 2009-04-16  Javier Miranda  <miranda@adacore.com>
6713
6714         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
6715         objects avoid any further expansion of the expression initializing the
6716         object.
6717
6718 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
6719
6720         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
6721         that hides an outer homograph, make that homograph invisible when
6722         analyzing the actuals, to to prevent illegal direct visibility on it.
6723
6724 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
6725
6726         * g-pehage.adb (Initialize): Fix off-by-one error.
6727
6728 2009-04-16  Tristan Gingold  <gingold@adacore.com>
6729
6730         * init.c: Detect real stack overflow on Darwin.
6731
6732         * system-darwin-x86.ads: Use stack probing on darwin x86.
6733
6734 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
6735
6736         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
6737         take the address of an intrinsic subprogram.
6738
6739 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
6740
6741         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
6742         for the targets where GNAT.Traceback.Symbolic is not supported.
6743
6744 2009-04-16  Vincent Celier  <celier@adacore.com>
6745
6746         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
6747
6748         * g-trasym.ads: Update comments.
6749
6750 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
6751
6752         * tracebak.c (STOP_FRAME): Verify validity of the current address
6753         before dereferencing.
6754
6755 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
6756
6757         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
6758         the original location of the index expressions and the index subtypes,
6759         to prevent spurious out-of-scope references in gigi.
6760
6761 2009-04-16  Tristan Gingold  <gingold@adacore.com>
6762
6763         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
6764         Add support for stack checking on darwin.
6765
6766 2009-04-16  Vincent Celier  <celier@adacore.com>
6767
6768         * prj-attr.adb: New attribute Runtime_Source_Dir
6769
6770         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
6771         attribute Runtime_Source_Dir.
6772         (Check_Naming_Schemes): Give default values to out parameters to avoid
6773         invalid data.
6774
6775         * prj.ads (Language_Config): New component Runtime_Source_Dir
6776
6777         * snames.ads-tmpl: New standard name Runtime_Source_Dir
6778
6779 2009-04-16  Pascal Obry  <obry@adacore.com>
6780
6781         * adaint.h, adaint.c (__gnat_rmdir): New routine.
6782         Simple wrapper routines used to convert to proper encoding on
6783         Windows.
6784
6785         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
6786
6787         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
6788         twice.
6789
6790 2009-04-16  Pascal Obry  <obry@adacore.com>
6791
6792         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
6793
6794 2009-04-16  Thomas Quinot  <quinot@adacore.com>
6795
6796         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
6797         integrated preprocessor.
6798
6799         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
6800         (Initialize): Split into two subprograms, Initialize (to be called
6801         prior to compiler command line processing) and Setup_Hooks (to be called
6802         later on when the first source file is loaded).
6803
6804         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
6805         Add call to Prep.Initialize.
6806
6807         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
6808         to Prep.Setup_Hooks.
6809
6810 2009-04-16  Pascal Obry  <obry@adacore.com>
6811
6812         * adaint.h, adaint.c (__gnat_chdir): New routine.
6813         Simple wrapper routines used to convert to proper encoding on
6814         Windows.
6815
6816         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
6817
6818         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
6819
6820 2009-04-16  Quentin Ochem  <ochem@adacore.com>
6821
6822         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
6823         of Source.Init.
6824
6825 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
6826
6827         * a-convec.ads (Is_Empty): Mark inline.
6828
6829 2009-04-16  Nicolas Roche  <roche@adacore.com>
6830
6831         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
6832
6833 2009-04-16  Thomas Quinot  <quinot@adacore.com>
6834
6835         * prepcomp.adb: Minor reformatting
6836
6837 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
6838
6839         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
6840         Access_Subprogram types can also be imported.
6841         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
6842         names.
6843
6844 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
6845
6846         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
6847         preserve homonym chain when the declaration is rewritten into a
6848         renaming declaration, in order to preserve visibility structure.
6849
6850 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
6851
6852         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
6853         taken into account for VM targets.
6854
6855 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
6856
6857         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
6858         Year_Week_In_Year.
6859         (Year_Week_In_Year): New routine which contains the original code from
6860         Week_In_Year. Add the missing special case for January 1st falling on
6861         a Monday.
6862
6863 2009-04-16  Thomas Quinot  <quinot@adacore.com>
6864
6865         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
6866         actual type, use the base type to build the To_Any function.
6867         (Build_From_Any_Function): Remove junk, useless subtype conversion.
6868
6869 2009-04-16  Thomas Quinot  <quinot@adacore.com>
6870
6871         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
6872         restrict.adb: Minor code reorganization (use
6873         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
6874
6875 2009-04-16  Bob Duff  <duff@adacore.com>
6876
6877         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
6878         unused.
6879
6880 2009-04-16  Thomas Quinot  <quinot@adacore.com>
6881
6882         * sem_ch4.adb: Minor reformatting
6883
6884         * adaint.c: Remove junk duplicated code.
6885
6886         * sem_ch3.adb: Minor reformatting
6887
6888         * exp_dist.adb: Minor comment rewording
6889
6890 2009-04-16  Robert Dewar  <dewar@adacore.com>
6891
6892         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
6893         used together.
6894
6895 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
6896
6897         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
6898         usable before calling Add_One_Interp, to resolve spurious ambiguities.
6899
6900 2009-04-16  Robert Dewar  <dewar@adacore.com>
6901
6902         * Make-lang.in: Add entries for s-conca?.o
6903
6904         * Makefile.rtl: Add entries for s-conca?
6905
6906         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
6907         of concatenation expansion
6908
6909         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
6910         string cases instead of expanding assignments inline.
6911
6912         * opt.ads (Optimize_Size): New flag
6913
6914         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
6915         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
6916         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
6917         s-conca9.adb, s-conca9.ads: New file.
6918
6919 2009-04-16  Robert Dewar  <dewar@adacore.com>
6920
6921         * exp_ch6.adb: Add comments
6922
6923         * rtsfind.ads: Add entries for s-conca? routines
6924
6925 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
6926
6927         * gcc-interface/Make-lang.in: Update dependencies.
6928
6929         * gcc-interface/Makefile.in: Update translation for vms.
6930
6931 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
6932
6933         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
6934         and made global, to be used when installing parents of a child
6935         instance, to provide mappings for entities declared in formal packages
6936         of ancestor units. Now called from Install_Formal_Packages.
6937
6938 2009-04-16  Doug Rupp  <rupp@adacore.com>
6939
6940         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
6941         notation for clarity.
6942
6943         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
6944         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
6945         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
6946         (Initialize): Initialize Known_Tasks with Environment task.
6947
6948         * s-taskin.ads (Task_States): Move new states to end for the sake of
6949         GDB compatibility.
6950
6951         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
6952
6953 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
6954
6955         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
6956         operation has an inline pragma, propagate the flag to the internal
6957         unprotected subprogram.
6958
6959 2009-04-16  Doug Rupp  <rupp@adacore.com>
6960
6961         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
6962         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
6963         s-taprop-hpux-dce.adb, s-taprop-posix.adb
6964         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
6965
6966         * s-taprop-vms.adb (Enter_Task): Likewise.
6967         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
6968
6969         * s-tassta.adb (Activate_Tasks): After task creation set state to
6970         Activating, vice Runnable. Initialize Known_Tasks, moved here from
6971         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
6972         Set state to Runnable after above.
6973         (Task_Wrapper): Set Debug_Event_Run. In exception block set
6974         Debug_Event_Terminated.
6975
6976         * s-taskin.ads (Task_States): Add new states Activiting and
6977         Activator_Delay_Sleep.
6978         (Bit_Array, Debug_Event_Array): New types.
6979         (Global_Task_Debug_Event_Set: New flag.
6980         (Common_ATCB): New field Debug_Events.
6981
6982         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
6983
6984         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
6985         Activator_Sleep.
6986
6987         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
6988         Activating and when Acceptor_Delay_Sleep.
6989
6990         * s-tasdeb.ads: Add constants for Debug_Events.
6991         (Debug_Event_Kind_Type): New subtype.
6992         (Signal_Debug_Event): New subprogram.
6993
6994         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
6995
6996 2009-04-16  Thomas Quinot  <quinot@adacore.com>
6997
6998         * sem_elim.adb: Minor reformatting
6999
7000         * freeze.adb: Minor reformatting
7001
7002         * exp_ch4.adb: Minor reformatting
7003
7004 2009-04-16  Emmanuel Briot  <briot@adacore.com>
7005
7006         * prj-nmsc.adb (Path_Name_Of): fix memory leak
7007
7008 2009-04-16  Robert Dewar  <dewar@adacore.com>
7009
7010         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
7011
7012 2009-04-16  Vincent Celier  <celier@adacore.com>
7013
7014         * fmap.adb (Initialize): Show the current line when the mapping file
7015         is detected as "incorrectly formatted".
7016
7017 2009-04-16  Robert Dewar  <dewar@adacore.com>
7018
7019         * sem_ch12.adb: Minor reformatting
7020
7021         * sem_ch5.adb: Minor comment addition
7022
7023         * sem_util.adb: Minor reformatting
7024
7025         * sinput-p.adb: Minor reformatting
7026         Add missing pragma Warnings (On)
7027
7028 2009-04-16  Ed Falis  <falis@adacore.com>
7029
7030         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
7031
7032 2009-04-16  Vincent Celier  <celier@adacore.com>
7033
7034         * ali-util.adb: Minor comment spelling error fix
7035
7036 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
7037
7038         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
7039         generate an assignment loop in case of overlap.
7040
7041 2009-04-16  Olivier Hainque  <hainque@adacore.com>
7042
7043         * gnat_ugn.texi (gnatmem description): Make it explicit that
7044         gnatmem is designed to work in association with static runtime
7045         library only.
7046
7047 2009-04-16  Thomas Quinot  <quinot@adacore.com>
7048
7049         * sem_type.adb: Minor reformatting
7050
7051 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
7052
7053         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
7054         concerning return codes of gettimeofday and return value check.
7055
7056 2009-04-16  Ed Falis  <falis@adacore.com>
7057
7058         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
7059         body can be renaming of imported routines.
7060
7061 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
7062
7063         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
7064         targeted fashion.
7065
7066 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
7067
7068         * exp_ch9.adb: Comment improvements.
7069         (Build_Entry_Family_Name): Add parentheses around the index of a entry
7070         family member.
7071
7072 2009-04-15  Bob Duff  <duff@adacore.com>
7073
7074         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
7075         "while X /= null loop" where X is unchanged inside the loop. We were
7076         not warning in this case, because of the pointers -- we feared that the
7077         loop variable could be updated via a pointer, if there are any pointers
7078         around the place. But that is impossible in this case.
7079
7080         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
7081         the case of dereferences. In X.all, X cannot be an l-value. We now
7082         catch that case (and implicit dereferences, too).
7083
7084 2009-04-15  Vincent Celier  <celier@adacore.com>
7085
7086         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
7087
7088 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7089
7090         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
7091         From code reading.
7092         (Analyze_Package_Instantiation): If generic unit in child instance is
7093         the same as generic unit in parent instance, look for an outer homonym
7094         to locate the desired generic.
7095
7096 2009-04-15  Bob Duff  <duff@adacore.com>
7097
7098         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
7099         warnings unless the loop comes from source, because checking generated
7100         loops is a waste of time, and makes it harder to debug
7101         Check_Infinite_Loop_Warning.
7102
7103         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
7104         tested in the while loop is a renaming, do not warn. Otherwise, we get
7105         false alarms, because it's usually renaming something that we can't
7106         deal with (an indexed component, a global variable, ...).
7107
7108         * gnat_rm.texi: Fix typo
7109
7110 2009-04-15  Thomas Quinot  <quinot@adacore.com>
7111
7112         * sem_ch6.adb: Minor reformatting
7113
7114 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
7115
7116         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
7117         immediate parent of the controlled function call is a component
7118         association.
7119
7120 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7121
7122         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
7123         corresponding class-wide type is also in use.
7124
7125 2009-04-15  Thomas Quinot  <quinot@adacore.com>
7126
7127         * frontend.adb: Minor comment fix
7128
7129 2009-04-15  Robert Dewar  <dewar@adacore.com>
7130
7131         * gnatchop.adb (BOM_Length): New global variable
7132         (Write_Unit): Add new parameter Write_BOM
7133         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
7134         to Write_Unit
7135
7136         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
7137
7138 2009-04-15  Geert Bosch  <bosch@adacore.com>
7139
7140         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
7141         (Backend_Overflow_Checks): Set to True.
7142
7143 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
7144
7145         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
7146         keyword is given in a record extension.
7147
7148 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
7149
7150         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
7151         of a controlled function call in the context of a record aggregate.
7152         This does not apply to array aggregates since the call will be expanded
7153         into assignments.
7154
7155 2009-04-15  Ed Falis  <falis@adacore.com>
7156
7157         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
7158         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
7159         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
7160         s-osinte-vxworks* and s-vxwext*.
7161
7162 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
7163
7164         * gcc-interface/Make-lang.in: Update dependencies.
7165
7166         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
7167         and s-vxwext*.
7168
7169 2009-04-15  Robert Dewar  <dewar@adacore.com>
7170
7171         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
7172         of node for location for warning messages.
7173
7174         * gnatchop.adb: Minor reformatting
7175
7176 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7177
7178         * exp_ch6.adb: additional guard for renaming declarations for in
7179         parameters of an array type.
7180
7181 2009-04-15  Robert Dewar  <dewar@adacore.com>
7182
7183         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
7184         in case they were rewritten by expander (Force_Evaluation).
7185
7186         * targparm.adb (Get_Target_Parameters): Correct check for
7187         Suppress_Exception_Locations.
7188
7189 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7190
7191         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
7192         inlined  is of an array type that is not bit-packed, use a renaming
7193         declaration to capture its value, rather than a constant declaration.
7194
7195 2009-04-15  Robert Dewar  <dewar@adacore.com>
7196
7197         * rtsfind.adb: Minor reformatting.
7198
7199 2009-04-15  Emmanuel Briot  <briot@adacore.com>
7200
7201         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
7202         Restore, and free the saved context.
7203
7204 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
7205
7206         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
7207         for illegal private extension from a synchronized interface parent in
7208         front of check for illegal limited extension so that limited extension
7209         from a synchronized interface will be rejected.
7210         (Check_Ifaces): Check that a private extension that has a synchronized
7211         interface as a progenitor must be explicitly declared synchronized.
7212         Also check that a record extension cannot derive from a synchronized
7213         interface.
7214
7215 2009-04-15  Pascal Obry  <obry@adacore.com>
7216
7217         * adaint.h (__gnat_unlink): Add spec.
7218         (__gnat_rename): Likewise.
7219
7220 2009-04-15  Vincent Celier  <celier@adacore.com>
7221
7222         * prj-nmsc.adb: Minor spelling error corrections in error messages
7223
7224 2009-04-15  Robert Dewar  <dewar@adacore.com>
7225
7226         * sinfo.ads: Minor comment update
7227
7228         * opt.ads: Minor comment updates
7229
7230         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
7231         modular type.
7232
7233 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7234
7235         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
7236         that generates the code needed to update a dispatch table when a
7237         primitive operation is declared with a subprogram body without previous
7238         spec. Insertion of the generated code is responsibility of the caller.
7239         (Make_DT): When building static tables, append the code created by
7240         Register_Primitive to update a secondary table after it has been
7241         constructed.
7242
7243         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
7244
7245         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
7246         on an overriding operation that implements an interface operation only
7247         if not building static dispatch tables.
7248
7249 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
7250
7251         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
7252         does not cause overflow when converted to Duration. Use the safe value
7253         as the maximum allowable time delay..
7254
7255 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
7256
7257         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
7258         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
7259         translated to "-j 2".
7260
7261 2009-04-15  Bob Duff  <duff@adacore.com>
7262
7263         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
7264         with_clauses, to avoid code duplication. Change this processing so we
7265         always add a with_clause on the main unit if needed.
7266
7267 2009-04-15  Pascal Obry  <obry@adacore.com>
7268
7269         Add support for Win32 native encoding for delete/rename routines.
7270         
7271         * adaint.c (__gnat_unlink): New routine.
7272         (__gnat_rename): New routine.
7273         Simple wrapper routines used to convert to proper encoding on
7274         Windows.
7275
7276         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
7277         call to the C library.
7278
7279         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
7280
7281 2009-04-15  Robert Dewar  <dewar@adacore.com>
7282
7283         * s-tassta.adb: Minor reformatting
7284
7285 2009-04-15  Robert Dewar  <dewar@adacore.com>
7286
7287         * frontend.adb (Frontend): Set proper default for
7288         Warn_On_Non_Local_Exception.
7289
7290         * opt.ads (Exception_Handler_Encountered): New flag
7291         (No_Warn_On_Non_Local_Exception): New flag
7292
7293         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
7294
7295         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
7296         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
7297
7298 2009-04-15  Cyrille Comar  <comar@adacore.com>
7299
7300         * s-tassta.adb, a-exextr.adb, a-elchha.adb
7301         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
7302         message when exception traces are active since it would generate
7303         redundant information.
7304         (Exception_Traces.Notify_Exception): put message output by a critical
7305         section to avoid unsynchronized output.
7306         (Trace_Unhandled_Exception_In_Task): put message output by a critical
7307         section to avoid unsynchronized output.
7308
7309 2009-04-15  Emmanuel Briot  <briot@adacore.com>
7310
7311         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
7312         (Free): New subprogram.
7313
7314 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
7315
7316         * a-calend.adb: Add new constant Nanos_In_Four_Years.
7317         (Formatting_Operations.Time_Of): Change the way four year chunks of
7318         nanoseconds are added to the intermediate result.
7319
7320 2009-04-15  Nicolas Setton  <setton@adacore.com>
7321
7322         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
7323         does not need to wait for a carriage return.
7324
7325 2009-04-15  Tristan Gingold  <gingold@adacore.com>
7326
7327         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
7328         is set.
7329
7330 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7331
7332         * freeze.adb (Freeze_Entity): improve error message for improper use of
7333         incomplete types.
7334         Diagnose additional illegal uses of incomplete types in formal parts.
7335         appearing in formal parts.
7336
7337         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
7338
7339 2009-04-15  Robert Dewar  <dewar@adacore.com>
7340
7341         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
7342
7343 2009-04-15  Nicolas Roche  <roche@adacore.com>
7344
7345         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
7346         current thread.
7347
7348         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
7349
7350         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
7351
7352 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7353
7354         * sem_ch4.adb: improve error message on exponentiation.
7355
7356 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
7357
7358         * a-calend.adb: Move constant Epoch_Offset from package
7359         Conversion_Operations to top level.
7360         (Delay_Operations.To_Duration): Define a constant which represents
7361         "end of time" and use it as a guard against very distant delay dates.
7362         Protect the code against overflow when performing the origin shift to
7363         Unix time.
7364
7365 2009-04-15  Robert Dewar  <dewar@adacore.com>
7366
7367         * sem_prag.adb: Minor reformatting.
7368
7369         * sem_type.adb: Minor reformatting
7370
7371 2009-04-15  Javier Miranda  <miranda@adacore.com>
7372
7373         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
7374         support to check eliminated subprograms.
7375
7376         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
7377
7378         * sem_elim.adb (Set_Eliminated): Add support for elimination of
7379         dispatching subprograms.
7380
7381         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
7382         operations. Initialize with "null" the slots of eliminated dispaching
7383         primitives.
7384         (Write_DT): Add output for eliminated primitives.
7385
7386         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
7387
7388 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7389
7390         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
7391         the second is redundant, regardless of scopes.
7392
7393 2009-04-15  Vincent Celier  <celier@adacore.com>
7394
7395         * prj-nmsc.adb (Get_Directories): Check for sources before checking
7396         the object directory as when there are no sources, they may not be any
7397         object directory.
7398
7399         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
7400         directory, when there are no exec directory.
7401
7402 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7403
7404         * sem_type.adb (Remove_Conversions): In order to resolve spurious
7405         ambiguities, refine removal of universal interpretations from complex
7406         expressions with literal arguments, when some numeric operators have
7407         been declared abstract.
7408
7409 2009-04-15  Ed Falis  <falis@adacore.com>
7410
7411         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
7412         and backward compatibility for targets using probing for stack overflow
7413
7414 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7415
7416         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
7417         after any declaration, including renaming declarations.
7418
7419 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
7420
7421         * gcc-interface/Make-lang.in: Update dependencies.
7422
7423         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
7424         Update xenomai target pairs.
7425
7426 2009-04-15  Javier Miranda  <miranda@adacore.com>
7427
7428         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
7429
7430         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
7431         functions returning anonymous access to class-wide limited types. Mark
7432         also the containing scope as a task master.
7433
7434         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
7435         limited-withed packages. Required to restore their visibility after
7436         processing packages associated with implicit with-clauses.
7437
7438         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
7439         associated with return statements because this work is now done by
7440         Check_Anonymous_Return.
7441         (Build_Master): Code cleanup.
7442
7443 2009-04-15  Thomas Quinot  <quinot@adacore.com>
7444
7445         * sem_warn.ads: Minor reformatting
7446
7447 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7448
7449         * sem_ch3.adb: better error message for illegal interfaces
7450
7451         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
7452         formal is an incomplete type from a limited_with clause.
7453
7454 2009-04-15  Vincent Celier  <celier@adacore.com>
7455
7456         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
7457         Externally_Built indicating if the project is externally built. If it
7458         is, and --subdirs is specified, but the subdir does not exist, look
7459         for the specified directory, without the subdir.
7460
7461 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
7462
7463         * a-tasatt.adb: Fix typo, plus minor reformatting
7464
7465         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
7466
7467         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
7468
7469 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7470
7471         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
7472         private extension whose parent is a synchronized interface carries an
7473         explicit synchronized keyword.
7474
7475 2009-04-15  Thomas Quinot  <quinot@adacore.com>
7476
7477         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
7478         instantiate generic shared object package with the corresponding
7479         record type.
7480
7481 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
7482
7483         * system-linux-sparc.ads: Remove obsolete entries.
7484
7485 2009-04-15  Thomas Quinot  <quinot@adacore.com>
7486
7487         * s-tasuti.ads: Add ??? comment
7488
7489 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7490
7491         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
7492         type even if the designated type comes from a limited_with clause, to
7493         ensure that the symbol for the finalization list of the access type is
7494         created.
7495
7496 2009-04-10  Robert Dewar  <dewar@adacore.com>
7497
7498         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
7499         for warning suppression.
7500
7501 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
7502
7503         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
7504         identical, there is no redudancy to check.
7505
7506 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
7507
7508         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
7509         calls initializing SS_Allocator (which is initialized in following
7510         code).
7511         (Expand_Simple_Function_Return): Add comment about False value for
7512         Comes_From_Source on secondary-stack allocator.
7513
7514         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
7515         (Build_Entry_Name): Add comment.
7516
7517 2009-04-10  Robert Dewar  <dewar@adacore.com>
7518
7519         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
7520
7521         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
7522         bound tested, since this is now done more generally in Sem_Res.
7523
7524         * sem_res.adb (Resolve_Comparison_Op): Add call to
7525         Check_Lower_Bound_Tested.
7526         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
7527
7528         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
7529         (Low_Bound_Tested): New name for Low_Bound_Known flag
7530
7531         * exp_ch5.adb: Minor reformatting
7532
7533         * exp_ch4.adb:
7534         Add comments on copying the Comes_From_Source flag for allocators
7535
7536         * sinfo.ads:
7537         Add comments on copying the Comes_From_Source flag for allocators
7538
7539         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
7540         Comes_From_Source flag from old allocator to new one.
7541
7542 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
7543
7544         * sem_ch6.ads: Address missing documentation query
7545
7546 2009-04-10  Vincent Celier  <celier@adacore.com>
7547
7548         * prj-attr.adb:
7549         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
7550         and Response_File_Switches.
7551
7552         * prj-nmsc.adb (Process_Linker): Process new attributes
7553         Max_Command_Line_Length, Response_File_Format and
7554         Response_File_Switches.
7555
7556         * prj.ads (Response_File_Format): New enumeration type
7557         (Project_Configuration): New componants Max_Command_Line_Length,
7558         Resp_File_Format and Resp_File_Options.
7559
7560         * snames.ads-tmpl: Add new standard names for linking response files
7561         for gprbuild: GNU, None, Object_List, Option_List,
7562         Max_Command_Line_Length, Response_File_Format and
7563         Response_File_Switches.
7564
7565 2009-04-10  Geert Bosch  <bosch@adacore.com>
7566
7567         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
7568         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
7569         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
7570         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
7571         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
7572         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
7573         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
7574         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
7575         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
7576         system-vxworks-arm.ads, system-vxworks-m68k.ads,
7577         system-vxworks-mips.ads, system-vxworks-ppc.ads,
7578         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
7579         (Backend_Overflow_Checks): Set to True.
7580
7581 2009-04-10  Thomas Quinot  <quinot@adacore.com>
7582
7583         * exp_attr.adb: Minor reformatting
7584
7585 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
7586
7587         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
7588         analyze the expression for a postcondition, even if the compiler mode
7589         is Generate_Code.
7590
7591 2009-04-10  Robert Dewar  <dewar@adacore.com>
7592
7593         * sem_aux.adb: Minor reformatting
7594
7595 2009-04-10  Ed Falis  <falis@adacore.com>
7596
7597         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
7598
7599         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
7600
7601 2009-04-10  Thomas Quinot  <quinot@adacore.com>
7602
7603         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
7604         undocumented formal.
7605         Minor reformatting
7606
7607         * a-direio.ads: Fix typo in comment
7608
7609         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
7610         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
7611         Use uniform phrasing for comment at start of subprogram body.
7612
7613         * xsnamest.adb: Add note to explain why we use specific names for the
7614         newly generated files instead of generating snames.{ads,adb,h} directly
7615
7616 2009-04-10  Sergey Rybin  <rybin@adacore.com>
7617
7618         * vms_data.ads:
7619         Add qualifier for new gnatstub option '--no-exception'
7620
7621         * gnat_ugn.texi:
7622         Add the description of the new gnatstub option '--no-exception'
7623
7624 2009-04-10  Robert Dewar  <dewar@adacore.com>
7625
7626         * rtsfind.adb: Minor reformatting
7627
7628 2009-04-10  Thomas Quinot  <quinot@adacore.com>
7629
7630         * sem_disp.adb: Minor reformatting.
7631         Add comment pointing to RM clause for the case of warning against a
7632         (failed) attempt at declaring a primitive operation elsewhere than in a
7633         package spec.
7634
7635 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
7636
7637         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
7638         an actual for a previous formal package of the current instance.
7639
7640 2009-04-10  Bob Duff  <duff@adacore.com>
7641
7642         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
7643         them first, rather than on the extended main unit.
7644
7645 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
7646
7647         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
7648         specification of full view carries a null exclusion indicator, create
7649         an itype for it, to check for conformance with partial view.
7650
7651 2009-04-10  Bob Duff  <duff@adacore.com>
7652
7653         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
7654
7655         * rtsfind.adb: Minor comment changes, and remove useless code.
7656
7657         * sinfo.ads: Add ??? comment.
7658
7659 2009-04-10  Vincent Celier  <celier@adacore.com>
7660
7661         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
7662
7663 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
7664
7665         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
7666         type is a synchronized type, retrieve tag information from the
7667         corresponding record, which has the dispatch table link.
7668
7669 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
7670
7671         * g-comlin.adb (Group_Analysis): Take care of switches that might be
7672         decomposed afterwards, but are present as-is in the command line
7673         configuration, and thus should be kept as-is.
7674
7675 2009-04-10  Robert Dewar  <dewar@adacore.com>
7676
7677         * gnat_rm.texi: Document that postconditions are tested on implicit
7678         returns.
7679
7680         * sem_aux.adb: Minor reformatting
7681
7682 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
7683
7684         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
7685         setting Etype.
7686         
7687         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
7688         Null_Exclusion_In_Return_Present when an access-to-function type has a
7689         result type with an explicit not null.
7690
7691         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
7692         given on the result type, then create a null-excluding itype for the
7693         function.
7694
7695         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
7696         the case where a null exclusion is imposed on a named access type.
7697         (Analyze_Subprogram_Specification): Push and pop the scope of the
7698         function around the call to Analyze_Return_Type in the case of no
7699         formals, for consistency with handling when formals are present
7700         (Process_Formals does this). Ensures that any itype created for the
7701         return type will be associated with the proper scope.
7702
7703         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
7704         exclusion is given on a generic function's result type, then create a
7705         null-excluding itype for the generic function.
7706         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
7707         for an actual for a formal in object according to the setting on the
7708         formal. Ensures null exclusion checks are done when the association is
7709         elaborated.
7710
7711         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
7712         N_Access_Function_Definition.
7713
7714         * sinfo.adb: Add Get_ and Set_ operations for
7715         Null_Exclusion_In_Return_Present.
7716
7717 2009-04-10  Bob Duff  <duff@adacore.com>
7718
7719         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
7720         call to the _Postconditions procedure in the case of implicit returns
7721         from analysis to expansion. This eliminates some duplicated code. Use
7722         the Postcondition_Proc to find the identity of this procedure during
7723         expansion.
7724
7725 2009-04-10  Robert Dewar  <dewar@adacore.com>
7726
7727         * sem_ch6.adb: Minor code clean up.
7728
7729         * einfo.ads, sem_attr.adb: Minor comment fixes.
7730
7731 2009-04-10  Robert Dewar  <dewar@adacore.com>
7732
7733         * sem_ch8.adb: Minor reformatting
7734
7735 2009-04-10  Robert Dewar  <dewar@adacore.com>
7736
7737         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
7738         procedures.
7739
7740         * sem_ch6.adb: Minor code clean up.
7741
7742 2009-04-10  Robert Dewar  <dewar@adacore.com>
7743
7744         * mlib-tgt-specific-xi.adb: Minor reformatting
7745
7746 2009-04-10  Bob Duff  <duff@adacore.com>
7747
7748         * einfo.ads: Minor comment fixes
7749
7750 2009-04-10  Vincent Celier  <celier@adacore.com>
7751
7752         * snames.ads-tmpl: Remove names that are no longer used in the
7753         Project Manager.
7754         Mark specifically those that are used only in gprbuild
7755
7756 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
7757
7758         * init.c: Adjust EH support code on Alpha/Tru64.
7759
7760 2009-04-10  Bob Duff  <duff@adacore.com>
7761
7762         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
7763         procedure on every path that could return implicitly (not via a return
7764         statement) from a procedure.
7765
7766 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
7767
7768         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
7769         valid scope for a task declarations and therefore for a master id.
7770
7771 2009-04-10  Robert Dewar  <dewar@adacore.com>
7772
7773         * sem_aux.adb: Minor reformatting
7774
7775 2009-04-10  Vincent Celier  <celier@adacore.com>
7776
7777         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
7778         True.
7779         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
7780         (Set_Obsolescent_Check): New procedure to change the value of
7781         Obsolescent_Check_Flag.
7782
7783         * scn.ads (Set_Obsolescent_Check): New procedure to control
7784         Obsolescent_Check.
7785
7786         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
7787         obsolescent features while preprocessing.
7788
7789 2009-04-10  Thomas Quinot  <quinot@adacore.com>
7790
7791         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
7792         generated files on all platforms.
7793
7794 2009-04-10  Robert Dewar  <dewar@adacore.com>
7795
7796         * sem_aux.adb: Minor reformatting
7797
7798 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
7799
7800         * sem_ch3.adb (Access_Definition): Handle properly the case of a
7801         protected function with formals that returns an anonymous access type.
7802
7803 2009-04-10  Thomas Quinot  <quinot@adacore.com>
7804
7805         * sem_disp.adb: Minor reformatting
7806
7807 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
7808
7809         * seh_init.c: Do not use the 32-bit specific implementation of
7810         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
7811         version TBD).
7812
7813 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
7814
7815         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
7816         a '/' at the end so we better use the complete target name to determine
7817         whether it is a PowerPC 55xx target.
7818
7819 2009-04-10  Thomas Quinot  <quinot@adacore.com>
7820
7821         * sem_eval.adb: Minor reformatting
7822
7823 2009-04-10  Thomas Quinot  <quinot@adacore.com>
7824
7825         * snames.h, snames.ads, snames.adb: Remove files, now generated from
7826         templates.
7827
7828         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
7829         above.
7830
7831         * xsnamest.adb: New file.
7832
7833         * gcc-interface/Make-lang.in: New target for automated generation of
7834         snames.ads, snames.adb and snames.h
7835
7836 2009-04-10  Tristan Gingold  <gingold@adacore.com>
7837
7838         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
7839         avoid compile time warnings.
7840         Do not add gcc/config in include search list while compiling the RTS.
7841         Pragma Thread_Local_Storage is available on any target.
7842
7843 2009-04-10  Bob Duff  <duff@adacore.com>
7844
7845         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
7846
7847 2009-04-10  Tristan Gingold  <gingold@adacore.com>
7848
7849         * init.c: Install signal handler on Darwin.
7850
7851 2009-04-10  Robert Dewar  <dewar@adacore.com>
7852
7853         * sem_prag.adb: Minor reformatting
7854
7855         * exp_util.adb (Make_Non_Empty_Check): New function
7856         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
7857         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
7858
7859 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
7860
7861         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
7862
7863 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
7864
7865         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
7866         tool prefix for AVR and PowerPC 55xx targets.
7867
7868 2009-04-10  Robert Dewar  <dewar@adacore.com>
7869
7870         * sem_warn.adb (Within_Postcondition): New function
7871         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
7872
7873 2009-04-10  Robert Dewar  <dewar@adacore.com>
7874
7875         * sem_warn.adb: Minor reformatting
7876
7877         * make.adb: Minor reformatting.
7878
7879 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
7880
7881         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
7882         entity and the scope is a subprogram, retrieve the Sloc of the
7883         subprogram's body rather than using the sloc of the spec, for better
7884         line-stepping behavior in gdb.
7885         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
7886         controller, use the Sloc of the first declaration of the containing list
7887         rather than that of the node that triggered creation of the list
7888         controller.
7889
7890 2009-04-10  Vincent Celier  <celier@adacore.com>
7891
7892         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
7893         to avoid gcc warning.
7894
7895 2009-04-10  Robert Dewar  <dewar@adacore.com>
7896
7897         * g-comlin.adb: Add ??? comment
7898
7899 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
7900
7901         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
7902         unreferenced entities for a package with no visible declarations.
7903
7904 2009-04-10  Robert Dewar  <dewar@adacore.com>
7905
7906         * exp_ch9.adb: Minor reformatting
7907
7908 2009-04-10  Thomas Quinot  <quinot@adacore.com>
7909
7910         * sem_prag.adb: Minor reformatting
7911
7912 2009-04-10  Vincent Celier  <celier@adacore.com>
7913
7914         * prj-nmsc.adb:
7915         (Check_Library_Attributes): For a project qualified as a library project
7916         that is not a library project, indicate in the error message which
7917         attributes are missing (Library_Dir and/or Library_Name).
7918
7919 2009-04-10  Bob Duff  <duff@adacore.com>
7920
7921         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
7922         generated nodes, because it might confuse various circuits in the FE.
7923
7924 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
7925
7926         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
7927         of pragma. It will be recopied and analyzed when used in call to
7928         Create_Task.
7929
7930         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
7931         initialization operations and recognize use of it in procedure calls
7932         within init_procs.
7933
7934         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
7935         argument, because it may have side-effects.
7936
7937         * exp_ch2.adb: Remove obsolete comments on default functions
7938
7939 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
7940
7941         * adaint.c (RTX section): Do for RTX the same thing as we do for
7942         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
7943
7944 2009-04-10  Robert Dewar  <dewar@adacore.com>
7945
7946         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
7947
7948         * sem_res.adb (Resolve_Call): Fix test for
7949         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
7950         a non-dynamic scope).
7951
7952 2009-04-10  Robert Dewar  <dewar@adacore.com>
7953
7954         * make.adb: Add comment.
7955         Minor reformatting
7956
7957 2009-04-10  Nicolas Setton  <setton@adacore.com>
7958
7959         * s-osprim-darwin.adb: New file.
7960
7961         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
7962
7963 2009-04-10  Thomas Quinot  <quinot@adacore.com>
7964
7965         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
7966
7967 2009-04-09  Nick Clifton  <nickc@redhat.com>
7968
7969         * adadecode.h: Change copyright header to refer to version
7970         3 of the GNU General Public License with version 3.1 of the
7971         GCC Runtime Library Exception and to point readers at the
7972         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
7973         page.
7974         * 9drpc.adb: Likewise.
7975         * a-assert.adb: Likewise.
7976         * a-astaco.adb: Likewise.
7977         * a-calari.adb: Likewise.
7978         * a-calcon.adb: Likewise.
7979         * a-calcon.ads: Likewise.
7980         * a-caldel.ads: Likewise.
7981         * a-calend-vms.adb: Likewise.
7982         * a-calend-vms.ads: Likewise.
7983         * a-calend.adb: Likewise.
7984         * a-calend.ads: Likewise.
7985         * a-calfor.adb: Likewise.
7986         * a-catizo.adb: Likewise.
7987         * a-cdlili.adb: Likewise.
7988         * a-cdlili.ads: Likewise.
7989         * a-cgaaso.adb: Likewise.
7990         * a-cgaaso.ads: Likewise.
7991         * a-cgarso.adb: Likewise.
7992         * a-cgcaso.adb: Likewise.
7993         * a-chacon.adb: Likewise.
7994         * a-chacon.ads: Likewise.
7995         * a-chahan.adb: Likewise.
7996         * a-chahan.ads: Likewise.
7997         * a-chlat9.ads: Likewise.
7998         * a-chtgke.adb: Likewise.
7999         * a-chtgke.ads: Likewise.
8000         * a-chtgop.adb: Likewise.
8001         * a-chtgop.ads: Likewise.
8002         * a-chzla1.ads: Likewise.
8003         * a-chzla9.ads: Likewise.
8004         * a-cidlli.adb: Likewise.
8005         * a-cidlli.ads: Likewise.
8006         * a-cihama.adb: Likewise.
8007         * a-cihama.ads: Likewise.
8008         * a-cihase.adb: Likewise.
8009         * a-cihase.ads: Likewise.
8010         * a-ciorma.adb: Likewise.
8011         * a-ciorma.ads: Likewise.
8012         * a-ciormu.adb: Likewise.
8013         * a-ciormu.ads: Likewise.
8014         * a-ciorse.adb: Likewise.
8015         * a-ciorse.ads: Likewise.
8016         * a-clrefi.adb: Likewise.
8017         * a-clrefi.ads: Likewise.
8018         * a-cohama.adb: Likewise.
8019         * a-cohama.ads: Likewise.
8020         * a-cohase.adb: Likewise.
8021         * a-cohase.ads: Likewise.
8022         * a-cohata.ads: Likewise.
8023         * a-coinve.adb: Likewise.
8024         * a-coinve.ads: Likewise.
8025         * a-colien.adb: Likewise.
8026         * a-colien.ads: Likewise.
8027         * a-colire.adb: Likewise.
8028         * a-colire.ads: Likewise.
8029         * a-comlin.adb: Likewise.
8030         * a-comlin.ads: Likewise.
8031         * a-convec.adb: Likewise.
8032         * a-convec.ads: Likewise.
8033         * a-coorma.adb: Likewise.
8034         * a-coorma.ads: Likewise.
8035         * a-coormu.adb: Likewise.
8036         * a-coormu.ads: Likewise.
8037         * a-coorse.adb: Likewise.
8038         * a-coorse.ads: Likewise.
8039         * a-coprnu.adb: Likewise.
8040         * a-coprnu.ads: Likewise.
8041         * a-crbltr.ads: Likewise.
8042         * a-crbtgk.adb: Likewise.
8043         * a-crbtgk.ads: Likewise.
8044         * a-crbtgo.adb: Likewise.
8045         * a-crbtgo.ads: Likewise.
8046         * a-crdlli.adb: Likewise.
8047         * a-crdlli.ads: Likewise.
8048         * a-cwila1.ads: Likewise.
8049         * a-cwila9.ads: Likewise.
8050         * a-decima.adb: Likewise.
8051         * a-decima.ads: Likewise.
8052         * a-diocst.adb: Likewise.
8053         * a-diocst.ads: Likewise.
8054         * a-direct.adb: Likewise.
8055         * a-direct.ads: Likewise.
8056         * a-direio.adb: Likewise.
8057         * a-direio.ads: Likewise.
8058         * a-dirval-mingw.adb: Likewise.
8059         * a-dirval-vms.adb: Likewise.
8060         * a-dirval.adb: Likewise.
8061         * a-dirval.ads: Likewise.
8062         * a-dynpri.adb: Likewise.
8063         * a-einuoc.adb: Likewise.
8064         * a-einuoc.ads: Likewise.
8065         * a-elchha.adb: Likewise.
8066         * a-elchha.ads: Likewise.
8067         * a-envvar.adb: Likewise.
8068         * a-excach.adb: Likewise.
8069         * a-except-2005.adb: Likewise.
8070         * a-except-2005.ads: Likewise.
8071         * a-except.adb: Likewise.
8072         * a-except.ads: Likewise.
8073         * a-excpol-abort.adb: Likewise.
8074         * a-excpol.adb: Likewise.
8075         * a-exctra.adb: Likewise.
8076         * a-exctra.ads: Likewise.
8077         * a-exetim-mingw.adb: Likewise.
8078         * a-exetim-mingw.ads: Likewise.
8079         * a-exexda.adb: Likewise.
8080         * a-exexpr-gcc.adb: Likewise.
8081         * a-exexpr.adb: Likewise.
8082         * a-exextr.adb: Likewise.
8083         * a-exstat.adb: Likewise.
8084         * a-filico.adb: Likewise.
8085         * a-filico.ads: Likewise.
8086         * a-finali.adb: Likewise.
8087         * a-finali.ads: Likewise.
8088         * a-interr.ads: Likewise.
8089         * a-intnam-aix.ads: Likewise.
8090         * a-intnam-darwin.ads: Likewise.
8091         * a-intnam-dummy.ads: Likewise.
8092         * a-intnam-freebsd.ads: Likewise.
8093         * a-intnam-hpux.ads: Likewise.
8094         * a-intnam-irix.ads: Likewise.
8095         * a-intnam-linux.ads: Likewise.
8096         * a-intnam-lynxos.ads: Likewise.
8097         * a-intnam-mingw.ads: Likewise.
8098         * a-intnam-rtems.ads: Likewise.
8099         * a-intnam-solaris.ads: Likewise.
8100         * a-intnam-tru64.ads: Likewise.
8101         * a-intnam-vms.ads: Likewise.
8102         * a-intnam-vxworks.ads: Likewise.
8103         * a-intsig.adb: Likewise.
8104         * a-intsig.ads: Likewise.
8105         * a-ngcefu.adb: Likewise.
8106         * a-ngcoar.adb: Likewise.
8107         * a-ngcoty.adb: Likewise.
8108         * a-ngcoty.ads: Likewise.
8109         * a-ngelfu.adb: Likewise.
8110         * a-ngrear.adb: Likewise.
8111         * a-ngrear.ads: Likewise.
8112         * a-nudira.adb: Likewise.
8113         * a-nudira.ads: Likewise.
8114         * a-nuflra.adb: Likewise.
8115         * a-nuflra.ads: Likewise.
8116         * a-numaux-darwin.adb: Likewise.
8117         * a-numaux-darwin.ads: Likewise.
8118         * a-numaux-libc-x86.ads: Likewise.
8119         * a-numaux-vxworks.ads: Likewise.
8120         * a-numaux-x86.adb: Likewise.
8121         * a-numaux-x86.ads: Likewise.
8122         * a-numaux.ads: Likewise.
8123         * a-rbtgso.adb: Likewise.
8124         * a-rbtgso.ads: Likewise.
8125         * a-reatim.ads: Likewise.
8126         * a-retide.adb: Likewise.
8127         * a-retide.ads: Likewise.
8128         * a-rttiev.adb: Likewise.
8129         * a-rttiev.ads: Likewise.
8130         * a-secain.adb: Likewise.
8131         * a-secain.ads: Likewise.
8132         * a-sequio.adb: Likewise.
8133         * a-sequio.ads: Likewise.
8134         * a-shcain.adb: Likewise.
8135         * a-shcain.ads: Likewise.
8136         * a-siocst.adb: Likewise.
8137         * a-siocst.ads: Likewise.
8138         * a-slcain.adb: Likewise.
8139         * a-slcain.ads: Likewise.
8140         * a-ssicst.adb: Likewise.
8141         * a-ssicst.ads: Likewise.
8142         * a-stboha.adb: Likewise.
8143         * a-stmaco.ads: Likewise.
8144         * a-storio.adb: Likewise.
8145         * a-strbou.adb: Likewise.
8146         * a-strbou.ads: Likewise.
8147         * a-stream.ads: Likewise.
8148         * a-strfix.adb: Likewise.
8149         * a-strhas.adb: Likewise.
8150         * a-strmap.adb: Likewise.
8151         * a-strmap.ads: Likewise.
8152         * a-strsea.adb: Likewise.
8153         * a-strsea.ads: Likewise.
8154         * a-strsup.adb: Likewise.
8155         * a-strsup.ads: Likewise.
8156         * a-strunb.adb: Likewise.
8157         * a-strunb.ads: Likewise.
8158         * a-ststio.adb: Likewise.
8159         * a-ststio.ads: Likewise.
8160         * a-stunau.adb: Likewise.
8161         * a-stunau.ads: Likewise.
8162         * a-stunha.adb: Likewise.
8163         * a-stwibo.adb: Likewise.
8164         * a-stwibo.ads: Likewise.
8165         * a-stwifi.adb: Likewise.
8166         * a-stwiha.adb: Likewise.
8167         * a-stwima.adb: Likewise.
8168         * a-stwima.ads: Likewise.
8169         * a-stwise.adb: Likewise.
8170         * a-stwise.ads: Likewise.
8171         * a-stwisu.adb: Likewise.
8172         * a-stwisu.ads: Likewise.
8173         * a-stwiun.adb: Likewise.
8174         * a-stwiun.ads: Likewise.
8175         * a-stzbou.adb: Likewise.
8176         * a-stzbou.ads: Likewise.
8177         * a-stzfix.adb: Likewise.
8178         * a-stzhas.adb: Likewise.
8179         * a-stzmap.adb: Likewise.
8180         * a-stzmap.ads: Likewise.
8181         * a-stzsea.adb: Likewise.
8182         * a-stzsea.ads: Likewise.
8183         * a-stzsup.adb: Likewise.
8184         * a-stzsup.ads: Likewise.
8185         * a-stzunb.adb: Likewise.
8186         * a-stzunb.ads: Likewise.
8187         * a-suteio.adb: Likewise.
8188         * a-suteio.ads: Likewise.
8189         * a-swbwha.adb: Likewise.
8190         * a-swmwco.ads: Likewise.
8191         * a-swunau.adb: Likewise.
8192         * a-swunau.ads: Likewise.
8193         * a-swuwha.adb: Likewise.
8194         * a-swuwti.adb: Likewise.
8195         * a-swuwti.ads: Likewise.
8196         * a-sytaco.adb: Likewise.
8197         * a-sytaco.ads: Likewise.
8198         * a-szbzha.adb: Likewise.
8199         * a-szmzco.ads: Likewise.
8200         * a-szunau.adb: Likewise.
8201         * a-szunau.ads: Likewise.
8202         * a-szuzha.adb: Likewise.
8203         * a-szuzti.adb: Likewise.
8204         * a-szuzti.ads: Likewise.
8205         * a-tags.adb: Likewise.
8206         * a-tags.ads: Likewise.
8207         * a-tasatt.ads: Likewise.
8208         * a-taside.adb: Likewise.
8209         * a-taside.ads: Likewise.
8210         * a-taster.adb: Likewise.
8211         * a-teioed.adb: Likewise.
8212         * a-teioed.ads: Likewise.
8213         * a-textio.adb: Likewise.
8214         * a-textio.ads: Likewise.
8215         * a-tiboio.adb: Likewise.
8216         * a-ticoau.adb: Likewise.
8217         * a-ticoau.ads: Likewise.
8218         * a-ticoio.adb: Likewise.
8219         * a-ticoio.ads: Likewise.
8220         * a-tideau.adb: Likewise.
8221         * a-tideau.ads: Likewise.
8222         * a-tideio.adb: Likewise.
8223         * a-tideio.ads: Likewise.
8224         * a-tienau.adb: Likewise.
8225         * a-tienau.ads: Likewise.
8226         * a-tienio.adb: Likewise.
8227         * a-tienio.ads: Likewise.
8228         * a-tifiio.adb: Likewise.
8229         * a-tifiio.ads: Likewise.
8230         * a-tiflau.adb: Likewise.
8231         * a-tiflau.ads: Likewise.
8232         * a-tiflio.adb: Likewise.
8233         * a-tiflio.ads: Likewise.
8234         * a-tigeau.adb: Likewise.
8235         * a-tigeau.ads: Likewise.
8236         * a-tiinau.adb: Likewise.
8237         * a-tiinau.ads: Likewise.
8238         * a-tiinio.adb: Likewise.
8239         * a-tiinio.ads: Likewise.
8240         * a-timoau.adb: Likewise.
8241         * a-timoau.ads: Likewise.
8242         * a-timoio.adb: Likewise.
8243         * a-timoio.ads: Likewise.
8244         * a-tiocst.adb: Likewise.
8245         * a-tiocst.ads: Likewise.
8246         * a-titest.adb: Likewise.
8247         * a-wichun.adb: Likewise.
8248         * a-wichun.ads: Likewise.
8249         * a-witeio.adb: Likewise.
8250         * a-witeio.ads: Likewise.
8251         * a-wtcoau.adb: Likewise.
8252         * a-wtcoau.ads: Likewise.
8253         * a-wtcoio.adb: Likewise.
8254         * a-wtcstr.adb: Likewise.
8255         * a-wtcstr.ads: Likewise.
8256         * a-wtdeau.adb: Likewise.
8257         * a-wtdeau.ads: Likewise.
8258         * a-wtdeio.adb: Likewise.
8259         * a-wtdeio.ads: Likewise.
8260         * a-wtedit.adb: Likewise.
8261         * a-wtedit.ads: Likewise.
8262         * a-wtenau.adb: Likewise.
8263         * a-wtenau.ads: Likewise.
8264         * a-wtenio.adb: Likewise.
8265         * a-wtenio.ads: Likewise.
8266         * a-wtfiio.adb: Likewise.
8267         * a-wtfiio.ads: Likewise.
8268         * a-wtflau.adb: Likewise.
8269         * a-wtflau.ads: Likewise.
8270         * a-wtflio.adb: Likewise.
8271         * a-wtflio.ads: Likewise.
8272         * a-wtgeau.adb: Likewise.
8273         * a-wtgeau.ads: Likewise.
8274         * a-wtinau.adb: Likewise.
8275         * a-wtinau.ads: Likewise.
8276         * a-wtinio.adb: Likewise.
8277         * a-wtmoau.adb: Likewise.
8278         * a-wtmoau.ads: Likewise.
8279         * a-wtmoio.adb: Likewise.
8280         * a-wtmoio.ads: Likewise.
8281         * a-wttest.adb: Likewise.
8282         * a-wwboio.adb: Likewise.
8283         * a-zchuni.adb: Likewise.
8284         * a-zchuni.ads: Likewise.
8285         * a-ztcoau.adb: Likewise.
8286         * a-ztcoau.ads: Likewise.
8287         * a-ztcoio.adb: Likewise.
8288         * a-ztcstr.adb: Likewise.
8289         * a-ztcstr.ads: Likewise.
8290         * a-ztdeau.adb: Likewise.
8291         * a-ztdeau.ads: Likewise.
8292         * a-ztdeio.adb: Likewise.
8293         * a-ztdeio.ads: Likewise.
8294         * a-ztedit.adb: Likewise.
8295         * a-ztedit.ads: Likewise.
8296         * a-ztenau.adb: Likewise.
8297         * a-ztenau.ads: Likewise.
8298         * a-ztenio.adb: Likewise.
8299         * a-ztenio.ads: Likewise.
8300         * a-ztexio.adb: Likewise.
8301         * a-ztexio.ads: Likewise.
8302         * a-ztfiio.adb: Likewise.
8303         * a-ztfiio.ads: Likewise.
8304         * a-ztflau.adb: Likewise.
8305         * a-ztflau.ads: Likewise.
8306         * a-ztflio.adb: Likewise.
8307         * a-ztflio.ads: Likewise.
8308         * a-ztgeau.adb: Likewise.
8309         * a-ztgeau.ads: Likewise.
8310         * a-ztinau.adb: Likewise.
8311         * a-ztinau.ads: Likewise.
8312         * a-ztinio.adb: Likewise.
8313         * a-ztmoau.adb: Likewise.
8314         * a-ztmoau.ads: Likewise.
8315         * a-ztmoio.adb: Likewise.
8316         * a-ztmoio.ads: Likewise.
8317         * a-zttest.adb: Likewise.
8318         * a-zzboio.adb: Likewise.
8319         * adadecode.c: Likewise.
8320         * adaint.c: Likewise.
8321         * adaint.h: Likewise.
8322         * alloc.ads: Likewise.
8323         * argv.c: Likewise.
8324         * arit64.c: Likewise.
8325         * atree.adb: Likewise.
8326         * atree.ads: Likewise.
8327         * aux-io.c: Likewise.
8328         * cal.c: Likewise.
8329         * casing.adb: Likewise.
8330         * casing.ads: Likewise.
8331         * cio.c: Likewise.
8332         * csets.adb: Likewise.
8333         * csets.ads: Likewise.
8334         * cstreams.c: Likewise.
8335         * ctrl_c.c: Likewise.
8336         * debug.adb: Likewise.
8337         * debug.ads: Likewise.
8338         * dec.ads: Likewise.
8339         * einfo.adb: Likewise.
8340         * einfo.ads: Likewise.
8341         * elists.adb: Likewise.
8342         * elists.ads: Likewise.
8343         * env.c: Likewise.
8344         * env.h: Likewise.
8345         * errno.c: Likewise.
8346         * exit.c: Likewise.
8347         * fe.h: Likewise.
8348         * final.c: Likewise.
8349         * fname.adb: Likewise.
8350         * fname.ads: Likewise.
8351         * g-allein.ads: Likewise.
8352         * g-alleve.adb: Likewise.
8353         * g-alleve.ads: Likewise.
8354         * g-altcon.adb: Likewise.
8355         * g-altcon.ads: Likewise.
8356         * g-altive.ads: Likewise.
8357         * g-alveop.adb: Likewise.
8358         * g-alveop.ads: Likewise.
8359         * g-alvety.ads: Likewise.
8360         * g-alvevi.ads: Likewise.
8361         * g-arrspl.adb: Likewise.
8362         * g-arrspl.ads: Likewise.
8363         * g-calend.ads: Likewise.
8364         * g-comlin.adb: Likewise.
8365         * g-debpoo.adb: Likewise.
8366         * g-debpoo.ads: Likewise.
8367         * g-eacodu-vms.adb: Likewise.
8368         * g-eacodu.adb: Likewise.
8369         * g-excact.adb: Likewise.
8370         * g-excact.ads: Likewise.
8371         * g-locfil.adb: Likewise.
8372         * g-os_lib.ads: Likewise.
8373         * g-rannum.adb: Likewise.
8374         * g-rannum.ads: Likewise.
8375         * g-regist.adb: Likewise.
8376         * g-regist.ads: Likewise.
8377         * g-signal.adb: Likewise.
8378         * g-signal.ads: Likewise.
8379         * g-soccon.ads: Likewise.
8380         * g-string.adb: Likewise.
8381         * g-string.ads: Likewise.
8382         * g-strspl.ads: Likewise.
8383         * g-timsta.adb: Likewise.
8384         * g-timsta.ads: Likewise.
8385         * g-trasym-vms-alpha.adb: Likewise.
8386         * g-trasym-vms-ia64.adb: Likewise.
8387         * g-utf_32.adb: Likewise.
8388         * g-utf_32.ads: Likewise.
8389         * g-wistsp.ads: Likewise.
8390         * g-zstspl.ads: Likewise.
8391         * gmem.c: Likewise.
8392         * gnatvsn.adb: Likewise.
8393         * gnatvsn.ads: Likewise.
8394         * gsocket.h: Likewise.
8395         * hostparm.ads: Likewise.
8396         * i-c.adb: Likewise.
8397         * i-cexten.ads: Likewise.
8398         * i-cobol.adb: Likewise.
8399         * i-cobol.ads: Likewise.
8400         * i-cpoint.adb: Likewise.
8401         * i-cpoint.ads: Likewise.
8402         * i-cpp.adb: Likewise.
8403         * i-cpp.ads: Likewise.
8404         * i-cstrea-vms.adb: Likewise.
8405         * i-cstrea.adb: Likewise.
8406         * i-cstrea.ads: Likewise.
8407         * i-cstrin.adb: Likewise.
8408         * i-cstrin.ads: Likewise.
8409         * i-forbla-darwin.adb: Likewise.
8410         * i-forbla-unimplemented.ads: Likewise.
8411         * i-forbla.adb: Likewise.
8412         * i-forbla.ads: Likewise.
8413         * i-forlap.ads: Likewise.
8414         * i-fortra.adb: Likewise.
8415         * i-pacdec.adb: Likewise.
8416         * i-pacdec.ads: Likewise.
8417         * i-vxwoio.adb: Likewise.
8418         * i-vxwoio.ads: Likewise.
8419         * indepsw-aix.adb: Likewise.
8420         * indepsw-gnu.adb: Likewise.
8421         * indepsw-mingw.adb: Likewise.
8422         * indepsw.adb: Likewise.
8423         * indepsw.ads: Likewise.
8424         * init.c: Likewise.
8425         * initialize.c: Likewise.
8426         * interfac.ads: Likewise.
8427         * krunch.adb: Likewise.
8428         * krunch.ads: Likewise.
8429         * lib-list.adb: Likewise.
8430         * lib-sort.adb: Likewise.
8431         * lib.adb: Likewise.
8432         * lib.ads: Likewise.
8433         * link.c: Likewise.
8434         * math_lib.adb: Likewise.
8435         * memtrack.adb: Likewise.
8436         * mingw32.h: Likewise.
8437         * mkdir.c: Likewise.
8438         * namet-sp.adb: Likewise.
8439         * namet-sp.ads: Likewise.
8440         * namet.adb: Likewise.
8441         * namet.ads: Likewise.
8442         * nlists.adb: Likewise.
8443         * nlists.ads: Likewise.
8444         * opt.adb: Likewise.
8445         * opt.ads: Likewise.
8446         * output.adb: Likewise.
8447         * output.ads: Likewise.
8448         * raise-gcc.c: Likewise.
8449         * raise.c: Likewise.
8450         * raise.h: Likewise.
8451         * repinfo.adb: Likewise.
8452         * repinfo.ads: Likewise.
8453         * repinfo.h: Likewise.
8454         * rident.ads: Likewise.
8455         * s-addima.adb: Likewise.
8456         * s-addima.ads: Likewise.
8457         * s-addope.adb: Likewise.
8458         * s-addope.ads: Likewise.
8459         * s-arit64.adb: Likewise.
8460         * s-arit64.ads: Likewise.
8461         * s-assert.adb: Likewise.
8462         * s-assert.ads: Likewise.
8463         * s-asthan-vms-alpha.adb: Likewise.
8464         * s-asthan.adb: Likewise.
8465         * s-asthan.ads: Likewise.
8466         * s-atacco.adb: Likewise.
8467         * s-atacco.ads: Likewise.
8468         * s-auxdec-empty.adb: Likewise.
8469         * s-auxdec-empty.ads: Likewise.
8470         * s-auxdec-vms_64.ads: Likewise.
8471         * s-auxdec.adb: Likewise.
8472         * s-auxdec.ads: Likewise.
8473         * s-bitops.adb: Likewise.
8474         * s-bitops.ads: Likewise.
8475         * s-boarop.ads: Likewise.
8476         * s-carsi8.adb: Likewise.
8477         * s-carsi8.ads: Likewise.
8478         * s-carun8.adb: Likewise.
8479         * s-carun8.ads: Likewise.
8480         * s-casi16.adb: Likewise.
8481         * s-casi16.ads: Likewise.
8482         * s-casi32.adb: Likewise.
8483         * s-casi32.ads: Likewise.
8484         * s-casi64.adb: Likewise.
8485         * s-casi64.ads: Likewise.
8486         * s-casuti.ads: Likewise.
8487         * s-caun16.adb: Likewise.
8488         * s-caun16.ads: Likewise.
8489         * s-caun32.adb: Likewise.
8490         * s-caun32.ads: Likewise.
8491         * s-caun64.adb: Likewise.
8492         * s-caun64.ads: Likewise.
8493         * s-chepoo.ads: Likewise.
8494         * s-crc32.adb: Likewise.
8495         * s-crc32.ads: Likewise.
8496         * s-crtl.ads: Likewise.
8497         * s-direio.adb: Likewise.
8498         * s-direio.ads: Likewise.
8499         * s-dsaser.ads: Likewise.
8500         * s-except.adb: Likewise.
8501         * s-except.ads: Likewise.
8502         * s-exctab.adb: Likewise.
8503         * s-exctab.ads: Likewise.
8504         * s-exnint.adb: Likewise.
8505         * s-exnint.ads: Likewise.
8506         * s-exnllf.adb: Likewise.
8507         * s-exnllf.ads: Likewise.
8508         * s-exnlli.adb: Likewise.
8509         * s-exnlli.ads: Likewise.
8510         * s-expint.adb: Likewise.
8511         * s-expint.ads: Likewise.
8512         * s-explli.adb: Likewise.
8513         * s-explli.ads: Likewise.
8514         * s-expllu.adb: Likewise.
8515         * s-expllu.ads: Likewise.
8516         * s-expmod.adb: Likewise.
8517         * s-expmod.ads: Likewise.
8518         * s-expuns.adb: Likewise.
8519         * s-expuns.ads: Likewise.
8520         * s-fatflt.ads: Likewise.
8521         * s-fatgen.adb: Likewise.
8522         * s-fatgen.ads: Likewise.
8523         * s-fatlfl.ads: Likewise.
8524         * s-fatllf.ads: Likewise.
8525         * s-fatsfl.ads: Likewise.
8526         * s-ficobl.ads: Likewise.
8527         * s-fileio.adb: Likewise.
8528         * s-fileio.ads: Likewise.
8529         * s-filofl.ads: Likewise.
8530         * s-finimp.adb: Likewise.
8531         * s-finimp.ads: Likewise.
8532         * s-finroo.adb: Likewise.
8533         * s-finroo.ads: Likewise.
8534         * s-fishfl.ads: Likewise.
8535         * s-fore.adb: Likewise.
8536         * s-fore.ads: Likewise.
8537         * s-fvadfl.ads: Likewise.
8538         * s-fvaffl.ads: Likewise.
8539         * s-fvagfl.ads: Likewise.
8540         * s-gearop.adb: Likewise.
8541         * s-gearop.ads: Likewise.
8542         * s-gecobl.adb: Likewise.
8543         * s-gecobl.ads: Likewise.
8544         * s-gecola.adb: Likewise.
8545         * s-gecola.ads: Likewise.
8546         * s-gerebl.adb: Likewise.
8547         * s-gerebl.ads: Likewise.
8548         * s-gerela.adb: Likewise.
8549         * s-gerela.ads: Likewise.
8550         * s-geveop.adb: Likewise.
8551         * s-geveop.ads: Likewise.
8552         * s-gloloc.adb: Likewise.
8553         * s-gloloc.ads: Likewise.
8554         * s-hibaen.ads: Likewise.
8555         * s-imenne.adb: Likewise.
8556         * s-imenne.ads: Likewise.
8557         * s-imgbiu.adb: Likewise.
8558         * s-imgbiu.ads: Likewise.
8559         * s-imgboo.adb: Likewise.
8560         * s-imgboo.ads: Likewise.
8561         * s-imgcha.adb: Likewise.
8562         * s-imgcha.ads: Likewise.
8563         * s-imgdec.adb: Likewise.
8564         * s-imgdec.ads: Likewise.
8565         * s-imgenu.adb: Likewise.
8566         * s-imgenu.ads: Likewise.
8567         * s-imgint.adb: Likewise.
8568         * s-imgint.ads: Likewise.
8569         * s-imgllb.adb: Likewise.
8570         * s-imgllb.ads: Likewise.
8571         * s-imglld.adb: Likewise.
8572         * s-imglld.ads: Likewise.
8573         * s-imglli.adb: Likewise.
8574         * s-imglli.ads: Likewise.
8575         * s-imgllu.adb: Likewise.
8576         * s-imgllu.ads: Likewise.
8577         * s-imgllw.adb: Likewise.
8578         * s-imgllw.ads: Likewise.
8579         * s-imgrea.adb: Likewise.
8580         * s-imgrea.ads: Likewise.
8581         * s-imguns.adb: Likewise.
8582         * s-imguns.ads: Likewise.
8583         * s-imgwch.adb: Likewise.
8584         * s-imgwch.ads: Likewise.
8585         * s-imgwiu.adb: Likewise.
8586         * s-imgwiu.ads: Likewise.
8587         * s-inmaop-dummy.adb: Likewise.
8588         * s-inmaop-vms.adb: Likewise.
8589         * s-inmaop.ads: Likewise.
8590         * s-interr-hwint.adb: Likewise.
8591         * s-interr-sigaction.adb: Likewise.
8592         * s-interr-vms.adb: Likewise.
8593         * s-interr.adb: Likewise.
8594         * s-interr.ads: Likewise.
8595         * s-intman-dummy.adb: Likewise.
8596         * s-intman-mingw.adb: Likewise.
8597         * s-intman-posix.adb: Likewise.
8598         * s-intman-solaris.adb: Likewise.
8599         * s-intman-vms.adb: Likewise.
8600         * s-intman-vms.ads: Likewise.
8601         * s-intman-vxworks.adb: Likewise.
8602         * s-intman-vxworks.ads: Likewise.
8603         * s-intman.ads: Likewise.
8604         * s-io.adb: Likewise.
8605         * s-io.ads: Likewise.
8606         * s-linux-alpha.ads: Likewise.
8607         * s-linux-hppa.ads: Likewise.
8608         * s-linux.ads: Likewise.
8609         * s-maccod.ads: Likewise.
8610         * s-mantis.adb: Likewise.
8611         * s-mantis.ads: Likewise.
8612         * s-mastop-irix.adb: Likewise.
8613         * s-mastop.adb: Likewise.
8614         * s-mastop.ads: Likewise.
8615         * s-memcop.ads: Likewise.
8616         * s-memory-mingw.adb: Likewise.
8617         * s-memory.adb: Likewise.
8618         * s-memory.ads: Likewise.
8619         * s-os_lib.ads: Likewise.
8620         * s-oscons-tmplt.c: Likewise.
8621         * s-osinte-aix.adb: Likewise.
8622         * s-osinte-darwin.adb: Likewise.
8623         * s-osinte-freebsd.adb: Likewise.
8624         * s-osinte-irix.adb: Likewise.
8625         * s-osinte-lynxos-3.adb: Likewise.
8626         * s-osinte-rtems.ads: Likewise.
8627         * s-osinte-tru64.adb: Likewise.
8628         * s-osinte-vxworks-kernel.adb: Likewise.
8629         * s-osinte-vxworks.adb: Likewise.
8630         * s-osprim-mingw.adb: Likewise.
8631         * s-osprim-posix.adb: Likewise.
8632         * s-osprim-solaris.adb: Likewise.
8633         * s-osprim-unix.adb: Likewise.
8634         * s-osprim-vms.adb: Likewise.
8635         * s-osprim-vms.ads: Likewise.
8636         * s-osprim-vxworks.adb: Likewise.
8637         * s-osprim.ads: Likewise.
8638         * s-pack03.adb: Likewise.
8639         * s-pack03.ads: Likewise.
8640         * s-pack05.adb: Likewise.
8641         * s-pack05.ads: Likewise.
8642         * s-pack06.adb: Likewise.
8643         * s-pack06.ads: Likewise.
8644         * s-pack07.adb: Likewise.
8645         * s-pack07.ads: Likewise.
8646         * s-pack09.adb: Likewise.
8647         * s-pack09.ads: Likewise.
8648         * s-pack10.adb: Likewise.
8649         * s-pack10.ads: Likewise.
8650         * s-pack11.adb: Likewise.
8651         * s-pack11.ads: Likewise.
8652         * s-pack12.adb: Likewise.
8653         * s-pack12.ads: Likewise.
8654         * s-pack13.adb: Likewise.
8655         * s-pack13.ads: Likewise.
8656         * s-pack14.adb: Likewise.
8657         * s-pack14.ads: Likewise.
8658         * s-pack15.adb: Likewise.
8659         * s-pack15.ads: Likewise.
8660         * s-pack17.adb: Likewise.
8661         * s-pack17.ads: Likewise.
8662         * s-pack18.adb: Likewise.
8663         * s-pack18.ads: Likewise.
8664         * s-pack19.adb: Likewise.
8665         * s-pack19.ads: Likewise.
8666         * s-pack20.adb: Likewise.
8667         * s-pack20.ads: Likewise.
8668         * s-pack21.adb: Likewise.
8669         * s-pack21.ads: Likewise.
8670         * s-pack22.adb: Likewise.
8671         * s-pack22.ads: Likewise.
8672         * s-pack23.adb: Likewise.
8673         * s-pack23.ads: Likewise.
8674         * s-pack24.adb: Likewise.
8675         * s-pack24.ads: Likewise.
8676         * s-pack25.adb: Likewise.
8677         * s-pack25.ads: Likewise.
8678         * s-pack26.adb: Likewise.
8679         * s-pack26.ads: Likewise.
8680         * s-pack27.adb: Likewise.
8681         * s-pack27.ads: Likewise.
8682         * s-pack28.adb: Likewise.
8683         * s-pack28.ads: Likewise.
8684         * s-pack29.adb: Likewise.
8685         * s-pack29.ads: Likewise.
8686         * s-pack30.adb: Likewise.
8687         * s-pack30.ads: Likewise.
8688         * s-pack31.adb: Likewise.
8689         * s-pack31.ads: Likewise.
8690         * s-pack33.adb: Likewise.
8691         * s-pack33.ads: Likewise.
8692         * s-pack34.adb: Likewise.
8693         * s-pack34.ads: Likewise.
8694         * s-pack35.adb: Likewise.
8695         * s-pack35.ads: Likewise.
8696         * s-pack36.adb: Likewise.
8697         * s-pack36.ads: Likewise.
8698         * s-pack37.adb: Likewise.
8699         * s-pack37.ads: Likewise.
8700         * s-pack38.adb: Likewise.
8701         * s-pack38.ads: Likewise.
8702         * s-pack39.adb: Likewise.
8703         * s-pack39.ads: Likewise.
8704         * s-pack40.adb: Likewise.
8705         * s-pack40.ads: Likewise.
8706         * s-pack41.adb: Likewise.
8707         * s-pack41.ads: Likewise.
8708         * s-pack42.adb: Likewise.
8709         * s-pack42.ads: Likewise.
8710         * s-pack43.adb: Likewise.
8711         * s-pack43.ads: Likewise.
8712         * s-pack44.adb: Likewise.
8713         * s-pack44.ads: Likewise.
8714         * s-pack45.adb: Likewise.
8715         * s-pack45.ads: Likewise.
8716         * s-pack46.adb: Likewise.
8717         * s-pack46.ads: Likewise.
8718         * s-pack47.adb: Likewise.
8719         * s-pack47.ads: Likewise.
8720         * s-pack48.adb: Likewise.
8721         * s-pack48.ads: Likewise.
8722         * s-pack49.adb: Likewise.
8723         * s-pack49.ads: Likewise.
8724         * s-pack50.adb: Likewise.
8725         * s-pack50.ads: Likewise.
8726         * s-pack51.adb: Likewise.
8727         * s-pack51.ads: Likewise.
8728         * s-pack52.adb: Likewise.
8729         * s-pack52.ads: Likewise.
8730         * s-pack53.adb: Likewise.
8731         * s-pack53.ads: Likewise.
8732         * s-pack54.adb: Likewise.
8733         * s-pack54.ads: Likewise.
8734         * s-pack55.adb: Likewise.
8735         * s-pack55.ads: Likewise.
8736         * s-pack56.adb: Likewise.
8737         * s-pack56.ads: Likewise.
8738         * s-pack57.adb: Likewise.
8739         * s-pack57.ads: Likewise.
8740         * s-pack58.adb: Likewise.
8741         * s-pack58.ads: Likewise.
8742         * s-pack59.adb: Likewise.
8743         * s-pack59.ads: Likewise.
8744         * s-pack60.adb: Likewise.
8745         * s-pack60.ads: Likewise.
8746         * s-pack61.adb: Likewise.
8747         * s-pack61.ads: Likewise.
8748         * s-pack62.adb: Likewise.
8749         * s-pack62.ads: Likewise.
8750         * s-pack63.adb: Likewise.
8751         * s-pack63.ads: Likewise.
8752         * s-parame-ae653.ads: Likewise.
8753         * s-parame-hpux.ads: Likewise.
8754         * s-parame-rtems.adb: Likewise.
8755         * s-parame-vms-alpha.ads: Likewise.
8756         * s-parame-vms-ia64.ads: Likewise.
8757         * s-parame-vms-restrict.ads: Likewise.
8758         * s-parame-vxworks.adb: Likewise.
8759         * s-parame-vxworks.ads: Likewise.
8760         * s-parame.adb: Likewise.
8761         * s-parame.ads: Likewise.
8762         * s-parint.adb: Likewise.
8763         * s-parint.ads: Likewise.
8764         * s-pooglo.adb: Likewise.
8765         * s-pooglo.ads: Likewise.
8766         * s-pooloc.adb: Likewise.
8767         * s-pooloc.ads: Likewise.
8768         * s-poosiz.adb: Likewise.
8769         * s-poosiz.ads: Likewise.
8770         * s-powtab.ads: Likewise.
8771         * s-proinf-irix-athread.adb: Likewise.
8772         * s-proinf-irix-athread.ads: Likewise.
8773         * s-proinf.adb: Likewise.
8774         * s-proinf.ads: Likewise.
8775         * s-purexc.ads: Likewise.
8776         * s-rannum.adb: Likewise.
8777         * s-rannum.ads: Likewise.
8778         * s-restri.adb: Likewise.
8779         * s-restri.ads: Likewise.
8780         * s-rident.ads: Likewise.
8781         * s-rpc.adb: Likewise.
8782         * s-rpc.ads: Likewise.
8783         * s-scaval.adb: Likewise.
8784         * s-scaval.ads: Likewise.
8785         * s-secsta.adb: Likewise.
8786         * s-secsta.ads: Likewise.
8787         * s-sequio.adb: Likewise.
8788         * s-sequio.ads: Likewise.
8789         * s-shasto.adb: Likewise.
8790         * s-shasto.ads: Likewise.
8791         * s-soflin.adb: Likewise.
8792         * s-soflin.ads: Likewise.
8793         * s-solita.adb: Likewise.
8794         * s-solita.ads: Likewise.
8795         * s-sopco3.adb: Likewise.
8796         * s-sopco3.ads: Likewise.
8797         * s-sopco4.adb: Likewise.
8798         * s-sopco4.ads: Likewise.
8799         * s-sopco5.adb: Likewise.
8800         * s-sopco5.ads: Likewise.
8801         * s-stache.adb: Likewise.
8802         * s-stache.ads: Likewise.
8803         * s-stalib.adb: Likewise.
8804         * s-stalib.ads: Likewise.
8805         * s-stausa.adb: Likewise.
8806         * s-stausa.ads: Likewise.
8807         * s-stchop-limit.ads: Likewise.
8808         * s-stchop-rtems.adb: Likewise.
8809         * s-stchop-vxworks.adb: Likewise.
8810         * s-stchop.adb: Likewise.
8811         * s-stchop.ads: Likewise.
8812         * s-stoele.adb: Likewise.
8813         * s-stoele.ads: Likewise.
8814         * s-stopoo.adb: Likewise.
8815         * s-stopoo.ads: Likewise.
8816         * s-stratt.adb: Likewise.
8817         * s-stratt.ads: Likewise.
8818         * s-strcom.adb: Likewise.
8819         * s-strcom.ads: Likewise.
8820         * s-string.adb: Likewise.
8821         * s-string.ads: Likewise.
8822         * s-strops.adb: Likewise.
8823         * s-strops.ads: Likewise.
8824         * s-strxdr.adb: Likewise.
8825         * s-ststop.adb: Likewise.
8826         * s-ststop.ads: Likewise.
8827         * s-taasde.adb: Likewise.
8828         * s-taasde.ads: Likewise.
8829         * s-tadeca.adb: Likewise.
8830         * s-tadeca.ads: Likewise.
8831         * s-tadert.adb: Likewise.
8832         * s-tadert.ads: Likewise.
8833         * s-taenca.adb: Likewise.
8834         * s-taenca.ads: Likewise.
8835         * s-taprob.ads: Likewise.
8836         * s-taprop-dummy.adb: Likewise.
8837         * s-taprop-hpux-dce.adb: Likewise.
8838         * s-taprop-irix.adb: Likewise.
8839         * s-taprop-linux.adb: Likewise.
8840         * s-taprop-lynxos.adb: Likewise.
8841         * s-taprop-mingw.adb: Likewise.
8842         * s-taprop-posix.adb: Likewise.
8843         * s-taprop-solaris.adb: Likewise.
8844         * s-taprop-tru64.adb: Likewise.
8845         * s-taprop-vms.adb: Likewise.
8846         * s-taprop-vxworks.adb: Likewise.
8847         * s-taprop.ads: Likewise.
8848         * s-tarest.adb: Likewise.
8849         * s-tarest.ads: Likewise.
8850         * s-tasdeb.adb: Likewise.
8851         * s-tasdeb.ads: Likewise.
8852         * s-tasinf-irix.ads: Likewise.
8853         * s-tasinf-linux.adb: Likewise.
8854         * s-tasinf-linux.ads: Likewise.
8855         * s-tasinf-mingw.adb: Likewise.
8856         * s-tasinf-mingw.ads: Likewise.
8857         * s-tasinf-solaris.adb: Likewise.
8858         * s-tasinf-solaris.ads: Likewise.
8859         * s-tasinf-tru64.ads: Likewise.
8860         * s-tasinf.adb: Likewise.
8861         * s-tasinf.ads: Likewise.
8862         * s-tasini.adb: Likewise.
8863         * s-tasini.ads: Likewise.
8864         * s-taskin.adb: Likewise.
8865         * s-taskin.ads: Likewise.
8866         * s-taspri-dummy.ads: Likewise.
8867         * s-taspri-hpux-dce.ads: Likewise.
8868         * s-taspri-mingw.ads: Likewise.
8869         * s-taspri-solaris.ads: Likewise.
8870         * s-taspri-tru64.ads: Likewise.
8871         * s-taspri-vms.ads: Likewise.
8872         * s-taspri-vxworks.ads: Likewise.
8873         * s-tasque.adb: Likewise.
8874         * s-tasque.ads: Likewise.
8875         * s-tasren.adb: Likewise.
8876         * s-tasren.ads: Likewise.
8877         * s-tasres.ads: Likewise.
8878         * s-tassta.adb: Likewise.
8879         * s-tassta.ads: Likewise.
8880         * s-tasuti.adb: Likewise.
8881         * s-tasuti.ads: Likewise.
8882         * s-tfsetr-default.adb: Likewise.
8883         * s-tfsetr-vxworks.adb: Likewise.
8884         * s-tpinop.adb: Likewise.
8885         * s-tpinop.ads: Likewise.
8886         * s-tpoben.adb: Likewise.
8887         * s-tpoben.ads: Likewise.
8888         * s-tpobop.adb: Likewise.
8889         * s-tpobop.ads: Likewise.
8890         * s-tpopde-vms.adb: Likewise.
8891         * s-tpopde-vms.ads: Likewise.
8892         * s-tpopsp-lynxos.adb: Likewise.
8893         * s-tpopsp-posix-foreign.adb: Likewise.
8894         * s-tpopsp-posix.adb: Likewise.
8895         * s-tpopsp-solaris.adb: Likewise.
8896         * s-tpopsp-vxworks.adb: Likewise.
8897         * s-tporft.adb: Likewise.
8898         * s-tposen.adb: Likewise.
8899         * s-tposen.ads: Likewise.
8900         * s-traceb.adb: Likewise.
8901         * s-traceb.ads: Likewise.
8902         * s-traces-default.adb: Likewise.
8903         * s-traces.adb: Likewise.
8904         * s-traces.ads: Likewise.
8905         * s-traent-vms.adb: Likewise.
8906         * s-traent-vms.ads: Likewise.
8907         * s-traent.adb: Likewise.
8908         * s-traent.ads: Likewise.
8909         * s-trafor-default.adb: Likewise.
8910         * s-trafor-default.ads: Likewise.
8911         * s-tratas-default.adb: Likewise.
8912         * s-tratas.adb: Likewise.
8913         * s-tratas.ads: Likewise.
8914         * s-unstyp.ads: Likewise.
8915         * s-utf_32.adb: Likewise.
8916         * s-utf_32.ads: Likewise.
8917         * s-vaflop-vms-alpha.adb: Likewise.
8918         * s-vaflop.adb: Likewise.
8919         * s-vaflop.ads: Likewise.
8920         * s-valboo.adb: Likewise.
8921         * s-valboo.ads: Likewise.
8922         * s-valcha.adb: Likewise.
8923         * s-valcha.ads: Likewise.
8924         * s-valdec.adb: Likewise.
8925         * s-valdec.ads: Likewise.
8926         * s-valenu.adb: Likewise.
8927         * s-valenu.ads: Likewise.
8928         * s-valint.adb: Likewise.
8929         * s-valint.ads: Likewise.
8930         * s-vallld.adb: Likewise.
8931         * s-vallld.ads: Likewise.
8932         * s-vallli.adb: Likewise.
8933         * s-vallli.ads: Likewise.
8934         * s-valllu.adb: Likewise.
8935         * s-valllu.ads: Likewise.
8936         * s-valrea.adb: Likewise.
8937         * s-valrea.ads: Likewise.
8938         * s-valuns.adb: Likewise.
8939         * s-valuns.ads: Likewise.
8940         * s-valuti.adb: Likewise.
8941         * s-valuti.ads: Likewise.
8942         * s-valwch.adb: Likewise.
8943         * s-valwch.ads: Likewise.
8944         * s-veboop.adb: Likewise.
8945         * s-veboop.ads: Likewise.
8946         * s-vector.ads: Likewise.
8947         * s-vercon.adb: Likewise.
8948         * s-vercon.ads: Likewise.
8949         * s-vmexta.adb: Likewise.
8950         * s-vmexta.ads: Likewise.
8951         * s-vxwext-kernel.ads: Likewise.
8952         * s-vxwext-rtp.adb: Likewise.
8953         * s-vxwext-rtp.ads: Likewise.
8954         * s-vxwext.ads: Likewise.
8955         * s-vxwork-arm.ads: Likewise.
8956         * s-vxwork-m68k.ads: Likewise.
8957         * s-vxwork-mips.ads: Likewise.
8958         * s-vxwork-ppc.ads: Likewise.
8959         * s-vxwork-sparcv9.ads: Likewise.
8960         * s-vxwork-x86.ads: Likewise.
8961         * s-wchcnv.adb: Likewise.
8962         * s-wchcnv.ads: Likewise.
8963         * s-wchcon.adb: Likewise.
8964         * s-wchcon.ads: Likewise.
8965         * s-wchjis.adb: Likewise.
8966         * s-wchjis.ads: Likewise.
8967         * s-wchstw.adb: Likewise.
8968         * s-wchstw.ads: Likewise.
8969         * s-wchwts.adb: Likewise.
8970         * s-wchwts.ads: Likewise.
8971         * s-widboo.adb: Likewise.
8972         * s-widboo.ads: Likewise.
8973         * s-widcha.adb: Likewise.
8974         * s-widcha.ads: Likewise.
8975         * s-widenu.adb: Likewise.
8976         * s-widenu.ads: Likewise.
8977         * s-widlli.adb: Likewise.
8978         * s-widlli.ads: Likewise.
8979         * s-widllu.adb: Likewise.
8980         * s-widllu.ads: Likewise.
8981         * s-widwch.adb: Likewise.
8982         * s-widwch.ads: Likewise.
8983         * s-win32.ads: Likewise.
8984         * s-winext.ads: Likewise.
8985         * s-wwdcha.adb: Likewise.
8986         * s-wwdcha.ads: Likewise.
8987         * s-wwdenu.adb: Likewise.
8988         * s-wwdenu.ads: Likewise.
8989         * s-wwdwch.adb: Likewise.
8990         * s-wwdwch.ads: Likewise.
8991         * scans.adb: Likewise.
8992         * scans.ads: Likewise.
8993         * seh_init.c: Likewise.
8994         * sfn_scan.adb: Likewise.
8995         * sinfo.adb: Likewise.
8996         * sinfo.ads: Likewise.
8997         * sinput.adb: Likewise.
8998         * sinput.ads: Likewise.
8999         * snames.adb: Likewise.
9000         * snames.ads: Likewise.
9001         * socket.c: Likewise.
9002         * stand.adb: Likewise.
9003         * stand.ads: Likewise.
9004         * stringt.adb: Likewise.
9005         * stringt.ads: Likewise.
9006         * sysdep.c: Likewise.
9007         * system-aix.ads: Likewise.
9008         * system-darwin-ppc.ads: Likewise.
9009         * system-darwin-x86.ads: Likewise.
9010         * system-darwin-x86_64.ads: Likewise.
9011         * system-freebsd-x86.ads: Likewise.
9012         * system-hpux-ia64.ads: Likewise.
9013         * system-hpux.ads: Likewise.
9014         * system-irix-n32.ads: Likewise.
9015         * system-irix-n64.ads: Likewise.
9016         * system-irix-o32.ads: Likewise.
9017         * system-linux-alpha.ads: Likewise.
9018         * system-linux-hppa.ads: Likewise.
9019         * system-linux-ia64.ads: Likewise.
9020         * system-linux-mips.ads: Likewise.
9021         * system-linux-mipsel.ads: Likewise.
9022         * system-linux-ppc.ads: Likewise.
9023         * system-linux-ppc64.ads: Likewise.
9024         * system-linux-s390.ads: Likewise.
9025         * system-linux-s390x.ads: Likewise.
9026         * system-linux-sh4.ads: Likewise.
9027         * system-linux-sparc.ads: Likewise.
9028         * system-linux-sparcv9.ads: Likewise.
9029         * system-linux-x86.ads: Likewise.
9030         * system-linux-x86_64.ads: Likewise.
9031         * system-lynxos-ppc.ads: Likewise.
9032         * system-lynxos-x86.ads: Likewise.
9033         * system-mingw-x86_64.ads: Likewise.
9034         * system-mingw.ads: Likewise.
9035         * system-rtems.ads: Likewise.
9036         * system-solaris-sparc.ads: Likewise.
9037         * system-solaris-sparcv9.ads: Likewise.
9038         * system-solaris-x86.ads: Likewise.
9039         * system-solaris-x86_64.ads: Likewise.
9040         * system-tru64.ads: Likewise.
9041         * system-vms-ia64.ads: Likewise.
9042         * system-vms-zcx.ads: Likewise.
9043         * system-vms.ads: Likewise.
9044         * system-vms_64.ads: Likewise.
9045         * system-vxworks-arm.ads: Likewise.
9046         * system-vxworks-m68k.ads: Likewise.
9047         * system-vxworks-mips.ads: Likewise.
9048         * system-vxworks-ppc.ads: Likewise.
9049         * system-vxworks-sparcv9.ads: Likewise.
9050         * system-vxworks-x86.ads: Likewise.
9051         * system.ads: Likewise.
9052         * table.adb: Likewise.
9053         * table.ads: Likewise.
9054         * targext.c: Likewise.
9055         * targparm.ads: Likewise.
9056         * tree_in.adb: Likewise.
9057         * tree_in.ads: Likewise.
9058         * tree_io.adb: Likewise.
9059         * tree_io.ads: Likewise.
9060         * types.adb: Likewise.
9061         * types.ads: Likewise.
9062         * uintp.adb: Likewise.
9063         * uintp.ads: Likewise.
9064         * uname.adb: Likewise.
9065         * uname.ads: Likewise.
9066         * urealp.adb: Likewise.
9067         * urealp.ads: Likewise.
9068         * vx_stack_info.c: Likewise.
9069         * widechar.adb: Likewise.
9070         * widechar.ads: Likewise.
9071         * exp_attr.adb: Change copyright header to refer to version
9072         3 of the GNU General Public License and to point readers at the
9073         COPYING3 file and the FSF's license web page.
9074         * sem.adb: Likewise.
9075         * sem_attr.ads: Likewise.
9076         * freeze.adb: Likewise.
9077         * freeze.ads: Likewise.
9078         * errout.ads: Likewise.
9079         * erroutc.adb: Likewise.
9080         * exp_ch11.ads: Likewise.
9081
9082 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
9083
9084         * config-lang.in: Change copyright header to refer to version
9085         3 of the GNU General Public License and to point readers at the
9086         COPYING3 file and the FSF's license web page.
9087         * gcc-interface/trans.c: Likewise.
9088         * gnathtml.pl: Likewise.
9089         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
9090         * gcc-interface/gigi.h: Likewise.
9091         * gcc-interface/misc.c: Likewise.
9092         * gcc-interface/targtyps.c: Likewise.
9093
9094 2009-04-09  Nicolas Setton  <setton@adacore.com>
9095
9096         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
9097
9098         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
9099         struct_timeval.
9100
9101 2009-04-09  Bob Duff  <duff@adacore.com>
9102
9103         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
9104         internally-generated nodes related to select statements to avoid
9105         confusing the debugger.
9106
9107 2009-04-09  Pascal Obry  <obry@adacore.com>
9108
9109         * make.adb: Ensure that all linker arguments are duplicated.
9110
9111 2009-04-09  Robert Dewar  <dewar@adacore.com>
9112
9113         * sem_ch5.adb: Minor reformatting
9114
9115 2009-04-09  Vincent Celier  <celier@adacore.com>
9116
9117         * vms_data.ads:
9118         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
9119         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
9120         New qualifier /LXDEBUG=nnn for -gnatDnnn
9121         For H820-010
9122
9123         * gnat_ugn.texi:
9124         Update documentation for VMS qualifiers equivalent to -gnatGnn and
9125         -gnatDnn
9126
9127 2009-04-09  Nicolas Setton  <setton@adacore.com>
9128
9129         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
9130         to match layout of siginfo_t in sys/signal.h.
9131
9132         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
9133
9134 2009-04-09  Thomas Quinot  <quinot@adacore.com>
9135
9136         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
9137
9138 2009-04-09  Nicolas Setton  <setton@adacore.com>
9139
9140         * s-oscons-tmplt.c: Allow long lines in the generated spec.
9141         Add generation of Darwin-specific constants needed when binding to the
9142         pthread library.
9143
9144 2009-04-09  Robert Dewar  <dewar@adacore.com>
9145
9146         * checks.adb:
9147         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
9148         when no invalid values exist, Avoid duplicate read of atomic variable.
9149
9150         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
9151         (Standard_Unsigned): Set Is_Known_Valid
9152
9153         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
9154         subtype declaration if no constraint.
9155         (Set_Modular_Size): Set Is_Known_Valid if appropriate
9156         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
9157
9158 2009-04-09  Robert Dewar  <dewar@adacore.com>
9159
9160         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
9161         switch.ads: for numeric switches, an optional equal sign is always
9162         allowed.
9163
9164 2009-04-09  Vincent Celier  <celier@adacore.com>
9165
9166         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
9167         the case of file names is not significant.
9168
9169 2009-04-09  Vincent Celier  <celier@adacore.com>
9170
9171         * errout.adb: Remove dependency on package Style
9172
9173         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
9174         moved to Stylesw.
9175         
9176         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
9177         Styleg.
9178
9179         * errutil.adb, par.adb: Import Stylesw
9180
9181 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
9182
9183         * opt.ads: Fix typos.
9184
9185 2009-04-09  Robert Dewar  <dewar@adacore.com>
9186
9187         * einfo.adb: Minor reformatting
9188
9189 2009-04-09  Robert Dewar  <dewar@adacore.com>
9190
9191         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
9192         units.
9193
9194         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
9195
9196 2009-04-09  Robert Dewar  <dewar@adacore.com>
9197
9198         * g-comver.adb: Minor reformatting.
9199
9200 2009-04-09  Thomas Quinot  <quinot@adacore.com>
9201
9202         * lib-load.ads (Load_Unit): Update documentation.
9203
9204 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
9205
9206         * lib-load.adb (Load_Unit): When loading the parent of a child unit
9207         named in a with_clause, retain the with_clause to preserve a
9208         limited_with indication.
9209
9210 2009-04-09  Robert Dewar  <dewar@adacore.com>
9211
9212         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
9213         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
9214         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
9215         possible to replace an OR of two separate tests.
9216
9217 2009-04-09  Robert Dewar  <dewar@adacore.com>
9218
9219         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
9220         Maximum_Messages.
9221         
9222         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
9223         warning status as well.
9224         
9225         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
9226         
9227         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
9228         Maximum_Messages.
9229         
9230         * bindusg.adb, usage.adb: Update line for -gnatm switch
9231
9232         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
9233         -mnn binder switch.
9234
9235 2009-04-09  Robert Dewar  <dewar@adacore.com>
9236
9237         * sem_ch10.adb: Minor reformatting.
9238
9239 2009-04-09  Bob Duff  <duff@adacore.com>
9240
9241         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
9242         Set Sloc of generated nodes for calls to Undefer_Aborts and
9243         Save_Occurrence to No_Location, so the debugger ignores them and
9244         therefore does not jump back and forth when single stepping.
9245
9246 2009-04-09  Robert Dewar  <dewar@adacore.com>
9247
9248         * switch-b.adb: Minor reformatting.
9249
9250 2009-04-09  Robert Dewar  <dewar@adacore.com>
9251
9252         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
9253         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
9254         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
9255         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
9256         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
9257         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
9258         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
9259         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
9260         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
9261         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
9262         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
9263
9264 2009-04-09  Robert Dewar  <dewar@adacore.com>
9265
9266         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
9267
9268         * atree.h: Add Elist26
9269
9270         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
9271         backends.
9272
9273 2009-04-09  Javier Miranda  <miranda@adacore.com>
9274
9275         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
9276         retrieve from the Dispatch_Table_Wrappers list the external name.
9277         Addition of documentation.
9278         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
9279         used to export secondary dispatch tables (in the previous version of
9280         the frontend only primary dispatch tables were exported). Addition of
9281         documentation.
9282         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
9283         dispatch table of a given tagged type. 
9284         (Make_Tags): Modified to import secondary dispatch tables.
9285
9286         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
9287         (Constant_Redeclaration): Code cleanup.
9288
9289         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
9290         Dispatch_Table_Wrappers.  Update documentation.
9291
9292         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
9293         Renamed to Dispatch_Table_Wrappers.
9294
9295         * sem_util.adb (Collect_Interface_Components): Improve handling of
9296         private types.
9297
9298         * atree.ads (Elist26, Set_Elist26): New subprograms
9299
9300         * atree.adb (Elist26, Set_Elist26): New subprograms
9301
9302 2009-04-09  Javier Miranda  <miranda@adacore.com>
9303
9304         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
9305         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
9306         tagged types.
9307
9308 2009-04-09  Robert Dewar  <dewar@adacore.com>
9309
9310         * s-direio.adb: Minor reformatting
9311
9312         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
9313
9314 2009-04-09  Robert Dewar  <dewar@adacore.com>
9315
9316         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
9317
9318 2009-04-09  Pascal Obry  <obry@adacore.com>
9319
9320         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
9321         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
9322         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
9323         a-filico.ads: Add some missing overriding keywords.
9324
9325 2009-04-09  Pascal Obry  <obry@adacore.com>
9326
9327         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
9328         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
9329         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
9330         reformatting.
9331
9332 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
9333
9334         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
9335         missing overriding indicator if the new declaration is not seen as
9336         primitive.
9337
9338 2009-04-09  Thomas Quinot  <quinot@adacore.com>
9339
9340         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
9341         overflows in computation of bounds.
9342
9343 2009-04-09  Pascal Obry  <obry@adacore.com>
9344
9345         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
9346         typos in comment.
9347
9348 2009-04-09  Robert Dewar  <dewar@adacore.com>
9349
9350         * sem_attr.adb (Check_Stream_Attribute): Check violation of
9351         restriction No_Streams
9352
9353         * gnat_rm.texi: Clarify No_Streams restriction
9354
9355         * g-socket.adb: Minor reformatting.
9356
9357 2009-04-09  Thomas Quinot  <quinot@adacore.com>
9358
9359         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
9360
9361 2009-04-09  Geert Bosch  <bosch@adacore.com>
9362
9363         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
9364         (Set_Result): Likewise.
9365         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
9366         conversion, as required by RM 4.6(31).
9367
9368 2009-04-08  Robert Dewar  <dewar@adacore.com>
9369
9370         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
9371         suppressed.
9372         
9373         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
9374         resolution steps.
9375
9376 2009-04-08  Robert Dewar  <dewar@adacore.com>
9377
9378         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
9379         No_Local_Allocators restriction preventing local instantiation.
9380
9381 2009-04-08  Thomas Quinot  <quinot@adacore.com>
9382
9383         * sem_eval.adb: Minor comment fix
9384
9385 2009-04-08  Thomas Quinot  <quinot@adacore.com>
9386
9387         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
9388         New limited controlled type used to automate the initialization and
9389         finalization of the sockets implementation.
9390         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
9391
9392 2009-04-08  Vincent Celier  <celier@adacore.com>
9393
9394         * prj-attr.adb: New read-only project-level attribute Project_Dir
9395
9396         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
9397         read-only attribute of the same name.
9398         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
9399         (Recursive_Process): Ditto
9400
9401         * snames.adb: Add new standard name Project_Dir
9402
9403         * snames.ads: Add new standard name Project_Dir
9404
9405 2009-04-08  Thomas Quinot  <quinot@adacore.com>
9406
9407         * checks.adb: Minor reformatting
9408
9409 2009-04-08  Vincent Celier  <celier@adacore.com>
9410
9411         * vms_data.ads: Add documentation for new style keyword
9412         OVERRIDING_INDICATORS
9413
9414 2009-04-08  Robert Dewar  <dewar@adacore.com>
9415
9416         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
9417         spec is in the current unit.
9418
9419 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
9420
9421         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
9422         presence of entity.
9423
9424         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
9425
9426 2009-04-08  Vincent Celier  <celier@adacore.com>
9427
9428         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
9429
9430 2009-04-08  Thomas Quinot  <quinot@adacore.com>
9431
9432         * checks.ads: Minor reformatting
9433
9434 2009-04-08  Robert Dewar  <dewar@adacore.com>
9435
9436         * gnat_rm.texi: Update documentation of pragma Obsolescent
9437         
9438         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
9439         be omitted, and allow Entity parameter to be omitted.
9440
9441 2009-04-08  Thomas Quinot  <quinot@adacore.com>
9442
9443         * exp_util.adb: Minor comment fix
9444
9445 2009-04-08  Robert Dewar  <dewar@adacore.com>
9446
9447         * g-socket.ads: Fix bad syntax in pragma Obsolescent
9448
9449         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
9450         argument with no identifier following one that has an identifier. Was
9451         missed in some cases.
9452
9453         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
9454         identifier.
9455         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
9456
9457         * snames.adb: Add Name_Policy
9458
9459         * snames.ads: Add Name_Policy
9460
9461 2009-04-08  Robert Dewar  <dewar@adacore.com>
9462
9463         * gnat_rm.texi: Minor reformatting
9464
9465         * par-ch2.adb: Minor reformatting
9466
9467 2009-04-08  Robert Dewar  <dewar@adacore.com>
9468
9469         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
9470
9471 2009-04-08  Robert Dewar  <dewar@adacore.com>
9472
9473         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
9474         properly in the presence of Remote_Types or Remote_Call_Interface.
9475
9476         * sem_util.adb: Add comment.
9477
9478 2009-04-08  Robert Dewar  <dewar@adacore.com>
9479
9480         * ug_words: Add /ASSUME_VALID for -gnatB
9481
9482         * vms_data.ads: Add /ASSUME_VALID for -gnatB
9483
9484         * sem_cat.adb: Add clarifying commment
9485
9486         * a-direio.ads (Bytes): Make sure value is non-zero
9487
9488 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
9489
9490         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
9491         that does not come from source, check for a rewritten function call in
9492         prefixed notation before other forms of rewriting.
9493
9494 2009-04-08  Robert Dewar  <dewar@adacore.com>
9495
9496         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
9497         these are now obsolescent units used only for bootrapping with an
9498         older compiler.
9499
9500 2009-04-08  Robert Dewar  <dewar@adacore.com>
9501
9502         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
9503
9504         * sem_ch3.adb: Minor comment updates
9505
9506 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
9507
9508         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
9509         that come from source.
9510
9511 2009-04-08  Tristan Gingold  <gingold@adacore.com>
9512
9513         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
9514         * gcc-interface/decl.c (prepend_attributes): New case
9515         Pragma_Thread_Local_Storage.
9516         * gcc-interface/utils.c (process_attributes): New case
9517         ATTR_THREAD_LOCAL_STORAGE.
9518
9519 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
9520
9521         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
9522         by the back-end if it contains a call to a subprogram without a
9523         previous spec that is declared in the same unit.
9524
9525         * errout.ads: Update comments on uses of dirs
9526
9527 2009-04-08  Robert Dewar  <dewar@adacore.com>
9528
9529         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
9530
9531 2009-04-08  Tristan Gingold  <gingold@adacore.com>
9532
9533         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
9534         variables.
9535         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
9536
9537 2009-04-08  Vincent Celier  <celier@adacore.com>
9538
9539         * prj-nmsc.adb:
9540         (Add_Source): Add the mapping of the unit name to source file name in
9541         the Unit_Sources_HT hash table, if the unit name is not null.
9542
9543         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
9544
9545         * prj.ads (Unit_Sources_Htable): New hash table instantiation
9546         (Project_Tree_Data): New component Unit_Sources_HT
9547
9548 2009-04-08  Thomas Quinot  <quinot@adacore.com>
9549
9550         * sem_ch8.adb: Minor reformatting.
9551         Minor code reorganization.
9552
9553 2009-04-08  Robert Dewar  <dewar@adacore.com>
9554
9555         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
9556         snames.ads, freeze.adb, par-prag.adb: Add implementation of
9557         pragma Thread_Local_Storage, setting new flag
9558         Has_Pragma_Thread_Local_Storage in corresponding entities.
9559
9560 2009-04-08  Emmanuel Briot  <briot@adacore.com>
9561
9562         * prj.ads: Update comment on switches file
9563
9564         * prj-nmsc.adb: Code clean up. Use renaming clauses.
9565
9566 2009-04-08  Robert Dewar  <dewar@adacore.com>
9567
9568         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
9569
9570 2009-04-08  Thomas Quinot  <quinot@adacore.com>
9571
9572         * ali-util.adb: Minor comment fix
9573
9574 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
9575
9576         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
9577         appears in a context clause, and the enclosing package is mentioned in
9578         a limited_with_clause.
9579         (Use_One_Type): Reject clause if type is still incomplete.
9580
9581 2009-04-08  Emmanuel Briot  <briot@adacore.com>
9582
9583         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
9584         avoid copies of Source_Data variables when possible, since these
9585         involve calls to memcpy() which are done too many times.
9586
9587 2009-04-08  Robert Dewar  <dewar@adacore.com>
9588
9589         * exp_ch4.adb (Expand_Concatenate): Clean up code
9590
9591 2009-04-07  Thomas Quinot  <quinot@adacore.com>
9592
9593         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
9594         type for the case of concatenating a constrained array indexed by an
9595         enumeration type.
9596
9597 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
9598
9599         * sem_ch6.adb (Check_Conformance): when checking conformance of an
9600         operation that overrides an abstract operation inherited from an
9601         interface, return False if only one of the controlling formals is an
9602         access parameter.
9603
9604 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
9605
9606         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
9607         mandated by AI05-105.
9608
9609 2009-04-07  Vincent Celier  <celier@adacore.com>
9610
9611         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
9612
9613 2009-04-07  Thomas Quinot  <quinot@adacore.com>
9614
9615         * usage.adb: Minor fix in usage message.
9616
9617         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
9618         match declaration; the correct subtype is Node_Id, not Entity_Id,
9619         because the expected node kind is an identifier, not a defining
9620         identifier.
9621
9622         * switch-c.adb: Minor reformatting.
9623
9624         * uintp.adb: Minor reformatting.
9625
9626 2009-04-07  Robert Dewar  <dewar@adacore.com>
9627
9628         * exp_ch13.adb: Minor reformatting
9629
9630 2009-04-07  Robert Dewar  <dewar@adacore.com>
9631
9632         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
9633         against missing parent.
9634
9635 2009-04-07  Thomas Quinot  <quinot@adacore.com>
9636
9637         * xoscons.adb: Minor reformatting
9638
9639 2009-04-07  Robert Dewar  <dewar@adacore.com>
9640
9641         * rtsfind.ads: Remove obsolete string concatenation entries
9642
9643 2009-04-07  Robert Dewar  <dewar@adacore.com>
9644
9645         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
9646
9647 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
9648
9649         * sem_ch10.adb (Check_Body_Required): Handle properly imported
9650         subprograms.
9651
9652 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
9653
9654         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
9655         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
9656         is of a scalar or string type then suppress the setting of the
9657         expression to Empty.
9658
9659         * freeze.adb (Warn_Overlay): Also emit the warnings about default
9660         initialization for the cases of scalar and string objects when
9661         Init_Or_Norm_Scalars is True.
9662
9663 2009-04-07  Bob Duff  <duff@adacore.com>
9664
9665         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
9666
9667 2009-04-07  Bob Duff  <duff@adacore.com>
9668
9669         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
9670         Form parameter of Text_Translation=No allows binary mode for Text_IO
9671         files.
9672
9673         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
9674
9675 2009-04-07  Javier Miranda  <miranda@adacore.com>
9676
9677         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
9678         processing the bounds for bit packed arrays or VM target machines.
9679
9680 2009-04-07  Thomas Quinot  <quinot@adacore.com>
9681
9682         * g-sothco.ads (Int_Access): Remove extraneous access type (use
9683         anonymous access instead).
9684         (Get_Socket_From_Set): Fix incorrectly reverted formals
9685         Last and Socket to match the underlying C routine.
9686
9687         * g-socket.adb, g-socket.ads
9688         (Get): Use named parameter associations instead of positional ones in
9689         call go Get_Socket_From_Set, since this routine has two formals of the
9690         same type.
9691         (Image): New procedure.
9692
9693         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
9694         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
9695         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
9696         for type of Arg formal.
9697
9698         * sem_warn.adb: Minor reformatting
9699
9700 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
9701
9702         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
9703         over record components.
9704
9705 2009-04-07  Nicolas Roche  <roche@adacore.com>
9706
9707         * gsocket.h:
9708         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
9709         has disappeared between VxWorks 6.4 and VxWorks 6.5
9710         In RTP mode use time.h instead of times.h
9711
9712 2009-04-07  Robert Dewar  <dewar@adacore.com>
9713
9714         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
9715
9716 2009-04-07  Kevin Pouget  <pouget@adacore.com>
9717
9718         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
9719         expanded code for constrained types.
9720
9721 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
9722
9723         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
9724         AI05-105: in an object renaming declaration, anonymousness is a name
9725         resolution rule.
9726
9727         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
9728
9729 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
9730
9731         * g-comlin.adb (Expansion): Fix old regression: also return directory
9732         names when matching.
9733
9734 2009-04-07  Robert Dewar  <dewar@adacore.com>
9735
9736         * exp_ch4.adb:
9737         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
9738         (Expand_Concatenate): New name for Expand_Concatenate_String which has
9739         been rewritten to handle all types.
9740         (Expand_Concatenate_Other): Remove
9741
9742 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
9743
9744         * lib-xref.adb (Generate_Reference): A default subprogram in an
9745         instance appears within the tree for the instance, but generates an
9746         implicit reference in the ALI.
9747
9748 2009-04-07  Javier Miranda  <miranda@adacore.com>
9749
9750         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
9751         derived type that has discriminants, propagate the list of interfaces
9752         to the corresponding new base type. In addition, propagate also
9753         attribute Limited_Present (found working in this patch).
9754
9755 2009-04-07  Robert Dewar  <dewar@adacore.com>
9756
9757         * exp_ch4.adb: Rewrite concatenation expansion.
9758
9759 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
9760
9761         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
9762         relevant to packages.
9763
9764 2009-04-07  Robert Dewar  <dewar@adacore.com>
9765
9766         * sem_attr.adb: Minor reformatting
9767
9768         * sem_ch6.adb: Minor reformatting
9769
9770 2009-04-07  Tristan Gingold  <gingold@adacore.com>
9771
9772         * socket.c: Add more protections against S_resolvLib_ macros.
9773
9774 2009-04-07  Thomas Quinot  <quinot@adacore.com>
9775
9776         * sem_attr.adb: Minor reformatting
9777
9778 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
9779
9780         * sem_ch6.adb (New_Overloaded_Entity): New predicate
9781         Is_Overriding_Alias to handle properly types that inherit two homonym
9782         operations that have distinct dispatch table entries.
9783
9784 2009-04-07  Emmanuel Briot  <briot@adacore.com>
9785
9786         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
9787         looking for the end of a parenthesis group
9788
9789 2009-04-07  Tristan Gingold  <gingold@adacore.com>
9790
9791         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
9792
9793         * socket.c Don't use resolvLib_ macros if not defined.
9794
9795 2009-04-07  Robert Dewar  <dewar@adacore.com>
9796
9797         * g-socket.adb: Minor reformatting.
9798
9799         * g-socthi-mingw.adb: Minor reformatting
9800
9801         * g-sothco.ads: Minor reformatting
9802
9803         * exp_ch4.adb:
9804         (Expand_Concatenate_String): Complete rewrite to generate efficient code
9805         inline instead of relying on external library routines.
9806
9807         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
9808         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
9809         obsolescent
9810
9811 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
9812
9813         * sem_attr.adb:
9814         (Eval_Attribute): for attributes of array objects that are not strings,
9815         attributes are not static if nominal subtype of object is unconstrained.
9816
9817 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
9818
9819         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
9820         operations for a type T in an instance do not override each other,
9821         when T is derived from a formal private type, the corresponding
9822         operations inherited by a type derived from T outside
9823         of the instance do not override each other either.
9824
9825 2009-04-07  Robert Dewar  <dewar@adacore.com>
9826
9827         (Osint.Fail): Change calling sequence to have one string arg
9828         (Make.Make_Failed): Same change
9829         All callers are adjusted to use concatenation
9830
9831 2009-04-07  Robert Dewar  <dewar@adacore.com>
9832
9833         * exp_ch4.adb: Fix documentation typo
9834
9835 2009-04-07  Robert Dewar  <dewar@adacore.com>
9836
9837         * tbuild.ads: Minor reformatting
9838
9839 2009-04-07  Javier Miranda  <miranda@adacore.com>
9840
9841         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
9842         when compiling under ZFP runtime.
9843
9844 2009-04-07  Robert Dewar  <dewar@adacore.com>
9845
9846         * g-comlin.adb: Minor reformatting
9847
9848 2009-04-07  Thomas Quinot  <quinot@adacore.com>
9849
9850         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
9851         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
9852         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
9853         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
9854
9855 2009-04-07  Robert Dewar  <dewar@adacore.com>
9856
9857         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
9858
9859         * opt.ads (Sprint_Line_Limit): New parameter
9860         
9861         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
9862         
9863         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
9864         
9865         * usage.adb: Output information for -gnatGnn -gnatDnn
9866
9867 2009-04-07  Robert Dewar  <dewar@adacore.com>
9868
9869         * make.adb: Minor reformatting
9870
9871 2009-04-07  Robert Dewar  <dewar@adacore.com>
9872
9873         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
9874
9875 2009-04-07  Robert Dewar  <dewar@adacore.com>
9876
9877         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
9878
9879 2009-04-07  Robert Dewar  <dewar@adacore.com>
9880
9881         * checks.adb:
9882         Remove Assume_Valid parameter from In_Subrange_Of calls
9883         
9884         * sem_eval.adb:
9885         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
9886         (Is_In_Range): Remove incorrect use of Assume_Valid
9887         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
9888         
9889         * sem_eval.ads:
9890         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
9891         (Is_In_Range): Documentation cleanup
9892         (Is_Out_Of_Range): Documentation cleanup
9893
9894         * gnat_rm.texi:
9895         Add documentation for Assume_No_Invalid_Values pragma
9896
9897         * sem_ch12.adb: Minor reformatting
9898
9899         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
9900
9901         * sem_prag.adb: Improve error message.
9902
9903         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
9904         LF/CR no longer recognized as line terminator
9905
9906         * switch.ads: Minor documentation improvement
9907
9908         * vms_data.ads: Minor reformatting
9909
9910 2009-04-07  Robert Dewar  <dewar@adacore.com>
9911
9912         * checks.adb (Determine_Range): Add Assume_Valid parameter
9913         
9914         * checks.ads (Determine_Range): Add Assume_Valid parameter
9915         
9916         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
9917          Is_Null_Loop to suppress warnings in a loop body.
9918         
9919         * exp_ch4.adb:
9920         (Rewrite_Comparison): Major rewrite to accomodate invalid values
9921         
9922         * exp_ch5.adb:
9923         (Expand_N_Loop_Statement): Delete loop known not to execute
9924         
9925         * opt.ads:
9926         (Assume_No_Invalid_Values): Now set to False, and as documented, this
9927          fully enables the proper handling of invalid values.
9928         
9929         * sem_attr.adb:
9930         New calling sequence for Is_In_Range
9931         
9932         * sem_ch5.adb:
9933         (Analyze_Iteration_Scheme): Accomodate possible invalid values
9934          in determining if a loop range is null.
9935         
9936         * sem_eval.adb:
9937         (Is_In_Range): Add Assume_Valid parameter
9938         (Is_Out_Of_Range): Add Assume_Valid_Parameter
9939         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
9940          also to do more accurate and complete range analysis, catching more
9941          cases.
9942         
9943         * sem_eval.ads:
9944         (Is_In_Range): Add Assume_Valid parameter
9945         (Is_Out_Of_Range): Add Assume_Valid_Parameter
9946         
9947         * sem_util.adb:
9948         New calling sequence for Is_In_Range
9949         
9950         * sinfo.adb:
9951         (Suppress_Loop_Warnings): New flag
9952         
9953         * sinfo.ads:
9954         (Is_Null_Loop): Update documentation
9955         (Suppress_Loop_Warnings): New flag
9956         
9957         * gnat_ugn.texi: Document -gnatB switch
9958
9959 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
9960
9961         * gnatvsn.ads: Bump version number.
9962
9963 2009-04-07  Thomas Quinot  <quinot@adacore.com>
9964
9965         * exp_ch3.adb: Minor rewording (comments)
9966
9967 2009-04-07  Robert Dewar  <dewar@adacore.com>
9968
9969         * exp_disp.adb: Minor reformatting
9970
9971 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
9972
9973         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
9974         underlying type.
9975         * gcc-interface/trans.c (lvalue_required_p): Likewise.
9976
9977 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
9978
9979         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
9980         Do not convert the result.  Remove obsolete comment.
9981
9982 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
9983
9984         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
9985         DECL_CONTEXT.
9986         (Subprogram_Body_to_gnu): Fix pasto.
9987
9988 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
9989
9990         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
9991         (void_type_decl_node): Remove.
9992         (init_gigi_decls): Likewise.
9993         (gnat_install_builtins): Declare.
9994         (record_builtin_type): Likewise.
9995         (create_type_stub_decl): Likewise.
9996         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
9997         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
9998         artificial.
9999         <E_Array_Subtype>: Use the index types, not only their name, in the
10000         record giving the names of the bounds, if any.
10001         For a packed array type, make it artificial only if the base type
10002         was artificial as well.  Remove redundant statement.
10003         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
10004         dummy types.
10005         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
10006         (rest_of_type_decl_compilation_no_defer): Likewise.
10007         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
10008         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
10009         and use create_type_stub_decl to build it.
10010         (gnat_pushdecl): Rewrite condition.
10011         (gnat_install_builtins): Remove bogus declaration.
10012         (record_builtin_type): New function.
10013         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
10014         of types.
10015         (create_type_stub_decl): New function.
10016         (create_type_decl): Assert that the type is not dummy.  If the type
10017         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
10018         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
10019         (build_vms_descriptor): Likewise.
10020         (init_gigi_decls): Delete and move bulk of code to...
10021         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
10022         (emit_range_check): Add gnat_node parameter.
10023         (emit_index_check): Likewise.
10024         (emit_check): Likewise.
10025         (build_unary_op_trapv): Likewise.
10026         (build_binary_op_trapv): Likewise.
10027         (convert_with_check): Likewise.
10028         (Attribute_to_gnu): Adjust calls for above changes.
10029         (call_to_gnu): Likewise.
10030         (gnat_to_gnu): Likewise.
10031         (assoc_to_constructor): Likewise.
10032         (pos_to_constructor): Likewise.
10033         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
10034         (process_type): Do not create TYPE_DECL for dummy types.
10035
10036 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
10037
10038         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
10039         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
10040         * gcc-interface/utils.c: Fix comments.
10041
10042 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
10043
10044         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
10045         move around.
10046         (gnat_to_gnu_type): Move around.
10047         (get_unpadded_type): Likewise.
10048         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
10049         Tidy comments.
10050
10051 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
10052
10053         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
10054         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
10055         (call_to_gnu): Invoke it instead of manually checking.
10056
10057 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
10058
10059         * gcc-interface/utils.c (finish_record_type): Force structural equality
10060         checks if the record type is discriminated.
10061
10062 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
10063
10064         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
10065         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
10066         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
10067         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
10068         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
10069         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
10070         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
10071
10072 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
10073
10074         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
10075         of TREE_CONSTANT_OVERFLOW.
10076
10077 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
10078
10079         PR rtl-optimization/323
10080         * gcc-interface/misc.c (gnat_post_options): Set
10081         flag_excess_precision_cmdline.  Give an error for
10082         -fexcess-precision=standard for processors where the option is
10083         significant.
10084
10085 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
10086
10087         PR c/39323
10088         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
10089         on bit_align.
10090
10091 2009-03-11  Olivier Hainque  <hainque@adacore.com>
10092
10093         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
10094         checks processing, remove unintended TREE_TYPE walk on index type.
10095
10096 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
10097
10098         PR ada/39264
10099         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
10100         call make_packable_type on fat pointer types.
10101         <E_Array_Subtype>: Likewise.
10102         <E_Record_Subtype>: Call make_packable_type on all record types
10103         except for fat pointer types.
10104         (make_packable_type): Likewise.
10105         (gnat_to_gnu_field): Likewise.
10106
10107 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
10108
10109         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
10110         EH_MECHANISM change made on 2007-12-06.
10111
10112 2009-02-26  Andreas Schwab  <schwab@suse.de>
10113
10114         PR ada/39172
10115         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
10116         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
10117         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
10118         (AWK): Substitute.
10119         (target_cpu_default): Substitute.
10120
10121 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
10122
10123         PR ada/39221
10124         * a-teioed.adb (Expand): Fix Result overflow.
10125
10126 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
10127
10128         * gcc-interface/Makefile.in: Fix multilib handling for
10129         sparc64-linux.
10130
10131 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10132
10133         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
10134
10135 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
10136
10137         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
10138
10139 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
10140
10141         * gcc-interface/deftarg.c: Remove.
10142
10143 2009-02-10  Olivier Hainque  <hainque@adacore.com>
10144             Eric Botcazou  <ebotcazou@adacore.com>
10145
10146         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
10147         (copy_alias_set): Rename into...
10148         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
10149         underlying array of unconstrained arrays for the new type as well.
10150         If the old and new alias sets don't conflict, make one a subset of
10151         the other as per the OP parameter.
10152         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
10153         <E_Record_Type>: Do not copy the alias set for derived types.
10154         For all types, make the alias set of derived types a superset of
10155         that of their parent type.
10156         (make_aligning_type): Adjust calls to copy_alias_set.
10157         (make_packable_type): Likewise.
10158         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
10159         Check for alias set conflict instead of strict equality to issue the
10160         warning.
10161
10162 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
10163
10164         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
10165         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
10166         (copy_alias_set): Assert that arrays have the same aliasing settings.
10167         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
10168
10169 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
10170
10171         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
10172         Set TYPE_NONALIASED_COMPONENT on the array type.
10173
10174 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
10175
10176         * gcc-interface/Makefile.in: Fix mipsel linux handling.
10177
10178 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
10179
10180         * gcc-interface/Makefile.in: Fix multilib handling for
10181         powerpc64-linux.
10182
10183 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
10184
10185         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
10186         only useless conversions around renamed objects.
10187
10188 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
10189
10190         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
10191         the _Tag field before any discriminants in the field list.
10192         (components_to_record): Remove obsolete comment.
10193
10194
10195 \f
10196 Copyright (C) 2009 Free Software Foundation, Inc.
10197
10198 Copying and distribution of this file, with or without modification,
10199 are permitted in any medium without royalty provided the copyright
10200 notice and this notice are preserved.