OSDN Git Service

ddca18f751f2fbf8014753bb22414394f229b372
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2009-12-01  Ed Schonberg  <schonberg@adacore.com>
2
3         * einfo.ads: Clarify use of Is_Private_Primitive.
4         * sem_ch6.adb (Analyze_Subprogram_Declaration): An operation is a
5         private primitive operation only if it is declared in the scope of the
6         private controlling type.
7         * exp_ch9.adb (Build_Wrapper_Spec): Build wrappers for private
8         protected operations as well.
9
10 2009-12-01  Arnaud Charlet  <charlet@adacore.com>
11
12         * gnat1drv.adb (Adjust_Global_Switches): Disable front-end
13         optimizations in CodePeer mode, to keep the tree as close to the source
14         code as possible, and also to avoid inconsistencies between trees when
15         using different optimization switches.
16
17 2009-12-01  Thomas Quinot  <quinot@adacore.com>
18
19         * scos.ads: Updated specification of source coverage obligation
20         information.
21
22 2009-12-01  Thomas Quinot  <quinot@adacore.com>
23
24         * g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
25         a-ststio.adb, s-commun.adb, s-commun.ads, g-socket.adb,
26         g-socket.ads (System.Communications.Last_Index): For the case where no
27         element has been transferred and Item'First =
28         Stream_Element_Offset'First, raise CONSTRAINT_ERROR.
29
30 2009-12-01  Ed Schonberg  <schonberg@adacore.com>
31
32         * sem_ch10.adb (Install_Siblings): A private with_clause on some child
33         unit U in an ancestor of the current unit must be ignored if the
34         current unit has a regular with_clause on U.
35
36 2009-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
37
38         * s-oscons-tmplt.c [__mips && __sgi]: Only define _XOPEN5, IOV_MAX
39         if _XOPEN_IOV_MAX is defined.
40
41 2009-11-30  Vasiliy Fofanov  <fofanov@adacore.com>
42
43         * vms_data.ads: Add new VMS qualifiers,
44         REVERSE_BIT_ORDER/NOREVERSE_BIT_ORDER, to support warnings on bit order
45         effects.
46
47 2009-11-30  Thomas Quinot  <quinot@adacore.com>
48
49         * exp_ch9.adb, exp_ch9.ads, sem_util.ads: Minor reformatting.
50
51 2009-11-30  Gary Dismukes  <dismukes@adacore.com>
52
53         * sem_prag.adb: Fix spelling error.
54
55 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
56
57         * exp_ch9.ads (Build_Private_Protected_Declaration): For a protected
58         operation that is only declared in a protected body, create a
59         corresponding subprogram declaration.
60         * exp_ch9.adb (Expand_N_Protected_Body): Create protected body of
61         operation in all cases, including for an operation that is only
62         declared in the body.
63         * sem_ch6.adb: Call Build_Private_Protected_Declaration
64         * exp_ch6.adb (Expand_N_Subprogram_Declaration): For an operation
65         declared in a protected body, create the declaration for the
66         corresponding protected version of the operation.
67
68 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
69
70         * gnat1drv.adb (Adjust_Global_Switches): Disable specific expansions
71         for Restrictions pragmas, to avoid tree inconsistencies between
72         compilations with different pragmas.
73
74 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
75
76         * sem_prag.adb (Check_Duplicated_Export_Name): Allow entities exported
77         to CIL to have duplicated export name.
78
79 2009-11-30  Robert Dewar  <dewar@adacore.com>
80
81         * a-tiinio.adb: Remove extraneous pragma Warnings (Off).
82
83 2009-11-30  Thomas Quinot  <quinot@adacore.com>
84
85         * par_sco.adb: Minor reformatting
86
87 2009-11-30  Ed Falis  <falis@adacore.com>
88
89         * s-vxwext.ad[s,b], system-vxworks-ppc.ads, s-stchop-vxworks.adb:
90         Comment update.
91
92 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
93
94         * par_sco.adb (Traverse_Handled_Statement_Sequence): Do not emit SCO's
95         for null statements that do not come from source.
96         * sinfo.ads: Clarify documentation of Comes_From_Source
97
98 2009-11-30  Vincent Celier  <celier@adacore.com>
99
100         * prj-nmsc.adb (Add_Source): Use Display_Name for both projects when
101         displaying the paths in error message.
102
103 2009-11-30  Emmanuel Briot  <briot@adacore.com>
104
105         * adaint.h, adaint.c (file_attributes): force the use of unsigned char.
106         On some platforms, "char" is signed, on others unsigned, so we
107         explicitly specify the one we expect
108
109 2009-11-30  Matthew Heaney  <heaney@adacore.com>
110
111         * a-coinve.adb (Insert): Move exception handler closer to point where
112         exception can occur.
113         Minor reformatting & comment additions.
114
115 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
116
117         * freeze.adb (Freeze_Entity): Disable warning on 'Foreign caller must
118         pass bounds' for VM targets, not relevant.
119
120 2009-11-30  Robert Dewar  <dewar@adacore.com>
121
122         * sem_util.adb (Wrong_Type): Diagnose additional case of modular
123         missing parens.
124         * a-tiinio.adb, a-wtinio.adb, a-ztinio.adb: Minor reformatting
125
126         * exp_util.adb (Kill_Dead_Code): Suppress warning for some additional
127         cases.
128
129         * sem_warn.adb (Set_Warning_Flag): Clean up gnatwA list and ensure
130         completeness.
131         (Set_Dot_Warning_Flag): Ditto for -gnatw.e
132         (Set_Dot_Warning_Flag): Implement -gnbatw.v/w.V
133         * usage.adb: Add lines for -gnatw.v/w.V
134
135 2009-11-30  Emmanuel Briot  <briot@adacore.com>
136
137         * make.adb (Check_Standard_Library): use Full_Source_Name instead of
138         direct call to Find_File. The former provides caching of the results, so
139         might be more efficient
140         (Start_Compile_If_Necessary): Add comment on possible optimization,
141         not done for now.
142
143 2009-11-30  Thomas Quinot  <quinot@adacore.com>
144
145         * g-sechas.adb: Minor reformatting
146
147 2009-11-30  Matthew Heaney  <heaney@adacore.com>
148
149         * a-crbtgo.adb (Delete_Fixup): Add comments explaining why predicates
150         were removed.
151         * a-cdlili.adb (Vet): Remove always-true predicates.
152
153 2009-11-30  Thomas Quinot  <quinot@adacore.com>
154
155         * s-sechas.adb, s-sechas.ads, s-shshco.adb, s-shshco.ads, s-shsh64.adb,
156         s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, s-shsh32.adb, s-shsh32.ads,
157         s-sehash.adb, s-sehash.ads, g-sechas.adb, g-sechas.ads, g-shshco.adb,
158         g-shshco.ads, g-md5.ads, g-sha256.ads, g-shsh64.adb, g-shsh64.ads,
159         g-sehamd.adb, g-sehamd.ads, g-sha512.ads, g-sha1.ads, Makefile.rtl,
160         g-sha224.ads, g-shsh32.adb, g-shsh32.ads, g-sha384.ads, g-sehash.adb,
161         g-sehash.ads: Rename System.Secure_Hashes to GNAT.Secure_Hashes.
162
163 2009-11-30  Robert Dewar  <dewar@adacore.com>
164
165         * osint.ads: Minor comment update.
166
167 2009-11-30  Thomas Quinot  <quinot@adacore.com>
168
169         * s-sechas.adb: Fix swapping error in previous checkin.
170         * g-md5.ads, g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads,
171         g-sha384.ads: Add missing documentation.
172
173 2009-11-30  Robert Dewar  <dewar@adacore.com>
174
175         * g-sha256.ads, s-sehamd.ads, s-sehamd.adb, g-sha512.ads, g-sha224.ads,
176         g-sha384.ads: Minor reformatting
177
178 2009-11-30  Emmanuel Briot  <briot@adacore.com>
179
180         * adaint.h (file_attributes): Reduce size of the structure, so that it
181         is less costly to store in records.
182         * makeutl.adb:
183         (Check_Source_Info_In_ALI): use Full_Source_Name instead of a direct
184         call to Find_File, since the former provides caching when appropriate,
185         which limits the number of system calls in some cases.
186         * osint.ads, prj.ads (Source_Data): do not store directly the timestamp,
187         but the file attributes since we also need access to the size of the
188         ALI file to parse it. This gives an opportunity for saving system calls
189         on Unix systems.
190
191 2009-11-30  Robert Dewar  <dewar@adacore.com>
192
193         * sem_prag.adb, s-sechas.ads, s-sechas.adb: Minor reformatting.
194
195 2009-11-30  Gary Dismukes  <dismukes@adacore.com>
196
197         * sem_prag.adb (Process_Convention): Change formal E to Ent. In the
198         case where the pragma's entity argument is a renaming, return the
199         entity denoted by the renaming rather than the renamed entity. Loop
200         through the homonyms of the original argument entity, rather than the
201         homonyms of any renamed entity. Correct call to Generate_Entity to
202         pass the homonym.
203
204 2009-11-30  Vincent Celier  <celier@adacore.com>
205
206         * impunit.adb: Add packages that were added to the GNAT library:
207         GNAT.SHA224, GNAT.SHA256, GNAT.SHA384 and GNAT.SHA512.
208         * s-sechas.adb (Fill_Buffer_Copy): Fixes incorrect slice index
209
210 2009-11-30  Robert Dewar  <dewar@adacore.com>
211
212         * exp_ch3.adb: Minor reformatting
213         * g-md5.ads, g-sha1.ads: Add comment.
214
215 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
216
217         * gcc-interface/Makefile.in: Remove handling of libgccprefix, no longer
218         needed.
219
220 2009-11-30  Pascal Obry  <obry@adacore.com>
221
222         * expect.c: Fix cast to avoid warnings in x86-64 Windows.
223
224 2009-11-30  Thomas Quinot  <quinot@adacore.com>
225
226         * gnat_rm.texi, s-sechas.adb, s-sechas.ads, s-shshco.adb,
227         s-shshco.ads, g-md5.adb, g-md5.ads, g-sha256.ads, s-shsh64.adb,
228         s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, g-sha512.ads, g-sha1.adb,
229         g-sha1.ads, Makefile.rtl, g-sha224.ads, g-sha384.ads, s-shsh32.adb,
230         s-shsh32.ads, s-sehash.adb, s-sehash.ads: Reimplementation of GNAT.MD5
231         and GNAT.SHA1 to factor shared code and avoid unnecessary stack copies.
232         Also introduce new functions SHA-{224,256,384,512}
233
234 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
235
236         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve comment for
237         the Value_Type case.
238
239 2009-11-30  Thomas Quinot  <quinot@adacore.com>
240
241         * a-textio.adb: Minor reformatting
242
243 2009-11-30  Pascal Obry  <obry@adacore.com>
244
245         * adaint.c: Fix bug in passing parameter.
246         * expect.c: Include io.h to get definition of _open_osfhandle
247
248 2009-11-30  Javier Miranda  <miranda@adacore.com>
249
250         * exp_ch6.adb, sem_scil.adb (Adjust_SCIL_Node): Add missing management
251         of N_Unchecked_Type_Conversion nodes when searching for SCIL nodes.
252         (Expand_Call): Adjust decoration of SCIL node associated with relocated
253         function call.
254
255 2009-11-30  Emmanuel Briot  <briot@adacore.com>
256
257         * prj-env.adb (Add_To_Source_Path): Preserve casing of directories
258
259 2009-11-30  Vincent Celier  <celier@adacore.com>
260
261         * opt.ads (No_Split_Units): New flag initialized to False
262
263 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
264
265         * exp_ch7.adb (Needs_Finalization): Add comments.
266         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve handling of
267         CIL Value types.
268
269 2009-11-30  Robert Dewar  <dewar@adacore.com>
270
271         * osint.adb, a-rttiev.adb: Minor reformatting.
272
273 2009-11-30  Robert Dewar  <dewar@adacore.com>
274
275         * gnat_rm.texi: Remove list of warning letters, and refer instead to
276         using gnatmake to get a brief list.
277
278         * debug.adb: Document -gnatd.i to disable pragma Warnings
279         * par-prag.adb, sem_prag.adb: Recognize -gnatd.i to disable Warnings
280         pragma.
281         * vms_data.ads: Add /NOWARNINGS_PRAGMS for -gnatd.i
282         
283 2009-11-30  Geert Bosch  <bosch@adacore.com>
284
285         * a-ngelfu.adb (Sin): Correct spelling of sine in comment.
286
287 2009-11-30  Vincent Celier  <celier@adacore.com>
288
289         * gnatls.adb: Do not call Get_Target_Parameters in Verbose_Mode, as it
290         is not needed and gnatls fails when called with -v -nostdinc.
291
292 2009-11-30  Emmanuel Briot  <briot@adacore.com>
293
294         * osint.adb, osint.ads (File_Time_Stamp): new subprogram.
295
296 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
297
298         * gnat_rm.texi, gnat_ugn.texi: Document new syntax for pragma Annotate
299
300 2009-11-30  Robert Dewar  <dewar@adacore.com>
301
302         * scans.ads (Wide_Wide_Character_Found): New flag
303         * scn.adb (Post_Scan): Set new flag Has_Wide_Wide_Character
304         * scng.adb (Set_String): Set new flag Wide_Wide_Character_Found
305         (Set_String): Fix failure to reset Wide_Character_Found
306         * sinfo.adb (Has_Wide_Wide_Character): New flag in N_String_Literal
307         * sinfo.ads (Has_Wide_Wide_Character): New flag in N_String_Literal
308         * a-ngelfu.adb: Minor reformatting & code reorganization.
309         * usage.adb: Fix typo in -gnatw.W line
310
311 2009-11-30  Robert Dewar  <dewar@adacore.com>
312
313         * osint.adb, prj-nmsc.adb, sem_prag.adb, sem_util.adb: Minor
314         reformatting.
315         * csinfo.adb: Terminate run if improper use of reserved flag
316         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): Don't use reserved
317         Flag12, used Flag13 instead.
318         
319 2009-11-30  Vincent Celier  <celier@adacore.com>
320
321         * gnatcmd.adb (Check_Files): Recognize documented switches that have a
322         separate parameter.
323
324 2009-11-30  Robert Dewar  <dewar@adacore.com>
325
326         * sem_util.ads: Minor reformatting
327         * errout.adb: Minor reformatting
328         Minor code reorganization (use N_Subprogram_Specification to simplify)
329         * exp_ch7.adb: Add comment.
330
331 2009-11-30  Thomas Quinot  <quinot@adacore.com>
332
333         * put_scos.adb (Put_SCOs): Do not generate a SCO unit header for a unit
334         that has no SCOs.
335         * scos.ads: Minor reformatting
336
337 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
338
339         * sem_prag.adb: Second unanalyzed parameter of Annotate is optional.
340
341 2009-11-30  Eric Botcazou  <ebotcazou@adacore.com>
342
343         * init.c (__gnat_adjust_context_for_raise, Linux version): Add guard
344         for null PC saved in the context.
345
346 2009-11-30  Hristian Kirtchev  <kirtchev@adacore.com>
347
348         * a-calend.adb (Day_Of_Week): Rewritten. The routine determines the
349         number of days from the Ada Epoch to the input date while ensuring that
350         both dates are in the same time zone.
351
352 2009-11-30  Emmanuel Briot  <briot@adacore.com>
353
354         * clean.adb ("-eL"): Also set Follow_Links_For_Dirs, to match what is
355         done in other project-aware tools like gnatmake and gprbuild.
356
357 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
358
359         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Take care of CIL
360         ValueTypes.
361         * exp_ch7.adb (Needs_Finalization): Do not finalize CIL valuetypes.
362         * sem_util.adb (Is_Value_Type): Protect against invalid calls to Chars
363         (Is_Delegate): New method used for CIL.
364         * sem_util.ads (Is_Delegate): New method for CIL handling.
365         (Is_Value_Type): Improve documentation.
366
367 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
368
369         * errout.adb (Unwind_Internal_Type): Improve error reporting if the
370         type is an anonymous access to subprogram that is the type of a formal
371         in a subprogram spec.
372
373 2009-11-30  Vincent Celier  <celier@adacore.com>
374
375         * prj-nmsc.adb (Check_Interfaces): In a Stand-Alone Library project, if
376         attribute Interfaces is not declared, then Library_Interface should
377         define the interfaces.
378
379 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
380
381         * sem_prag.adb: New semantics for Annotate.
382
383 2009-11-30  Tristan Gingold  <gingold@adacore.com>
384
385         * gcc-interface/Makefile.in: Do not link with -static-libgcc on Darwin.
386
387 2009-11-30  Emmanuel Briot  <briot@adacore.com>
388
389         * gnat_ugn.texi: Extend doc for -eL
390
391 2009-11-30  Vincent Celier  <celier@adacore.com>
392
393         * osint.adb (Executable_Name (File_Name_Type)): Put the Name in the
394         Name_Buffer before testing for a dot in the Name.
395
396 2009-11-30  Vincent Celier  <celier@adacore.com>
397
398         * prj-part.adb (Project_Path_Name_Of): Resolve links for final result
399         if -eL has been specified.
400
401 2009-11-30  Vincent Celier  <celier@adacore.com>
402
403         * osint.adb (Executable_Name): Test the name instead of the name buffer
404         to check if there is a dot in the given name.
405
406 2009-11-30  Sergey Rybin  <rybin@adacore.com>
407
408         * gnat_ugn.texi: Update gnatcheck doc.
409
410 2009-11-30  Robert Dewar  <dewar@adacore.com>
411
412         * sem_ch3.adb, sem_disp.adb, usage.adb: Minor reformatting
413
414 2009-11-30  Vasiliy Fofanov  <fofanov@adacore.com>
415
416         * gnat_ugn.texi: Minor editing.
417
418 2009-11-30  Emmanuel Briot  <briot@adacore.com>
419
420         * prj-nmsc.adb (Search_Directories): when -eL was not specified, assume
421         that no directory matches the naming scheme for sources.
422
423 2009-11-30  Emmanuel Briot  <briot@adacore.com>
424
425         * prj.adb, prj.ads, prj-nmsc.adb (Has_Multi_Unit_Sources): New field in
426         project_data.
427
428 2009-11-30  Vincent Celier  <celier@adacore.com>
429
430         * osint.adb (Executable_Name): Correctly decide if the executable
431         suffix should be added when Only_If_No_Suffix is True.
432
433 2009-11-30  Robert Dewar  <dewar@adacore.com>
434
435         * frontend.adb, gnatlink.adb, prj-conf.adb, prj-tree.adb,
436         prj-tree.ads: Minor reformatting
437
438 2009-11-30  Vincent Celier  <celier@adacore.com>
439
440         * gnatlink.adb (Process_Args): Call Executable_Name on argument of -o
441         with Only_If_No_Suffix set to True.
442         * osint.adb (Executable_Name): Do not add executable suffix if there is
443         already a suffix and Only_If_No_Suffix is True.
444         * osint.ads (Executable_Name): New Boolean parameter Only_If_No_Suffix,
445         defaulted to False.
446
447 2009-11-30  Javier Miranda  <miranda@adacore.com>
448
449         * exp_atag.adb (Build_TSD): Change argument name because the actual is
450         now the address of a tag (instead of the tag). Update implementation
451         accordingly.
452         (Build_CW_Membership): New implementation. Converted into a procedure
453         because it has an additional out mode parameter. Its implementation has
454         been rewritten to improve the generated code but also to facilitate
455         referencing the relocated object node in the caller.
456         * exp_atag.ads (Build_CW_Membership): Update profile and documentation.
457         * sinfo.ads (N_SCIL_Membership_Test) New_Node.
458         (SCIL_Tag_Value): New field of N_SCIL_Membership_Test nodes.
459         (Is_Syntactic_Field): Add entry of new node.
460         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
461         * sinfo.adb (SCIL_Related_Node, SCIL_Entity): Update assertions to
462         handle N_SCIL_Membership_Test nodes.
463         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
464         * sem.adb (Analyze): Add null management for new node.
465         * sem_scil.adb (Find_SCIL_Node): Add null management for new node.
466         (Check_SCIL_Node): Add checks of N_SCIL_Membership_Test nodes.
467         * exp_ch4.adb (Tagged_Membership): Change profile from function to
468         procedure. Add generation of SCIL node associated with class-wide
469         membership test.
470         (Expand_N_In): Complete decoration of SCIL nodes.
471         * exp_intr.adb (Expand_Dispatching_Constructor_Call): Tune call to
472         Build_CW_Membership because its profile has been changed.
473         * exp_util.adb (Insert_Actions): Add null management for new node.
474         * sprint.adb (Sprint_Node_Actual): Handle new node.
475         * gcc-interface/trans.c Add no processing for N_SCIL_Membership_Test
476         nodes.
477         * gcc-interface/Make-lang.in: Update dependencies.
478
479 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
480
481         * opt.ads: New flags Init_Or_Norm_Scalars_Config,
482         Initialize_Scalars_Config, to capture the presence of the corresponding
483         pragmas in a configuration file.
484         * opt.adb (Register_, Save_, Set_, Restore_Opt_Configuration_Switches):
485         handle new flags so that they are restored for each compilation unit.
486         * frontend.adb: At the end of compilation, scan the context of the main
487         unit to recover occurrences of pragma Initialize_Scalars, to annotate
488         the ALI file accordingly.
489
490 2009-11-30  Vincent Celier  <celier@adacore.com>
491
492         * prj-tree.ads: Minor comment updates
493         * prj-tree.adb: Minor reformatting
494
495 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
496
497         * sem_ch3.adb (Derive_Subprogram): Indicate that an inherited
498         predefined control operation is hidden if the parent type is not
499         visibly controlled.
500         * sem_ch6.adb (Check_Overriding_Indicator): Do not report error if
501         overridden operation is not visible, as may be the case with predefined
502         control operations.
503         * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on
504         non-overriding control operation when type is not visibly controlled,
505         if the subprogram has an explicit overriding indicator.
506         * sem_util.ads, sem_util.adb (Is_Visibly_Controlled): Moved here from
507         sem_disp.adb.
508
509 2009-11-30  Emmanuel Briot  <briot@adacore.com>
510
511         * prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows
512         * prj-attr.ads: Minor comment updates
513
514 2009-11-30  Robert Dewar  <dewar@adacore.com>
515
516         * gnat_rm.texi: Document pragma Short_Circuit
517
518 2009-11-30  Emmanuel Briot  <briot@adacore.com>
519
520         * prj-conf.adb, prj-tree.adb, prj-tree.ads (Create_Attribute): Now set
521         the index either on the attribute or on its value, depending on the
522         kind of the attribute. Done to match recent changes in Prj.PP that were
523         not synchronized with this function.
524
525 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
526
527         * gcc-interface/Make-lang.in: Fix typo.
528         Update dependencies.
529
530 2009-11-30  Robert Dewar  <dewar@adacore.com>
531
532         * gnat_rm.texi: Add documentation for attribute Result.
533
534 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
535
536         * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
537         s-osinte-tru64.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads
538         (Get_Page_Size): Update comment since Get_Page_Size is now required.
539
540 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
541
542         * freeze.adb: Disable Warning on VM targets concerning C Imports, not
543         relevant.
544
545 2009-11-30  Bob Duff  <duff@adacore.com>
546
547         * sprint.adb (Source_Dump): Minor comment fix.
548         (Write_Itype): When writing a string literal subtype, use Expr_Value
549         instead of Intval to get the low bound.
550
551 2009-11-30  Vincent Celier  <celier@adacore.com>
552
553         * gnatlink.adb (Process_Args): Do not call Executable_Name on arguments
554         of switch -o.
555
556 2009-11-30  Robert Dewar  <dewar@adacore.com>
557
558         * exp_ch4.adb (Expand_N_Op_And): Implement pragma Short_Circuit_And_Or
559         (Expand_N_Op_Or): Implement pragma Short_Circuit_And_Or
560         * opt.ads (Short_Circuit_And_Or): New flag
561         * par-prag.adb: Add dummy entry for pragma Short_Circuit_And_Or
562         * sem_prag.adb: Implement pragma Short_Circuit_And_Or
563         * snames.ads-tmpl: Add entries for pragma Short_Circuit_And_Or
564
565 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
566
567         * s-taprop-posix.adb: Fix casing.
568         * s-osinte-tru64.adb: Complete previous check-in.
569
570 2009-11-30  Robert Dewar  <dewar@adacore.com>
571
572         * gnat_rm.texi: Document pragma Compiler_Unit
573         * s-bitops.adb, s-restri.adb, g-htable.adb, s-restri.ads,
574         a-comlin.ads, a-strhas.ads, s-strhas.adb, s-parame.adb,
575         s-parame.ads, a-clrefi.adb, a-clrefi.ads, a-ioexce.ads: Supply missing
576         Compiler_Unit pragmas.
577         * freeze.adb (Freeze_Entity): Improve message for 8-bit boolean passed
578         to C.
579
580 2009-11-30  Robert Dewar  <dewar@adacore.com>
581
582         * makeutl.adb, makeutl.ads, prj-proc.adb, prj.adb, prj.ads: Minor
583         reformatting.
584
585 2009-11-30  Thomas Quinot  <quinot@adacore.com>
586
587         * osint.adb: Minor reformatting
588
589 2009-11-30  Vincent Celier  <celier@adacore.com>
590
591         * makeutl.ads, makeutl.adb (Base_Name_Index_For): New function to get
592         the base name of a main without the extension, with an eventual source
593         index.
594         (Mains.Get_Index): New procedure to set the source index of a main
595         (Mains.Get_Index): New function to get the source index of a main
596         * prj-attr.adb: New attributes Config_Body_File_Name_Index,
597         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
598         Multi_Unit_Switches.
599         * prj-nmsc.adb (Process_Compiler): Takle into account new attributes
600         Config_Body_File_Name_Index, Config_Spec_File_Name_Index,
601         Multi_Unit_Object_Separator and Multi_Unit_Switches.
602         Allow only one character for Multi_Unit_Object_Separator.
603         * prj-proc.adb (Process_Declarative_Items): Take into account the
604         source indexes in indexes of associative array attribute declarations.
605         * prj.adb (Object_Name): New function to get the object file name for
606         units in multi-unit sources.
607         * prj.ads (Language_Config): New components Multi_Unit_Switches,
608         Multi_Unit_Object_Separator Config_Body_Index and Config_Spec_Index.
609         (Object_Name): New function to get the object file name for units in
610         multi-unit sources.
611         * snames.ads-tmpl: New standard names Config_Body_File_Name_Index,
612         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
613         Multi_Unit_Switches.
614
615 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
616
617         * s-tassta.adb: Update comment.
618
619 2009-11-30  Robert Dewar  <dewar@adacore.com>
620
621         * a-ngelfu.adb: Minor code reorganization.
622
623 2009-11-30  Robert Dewar  <dewar@adacore.com>
624
625         * osint.ads, prj.adb, prj.ads: Minor reformatting
626         * s-stchop.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
627         s-taprop-vms.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
628         s-strxdr.adb, s-taprop-irix.adb, s-osinte-hpux-dce.adb,
629         s-osinte-tru64.adb, s-taenca.adb, s-taprop-hpux-dce.adb, s-stausa.adb,
630         s-taprop-posix.adb: Minor code reorganization (use conditional
631         expressions).
632
633 2009-11-30  Bob Duff  <duff@adacore.com>
634
635         * g-sttsne-locking.adb (Copy_Service_Entry): Complete previous change.
636
637 2009-11-30  Bob Duff  <duff@adacore.com>
638
639         * socket.c: Add more accessor functions for struct servent (need
640         setters as well as getters).
641         * g-sothco.ads (Servent): Declare interfaces to C setter functions for
642         struct servent.
643         * g-sttsne-locking.adb (Copy_Service_Entry): Use setter functions for
644         struct servent.
645
646 2009-11-30  Robert Dewar  <dewar@adacore.com>
647
648         * s-stchop-vxworks.adb: Add comment.
649
650 2009-11-30  Emmanuel Briot  <briot@adacore.com>
651
652         * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Now acts
653         on the whole tree, to better share code with gprbuild.
654         (Length): New subprogram, to share code in gprbuild.
655         (Project_Data): Remove fields that are only needed when compiling a
656         project in gprbuild (where we use local variables instead)
657         * osint.adb, osint.ads: Added minor comment on memory management
658
659 2009-11-30  Sergey Rybin  <rybin@adacore.com>
660
661         * gnat_ugn.texi: Update gnatcheck doc.
662
663 2009-11-30  Robert Dewar  <dewar@adacore.com>
664
665         make.adb, prj-makr.adb, g-sothco.ads: Minor reformattting
666         * s-taprop-dummy.adb: Minor code reorganization (raise with msgs start
667         with lower case).
668         * i-vxwoio.adb, g-dirope.adb, g-sercom-linux.adb,
669         g-enblsp-vms-alpha.adb, g-regist.adb, s-imgcha.adb, s-tarest.adb,
670         s-taprop-mingw.adb, g-exctra.adb, g-expect.adb, g-comlin.adb,
671         g-debpoo.adb, g-expect-vms.adb, g-pehage.adb, g-trasym-vms-alpha.adb,
672         g-enblsp-vms-ia64.adb, s-fatgen.adb, s-fileio.adb: Minor code
673         reorganization (use conditional expressions).
674
675 2009-11-30  Vincent Celier  <celier@adacore.com>
676
677         * prj-makr.adb (Source_Files): New hash table to keep track of source
678         file names.
679         (Finalize): Avoid putting several times the same source file name
680         in the source list file.
681         * prj-pp.adb (Print): Fix a bug in the placement of "at nn" for
682         associative array indexes.
683
684 2009-11-30  Robert Dewar  <dewar@adacore.com>
685
686         * g-dyntab.ads: Add missing pragma Compiler_Unit
687
688 2009-11-30  Thomas Quinot  <quinot@adacore.com>
689
690         * s-crtrun.ads, s-crtl.ads, g-stseme.adb, Makefile.rtl, s-fileio.adb
691         (System.CRTL.Runtime): New unit, to contain parts of s-crtl that are
692         used in the Ada runtime but can't be used in the compiler because of
693         bootstrap issues.
694         * socket.c, s-oscons-tmplt.c, g-sothco.ads
695         (System.OS_Constants.SIZEOF_struct_servent): New constant.
696         Use s-oscons constant instead of external variable to get size of
697         struct hostent.
698
699 2009-11-30  Thomas Quinot  <quinot@adacore.com>
700
701         * s-crtl.ads, g-stseme.adb, s-fileio.adb (System.CRTL.strerror): Change
702         return type to Interfaces.C.Strings.chars_ptr to eliminate need for
703         dubious unchecked conversion at call sites.
704         * s-errrep.adb, s-errrep.ads, Makefile.rtl (System.Error_Reporting):
705         Remove obsolete, unused runtime unit.
706         * gcc-interface/Make-lang.in: Update dependencies.
707         * gcc-interface/Makefile.in: Remove VMS specialization of s-crtl, not
708         required anymore.
709
710 2009-11-30  Vincent Celier  <celier@adacore.com>
711
712         * gnatlink.adb: Delete an eventual existing executable file, in case it
713         is a symbolic link, to avoid modifying the target of the symbolic link.
714
715 2009-11-30  Bob Duff  <duff@adacore.com>
716
717         * socket.c: Add accessor functions for struct servent.
718         * g-sothco.ads (Servent): Declare interfaces to C accessor functions
719         for struct servent.
720         * g-socket.adb (To_Service_Entry): Use accessor functions for struct
721         servent.
722
723 2009-11-30  Robert Dewar  <dewar@adacore.com>
724
725         * g-arrspl.adb: Minor reformatting
726         * g-dyntab.adb: Add missing pragma Compiler_Unit
727
728 2009-11-30  Thomas Quinot  <quinot@adacore.com>
729
730         * s-crtl.ads, s-oscons-tmplt.c: Fix support for VMS
731         * make.adb, g-comlin.ads, exp_ch6.adb: Minor reformatting
732
733 2009-11-30  Robert Dewar  <dewar@adacore.com>
734
735         * bcheck.adb, gnatlink.adb, make.adb, makeutl.adb, osint.adb,
736         osint.ads, prj-ext.adb, sem_case.adb: Minor reformatting
737         * g-alleve.adb: Minor code reorganization (use conditional expressions)
738
739 2009-11-30  Matthew Heaney  <heaney@adacore.com>
740
741         * a-crbtgo.adb (Delete_Fixup): Changed always-true predicates to
742         assertions.
743
744 2009-11-30  Thomas Quinot  <quinot@adacore.com>
745
746         * a-tasatt.adb, s-crtl.ads, s-taprop-dummy.adb (System.CRTL.malloc32,
747         System.CRTL.realloc32): Remove VMS-specific routines.
748         (Ada.Task_Attributes.Reference): Remove unreachable code.
749         (System.Task_Primitives.Operations.Initialize, dummy version):
750         Use plain Program_Error rather than call to
751         System.Error_Reporting.Shutdown.
752
753 2009-11-30  Thomas Quinot  <quinot@adacore.com>
754
755         * s-oscons-tmplt.c, xoscons.adb: Add new constants in preparation for
756         sharing s-crtl across all platforms.
757
758 2009-11-30  Thomas Quinot  <quinot@adacore.com>
759
760         * s-commun.adb, s-commun.ads: New internal support unit,
761         allowing code sharing between GNAT.Sockets and
762         GNAT.Serial_Communication.
763         * g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
764         g-socket.adb (GNAT.Sockets.Last_Index): Move to System.Communication.
765         (GNAT.Serial_Communication.Read): Handle correctly the case where no
766         data was read, and Buffer'First = Stream_Element_Offset'First.
767         * Makefile.rtl: Add entry for s-commun
768         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
769         g-socthi-vxworks.ads, g-stseme.adb, g-socthi-mingw.ads,
770         g-socthi.adb, g-socthi.ads (GNAT.Sockets.Thin.Socket_Error_Message):
771         Reimplement in terms of System.CRTL.strerror.
772
773 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
774
775         * gcc-interface/utils.c (copy_type): Unshare the language-specific data
776         and the contents of the language-specific slot if needed.
777
778 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
779
780         * gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location
781         of the operator on both branches of the test in the generic case.
782
783 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
784
785         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...
786         (unchecked_conversion_nop): ...this.  Handle actual parameters.
787         (gnat_to_gnu): Adjust for above renaming.
788
789 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
790
791         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
792         Translate regular boolean types into BOOLEAN_TYPEs.
793
794 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
795
796         * sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype,
797         also set the flag on the Equivalent_Type.
798         * gcc-interface/utils.c (finish_record_type): Replace DO_NOT_FINALIZE
799         parameter with DEBUG_INFO_P.  Rename FIELDLIST into FIELD_LIST.
800         (rest_of_record_type_compilation): Rename FIELDLIST into FIELD_LIST.
801         (build_vms_descriptor32): Adjust call to finish_record_type.
802         (build_vms_descriptor): Likewise.
803         (build_unc_object_type): Likewise.
804         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
805         finish_record_type and components_to_record.
806         (make_packable_type): Adjust call to finish_record_type.
807         (maybe_pad_type): Likewise.  Tweak condition.
808         (components_to_record): Likewise.  Replace DO_NOT_FINALIZE parameter
809         with MAYBE_UNUSED.  Adjust recursive call.
810         (create_variant_part_from): Adjust call to finish_record_type.  Do not
811         call rest_of_record_type_compilation on the new record types.
812         * gcc-interface/trans.c (gigi): Adjust call to finish_record_type.
813         * gcc-interface/gigi.h (finish_record_type): Adjust prototype and
814         comment.
815         (rest_of_record_type_compilation): Adjust comment.
816
817 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
818
819         * exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as
820         frozen for targets that do not require front-end layout.
821         (New_Class_Wide_Subtype): Always reset the freezing status to False.
822         * exp_ch8.adb: Do not 'with' Targparm.
823         (Expand_N_Object_Renaming_Declaration): Always freeze a class-wide
824         subtype that has been built from the expression.
825         * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
826         class wide, freeze the implicit type that has been built from the
827         expression at the dereference point.
828         * freeze.adb (Freeze_Entity): Adjust comment.
829         * gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Class_Wide_Type>:
830         Remove useless test.
831         * gcc-interface/trans.c (process_freeze_entity): Do not special-case
832         class-wide subtypes.
833
834         * s-osinte-aix.adb (clock_gettime): Fix comment.
835         * s-osinte-darwin.adb (clock_gettime): Likewise.
836
837 2009-11-23  Eric Botcazou  <ebotcazou@adacore.com>
838
839         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Pass the list
840         of attributes when building the corresponding variable of a constant.
841         * gcc-interface/utils.c (create_var_decl_1): Do not process attributes
842         for constants.
843
844 2009-11-23  Laurent GUERBY  <laurent@guerby.net>
845             Eric Botcazou  <ebotcazou@adacore.com>
846
847         PR ada/42153
848         * s-osinte-linux.ads (struct_timeval): Delete.
849         * s-osinte-hpux.ads (struct_timeval, To_Duration, To_Timeval): Delete.
850         * s-osinte-kfreebsd-gnu.ads: Likewise.
851         * s-osinte-rtems.ads: Likewise.
852         * s-osinte-aix.ads: Likewise.
853         * s-osinte-hpux-dce.ads: Likewise.
854         * s-osinte-darwin.ads: Likewise.
855         * s-osinte-solaris-posix.ads: Likewise.
856         * s-osinte-irix.ads: Likewise.
857         * s-osinte-solaris.ads: Likewise.
858         * s-osinte-hpux-dce.adb (To_Duration, To_Timeval): Delete.
859         * s-osinte-irix.adb: Likewise.
860         * s-osinte-solaris.adb: Likewise.
861         * s-osinte-rtems.adb: Likewise.  Minor reformatting.
862         * s-osinte-aix.adb (To_Duration, To_Timeval): Delete.
863         (clock_gettime): Use cal.c's timeval_to_duration.
864         * s-osinte-darwin.adb: Likewise.
865
866 2009-11-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
867
868         * adaint.h: Assume large file support on IRIX only if _LFAPI.
869
870 2009-11-21  Laurent GUERBY  <laurent@guerby.net>
871             Eric Botcazou  <ebotcazou@adacore.com>
872
873         * s-osinte-linux.ads (struct_timeval, To_Duration, To_Timeval,
874         gettimeofday): Delete.
875         * s-osinte-posix.adb (To_Duration, To_Timeval): Delete.
876         * s-osprim-posix.adb (struct_timezone, struct_timeval, gettimeofday):
877         Delete.
878         (Clock): Use cal.c's timeval_to_duration.
879         * s-taprop-linux.adb (Monotonic_Clock): Likewise.
880
881 2009-11-12  Eric Botcazou  <ebotcazou@adacore.com>
882             Laurent GUERBY  <laurent@guerby.net>
883
884         * init.c (GNU/Linux Section): Enable for all architectures.
885
886 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
887
888         PR ada/20548
889         * system-linux-alpha.ads (Stack_Check_Probes): Set to true.
890         * system-linux-hppa.ads (Stack_Check_Probes): Likewise.
891         * system-linux-sparc.ads (Stack_Check_Probes): Likewise.
892         * system-linux-sparcv9.ads (Stack_Check_Probes): Likewise.
893
894 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
895
896         * system-linux-alpha.ads (AAMP, Compiler_System_Version, OpenVMS,
897         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
898         Delete.
899         (Stack_Check_Limits, Always_Compatible_Rep): New.
900         * system-linux-mips.ads (AAMP, Compiler_System_Version, OpenVMS,
901         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
902         Delete.
903         (Stack_Check_Limits, Always_Compatible_Rep): New.
904         * system-linux-mips64el.ads (AAMP, Compiler_System_Version, OpenVMS,
905         Functions_Return_By_DSP, Front_End_ZCX_Support, High_Integrity_Mode,
906         Long_Shifts_Inlined): Delete.
907         (Stack_Check_Limits, Always_Compatible_Rep): New.
908         * system-linux-mipsel.ads (AAMP, Compiler_System_Version, OpenVMS,
909         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
910         Delete.
911         (Stack_Check_Limits, Always_Compatible_Rep): New.
912         * system-linux-s390.ads (AAMP, Compiler_System_Version, OpenVMS,
913         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
914         Delete.
915         (Stack_Check_Limits, Always_Compatible_Rep): New.
916         * system-linux-s390x.ads (AAMP, Compiler_System_Version, OpenVMS,
917         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
918         Delete.
919         (Stack_Check_Limits, Always_Compatible_Rep): New.
920         * system-linux-sh4.ads (Stack_Check_Limits, Always_Compatible_Rep):
921         New.
922         * system-linux-sparc.ads (AAMP, Compiler_System_Version, OpenVMS,
923         Front_End_ZCX_Support): Delete.
924         (Stack_Check_Limits, Always_Compatible_Rep): New.
925         * system-linux-sparcv9.ads (AAMP, Compiler_System_Version, OpenVMS,
926         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
927         Delete.
928         (Stack_Check_Limits, Always_Compatible_Rep): New.
929         * system-rtems.ads (OpenVMS): Delete.
930         (Stack_Check_Limits, Always_Compatible_Rep): New.
931
932 2009-11-08  Eric Botcazou  <ebotcazou@adacore.com>
933
934         * gcc-interface/decl.c (make_packable_type): Fix oversight.
935         (gnat_to_gnu_field): Do not attempt to change the form of the type
936         if the field requires strict alignment.  Always change the form of
937         the type if the specified size is smaller than its size.
938
939 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
940
941         * gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes.
942
943 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
944
945         * gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>:
946         New case.
947
948 2009-10-30  Eric Botcazou  <ebotcazou@adacore.com>
949
950         * gcc-interface/utils.c (MAX_FIXED_MODE_SIZE): Delete.
951         (create_field_decl): Update description.  In a packed record, round
952         the size up to a byte boundary only if the field's type has BLKmode.
953         * gcc-interface/gigi.h (create_field_decl): Update description.
954
955 2009-10-30  Emmanuel Briot  <briot@adacore.com>
956
957         * make.adb (Start_Compile_If_Possible): Compute location of resulting
958         ALI file in this procedure instead of after the compilation itself,
959         since the current directory might have changed in between when using
960         -j<n>.
961
962         * osint.ads: Addded missing alignment clause.
963
964         * adaint.c, adaint.h, osint.adb (__gnat_reset_attributes,
965         __gnat_size_of_file_attributes): Rename reset_attributes and
966         size_of_file_attributes.
967
968 2009-10-30  Javier Miranda  <miranda@adacore.com>
969
970         * sem_scil.adb (Adjust_SCIL_Node): Add missing management of sequences
971         of statements when searching for SCIL nodes.
972
973 2009-10-30  Tristan Gingold  <gingold@adacore.com>
974
975         * gnatlink.adb, link.c: By default use shared libgcc on darwin.
976
977 2009-10-30  Emmanuel Briot  <briot@adacore.com>
978
979         * make.adb, osint.adb (Add_Lib_Search_Dir): Do not add if dir is
980         already in the list.
981         This saves system calls when looking for ALI files
982         (Scan_Make_Args): The parameter to gnatmake's -D is now converted to an
983         absolute PATH (so that the above improvement properly occurs if both
984         -D<dir> and -aO<dir> are specified).
985
986 2009-10-30  Thomas Quinot  <quinot@adacore.com>
987
988         * a-direct.adb: Minor reformatting
989
990 2009-10-30  Emmanuel Briot  <briot@adacore.com>
991
992         * make.adb, adaint.c, adaint.h, osint.adb, osint.ads, bcheck.adb
993         (*_attr): new subprograms.
994         (File_Length, File_Time_Stamp, Is_Writable_File): new subprograms
995         (Read_Library_Info_From_Full, Full_Library_Info_Name,
996         Full_Source_Name): Now benefit from a previous cache of the file
997         attributes, to further save on system calls.
998         (Smart_Find_File): now also cache the file attributes. This makes the
999         package File_Stamp_Hash_Table useless, and it was removed.
1000         (Compile_Sources): create subprograms for the various steps of the main
1001         loop, for readibility and to avoid sharing variables between the
1002         various steps.
1003
1004 2009-10-30  Emmanuel Briot  <briot@adacore.com>
1005
1006         * make.adb, osint.adb, osint.ads (Library_File_Stamp): Removed, since
1007         unused.
1008         (Read_Library_Info_From_Full): New subprogram.
1009
1010 2009-10-30  Robert Dewar  <dewar@adacore.com>
1011
1012         * a-tideio.adb: Minor reformatting
1013         * a-wtdeio.adb, a-ztdeio.adb: Update comments, code clean up.
1014
1015         * a-reatim.adb, a-tideau.adb, a-ngelfu.adb, a-ztdeau.adb, a-ngrear.adb,
1016         a-wtedit.adb, a-ststio.adb, a-ztedit.adb: Minor code reorganization
1017         (use conditional expressions).
1018
1019 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
1020
1021         * gnat_ugn.texi: Additional info on gnatw.i and gnatw.I
1022
1023         * sem_case.adb: Improved error message.
1024
1025 2009-10-30  Emmanuel Briot  <briot@adacore.com>
1026
1027         * a-direct.adb, gnatcmd.adb, gnatname.adb, makeutl.adb, opt.ads,
1028         osint.adb, prj-ext.adb, switch-m.adb (Follow_Links_For_Dirs): Now
1029         defaults to False, and controlled by -eL.
1030         * a-direct.adb: Add comments.
1031         * osint.adb (File_Stamp): Avoid unneeded duplicate system call
1032
1033 2009-10-30  Robert Dewar  <dewar@adacore.com>
1034
1035         * sem_res.adb (Resolve_Type_Conversion): Avoid false positive when
1036         converting non-static subtype to "identical" static subtype.
1037
1038 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
1039
1040         * usage.adb: Add -gnatw.i switch.
1041
1042 2009-10-30  Vincent Celier  <celier@adacore.com>
1043
1044         * xsnamest.adb: Update comments with regards to the template files
1045         snames.*.tmpl
1046
1047 2009-10-30  Bob Duff  <duff@adacore.com>
1048
1049         * s-fileio.adb (Errno_Message): Suppress VMS-specific warning.
1050
1051 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
1052
1053         * sem_case.adb (Check_Choices): Add explanatory message when there are
1054         missing alternatives when the required range of alternatives is given
1055         by the base type of the case expression or discriminant in a variant
1056         part.
1057
1058         * opt.ads: New flag Warn_On_Overlap, to enable warnings on potentially
1059         dangerous overlap between actuals in a call, activated by -gnatw.i
1060         * sem_warn.adb (Set_Dot_Warning_Switch): set flag.
1061         (Warn_On_Overlapping_Actuals): use new flag.
1062
1063         * gnat_ugn.texi: Document -gnatw.i, warning on overlapping actuals
1064
1065 2009-10-30  Robert Dewar  <dewar@adacore.com>
1066
1067         * exp_aggr.adb, exp_ch9.adb: Minor reformatting
1068
1069 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
1070
1071         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
1072         create integer types with precision 0.
1073
1074 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
1075
1076         PR ada/41870
1077         * gcc-interface/decl.c (array_type_has_nonaliased_component): Swap
1078         parameters and rewrite comments.  For a derived type, return the
1079         setting of its parent type.
1080         (gnat_to_gnu_entity): Do an alias set copy for derived types if they
1081         are composite.  Adjust calls to above function.
1082
1083 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
1084
1085         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Object_Size>: Do not
1086         return the RM size for padded types.
1087
1088 2009-10-28  Robert Dewar  <dewar@adacore.com>
1089
1090         * sem_type.adb: Minor reformatting
1091
1092 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
1093
1094         * exp_ch9.adb (Build_Task_Proc_Specification): Generate a different
1095         suffix for task type bodies.
1096
1097 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
1098
1099         * exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a
1100         finalization list if the designated type requires no control actions,
1101         to prevent a useless semantic dependence on ada.tags.
1102
1103 2009-10-28  Bob Duff  <duff@adacore.com>
1104
1105         * s-fileio.adb: Give more information in exception messages.
1106
1107 2009-10-28  Robert Dewar  <dewar@adacore.com>
1108
1109         * gnat_ugn.texi: Document new -gnatyt requirement for space after right
1110         paren if next token starts with digit or letter.
1111         * styleg.adb (Check_Right_Paren): New rule for space after if next
1112         character is a letter or digit.
1113
1114 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1115
1116         * s-crtl.ads (System.CRTL.strerror): New function.
1117
1118 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
1119
1120         * sem_type.adb: Add guard to recover some type errors.
1121
1122 2009-10-28  Vincent Celier  <celier@adacore.com>
1123
1124         * prj-nmsc.adb (Add_To_Or_Remove_From_List): New name of procedure
1125         Add_If_Not_In_List to account to the fact that a directory may be
1126         removed from the list. Only remove directory if Removed is True.
1127
1128 2009-10-28  Gary Dismukes  <dismukes@adacore.com>
1129
1130         * a-textio.ads, a-textio.ads: Put back function EOF_Char in private
1131         part. Put back body of function EOF_Char.
1132         * a-tienau.adb: Remove with of Interfaces.C_Streams and change EOF back
1133         to EOF_Char.
1134
1135 2009-10-28  Emmanuel Briot  <briot@adacore.com>
1136
1137         * prj-tree.adb (Free): Fix memory leak.
1138
1139 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1140
1141         * s-fileio.adb: Minor reformatting
1142
1143 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
1144
1145         * gcc-interface/Make-lang.in: Update dependencies.
1146
1147 2009-10-28  Robert Dewar  <dewar@adacore.com>
1148
1149         * exp_attr.adb, exp_ch9.adb, prj-nmsc.adb, tbuild.adb, ali.adb,
1150         types.ads: Minor reformatting
1151
1152 2009-10-28  Tristan Gingold  <gingold@adacore.com>
1153
1154         * init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard)
1155
1156 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1157
1158         * exp_ch4.adb (Expand_N_Type_Conversion): Perform Integer promotion for
1159         the operand of the unary minus and ABS operators.
1160
1161         * sem_type.adb (Covers): A concurrent type and its corresponding record
1162         type are compatible.
1163         * exp_attr.adb (Expand_N_Attribute_Reference): Do not rewrite a 'Access
1164         attribute reference for the current instance of a protected type while
1165         analyzing an access discriminant constraint in a component definition.
1166         Such a reference is handled in the corresponding record's init proc,
1167         while initializing the constrained component.
1168         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
1169         corresponding record type, propagate components'
1170         Has_Per_Object_Constraint flag.
1171         * exp_ch3.adb (Build_Init_Procedure.Build_Init_Statements):
1172         For a concurrent type, set up concurrent aspects before initializing
1173         components with a per object constrain, because they may be controlled,
1174         and their initialization may call entries or protected subprograms of
1175         the enclosing concurrent object.
1176
1177 2009-10-28  Emmanuel Briot  <briot@adacore.com>
1178
1179         * prj-nmsc.adb (Add_If_Not_In_List): New subprogram, for better sharing
1180         of code.
1181         (Find_Source_Dirs): resolve links if Opt.Follow_Links_For_Dirs when
1182         processing the directories specified explicitly in the project file.
1183
1184 2009-10-28  Robert Dewar  <dewar@adacore.com>
1185
1186         * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb,
1187         a-textio.ads, a-textio.adb: Reorganize (moving specs from private part
1188         to body).
1189         (Initialize_Standard_Files): New procedure.
1190         * a-tienau.adb: Minor change to make EOF directly visible
1191         * a-tirsfi.ads, a-wrstfi.adb, a-wrstfi.ads, a-zrstfi.adb,
1192         a-zrstfi.ads, a-tirsfi.adb: New unit, initial version.
1193         * gnat_rm.texi: Add documentation for
1194         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files.
1195         * Makefile.rtl: Add entries for
1196         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files
1197
1198 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1199
1200         * exp_ch9.ads: Minor reformatting
1201         * sem_ch3.adb: Minor reformatting
1202         * sem_aggr.adb: Minor reformatting.
1203         * sem_attr.adb: Minor reformatting
1204         * tbuild.adb, tbuild.ads, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node):
1205         New subprogram.
1206         Minor code reorganization/factoring.
1207
1208 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1209
1210         * gcc-interface/decl.c (purpose_member_field): New static function.
1211         (annotate_rep): Use it instead of purpose_member.
1212
1213 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1214
1215         * raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
1216         _Unwind_GetIP if HAVE_GETIPINFO is defined.
1217         (db_action_for): Likewise.
1218
1219 2009-10-27  Robert Dewar  <dewar@adacore.com>
1220
1221         * s-fileio.adb, s-fileio.ads, sem_util.adb, sem_warn.adb,
1222         sem_warn.ads: Minor reformatting
1223
1224 2009-10-27  Robert Dewar  <dewar@adacore.com>
1225
1226         * sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add
1227         comments.
1228
1229 2009-10-27  Robert Dewar  <dewar@adacore.com>
1230
1231         * s-os_lib.ads, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor
1232         reformatting.
1233
1234 2009-10-27  Ed Schonberg  <schonberg@adacore.com>
1235
1236         * sem.util.ads, sem_util.adb (Denotes_Same_Object,
1237         Denotes_Same_Prefix): New functions to detect overlap between actuals
1238         that are not by-copy in a call, when one of them is in-out.
1239         * sem_warn.ads, sem_warn.adb (Warn_On_Overlapping_Actuals): New
1240         procedure,  called on a subprogram call to warn when an in-out actual
1241         that is not by-copy overlaps with another actual, thus leadind to
1242         potentially dangerous aliasing in the body of the called subprogram.
1243         Currently the warning is under control of the -gnatX switch.
1244         * sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals.
1245
1246 2009-10-27  Thomas Quinot  <quinot@adacore.com>
1247
1248         * sem_ch12.adb (Install_Formal_Packages): Do not omit installation of
1249         visible entities when the formal package doesn't have a box.
1250
1251         * checks.adb: Minor reformatting.
1252
1253 2009-10-27  Vincent Celier  <celier@adacore.com>
1254
1255         * prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and
1256         set Project to Empty_Node.
1257
1258 2009-10-27  Robert Dewar  <dewar@adacore.com>
1259
1260         * gnatbind.adb: Minor reformatting
1261
1262 2009-10-27  Arnaud Charlet  <charlet@adacore.com>
1263
1264         * exp_aggr.adb: Fix comment.
1265
1266 2009-10-27  Emmanuel Briot  <briot@adacore.com>
1267
1268         * prj-err.adb (Error_Msg): take into account continuation lines when
1269         computing whether we have a warning.
1270
1271 2009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>
1272
1273         * make.adb, s-os_lib.adb, s-os_lib.ads (Create_Temp_Output_File): New
1274         routine that is designed to create temp file descriptor specifically
1275         for redirecting an output stream.
1276
1277 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
1278
1279         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
1280         processing the parent type, build the COMPONENT_REF for a discriminant
1281         with the proper type.
1282
1283 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
1284
1285         * init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo.
1286         * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Add HAVE_GETIPINFO.
1287         Pass GNATLIBCFLAGS_FOR_C to recursive invocations.
1288
1289 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1290
1291         * gcc-interfaces/decl.c (build_subst_list): Convert the expression of
1292         the constraint to the type of the discriminant.
1293
1294 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1295
1296         * gcc-interfaces/decl.c (gnat_to_gnu_entity): Do not create a new
1297         TYPE_DECL when a type is padded if there is already one and reset
1298         TYPE_STUB_DECL in this case.
1299
1300 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1301
1302         * gcc-interfaces/utils.c (create_subprog_decl): Do not redefine
1303         main_identifier_node.
1304
1305 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1306
1307         * gcc-interface/utils.c (convert): When converting to a padded type
1308         with an inner type of self-referential size, pad the expression before
1309         doing the unchecked conversion.
1310
1311 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1312
1313         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Make
1314         sure the element type is consistent.
1315
1316 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1317
1318         * gcc-interface/trans.c (addressable_p): Handle bitwise operations.
1319
1320 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1321
1322         * gcc-interface/ada-tree.h (TYPE_FAT_POINTER_P): Swap with...
1323         (TYPE_IS_FAT_POINTER_P): ...this.
1324         (TYPE_THIN_POINTER_P): Rename into...
1325         (TYPE_IS_THIN_POINTER_P): ...this.
1326         (TYPE_FAT_OR_THIN_POINTER_P): Rename into...
1327         (TYPE_IS_FAT_OR_THIN_POINTER_P): ...this.
1328         (TYPE_IS_PADDING_P): Change definition, move old one to...
1329         (TYPE_PADDING_P): ...this.
1330         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
1331         (get_unpadded_type): Likewise.
1332         (gnat_to_gnu_component_type): Likewise.
1333         (gnat_to_gnu_param): Likewise.
1334         (relate_alias_sets): Likewise.
1335         (make_packable_type): Likewise.
1336         (maybe_pad_type): Likewise.
1337         (gnat_to_gnu_field): Likewise.
1338         (is_variable_size): Likewise.
1339         (annotate_object): Likewise.
1340         (validate_size): Likewise.
1341         (set_rm_size): Likewise.
1342         (make_type_from_size): Likewise.
1343         (rm_size): Likewise.
1344         * gcc-interface/misc.c (gnat_print_type): Likewise.
1345         (gnat_get_alias_set): Likewise.
1346         * gcc-interface/trans.c (Identifier_to_gnu): Likewise.
1347         (Attribute_to_gnu): Likewise.
1348         (call_to_gnu): Likewise.
1349         (gnat_to_gnu): Likewise.
1350         (add_decl_expr): Likewise.
1351         (convert_with_check): Likewise.
1352         (addressable_p): Likewise.
1353         (maybe_implicit_deref): Likewise.
1354         (protect_multiple_eval): Likewise.
1355         (gnat_stabilize_reference_1): Likewise.
1356         * gcc-interface/utils.c (gnat_pushdecl): Likewise.
1357         (finish_record_type): Likewise.
1358         (rest_of_record_type_compilation): Likewise.
1359         (create_type_decl): Likewise.
1360         (gnat_types_compatible_p): Likewise.
1361         (build_template): Likewise.
1362         (convert_vms_descriptor64): Likewise.
1363         (convert_vms_descriptor32): Likewise.
1364         (build_unc_object_type_from_ptr): Likewise.
1365         (update_pointer_to): Likewise.
1366         (convert_to_fat_pointer): Likewise.
1367         (convert_to_fat_pointer): Likewise.
1368         (convert): Likewise.
1369         (remove_conversions): Likewise.
1370         (maybe_unconstrained_array): Likewise.
1371         (unchecked_convert): Likewise.
1372         (handle_vector_type_attribute): Likewise.
1373         * gcc-interface/utils2.c (build_binary_op): Likewise.
1374         (build_unary_op): Likewise.
1375         (build_allocator): Likewise.
1376
1377 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1378
1379         * exp_dbug.ads: Adjust type names in comments.
1380         * gcc-interface/decl.c (maybe_pad_type): Remove NAME_TRAILER parameter,
1381         add new IS_COMPONENT_TYPE parameter.  Adjust.  Remove dead code.
1382         (gnat_to_gnu_entity): Adjust for above change.
1383         (gnat_to_gnu_component_type): Likewise.
1384         (gnat_to_gnu_field): Likewise.
1385         * gcc-interface/trans.c (call_to_gnu): Likewise.  Do not unnecessarily
1386         call max_size.
1387         * gcc-interface/utils.c (finish_record_type): Remove obsolete code.
1388         * gcc-interface/gigi.h (maybe_pad_type): Adjust prototype.
1389
1390 2009-10-16  Joel Sherrill <joel.sherrill@oarcorp.com>
1391
1392         * s-osinte-rtems.ads: Add mutex type to pthread_mutexattr_t
1393         * s-stchop-rtems.adb: Correct binding to rtems_stack_checker_is_blown.
1394
1395 2009-10-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1396
1397         * env.c [__alpha__ && __osf__] (AES_SOURCE): Define.
1398
1399 2009-10-10  Samuel Tardieu  <sam@rfc1149.net>
1400
1401         * sem_eval.adb: Give a more precise error message.
1402
1403 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1404
1405         PR ada/41383
1406         * a-rttiev.adb (Time_Of_Event): Return Time_First for unset event.
1407
1408 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1409
1410         PR ada/38333
1411         * sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract
1412         subprogram to be completed with a "pragma Import".
1413
1414 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1415
1416         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>:
1417         Generate an XVZ variable alongside the XVS type if the size is
1418         not constant.
1419         (maybe_pad_type): Minor tweak.
1420
1421 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1422
1423         * gcc-interface/decl.c (check_ok_for_atomic): Do nothing if the type
1424         doesn't come from source.
1425
1426 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1427
1428         * gcc-interface/decl.c (gnat_to_gnu_component_type): Force at least
1429         unit size for the component size of an array with aliased components.
1430         (maybe_pad_type): Do not warn for MAX_EXPR.
1431
1432 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1433
1434         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Factor out
1435         common code processing the component type into...
1436         <E_Array_Subtype>: Likewise.
1437         (gnat_to_gnu_component_type): ...this new static function.
1438         (maybe_pad_type): Minor cleanup.
1439
1440 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1441
1442         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Rewrite
1443         the handling of constrained discriminated record subtypes.
1444         (components_to_record): Declare the type of the variants and of the
1445         qualified union.
1446         (build_subst_list): Move around.
1447         (compute_field_positions): Rename into...
1448         (build_position_list): ...this.  Return a TREE_VEC.
1449         (annotate_rep): Adjust for above renaming.
1450         (build_variant_list): New static function.
1451         (create_field_decl_from): Likewise.
1452         (get_rep_part): Likewise.
1453         (get_variant_part): Likewise.
1454         (create_variant_part_from): Likewise.
1455         (copy_and_substitute_in_size): Likewise.
1456
1457 2009-09-28  Olivier Hainque  <hainque@adacore.com>
1458
1459         PR ada/41100
1460         * gcc-interface/targtyps.c (get_target_default_allocator_alignment):
1461         Account for observable alignments out of default allocators.
1462
1463 2009-09-28  Richard Henderson  <rth@redhat.com>
1464
1465         * gcc-interface/utils.c (gnat_install_builtins): Update call to
1466         build_common_builtin_nodes.
1467
1468 2009-09-26  Eric Botcazou  <ebotcazou@adacore.com>
1469
1470         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Filter out
1471         negative size for the array dimensions like in the constrained case.
1472         <E_Array_Subtype>: Do not create an artificially non-constant high
1473         bound if the low bound is non-constant.  Minor tweaks.
1474
1475         * gcc-interface/trans.c (lvalue_required_p): Add CONSTANT parameter
1476         and turn ALIASED into a boolean parameter.  Adjust calls to self.
1477         <N_Attribute_Reference>: Return 1 for more attributes.
1478         <N_Object_Renaming_Declaration>: Return 1 for non-constant objects.
1479         <N_Assignment_Statement>: Return 1 for the LHS.
1480         (Identifier_to_gnu): Adjust calls to lvalue_required_p.
1481         (call_to_gnu): Be prepared for wrapped boolean rvalues.
1482
1483 2009-09-25  Olivier Hainquqe  <hainque@adacore.com>
1484             Eric Botcazou  <ebotcazou@adacore.com>
1485
1486         * gcc-interface/ada-tree.h (TYPE_REPRESENTATIVE_ARRAY): New language
1487         specific node.  Representative array type for VECTOR_TYPE entities.
1488         * gcc-interface/utils.c (handle_vector_type_attribute): New handler.
1489         Turn an ARRAY_TYPE entity into a VECTOR_TYPE.   
1490         (gnat_types_compatible_p): Handle VECTOR_TYPEs.
1491         (convert): Likewise.  Arrange to produce VECTOR_CST out of constant
1492         array aggregates for VECTOR_TYPE entities.
1493         (unchecked_convert): Likewise.
1494         (maybe_vector_array): New function. If EXP has VECTOR_TYPE, return EXP
1495         converted to the associated TYPE_REPRESENTATIVE_ARRAY.
1496         (handle_pure_attribute, handle_sentinel_attribute,
1497         handle_noreturn_attribute, handle_malloc_attribute,
1498         handle_vector_size_attribute): Replace uses of qE format by qs.
1499         Remove GCC_DIAG_STYLE definition.
1500         * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Convert
1501         vector input to representative array type on entry.
1502         <N_Op_Eq, etc>: Likewise.
1503         * gcc-interface/gigi.h (maybe_vector_array): Declare.
1504         (VECTOR_TYPE_P): New predicate.
1505         * gcc-interface/misc.c (gnat_print_type): Handle VECTOR_TYPE.
1506
1507 2009-09-24  Eric Botcazou  <ebotcazou@adacore.com>
1508
1509         * gcc-interface/ada.h: Fix outdated comment.
1510         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in
1511         lieu of mark_visited.
1512         * gcc-interface/gigi.h (mark_visited): Change type of parameter.
1513         (MARK_VISITED): New macro.
1514         (gnat_truthvalue_conversion): Delete.
1515         * gcc-interface/decl.c (gnat_to_gnu_entity): Use MARK_VISITED in lieu
1516         of mark_visited.
1517         (annotate_rep): Fix formatting and tidy.
1518         (compute_field_positions): Get rid of useless variable.
1519         * gcc-interface/trans.c (gnat_to_gnu): Retrieve the Nkind of the GNAT
1520         node only once.  Use IN operator for the Nkind in more cases.
1521         Remove calls to gnat_truthvalue_conversion.
1522         (mark_visited): Change type of parameter and adjust.
1523         (mark_visited_r): Dereference TP only once.
1524         (add_decl_expr): Use MARK_VISITED in lieu of mark_visited.
1525         * gcc-interface/utils2.c (gnat_truthvalue_conversion): Delete.
1526         (build_binary_op): Remove calls to gnat_truthvalue_conversion.
1527         (build_unary_op): Likewise.
1528
1529 2009-09-24  Dave Korn  <dave.korn.cygwin@gmail.com>
1530
1531         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Simplify test for
1532         a-except% in target pairs list; don't (implicitly) compare whitespace.
1533
1534 2009-09-24  Jakub Jelinek  <jakub@redhat.com>
1535
1536         * gcc-interface/utils.c (gnat_pushdecl): Don't set
1537         DECL_NO_STATIC_CHAIN, set DECL_STATIC_CHAIN for
1538         nested functions.
1539
1540 2009-09-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
1541
1542         * s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0.
1543         Bind to getpagesize() in RTEMS 4.10 and newer.
1544
1545 2009-09-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1546
1547         * env.c [__alpha__ && __osf__] (_BSD): Define.
1548         * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
1549         to const char *.
1550
1551 2009-09-18  Pascal Obry  <obry@adacore.com>
1552
1553         * mingw32.h: Activate Unicode support for x86-64 Windows platform.
1554
1555 2009-09-18  Vadim Godunko  <godunko@adacore.com>
1556
1557         * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
1558
1559 2009-09-18  Javier Miranda  <miranda@adacore.com>
1560
1561         * exp_aggr.adb (Backend_Processing_Possible): Disable backend
1562         processing for array aggregates in the VM backend if the array has
1563         aliased components.
1564
1565 2009-09-18  Ed Schonberg  <schonberg@adacore.com>
1566
1567         * sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
1568         the prefix indicates a previous semantic error, and this is the first
1569         error in the program.
1570
1571 2009-09-18  Bob Duff  <duff@adacore.com>
1572
1573         * gnat_ugn.texi: Minor editing.
1574
1575 2009-09-18  Vincent Celier  <celier@adacore.com>
1576
1577         * prj.ads, prj.adb (Project_Data): New component
1578         Imported_Directories_Switches.
1579
1580 2009-09-18  Pascal Obry  <obry@adacore.com>
1581
1582         * mingw32.h: Include standard _mingw.h file.
1583         Define _WIN32_WINNT only if not already defined.
1584
1585 2009-09-18  Thomas Quinot  <quinot@adacore.com>
1586
1587         * g-socket.adb (Is_Open): New function indicating whether a
1588         Selector_Type object is open.
1589
1590 2009-09-18  Vincent Celier  <celier@adacore.com>
1591
1592         * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
1593         is deleted before creating it.
1594
1595 2009-09-18  Robert Dewar  <dewar@adacore.com>
1596
1597         * bindgen.adb: Minor reformatting
1598
1599 2009-09-18  Arnaud Charlet  <charlet@adacore.com>
1600
1601         * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
1602         s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
1603         signal handler is installed.
1604         * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
1605         tasks if Abort_Task_Interrupt cannot be used.
1606
1607 2009-09-18  Vincent Celier  <celier@adacore.com>
1608
1609         * prj-tree.ads: Minor comment update
1610
1611 2009-09-17  Bob Duff  <duff@adacore.com>
1612
1613         * g-socket.ads: Document the fact that Close_Selector has no effect on
1614         a closed selector.
1615         * g-socket.adb: Raise an exception when a Selector that should be open
1616         is closed.
1617         (Check_Selector): Declare RSig as a constant rather than a renames,
1618         less confusing.
1619
1620 2009-09-17  Robert Dewar  <dewar@adacore.com>
1621
1622         * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
1623         prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb,
1624         prj-tree.ads: Minor reformatting
1625
1626 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1627
1628         * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
1629         spec.
1630         (Do_Autoconf): If the object directory does not exists, create auto.cgpr
1631         in a temporary directory instead
1632
1633 2009-09-17  Bob Duff  <duff@adacore.com>
1634
1635         * a-dynpri.adb (Set_Priority): Don't do anything if the task is already
1636         terminated.
1637         (Get_Priority): Correct message for "terminated" case -- it said "null".
1638
1639 2009-09-17  Robert Dewar  <dewar@adacore.com>
1640
1641         * exp_ch6.adb: Minor reformatting
1642
1643 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1644
1645         * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
1646         switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
1647         (Project_Node_Tree_Data.Project_Path): New field.
1648
1649         * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
1650
1651 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1652
1653         * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
1654         Remove duplicate code.
1655         (Prj.Ext): Fix memory leak
1656         (Check): Now allow the syntax "-Xfoo=" to set an empty value to the
1657         variable. This was previously allowed in the code in
1658         Is_External_Assignment, and some tests rely on it
1659
1660 2009-09-17  Bob Duff  <duff@adacore.com>
1661
1662         * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
1663
1664 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1665
1666         * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
1667         makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
1668         prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
1669         prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
1670         Scenario variables are now specific to each project tree loaded in
1671         memory.
1672         Code clean ups.
1673
1674 2009-09-17  Javier Miranda  <miranda@adacore.com>
1675
1676         * exp_disp.adb (Make_DT): Remove wrong line of code that was
1677         undocumented and probably added by mistake.
1678
1679 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1680
1681         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
1682         conversions between original and packable version of types from
1683         the expression.
1684
1685 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1686
1687         * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
1688         If a padding type was made for the field, declare it.
1689         (components_to_record): Add DEBUG_INFO_P parameter.  Adjust call
1690         to gnat_to_gnu_field and call to self.
1691         (gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
1692         <E_Array_Subtype>: Likewise.
1693         Adjust calls to gnat_to_gnu_field and components_to_record.
1694
1695 2009-09-16  Robert Dewar  <dewar@adacore.com>
1696
1697         * prj-nmsc.adb: Minor reformatting
1698
1699 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1700
1701         * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
1702         expression is a by-reference type (tagged or inherently limited)
1703         introduce an access type to capture references to the values of each
1704         branch of the conditional.
1705
1706 2009-09-16  Emmanuel Briot  <briot@adacore.com>
1707
1708         * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
1709         (Project_Name_And_Node.Display_Name): new field
1710         The display name of a project (as written in the .gpr file) is now
1711         computed when the project file itself is parsed, not when it is
1712         processed.
1713
1714 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1715
1716         * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
1717         intrinsics untouched (to be expanded later on by gigi) if an external
1718         name has been specified.
1719         (Freeze_Entity): Do not generate a default external name for
1720         imported subprograms with convention Intrinsic (so that the above code
1721         can identify the case where an external name has been explicitly
1722         provided).
1723
1724         * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
1725         replaced by something else due to an existing #define clause.
1726
1727 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1728
1729         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
1730         Parameter_Association node, created for the extra actual generated for
1731         an access parameter of a function that dispatches on result, to prevent
1732         double generation of such actuals when the call is rewritten is a
1733         dispatching call.
1734         * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
1735         * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
1736         that carry this flag when rewriting the original call as a dispatching
1737         call, after propagating the controlling tag.
1738
1739 2009-09-16  Vincent Celier  <celier@adacore.com>
1740
1741         * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
1742         in the source data.
1743         (Check_File): New parameter Source_Dir_Rank, to check if a duplicate
1744         source is allowed.
1745         (Find_Source_Dirs): New parameter Rank to be recorded with the source
1746         directories.
1747         (Search_Directories): Call Check_File with the rank of the directory
1748         * prj.adb (Project_Empty): Add new component Source_Dir_Ranks
1749         (Free): Free also Number_Lists
1750         (Reset): Init also Number_Lists
1751         * prj.ads (Number_List_Table): New dynamic table for lists of numbers
1752         (Source_Data): New component Source_Dir_Rank. Remove component
1753         Known_Order_Of_Source_Dirs, no longer needed.
1754         (Project_Data): New component Source_Dir_Ranks
1755         (Project_Tree_Data): New components Number_Lists
1756
1757 2009-09-16  Vincent Celier  <celier@adacore.com>
1758
1759         * gprep.adb (Yes_No): New global constant
1760         Unix_Line_Terminators: New global Boolean variable
1761         (Process_One_File): Create the out file with a "Text_Translation=" form
1762         that depends on the use of option -T.
1763         (Scan_Command_Line): Add option -T
1764         (Usage): Add line for option -T
1765
1766 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1767
1768         * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
1769         predicate that describes a proper subset of
1770         Is_Predefined_Dispatching_Operation and excludes stream operations,
1771         which can be overridden by the user.
1772         * sem_ch6.adb (Create_Extra_Formals): use
1773         Is_Predefined_Internal_Operation, so that stream operations get extra
1774         formals.
1775         * exp_ch6.adb (Prevent double generation of extra actuals in calls to
1776         'Input, which may be expanded twice, first as a function call and then
1777         as a dispatching call.
1778
1779 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1780
1781         * s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
1782         * g-expect.adb (Set_Up_Child_Communications): Use
1783         System.OS_Constants.Target_OS to determine whether running on Windows.
1784
1785 2009-09-14  Richard Henderson  <rth@redhat.com>
1786
1787         * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
1788
1789 2009-09-14  Eric Botcazou  <ebotcazou@adacore.com>
1790
1791         * exp_dbug.ads (Packed Array Encoding): Document the new encoding for
1792         the unconstrained case.
1793         * gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
1794         the encoding.  Do not give a name to the pointer type to the XUT type.
1795         * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
1796         for fat pointer types, if any.  Make sure DECL_ARTIFICIAL is cleared
1797         on nodes with DECL_ORIGINAL_TYPE set.
1798         (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
1799         for fat pointer types.  Make sure DECL_ARTIFICIAL is cleared.
1800
1801 2009-09-14  Richard Henderson  <rth@redhat.com>
1802
1803         * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1804         default_init_unwind_resume_libfunc.
1805         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
1806         __builtin_eh_pointer.
1807         * gcc-interface/utils.c (gnat_install_builtins): Update call
1808         to build_common_builtin_nodes.
1809
1810 2009-09-13  Richard Guenther  <rguenther@suse.de>
1811             Rafael Avila de Espindola  <espindola@google.com>
1812
1813         * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
1814         eh_personality_libfunc and lang_eh_runtime_type.
1815         (LANG_HOOKS_EH_PERSONALITY): Define.
1816         (gnat_eh_personality_decl): New static variable.
1817         (gnat_eh_personality): New static function.
1818         Include gt-ada-misc.h.
1819         * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
1820         * gcc-interface/config-lang.in (gtfiles): Add misc.c.
1821
1822 2009-09-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1823
1824         PR ada/18302
1825         * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
1826
1827 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1828
1829         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
1830         flow of control.
1831         Avoid useless work when processing the Treat_As_Volatile flag.
1832
1833 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1834
1835         * gcc-interface/targtyps.c: Reorder include directives.
1836
1837 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1838
1839         * gcc-interface/targtyps.c: Add missing include for tm_p.h.
1840         * gcc-interface/Make-lang.in: Update dependencies.
1841
1842 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1843
1844         * make.adb: Add missing documentation for multilib handling.
1845         
1846 2009-09-03  Diego Novillo  <dnovillo@google.com>
1847
1848         * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
1849
1850 2009-09-02  Richard Henderson  <rth@redhat.com>
1851
1852         * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
1853
1854 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1855
1856         * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
1857         and uc arguments.
1858         
1859 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1860
1861         * gcc-interface/decl.c (cannot_be_superflat_p): Handle
1862         Signed_Integer_Type_Definition Scalar_Ranges.
1863
1864 2009-09-02  Eric Botcazou  <ebotcazou@adacore.com>
1865
1866         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
1867         SAVE_EXPR built for misaligned arguments.  Remove redundant stuff.
1868         (addressable_p): Return true for more rvalues.
1869
1870 2009-09-01  Jakub Jelinek  <jakub@redhat.com>
1871
1872         * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
1873         POINTER_SIZE to HOST_WIDE_INT.
1874
1875 2009-09-01  Richard Guenther  <rguenther@suse.de>
1876
1877         * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
1878
1879 2009-08-25  Eric Botcazou  <ebotcazou@adacore.com>
1880
1881         * gcc-interface/trans.c (call_to_gnu): Tidy.
1882         (gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
1883         non-constant size but the array itself has constant size.
1884         * gcc-interface/utils.c (convert_vms_descriptor64): Fix type
1885         consistency error.
1886         (convert_vms_descriptor32): Likewise.
1887
1888 2009-08-22  Aurelien Jarno  <aurelien@aurel32.net>
1889
1890         * gcc-interface/Makefile.in: Add Ada support for 
1891         GNU/kFreeBSD x86_64.
1892         * system-freebsd-x86_64.ads: New file based on 
1893         system-freebsd-x86.ads.
1894
1895 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1896
1897         * gcc-interface/utils.c (convert): In the padded case, do the final
1898         conversion as an unchecked conversion if the underlying types are
1899         array types with variable size.
1900
1901 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1902
1903         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
1904         as visited.
1905         * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
1906         bounds.
1907         * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
1908         fields.
1909         (gnat_gimplify_expr) <DECL_EXPR>: New case.
1910
1911 2009-08-17  Aurelien Jarno  <aurelien@aurel32.net>
1912
1913         * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
1914         (stack_t): New record type.
1915         (sigaltstack): New imported function.
1916         (Alternate_Stack): New imported variable.
1917         (Alternate_Stack_Size): New constant.
1918
1919 2009-08-17  Vasiliy Fofanov  <fofanov@adacore.com>
1920
1921         * a-calend-vms.adb: Fix typo.
1922
1923 2009-08-17  Tristan Gingold  <gingold@adacore.com>
1924
1925         * s-taprop-posix.adb: Round up the stack size to avoid failure on
1926         Darwin.
1927
1928 2009-08-17  Gary Dismukes  <dismukes@adacore.com>
1929
1930         * sem_cat.adb (Validate_Static_Object_Name): Update comment.
1931
1932 2009-08-17  Vincent Celier  <celier@adacore.com>
1933
1934         * make.adb (Arguments_Collected): Unneeded, removed
1935         (Change_To_Object_Directory): Use Project directly. Add pragma Assert to
1936         ensure caller does not pass in No_Project.
1937         (Compile): Add new parameter Project. Let procedure
1938         Collect_Arguments_And_Compile provide the proper value.
1939
1940         * switch-c.adb: Add documentation for -gnatea and -gnatez
1941
1942 2009-08-17  Ben Brosgol  <brosgol@adacore.com>
1943
1944         * gnat_ugn.texi: Changed name of package in SAL example, to avoid
1945         clash with Ada 2005 reserved word (interface).
1946
1947 2009-08-17  Robert Dewar  <dewar@adacore.com>
1948
1949         * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
1950         a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
1951         a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
1952         (use conditional expressions).
1953
1954 2009-08-17  Robert Dewar  <dewar@adacore.com>
1955
1956         * make.adb: Add ??? comment
1957         * tbuild.adb: Minor reformatting
1958
1959 2009-08-17  Thomas Quinot  <quinot@adacore.com>
1960
1961         * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
1962         Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
1963         Use Tbuild.Make_Temporary to create entity for the temporary.
1964
1965 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
1966
1967         * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
1968         and ignore -mieee switch to avoid spawning an extra gcc in this case.
1969
1970 2009-08-17  Thomas Quinot  <quinot@adacore.com>
1971
1972         * tbuild.adb: Minor reformatting
1973
1974 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
1975
1976         * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
1977         exist, as is the case for synchronized types, use the type of the
1978         discriminal in the parameter specification, to prevent a spurious
1979         subtype mismatch in gigi.
1980
1981 2009-08-17  Robert Dewar  <dewar@adacore.com>
1982
1983         * prj-env.adb: Minor reformatting
1984         * make.adb: Minor reformatting
1985         Comment updates
1986
1987 2009-08-17  Javier Miranda  <miranda@adacore.com>
1988
1989         * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
1990
1991 2009-08-17  Emmanuel Briot  <briot@adacore.com>
1992
1993         * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
1994         (Processing_Flags.Require_Obj_Dirs): new field, which controls whether
1995         object directories must be present. In the case of gprclean at least,
1996         these are optional (if they do not exist there is nothing to clean)
1997
1998 2009-08-17  Robert Dewar  <dewar@adacore.com>
1999
2000         * prj-env.adb: Minor reformatting
2001         * sem_ch3.adb: Minor reformatting
2002
2003 2009-08-17  Hristian Kirtchev  <kirtchev@adacore.com>
2004
2005         * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
2006         the time zone since VxWorks chose positive values to represent west
2007         time zones and negative for east zones.
2008
2009 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
2010
2011         * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
2012         an anonymous access type whose designated type is generic.
2013
2014 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
2015
2016         * comperr.adb (Compiler_Abort): Do not generate a bug box when in
2017         codepeer mode, friendlier.
2018
2019 2009-08-10  Laurent GUERBY  <laurent@guerby.net>
2020
2021         * make.adb: Handle multilib
2022         
2023 2009-08-10  Vincent Celier  <celier@adacore.com>
2024
2025         * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
2026         the temporary file name in the error message when the temporary file
2027         cannot be created.
2028
2029 2009-08-10  Yannick Moy  <moy@adacore.com>
2030
2031         * gnat_ugn.texi: Fix typo
2032
2033 2009-08-10  Robert Dewar  <dewar@adacore.com>
2034
2035         * exp_ch7.adb: Add ??? comment for last change
2036
2037 2009-08-10  Vincent Celier  <celier@adacore.com>
2038
2039         * prj-env.adb (Add_To_Buffer): New procedure
2040         (Create_Config_Pragmas_File): Write to temporary file in one shot
2041         (Create_Mapping_File): Ditto
2042         (Set_Ada_Paths): Ditto
2043
2044 2009-08-10  Vincent Celier  <celier@adacore.com>
2045
2046         PR ada/17566
2047         * xref_lib.adb (Print_Xref): Make sure that there is at least one space
2048         between a declaration name and its type.
2049
2050 2009-08-07  Javier Miranda  <miranda@adacore.com>
2051
2052         * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
2053         SCIL node.
2054
2055 2009-08-07  Robert Dewar  <dewar@adacore.com>
2056
2057         * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
2058
2059 2009-08-07  Vincent Celier  <celier@adacore.com>
2060
2061         * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
2062         specified on the command line and there are switches in the Compiler
2063         package of the project file, use these compilation switches to invoke
2064         the tool.
2065
2066 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
2067
2068         * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
2069
2070 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
2071
2072         * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
2073         even if not in main unit, to simplify debugging.
2074
2075 2009-08-07  Arnaud Charlet  <charlet@adacore.com>
2076
2077         * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
2078         * gcc-interface/Make-lang.in: Update dependencies.
2079
2080 2009-08-07  Robert Dewar  <dewar@adacore.com>
2081
2082         * types.ads: Minor reformatting
2083         * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
2084         * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
2085         Output_Non_Modified_In_Out_Warnings.
2086         * sem_ch13.adb: Remove ??? comment.
2087
2088 2009-08-07  Vincent Celier  <celier@adacore.com>
2089
2090         * mlib-prj.adb (Build_Library): Include binder generate object file
2091         for SAL when library name is only one character.
2092
2093 2009-08-07  Thomas Quinot  <quinot@adacore.com>
2094
2095         * targparm.adb: Minor reformatting
2096         * sem.adb: Minor reformatting
2097         * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
2098
2099 2009-08-07  Emmanuel Briot  <briot@adacore.com>
2100
2101         * prj-conf.adb: Remove duplicate directory separator in the output when
2102         an object directory does not exist.
2103
2104 2009-08-07  Robert Dewar  <dewar@adacore.com>
2105
2106         * exp_util.adb: Minor reformatting
2107
2108 2009-08-07  Vincent Celier  <celier@adacore.com>
2109
2110         * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
2111         length used).
2112
2113 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
2114
2115         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
2116         detect non-static private components that will violate restriction
2117         No_Implicit_Heap_Allocation.
2118
2119 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
2120
2121         * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
2122
2123 2009-08-02  Eric Botcazou  <ebotcazou@adacore.com>
2124
2125         * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
2126         * gcc-interface/utils.c (end_subprog_body): Likewise.
2127         * gcc-interface/trans.c (gigi): Likewise.
2128         (gnat_to_gnu): Likewise.
2129
2130 2009-07-30  Ben Brosgol  <brosgol@adacore.com>
2131
2132         * gnat_ugn.texi: Correct minor texi glitch.
2133
2134 2009-07-30  Ed Schonberg  <schonberg@adacore.com>
2135
2136         * exp_util.adb (Expand_Subtype_From_Expr): If the type of the
2137         expression has an underlying representation that is an unchecked union,
2138         there is no subtype to build.
2139
2140 2009-07-30  Robert Dewar  <dewar@adacore.com>
2141
2142         * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
2143         s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
2144         sem_ch7.adb, adaint.c: Minor reformatting
2145
2146 2009-07-29  Javier Miranda  <miranda@adacore.com>
2147
2148         * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
2149         moved from the expander to the semantic analyzer to allow the
2150         generation of these internal entities when compiling with no code
2151         generation. Required by ASIS.
2152         * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
2153         * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
2154         * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
2155         (Expand_Freeze_Record_Type): Remove call to
2156         Add_Internal_Interface_Entities because this routine is now called at
2157         early stage --when the freezing node is analyzed.
2158
2159 2009-07-29  Robert Dewar  <dewar@adacore.com>
2160
2161         * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
2162         exp_disp.adb, g-socket.adb: Minor reformatting
2163
2164 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
2165
2166         * sem_ch7.adb (New_Private_Type): Create class-wide type after other
2167         attributes have been established, so that they are all inherited by the
2168         class-wide type.
2169         * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
2170         properly named subtypes of class-wide types.
2171
2172 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
2173
2174         * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
2175         indicators on user-defined operators.
2176
2177 2009-07-29  Vadim Godunko  <godunko@adacore.com>
2178
2179         * g-socket.adb (Receive_Vector): Add comment.
2180
2181 2009-07-29  Javier Miranda  <miranda@adacore.com>
2182
2183         * frontend.adb (Frontend): Code cleanup.
2184         * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
2185         Rewriten as a procedure because it a new out-mode parameters to
2186         keep up-to-date the controlling tag node in the caller.
2187         (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
2188         new out-mode parameter to keep up-to-date the controlling tag node in
2189         the caller.
2190         * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
2191         exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
2192         package Sem_SCIL.
2193         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
2194         available in new package Sem_SCIL.
2195         (Next_Non_SCIL_Node): Ditto.
2196         * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
2197         package Sem_SCIL.
2198         (Expand_Dispatching_Call): Update call to modified Exp_Atags routines
2199         plus complete decoration of SCIL dispatching node.
2200         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
2201         * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
2202         package Sem_SCIL.
2203         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
2204         * exp_ch3.adb (Build_Init_Procedure): Fix comment.
2205         * sem_scil.ads, sem_scil.adb: New files.
2206         * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
2207         Update dependencies.
2208
2209 2009-07-28  Robert Dewar  <dewar@adacore.com>
2210
2211         * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
2212         makeutl.adb: Minor reformatting & code reorganization
2213         * sem_ch3.adb: Minor reformatting.
2214         Fix spelling error (constraint for constrain) in error msg.
2215
2216 2009-07-28  Emmanuel Briot  <briot@adacore.com>
2217
2218         * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
2219         global variable that also exists in makeutl.ads, and that some routines
2220         in that package use already.
2221         (Check): Moved part of the code to makeutl.adb for better sharing with
2222         gprbuild.
2223
2224 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2225
2226         * gcc-interface/Make-lang.in: Update dependencies.
2227
2228 2009-07-28  Emmanuel Briot  <briot@adacore.com>
2229
2230         * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
2231         importing project does not end up in the list, in the case of extending
2232         projects.
2233         * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
2234         makeutl.ads, for better sharing with gprbuild.
2235
2236 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2237
2238         * gnat_ugn.texi: Fix typo.
2239
2240 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
2241
2242         * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
2243         derivation that renames some discriminants and constrain others.
2244         * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
2245         prefix is a derived untagged type, convert to the root type to conform
2246         to the signature of the protected operations.
2247
2248 2009-07-28  Robert Dewar  <dewar@adacore.com>
2249
2250         * sinfo.ads: Update comments.
2251         * exp_attr.adb: Minor reformatting
2252
2253 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
2254
2255         * sem_aggr.adb (Get_Value): A named association in a record aggregate
2256         should be treated as a modification of the named component, not as a
2257         reference.
2258
2259 2009-07-28  Quentin Ochem  <ochem@adacore.com>
2260
2261         * prj-tree.ads, prj-tree.adb (Free): Minor editing.
2262         * prj.ads, prj.adb (Image): Ditto.
2263
2264 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2265
2266         * frontend.adb: Minor reformatting.
2267         (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
2268         for efficiency.
2269
2270 2009-07-28  Bob Duff  <duff@adacore.com>
2271
2272         * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
2273         'Address to get a pointer to the protected body wrapper.
2274
2275 2009-07-28  Javier Miranda  <miranda@adacore.com>
2276
2277         * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
2278         nodes if we are not generating code.
2279         * frontend.adb (Check_SCIL_Node): New subprogram. Used to check
2280         attribute SCIL_Related_Node of SCIL dispatching nodes.
2281         (Check_SCIL_Nodes): New instantiation of Traverse_Proc.
2282         * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
2283         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
2284         (SCIL_Entity): Update documentation.
2285         (SCIL_Related_Node): Update documentation.
2286         (SCIL_Controlling_Tag): New attribute.
2287         (SCIL_Target_Prim): Update documentation.
2288         (N_Null_Statement): Remove attributes associated with SCIL nodes.
2289         (N_SCIL_Dispatch_Table_Object_Init): New node.
2290         (N_SCIL_Dispatch_Table_Tag_Init): New node.
2291         (N_SCIL_Dispatching_Call): New node.
2292         (N_SCIL_Tag_Init): New node.
2293         * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
2294         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
2295         (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
2296         (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
2297         (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
2298         (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
2299         N_SCIL_Dispatching_Call nodes.
2300         * sem.adb (Analyze): No need to analyze SCIL nodes.
2301         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
2302         (Next_Non_SCIL_Node): New subprogram
2303         * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
2304         dispatching nodes.
2305         * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
2306         dispatching node.
2307         * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
2308         dispatching node.
2309         * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
2310         null statement nodes.
2311         (Build_Init_Procedure): Generate new SCIL node.
2312         * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
2313         node.
2314         * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
2315         they are currently implemented as special N_Null_Statement nodes.
2316         * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
2317         procedure call then check if some SCIL node references it and needs
2318         readjustment.
2319         * exp_disp.ads (SCIL_Node_Kind): Removed.
2320         (Adjust_SCIL_Node): New subprogram.
2321         (Find_SCIL_Node): New subprogram.
2322         (Get_SCIL_Node_Kind): Removed.
2323         (New_SCIL_Node): Removed.
2324         * exp_disp.adb (Adjust_SCIL_Node): New subprogram
2325         (Expand_Dispatching_Call): Generate new SCIL dispatching node including
2326         decoration of its new controlling_tag attribute.
2327         (Get_SCIL_Node_Kind): Removed.
2328         (Find_SCIL_Node): New subprogram.
2329         (Make_Secondary_DT): Generate new SCIL nodes.
2330         (Make_Tags): Generate new SCIL nodes.
2331         (New_SCIL_Node): Removed.
2332         * exp_util.adb (Insert_Actions): Handle SCIL nodes.
2333         (Remove_Side_Effects): Check if relocated nodes require readjustment
2334         of some SCIL dispatching node.
2335         * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
2336
2337 2009-07-28  Robert Dewar  <dewar@adacore.com>
2338
2339         * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
2340
2341 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2342
2343         * gnat_ugn.texi: Add section about gnatcheck rule exemption.
2344
2345 2009-07-28  Vadim Godunko  <godunko@adacore.com>
2346
2347         * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
2348         not defined by limits.h.
2349
2350         * g-socket.adb (Receive_Vector): Use minimum length from user's vector
2351         length and maximum supported length of data vector.
2352
2353 2009-07-28  Gary Dismukes  <dismukes@adacore.com>
2354
2355         * usage.adb: Inhibit printing gcc-specific switches for AAMP target.
2356         * make.adb: Call Get_Target_Parameters before calling Usage so that
2357         VM_Target and AAMP_On_Target will be set.
2358
2359 2009-07-28  Olivier Hainque  <hainque@adacore.com>
2360
2361         * g-ssinty.ads: Remove, pointless and just confusing at this stage.
2362         * gnat_rm.texi: Remove documentation.
2363         * g-sse.ads: Minor reorg along the way.
2364         * gcc-interface/Makefile.in: Remove processing for g-ssinty.
2365         * g-ssvety.ads: Minor comment updates.
2366
2367 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2368
2369         * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
2370         for the new format of the report file.
2371
2372 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2373
2374         * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
2375
2376 2009-07-28  Pascal Obry  <obry@adacore.com>
2377
2378         * g-expect.adb: Record standard handles only on Windows.
2379
2380 2009-07-27  Emmanuel Briot  <briot@adacore.com>
2381
2382         * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
2383         Add comments.
2384
2385 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2386
2387         * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
2388         rule definition the paragraph that explains that generic functions and
2389         functions from generic packages are not checked.
2390
2391 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
2392
2393         * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
2394         procedure when determining whether to set the Overridden_Operation
2395         field of a subprogram overriding an inherited subprogram.
2396         
2397 2009-07-27  Robert Dewar  <dewar@adacore.com>
2398
2399         * a-except.adb, a-except-2005.ads: Minor reformatting
2400
2401 2009-07-27  Robert Dewar  <dewar@adacore.com>
2402
2403         * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
2404
2405 2009-07-27  Javier Miranda  <miranda@adacore.com>
2406
2407         * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
2408         add some documentation explaining why the SCIL nodes must be generated
2409         at that point.
2410
2411 2009-07-27  Olivier Hainque  <hainque@adacore.com>
2412
2413         * a-except.adb: Bind to __builtin_longjmp directly.
2414         * a-except-2005.ads: Provide direct binding to __builtin_longjmp
2415         for sjlj variants.
2416         * a-exexpr.adb: Use it.
2417         * a-except-xi.adb: Likewise.
2418         * raise.c (_gnat_builtin_longjmp): Remove and update comments.
2419         * raise.h (_gnat_builtin_longjmp): Remove declaration.
2420
2421 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2422
2423         * sem_eval.adb (Compile_Time_Compare): More precise handling of
2424         Known_Valid flag, to prevent spurious range deductions when scalar
2425         variables may be uninitialized. New predicate Is_Known_Valid_Operand.
2426
2427 2009-07-27  Robert Dewar  <dewar@adacore.com>
2428
2429         * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
2430         and code clean up.
2431
2432 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2433
2434         * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
2435         Ravenscar mode. Error has already been posted on specification.
2436
2437         * sem.adb: Further code clean ups.
2438
2439 2009-07-27  Robert Dewar  <dewar@adacore.com>
2440
2441         * g-sse.ads: Minor reformatting
2442
2443 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2444
2445         * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
2446         alternate ali extension.
2447         * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
2448         account Osint.ALI_Suffix.
2449         * osint.ads (ALI_Suffix): Make visible.
2450         * gnatfind.adb (Gnatfind): Add support for --ext= switch.
2451         * gnat_ugn.texi: Document new gnatfind --ext= switch.
2452
2453 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2454
2455         * sem.adb (Walk_Library_Items): If main unit is an instance body, do
2456         its spec first.
2457
2458 2009-07-27  Javier Miranda  <miranda@adacore.com>
2459
2460         * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
2461         the dispatching call has is expanded.
2462
2463 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2464
2465         * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
2466         Is_Known_Valid flag on the temporary created for the value whose
2467         validity is being checked.
2468
2469         * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
2470         handle properly main units that are package specifications.
2471
2472 2009-07-27  Geert Bosch  <bosch@adacore.com>
2473
2474         * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
2475         * sem_aux.ads: Fix typo in comment
2476         * sem_util.ads (Is_LHS): Adjust comment to match body
2477
2478 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2479
2480         * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
2481         rule definition.
2482
2483 2009-07-27  Olivier Hainque  <hainque@adacore.com>
2484
2485         * g-sse.ads, g-ssvety.ads: Update comments.
2486
2487 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2488
2489         * gnat_ugn.texi: Update gnatcheck doc.
2490
2491 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2492
2493         * lib-xref.ads: Allocate/document 'o' char for use by references to
2494         spark 'own' variables.
2495
2496 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
2497
2498         * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
2499         objects, since these are implicitly referenced by the return statement.
2500         * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
2501         Is_Return_Object in this procedure, as return objects will never make
2502         it here since they're now marked as Referenced.
2503
2504 2009-07-27  Robert Dewar  <dewar@adacore.com>
2505
2506         * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
2507
2508 2009-07-27  Robert Dewar  <dewar@adacore.com>
2509
2510         * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
2511
2512         * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
2513
2514 2009-07-27  Geert Bosch  <bosch@adacore.com>
2515
2516         * checks.adb (Find_Check): Minor streamlining of logic.
2517         * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
2518         * debug.adb: Document -gnatdX debug flag
2519         * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
2520         list information about reads from scalar entities.
2521         Also slightly simplify condition for Expand_Current_Value.
2522         * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
2523         functions.
2524
2525 2009-07-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2526
2527         PR bootstrap/40578
2528         * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
2529         (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
2530         to these.
2531         (__gnat_stat): Adjust reference to STAT in prototype.
2532         * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
2533         __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
2534         __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
2535         __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
2536         __gnat_is_writable_file, __gnat_is_executable_file,
2537         __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
2538         __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
2539         __gnat_copy_attribs): Adjust all references to the above.
2540         * cstreams.c (__gnat_is_regular_file_fd): Likewise.
2541
2542 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2543
2544         * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
2545         done at the same time, guard against listing a body more than once.
2546
2547 2009-07-23  Robert Dewar  <dewar@adacore.com>
2548
2549         * exp_ch6.adb: Minor reformatting
2550
2551 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2552
2553         * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
2554         static expression is known valid.
2555         * sem_eval.adb (Compile_Time_Compare): Handle properly non-static
2556         operands of a subtype with a single value.
2557
2558 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2559
2560         * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
2561         are in the context of the main unit body.
2562
2563 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2564
2565         * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
2566         misprint in rule description.
2567
2568 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2569
2570         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
2571         test that the object declaration is within an extended return statement
2572         with direct test of whether the declared object associated with the
2573         build-in-place call is a return object, since the enclosing function
2574         might not even be a build-in-place function.
2575
2576 2009-07-23  Robert Dewar  <dewar@adacore.com>
2577
2578         * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
2579         Minor code reorganization
2580
2581 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2582
2583         * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
2584         for static analysis, only packed arrays are causing troubles.
2585
2586 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2587
2588         * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
2589         ancestor part is a call to a limited function with an unconstrained
2590         result subtype unless the aggregate has a null extension type.
2591         * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
2592         the parent type declaration to avoid blowups on subtype cases.
2593
2594 2009-07-23  Robert Dewar  <dewar@adacore.com>
2595
2596         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
2597         comma.
2598
2599         * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
2600
2601         * s-regexp.adb: Minor reformatting
2602         * scos.ads: Minor reformatting.
2603
2604 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2605
2606         * freeze.adb (Set_Small_Size): Remove extra space for consistency with
2607         other similar messages.
2608         * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
2609         messages/implicit packing in CodePeer mode.
2610         (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
2611         * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
2612         CodePeer mode.
2613
2614 2009-07-23  Pascal Obry  <obry@adacore.com>
2615
2616         * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
2617         systems.
2618
2619 2009-07-23  Robert Dewar  <dewar@adacore.com>
2620
2621         * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
2622         Minor reformatting.
2623
2624 2009-07-23  Yannick Moy  <moy@adacore.com>
2625
2626         * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
2627         pattern.
2628         (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
2629         string.
2630         (Raise_Exception): Ditto.
2631
2632 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2633
2634         * g-sse.ads: Simplify comment.
2635
2636 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2637
2638         * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
2639         low level internal type definitions for distinct higher level
2640         binding development activities (user type definitions and
2641         operations).
2642         * gnat_rm.texi: Document it.
2643         * g-ssvety.ads: Use it.
2644         * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
2645         g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
2646         * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
2647         for the "may_alias" attribute.
2648
2649 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2650
2651         * scos.ads: Minor typo fix
2652
2653         * gcc-interface/decl.c (validate_alignment): For the case of an
2654         implicit array base type, look for alignment clause on first subtype.
2655
2656 2009-07-23  Robert Dewar  <dewar@adacore.com>
2657
2658         * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
2659         with tagged parent if tagged parent is fully repped.
2660
2661 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2662
2663         * sem.adb (Walk_Library_Units): Handle properly the case where a unit
2664         in the context depends on the spec of the main unit, by delaying
2665         processing of the main unit body until all other units have been
2666         processed.
2667
2668 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2669
2670         * a-convec.adb: Add comments about suspicious/subtle code.
2671
2672 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2673
2674         * einfo.ads: Document use of Alias in private overriding
2675
2676 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2677
2678         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
2679         an array type, propagate alignment from first subtype to implicit base
2680         type so that other subtypes (such as the itypes for aggregates of the
2681         type) also receive the expected alignment.
2682
2683         * g-comlin.ads: Minor documentation clarification/rewording. 
2684         * scos.ads: Minor comments update.
2685         * lib-writ.ads: Minor reformatting
2686
2687 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2688
2689         * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
2690         of a class-wide interface type that is a return object of a
2691         build-in-place function, bypass the interface-related expansions into
2692         renamings with displacement conversions, etc.
2693         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
2694         for the case where a renaming occurs in a build-in-place context, to
2695         assert that the bypassing of the build-in-place treatment only occurs
2696         in the case of a renaming that is an expansion of a return expression
2697         that is itself a build-in-place function call.
2698
2699 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2700
2701         * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
2702         valid candidate interpretation in a prefixed view if it is hidden, but
2703         overrides an inherited operation declared in the visible part.
2704
2705 2009-07-23  Robert Dewar  <dewar@adacore.com>
2706
2707         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2708         division operands to 64-bit at all in any circumstances.
2709
2710 2009-07-23  Robert Dewar  <dewar@adacore.com>
2711
2712         * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
2713         checking ranges for mod/rem to see if conditional jump will be
2714         generated.
2715         (Analyze_N_Op_Rem): Don't try to check actual lower bounds for
2716         generating special -1 test for rem, generate it whenever both
2717         operands can be negative (match circuit in Sem_Res).
2718         (Analyze_N_Op_Rem): Don't go to base type, no longer needed and
2719         destroys memory of positive range.
2720         * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
2721         checking ranges for mod/rem to see if conditional jump will be generated
2722
2723 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2724
2725         * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
2726         scalar components has non-static bounds, the equivalent aggregate
2727         cannot be built, even if the expression is static, because range checks
2728         will be generated.
2729
2730 2009-07-23  Robert Dewar  <dewar@adacore.com>
2731
2732         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2733         division operands to 64-bit inside a conversion if 64-bit division not
2734         available.
2735
2736 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2737
2738         * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
2739
2740 2009-07-23  Javier Miranda  <miranda@adacore.com>
2741
2742         * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
2743         (Entity/Set_Entity): not available in N_Null_Statement nodes
2744         (Is_Scil_Node): renamed as Is_SCIL_Node
2745         (Scil_Nkind): renamed as SCIL_Nkind
2746         (Scil_Related_Node): renamed as SCIL_Related_Node
2747         (Scil_Target_Prim): renamed as SCIL_Target_Prim
2748         (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
2749         (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
2750         (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
2751         Update documentation
2752         * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
2753         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2754         (New_Scil_Node): Renamed as New_SCIL_Node
2755         * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
2756         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2757         (New_Scil_Node): Renamed as New_SCIL_Node
2758         * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
2759
2760 2009-07-23  Robert Dewar  <dewar@adacore.com>
2761
2762         * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
2763         * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
2764         * einfo.adb: Minor reformatting
2765
2766 2009-07-23  Robert Dewar  <dewar@adacore.com>
2767
2768         * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
2769         cross-referencing the new related code in
2770         Exp_Ch4.Expand_N_Type_Conversion.
2771         * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
2772
2773         * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
2774         Add comment.
2775
2776 2009-07-23  Javier Miranda  <miranda@adacore.com>
2777
2778         * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
2779         Scil_Target_Prim, N_Has_Entity): Add missing documentation.
2780         * exp_disp.ads (Scil_Node_Kind): Ditto.
2781         * exp_disp.adb (Make_DT, Make_Tags): Ditto.
2782         * exp_ch3.adb (Build_Init_Procedure): Ditto.
2783
2784 2009-07-23  Javier Miranda  <miranda@adacore.com>
2785
2786         * einfo.adb (Component_Type): Add missing assertion.
2787         * sem_res.adb (Resolve_Call): Ensure proper kind of entity before
2788         reading attribute Component_Size.
2789         * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
2790         before reading attributes Component_Size and Component_Type.
2791         * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
2792         before reading attribute Component_Type.
2793
2794 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2795
2796         * gnat_rm.texi: Document the GNAT.SSE units.
2797
2798 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2799
2800         * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
2801         not null return if it appears on a subunit.
2802
2803 2009-07-23  Robert Dewar  <dewar@adacore.com>
2804
2805         * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
2806         check right away so it does not get skipped for early returns, e.g.
2807         array assignments.
2808         (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
2809         left-side unless we really know the value is valid.
2810
2811         * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
2812         reformatting. Minor code reorganization. Add comments.
2813
2814 2009-07-23  Robert Dewar  <dewar@adacore.com>
2815
2816         * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
2817         complex condition.
2818
2819 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2820
2821         * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
2822         with test of coverage, to allow specific type objects in extended
2823         returns of class-wide functions. Remove now-unnecessary special-case
2824         tests that allowed this in certain cases of expanded extended returns.
2825
2826 2009-07-23  Javier Miranda  <miranda@adacore.com>
2827
2828         * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
2829         N_Null_Statements (for SCIL nodes).
2830         (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
2831         (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
2832         (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
2833         nodes).
2834         (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
2835         * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
2836         associated with dispatching call.
2837         (Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
2838         (Make_DT, Make_Tags): Add generation of SCIL nodes associated with
2839         initialization of dispatch tables and initialization of tags.
2840         (New_Scil_Node): New function that creates a new SCIL node.
2841         (Build_Init_Procedure): Add generation of SCIL node associated with the
2842         initialization of tags done in the IP subprogram.
2843
2844 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2845
2846         * errout.adb (Error_Msg_NEL): If the entity in the initial message has
2847         Warnings_Off, do not emit continuation messages.
2848
2849         * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
2850         spec.
2851
2852 2009-07-23  Emmanuel Briot  <briot@adacore.com>
2853
2854         * ali.adb: Minor comment update
2855
2856 2009-07-23  Vasiliy Fofanov  <fofanov@adacore.com>
2857
2858         * s-win32.ads (HANDLE): Define to be the same size as address type.
2859         Fix copyright.
2860
2861 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2862
2863         * g-sse.ads: New file. Root of the SSE facilities trees, with
2864         general description and common declarations.
2865         * g-ssvety.ads: New file. Expose user level SSE vector types.
2866         * impunit.adb (Non_Imp_File_Names_95): Register new units.
2867         * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
2868         EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
2869
2870 2009-07-23  Ben Brosgol  <brosgol@adacore.com>
2871
2872         * gnat_ugn.texi: Wordsmithing.
2873
2874 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2875
2876         * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
2877
2878 2009-07-22  Eric Botcazou  <ebotcazou@adacore.com>
2879
2880         * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
2881         they are already of the base type of the index.
2882
2883 2009-07-22  Brett Porter  <porter@adacore.com>
2884
2885         * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
2886
2887 2009-07-22  Robert Dewar  <dewar@adacore.com>
2888
2889         * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
2890         * gnat_ugn.texi: Add documentation for -gnateS switch
2891         * ug_words: Add entry for -gnateS /SCO_OUTPUT
2892         * gcc-interface/Make-lang.in: Update dependencies.
2893
2894         * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
2895         par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
2896         complete information for SCO input/output.
2897
2898 2009-07-22  Sergey Rybin  <rybin@adacore.com>
2899
2900         * gnat_ugn.texi: Update doc for some gnatcheck rules.
2901
2902 2009-07-22  Robert Dewar  <dewar@adacore.com>
2903
2904         * par_sco.adb, par_sco.ads (pscos): New debug routine to output
2905         contents of SCO tables.
2906         * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
2907         scos.adb, scos.ads: New files.
2908         * gcc-interface/Make-lang.in: Update dependencies.
2909
2910         * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
2911         fixes and reformatting.
2912
2913 2009-07-22  Robert Dewar  <dewar@adacore.com>
2914
2915         * g-socket.ads: Minor reformatting
2916
2917 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2918
2919         * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
2920         include the entity kind for following cases of unreferenced entities:
2921         E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
2922
2923 2009-07-22  Ed Falis  <falis@adacore.com>
2924
2925         * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
2926         with taskSuspend.
2927
2928 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2929
2930         * adadecode.c: Make this file compilable outside of GCC.
2931
2932 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2933
2934         * g-socket.adb, g-socket.ads (Check_Selector): Make sure that
2935         (partially) default-initialized socket sets are handled properly by
2936         clearing their Set component.
2937
2938 2009-07-22  Bob Duff  <duff@adacore.com>
2939
2940         * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
2941
2942 2009-07-22  Robert Dewar  <dewar@adacore.com>
2943
2944         * gnat_ugn.texi: Minor reformatting
2945
2946 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2947
2948         * errout.adb (Error_Msg): A style message within an instantiation
2949         should not be labelled as an error.
2950
2951 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2952
2953         * freeze.adb (Freeze_Entity): Do not generate extra formal for function
2954         in initialization expression if function does not have convention Ada.
2955
2956 2009-07-22  Sergey Rybin  <rybin@adacore.com>
2957
2958         * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
2959         '--separate-label' to control label layout.
2960
2961 2009-07-22  Robert Dewar  <dewar@adacore.com>
2962
2963         * exp_tss.ads, sem_eval.adb: Minor reformatting
2964
2965 2009-07-22  Bob Duff  <duff@adacore.com>
2966
2967         * exp_dist.adb, exp_dist.ads: Update comments.
2968
2969 2009-07-22  Brett Porter  <porter@adacore.com>
2970
2971         * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
2972         FPSCR.
2973         * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
2974
2975 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2976
2977         * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
2978         exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
2979         Minor reformatting.
2980         * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
2981         used poor terminology.
2982
2983 2009-07-22  Robert Dewar  <dewar@adacore.com>
2984
2985         * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
2986         * sem_eval.adb, exp_tss.adb: Minor comment update.
2987         * stylesw.adb: Code clean up.
2988
2989 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
2990
2991         * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
2992         component size is an exact number of bytes, an array type can have a
2993         size clause that forces packing even though the array type itself is
2994         not bit-packed.
2995
2996 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2997
2998         * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
2999         if there is a previous entity with the same name in the scope, ignore
3000         it if it is the renaming declaration for a generic package introduced
3001         in instances.
3002
3003 2009-07-22  Nicolas Roche  <roche@adacore.com>
3004
3005         * seh_init.c: use RtlAddFunctionTable to register our SEH exception
3006         handler on x86_64 windows.
3007
3008 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
3009
3010         * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
3011         false positives in CodePeer, so ignore this pragma in this mode.
3012
3013 2009-07-22  Thomas Quinot  <quinot@adacore.com>
3014
3015         * sem_util.adb, sem_ch10.adb: Minor reformatting
3016
3017         * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
3018         special handling for the case of no data received and Item'First =
3019         Stream_Element_Offset'First.
3020         (Last_Index): New subprogram factoring the above special handling
3021         over the various locations where it is required.
3022
3023 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
3024
3025         * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
3026         checks in CodePeer_Mode.
3027         * gcc-interface/Make-lang.in: Update dependencies.
3028
3029 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
3030
3031         * sem_aggr.adb: Improve error message.
3032
3033         * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
3034         of an address representation clause.
3035         * freeze.adb (Freeze_Static_Object): An local imported object is legal
3036         if it has an address clause.
3037
3038 2009-07-22  Thomas Quinot  <quinot@adacore.com>
3039
3040         * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
3041         expression to insert an elab check using a conditional expression, be
3042         sure to carry the original list of interpretations to the new location.
3043
3044 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
3045
3046         * gnat1drv.adb: Fix spelling error.
3047
3048 2009-07-22  Javier Miranda  <miranda@adacore.com>
3049
3050         * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
3051         at the library level and fix a hidden bug in its implementation: its
3052         functionality for renaming objects was broken because
3053         N_Object_Renaming_Declarations nodes are not a subclass of
3054         N_Declaration nodes (as documented in sinfo.ads).
3055         * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
3056         check nodes that are actuals of generic instantiations.
3057
3058 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
3059
3060         * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
3061         context of a compilation unit is being analyzed. Used to detect
3062         circularities created by with_clauses that are not detected by the
3063         loading machinery.
3064         * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
3065         analyzing the context of the current compilation unit, to detect
3066         possible circularities created by with_clauses.
3067
3068 2009-07-22  Thomas Quinot  <quinot@adacore.com>
3069
3070         * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
3071
3072 2009-07-22  Robert Dewar  <dewar@adacore.com>
3073
3074         * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
3075         * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
3076         procedure.
3077         * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
3078         * gnat_ugn.texi: Add documentation of -gnatyB
3079         * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
3080
3081 2009-07-22  Robert Dewar  <dewar@adacore.com>
3082
3083         * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
3084         make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
3085         s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
3086         s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
3087         errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
3088         a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
3089         s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
3090         a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
3091         erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
3092         obey short-circuit style rule.
3093
3094 2009-07-20  Bob Duff  <duff@adacore.com>
3095
3096         * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
3097         instead of "and", because otherwise Parent_Last_Bit is read
3098         uninitialized in the case where it's not a tagged type, or the tagged
3099         parent does not have a complete rep clause.
3100
3101 2009-07-20  Robert Dewar  <dewar@adacore.com>
3102
3103         * stylesw.ads: Minor documentation change.
3104
3105         * types.ads: Minor reformatting
3106
3107 2009-07-20  Javier Miranda  <miranda@adacore.com>
3108
3109         * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
3110         generating the tag checks associated with dispatching calls.
3111         * exp_disp.adb (Apply_Access_Checks): New subprogram.
3112         (New_Value): This routine was previously local to expand dispatching
3113         calls but it is now used also by Apply_Access_Checks.
3114         (Expand_Dispatching_Calls): Cleanup code because the functionality of
3115         tag checks is now provided by Apply_Access_Checks. 
3116         * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
3117         case of dispatching calls.
3118
3119 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
3120
3121         * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
3122         CodePeer_Mode.
3123
3124 2009-07-20  Gary Dismukes  <dismukes@adacore.com>
3125
3126         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
3127         for VMS, only rewrite the first component of the associated exception's
3128         aggregate init (as 'V'), and eliminate the bogus rewrites of the second
3129         and third components  that were being replaced with 'M' and 'S'.
3130
3131 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
3132
3133         * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
3134         Also do not generate error when parsing a spec in CodePeer mode.
3135
3136 2009-07-20  Javier Miranda  <miranda@adacore.com>
3137
3138         * checks.adb (Apply_Access_Check): Avoid checks on availability of
3139         runtime function Offset_To_Top_Ptr when compiling with no tagged
3140         types expansion.
3141         * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
3142         adding code to the init proc when compiling for VM backends.
3143
3144 2009-07-20  Vincent Celier  <celier@adacore.com>
3145
3146         * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
3147         account switches -gnatw.?
3148
3149 2009-07-20  Thomas Quinot  <quinot@adacore.com>
3150
3151         * sem_dist.adb, exp_dist.adb: Minor reformatting
3152
3153         * Make-generated.in: New file.
3154
3155         * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
3156
3157 2009-07-20  Javier Miranda  <miranda@adacore.com>
3158
3159         * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
3160         subprogram.
3161         * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
3162         dynamically tagged expression.
3163         * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
3164         factorizes code.
3165         * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
3166         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
3167
3168 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
3169
3170         * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
3171         CodePeer_Mode is set, to benefit from full front-end expansion
3172         (e.g. generics).
3173
3174 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3175
3176         * sem_res.adb: Add guard.
3177
3178         * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
3179         for possible attribute definition of External_Tag, in case clause
3180         appears in the private part of a package.
3181
3182 2009-07-20  Jerome Guitton  <guitton@adacore.com>
3183
3184         * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
3185
3186 2009-07-20  Vadim Godunko  <godunko@adacore.com>
3187
3188         * a-coorma.adb: Minor reformatting.
3189
3190 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3191
3192         * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
3193         access return types.
3194         * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
3195         provide an itype reference to gigi to force elaboration of the subtype
3196         at the proper point.
3197
3198 2009-07-20  Tristan Gingold  <gingold@adacore.com>
3199
3200         * g-expect.adb: Avoid closeing already closed handle.
3201
3202 2009-07-20  Robert Dewar  <dewar@adacore.com>
3203
3204         * sprint.adb (Write_Subprogram_Name): New procedure to output
3205         subprogram name with possible preceding $ (replaces
3206         Note_Implicit_Run_Time_Call).
3207
3208 2009-07-20  Robert Dewar  <dewar@adacore.com>
3209
3210         * vms_data.ads: Minor reformatting
3211
3212         * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
3213         applies to base type.
3214         (Parent_Subtype): Now allowed on record subtype, applies to base type
3215         * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
3216         for case of fully repped tagged type.
3217         (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
3218         tag save/restore for fully repped tagged type case.
3219         * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
3220         * fe.h (Is_Fully_Repped_Tagged_Type): New function
3221         * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
3222         overlap of tagged type components with parent type if parent type is
3223         fully repped.
3224         * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
3225
3226         * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
3227         comparisons.
3228         (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
3229         (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
3230
3231         * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
3232         logical operators (AND/OR/XOR), not comparison operators.
3233
3234         * sprint.ads: Minor reformatting
3235
3236 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3237
3238         * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
3239         intrinsics, check that argument is a string literal, rather than
3240         checking for staticness.
3241
3242 2009-07-20  Robert Dewar  <dewar@adacore.com>
3243
3244         * sem_ch13.adb: Minor reformatting
3245
3246         * einfo.ads: Minor reformatting
3247         Component_Bit_Offset is no longer considered obsolescent
3248
3249 2009-07-20  Nicolas Roche  <roche@adacore.com>
3250
3251         * a-calend.adb: Redefine time_t as signed integer with same size as
3252         Address type.
3253         * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
3254         Address type
3255         * adaint.h: On Windows 64bits declare OS_Time as long long instead of
3256         long
3257
3258 2009-07-20  Javier Miranda  <miranda@adacore.com>
3259
3260         * exp_tss.adb (Init_Proc): Add missing support for non-default C++
3261         constructors that have anonymous access type formals.
3262
3263         * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
3264         class-wide arguments in case of imported C++ subprograms.
3265
3266         * exp_ch3.adb (Build_Initialization_Call): Add assertion.
3267
3268 2009-07-20  Sergey Rybin  <rybin@adacore.com>
3269
3270         * vms_data.ads: Update qualifiers.
3271
3272 2009-07-20  Robert Dewar  <dewar@adacore.com>
3273
3274         * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
3275         reformatting
3276
3277 2009-07-17  Richard Guenther  <rguenther@suse.de>
3278
3279         PR c/40401
3280         * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
3281         state.  Remove unused parameter.
3282         (gnat_gimplify_function): Do not gimplify here.
3283         Fold into its only caller and remove.
3284         (gnat_builtin_function): Adjust for end_subprog_body signature change.
3285         (gnat_write_global_declarations): Also finalize the CU.
3286         * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
3287         * gcc-interface/trans.c (gigi): Revert to pre-tuples state.
3288         (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
3289         change.
3290         * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
3291
3292 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
3293
3294         * gcc-interface/Make-lang.in: Update dependencies
3295
3296         * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
3297
3298 2009-07-15  Robert Dewar  <dewar@adacore.com>
3299
3300         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
3301         N_Label. Remove SCO table entry for entry point (not used).
3302
3303         * par_sco.ads: Remove SCO entry point type (not used)
3304
3305         * switch.adb: Minor code clean up.
3306
3307 2009-07-15  Eric Botcazou  <ebotcazou@adacore.com>
3308
3309         * exp_dbug.ads (Base Record Types): Document enhanced encoding.
3310
3311 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3312
3313         * gnatls.adb: Minor reformatting
3314
3315         * gnatcmd.adb: Minor code reorganization
3316
3317 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3318
3319         * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
3320         determine whether a component of a private type has a composite type.
3321
3322 2009-07-15  Robert Dewar  <dewar@adacore.com>
3323
3324         * sem_ch10.adb: Minor reformatting throughout
3325         Minor code reorganization (put nested subprograms in alpha order)
3326
3327 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3328
3329         * exp_ch6.adb (Expand_Call): Prevent double attachment of the result
3330         when compiling a call to a protected function that returns a controlled
3331         object.
3332
3333 2009-07-15  Hristian Kirtchev  <kirtchev@adacore.com>
3334
3335         * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
3336         one. Add task locking and unlocking around the critical region which
3337         mentions localtime_r and global variable timezone for various targets.
3338         Comment reformatting.
3339
3340 2009-07-15  Robert Dewar  <dewar@adacore.com>
3341
3342         * gnat_rm.texi: Document s-ststop.ads
3343
3344         * impunit.ad: (Map_Array): New table of alternative names
3345         (Get_Kind_Of_Unit): Return possible suggested alternative name
3346
3347         * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
3348         alternative name.
3349
3350         * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
3351         alternative unit if an implementation unit is with'ed.
3352
3353 2009-07-15  Robert Dewar  <dewar@adacore.com>
3354
3355         * gnat_ugn.texi: Minor updates.
3356
3357         * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
3358
3359 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3360
3361         * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
3362         conditions of a derived boolean type.
3363         Minor reformatting
3364
3365 2009-07-15  Robert Dewar  <dewar@adacore.com>
3366
3367         * gnat1drv.adb: Initialize SCO tables
3368
3369         * par-load.adb: Call SCO_Record for main unit spec
3370
3371         * par.adb: Make call to SCO_Record for main unit
3372
3373         * par_sco.adb (Unit_Table): Change format to facilitate sort
3374         (Process_Decisions): New procedure with list argument
3375         (Traverse_Generic_Package_Declaration): New procedure
3376         (Initialize): New procedure, replaces Init
3377         (SCO_Output): Sort unit table before output
3378         (SCO_Record): Avoid duplications
3379         (SCO_Record): Handle remaining cases of units
3380         (Traverse_Declarations_Or_Statements): Handle generics
3381
3382         * par_sco.ads (Initialize): New peocedure (replaces Init)
3383
3384         * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
3385         subunit.
3386
3387 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
3388
3389         * debug.adb: Add -gnatd.J switch for now to support scil generation in
3390         parallel. Add missing doc for -gnatd.I and -gnatd.O
3391
3392 2009-07-15  Robert Dewar  <dewar@adacore.com>
3393
3394         * lib-load.adb: Minor reformatting
3395
3396         * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
3397
3398 2009-07-15  Robert Dewar  <dewar@adacore.com>
3399
3400         * par.adb: Minor reformatting
3401         Add ??? comment for possible bad comment
3402
3403         * par-ch10.adb: Minor reformatting
3404
3405 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3406
3407         * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
3408         is a literal of a derived boolean type, it appears as an unchecked
3409         conversion. Retrieve actual value from expression of conversion.
3410
3411 2009-07-15  Robert Dewar  <dewar@adacore.com>
3412
3413         * sem_ch3.adb: Minor reformatting
3414
3415         * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
3416         lib-writ.ads, lib-writ.adb: Minor reformatting.
3417         Fix problem with SCO format in ALI files
3418
3419 2009-07-15  Robert Dewar  <dewar@adacore.com>
3420
3421         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3422         exp_aggr.adb: Minor code reorganization (better calling sequence for
3423         Make_Temporary).
3424
3425 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3426
3427         * opt.ads: Minor comment edits
3428
3429 2009-07-15  Tristan Gingold  <gingold@adacore.com>
3430
3431         * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
3432         needed.
3433
3434 2009-07-15  Robert Dewar  <dewar@adacore.com>
3435
3436         * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
3437         information.
3438
3439         * lib-writ.ads: Document addition of SCO lines to ALI file
3440
3441         * par_sco.ads, par_sco.adb: New files.
3442
3443         * opt.ads (Generate_SCO): New switch
3444
3445         * par.adb (Par): Call SCO_Record to record SCO information
3446
3447         * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
3448
3449         * switch-c.adb: Recognize -gnateS to generate SCO information
3450
3451         * usage.adb: Add line for -gnateS
3452
3453         * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
3454
3455 2009-07-15  Robert Dewar  <dewar@adacore.com>
3456
3457         * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
3458         reformatting.
3459
3460 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3461
3462         * g-socthi-mingw.adb: Minor comment addition
3463
3464         * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
3465
3466 2009-07-15  Robert Dewar  <dewar@adacore.com>
3467
3468         * g-htable.ads, s-htable.ads: Minor reformatting
3469
3470 2009-07-15  Robert Dewar  <dewar@adacore.com>
3471
3472         * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
3473         new switch -gnatw.g.
3474         (Set_GNAT_Mode_Warnings): New procedure.
3475
3476         * lib-xref.adb: Minor reformatting
3477
3478 2009-07-15  Robert Dewar  <dewar@adacore.com>
3479
3480         * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
3481         Minor code reorganization
3482
3483 2009-07-14  Taras Glek  <tglek@mozilla.com>
3484             Rafael Espindola  <espindola@google.com>
3485
3486         * gcc-interface/Make-lang.in (ada.install-plugin): New target for
3487         installing plugin headers.
3488
3489 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3490
3491         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3492         exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
3493         and link it to the expression whose value it captures.
3494
3495 2009-07-13  Robert Dewar  <dewar@adacore.com>
3496
3497         * output.adb: Minor comment addition for last change
3498
3499         * sinfo.ads: Minor reformatting
3500
3501 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3502
3503         * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
3504         spawn failed like on all other targets.
3505
3506 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3507
3508         * exp_ch7.adb: Indicate origin of temporary for transient expression.
3509
3510 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3511
3512         * s-oscons-tmplt.c: Add comment.
3513
3514 2009-07-13  Robert Dewar  <dewar@adacore.com>
3515
3516         * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
3517         reformatting. Minor code reorganization (add 9 argument version of
3518         Nkind_In).
3519
3520         * impunit.adb: Remove s-os_lib from list of system extensions.
3521
3522         * sem_util.ads: Minor reformatting
3523
3524         * output.adb: Add warnings off/on around System.OS_Lib.
3525
3526 2009-07-13  Bob Duff  <duff@adacore.com>
3527
3528         * exp_dist.adb: Minor comment updates.
3529
3530 2009-07-13  Gary Dismukes  <dismukes@adacore.com>
3531
3532         * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
3533         several references to CodePeer.
3534
3535 2009-07-13  Bob Duff  <duff@adacore.com>
3536
3537         * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
3538         Build_TypeCode_Function_All): Do not recurse if the type is the base
3539         type.
3540
3541 2009-07-13  Robert Dewar  <dewar@adacore.com>
3542
3543         * exp_ch4.adb: Minor comment change
3544
3545 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3546
3547         * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
3548         type of iteration, to prevent spurious warnings.
3549
3550 2009-07-13  Nicolas Roche  <roche@adacore.com>
3551
3552         * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
3553         included.
3554
3555 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3556
3557         * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
3558         gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
3559         Generate_SCIL.
3560         (CodePeer_Mode): New -gnatC switch.
3561         (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
3562         CodePeer_Mode.
3563
3564 2009-07-13  Eric Botcazou  <ebotcazou@adacore.com>
3565
3566         * checks.adb (Selected_Range_Checks): Do not consider that a non-static
3567         integer bound forces the check if it is compared to its subtype range.
3568
3569 2009-07-13  Robert Dewar  <dewar@adacore.com>
3570
3571         * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
3572         prj-strt.ads: Minor reformatting
3573
3574 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3575
3576         * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
3577         set the type of the From_Any call to the base type.
3578
3579 2009-07-13  Doug Rupp  <rupp@adacore.com>
3580
3581         * symbols-processing-vms-ia64.adb (Process): Add variables and
3582         constants to retrieve and check for symbol visibility.
3583
3584 2009-07-13  Javier Miranda  <miranda@adacore.com>
3585
3586         * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
3587         the identical type we remove the conversion completely because
3588         it is useless.
3589
3590 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3591
3592         * prj-err.adb (Error_Msg): One more case where a message should be
3593         considered as a warning.
3594
3595         * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
3596
3597 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3598
3599         * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
3600         calling stubs in the (library level) scope of the RCI locator, where it
3601         is attached, not in the caller's scope.
3602
3603 2009-07-13  Javier Miranda  <miranda@adacore.com>
3604
3605         * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
3606         interface object declarations we delay the generation of the equivalent
3607         record type declarations until its expansion because there are cases in
3608         which they are not required.            
3609
3610         * sem_util.adb (Implements_Interface): Add missing support for subtypes.
3611
3612         * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
3613         addition of assertion.
3614
3615         * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
3616         interface types require no equivalent constrained type declarations
3617         because the expanded code only references the tag component associated
3618         with the interface.
3619         (Find_Interface_Tag): Improve management of interfaces that are
3620         ancestors of tagged types.
3621
3622         * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
3623         class-wide object declarations to add missing support to statically
3624         displace the pointer to the object to reference the tag component
3625         associated with the interface.
3626
3627         * exp_disp.adb (Make_Tags) Avoid generation of internally generated
3628         auxiliary types associated with user-defined dispatching calls if the
3629         type has no user-defined primitives.
3630
3631 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3632
3633         * mingw32.h: Make it explicit that we need XP or later.
3634
3635         * initialize.c: Remove useless extern symbol declaration.
3636
3637         * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
3638         code reuse in expect.c.
3639
3640         * adaint.c: Changes throughout the Windows section to redesign storage
3641         of the child process list and the process identification.
3642
3643         * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
3644         for interfacing, fix errors.
3645         (__gnat_expect_portable_execvp): use function in adaint.c
3646
3647 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3648
3649         * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
3650         prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
3651         prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
3652         errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
3653         (Prj.Nmsc.Report_Error): Removed, no longer needed.
3654         Always use Prj.Err.Report_Message.
3655
3656 2009-07-13  Robert Dewar  <dewar@adacore.com>
3657
3658         * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
3659         & comment edits.
3660
3661 2009-07-13  Robert Dewar  <dewar@adacore.com>
3662
3663         * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
3664         prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
3665
3666 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3667
3668         * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
3669         mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
3670         Ada_Prj_Include_File_Set): Removed, since not needed
3671         Code clean up.
3672
3673 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3674
3675         * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
3676         Analyze_Membership_Op.
3677
3678         * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
3679         Resolve_Membership_Op.
3680
3681         * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
3682         Expand_N_In.
3683
3684 2009-07-13  Robert Dewar  <dewar@adacore.com>
3685
3686         * clean.adb: Minor reformattting
3687
3688 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3689
3690         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
3691         gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
3692         prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
3693         prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
3694         and attributes in a project tree.
3695         (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
3696         Remove last remaining mode-specific code (ada_only or
3697         multi_language). This was duplicating code
3698         (Get_Mode, Set_Mode): removed, no longer used.
3699         (Initialize_Project_Path): all tools will now take into account both
3700         GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
3701         Remove some global variables and subprograms no longer used
3702         Make temporary files tree-specific, to avoid interferences between
3703         trees loaded in memory at the same time.
3704         (Prj.Delete_Temporary_File): new subprogram
3705         (Object_Paths, Source_Paths): fields no longer stored in the project
3706         tree, since they are only needed locally in Set_Ada_Paths.
3707         (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
3708         effect in practice.
3709         (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
3710         by local variables in the appropriate subprograms
3711         (Has_Foreign_Sources): removed.
3712
3713         * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
3714
3715 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3716
3717         * gnat1drv.adb (Adjust_Global_Switches): No longer set
3718         Back_Annotate_Rep_Info in inspector mode.
3719         (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
3720
3721         * opt.ads: Update comment.
3722
3723 2009-07-13  Robert Dewar  <dewar@adacore.com>
3724
3725         * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
3726         prj.ads: Minor reformatting and code reorganization.
3727
3728         * par-ch3.adb (Check_Restricted_Expression): New procedure
3729
3730 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3731
3732         * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
3733         attribute into a call of the corresponding suprogram, create extra
3734         formals for the subprogram, because it may be a renaming whose
3735         analysis does not create extra formals.
3736
3737 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3738
3739         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
3740         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3741         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
3742         prj-tree.ads: Minor reformatting.
3743         (Processing_Flags): new record to encapsulate the set of common
3744         parameters to several subprograms in the project manager.
3745         (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
3746         Remove the need for the Current_Dir parameter in subprograms.
3747         (Look_For_Sources): minor refactoring, now that we no longer need to
3748         share subprograms between the two Ada_Only and Multi_Language modes
3749         (Processing_Flags): New field Error_On_Unknown_Language.
3750         Merge tests for library project between gnatmake and gprbuild.
3751
3752 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3753
3754         * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
3755         Minor reformatting.
3756
3757 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3758
3759         * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
3760         than units.
3761
3762 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3763
3764         * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
3765         Write,Input,Output} from private view to full view.
3766
3767         * sem_type.adb, sem_type.ads: Minor reformatting
3768
3769 2009-07-13  Nicolas Setton  <setton@adacore.com>
3770
3771         * exp_dbug.ads: Add documentation note on the utility of
3772         DW_AT_GNAT_encoding for IDEs.
3773
3774 2009-07-13  Robert Dewar  <dewar@adacore.com>
3775
3776         * g-socthi-vxworks.adb: Minor reformatting
3777
3778         * gnatcmd.adb: Minor reformatting
3779
3780 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3781
3782         * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
3783         removed, not used anymore.
3784         (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
3785         New subprogram, implements copy of an Any value into a limited object.
3786         (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
3787         Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
3788         Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
3789         of parameters of a limited type, use the above new subprogram.
3790
3791 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3792
3793         * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
3794         Location.
3795         (Copy_ALI_Files): Avoid calls to read when pointing outside of the
3796         allocated space.
3797         (Error_Report): Remove global variable, replaced by parameters.
3798
3799 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3800
3801         * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
3802         standard sendto(2) interface for connected sockets (passing a null
3803         destination address). Use send(2) instead for that case.
3804
3805 2009-07-13  Pascal Obry  <obry@adacore.com>
3806
3807         * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
3808
3809 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3810
3811         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
3812         prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
3813         variables and tables in prj-nmsc.adb.
3814         (Tree_Processing_Data): Renames Processing_Data, some new fields added
3815         (Project_Processing_Data): New record
3816         Simplify/unify check for missing sources.
3817
3818 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3819
3820         * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
3821         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3822         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
3823         prj-tree.ads (Immediate_Directory_Of): Removed.
3824         (Prj.Pars): Now parse the project simulating a default config file.
3825         (Add_Default_GNAT_Naming_Scheme): New subprogram
3826         (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
3827         Remove gnatmake-specific parsing of source files.
3828         (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
3829         the error itself to provide more precise diagnostics.
3830         (Process_Exceptions_Unit_Based): Avoid duplicate error message when
3831         a unit belongs to several projects.
3832         (Copy_Interface_Sources): Search the full path of files to copy in the
3833         list of sources of the application rather than in the list of units.
3834         (Parse_Project_And_Apply_Config): Do not reset the name of the main
3835         project file.
3836         (Check_File): Use htables to find out whether a source is duplicated.
3837         (Add_Source): check whether the source or unit were already seen earlier
3838
3839         * gcc-interface/Makefile.in: Update gnatmake dependencies.
3840
3841 2009-07-13  Robert Dewar  <dewar@adacore.com>
3842
3843         * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
3844         expression if extensions permitted.
3845
3846         * par-ch4.adb (P_Membership_Test): New procedure (implement membership
3847         set tests).
3848         (P_Relation): Use P_Membership_Test
3849
3850         * par.adb (P_Membership_Test): New procedure (implement membership set
3851         tests).
3852
3853         * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
3854
3855         * sprint.adb (Sprint_Node): Handle set form for membership tests.
3856
3857 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3858
3859         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
3860         Do not attempt to generate stubs for predefined primitives of
3861         synchronized interfaces.
3862         (Add_Stub_Type): Factor some code from the PCS-specific variants of
3863         Build_Stub_Type.
3864
3865 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3866
3867         * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
3868         Controlling_Result flag from the operation they override.
3869
3870 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3871
3872         * gcc-interface/Make-lang.in: Update dependencies
3873
3874 2009-07-13  Robert Dewar  <dewar@adacore.com>
3875
3876         * gnat_ugn.texi: The gnatf switch no longer is needed to get full
3877         details on unsupported constructs.
3878
3879         * rtsfind.adb: Remove references to All_Errors_Mode, give errors
3880         unconditionally.
3881
3882         * s-trafor-default.adb: Correct some warnings
3883
3884         * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
3885         sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
3886         Minor reformatting.
3887
3888         * par-ch4.adb (Conditional_Expression): Capture proper location for
3889         conditional expression, should point to IF.
3890
3891         * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
3892         s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
3893         g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
3894         reorganization (use conditional expressions).
3895
3896 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3897
3898         * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
3899         build-in-place function that returns an inherently limited type (not
3900         just a task type) create proper object declaration so that extra
3901         build-in-place actuals are properly added to the call.
3902
3903 2009-07-13  Robert Dewar  <dewar@adacore.com>
3904
3905         * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
3906
3907         * gnat_ugn.texi: Add documentation for -gnatw.m/.M
3908
3909         * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
3910
3911         * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
3912         Warn_On_Suspicious_Modulus_Value.
3913
3914         * ug_words: Add entries for -gnatw.m/-gnatw.M.
3915
3916         * usage.adb: Add lines for -gnatw.m/.M switches.
3917
3918         * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
3919
3920 2009-07-13  Javier Miranda  <miranda@adacore.com>
3921
3922         * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
3923         reading the Is_Interface attribute of the dispatching type.
3924
3925 2009-07-13  Robert Dewar  <dewar@adacore.com>
3926
3927         * a-convec.adb: Minor code reorganization (use conditional expressions)
3928
3929 2009-07-13  Robert Dewar  <dewar@adacore.com>
3930
3931         * freeze.adb (Check_Suspicious_Modulus): New procedure.
3932
3933 2009-07-13  Robert Dewar  <dewar@adacore.com>
3934
3935         * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
3936         warning).
3937
3938         * par-ch4.adb: Minor reformatting
3939
3940 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3941
3942         * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
3943         => Is_Atomic_Aggregate
3944
3945 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3946
3947         * prj-nmsc.adb: Avoid traversing the list of source files if
3948         we have already processed all locally removed files.
3949
3950 2009-07-13  Jose Ruiz  <ruiz@adacore.com>
3951
3952         * gnat_ugn.texi: Fix typo.
3953
3954 2009-07-13  Robert Dewar  <dewar@adacore.com>
3955
3956         * freeze.adb: Minor reformatting
3957         Minor code reorganization (use Nkind_In)
3958
3959         * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
3960
3961 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
3962
3963         * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
3964         local variable and do not test it in Compile_Time_Bad_Alignment.
3965         Do not issue size or alignment warnings for the X'Address form.
3966         * sem_util.ads (Find_Overlaid_Object): Delete.
3967         (Find_Overlaid_Entity): New procedure.
3968         * sem_util.adb (Find_Overlaid_Object): Rename to...
3969         (Find_Overlaid_Entity): ...this and turn into a procedure.  Report
3970         whether the address is offseted within the overlaid entity.
3971         (Has_Compatible_Alignment): Track the offset globally instead of
3972         passing it to Check_Offset.  For an indexed component, compute the
3973         full offset when possible.  If the resulting offset is zero, only
3974         check the prefix.
3975         (Check_Offset): Delete.
3976         * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
3977         (Address_Aliased_Entity): Delete.
3978         (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
3979         Find_Overlaid_Entity to find the overlaid entity and the offset.
3980         Adjust throughout for above change.
3981         (Validate_Address_Clauses): Always use attributes of entities, not of
3982         their type.  Tweak message for warning.  Call Has_Compatible_Alignment
3983         if the address is offseted to warn about incompatible alignments.
3984         * gcc-interface/gigi.h (annotate_object): Declare.
3985         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
3986         entity.  Call annotate_object instead of annotating manually objects.
3987         (annotate_object): New function.
3988         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
3989         at the end.
3990
3991 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
3992
3993         * gcc-interface/ada-tree.h: Minor reorganization.
3994         * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
3995         (gnat_print_type): Likewise.
3996
3997 2009-07-11  Thomas Quinot  <quinot@adacore.com>
3998
3999         * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
4000         Lvalue -> lvalue
4001
4002         * exp_ch6.adb: Minor reformatting
4003
4004 2009-07-11  Ed Schonberg  <schonberg@adacore.com>
4005
4006         * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
4007         account possible type qualification to determine whether aggregate
4008         needs a target temporary to respect atomic type or object.
4009
4010         * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
4011         Expand_Atomic_Aggregate.
4012
4013 2009-07-11  Emmanuel Briot  <briot@adacore.com>
4014
4015         * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
4016         algorithm.
4017         (Excluded_Sources_Htable): No longer a global table.
4018         Change error message to indicate which files are illegal in the list
4019         of excluded files, as opposed to only the location in the project
4020         file.
4021         (Find_Source): New subprogram.
4022
4023 2009-07-10  Thomas Quinot  <quinot@adacore.com>
4024
4025         * exp_ch7.adb: Update comments.
4026
4027 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
4028
4029         * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
4030         clause if -gnatI is set instead of crashing.
4031
4032 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4033
4034         * sem_ch11.adb (Same_Expression): Null is always equal to itself.
4035         Additional work to remove redundant successive raise statements, in
4036         this case access checks.
4037
4038 2009-07-10  Vincent Celier  <celier@adacore.com>
4039
4040         * make.adb (Compile): Always create a deep copy of the mapping file
4041         argument (-gnatem=...) as it may be deallocate/reallocate by
4042         Normalize_Arguments.
4043
4044 2009-07-10  Javier Miranda  <miranda@adacore.com>
4045
4046         * einfo.adb (Directly_Designated_Type): Add assertion.
4047         
4048         * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
4049         access types before using attribute Directly_Designated_Type.
4050
4051 2009-07-10  Emmanuel Briot  <briot@adacore.com>
4052
4053         * prj.ads: Minor typo fix
4054
4055 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4056
4057         * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
4058         special treatment.
4059
4060         * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
4061         subprogram is a function call, resolve properly, to ensure that extra
4062         actuals are added as needed.
4063
4064 2009-07-10  Thomas Quinot  <quinot@adacore.com>
4065
4066         * sem_aggr.adb: Minor comments editing
4067
4068         * exp_tss.adb, exp_ch3.adb: Minor reformatting
4069
4070 2009-07-10  Robert Dewar  <dewar@adacore.com>
4071
4072         * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
4073
4074         * exp_ch4.adb: Add ??? comment for conditional expressions on limited
4075         types.
4076
4077         * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
4078         replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
4079         case of conditional expressions that may not be elaborated.
4080
4081         * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
4082         conditional expression where we may not execute then then or else
4083         branches.
4084
4085 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
4086
4087         * i-cexten.ads (bool): New type.
4088
4089 2009-07-10  Robert Dewar  <dewar@adacore.com>
4090
4091         * sinfo.ads (N_Short_Circuit): New definition
4092         
4093         * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
4094         treepr.adb: Minor code reorganization (use N_Short_Circuit)
4095
4096 2009-07-10  Javier Miranda  <miranda@adacore.com>
4097
4098         * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
4099         non-tagged record types.
4100
4101         * sem_prag.adb
4102         (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
4103         with non-tagged types. Required to import C++ classes that have no
4104         virtual primitives.
4105         (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
4106         returning non-tagged types. For backward compatibility, if the
4107         constructor returns a class wide type we internally change the
4108         returned type to the corresponding non class-wide type.
4109
4110         * sem_aggr.adb
4111         (Valid_Ancestor_Type): CPP_Constructors code cleanup.
4112         (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
4113         (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
4114         (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
4115
4116         * sem_ch3.adb
4117         (Analyze_Object_Declaration): CPP_Constructors code cleanup.
4118
4119         * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
4120
4121         * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
4122
4123         * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
4124
4125         * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
4126         cleanup.
4127         
4128         * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
4129
4130         * gnat_rm.texi
4131         (pragma CPP_Class): Document that it can be used now with non-tagged
4132         record types.
4133         (pragma CPP_Constructor): Document that it can be used now with
4134         functions returning specific types. For backward compatibility
4135         we also support functions returning class-wide types.
4136
4137         * gnat_ugn.texi
4138         (Interfacing with C++ constructors): Update the examples to incorporate
4139         the new syntax in which the functions used to import C++ constructors
4140         return specific types.
4141         (Interfacing with C++ at the Class Level): Update the examples to
4142         incorporate the new syntax in which the functions used to import
4143         C++ constructors return specific types.
4144
4145 2009-07-10  Thomas Quinot  <quinot@adacore.com>
4146
4147         * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
4148         Make_Disp_Conditional_Select_Body,
4149         Make_Disp_Timed_Select_Body): For the case of a type that is neither an
4150         interface nor a concurrent type, the primitive body is empty. Generate
4151         a null statement so that it remains well formed.
4152
4153 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4154
4155         * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
4156         replace references to them in defaulted component expressions with
4157         references to the values of the discriminants of the target object.
4158
4159 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4160
4161         * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
4162         pragma, to capture global references if the context is generic.
4163
4164         * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
4165         appears within the initialization procedure for the corresponding
4166         record, replace it with the proper discriminal.
4167
4168 2009-07-10  Vincent Celier  <celier@adacore.com>
4169
4170         * make.adb: Do not include object directories or library ALI
4171         directories of library projects in the object path.
4172
4173 2009-07-10  Javier Miranda  <miranda@adacore.com>
4174
4175         * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
4176         Typ argument to ensure proper management of access types.
4177
4178 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4179
4180         * exp_ch7.adb (Build_Final_List): If the list is being built for a
4181         Taft-Amendment type, place the finalization list in the package body,
4182         to ensure that the tree for the spec is identical whenever it is
4183         compiled.
4184
4185 2009-07-10  Javier Miranda  <miranda@adacore.com>
4186
4187         * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
4188         inheriting attributes from a private Parent_Base.
4189
4190 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4191
4192         * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
4193         statements with the same condition.
4194
4195 2009-07-10  Robert Dewar  <dewar@adacore.com>
4196
4197         * exp_ch4.adb (Raise_Accessibility_Error): New procedure
4198
4199 2009-07-09  Tom Tromey  <tromey@redhat.com>
4200
4201         * raise-gcc.c: Include dwarf2h (unconditionally).
4202
4203 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4204
4205         * sem_ch10.adb (Install_Context): If the unit is a package body,
4206         install the private with_clauses of the corresponding package
4207         declaration.
4208
4209 2009-07-09  Robert Dewar  <dewar@adacore.com>
4210
4211         * checks.adb: Minor reformatting
4212
4213 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4214
4215         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
4216         into ug_words.
4217
4218 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4219
4220         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
4221         Do not warn for a constant overlaying any constant object
4222
4223 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4224
4225         * sem_ch10.adb (Install_Context): If the unit is a package body,
4226         install the private with_clauses of the corresponding package
4227         declaration.
4228
4229 2009-07-09  Robert Dewar  <dewar@adacore.com>
4230
4231         * checks.adb: Minor reformatting
4232
4233 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4234
4235         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
4236         into ug_words.
4237
4238 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4239
4240         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
4241         Do not warn for a constant overlaying any constant object
4242
4243 2009-07-09  Arnaud Charlet  <charlet@adacore.com>
4244
4245         * gcc-interface/Make-lang.in: Update dependencies
4246
4247 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4248
4249         * g-socket.adb (Check_Selector): Do not create local copies of the
4250         socket sets on the stack.
4251
4252 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4253
4254         * gnat_ugn.texi: Add missing VMS translations.
4255
4256 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4257
4258         * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
4259         condition, to prevent generation of visible code during expansion,
4260         when Check is not enabled.
4261
4262 2009-07-09  Gary Dismukes  <dismukes@adacore.com>
4263
4264         * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
4265         the check gets registered for any available local handler
4266         (Set_Local_Raise).
4267
4268         * sem_util.adb: Add with and use of Exp_Ch11.
4269         (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
4270         that the check gets registered for any available local handler.
4271
4272         * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
4273         on slice ranges.
4274
4275 2009-07-09  Steve Baird  <baird@adacore.com>
4276
4277         * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
4278         function.
4279         (Expand_N_Exception_Declaration): Fix handling of exceptions
4280         declared in a subprogram.
4281
4282 2009-07-09  Emmanuel Briot  <briot@adacore.com>
4283
4284         * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
4285         multi-unit files.
4286
4287 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4288
4289         * freeze.adb: Minor reformatting
4290
4291         * exp_ch3.adb: Minor comment fix.
4292
4293         * sinfo.ads: Minor comment fix
4294
4295 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4296
4297         * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
4298
4299 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4300
4301         * freeze.adb (Freeze_Expression): If the expression is the name of a
4302         function in a call, and the function has not been frozen yet, create
4303         extra formals for it to ensure that the proper actuals are created
4304         when expanding the call.
4305
4306 2009-07-09  Emmanuel Briot  <briot@adacore.com>
4307
4308         * prj-pp.adb (Print): Fix handling of source index when set on a
4309         declaration node.
4310
4311 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4312
4313         * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
4314         a temporary to the source expression whose value it captures.
4315
4316         * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
4317
4318 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4319
4320         * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
4321         EXPR_LOCATION.
4322
4323 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
4324
4325         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
4326         parameters when the subtype of the actual is not known to be a subrange
4327         of the formal's subtype.
4328         (Expand_Call): Generate a range check only in the E_In_parameter case
4329         (in out parameter range checks are now handled in Expand_Actuals).
4330
4331         * exp_ch4.adb (Expand_N_Slice): Restore code that calls
4332         Enable_Range_Check.
4333
4334 2009-07-07  Robert Dewar  <dewar@adacore.com>
4335
4336         * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
4337
4338 2009-07-07  Javier Miranda  <miranda@adacore.com>
4339
4340         * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
4341         designated type comes from a limited views.
4342
4343 2009-07-07  Emmanuel Briot  <briot@adacore.com>
4344
4345         * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
4346         locally removed files that are later made visible again in an importing
4347         project.
4348
4349 2009-07-07  Robert Dewar  <dewar@adacore.com>
4350
4351         * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
4352
4353 2009-07-07  Sergey Rybin  <rybin@adacore.com>
4354
4355         * gnat_ugn.texi: Add an example to the description of gnatcheck
4356         'Style_Checks' rule option.
4357
4358 2009-07-07  Tristan Gingold  <gingold@adacore.com>
4359
4360         * seh_init.c: Fix inline assembly statement in seh_init.c
4361
4362 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4363
4364         * sem_warn.adb (Check_References): Do not emit warnings on formals of
4365         an entry body. Only the formals of the entry declaration are traced.
4366
4367 2009-07-07  Robert Dewar  <dewar@adacore.com>
4368
4369         * s-osprim-mingw.adb: Minor code reorganization
4370
4371 2009-07-07  Robert Dewar  <dewar@adacore.com>
4372
4373         * prj-nmsc.adb: Minor reformatting
4374
4375 2009-07-07  Pascal Obry  <obry@adacore.com>
4376
4377         * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
4378         cases where Pattern is longer than Source.
4379
4380 2009-07-07  Pascal Obry  <obry@adacore.com>
4381
4382         * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
4383
4384 2009-07-07  Emmanuel Briot  <briot@adacore.com>
4385
4386         * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
4387         project file.
4388
4389 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4390
4391         * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
4392         primitive operations, in case one of them is called in the
4393         initialization procedure for the type.
4394
4395 2009-07-07  Robert Dewar  <dewar@adacore.com>
4396
4397         * a-calend.adb: Minor code reorganization (use conditional expressions)
4398
4399         * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
4400         prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
4401         s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
4402         s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
4403         s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
4404         g-comlin.adb, exp_ch11.adb: Minor reformatting.
4405
4406 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
4407
4408         * checks.adb (Generate_Range_Check): Replace type conversions with
4409         unchecked conversions to support the case of performing range checks
4410         on Enum'Val (permits integer values to be converted to enumeration).
4411
4412         * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
4413         Attribute_Succ): Set Do_Range_Check to False before calling
4414         Expand_Pred_Succ, to prevent gigi from generating any range checks.
4415         (Expand_N_Attribute_Reference, case Attribute_Val):
4416         Generate a range check when needed (and set Do_Range_Check to False).
4417
4418         * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
4419         scalar object initialization if needed.
4420
4421         * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
4422         when needed on scalar allocators.
4423         (Expand_N_Qualified_Expression): Generate range check when needed.
4424         (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
4425         Checks on slice ranges handled in Resolve_Slice.
4426
4427         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
4428         when needed, for all scalar assignments, not just discrete.
4429         (Expand_Simple_Function_Return): Resolve the conversion created for a
4430         scalar function return so that the conversion will get expanded to
4431         generate a possible constraint check.
4432
4433         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
4434         in out scalar actuals when subtypes don't match, to ensure generation
4435         of return checks (and set Do_Range_Check to False).
4436         (Expand_Call): Uncomment code to perform range checks, but make it apply
4437         only to in and in out parameters (checks on parameter returns are
4438         handled in Expand_Actuals). If a scalar actual for a call to a derived
4439         subprogram is marked as needing a range check, peform it here (and set
4440         Do_Range_Check to False).
4441
4442         * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
4443         range check on scalar component associations when needed.
4444
4445         * sem_eval.adb (In_Subrange_Of): Return False when the first type has
4446         infinities but the second type does not, as these aren't compatible
4447         floating-point types.
4448
4449         * sem_res.adb (Resolve_Slice): In the case where the prefix of the
4450         slice is itself a slice, pick up the Etype of the prefix. This handles
4451         the case where the prefix was an Image attribute expanded to a slice,
4452         and ensures that we get the subtype with the slice constraint rather
4453         than the unconstrained subbtype of the 'Image.
4454
4455 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4456
4457         * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
4458         overloaded expressions in a conditional expressions.
4459
4460         * sem_res.adb (Resolve): Handle properly overloaded conditional
4461         expressions.
4462
4463 2009-07-07  Robert Dewar  <dewar@adacore.com>
4464
4465         * scng.adb: Minor reformattting
4466
4467         * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
4468         association allows conditional expression without parens.
4469
4470         * par-ch4.adb (P_Name): Attribute arguments can be conditional
4471         expressions without enclosing parentheses, and also as parameters,
4472         indexing expressions etc.
4473         (P_Conditional_Expression): New procedure
4474         (P_Expression_If_OK): New procedure
4475
4476         * par.adb (P_Conditional_Expression): New procedure
4477         (P_Expression_If_OK): New procedure
4478
4479         * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
4480         form of conditional expression.
4481
4482         * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
4483         missing True argument if ELSE argument missing.
4484
4485         * sinfo.adb (Is_Elsif): New flag
4486
4487         * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
4488         part of the language, and the documentation is modified accordingly.
4489         (Is_Elsif): New flag
4490
4491 2009-07-06  Olivier Hainque  <hainque@adacore.com>
4492
4493         * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
4494         setjmp_longjmp): Attach the exception propagation reraise fallback
4495         to the sequence end label location when we have it.
4496
4497 2009-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
4498
4499         PR ada/40608
4500         * init.c (APPLE): Include <mach/mach_init.h>.
4501         (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
4502
4503 2009-07-04  Eric Botcazou  <ebotcazou@adacore.com>
4504
4505         * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
4506         (SET_DECL_LANG_SPECIFIC): Likewise.
4507         (TYPE_RM_VALUE): New macro.
4508         (SET_TYPE_RM_VALUE): Likewise.
4509         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
4510         (TYPE_RM_MIN_VALUE): Likewise.
4511         (TYPE_RM_MAX_VALUE): Likewise.
4512         (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
4513         (SET_TYPE_RM_MIN_VALUE): Likewise.
4514         (SET_TYPE_RM_MAX_VALUE): Likewise.
4515         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
4516
4517 2009-07-04  Laurent GUERBY  <laurent@guerby.net>
4518
4519         PR ada/40631
4520         * tracebak.c (__gnat_backtrace): Fix old-style definition.
4521
4522 2009-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4523
4524         * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
4525
4526 2009-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4527
4528         PR ada/40609
4529         * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
4530         ucontext argument.
4531
4532 2009-07-01  Eric Botcazou  <ebotcazou@adacore.com>
4533
4534         * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
4535
4536 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4537
4538         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
4539         the type of the left operand if it pads a self-referential type when
4540         the right operand is a constructor.
4541
4542         * gcc-interface/lang-specs.h: Fix copyright date.
4543
4544 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4545
4546         * gcc-interface/decl.c: Include tree-inline.h.
4547         (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
4548         * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
4549         * gcc-interface/utils2.c: Include tree-inline.
4550         (known_alignment) <CALL_EXPR>: Likewise.
4551
4552 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4553
4554         * raise-gcc.c: Include dwarf2.h conditionally.
4555         
4556 2009-06-29  Tom Tromey  <tromey@redhat.com>
4557
4558         * raise-gcc.c: Include elf/dwarf2.h.
4559
4560 2009-06-27  Laurent GUERBY  <laurent@guerby.net>
4561
4562         * tb-gcc.c (trace_callback): Add casts to silence warning.
4563
4564 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4565
4566         * tb-gcc.c: Fix copyright notice.
4567
4568 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4569
4570         * init.c (__gnat_set_globals): Add prototype.
4571         * adaint.c (__gnat_binder_supports_auto_init): Likewise.
4572         (__gnat_sals_init_using_constructors): Likewise.
4573         * gcc-interface/utils.c (gnat_pushlevel): Likewise.
4574         (get_block_jmpbuf_decl): Likewise.
4575         (gnat_poplevel): Likewise.
4576         (merge_sizes): Rename local variable.
4577         (copy_type): Likewise.
4578         (build_vms_descriptor32): Likewise.
4579         (build_vms_descriptor): Likewise.
4580         (convert_vms_descriptor64): Likewise.
4581         (convert_vms_descriptor32): Likewise.
4582         (convert_to_fat_pointer): Likewise.
4583         (maybe_unconstrained_array): Likewise.
4584         (def_fn_type): Use promoted type with va_arg.
4585         * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
4586         (substitute_in_type): Rename local variable.
4587         * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
4588
4589 2009-06-26  Laurent GUERBY  <laurent@guerby.net>
4590
4591         * tb-gcc.c (trace_callback): Use char* instead of void*.
4592         * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
4593         * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
4594         (Attribute_to_gnu): Adjust for above change.
4595         (Subprogram_Body_to_gnu): Likewise.
4596         * gcc-interface/utils.c (merge_sizes): Rename local variable.
4597         (copy_type): Likewise.
4598         (build_vms_descriptor32): Likewise.
4599         (build_vms_descriptor): Likewise.
4600         (convert_vms_descriptor64): Likewise.
4601         (convert_vms_descriptor32): Likewise.
4602         (convert_to_fat_pointer): Likewise.
4603         (maybe_unconstrained_array): Likewise.
4604         * gcc-interface/decl.c (substitute_in_type): Likewise.
4605
4606 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4607
4608         * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
4609         (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
4610         of the upper bound of the index types.
4611
4612 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4613
4614         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
4615         out common predicate.  Use the maximum to compute the upper bound of
4616         the index type only when it is not wider than sizetype.  Perform the
4617         comparison in the index type for the generic expression.  Use real
4618         precision to decide whether to generate special types for debugging
4619         information.
4620
4621 2009-06-26  Matthew Gingell  <gingell@adacore.com>
4622
4623         * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
4624
4625 2009-06-26  Vincent Celier  <celier@adacore.com>
4626
4627         * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
4628         default.
4629
4630 2009-06-26  Robert Dewar  <dewar@adacore.com>
4631
4632         * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
4633
4634 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4635
4636         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
4637         correct arguments to create_field_decl.  Remove redundant iteration.
4638         Rewrite computation of the maximum size.
4639         <E_Array_Subtype>: Reorder and simplify handling of special cases.
4640         Rewrite computation of the maximum size.  Use consistent naming.
4641         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
4642         comparison order for consistency.  Use generic integer node to
4643         build the operator and fold the result.
4644
4645 2009-06-25  Vincent Celier  <celier@adacore.com>
4646
4647         * vms_data.ads: Minor comment change
4648
4649 2009-06-25  Gary Dismukes  <dismukes@adacore.com>
4650
4651         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
4652         assignment statement to targeting a caller-provided object when the
4653         result type is an interface type.
4654
4655         * exp_ch6.adb (Expand_Call): Remove redundant test of
4656         Is_Limited_Interface (Is_Inherently_Limited is sufficient).
4657         (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
4658
4659         * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
4660         to OK_For_Limited_Init.
4661
4662         * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
4663         condition so that True is returned for all limited interfaces, not
4664         just synchronized ones. Ignore components of an interface type when
4665         checking for limited components (such a component can be a parent
4666         component).
4667
4668         * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
4669         (OK_For_Limited_Init): Add type parameter.
4670
4671         * sem_ch3.adb (Check_Initialization): Add type in call to
4672         OK_For_Limited_Init.
4673         (OK_For_Limited_Init): Add new type param in call to
4674         OK_For_Limited_Init_In_05.
4675         (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
4676         nonlimited type when the context type is a limited interface. Add type
4677         on recursive calls.
4678
4679         * sem_ch4.adb (Analyze_Allocator): Add type in call to
4680         OK_For_Limited_Init.
4681
4682         * sem_ch6.adb (Check_Limited_Return): Add type in call to
4683         OK_For_Limited_Init.
4684
4685         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
4686         OK_For_Limited_Init.
4687         (Instantiate_Object): Add type in call to OK_For_Limited_Init.
4688
4689         * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
4690         class-wide interface, get the base type before applying Etype, in order
4691         to account for class-wide subtypes.
4692
4693 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4694
4695         * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
4696         prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
4697         between gnatmake and gprbuild.
4698         (Naming_Data): Removed, no longer used
4699         (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
4700         needed locally in one subprogram, no need to store forever in the
4701         structure.
4702         (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
4703         a similar role.
4704         (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
4705         Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
4706         Spec_Suffix_Id_Of): removed, no longer used.
4707
4708 2009-06-25  Javier Miranda  <miranda@adacore.com>
4709
4710         * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
4711         types on qualified expression in calls to imported C++ constructors.
4712
4713         * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
4714         imported C++ constructors.
4715
4716 2009-06-25  Sergey Rybin  <rybin@adacore.com>
4717
4718         * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
4719
4720 2009-06-25  Vincent Celier  <celier@adacore.com>
4721
4722         * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
4723         provided, on Windows change all '/' to '\'.
4724
4725         * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
4726         used. Minor comment changes
4727
4728         * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
4729         Remove_Forbidden_File_Name.
4730
4731 2009-06-25  Quentin Ochem  <ochem@adacore.com>
4732
4733         * prj.ads (Unit_Index): Now general access type.
4734
4735 2009-06-25  Pascal Obry  <obry@adacore.com>
4736
4737         * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
4738
4739 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4740
4741         * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
4742         prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
4743         computed efficiently from the other fields.
4744         (Object_To_Global_Archive): New subprogram
4745         (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
4746         (Override_Kind): Fix handling of separates in Ada.
4747         (Create_Mapping_File): Remove duplicate code
4748         (Naming_Data.Implementation_Exception, Specification_Exception):
4749         field removed, since never used.
4750         (Naming_Data.Specs, .Bodies): field removed, since this is only
4751         used while processing the project and is not needed once the tree
4752         is in memory. This brings Naming_Data and Lang_Naming_Data
4753         closer (same content now, but different use still).
4754
4755 2009-06-25  Pascal Obry  <obry@adacore.com>
4756
4757         * sem_ch4.adb: Minor reformatting.
4758
4759         * a-strsea.adb: Fix confusion between 'Length and 'Last.
4760
4761 2009-06-25  Ed Schonberg  <schonberg@adacore.com>
4762
4763         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
4764         Unchecked_Access): If the context is an interface type, and the prefix
4765         is of the corresponding class-wide type, do not insert a conversion
4766         because the pointer displacement has already taken place, and we must
4767         retain the class-wide type in a dispatching context.
4768
4769 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4770
4771         * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
4772         the previous source file.
4773         (Create_Mapping): Iterate on sources rather than on units.
4774
4775 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4776
4777         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
4778         prj-env.adb, prj-env.ads (Slash): removed, no longer used
4779         (Source_Data): no longer use Path.Name to point to a locally removed
4780         file. Instead we use the field Locally_Removed which is clearer
4781
4782 2009-06-25  Arnaud Charlet  <charlet@adacore.com>
4783
4784         * gcc-interface/Make-lang.in: Remove references to sem_maps.o
4785
4786         * sem_maps.adb, sem_maps.ads: Removed, not used.
4787
4788 2009-06-25  Ed Falis  <falis@adacore.com>
4789
4790         * s-vxwext-rtp.ads: Add missing declaration
4791
4792 2009-06-25  Matthew Gingell  <gingell@adacore.com>
4793
4794         * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
4795         speed up unmapped case.
4796
4797 2009-06-25  Vincent Celier  <celier@adacore.com>
4798
4799         * prj-nmsc.adb (Check): Change error message for illegal abstract
4800         projects.
4801
4802 2009-06-25  Robert Dewar  <dewar@adacore.com>
4803
4804         * gnat_ugn.texi: Add note on use of -gnatct for ASIS
4805
4806 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4807
4808         * fmap.ads: Add documentation on mapping files
4809
4810 2009-06-25  Robert Dewar  <dewar@adacore.com>
4811
4812         * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
4813         reformatting
4814
4815 2009-06-24  Robert Dewar  <dewar@adacore.com>
4816
4817         * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
4818
4819         * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
4820         case.
4821         (Index): Ditto.
4822
4823 2009-06-24  Ed Schonberg  <schonberg@adacore.com>
4824
4825         * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
4826         present when checking whether a call may be interpreted as an indexing
4827         of the result of a call.
4828
4829         * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
4830         body for a null procedure on the freeze actions for the procedure, so
4831         that it will be analyzed at the proper place without premature freezing
4832         of actuals.
4833
4834         * sem_ch3.adb (Check_Completion): Code cleanup. 
4835         Do not diagnose a null procedure without a body, if previous errors
4836         have disabled expansion.
4837
4838 2009-06-24  Doug Rupp  <rupp@adacore.com>
4839
4840         * init.c [VMS] Resignal C$_SIGKILL
4841
4842 2009-06-24  Ed Falis  <falis@adacore.com>
4843
4844         * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
4845         Define ERROR in body for VxWorks 6 kernel
4846
4847 2009-06-24  Pascal Obry  <obry@adacore.com>
4848
4849         * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
4850         in [Send/Receive]_Socket.
4851
4852 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4853
4854         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
4855         prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
4856         to several subprograms.
4857         (Source_Data.Other_Part): Removed, since can be computed from the
4858         language.
4859         (Other_Part): New subprogram.
4860
4861 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4862
4863         * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
4864         the full base name of the file when the suffix doesn't start with a '.'.
4865
4866 2009-06-24  Vincent Celier  <celier@adacore.com>
4867
4868         * prj-nmsc.adb (Check): A project declared abstract is legal if no
4869         attribute Source_Dirs, Source_Files, Source_List_File or Languages is
4870         declared.
4871
4872 2009-06-24  Robert Dewar  <dewar@adacore.com>
4873
4874         * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
4875         prj-env.adb: Minor reformatting
4876
4877 2009-06-24  Ed Falis  <falis@adacore.com>
4878
4879         * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
4880         s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
4881         s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
4882         support for VxWorks SMP.
4883
4884         * gcc-interface/Make-lang.in: Update dependencies
4885
4886 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4887
4888         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
4889         prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
4890         no longer useful.
4891         (Source_Data.Lang_Kind): Removed, since it duplicates information
4892         already available through Language.Config.
4893         (Source_Data.Compile): Removed, since information is already available
4894         through the language.
4895         (Is_Compilable): New subprogram.
4896         (Source_Data.Dependency): Removed, since already available through
4897         the language.
4898         (Source_Data.Object_Exist, Object_Linked): Removed since available
4899         through the language already.
4900         (Unit_Data.File_Names): Is now also set in multi_language mode, to
4901         bring the two modes closer in the resulting data structures.
4902         (Source_Data.Unit): Now a direct pointer to the unit data, rather than
4903         just the name that would point into a hash table.
4904         (Get_Language_From_Name): New subprogram.
4905
4906 2009-06-24  Javier Miranda  <miranda@adacore.com>
4907
4908         * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
4909         visible through limited-with context clauses. In addition, avoid an
4910         extra tag check that is not required when the class-wide
4911         designated types of the operand and target types are
4912         the same entity.
4913         (Tagged_Membership): Handle entities from the limited view.
4914
4915 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4916
4917         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
4918         prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
4919         (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
4920         different vocabularies for similar concepts (Impl/Body_Part and
4921         Spec/Specification).
4922         (Unit_Data): now points directly to a Source_Id, rather than duplicating
4923         some of the information in File_Name_Data. This also saves a bit of
4924         memory. However, since we are now using a pointer we need to test
4925         for null explicitly in several places of the code
4926
4927 2009-06-24  Javier Miranda  <miranda@adacore.com>
4928
4929         * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
4930         from processing the type conversion when the node is
4931         replaced by an N_Raise_Program_Error node.
4932
4933 2009-06-24  Hristian Kirtchev  <kirtchev@adacore.com>
4934
4935         * sem_ch6.adb (Designates_From_With_Type): New routine.
4936         (Process_Formals): Since anonymous access types are no longer flagged
4937         as from with types, traverse the designated type to determine whether
4938         it is coming from a limited view.
4939
4940         * sem_res.adb: Remove with and use clauses for Sem_Ch10.
4941         (Full_Designated_Type): Use Available_View to extract the non-limited /
4942         full view of a type.
4943
4944 2009-06-24  Robert Dewar  <dewar@adacore.com>
4945
4946         * exp_ch6.adb: Minor reformatting
4947
4948         * layout.adb: Minor reformatting
4949
4950         * make.adb: Minor reformatting
4951
4952 2009-06-24  Thomas Quinot  <quinot@adacore.com>
4953
4954         * sem_ch10.adb: Minor code reorganization.
4955
4956 2009-06-24  Eric Botcazou  <ebotcazou@adacore.com>
4957
4958         * ttypes.ads: Minor editing.
4959         
4960 2009-06-24  Robert Dewar  <dewar@adacore.com>
4961
4962         * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
4963         in deciding to do call-by-copy code.
4964
4965 2009-06-24  Vincent Celier  <celier@adacore.com>
4966
4967         * make.adb (Gnatmake): To decide if an executable should be rebuilt,
4968         check if an externally built library file is more current than the
4969         executable.
4970
4971 2009-06-23  Olivier Hainque  <hainque@adacore.com>
4972
4973         * gcc-interface/utils.c (handle_vector_size_attribute): Import from
4974         c-common.c and populate in gnat_internal_attribute_table.
4975         
4976 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
4977
4978         * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
4979         Available_View only when designated type of an anonymous access type
4980         is  limited view.
4981
4982 2009-06-23  Robert Dewar  <dewar@adacore.com>
4983
4984         * sem_ch10.adb: Minor reformatting
4985
4986         * ali.ads: Mino reformatting.
4987
4988         * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
4989         turning off inlining if ASIS mode active).
4990         
4991         * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
4992         This belongs in gnat1drv.adb after switches are scanned.
4993
4994 2009-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
4995
4996         * sem_attr.adb: Add with and use clauses for Sem_Ch10.
4997         (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
4998         when dealing with class-wide types. Detect a legal shadow entity and
4999         retrieve its non-limited view.
5000
5001         * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
5002         subprogram to top package level from Intall_Limited_Withed_Unit.
5003         (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
5004         Add check which prevents the installation of a limited view if the
5005         non-limited view is already visible through a with clause.
5006         (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
5007         legal shadow entity which may occur in subprogram formals of anonymous
5008         access type.
5009
5010         * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
5011
5012         * sem_ch3.adb (Access_Definition): Remove the propagation of flag
5013         From_With_Type from the designated type to the generated anonymous
5014         access type. Remove associated comment.
5015
5016         * sem_res.adb Add with and use clauses for Sem_Ch10.
5017         (Full_Designated_Type): Detect a legal shadow entity and retrieve its
5018         non-limited view. Since the shadow entity may replace a regular
5019         incomplete type, return the available full view.
5020
5021 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5022
5023         * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
5024         incomplete type declarations. Previous code was potentially quadratic
5025         in the number of visible declarations in any package appearing in a
5026         limited_with_clause.
5027
5028 2009-06-23  Robert Dewar  <dewar@adacore.com>
5029
5030         * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
5031         xref_lib.adb: Minor reformatting
5032
5033 2009-06-23  Robert Dewar  <dewar@adacore.com>
5034
5035         * a-stzhas.adb: Provide dummy body to avoid build problems with old
5036         versions which did have a body for this unit.
5037
5038 2009-06-23  Vincent Celier  <celier@adacore.com>
5039
5040         * prj-attr.adb: Attribute names Initial_Required_Switches and
5041         Final_Required_Switches changed to Leading_Required_Switches and
5042         Trailing_Required_Switches.
5043
5044         * prj-nmsc.adb (Process_Compiler): Attribute names
5045         Initial_Required_Switches and Final_Required_Switches changed to
5046         Leading_Required_Switches and Trailing_Required_Switches.
5047
5048         * prj.ads (Language_Config): Component Initial_Required_Switches and
5049         Final_Required_Switches changed to Leading_Required_Switches and
5050         Trailing_Required_Switches.
5051
5052         * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
5053         Final_Required_Switches; add standard names Leading_Required_Switches
5054         and Trailing_Required_Switches.
5055
5056 2009-06-23  Thomas Quinot  <quinot@adacore.com>
5057
5058         * prj-conf.adb: Minor reformatting
5059
5060         * xref_lib.adb: Minor cleanup
5061
5062 2009-06-23  Emmanuel Briot  <briot@adacore.com>
5063
5064         * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
5065         prj-conf.ads (Check_Configuration): New parameter
5066         Compiler_Driver_Mandatory.
5067
5068 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5069
5070         * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
5071         context of the current unit has an inline pragma, the instance is not
5072         rewritten as the declaration of the package wrapper. Handle both
5073         possibilities when retrieving the visible subprogram that renames the
5074         instantiation itself.
5075
5076 2009-06-23  Javier Miranda  <miranda@adacore.com>
5077
5078         * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
5079         designated types referencing entities from the limited view.
5080
5081 2009-06-23  Robert Dewar  <dewar@adacore.com>
5082
5083         * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
5084
5085         * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
5086         small values
5087
5088         * prj-conf.ads: Minor reformatting
5089
5090         * prj-conf.adb: Minor reformatting
5091
5092 2009-06-23  Vasiliy Fofanov  <fofanov@adacore.com>
5093
5094         * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
5095         to correspond to the log format that gnatmem now expects.
5096
5097 2009-06-23  Vincent Celier  <celier@adacore.com>
5098
5099         * prj-attr.adb: New attributes Initial_Required_Switches,
5100         Final_Required_Switches and Object_File_Switches
5101         
5102         * prj-nmsc.adb (Process_Compiler): Process new attributes
5103         Name_Final_Required_Switches, Name_Initial_Required_Switches and
5104         Name_Object_File_Switches.
5105
5106         * prj.ads (Language_Config): New component
5107         Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
5108         Compiler_Final_Required_Switches and Object_File_Switches.
5109
5110         * snames.ads-tmpl: New standard names Initial_Required_Switches,
5111         Final_Required_Switches and Object_File_Switches
5112
5113 2009-06-23  Pascal Obry  <obry@adacore.com>
5114
5115         * s-strhas.adb, s-strhas.ads: Minor reformatting.
5116
5117 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5118
5119         * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
5120         not indicate that the enclosing unit needs a body.
5121
5122 2009-06-23  Emmanuel Briot  <briot@adacore.com>
5123
5124         * prj-conf.ads, prj-conf.adb: New files part of the project manager.
5125
5126 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5127
5128         * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
5129         primitive equality include it with its source name even if the
5130         operation is currently invisible, to make sure that the corresponding
5131         slot in the dispatch table is reserved for the internal equality
5132         subsequently generated during expansion.
5133
5134 2009-06-23  Matthew Gingell  <gingell@adacore.com>
5135
5136         * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
5137
5138 2009-06-22  Jose Ruiz  <ruiz@adacore.com>
5139
5140         * sysdep.c (__gnat_localtime_tzoff for RTX):
5141         SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
5142         GetTimeZoneInformation instead.
5143
5144 2009-06-22  Robert Dewar  <dewar@adacore.com>
5145
5146         * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
5147
5148 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5149
5150         * sem_ch12.adb (Collect_Previous_Instances): Do not collect
5151         instantiations declared in a previous generic package body.
5152
5153 2009-06-22  Robert Dewar  <dewar@adacore.com>
5154
5155         * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
5156         restriction No_Direct_Boolean_Operators.
5157
5158 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5159
5160         * bindusg.adb: Minor fixes to gnatbind usage message
5161
5162         * sem_eval.adb: Minor reformatting
5163
5164 2009-06-22  Javier Miranda  <miranda@adacore.com>
5165
5166         * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
5167         freezing point the check on the use of abstract types in object
5168         declarations. Done to allow the declaration of C++ imported variables
5169         or constants whose type corresponds with an imported C++ classes for
5170         which the constructor is not imported.
5171
5172 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5173
5174         * sem_ch6.adb: Minor reformatting
5175
5176 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5177
5178         * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
5179         component is constrained with an expression rather than with a
5180         discriminant of the enclosing type, use that expression when building
5181         the call to default-initialize the component, when the call is part of
5182         an aggregate with box initialization.
5183
5184 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5185
5186         * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
5187         unconditional rather than a style check, because a formal name out of
5188         order is suspicious.
5189
5190 2009-06-22  Vincent Celier  <celier@adacore.com>
5191
5192         * prj-nmsc.adb (Locate_Directory): Indicate the project name when
5193         creating a directory automatically.
5194
5195 2009-06-22  Eric Botcazou  <ebotcazou@adacore.com>
5196
5197         * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
5198         untagged derived type, add a hidden component for every constrained
5199         discriminant of the parent type to keep record layout consistent.
5200
5201 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5202
5203         * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
5204         copy).
5205
5206 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5207
5208         * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
5209         s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
5210         g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
5211         a-swuwha.adb: New unit System.String_Hash.  
5212         Refactor redundant cut and pasted hash functions with instances of a
5213         new generic hash function.
5214         Implement a new string hashing algorithm which appears in testing to
5215         be move effective than to previous approach.
5216
5217 2009-06-22  Ed Falis  <falis@adacore.com>
5218
5219         * sysdep.c: remove include for nfsLib.h and an NFS specific error
5220         message for VxWorks 653 vThreads: not supported by the OS.
5221
5222         * gsocket.h: disable sockets for VxWorks 653 vThreads.
5223
5224 2009-06-22  Robert Dewar  <dewar@adacore.com>
5225
5226         * sem_ch6.adb: Add ??? comment for bad use of Style_Check
5227
5228 2009-06-22  Robert Dewar  <dewar@adacore.com>
5229
5230         * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
5231         by Sloc_Range.
5232
5233         * freeze.adb: Minor comment updates
5234
5235         * s-valrea.adb (Bad_Based_Value): New procedure
5236         (Scan_Real): Raise exceptions with messages
5237
5238 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5239
5240         * adaint.h: Complete previous change.
5241
5242 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5243
5244         * exp_ch7.ads, exp_ch3.adb: Minor reformatting
5245
5246 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5247
5248         * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
5249         enabled, emit warning when a non-controlling argument of the overriding
5250         operation appears out of place vis-a-vis of the formal of the
5251         overridden operation.
5252
5253 2009-06-22  Vincent Celier  <celier@adacore.com>
5254
5255         * gnatcmd.adb (Check_Files): Close temporary files after all file names
5256         have been written into it.
5257
5258 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5259
5260         * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
5261         available.
5262
5263 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5264
5265         * sem_disp.adb (Check_Direct_Call): Handle the case where the full
5266         view of the root type is visible at the point of the call.
5267
5268 2009-06-22  Pat Rogers  <rogers@adacore.com>
5269
5270         * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
5271
5272 2009-06-22  Jerome Lambourg  <lambourg@adacore.com>
5273
5274         * freeze.adb: Add comments.
5275
5276 2009-06-21  Thomas Quinot  <quinot@adacore.com>
5277
5278         * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
5279         sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
5280         Factor out code to new subprogram...
5281         (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
5282         for a default initialized variable.
5283         (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
5284         entity that has an associated freeze node.
5285         (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
5286         If there is an init call for the object, defer it to the object freeze
5287         point.
5288         (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
5289         name clash with new subprogram introduced in Exp_Util.
5290
5291 2009-06-21  Robert Dewar  <dewar@adacore.com>
5292
5293         * einfo.ads: Minor reformatting
5294
5295 2009-06-21  Ed Falis  <falis@adacore.com>
5296
5297         * env.c (__gnat_environ): return NULL for vThreads - unimplemented
5298
5299 2009-06-21  Eric Botcazou  <ebotcazou@adacore.com>
5300
5301         * einfo.ads: Update comments.
5302
5303 2009-06-21  Hristian Kirtchev  <kirtchev@adacore.com>
5304
5305         * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
5306         where the controlling formal is of private class-wide type whose
5307         completion is a synchronized type can be converted into direct calls.
5308
5309 2009-06-21  Vincent Celier  <celier@adacore.com>
5310
5311         * gnatcmd.adb (Check_Files): When all sources of the project are to be
5312         indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
5313         of sources using -files=, so that the distinction can be made by the
5314         tool of a call with no source (to display the usage) from a call with
5315         a project file that contains no source.
5316
5317 2009-06-21  Jerome Lambourg  <lambourg@adacore.com>
5318
5319         * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
5320         case of VM convention arrays.
5321
5322 2009-06-20  Robert Dewar  <dewar@adacore.com>
5323
5324         * a-nudira.adb: Minor reformatting
5325
5326 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5327
5328         * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
5329         expressions (possibly from a parent type) indicate that the scope of
5330         the new itypes is the initialization procedure being built.
5331
5332 2009-06-20  Robert Dewar  <dewar@adacore.com>
5333
5334         * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
5335         Needs_64, and now computed without anomolies for some dynamic types.
5336
5337 2009-06-20  Thomas Quinot  <quinot@adacore.com>
5338
5339         * sem_prag.adb: Minor reformatting
5340
5341         * exp_disp.ads: Minor reformatting
5342
5343 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5344
5345         * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
5346         function call is a legal expression to initialize a limited object.
5347
5348         * exp_ch3.adb: Rename various freeze operations that perform expansion
5349         actions, to prevent confusion with subprograms in the freeze package.
5350
5351 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5352
5353         * sem.adb (Walk_Library_Units): Check instantiations first.
5354
5355         * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
5356         private primitive if it is a function with a controlling result that is
5357         a type extension with progenitors.
5358
5359         * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
5360         a primitive operation of a synchronized tagged type that has a
5361         controlling result.
5362
5363 2009-06-20  Thomas Quinot  <quinot@adacore.com>
5364
5365         * einfo.ads: Fix typo.
5366
5367 2009-06-20  Ed Falis  <falis@adacore.com>
5368
5369         * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
5370
5371 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5372
5373         * gcc-interface/trans.c (emit_check): Do not wrap up the result
5374         in a SAVE_EXPR.
5375         (protect_multiple_eval): Always protect complex expressions.
5376
5377 2009-06-19  Emmanuel Briot  <briot@adacore.com>
5378
5379         * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
5380         make sure we always return a name ending with a path separator.
5381
5382 2009-06-19  Javier Miranda  <miranda@adacore.com>
5383
5384         * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
5385         Save and restore the visibility of the parent when installed.
5386
5387 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
5388
5389         * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
5390         by Common which contains all these fields.
5391
5392         * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
5393         Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
5394         Remove code duplication in this package by means of calling the
5395         equivalent code in s-taprob.
5396
5397 2009-06-19  Robert Dewar  <dewar@adacore.com>
5398
5399         * a-einuoc.ads: Minor reformatting
5400
5401 2009-06-19  Ed Falis  <falis@adacore.com>
5402
5403         * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
5404         s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
5405
5406 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5407
5408         * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
5409
5410 2009-06-19  Robert Dewar  <dewar@adacore.com>
5411
5412         * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
5413         ranges
5414
5415         * checks.adb (Determine_Range): Move the test for generic types later.
5416
5417         * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
5418         cases.
5419         (Eval_Relational_Op): Fold more cases including string compares
5420
5421         * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
5422         function.
5423
5424 2009-06-19  Robert Dewar  <dewar@adacore.com>
5425
5426         * sem_type.ads, sem_ch12.adb: Minor reformatting
5427
5428         * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
5429
5430 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5431
5432         * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
5433         primitive operation of a rivate extension whose controlling argument
5434         is an out parameter.
5435
5436         * sem.adb (Walk_Library_Units): exclude generic package declarations
5437         from check.
5438
5439 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5440
5441         * i-vxwoio.ads: Add comments
5442
5443 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5444
5445         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5446         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
5447         g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
5448         (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
5449         (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
5450         Thin_Common.Socket_Ioctl.
5451         (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
5452         __gnat_socket_ioctl.
5453         (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
5454         argument after the file descriptor and request code.
5455
5456 2009-06-19  Robert Dewar  <dewar@adacore.com>
5457
5458         * checks.adb: Minor reformatting
5459
5460 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
5461
5462         * env.c (__gnat_environ): RTX does not support this functionality.
5463
5464 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5465
5466         * sem.adb (Walk_Library_Items): Include bodies in the list of units to
5467         traverse, to account for front-end inlining and instantiations in a
5468         spec or in the main unit.
5469
5470 2009-06-19  Robert Dewar  <dewar@adacore.com>
5471
5472         * checks.adb (Determine_Range): Do not attempt to get range of generic
5473         type.
5474
5475 2009-06-19  Sergey Rybin  <rybin@adacore.com>
5476
5477         * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
5478         gnatmetric option for generating the schema file for gnatmetric XML
5479         output. Add corresponding VMS qualifier.
5480
5481 2009-06-19  Robert Dewar  <dewar@adacore.com>
5482
5483         * g-cgi.adb: Minor reformatting
5484
5485 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5486
5487         * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
5488         signal code for SIGFPE and raise Program_Error for SIGILL.
5489
5490         * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
5491
5492 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5493
5494         * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
5495         generic package if there is a visibility candidate that is declared in
5496         a regular package.
5497
5498 2009-06-18  Olivier Hainque  <hainque@adacore.com>
5499
5500         * system-aix64.ads: New file.
5501         * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
5502         64bit system.ads for ppc64 multilib variants.
5503
5504 2009-06-16  Robert Dewar  <dewar@adacore.com>
5505             Olivier Hainque  <hainque@adacore.com>
5506
5507         Relax constraints on Machine_Attribute argument types:
5508         * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
5509         missing type.
5510         (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
5511         * gcc-interface/decl.c (prepend_attributes): Accept static
5512         expressions of any type as attribute arguments, not only string
5513         literals.
5514         * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
5515         the relaxation of the restriction on the Info argument type.
5516         
5517 2009-06-13  Aldy Hernandez  <aldyh@redhat.com>
5518
5519         * gcc-interface/utils.c (record_builtin_type): Pass location
5520         argument to build_decl.
5521         (create_type_stub_decl): Same.
5522         (create_type_decl): Same.
5523         (create_var_decl_1): Same.
5524         (create_field_decl): Same.
5525         (create_param_decl): Same.
5526         (create_label_decl): Same.
5527         (create_subprog_decl): Same.
5528         * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
5529         * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
5530         argument to create_artificial_label.
5531         (Loop_Statement_to_gnu): Same.
5532         (Subprogram_Body_to_gnu): Same.
5533         (gnat_gimplify_stmt): Same.
5534
5535 2009-06-11  Richard Henderson  <rth@redhat.com>
5536
5537         * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
5538         OPT_gdwarfplus.
5539
5540 2009-06-11  Ed Schonberg  <schonberg@adacore.com>
5541
5542         * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
5543         accessibiliy check on access_to_subprogram in the context of an
5544         anonymous access that is not an access parameter.
5545
5546 2009-06-11  Eric Botcazou  <ebotcazou@adacore.com>
5547
5548         * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
5549         
5550 2009-06-11  Quentin Ochem  <ochem@adacore.com>
5551
5552         * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
5553         comments for message handled by GPS.
5554
5555 2009-06-11  Matthew Gingell  <gingell@adacore.com>
5556
5557         * adaint.c: Use fopen64 instead of fopen on platforms where we know
5558         it's supported.
5559
5560 2009-06-11  Pascal Obry  <obry@adacore.com>
5561
5562         * g-cgi.ads: Fix comment typo.
5563
5564         * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
5565
5566 2009-06-10  Eric Botcazou  <ebotcazou@adacore.com>
5567
5568         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
5569         a reference to the original type for the type of the field of the
5570         XVS type.
5571         (maybe_pad_type): Likewise.
5572
5573         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
5574         common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
5575         Pass correctly typed arguments to create_field_decl.
5576         <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
5577         case of contrained discriminants as well.  Use the padded base type
5578         in the other case as well.  Rename temporary variable.  Tweak test.
5579         Factor common access pattern.  Set GNU_SIZE only once.
5580
5581 2009-06-09  Olivier Hainque  <hainque@adacore.com>
5582
5583         * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
5584         helper for build_call_alloc_dealloc with arguments to be interpreted
5585         identically.  Process the case where a GNAT_PROC to call is provided.
5586         (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
5587         and return an allocator for DATA_SIZE bytes aimed at containing a
5588         DATA_TYPE object, using the default __gnat_malloc allocator.  Honor
5589         DATA_TYPE alignments greater than what the latter offers.
5590         (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
5591         release a DATA_TYPE object designated by DATA_PTR using the
5592         __gnat_free entry point.
5593         (build_call_alloc_dealloc): Expect object data type instead of naked
5594         alignment constraint. Use the new helpers.
5595         (build_allocator): Remove special processing for the super-aligned
5596         case, now handled by build_call_alloc_dealloc.  Pass data
5597         type instead of the former alignment argument, as expected by the new
5598         interface.
5599         * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
5600         and comment.
5601         * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
5602         Remove special processing for the super-aligned case, now handled
5603         by build_call_alloc_dealloc.  Pass data type instead of the former
5604         alignment argument, as expected by the new interface.
5605         
5606 2009-06-08  Alexandre Oliva  <aoliva@redhat.com>
5607
5608         * lib-writ.adb (flag_compare_debug): Import.
5609         (Write_ALI): Skip during -fcompare-debug-second.
5610
5611 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5612
5613         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
5614         adjusting the discriminant nodes in an extension, use the full view
5615         of the parent subtype if it is of a private kind.
5616
5617 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5618
5619         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
5620         _Parent field, if any, to the record before adding the other fields.
5621         <E_Record_Subtype>: Put the _Controller field before the other fields
5622         except for the _Tag or _Parent fields.
5623         (components_to_record): Likewise.  Retrieve the _Parent field from the
5624         record type.
5625
5626 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5627
5628         * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
5629         remove unused parameter and simplify.
5630         (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS.  Factor
5631         common predicate.  Rewrite loop for clarity.  Use GNU_TYPE directly
5632         as context for all discriminants.  Fix formatting nits.
5633         <E_Record_Subtype>: Add cosmetic 'break'.  Test Has_Discriminants
5634         before Discriminant_Constraint.  Adjust for above renaming.  Do not
5635         set GNU_TYPE more than once.
5636         (elaborate_entity): Test Has_Discriminants on the entity and use
5637         Implementation_Base_Type.
5638         (components_to_record): Rename component_list to gnat_component_list.
5639         Retrieve the _Parent field from the list.  Fix nits in comments.
5640         Clarify logic in loop.  Pass correct arguments to create_field_decl.
5641
5642 2009-06-02  Eric Botcazou  <ebotcazou@adacore.com>
5643
5644         * gcc-interface/Make-lang.in: Fix formatting.
5645
5646 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5647             Eric Botcazou  <ebotcazou@adacore.com>
5648         
5649         * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
5650         to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
5651         on the result if at least one of the input fields couldn't be output
5652         as a static constant any more.
5653
5654 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5655             Eric Botcazou  <ebotcazou@adacore.com>
5656         
5657         * gcc-interface/utils2.c (gnat_build_constructor): Factor
5658         out code.  Use initializer_constant_valid_for_bitfield_p and
5659         CONSTRUCTOR_BITFIELD_P for bit-fields.
5660
5661 2009-05-26  Ian Lance Taylor  <iant@google.com>
5662
5663         * gcc-interface/Makefile.in (COMPILER): Define.
5664         (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
5665         (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
5666         (seh_init.o, tracebak.o): Likewise.
5667         * gcc-interface/Make-lang.in (ada/targext.o): Likewise.
5668         (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
5669         (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
5670         (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
5671         (ada/utils2.o): Likewise.
5672
5673 2009-05-24  Olivier Hainque  <hainque@adacore.com>
5674
5675         * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
5676         * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
5677         Add -auxbase variants to the list of recognized internal switches.
5678         * back_end.adb (Scan_Back_End_Switches): Use the new functions and
5679         adjust comments.
5680         * lib.ads: Make comment on internal GCC switches more general.
5681         * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
5682         as for C.       
5683         
5684 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5685
5686         * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
5687
5688 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5689
5690         * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
5691         types.
5692
5693 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5694
5695         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
5696         original type because of the alignment when there is an address clause.
5697
5698 2009-05-20  Eric Botcazou  <ebotcazou@adacore.com>
5699
5700         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
5701         discriminants affect the shape of the subtype, retrieve the GCC type
5702         directly from the original field if the GNAT types for the field and
5703         the original field are the same.
5704
5705 2009-05-15  Eric Botcazou  <ebotcazou@adacore.com>
5706
5707         * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
5708         New macros.
5709         (TYPE_RM_VALUES): Likewise.
5710         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
5711         (SET_TYPE_RM_SIZE): New macro.
5712         (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
5713         (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
5714         (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
5715         * gcc-interface/gigi.h (create_range_type): Declare.
5716         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
5717         Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
5718         <E_Signed_Integer_Subtype>: Build a regular integer type first and
5719         then set the RM bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5720         <E_Floating_Point_Subtype>: Build a regular floating-point type first
5721         and then set the RM bounds.
5722         <E_Array_Type>: Use create_range_type instead of build_range_type.
5723         <E_Array_Subtype>: Build a regular integer type first and then set
5724         the RM bounds for the extra subtype.
5725         <E_String_Literal_Subtype>: Use create_range_type instead of
5726         build_range_type.
5727         <all>: Set the RM bounds for enumeration types and the GCC bounds for
5728         floating-point types.
5729         (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
5730         (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
5731         to set the bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5732         (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
5733         types and with RM bounds for subtypes.
5734         * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
5735         (gnat_print_type) <REAL_TYPE>: New case.
5736         <ENUMERAL_TYPE>: Fall through to above case.
5737         (gnat_get_subrange_bounds): New function.
5738         * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
5739         TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
5740         * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
5741         for booleans.  Adjust and use SET_TYPE_RM_SIZE to set the RM size.
5742         (create_range_type): New function.
5743         (create_param_decl): Build a regular integer type first and then set
5744         the RM bounds for the extra subtype.
5745         (unchecked_convert): Remove kludge for 'Valid.
5746         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
5747         the index to sizetype instead of TYPE_DOMAIN.
5748
5749 2009-05-14  Eric Botcazou  <ebotcazou@adacore.com>
5750
5751         * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
5752         parameter and move check for static expression to...
5753         (elaborate_expression): ...here.  Adjust call to above function.
5754         (gnat_to_gnu_entity): Likewise for all calls.  Use correct arguments
5755         in calls to elaborate_expression.
5756         (elaborate_entity): Likewise.
5757         (substitution_list): Likewise.
5758         (maybe_variable): Fix formatting.
5759         (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
5760         missing guard.
5761         * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
5762
5763 2009-05-07  Arnaud Charlet  <charlet@adacore.com>
5764
5765         * gcc-interface/Make-lang.in: Update dependencies.
5766
5767 2009-05-06  Laurent GUERBY  <laurent@guerby.net>
5768
5769         * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
5770         Define sa_handler_pos.
5771         * s-osinte-linux.ads: Use it.
5772         * s-linux-mipsel.ads: New.
5773         * system-linux-mips64el.ads: New.
5774         * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
5775         mips64el-linux.
5776
5777 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5778
5779         * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
5780         targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
5781         opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
5782         (Tagged_Type_Expansion): New flag.
5783         Replace use of VM_Target related to tagged types expansion by
5784         Tagged_Type_Expansion, since tagged type expansion is not necessarily
5785         linked to VM targets.
5786
5787 2009-05-06  Robert Dewar  <dewar@adacore.com>
5788
5789         * sem_attr.adb: Add processing for Standard'Compiler_Version
5790
5791         * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
5792         skipping.
5793         (Expr_First_Char): Add ??? comment that paren skipping needs work
5794         (Expr_Last_Char): Add ??? comment that paren skipping needs work
5795
5796         * exp_attr.adb: Add processing for Compiler_Version
5797
5798         * sem_attr.adb: New attribute Compiler_Version
5799
5800         * snames.ads-tmpl: Add entries for Compiler_Version attribute
5801
5802         * gnat_rm.texi: Document Compiler_Version attribute
5803
5804 2009-05-06  Robert Dewar  <dewar@adacore.com>
5805
5806         * errout.adb: Minor reformatting
5807
5808         * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
5809         sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
5810         styleg.adb: Add stylized comments to error messages that are included
5811         in the codefix circuitry of IDE's such as GPS.
5812
5813 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5814
5815         * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
5816         new form of the rule parameter that allows to specify the suffix for
5817         access-to-access type names.
5818
5819 2009-05-06  Robert Dewar  <dewar@adacore.com>
5820
5821         * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
5822         out parameter assigned when exception handlers are present.
5823
5824         * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
5825         assignments on exit.
5826
5827         * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
5828         sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
5829         prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
5830         par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
5831         messages that are included in the codefix circuitry of IDE's such as
5832         GPS.
5833
5834         * sinput.ads, sinput.adb (Expr_First_Char): New function
5835         (Expr_Last_Char): New function
5836
5837 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5838
5839         * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
5840         Add formal definition for extra exit point metric
5841
5842 2009-05-06  Pascal Obry  <obry@adacore.com>
5843
5844         * adaint.c: Support for setting attributes on unicode filename on
5845         Windows.
5846
5847 2009-05-06  Robert Dewar  <dewar@adacore.com>
5848
5849         * sem_warn.adb: Minor reformatting
5850
5851 2009-05-06  Javier Miranda  <miranda@adacore.com>
5852
5853         * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
5854         not have discriminants or components with default expressions.
5855         (Analyze_Pragma): For pragma CPP_Class check that imported types
5856         have no discriminants and components have no default expression.
5857
5858         * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
5859         class-wide types in the expression of a record component association.
5860
5861 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5862
5863         * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
5864
5865         * gnat_ugn.texi: Add description for the new extra exit points metric
5866         (gnatmetric section).
5867
5868 2009-05-06  Robert Dewar  <dewar@adacore.com>
5869
5870         * s-fileio.adb: Minor comment update
5871
5872         * sem_ch8.adb: Minor reformatting
5873
5874         * exp_ch3.adb: Update comments.
5875
5876 2009-05-06  Tristan Gingold  <gingold@adacore.com>
5877
5878         * init.c, s-osinte-darwin.ads: Reduce alternate stack size
5879
5880 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5881
5882         * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
5883         Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
5884
5885         * gcc-interface/Make-lang.in: Update dependencies
5886
5887 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5888
5889         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
5890         change. The context clause of a generic instance declaration must be
5891         preserved until the end of the compilation, because it may have to be
5892         installed/removed repeatedly.
5893         The latest change to sem.adb ensures that the context of both spec and
5894         body of an instance is traversed before the instance itself, making
5895         this patch redundant.
5896
5897 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5898
5899         * sem_aggr.adb: Fix typo.
5900
5901 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5902
5903         * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
5904         declaration, do not adjust if the declaration is to be rewritten into
5905         a renaming.
5906
5907 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5908
5909         * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
5910         discriminant part.
5911
5912 2009-05-06  Bob Duff  <duff@adacore.com>
5913
5914         * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
5915         otherwise the compiler would be allowed to optimize away the cleanup
5916         code.
5917
5918 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5919
5920         * gnat_ugn.texi: Fix typo.
5921
5922 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5923
5924         * g-debuti.adb: Minor reformatting
5925
5926         * exp_attr.adb: Minor reformatting
5927
5928 2009-05-06  Robert Dewar  <dewar@adacore.com>
5929
5930         * sem_aggr.adb: Minor reformatting.
5931
5932         * g-socthi-vms.adb: Minor reformatting
5933
5934 2009-05-06  Bob Duff  <duff@adacore.com>
5935
5936         * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
5937         (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
5938
5939 2009-05-06  Bob Duff  <duff@adacore.com>
5940
5941         * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
5942         flags.
5943
5944 2009-05-06  Javier Miranda  <miranda@adacore.com>
5945
5946         * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
5947         (Resolve_Extension_Aggregate): Do not reject C++ constructors in
5948         extension aggregates.
5949         (Resolve_Record_Aggregate): Add support for C++ constructors in
5950         extension aggregates.
5951
5952         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
5953         constructors in extension aggregates.
5954
5955 2009-05-06  Robert Dewar  <dewar@adacore.com>
5956
5957         * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
5958         clause.
5959
5960 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5961
5962         * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
5963         packed type, since on OpenVMS, struct msghdr is packed.
5964
5965 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5966
5967         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
5968         call returning an unconstrained composite value, create the proper
5969         subtype for it, as is done for object dclarations with unconstrained
5970         nominal subtypes. Perform this transformation regarless of whether
5971         call comes from source.
5972
5973 2009-05-06  Robert Dewar  <dewar@adacore.com>
5974
5975         * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
5976         records
5977
5978         * gnat_rm.texi:
5979         Add documentation for pragma Implicit_Packing applied to record
5980         types.
5981
5982 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5983
5984         * sem.adb (Walk_Library_Items): Place all with_clauses of an
5985         instantiation on the spec, because late instance bodies may generate
5986         with_clauses for the instance body but are inserted in the instance
5987         spec.
5988
5989 2009-05-06  Emmanuel Briot  <briot@adacore.com>
5990
5991         * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
5992         support for returning the directory even if it doesn't exist. This is
5993         used for the object directory, since we are always setting it to a
5994         non-null value, and we should set it to an absolute name rather than a
5995         relative name for the sake of external tools that might depend on it.
5996         (Check_Library_Attributes): When Project.Library_Dir is known, check
5997         that the directory exists.
5998
5999 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
6000
6001         * sem_attr.adb (Check_Dereference): If the prefix of an attribute
6002         reference is an implicit dereference, do not freeze the designated type
6003         if within a default expression or when preanalyzing a pre/postcondtion.
6004
6005 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
6006
6007         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
6008         call returning an unconstrained composite value, create the proper
6009         subtype for it, as is done for object dclarations with unconstrained
6010         nominal subtypes
6011
6012 2009-05-06  Robert Dewar  <dewar@adacore.com>
6013
6014         * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
6015         improvements
6016
6017         * freeze.adb: Minor reformatting
6018
6019 2009-05-06  Thomas Quinot  <quinot@adacore.com>
6020
6021         * sem_ch3.adb (Access_Type_Declaration): An access type whose
6022         designated type is a limited view from a limited with clause (flagged
6023         From_With_Type) is not itself such a limited view.
6024
6025 2009-05-06  Emmanuel Briot  <briot@adacore.com>
6026
6027         * prj-nmsc.adb: Remove unused variable.
6028
6029         * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
6030         prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
6031         makeutl.ads, since not all users of prj.ads need this.
6032
6033 2009-05-06  Javier Miranda  <miranda@adacore.com>
6034
6035         * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
6036         constructor in case of aggregates whose type is a CPP_Class type.
6037
6038 2009-05-06  Robert Dewar  <dewar@adacore.com>
6039
6040         * sem_ch13.adb: Minor comment additions
6041
6042         * osint.adb: Minor reformatting
6043
6044 2009-05-06  Pascal Obry  <obry@adacore.com>
6045
6046         * initialize.c: On Windows, keep full pathname to expanded command
6047         line patterns.
6048
6049 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
6050
6051         * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
6052         an aggregate with box default is of a discriminated private type, do
6053         not build a subaggregate for it.
6054         A proper call to the initialization procedure is generated for it.
6055
6056 2009-05-06  Thomas Quinot  <quinot@adacore.com>
6057
6058         * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
6059         (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
6060         Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
6061         use standard array code for Standard.String.
6062         (Exp_Dist): Bump PolyORB s-parint API version to 3.
6063         (Rtsfind): New entities TA_Std_String, Unbounded_String.
6064
6065 2009-05-06  Robert Dewar  <dewar@adacore.com>
6066
6067         * g-comlin.ads: Minor reformatting
6068
6069         * xoscons.adb: Minor reformatting
6070
6071 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
6072
6073         * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
6074         Underlying_Type before retrieving the type definition for gathering
6075         components, to account for the case where the type is private.
6076
6077 2009-05-06  Tristan Gingold  <gingold@adacore.com>
6078
6079         * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
6080
6081 2009-05-06  Thomas Quinot  <quinot@adacore.com>
6082
6083         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6084         g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
6085         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
6086         (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
6087         Windows versions): Fix incorrect base
6088         address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
6089         (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
6090         System.Address for the To parameter instead of a Sockaddr_In_Access, to
6091         achieve independance from AF_INET family, and also to allow this
6092         parameter to be retrieved from a Msghdr for the Windows case where
6093         these routines are used to implement C_Sendmsg and C_Recvmsg.
6094
6095 2009-05-06  Bob Duff  <duff@adacore.com>
6096
6097         * g-expect.adb, g-expect.ads: Minor reformatting
6098
6099         * sdefault.ads: Minor comment fix
6100
6101         * g-expect-vms.adb: Minor reformatting
6102
6103         * table.ads, table.adb (Append_All): New convenience procedure for
6104         appending a whole array.
6105
6106         * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
6107         box message. Call Osint.Dump_Source_File_Names to print out the file
6108         list, instead of rummaging around in various data structures.
6109
6110         * debug.adb: New switch -gnatd.n, to print source file names as they
6111         are read.
6112
6113         * alloc.ads: Add parameters for Osint.File_Name_Chars.
6114
6115         * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
6116         out source file names during a "bug box".
6117         (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
6118         (Read_Source_File): Print out the file name, if requested via -gnatd.n.
6119         If it's not part of the runtimes, store it for later printing by
6120         Dump_Source_File_Names.
6121
6122 2009-05-06  Javier Miranda  <miranda@adacore.com>
6123
6124         * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
6125         documentation and add reference to the GNAT user guide for further
6126         details.
6127
6128 2009-05-06  Javier Miranda  <miranda@adacore.com>
6129
6130         * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
6131         also wrong examples that use extension aggregates.
6132
6133 2009-05-06  Albert Lee  <lee@adacore.com>
6134
6135         * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
6136         of Msg_Iovlen_T for VMS.
6137
6138 2009-05-04  Laurent GUERBY  <laurent@guerby.net>
6139
6140         PR ada/38874
6141         * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
6142         
6143 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6144
6145         * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
6146         box-defaulted operator in an instantiation, when the type of the
6147         operands is not directly visible.
6148
6149 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6150
6151         * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
6152         (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
6153         analysis of the ancestor part. Remove prohibition against limited
6154         interpretations of the ancestor expression in the case of Ada 2005.
6155         Revise error message in overloaded case, adding a message to cover
6156         the Ada 2005 case.
6157
6158 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6159
6160         * xoscons.adb: Minor reformatting
6161
6162 2009-04-29  Bob Duff  <duff@adacore.com>
6163
6164         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
6165         attribute_definition_clauses for the following attributes when the
6166         -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
6167         Storage_Size, Write. Otherwise, we get spurious errors (for example,
6168         missing Read attribute on remote types).
6169
6170         * gnat_ugn.texi: Document the change, and add a stern warning.
6171
6172 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6173
6174         * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
6175         disabled not just for the current scope, but for the innermost dynamic
6176         scope as well.
6177
6178 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6179
6180         * gcc-interface/Make-lang.in: Update dependencies
6181
6182 2009-04-29  Vincent Celier  <celier@adacore.com>
6183
6184         * prj-part.adb: Minor comment update
6185
6186 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6187
6188         * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
6189         box-initialized records with discriminated subcomponents that are
6190         constrained by discriminants of enclosing components. New subsidiary
6191         procedures Add_Discriminant_Values, Propagate_Discriminants.
6192
6193 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6194
6195         * g-socket.adb: Code clean up.
6196
6197 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6198
6199         * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
6200         function entity, to cover the case of a parameterless function call
6201         that has not been resolved.
6202
6203 2009-04-29  Robert Dewar  <dewar@adacore.com>
6204
6205         * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
6206         reformatting and comment updates.
6207
6208 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6209
6210         * gnat_ugn.texi: Update some documentation about interfacing with C++
6211         Mention -fkeep-inline-functions.
6212
6213         * gnat_ugn.texi: Minor edits
6214
6215 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6216
6217         * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
6218         for a defaulted component of an enclosing aggregate, inherit the type
6219         from the component declaration of the enclosing type. 
6220
6221 2009-04-29  Albert Lee  <lee@adacore.com>
6222
6223         * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
6224         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
6225         (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
6226         msg_iovlen field in struct msghdr is 32 or 64 bits wide.
6227         Relocate the Msghdr record type from GNAT.Sockets.Thin to
6228         GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
6229         type for the Msg_Iovlen field.
6230
6231 2009-04-29  Vincent Celier  <celier@adacore.com>
6232
6233         * sinput-l.adb (Load_File): When preprocessing, set temporarily the
6234         Source_File_Index_Table entries for the source, to avoid crash when
6235         reporting an error.
6236
6237         * gnatcmd.adb (Test_If_Relative_Path): Use
6238         Makeutl.Test_If_Relative_Path.
6239         
6240         * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
6241         Including_RTS is True.
6242
6243         * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
6244         Including_RTS defaulted to False.
6245
6246         * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
6247         a default value.
6248
6249 2009-04-29  Javier Miranda  <miranda@adacore.com>
6250
6251         * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
6252
6253 2009-04-29  Javier Miranda  <miranda@adacore.com>
6254
6255         * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
6256         associated with dyamically tagged expressions if the expression
6257         initializing a tagged type corresponds with a non default CPP
6258         constructor.
6259         (OK_For_Limited_Init): CPP constructor calls are OK for initialization
6260         of limited type objects.
6261
6262         * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
6263         when a CPP constructor is called in an assignment. Disable also the
6264         error message associated with dyamically tagged expressions if the
6265         exporession initializing a tagged type corresponds with a non default
6266         CPP constructor.
6267
6268         * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
6269         non-default C++ constructors.
6270
6271         * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
6272
6273         * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
6274         non-default constructors.
6275         (Init_Proc): Add support for non-default constructors.
6276
6277         * exp_disp.adb (Set_Default_Constructor): Removed.
6278         (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
6279         but extending its functionality to handle non-default constructors.
6280
6281         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
6282         constructors. Minor code cleanup removing unrequired label and goto
6283         statement.
6284
6285         * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
6286         constructors.
6287         (Build_Init_Statements): Add support for non-default constructors.
6288         (Expand_N_Object_Declaration): Add support for non-default constructors.
6289         (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
6290         to Set_CPP_Constructors.
6291
6292         * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
6293         non-default constructors.
6294         Required to handle its use in build-in-place statements.
6295
6296         * gnat_rm.texi (CPP_Constructor): Document new extended use of this
6297         pragma for non-default C++ constructors and the new compiler support
6298         that allows the use of these constructors in record components, limited
6299         aggregates, and extended return statements.
6300
6301 2009-04-29  Vincent Celier  <celier@adacore.com>
6302
6303         * prj-part.adb (Parse_Single_Project): Do not attempt to find a
6304         project extending an abstract project.
6305
6306 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6307
6308         * targparm.ads: Fix oversight.
6309
6310 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6311
6312         * lib-xref.adb (Output_Overridden_Op): Follow several levels of
6313         derivation when necessary, to find the user-subprogram that is actally
6314         being overridden.
6315
6316 2009-04-29  Robert Dewar  <dewar@adacore.com>
6317
6318         * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
6319         components
6320
6321 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6322
6323         * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
6324         primitive operation, rather than source line of synchronized type, when
6325         building the wrapper for a primitive operation that overrides an
6326         operation inherited from a progenitor, to improve the error message on
6327         duplicate declarations.
6328
6329         * sem_ch3.adb (Process_Full_View): Use new signature of
6330         Build_Wrapper_Spec.
6331
6332 2009-04-29  Robert Dewar  <dewar@adacore.com>
6333
6334         * prj-nmsc.ads: Minor reformatting
6335
6336 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6337
6338         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
6339         expression on the existing parent If statement.
6340
6341 2009-04-29  Robert Dewar  <dewar@adacore.com>
6342
6343         * prj-proc.adb, prj.ads: Minor reformatting
6344
6345 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6346
6347         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
6348         existing parent If statement on the newly created one.
6349
6350 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6351
6352         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
6353         prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
6354         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
6355         (Set_In_Configuration, In_Configuration): Removed.
6356         Replaced by an extra parameter Is_Config_File in several parameter to
6357         avoid global variables to store the state of the parser.
6358
6359 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6360
6361         * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
6362         with_clauses generated for the same unit through rtsfind, and that
6363         appear in the context of different units.
6364
6365         * rtsfind.adb: New attribute First_Implicit_With, component of the
6366         Unit_Record that stores information about a unit loaded through rtsfind.
6367
6368 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6369
6370         * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
6371         (other conditions permitting), so that abstract stream subprograms will
6372         be declared for them.
6373
6374 2009-04-29  Bob Duff  <duff@adacore.com>
6375
6376         * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
6377
6378         * g-expect.ads: Minor comment fixes.
6379
6380 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6381
6382         * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
6383         dispatching operation is a body without previous spec, update the list
6384         of primitive operations to ensure that cross-reference information is
6385         up-to-date.
6386
6387 2009-04-29  Albert Lee  <lee@adacore.com>
6388
6389         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6390         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
6391         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
6392         (GNAT.Sockets.Thin.C_Readv,
6393         GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
6394         (GNAT.Sockets.Thin.C_Recvmsg,
6395         GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
6396         sendmsg(2).  
6397         (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
6398         C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
6399
6400 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6401
6402         * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
6403         operation is a body without previous spec, update the list of
6404         primitive operations to ensure that cross-reference information is
6405         up-to-date.
6406
6407         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
6408         new compilation unit node for the instance declaration, keep the
6409         context items of the original unit on it, so that the context of the
6410         instance body only holds the context inherited from the generic body.
6411
6412 2009-04-29  Bob Duff  <duff@adacore.com>
6413
6414         * sem_res.adb: Minor comment fix.
6415
6416 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6417
6418         * sem_elim.adb: Minor reformatting
6419
6420 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6421
6422         * exp_aggr.adb (Convert_To_Positional): if the current unit is a
6423         predefined unit, allow arbitrary number of components in static
6424         aggregate, to ensure that the same level of constant folding applies
6425         for Ada 95 and Ada 05 versions of the file.
6426
6427 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6428
6429         * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
6430         information: no need for full scope check.
6431         (Eliminate_Error): Do not emit error in a generic context.
6432
6433 2009-04-29  Ed Falis  <falis@adacore.com>
6434
6435         * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
6436         VxWorks 653 POS does not support rmdir.
6437
6438 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6439
6440         * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
6441         results are printed.
6442
6443 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6444
6445         * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
6446         unused assignment.
6447
6448 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6449
6450         * make.adb: Minor reformatting.
6451         Minor code reorganization throughout.
6452
6453 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6454
6455         * s-stausa.ads: Changed visibility of type Task_Result: moved to
6456         public part to give application visibility over it.
6457         This is for future improvement and to build a public API on top of it.
6458         Changed record components name of type Task_Result to reflect the new
6459         way of reporting. 
6460
6461         * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
6462         reporting Stack usage.
6463
6464         * gnat_ugn.texi: Update doc of stack usage report.
6465
6466         * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
6467
6468         * Makefile.rtl: Add new run-time files.
6469
6470 2009-04-29  Pascal Obry  <obry@adacore.com>
6471
6472         * initialize.c: Do not expand quoted arguments.
6473
6474 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6475
6476         * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
6477
6478         * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
6479          Prj.Ultimate_Extending_Project_Of
6480
6481 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6482
6483         * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
6484         Amendment type, add the with_clause for Finalization.List_Controller
6485         only if the current context is a package body.
6486
6487 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6488
6489         * sem_ch12.adb: Minor reformatting
6490
6491         * sem_aggr.adb: Minor reformatting
6492
6493         * sem_ch6.adb, sem_cat.ads: Minor reformatting
6494
6495         * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
6496
6497 2009-04-29  Quentin Ochem  <ochem@adacore.com>
6498
6499         * prj.ads (Source_Id): Now general pointer type.
6500
6501 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6502
6503         * exp_ch7.adb, rtsfind.adb: Minor reformatting
6504
6505         * sem_res.adb: Minor reformatting
6506
6507 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6508
6509         * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
6510         operands is static only if it is a predefined concatenation operator.
6511
6512         * sem_util.adb: Minor reformatting
6513
6514         * sem_ch12.adb (Save_References): When propagating semantic information
6515         from generic copy back to generic template, for the case of an
6516         identifier that has been rewritten to an explicit dereference whose
6517         prefix is either an object name or a parameterless funcion call
6518         denoting a global object or function, properly capture the denoted
6519         global entity: perform the corresponding rewriting in the template,
6520         and point the rewritten identifier to the correct global entity (not
6521         to the associated identifier in the generic copy).
6522
6523 2009-04-29  Robert Dewar  <dewar@adacore.com>
6524
6525         * rtsfind.adb, prj-env.adb: Minor reformatting
6526         Minor code reorganization
6527
6528 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6529
6530         * make.adb: Fix comment
6531
6532         * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
6533         is given as argument, as might happen in gnatmake.
6534
6535 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6536
6537         * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
6538         an abstract operation of a progenitor is not properly overridden by an
6539         operation of a derived synchronized type.
6540
6541 2009-04-29  Robert Dewar  <dewar@adacore.com>
6542
6543         * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
6544         prj-proc.adb: Minor reformatting
6545         Minor code reorganization
6546
6547 2009-04-29  Bob Duff  <duff@adacore.com>
6548
6549         * exp_ch7.adb (Build_Final_List): For an access type that designates a
6550         Taft Amendment type, if the access type needs finalization, make sure
6551         the implicit with clause for List_Controller occurs on the package spec.
6552
6553         * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
6554         with's created for the pseudo-children of Text_IO and friends. In
6555         particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
6556         Ada.Text_IO.Integer_IO both with-ing each other.
6557
6558         * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
6559         oddball cases when pragma Extend_System is used.
6560
6561         * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
6562         the case where a package spec instantiates a generic whose body with's
6563         this package, so Walk_Library_Items won't complain about cyclic with's.
6564
6565 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6566
6567         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
6568         prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
6569         mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
6570         (Project_Id): now a real pointer to Project_Data, instead of an index
6571         into the Projects_Table. This simplifies the API significantly, avoiding
6572         extra lookups in this table and the need to pass the Project_Tree_Ref
6573         parameter in several cases
6574
6575 2009-04-29  Nicolas Setton  <setton@adacore.com>
6576
6577         * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
6578         darwin.
6579
6580 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
6581
6582         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
6583         back kludge.
6584
6585 2009-04-24  Robert Dewar  <dewar@adacore.com>
6586
6587         * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
6588         clean.adb: Minor reformatting.
6589         Minor code reorganization and message improvement.
6590
6591 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6592
6593         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
6594         (Alternate_Languages): now implemented as a malloc-ed list rather
6595         than through a table.
6596
6597 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6598
6599         * sem_res.adb (Static_Concatenation): Simplify predicate to make it
6600         accurately handle cases such as "lit" & "lit" and
6601         "lit" & static_string_constant
6602
6603 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6604
6605         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
6606         prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
6607         removed. Lists of projects are now implemented via standard malloc
6608         rather than through the table.
6609
6610 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6611
6612         * sem_ch12.adb: Minor reformatting
6613
6614         * g-trasym.adb: Minor reformatting
6615
6616         * exp_ch6.adb: Minor reformatting
6617
6618 2009-04-24  Robert Dewar  <dewar@adacore.com>
6619
6620         * layout.adb (Layout_Type): For packed array type, copy unset
6621         size/alignment fields from the referenced Packed_Array_Type.
6622
6623 2009-04-24  Bob Duff  <duff@adacore.com>
6624
6625         * lib-load.adb (Make_Instance_Unit): Revert previous change, no
6626         longer needed after sem_ch12 changes.
6627
6628         * sem.adb (Walk_Library_Items): Include with's in some debugging
6629         printouts.
6630
6631 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6632
6633         * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
6634         only ever using the Project field.
6635
6636 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6637
6638         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
6639         Body_Required on the generated compilation node. The new node is linked
6640         to its body, but both share the same file, so we do not set this flag
6641         on the new unit so as not to create a spurious dependency on a
6642         non-existent body in the ali file for the instance.
6643
6644 2009-04-24  Robert Dewar  <dewar@adacore.com>
6645
6646         * make.adb: Minor reformatting
6647
6648 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6649
6650         * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
6651         Add_Source): merge some code between those. In particular change where
6652         file normalization is done to avoid a few extra calls to
6653         Canonicalize_File_Name. This also removes the need for passing
6654         Current_Dir in a number of subprograms.
6655
6656 2009-04-24  Bob Duff  <duff@adacore.com>
6657
6658         * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
6659         False, assign the correct unit to the Cunit field of the new table
6660         entry. We want the spec unit, not the body unit.
6661
6662         * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
6663         interface for these.
6664         (Maybe_Add_With): Check whether we're trying to a with on the current
6665         unit, and avoid creating such directly self-referential with clauses.
6666         (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
6667         [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
6668         and matches existing comments in the spec.
6669
6670         * sem.adb (Walk_Library_Items): Add various special cases to make the
6671         assertions pass.
6672
6673         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
6674         instead of Parent (N), for uniformity.
6675
6676 2009-04-24  Robert Dewar  <dewar@adacore.com>
6677
6678         * errout.ads: Minor reformatting
6679
6680 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6681
6682         * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
6683         behavior when the project includes sources from multiple languages
6684
6685 2009-04-24  Vincent Celier  <celier@adacore.com>
6686
6687         * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
6688         is a language other than Ada declared.
6689
6690         * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
6691         Imported_First set to True.
6692
6693 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6694
6695         * sem_res.adb: additional optimization to inhibit creation of
6696         redundant transient scopes.
6697
6698 2009-04-24  Bob Duff  <duff@adacore.com>
6699
6700         * rtsfind.ads: Minor comment fix
6701
6702 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6703
6704         * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
6705         Get_Path_Name_And_Record_Ada_Sources): merged, since these were
6706         basically doing the same work (for explicit or implicit sources).
6707         (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
6708         role. Rewritten to share some code (testing that all explicit sources
6709         have been found) between ada_only and multi_language modes.
6710
6711 2009-04-24  Jerome Lambourg  <lambourg@adacore.com>
6712
6713         * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
6714         for CLI imported types.
6715         (Analyze_Pragma): Allow CIL or Java imported functions returning
6716         access-to-subprogram types.
6717
6718 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6719
6720         * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
6721         (Project_Data.Dir_Path): field removed, since it can be computed
6722         directly from .Directory, and is needed only once when processing the
6723         project is buildgpr.adb or make.adb
6724
6725 2009-04-24  Robert Dewar  <dewar@adacore.com>
6726
6727         * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
6728         rtsfind.adb: Minor reformatting.
6729         Minor code reorganization
6730
6731 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6732
6733         * mlib-prj.adb: Use friendlier english identifier.
6734
6735         * gnatcmd.adb, make.adb: Use better english identifiers.
6736
6737 2009-04-24  Robert Dewar  <dewar@adacore.com>
6738
6739         * clean.adb: Minor reformatting
6740
6741 2009-04-24  Robert Dewar  <dewar@adacore.com>
6742
6743         * einfo.adb (OK_To_Rename): New flag
6744
6745         * einfo.ads (OK_To_Rename): New flag
6746
6747         * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
6748         OK_To_Rename set.
6749
6750         * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
6751
6752         * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
6753         OK_To_Rename.
6754
6755 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6756
6757         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
6758         clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
6759         field removed. This is not a property of the
6760         project, just a boolean used to traverse the project tree, and storing
6761         it in the structure prevents doing multiple traversal in parallel.
6762         (Project_Data.Checked): also removed, since it was playing the same role
6763         as Seen when we had two nested loops, and this is no longer necessary
6764         (For_All_Imported_Projects): removed, since in fact there was already
6765         the equivalent in For_Every_Project_Imported. The latter was rewritten
6766         to use a local hash table instead of Project_Data.Seen
6767         Various loops were rewritten to use For_Every_Project_Imported, thus
6768         removing the need for Project_Data.Seen. This avoids a lot of code
6769         duplication
6770
6771 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6772
6773         * sem_res.adb (Resolve_Actuals): Do not create blocks around code
6774         statements, even though the actual of the call is a concatenation,
6775         because the argument is static, and we want to preserve warning
6776         messages  about sequences of code statements that are not marked
6777         volatile.
6778
6779         * sem_warn.adb: remove obsolete comment about warning being obsolete
6780
6781         * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
6782         requeued and the delay has expired while within the accept statement
6783         that executes the requeue, do not perform the requeue and indicate that
6784         the timed call has been aborted.
6785
6786 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6787
6788         * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6789         (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
6790         (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
6791         since they can be computed from the above.
6792
6793 2009-04-24  Vincent Celier  <celier@adacore.com>
6794
6795         * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
6796
6797         * prj-env.adb: Move all global variables to the private part of the
6798         project tree data.
6799         Access these new components instead of the global variables no longer
6800         in existence.
6801         (Add_To_Path): New Project_Tree_Ref parameter, to access the new
6802         components that were previously global variables.
6803
6804         * prj-env.ads (Initialize): New Project_Tree_Ref parameter
6805         (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
6806         parameter.
6807
6808         * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
6809         be able to call Set_Mapping_File_Initial_State_To_Empty with it.
6810
6811         * prj.adb (Initialize): Do not call Prj.Env.Initialize
6812         (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
6813         components in the private part of the project tree data.
6814
6815         * prj.ads (Private_Project_Tree_Data): new components moved from
6816         Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
6817         Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
6818         Ada_Prj_Objects_File_Set, Fill_Mapping_File.
6819
6820 2009-04-24  Vincent Celier  <celier@adacore.com>
6821
6822         * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
6823
6824         * prj-nmsc.adb (Check_Library): No error for imports by shared library
6825         projects, when --unchecked-shared-lib-imports is used.
6826
6827 2009-04-24  Robert Dewar  <dewar@adacore.com>
6828
6829         * sem_ch7.adb: Minor reformatting
6830
6831 2009-04-24  Tristan Gingold  <gingold@adacore.com>
6832
6833         * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
6834         mach thread id.
6835
6836 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6837
6838         * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
6839         Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
6840         (For_All_Imported_Projects): new procedure
6841         (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
6842         above rather than duplicating code.
6843
6844 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6845
6846         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6847         (Source_Id, Source_Data): use a real list to store sources rather than
6848         using an external table to store the elements. This makes code more
6849         efficient and more readable.
6850
6851 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6852
6853         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6854         (Source_Iterator): new type.
6855         This removes the need for having the sources on three different
6856         lists at the project tree, project and language level. They are now
6857         on a single list.
6858
6859 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6860
6861         * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
6862
6863 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6864
6865         * sem_warn.adb: Add comment on obsolete warning
6866
6867 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6868
6869         * s-tassta.adb (Create_Task): Fix violation of locking rule.
6870
6871 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6872
6873         * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
6874         to Language_Ptr to better reflect its new implementation.
6875         (Project_Data.First_Languages_Processing): renamed to Languages now
6876         that the field with that name is no longer used
6877         (Project_Data.Languages): removed, no longer used, and duplicates
6878         information already available through First_Language_Processing.
6879         (Prj.Language_Index): now an actual pointer, instead of an index into
6880         a table. This makes the list somewhat more obvious, but more importantly
6881         removes the need to pass a pointer to the project_tree_data in a few
6882         places, and makes accessing the attributes of a languages more
6883         efficient.
6884
6885 2009-04-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6886             Thomas Quinot  <quinot@adacore.com>
6887
6888         * fe.h (Set_Identifier_Casing): Add const to second parameter.
6889         * gcc-interface/misc.c (internal_error_function): Make copy of return
6890         from pp_formatted_text before assigning BUFFER to it.
6891         (gnat_init): Likewise for main_input_filename and gnat_argv.
6892         (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
6893
6894 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6895
6896         * ttypes.ads (Target_Double_Float_Alignment): New variable.
6897         (Target_Double_Scalar_Alignment): Likewise.
6898         * get_targ.ads (Get_Strict_Alignment): Adjust external name.
6899         (Get_Double_Float_Alignment): New imported function.
6900         (Get_Double_Scalar_Alignment): Likewise.
6901         * layout.adb (Set_Elem_Alignment): Take into account specific caps for
6902         the alignment of "double" floating-point types and "double" or larger
6903         scalar types, as parameterized by Target_Double_Float_Alignment and
6904         Target_Double_Scalar_Alignment respectively.
6905         * gcc-interface/gigi.h (double_float_alignment): Declare.
6906         (double_scalar_alignment): Likewise.
6907         (is_double_float_or_array): Likewise.
6908         (is_double_scalar_or_array): Likewise.
6909         (get_target_double_float_alignment): Likewise.
6910         (get_target_double_scalar_alignment): Likewise.
6911         * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
6912         (get_target_strict_alignment): ...this.
6913         (get_target_double_float_alignment): New function.
6914         (get_target_double_scalar_alignment): Likewise.
6915         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6916         Test the presence of an alignment clause for under-aligned integer
6917         types.  Take into account specific caps for the alignment of "double"
6918         floating-point types and "double" or larger scalar types, as
6919         parameterized by Target_Double_Float_Alignment and
6920         Target_Double_Scalar_Alignment respectively.
6921         (validate_alignment): Likewise.
6922         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
6923         (gigi): Initialize double_float_alignment and double_scalar_alignment.
6924         * gcc-interface/utils.c (double_float_alignment): New global variable.
6925         (double_scalar_alignment): Likewise.
6926         (is_double_float_or_array): New predicate.
6927         (is_double_scalar_or_array): Likewise.
6928
6929 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6930
6931         * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
6932         the conditional expression only if it is common to both arms.
6933
6934 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6935
6936         * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
6937         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
6938         arguments to build_allocator.
6939         * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
6940         Remove code handling special allocator and assert its uselessness.
6941
6942 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6943
6944         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
6945         alignment is specified, do not promote that of the component type
6946         beyond it.
6947         <E_Array_Subtype>: Likewise.
6948
6949 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6950
6951         * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
6952         * sinfo.ads (Object Declaration): Likewise.
6953         (Assignment Statement): Likewise.
6954         * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
6955         Do not force Is_True_Constant to false on the temporary.
6956         (Freeze_Entity): Do not force Is_True_Constant to false on names on
6957         the RHS of object declarations.
6958         * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
6959         New case.  Return 1 if the object is atomic.
6960         <N_Assignment_Statement>: Likewise.
6961
6962 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6963
6964         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
6965         For packed array types, make the original array type a parallel type
6966         for the modular type and its JM wrapper if the type is bit-packed.
6967         <E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
6968         record type for packed array types.  Remove kludge.
6969
6970 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6971
6972         * gcc-interface/gigi.h (create_index_type): Adjust head comment.
6973         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6974         Use front-end predicates to compute signedness and precision.
6975         <E_String_Literal_Subtype>: Fold range type.
6976         Make sure to set longest_float_type_node to a scalar type.
6977         (elaborate_entity): Use consistent Constraint_Error spelling.
6978         (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
6979         * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
6980         output for the modulus, if any.
6981         <ENUMERAL_TYPE>: Likewise for the RM size.
6982         * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
6983         spelling.
6984         * gcc-interface/utils.c (finish_record_type): Really test the alignment
6985         of BLKmode bit-fields to compute their addressability.
6986         (create_index_type): Adjust comments.
6987         (create_param_decl): Create the biased subtype manually.
6988         * gcc-interface/utils2.c (build_component_ref): Use consistent
6989         Constraint_Error spelling.
6990
6991 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6992
6993         * gcc-interface/cuintp.c: Clean up include directives.
6994         * gcc-interface/targtyps.c: Likewise.
6995         * gcc-interface/decl.c: Likewise.
6996         * gcc-interface/misc.c: Likewise.
6997         * gcc-interface/trans.c: Likewise.
6998         * gcc-interface/utils.c: Likewise.
6999         * gcc-interface/utils2.c: Likewise.
7000         * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
7001
7002 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
7003
7004         * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
7005         (SET_TYPE_LANG_SPECIFIC): Likewise.  Fix formatting.
7006         (SET_DECL_LANG_SPECIFIC): Likewise.
7007         Reorder macros.
7008         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
7009         Update comment about use of build_range_type.
7010         <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
7011         <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
7012         check for other cases of overloading.
7013         * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
7014         * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
7015         Use size_int in lieu of build_int_cst.
7016         (build_call_alloc_dealloc): Use build_index_2_type in lieu of
7017         build_range_type.
7018
7019 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7020
7021         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
7022         type is an enumeral or a boolean type, change it to an integer type
7023         with the same mode and signedness.
7024
7025 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7026
7027         * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
7028         for an external constant whose initializer is not absolute.
7029
7030 2009-04-22  Taras Glek  <tglek@mozilla.com>
7031
7032         * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
7033         * gcc-interface/trans.c: Likewise.
7034         * gcc-interface/utils.c: Likewise.
7035
7036 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
7037
7038         * sem_res.adb: Create block around procedure call when actual is a
7039         concatenation.
7040
7041 2009-04-22  Thomas Quinot  <quinot@adacore.com>
7042
7043         * s-soflin.ads: Fix typos
7044
7045 2009-04-22  Vincent Celier  <celier@adacore.com>
7046
7047         * prj-env.adb: Minor comment change
7048
7049         * prj-nmsc.adb (Check_Common): Add guard to avoid calling
7050         Get_Name_String with No_File.
7051
7052         * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
7053         cannot be created even when not in verbose mode.
7054
7055 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7056
7057         * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
7058         prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
7059         Multi_Language modes, to avoid code duplication.
7060         (Project_Data.Include_Language): Removed.
7061
7062 2009-04-22  Vincent Celier  <celier@adacore.com>
7063
7064         * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
7065         the temporary file cannot be created, indicating the directory when the
7066         creation was attempted.
7067
7068 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7069
7070         * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
7071         the language names, not their indices.
7072
7073 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7074
7075         * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
7076         (Source_Data.Language_Name): Field removed.
7077
7078 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7079
7080         * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
7081         Two fields removed.
7082
7083 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7084
7085         * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
7086         separate_suffix to the same value as the body_suffix.
7087
7088 2009-04-22  Robert Dewar  <dewar@adacore.com>
7089
7090         * prj.adb: Minor code reorganization
7091         Code clean up.
7092
7093         * prj-proc.adb: Minor code reorganization, clean up.
7094
7095         * prj-nmsc.adb: Minor reformatting
7096         Minor code reorganization
7097
7098         * gnat_ugn.texi: Add to doc on strict aliasing
7099
7100 2009-04-22  Pascal Obry  <obry@adacore.com>
7101
7102         * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
7103         SpinCount.
7104
7105         * s-tasini.adb: Minor reformatting.
7106
7107         * s-tassta.adb: Minor reformatting.
7108
7109 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7110
7111         * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
7112         smaller subprograms.
7113         Renamed to Check_File_Naming_Schemes to avoid confusion with the
7114         other Check_Naming_Schemes functions that plays a totally different
7115         role.
7116         (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
7117         extracted from the above. These were partially rewritten to avoid
7118         unnecessary code and temporary variables.
7119         (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
7120         and Get_Unit (which for now still exist since they contain mode-specific
7121         code)
7122
7123 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7124
7125         * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
7126         Remove duplicated code.
7127         (Canonical_Case_File_Name): new subprogram
7128         (Check_And_Normalize_Unit_Names): new subprogram
7129         (Write_Attr): new subprogram
7130         Better sharing of code
7131         (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
7132         split Check_Naming and help find duplicated code
7133         (Check_Common): new subprogram, sharing code between ada_only and
7134         multi_language mode.
7135         (Naming_Data.Dot_Repl_Loc): field removed
7136
7137 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7138
7139         * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
7140         Minor refactoring to reduce the size of
7141         Process_Sources_In_Multi_Language_Mode.
7142         Avoid extra copied of Source_Data, which we found in the past could be
7143         quite slow.
7144         (Mark_Excluded_Sources): new subprogram.
7145         (Remove_Locally_Removed_Files_From_Units): merged into the above
7146         Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
7147         and allow better sharing of code between multi_lang and ada_only modes
7148         (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
7149
7150 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7151
7152         * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
7153         Removed, since unused.
7154
7155 2009-04-22  Vincent Celier  <celier@adacore.com>
7156
7157         * prj-attr.adb: New single project level attribute
7158         Separate_Run_Path_Options.
7159
7160         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
7161         attribute Seperate_Run_Path_Options.
7162
7163         * prj.ads: (Project_Configuration): New Boolean component
7164         Separate_Run_Path_Options, defaulted to False.
7165
7166         * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
7167
7168 2009-04-22  Robert Dewar  <dewar@adacore.com>
7169
7170         * sem_type.adb: Minor reformatting
7171
7172         * mlib.adb: Minor reformatting
7173
7174         * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
7175         syntax error.
7176
7177 2009-04-22  Nicolas Setton  <setton@adacore.com>
7178
7179         * link.c: Add flag __gnat_separate_run_path_options.
7180
7181         * mlib.adb (Separate_Run_Path_Options): New subprogram.
7182
7183         * mlib.ads (Separate_Run_Path_Options): Declare.
7184
7185         * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
7186         switch per directory, rather than one "rpath" switch listing all
7187         directories.
7188
7189         * gnatlink.adb (Process_Binder_File): Likewise.
7190
7191         * make.adb (Gnatmake): Likewise.
7192
7193 2009-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
7194
7195         * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
7196         Add a call to Move_Final_List when the target of the assignment is a
7197         return object that needs finalization and the expression is a
7198         controlled build-in-place function.
7199
7200 2009-04-22  Vincent Celier  <celier@adacore.com>
7201
7202         * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
7203         Including_Libraries set to True.
7204
7205 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
7206
7207         * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
7208         create a unit table entry for the subprogram declaration created for a
7209         child suprogram body that has no separate specification.
7210
7211         * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
7212         subprogram body, call Make_Child_Decl_Unit.
7213
7214         * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
7215         table can only be the created specification of a child subprogram body
7216         that is the main unit, which has not been entered in the table yet.
7217
7218         * errout.adb  (Output_Messages): Ignore created specification of a
7219         child subprogram body to prevent repeated listing of error messages.
7220
7221         * gnat1drv.adb (gnat1drv): The generated specification for a child
7222         subprogram body does not generate code.
7223
7224 2009-04-22  Arnaud Charlet  <charlet@adacore.com>
7225
7226         * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
7227         since this unit is now part of bootstrap units, so must use Ada 95
7228         syntax only.
7229
7230 2009-04-22  Thomas Quinot  <quinot@adacore.com>
7231
7232         * a-tasatt.adb: Minor reformatting
7233
7234 2009-04-22  Bob Duff  <duff@adacore.com>
7235
7236         * s-stalib.ads: Remove "with System;" since we're inside System, so
7237         it's unnecessary.
7238
7239 2009-04-22  Vincent Celier  <celier@adacore.com>
7240
7241         * prj-nmsc.adb (Add_Source): Always put the dependency file name in
7242         the source record, as there may be a dependency file even if no object
7243         file is created.
7244
7245 2009-04-22  Robert Dewar  <dewar@adacore.com>
7246
7247         * lib-load.adb: Minor reformatting
7248
7249         * lib-load.ads: Minor reformatting
7250
7251         * sinfo.ads: Minor reformatting
7252
7253 2009-04-22  Bob Duff  <duff@adacore.com>
7254
7255         * exp_pakd.adb: Minor comment fixes.
7256
7257         * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
7258         sem_ch12.adb: Change the meaning of the Library_Unit attribute to
7259         include units containing instantiations, as well as units that are
7260         generic instantiations.
7261
7262         * sem.adb: Include dependents and corresponding specs/bodies in the
7263         unit walk.
7264
7265         * gcc-interface/Make-lang.in:
7266         sem now depends on s-bitops, because of the packed array of Booleans.
7267
7268 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7269
7270         * gcc-interface/ada-tree.def: Fix formatting nits.
7271         (REGION_STMT): Delete.
7272         (HANDLER_STMT): Likewise.
7273         * gcc-interface/ada-tree.h: Fix formatting nits.
7274         (IS_STMT): Delete.
7275         (REGION_STMT_BODY): Likewise.
7276         (REGION_STMT_HANDLE): Likewise.
7277         (REGION_STMT_BLOCK): Likewise.
7278         (HANDLER_STMT_ARG): Likewise.
7279         (HANDLER_STMT_LIST): Likewise.
7280         (HANDLER_STMT_BLOCK): Likewise.
7281         * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
7282         (fp_size_to_prec): Likewise.
7283         (largest_move_alignment): Delete.
7284         (gnat_compute_largest_alignment): Likewise.
7285         Fix minor nits.
7286         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
7287         Remove redundant code.
7288         <E_Array_Type>: Remove redundant assert.
7289         <E_Array_Subtype>: Exit early from index computation in pathological
7290         cases.
7291         Rewrite conditional assignment.
7292         (make_type_from_size): Likewise.
7293         * gcc-interface/misc.c (largest_move_alignment): Delete.
7294         (gnat_finish_incomplete_decl): Likewise.
7295         (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
7296         (asm_out_file): Likewise
7297         (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
7298         (gnat_dwarf_name): Move around.
7299         * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
7300         (gigi): Remove call to gnat_compute_largest_alignment.
7301         * utils.c (create_field_decl): Rewrite conditional assignment.
7302         Fix minor nits.
7303
7304 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7305
7306         * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
7307         on entry.  Defer common processing for types.  Reorder and clean up.
7308         Compute the equivalent GNAT node and the default size for types only.
7309         <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
7310         <E_Access_Type>: For an unconstrained designated type, do not pretend
7311         that a dummy type is always made.
7312         <all> Fix nits in comments.
7313         (validate_size): Fix formatting nits and comments.
7314         (set_rm_size): Likewise.
7315         * gcc-interface/utils.c (create_param_decl): Replace bogus argument
7316         passed to TARGET_PROMOTE_PROTOTYPES hook.
7317
7318 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7319
7320         * fe.h (Get_External_Name): Declare.
7321         * gcc-interface/gigi.h (concat_id_with_name): Rename to...
7322         (concat_name): ...this.
7323         * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
7324         gnu_entity_name and adjust for above renaming.
7325         <E_Access_Type>: Use create_concat_name to get the name of the various
7326         types associated with unconstrained array types.
7327         (make_aligning_type): Adjust for above renaming.
7328         (maybe_pad_type): Likewise.
7329         (components_to_record): Likewise.  Use get_identifier_with_length for
7330         the encoding of the variant.
7331         (get_entity_name): Use get_identifier_with_length.
7332         (create_concat_name): Likewise.  Use Get_External_Name if no suffix.
7333         Do not fiddle with Name_Buffer.
7334         (concat_id_with_name): Rename to...
7335         (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
7336         with Name_Buffer.
7337         * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
7338         above renaming.
7339
7340 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
7341
7342         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
7343         license notices.
7344
7345 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7346
7347         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
7348
7349 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7350
7351         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
7352         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
7353         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
7354         Remove useless support code for packed array types and assert its
7355         uselessness.
7356         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
7357         adjust for TYPE_RM_SIZE change.
7358         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
7359         of Associated_Node_For_Itype accessor for packed array types.
7360         (make_packable_type): Likewise.
7361         (maybe_pad_type): Likewise.
7362         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
7363         TYPE_RM_SIZE change.
7364         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
7365         (rm_size): Fix nits in comments.  Rework conditional statements.
7366         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
7367         change.
7368         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
7369         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
7370         appropriate function to initialize the size_type_node.  Adjust for
7371         TYPE_RM_SIZE change.
7372
7373 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7374
7375         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
7376         for imported subprograms.
7377
7378 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7379
7380         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
7381         constant objects covered by 13.3(19) volatile.
7382
7383 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7384
7385         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
7386         of dummy fat pointer types to the debug back-end.
7387
7388 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7389
7390         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
7391         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
7392         before wrapping it up in the record type.  Do not overwrite the
7393         Ada size of the record type with the Esize.
7394
7395 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7396
7397         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
7398         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
7399         if the conversion is on the LHS of an assignment and a no-op.
7400         <all> Do not convert the result to the result type if the Parent
7401         node is such a conversion.
7402
7403 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7404
7405         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
7406         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
7407         of types with unknown discriminants.
7408         (substitute_in_type): Rewrite and restrict to formal substitutions.
7409         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
7410         (update_pointer_to): Update comment.
7411
7412 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7413
7414         * sem_ch8.adb (Use_One_Package): In an instance, if two
7415         potentially_use_visible and non-overloadable homonyms are available
7416         from  the actuals of distinct formal packages, retain the current one,
7417         which was visible in the generic, to prevent spurious visibility
7418         errors.
7419         (End_Use_Package): Restore use_visibility when needed.
7420
7421 2009-04-20  Sergey Rybin  <rybin@adacore.com>
7422
7423         * gnat_ugn.texi, vms_data.ads: Update doc.
7424
7425 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7426
7427         * gcc-interface/Make-lang.in: Update dependencies
7428
7429         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
7430         Windows.
7431
7432 2009-04-20  Robert Dewar  <dewar@adacore.com>
7433
7434         * checks.ads: Fix documentation of range check handling
7435
7436 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7437
7438         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
7439         a redundant use_type clause.
7440
7441 2009-04-20  Robert Dewar  <dewar@adacore.com>
7442
7443         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
7444         this attribute can be evaluated at compile time.
7445         (Eval_Attribute, case Range_Length): Same improvement
7446
7447         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
7448
7449 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7450
7451         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
7452         for better handling of null procedures.
7453         (Check_Overriding_Indicator): Do not emit a warning on a missing
7454         overriding indicator on an operator when the type of which the operator
7455         is a primitive is private.
7456
7457 2009-04-20  Bob Duff  <duff@adacore.com>
7458
7459         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
7460         debugging output.
7461
7462 2009-04-20  Robert Dewar  <dewar@adacore.com>
7463
7464         * sem_attr.adb: Minor reformatting
7465
7466         * gnatcmd.adb: Minor reformatting
7467
7468 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7469
7470         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
7471         overloaded and one interpretation matches the context, label the
7472         operand with the type of first formal.
7473
7474 2009-04-20  Bob Duff  <duff@adacore.com>
7475
7476         * debug.ads: Minor comment fix.
7477
7478         * debug.adb: Minor comment fixes.
7479
7480 2009-04-20  Javier Miranda  <miranda@adacore.com>
7481
7482         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
7483
7484         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
7485
7486         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
7487         is expanded into a call to Raise_Exception, avoid passing the
7488         exception-name'identity in runtimes in which this argument
7489         is not used.
7490
7491 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
7492
7493         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
7494         generated bindings for cil.
7495
7496 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7497
7498         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
7499         discriminants, collect components from the Underlying_Record_View,
7500         which will be used in the expansion of the aggregate into assignments.
7501
7502         * sem_ch3.adb: Do not label derived type with unknown discriminants as
7503         having a private declaration.
7504
7505 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7506
7507         * exp_util.adb (Expand_Subtype_From_Expr): use the
7508         underlying_record_view when available, to create the proper constrained
7509         subtype for an object of a derived type with unknown discriminants.
7510
7511 2009-04-20  Javier Miranda  <miranda@adacore.com>
7512
7513         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
7514         formals that have pragma unreferenced.
7515
7516 2009-04-20  Pascal Obry  <obry@adacore.com>
7517
7518         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
7519         Remove all calls to To_Lower_If_Case_Insensitive to preserve
7520         the pathname original casing.
7521
7522 2009-04-20  Robert Dewar  <dewar@adacore.com>
7523
7524         * g-trasym.adb: Minor reformatting
7525
7526         * s-os_lib.adb: Minor reformatting
7527
7528         * sem.adb: Minor reformatting
7529         Minor code reorganization
7530
7531         * sem_ch3.adb: Minor reformatting
7532
7533         * sem_ch4.adb: Minor reformatting
7534
7535         * sem_ch8.adb: Minor reformatting
7536
7537         * sem_type.adb: Minor reformatting
7538
7539 2009-04-20  Javier Miranda  <miranda@adacore.com>
7540
7541         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
7542         generated by derivations of tagged types use the aliased subprogram a
7543         reference to locate their controlling type.
7544
7545 2009-04-20  Tristan Gingold  <gingold@adacore.com>
7546
7547         * g-trasym.adb: Set size of result buffer before calling
7548         convert_address.
7549
7550 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7551
7552         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
7553         to a function returning an array can be interpreted as a call with
7554         defaulted parameters whose result is indexed, take into account the
7555         types of all the indices of the array result type.
7556
7557 2009-04-20  Pascal Obry  <obry@adacore.com>
7558
7559         * a-direct.adb, s-os_lib.adb: Minor reformatting.
7560
7561 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7562
7563         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
7564         null exclusion qualifiers for object renaming declarations.
7565
7566 2009-04-20  Nicolas Roche  <roche@adacore.com>
7567
7568         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
7569         unsigned long long. So compare local_time and utc_time before computing
7570         the difference.
7571
7572 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7573
7574         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
7575         of the Underlying_Record_View before that of the derived type.
7576
7577         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
7578         with unknown discriminants with regard to the parent subtype.
7579
7580 2009-04-20  Bob Duff  <duff@adacore.com>
7581
7582         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
7583         that are not included. This is necessary if the main unit is a generic
7584         instantiation.
7585
7586         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
7587         because it doesn't work if -gnatn is used.
7588
7589 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7590
7591         * rtsfind.adb (RTE, RTE_Record_Component): In
7592         Configurable_Run_Time_Mode, do not enable front-end inlining.
7593
7594 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7595
7596         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
7597         System.Address_To_Access_Conversions.
7598
7599 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7600
7601         * sem.adb: Guard against ill-formed subunits.
7602
7603 2009-04-20  Bob Duff  <duff@adacore.com>
7604
7605         * output.adb (Flush_Buffer): Do not indent blank lines.
7606         (Ignore_Output): New procedure for output suppression.
7607
7608 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7609
7610         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
7611         when it is positive.  This avoids a potential constraint error raised
7612         by the conversion to Natural.
7613
7614 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7615
7616         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
7617         involves a target that has a specified address, don't set Forward_OK
7618         and Backward_OK to False if the rhs is an aggregate, since overlap
7619         can't occur.
7620
7621 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7622
7623         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
7624         in an object renaming declaration when the expected type is an
7625         anonymous access type.
7626
7627         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
7628         ambiguity when one interpretation is an anonymous access type and the
7629         other is a named access type, and the context itself is anonymous
7630
7631 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7632
7633         * einfo.ads: Minor comment rewording
7634
7635         * sem_aggr.adb: Minor comment rewording
7636
7637         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
7638
7639 2009-04-20  Pascal Obry  <obry@adacore.com>
7640
7641         * adaint.c (__gnat_is_readable_file): Check for file existence
7642         when not using ACL (always the case on remote drives).
7643
7644 2009-04-20  Robert Dewar  <dewar@adacore.com>
7645
7646         * sinfo.ads: Minor comment fixes
7647
7648         * exp_disp.adb: Minor reformatting
7649
7650         * gnat1drv.adb: Minor reformatting
7651
7652         * output.adb: Minor reformatting
7653
7654         * s-vxwext-kernel.ads: Minor reformatting
7655
7656         * sem.ads: Minor reformatting
7657
7658         * sem.adb: Minor reformatting
7659
7660         * sem_elim.adb: Minor reformatting
7661
7662         * uname.ads: Minor reformatting
7663
7664 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7665
7666         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
7667         a small dope of 4 words to the adjustment to the stack pointer.
7668
7669 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7670
7671         * xoscons.adb: generate C header s-oscons.h in
7672         addition to s-oscons.ads.
7673
7674         * socket.c: On VMS, use s-oscons.h.
7675
7676         * sem_ch3.adb: Minor reformatting
7677
7678         * exp_ch9.adb: Minor reformatting
7679
7680 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7681
7682         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
7683         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
7684         (call_to_gnu): Likewise.
7685
7686 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7687
7688         * gcc-interface/trans.c (gigi): Declare the name of the compilation
7689         unit as the first global name at the very beginning.
7690
7691 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7692
7693         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7694         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
7695         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
7696         since HP-UX supports neither inet_aton nor inet_pton (altough the
7697         latter is part of the Single UNIX Specification!).
7698         So reorganize code, and share C implementation based on inet_addr(3)
7699         with VMS (instead of having a VMS specific Ada implementation in
7700         g-socthi-vms.adb).
7701
7702 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7703
7704         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
7705         to return the object file name saved by Set_Object_Output_File_Name.
7706
7707 2009-04-20  Emmanuel Briot  <briot@adacore.com>
7708
7709         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
7710         for the standard command line, when argc has been modified since the
7711         start of the application.
7712
7713 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7714
7715         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
7716         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
7717
7718 2009-04-20  Bob Duff  <duff@adacore.com>
7719
7720         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
7721         pragma Debug.
7722
7723 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7724
7725         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
7726         subprogram as Eliminated when source operation is.
7727         (Expand_N_Protected_Type_Declaration): Generate protected and
7728         unprotected specs for the internal operations, even if the source
7729         operation is eliminated.
7730
7731 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7732
7733         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
7734         Predefined_Primitive_Bodies): Do not create the declarations and bodies
7735         of the primitive subprograms associated with dispatching select
7736         statements when the runtime is in configurable mode.
7737
7738 2009-04-20  Ed Falis  <falis@adacore.com>
7739
7740         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
7741
7742 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7743
7744         * s-oscons-tmplt.c: Add support for generating a dummy version of
7745         s-oscons.ads providing all possible constants.
7746
7747         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
7748
7749         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
7750         ANSI version (not the UNICODE version) of WSAStringToAddress.
7751
7752 2009-04-20  Pascal Obry  <obry@adacore.com>
7753
7754         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
7755         allocated for the security descriptor and make sure all
7756         handles are closed before leaving this procedure.
7757
7758 2009-04-20  Javier Miranda  <miranda@adacore.com>
7759
7760         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
7761         (Set_Is_Underlying_Record_View): New subprogram
7762
7763         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
7764         private types with unknown discriminants use the underlying record view
7765         if available.
7766
7767         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
7768         underlying record view in the full view of private types whose parent
7769         has unknown discriminants.
7770         (Build_Derived_Record_Type): Avoid generating the class-wide entity
7771         associated with an underlying record view.
7772         (Derived_Type_Declaration): Avoid deriving parent primitives in
7773         underlying record views.
7774
7775         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
7776         records with unknown discriminants.
7777
7778         * sem_type.adb (Covers): Handle underlying record views.
7779         (Is_Ancestor): Add support for underlying record views.
7780
7781         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
7782         dispatching call if the type of the target object is tagged and has
7783         unknown discriminants.
7784
7785         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
7786         unknown discriminants.
7787
7788         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
7789         tables for internally built underlying record views.
7790
7791         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
7792         empty list of component associations.
7793
7794 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7795
7796         * sem_ch10.adb: Minor reformatting
7797
7798         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7799         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
7800         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
7801         standard inet_pton API (and emulate it on platforms that do not
7802         support it).
7803         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
7804         DECC$INET_ADDR, imported in Ada.
7805         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
7806         implementation provided by GNAT runtime.
7807         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
7808         Windows.
7809
7810 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7811
7812         * gnat_ugn.texi: Add documentation for -fno-ivopts.
7813
7814 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7815
7816         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
7817         with_clause if it is the main unit.
7818
7819 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7820
7821         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
7822         (no behaviour change): Use Append instead of Increment_Last followed
7823         by assignment.
7824
7825 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7826
7827         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
7828         declarations of all primitives associated with dispatching asynchronous,
7829         conditional and timed selects when dispaching calls are forbidden and
7830         select statements are not allowed (such as in Ravenscar).
7831         (Predefined_Primitive_Bodies): Ditto for bodies.
7832
7833         * exp_disp.ad (Make_DT): Do not create and populate the
7834         Select_Specific_Data of the dispatch table when dispatching calls are
7835         forbidden and select statements are not allowed (such as in Ravenscar).
7836
7837 2009-04-20  Robert Dewar  <dewar@adacore.com>
7838
7839         * a-tifiio.adb: Minor reformatting
7840
7841 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7842
7843         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
7844         other C library functions, report *failure* with a zero status, and
7845         success with a non-zero status.
7846
7847 2009-04-20  Bob Duff  <duff@adacore.com>
7848
7849         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
7850         (Semantics): After analyzing each unit, Append it to the
7851         Comp_Unit_List, if appropriate.
7852
7853         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
7854         purposes.
7855         (Gnat1drv): Correct comment regarding Back_End_Mode.
7856
7857 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7858
7859         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
7860
7861 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7862
7863         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
7864         output.adb, output.ads, s-taprop-hpux-dce.adb,
7865         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
7866         reformatting.
7867
7868 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7869
7870         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
7871         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
7872         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
7873         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
7874         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
7875         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
7876
7877         * debug.adb: Fix typo
7878
7879         * gnat_rm.texi: Minor doc fix.
7880
7881         * sem_ch7.adb, freeze.adb: Minor reformatting
7882
7883 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7884
7885         * g-socket.ads: Add new constants:
7886           Loopback_Inet_Addr
7887           Unspecified_Group_Inet_Addr
7888           All_Hosts_Group_Inet_Addr
7889           All_Routers_Group_Inet_Addr
7890
7891         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
7892         ERANGE (Result too large).
7893         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
7894         propagation of errno to caller.
7895
7896 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7897
7898         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
7899         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
7900         Leap_Second_Times.
7901
7902 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7903
7904         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
7905         checking for references to eliminated subprograms that should be
7906         flagged.
7907         (Eliminate_Error_Message): Update comment to say "references" rather
7908         than "calls" (since attribute cases are handled here as well).
7909
7910         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
7911         checking for references to eliminated subprograms that should be
7912         flagged.  Add with and use of Sem and Sem_Util.
7913
7914         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
7915         Add with and use of Sem_Elim.
7916
7917         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
7918         applied to eliminated subprograms.
7919         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
7920         eliminated subprograms.
7921         Add with and use of Sem_Elim.
7922
7923         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
7924         to eliminated subprograms, now handled during Resolve_Call.
7925         Remove with and use of Sem_Elim.
7926
7927         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
7928         testing Is_Eliminated, for proper handling of primitive derived from
7929         eliminated subprograms.
7930
7931 2009-04-20  Vincent Celier  <celier@adacore.com>
7932
7933         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
7934         has been declared (Library_GCC or Linker'Driver), for the driver name.
7935
7936         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
7937         Linker'Driver is, use Linker'Driver as the shared library linker.
7938         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
7939         Library_GCC is declared.
7940         (Check_Library_Attributes): Set up the shared linker driver: either
7941         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
7942         declared.
7943
7944 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7945
7946         * g-socket.ads (Send_Socket): Fix misleading comment.
7947
7948 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7949
7950         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
7951         ASIS mode.
7952
7953 2009-04-20  Geert Bosch  <bosch@adacore.com>
7954
7955         * a-tifiio.adb (Put): Avoid generating too many digits for certain
7956         fixed types with smalls that are neither integer or the reciprocal
7957         of an integer.
7958
7959 2009-04-20  Bob Duff  <duff@adacore.com>
7960
7961         * uname.ads: Minor comment fix.
7962
7963         * types.ads: Minor comment fix.
7964
7965 2009-04-20  Pascal Obry  <obry@adacore.com>
7966
7967         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
7968         avoid warning. At the same time fix a memory leak.
7969
7970         * osint.adb (Get_Libraries_From_Registry): Properly free memory
7971         returned by the above routine.
7972
7973 2009-04-20  Robert Dewar  <dewar@adacore.com>
7974
7975         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
7976         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
7977         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
7978         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
7979
7980         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
7981
7982 2009-04-20  Pascal Obry  <obry@adacore.com>
7983
7984         * initialize.c (__gnat_initialize): Add braces to kill warning.
7985
7986         * adaint.c: Minor reformatting, remove trailing spaces.
7987
7988 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
7989
7990         * gcc-interface/Make-lang.in: Update dependencies.
7991
7992 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7993
7994         * adaint.h (__gnat_lwp_self): Declare on Linux.
7995
7996         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
7997
7998 2009-04-20  Robert Dewar  <dewar@adacore.com>
7999
8000         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
8001         front-end part of -fpreserve-control-flow switch.
8002
8003 2009-04-20  Bob Duff  <duff@adacore.com>
8004
8005         * rtsfind.adb: Minor comment fix
8006
8007 2009-04-20  Robert Dewar  <dewar@adacore.com>
8008
8009         * exp_aggr.adb: Minor reformatting
8010         Minor code reorganization (use Nkind_In)
8011
8012         * g-socket.adb: Minor reformatting
8013
8014         * g-socket.ads: Minor comment fix
8015
8016         * s-auxdec.ads: Minor comment and organization update.
8017
8018         * s-auxdec-vms_64.ads: Minor comment and organization update.
8019
8020         * sem_ch10.adb: Minor addition of ??? comment
8021
8022         * sem_disp.adb: Minor reformatting
8023
8024 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
8025
8026         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
8027         list a caller of an inlined subprogram, if the caller itself is not
8028         called.
8029
8030 2009-04-20  Pascal Obry  <obry@adacore.com>
8031
8032         * adaint.c: Disable use of ACL on network drives.
8033
8034 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
8035
8036         * gnat_ugn.texi: Add examples.
8037
8038 2009-04-20  Thomas Quinot  <quinot@adacore.com>
8039
8040         * g-socket.ads (Abort_Selector): Clarify documentation.
8041
8042 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
8043
8044         * opt.ads (Inspector_Mode): Update documentation of this flag.
8045
8046 2009-04-20  Thomas Quinot  <quinot@adacore.com>
8047
8048         * g-socket.ads: Minor reformatting
8049
8050         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
8051         consider S_resolvLib error codes since we only use the hostLib wrappers.
8052
8053 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
8054
8055         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
8056         of the Underlying_Record_View after that of the derived type.
8057
8058 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
8059
8060         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
8061         in inspector mode.
8062
8063 2009-04-20  Javier Miranda  <miranda@adacore.com>
8064
8065         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
8066
8067         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
8068         documentation.
8069
8070         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
8071
8072         * sem_disp.adb
8073         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
8074         in internally built overriding subprograms.
8075
8076 2009-04-20  Doug Rupp  <rupp@adacore.com>
8077
8078         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
8079
8080         * s-auxdec.ads: Likewise
8081
8082 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
8083
8084         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
8085         type by an interface.
8086
8087         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
8088         minimze difference in expanded tree when compiled as spec of the main
8089         unit, or as a spec in the context of another unit.
8090
8091 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
8092
8093         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
8094         (localtime_tzoff): This routine no longer accepts an actual of type
8095         tm_Pointer.
8096         (UTC_Time_Offset): Remove local variable Secs_TM.
8097
8098         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
8099         actual of type struct tm*. Add local variable of type struct tm for all
8100         targets that provide localtime_r and need to invoke it.
8101
8102 2009-04-20  Thomas Quinot  <quinot@adacore.com>
8103
8104         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
8105         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
8106         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
8107
8108 2009-04-20  Robert Dewar  <dewar@adacore.com>
8109
8110         * sem_ch3.adb: Minor reformatting
8111
8112         * lib-load.adb: Minor reformatting
8113
8114         * sem_ch4.adb: Minor reformatting
8115
8116 2009-04-20  Robert Dewar  <dewar@adacore.com>
8117
8118         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
8119         (equal values => False).
8120
8121 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
8122
8123         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
8124         to null procedures can be inlined unconditionally.
8125
8126 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
8127
8128         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
8129         non-addressable parameter passed by reference, do not convert the
8130         actual if its type is already the nominal type, unless it is of
8131         self-referential size.
8132
8133 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
8134
8135         * gnat_ugn.texi: Fix typos.
8136
8137 2009-04-20  Robert Dewar  <dewar@adacore.com>
8138
8139         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
8140         Validate_Unchecked_Warnings to suppress warnings about size or
8141         alignment or extra bits if either type involved has pragma Warnings
8142         (Off) set for the type entity.
8143
8144 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
8145
8146         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
8147         a builtin type and give it a name.
8148
8149 2009-04-17  Diego Novillo  <dnovillo@google.com>
8150
8151         * gcc-interface/misc.c (gnat_expand_expr): Remove.
8152         (LANG_HOOKS_EXPAND_EXPR): Remove.
8153
8154 2009-04-17  Robert Dewar  <dewar@adacore.com>
8155
8156         * sem_ch3.adb: Minor reformatting
8157
8158 2009-04-17  Pascal Obry  <obry@adacore.com>
8159
8160         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
8161
8162 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8163
8164         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
8165         illegal constraints on type derived from formal discrete types.
8166
8167 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8168
8169         PR ada/35953
8170
8171         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
8172         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
8173         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
8174         g-socket.ads (GNAT.Sockets.Thin.C_Send,
8175         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
8176         Replace calls to send(2) with equivalent sendto(2) calls.
8177         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
8178         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
8179         report an error in that case. Factor code common to the two versions
8180         (datagram and stream) in common routine Stream_Write.
8181
8182 2009-04-17  Robert Dewar  <dewar@adacore.com>
8183
8184         * exp_disp.adb: Minor reformatting
8185         Minor code reorganization (use Nkind_In)
8186
8187         * prepcomp.adb: Minor reformatting
8188
8189         * sem_ch3.adb: Minor reformatting
8190
8191         * sem_res.adb: Minor comment addition
8192
8193         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
8194         for address clause
8195
8196         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
8197         setting Is_Referenced
8198
8199         * types.ads: Minor reformatting
8200
8201 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8202
8203         * gnat_ugn.texi: Initial documentation on binding generator.
8204
8205 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8206
8207         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
8208         type extensions whose parent is a type with unknown discriminants.
8209
8210         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
8211         aggregate has unknown discriminants, use the Underlying_Record_View to
8212         obtain the discriminants of the ancestor part.
8213
8214         * exp_disp.adb (Build_Dispatch_Tables): Types that are
8215         Underlying_Record_Views share the dispatching information of the
8216         original record extension.
8217
8218         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
8219         discriminants, propagate dispach table information to the
8220         Underlying_Record_View.
8221
8222         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
8223         discriminants and declaration is not a completion, generate
8224         Underlying_Record_View to provide proper discriminant information to
8225         the front-end and to gigi.
8226
8227 2009-04-17  Robert Dewar  <dewar@adacore.com>
8228
8229         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
8230         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
8231         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
8232         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
8233         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
8234         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
8235         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
8236         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
8237         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
8238         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
8239         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
8240         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
8241         s-conca3.ads: Remove unneeded pragma Warnings
8242
8243 2009-04-17  Robert Dewar  <dewar@adacore.com>
8244
8245         * g-moreex.adb: Add comments.
8246
8247         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
8248
8249         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
8250         Warnings (Off)
8251
8252         * prepcomp.adb: Add ??? comment
8253
8254         * a-tasatt.adb: Minor reformatting
8255
8256         * g-trasym-vms-alpha.adb: Add ??? comment
8257
8258         * g-trasym-vms-ia64.adb: Add ??? comment
8259
8260         * xoscons.adb: Minor reformatting
8261
8262         * s-tassta.adb: Minor reformatting
8263
8264         * s-scaval.adb: Add ??? comment
8265
8266         * stand.ads: Minor code clean up (remove junk with of Namet)
8267
8268         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
8269         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
8270         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
8271         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
8272         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
8273         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
8274         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
8275         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
8276         Warnings off pragmas.
8277
8278 2009-04-17  Pascal Obry  <obry@adacore.com>
8279
8280         * initialize.c: Fix test for reallocating the arguments array.
8281
8282 2009-04-17  Geert Bosch  <bosch@adacore.com>
8283
8284         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
8285         conversion truncate only for decimal fixed point types.
8286
8287 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
8288
8289         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
8290         reinitialized.
8291
8292 2009-04-17  Robert Dewar  <dewar@adacore.com>
8293
8294         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
8295         Backwards_OK if either operand has an address clause.
8296
8297 2009-04-17  Pascal Obry  <obry@adacore.com>
8298
8299         * initialize.c: Code clean up, use realloc.
8300
8301 2009-04-17  Pascal Obry  <obry@adacore.com>
8302
8303         * initialize.c: Do not get Unicode command line if Unicode support not
8304         activated.
8305         Add support for wildcard expansion for Unicode parameters on Win32.
8306
8307         * mingw32.h: Add missing macros when Unicode support not activated.
8308
8309 2009-04-17  Javier Miranda  <miranda@adacore.com>
8310
8311         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
8312         avoid generating code that references the Current_Master
8313         when compiling without tasks.
8314
8315 2009-04-17  Vincent Celier  <celier@adacore.com>
8316
8317         * prj-attr.adb: New project level attribute Target
8318         
8319         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
8320         attribute Target
8321         
8322         * prj.ads (Project_Configuration): New component Target
8323
8324 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8325
8326         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
8327         case for the case of an aggregate component, the attach call for the
8328         result is actually needed.
8329
8330         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
8331         an array aggregate must be disabled if the component type requires
8332         controlled actions.
8333
8334         * exp_ch3.adb: Minor reformatting
8335
8336 2009-04-17  Bob Duff  <duff@adacore.com>
8337
8338         * output.ads (Indent,Outdent): New procedures for indenting the output.
8339         (Write_Char): Correct comment -- LF _is_ allowed.
8340
8341         * output.adb (Indent,Outdent): New procedures for indenting the output.
8342         Keep track of the indentation level, and make sure it doesn't get too
8343         high.
8344         (Flush_Buffer): Insert spaces at the beginning of each line, if
8345         indentation level is nonzero.
8346         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
8347         indentation level.
8348         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
8349         "Next_Col := 1;".  Flush_Buffer does that.
8350
8351         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
8352         controlled by the -gnatdc switch. It now occurs on entry/exit to the
8353         relevant analysis routines, and calls Indent/Outdent to make the
8354         indentation reflect the nesting level.  Add "helper" routines, since
8355         otherwise lots of "return;" statements would skip the debugging output.
8356
8357 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8358
8359         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
8360         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
8361         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
8362
8363 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8364
8365         * exp_aggr.adb: Minor code reorganization, no behaviour change.
8366
8367 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8368
8369         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
8370         clause in a unit that is a package body or a subunit, when the previous
8371         clause appears in a spec or a parent.
8372
8373 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8374
8375         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
8376
8377         * exp_ch7.adb: Minor reformatting
8378
8379 2009-04-17  Bob Duff  <duff@adacore.com>
8380
8381         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
8382         allocator, check that the expression of the qualified expression obeys
8383         the constraints of the subtype of the qualified expression.
8384
8385 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8386
8387         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
8388
8389 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8390
8391         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
8392         aggregate, using context imposed by subtype mark in allocator.
8393
8394 2009-04-17  Pascal Obry  <obry@adacore.com>
8395
8396         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
8397
8398 2009-04-17  Nicolas Roche  <roche@adacore.com>
8399
8400         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
8401         argument length.
8402
8403 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
8404
8405         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
8406         cover both calls and attribute references ("call" => "reference").
8407
8408 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8409
8410         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
8411         type for which Storage_Size is set to 0 is legal in a pure unit.
8412
8413 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8414
8415         * exp_ch7.adb: Minor reformatting
8416
8417 2009-04-17  Robert Dewar  <dewar@adacore.com>
8418
8419         * restrict.adb (Check_Restriction_No_Dependence): Don't check
8420         restriction if outside main extended source unit.
8421
8422         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
8423         for parents of child units as well as the child unit itself.
8424
8425 2009-04-17  Bob Duff  <duff@adacore.com>
8426
8427         * checks.ads: Minor comment fix
8428
8429         * exp_aggr.ads: Minor comment fix
8430
8431 2009-04-17  Nicolas Roche  <roche@adacore.com>
8432
8433         * adaint.c: Improve cross compiler detection and handling.
8434
8435 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
8436
8437         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
8438
8439 2009-04-17  Pascal Obry  <obry@adacore.com>
8440
8441         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
8442         CurrentCodePage.
8443
8444         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
8445         value when no encoding form paramter is set on Text_IO services.
8446
8447         * adaint.c: CurrentCodePage new variable on Windows.
8448         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8449         ones.
8450
8451         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8452         ones.
8453
8454         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
8455         environment variable value. Default is UTF-8.
8456
8457         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
8458         fopen and freopen encoding parameter is now set to Unspecified.
8459         The default value is in this case UTF-8 (as it was before) but
8460         use the new macros that convert to/from the code page set
8461         at runtime (CurrentCodePage).
8462
8463         * s-fileio.adb: When no encoding specified use Unspecified value.
8464
8465 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8466
8467         * atree.adb, atree.ads: Remove dead code.
8468
8469 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8470
8471         * gcc-interface/Make-lang.in: Update dependencies.
8472
8473 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8474
8475         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
8476         illegal uses of incomplete types in formal parts and return types.
8477
8478         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
8479         access to subprograms.
8480
8481         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
8482         Taft-amendment types as the return type of an access_to_function type.
8483
8484         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8485         type for access_to_subprograms. The check is performed on package exit.
8486
8487 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8488
8489         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
8490
8491         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
8492         
8493         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
8494
8495         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
8496         semantic units, because the handling of itypes in the copied tree
8497         requires semantic information that does not belong in atree.
8498
8499 2009-04-17  Robert Dewar  <dewar@adacore.com>
8500
8501         * par-ch6.adb: Minor reformatting
8502
8503         * prj.adb: Minor reformatting
8504
8505 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
8506
8507         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
8508         on protected subprogram bodies, so exclude the case where Pf_Flags is
8509         Pf_Decl_Pbod from the error check.
8510
8511         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
8512         indicators on subprograms in protected bodies, and proceed with parsing
8513         the subprogram.
8514
8515         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
8516         subprograms from the check for primitiveness on subprograms with
8517         overriding indicators.
8518         (Check_Overriding_Indicator): Include protected subprograms in the
8519         style check for missing overriding indicators.
8520
8521 2009-04-17  Tristan Gingold  <gingold@adacore.com>
8522
8523         * init.c: Fix stack checking for x86 Darwin.
8524
8525 2009-04-17  Vincent Celier  <celier@adacore.com>
8526
8527         * prj-attr.adb: New project level attribute Object_File_Suffix
8528         (<language>).
8529         
8530         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
8531         object file name
8532         (Process_Compiler): Process attribute Object_File_Suffix
8533
8534         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
8535         platform suffix, when specified.
8536
8537         * prj.ads (Language_Config): New component Object_File_Suffix,
8538         defaulted to No_Name.
8539         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
8540
8541         * snames.ads-tmpl: New standard name Object_File_Suffix
8542
8543 2009-04-17  Robert Dewar  <dewar@adacore.com>
8544
8545         * gnat_rm.texi: Add documentation about No_Streams restriction
8546
8547         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
8548         attributes when checking No_Streams restriction.
8549
8550 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8551
8552         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
8553
8554         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
8555         missing calls to RE_Request_Destroy to deallocate request objects after
8556         use.
8557
8558 2009-04-17  Nicolas Setton  <setton@adacore.com>
8559
8560         * link.c: Fix support for passing a response file under Darwin.
8561
8562 2009-04-17  Emmanuel Briot  <briot@adacore.com>
8563
8564         * prj.adb (Free): new subprogram.
8565
8566 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8567
8568         * sem_ch3.adb: additional initialization on incomplete subtypes.
8569         
8570         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
8571         part and one of the formals is an incomplete tagged type, attach to
8572         list of private dependends of the type for later validation.
8573
8574         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
8575         primitive operations of a Taft-amendmment type.
8576
8577         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8578         type. The check is performed on package exit, possibly after the
8579         subprogram is frozen.
8580
8581 2009-04-17  Vincent Celier  <celier@adacore.com>
8582
8583         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
8584         before looking for source directories, but make sure that there are nil
8585         if they are not explicitely declared and there is explicitely no
8586         sources in the project.
8587
8588 2009-04-17  Pascal Obry  <obry@adacore.com>
8589
8590         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
8591
8592         * init.c: Fix minor typo and style fix.
8593
8594 2009-04-17  Robert Dewar  <dewar@adacore.com>
8595
8596         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
8597
8598         * sem_attr.adb (Analyze_Attribute, case Address): Use
8599         PE_Address_Of_Intrinsic.
8600
8601         * types.ads: Add PE_Address_Of_Intrinsic
8602
8603         * types.h: Add PE_Address_Of_Intrinsic
8604
8605 2009-04-17  Nicolas Setton  <setton@adacore.com>
8606
8607         * gcc-interface/Makefile.in: Under darwin, build shared libraries
8608         with install_name starting with "@rpath/".
8609
8610 2009-04-17  Nicolas Setton  <setton@adacore.com>
8611
8612         * link.c: Add darwin section
8613
8614 2009-04-16  Robert Dewar  <dewar@adacore.com>
8615
8616         * g-pehage.adb: Minor reformatting
8617
8618         * sem_ch12.adb: Minor reformatting
8619
8620         * exp_dist.adb: Minor reformatting
8621
8622         * bindgen.adb: Minor style fixes.
8623
8624 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8625
8626         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
8627         indexed components to the case where the prefix is a static string
8628         literal.
8629
8630 2009-04-16  Javier Miranda  <miranda@adacore.com>
8631
8632         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
8633         objects avoid any further expansion of the expression initializing the
8634         object.
8635
8636 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8637
8638         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
8639         that hides an outer homograph, make that homograph invisible when
8640         analyzing the actuals, to to prevent illegal direct visibility on it.
8641
8642 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8643
8644         * g-pehage.adb (Initialize): Fix off-by-one error.
8645
8646 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8647
8648         * init.c: Detect real stack overflow on Darwin.
8649
8650         * system-darwin-x86.ads: Use stack probing on darwin x86.
8651
8652 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8653
8654         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
8655         take the address of an intrinsic subprogram.
8656
8657 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8658
8659         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
8660         for the targets where GNAT.Traceback.Symbolic is not supported.
8661
8662 2009-04-16  Vincent Celier  <celier@adacore.com>
8663
8664         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
8665
8666         * g-trasym.ads: Update comments.
8667
8668 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8669
8670         * tracebak.c (STOP_FRAME): Verify validity of the current address
8671         before dereferencing.
8672
8673 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8674
8675         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
8676         the original location of the index expressions and the index subtypes,
8677         to prevent spurious out-of-scope references in gigi.
8678
8679 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8680
8681         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
8682         Add support for stack checking on darwin.
8683
8684 2009-04-16  Vincent Celier  <celier@adacore.com>
8685
8686         * prj-attr.adb: New attribute Runtime_Source_Dir
8687
8688         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
8689         attribute Runtime_Source_Dir.
8690         (Check_Naming_Schemes): Give default values to out parameters to avoid
8691         invalid data.
8692
8693         * prj.ads (Language_Config): New component Runtime_Source_Dir
8694
8695         * snames.ads-tmpl: New standard name Runtime_Source_Dir
8696
8697 2009-04-16  Pascal Obry  <obry@adacore.com>
8698
8699         * adaint.h, adaint.c (__gnat_rmdir): New routine.
8700         Simple wrapper routines used to convert to proper encoding on
8701         Windows.
8702
8703         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
8704
8705         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
8706         twice.
8707
8708 2009-04-16  Pascal Obry  <obry@adacore.com>
8709
8710         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
8711
8712 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8713
8714         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
8715         integrated preprocessor.
8716
8717         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
8718         (Initialize): Split into two subprograms, Initialize (to be called
8719         prior to compiler command line processing) and Setup_Hooks (to be called
8720         later on when the first source file is loaded).
8721
8722         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
8723         Add call to Prep.Initialize.
8724
8725         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
8726         to Prep.Setup_Hooks.
8727
8728 2009-04-16  Pascal Obry  <obry@adacore.com>
8729
8730         * adaint.h, adaint.c (__gnat_chdir): New routine.
8731         Simple wrapper routines used to convert to proper encoding on
8732         Windows.
8733
8734         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
8735
8736         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
8737
8738 2009-04-16  Quentin Ochem  <ochem@adacore.com>
8739
8740         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
8741         of Source.Init.
8742
8743 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8744
8745         * a-convec.ads (Is_Empty): Mark inline.
8746
8747 2009-04-16  Nicolas Roche  <roche@adacore.com>
8748
8749         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
8750
8751 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8752
8753         * prepcomp.adb: Minor reformatting
8754
8755 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8756
8757         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
8758         Access_Subprogram types can also be imported.
8759         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
8760         names.
8761
8762 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8763
8764         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
8765         preserve homonym chain when the declaration is rewritten into a
8766         renaming declaration, in order to preserve visibility structure.
8767
8768 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8769
8770         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
8771         taken into account for VM targets.
8772
8773 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8774
8775         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
8776         Year_Week_In_Year.
8777         (Year_Week_In_Year): New routine which contains the original code from
8778         Week_In_Year. Add the missing special case for January 1st falling on
8779         a Monday.
8780
8781 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8782
8783         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
8784         actual type, use the base type to build the To_Any function.
8785         (Build_From_Any_Function): Remove junk, useless subtype conversion.
8786
8787 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8788
8789         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
8790         restrict.adb: Minor code reorganization (use
8791         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
8792
8793 2009-04-16  Bob Duff  <duff@adacore.com>
8794
8795         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
8796         unused.
8797
8798 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8799
8800         * sem_ch4.adb: Minor reformatting
8801
8802         * adaint.c: Remove junk duplicated code.
8803
8804         * sem_ch3.adb: Minor reformatting
8805
8806         * exp_dist.adb: Minor comment rewording
8807
8808 2009-04-16  Robert Dewar  <dewar@adacore.com>
8809
8810         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
8811         used together.
8812
8813 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8814
8815         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
8816         usable before calling Add_One_Interp, to resolve spurious ambiguities.
8817
8818 2009-04-16  Robert Dewar  <dewar@adacore.com>
8819
8820         * Make-lang.in: Add entries for s-conca?.o
8821
8822         * Makefile.rtl: Add entries for s-conca?
8823
8824         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
8825         of concatenation expansion
8826
8827         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
8828         string cases instead of expanding assignments inline.
8829
8830         * opt.ads (Optimize_Size): New flag
8831
8832         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
8833         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
8834         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
8835         s-conca9.adb, s-conca9.ads: New file.
8836
8837 2009-04-16  Robert Dewar  <dewar@adacore.com>
8838
8839         * exp_ch6.adb: Add comments
8840
8841         * rtsfind.ads: Add entries for s-conca? routines
8842
8843 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8844
8845         * gcc-interface/Make-lang.in: Update dependencies.
8846
8847         * gcc-interface/Makefile.in: Update translation for vms.
8848
8849 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8850
8851         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
8852         and made global, to be used when installing parents of a child
8853         instance, to provide mappings for entities declared in formal packages
8854         of ancestor units. Now called from Install_Formal_Packages.
8855
8856 2009-04-16  Doug Rupp  <rupp@adacore.com>
8857
8858         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
8859         notation for clarity.
8860
8861         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
8862         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
8863         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
8864         (Initialize): Initialize Known_Tasks with Environment task.
8865
8866         * s-taskin.ads (Task_States): Move new states to end for the sake of
8867         GDB compatibility.
8868
8869         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
8870
8871 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8872
8873         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
8874         operation has an inline pragma, propagate the flag to the internal
8875         unprotected subprogram.
8876
8877 2009-04-16  Doug Rupp  <rupp@adacore.com>
8878
8879         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
8880         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
8881         s-taprop-hpux-dce.adb, s-taprop-posix.adb
8882         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
8883
8884         * s-taprop-vms.adb (Enter_Task): Likewise.
8885         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
8886
8887         * s-tassta.adb (Activate_Tasks): After task creation set state to
8888         Activating, vice Runnable. Initialize Known_Tasks, moved here from
8889         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
8890         Set state to Runnable after above.
8891         (Task_Wrapper): Set Debug_Event_Run. In exception block set
8892         Debug_Event_Terminated.
8893
8894         * s-taskin.ads (Task_States): Add new states Activiting and
8895         Activator_Delay_Sleep.
8896         (Bit_Array, Debug_Event_Array): New types.
8897         (Global_Task_Debug_Event_Set: New flag.
8898         (Common_ATCB): New field Debug_Events.
8899
8900         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
8901
8902         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
8903         Activator_Sleep.
8904
8905         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
8906         Activating and when Acceptor_Delay_Sleep.
8907
8908         * s-tasdeb.ads: Add constants for Debug_Events.
8909         (Debug_Event_Kind_Type): New subtype.
8910         (Signal_Debug_Event): New subprogram.
8911
8912         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
8913
8914 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8915
8916         * sem_elim.adb: Minor reformatting
8917
8918         * freeze.adb: Minor reformatting
8919
8920         * exp_ch4.adb: Minor reformatting
8921
8922 2009-04-16  Emmanuel Briot  <briot@adacore.com>
8923
8924         * prj-nmsc.adb (Path_Name_Of): fix memory leak
8925
8926 2009-04-16  Robert Dewar  <dewar@adacore.com>
8927
8928         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
8929
8930 2009-04-16  Vincent Celier  <celier@adacore.com>
8931
8932         * fmap.adb (Initialize): Show the current line when the mapping file
8933         is detected as "incorrectly formatted".
8934
8935 2009-04-16  Robert Dewar  <dewar@adacore.com>
8936
8937         * sem_ch12.adb: Minor reformatting
8938
8939         * sem_ch5.adb: Minor comment addition
8940
8941         * sem_util.adb: Minor reformatting
8942
8943         * sinput-p.adb: Minor reformatting
8944         Add missing pragma Warnings (On)
8945
8946 2009-04-16  Ed Falis  <falis@adacore.com>
8947
8948         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
8949
8950 2009-04-16  Vincent Celier  <celier@adacore.com>
8951
8952         * ali-util.adb: Minor comment spelling error fix
8953
8954 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8955
8956         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
8957         generate an assignment loop in case of overlap.
8958
8959 2009-04-16  Olivier Hainque  <hainque@adacore.com>
8960
8961         * gnat_ugn.texi (gnatmem description): Make it explicit that
8962         gnatmem is designed to work in association with static runtime
8963         library only.
8964
8965 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8966
8967         * sem_type.adb: Minor reformatting
8968
8969 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8970
8971         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
8972         concerning return codes of gettimeofday and return value check.
8973
8974 2009-04-16  Ed Falis  <falis@adacore.com>
8975
8976         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
8977         body can be renaming of imported routines.
8978
8979 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8980
8981         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
8982         targeted fashion.
8983
8984 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
8985
8986         * exp_ch9.adb: Comment improvements.
8987         (Build_Entry_Family_Name): Add parentheses around the index of a entry
8988         family member.
8989
8990 2009-04-15  Bob Duff  <duff@adacore.com>
8991
8992         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
8993         "while X /= null loop" where X is unchanged inside the loop. We were
8994         not warning in this case, because of the pointers -- we feared that the
8995         loop variable could be updated via a pointer, if there are any pointers
8996         around the place. But that is impossible in this case.
8997
8998         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
8999         the case of dereferences. In X.all, X cannot be an l-value. We now
9000         catch that case (and implicit dereferences, too).
9001
9002 2009-04-15  Vincent Celier  <celier@adacore.com>
9003
9004         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
9005
9006 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9007
9008         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
9009         From code reading.
9010         (Analyze_Package_Instantiation): If generic unit in child instance is
9011         the same as generic unit in parent instance, look for an outer homonym
9012         to locate the desired generic.
9013
9014 2009-04-15  Bob Duff  <duff@adacore.com>
9015
9016         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
9017         warnings unless the loop comes from source, because checking generated
9018         loops is a waste of time, and makes it harder to debug
9019         Check_Infinite_Loop_Warning.
9020
9021         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
9022         tested in the while loop is a renaming, do not warn. Otherwise, we get
9023         false alarms, because it's usually renaming something that we can't
9024         deal with (an indexed component, a global variable, ...).
9025
9026         * gnat_rm.texi: Fix typo
9027
9028 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9029
9030         * sem_ch6.adb: Minor reformatting
9031
9032 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9033
9034         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
9035         immediate parent of the controlled function call is a component
9036         association.
9037
9038 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9039
9040         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
9041         corresponding class-wide type is also in use.
9042
9043 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9044
9045         * frontend.adb: Minor comment fix
9046
9047 2009-04-15  Robert Dewar  <dewar@adacore.com>
9048
9049         * gnatchop.adb (BOM_Length): New global variable
9050         (Write_Unit): Add new parameter Write_BOM
9051         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
9052         to Write_Unit
9053
9054         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
9055
9056 2009-04-15  Geert Bosch  <bosch@adacore.com>
9057
9058         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
9059         (Backend_Overflow_Checks): Set to True.
9060
9061 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
9062
9063         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
9064         keyword is given in a record extension.
9065
9066 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9067
9068         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
9069         of a controlled function call in the context of a record aggregate.
9070         This does not apply to array aggregates since the call will be expanded
9071         into assignments.
9072
9073 2009-04-15  Ed Falis  <falis@adacore.com>
9074
9075         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
9076         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
9077         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
9078         s-osinte-vxworks* and s-vxwext*.
9079
9080 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9081
9082         * gcc-interface/Make-lang.in: Update dependencies.
9083
9084         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
9085         and s-vxwext*.
9086
9087 2009-04-15  Robert Dewar  <dewar@adacore.com>
9088
9089         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
9090         of node for location for warning messages.
9091
9092         * gnatchop.adb: Minor reformatting
9093
9094 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9095
9096         * exp_ch6.adb: additional guard for renaming declarations for in
9097         parameters of an array type.
9098
9099 2009-04-15  Robert Dewar  <dewar@adacore.com>
9100
9101         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
9102         in case they were rewritten by expander (Force_Evaluation).
9103
9104         * targparm.adb (Get_Target_Parameters): Correct check for
9105         Suppress_Exception_Locations.
9106
9107 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9108
9109         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
9110         inlined  is of an array type that is not bit-packed, use a renaming
9111         declaration to capture its value, rather than a constant declaration.
9112
9113 2009-04-15  Robert Dewar  <dewar@adacore.com>
9114
9115         * rtsfind.adb: Minor reformatting.
9116
9117 2009-04-15  Emmanuel Briot  <briot@adacore.com>
9118
9119         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
9120         Restore, and free the saved context.
9121
9122 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
9123
9124         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
9125         for illegal private extension from a synchronized interface parent in
9126         front of check for illegal limited extension so that limited extension
9127         from a synchronized interface will be rejected.
9128         (Check_Ifaces): Check that a private extension that has a synchronized
9129         interface as a progenitor must be explicitly declared synchronized.
9130         Also check that a record extension cannot derive from a synchronized
9131         interface.
9132
9133 2009-04-15  Pascal Obry  <obry@adacore.com>
9134
9135         * adaint.h (__gnat_unlink): Add spec.
9136         (__gnat_rename): Likewise.
9137
9138 2009-04-15  Vincent Celier  <celier@adacore.com>
9139
9140         * prj-nmsc.adb: Minor spelling error corrections in error messages
9141
9142 2009-04-15  Robert Dewar  <dewar@adacore.com>
9143
9144         * sinfo.ads: Minor comment update
9145
9146         * opt.ads: Minor comment updates
9147
9148         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
9149         modular type.
9150
9151 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9152
9153         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
9154         that generates the code needed to update a dispatch table when a
9155         primitive operation is declared with a subprogram body without previous
9156         spec. Insertion of the generated code is responsibility of the caller.
9157         (Make_DT): When building static tables, append the code created by
9158         Register_Primitive to update a secondary table after it has been
9159         constructed.
9160
9161         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
9162
9163         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
9164         on an overriding operation that implements an interface operation only
9165         if not building static dispatch tables.
9166
9167 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9168
9169         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
9170         does not cause overflow when converted to Duration. Use the safe value
9171         as the maximum allowable time delay..
9172
9173 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
9174
9175         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
9176         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
9177         translated to "-j 2".
9178
9179 2009-04-15  Bob Duff  <duff@adacore.com>
9180
9181         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
9182         with_clauses, to avoid code duplication. Change this processing so we
9183         always add a with_clause on the main unit if needed.
9184
9185 2009-04-15  Pascal Obry  <obry@adacore.com>
9186
9187         Add support for Win32 native encoding for delete/rename routines.
9188         
9189         * adaint.c (__gnat_unlink): New routine.
9190         (__gnat_rename): New routine.
9191         Simple wrapper routines used to convert to proper encoding on
9192         Windows.
9193
9194         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
9195         call to the C library.
9196
9197         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
9198
9199 2009-04-15  Robert Dewar  <dewar@adacore.com>
9200
9201         * s-tassta.adb: Minor reformatting
9202
9203 2009-04-15  Robert Dewar  <dewar@adacore.com>
9204
9205         * frontend.adb (Frontend): Set proper default for
9206         Warn_On_Non_Local_Exception.
9207
9208         * opt.ads (Exception_Handler_Encountered): New flag
9209         (No_Warn_On_Non_Local_Exception): New flag
9210
9211         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
9212
9213         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
9214         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
9215
9216 2009-04-15  Cyrille Comar  <comar@adacore.com>
9217
9218         * s-tassta.adb, a-exextr.adb, a-elchha.adb
9219         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
9220         message when exception traces are active since it would generate
9221         redundant information.
9222         (Exception_Traces.Notify_Exception): put message output by a critical
9223         section to avoid unsynchronized output.
9224         (Trace_Unhandled_Exception_In_Task): put message output by a critical
9225         section to avoid unsynchronized output.
9226
9227 2009-04-15  Emmanuel Briot  <briot@adacore.com>
9228
9229         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
9230         (Free): New subprogram.
9231
9232 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9233
9234         * a-calend.adb: Add new constant Nanos_In_Four_Years.
9235         (Formatting_Operations.Time_Of): Change the way four year chunks of
9236         nanoseconds are added to the intermediate result.
9237
9238 2009-04-15  Nicolas Setton  <setton@adacore.com>
9239
9240         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
9241         does not need to wait for a carriage return.
9242
9243 2009-04-15  Tristan Gingold  <gingold@adacore.com>
9244
9245         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
9246         is set.
9247
9248 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9249
9250         * freeze.adb (Freeze_Entity): improve error message for improper use of
9251         incomplete types.
9252         Diagnose additional illegal uses of incomplete types in formal parts.
9253         appearing in formal parts.
9254
9255         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
9256
9257 2009-04-15  Robert Dewar  <dewar@adacore.com>
9258
9259         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
9260
9261 2009-04-15  Nicolas Roche  <roche@adacore.com>
9262
9263         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
9264         current thread.
9265
9266         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
9267
9268         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
9269
9270 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9271
9272         * sem_ch4.adb: improve error message on exponentiation.
9273
9274 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9275
9276         * a-calend.adb: Move constant Epoch_Offset from package
9277         Conversion_Operations to top level.
9278         (Delay_Operations.To_Duration): Define a constant which represents
9279         "end of time" and use it as a guard against very distant delay dates.
9280         Protect the code against overflow when performing the origin shift to
9281         Unix time.
9282
9283 2009-04-15  Robert Dewar  <dewar@adacore.com>
9284
9285         * sem_prag.adb: Minor reformatting.
9286
9287         * sem_type.adb: Minor reformatting
9288
9289 2009-04-15  Javier Miranda  <miranda@adacore.com>
9290
9291         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
9292         support to check eliminated subprograms.
9293
9294         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
9295
9296         * sem_elim.adb (Set_Eliminated): Add support for elimination of
9297         dispatching subprograms.
9298
9299         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
9300         operations. Initialize with "null" the slots of eliminated dispaching
9301         primitives.
9302         (Write_DT): Add output for eliminated primitives.
9303
9304         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
9305
9306 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9307
9308         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
9309         the second is redundant, regardless of scopes.
9310
9311 2009-04-15  Vincent Celier  <celier@adacore.com>
9312
9313         * prj-nmsc.adb (Get_Directories): Check for sources before checking
9314         the object directory as when there are no sources, they may not be any
9315         object directory.
9316
9317         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
9318         directory, when there are no exec directory.
9319
9320 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9321
9322         * sem_type.adb (Remove_Conversions): In order to resolve spurious
9323         ambiguities, refine removal of universal interpretations from complex
9324         expressions with literal arguments, when some numeric operators have
9325         been declared abstract.
9326
9327 2009-04-15  Ed Falis  <falis@adacore.com>
9328
9329         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
9330         and backward compatibility for targets using probing for stack overflow
9331
9332 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9333
9334         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
9335         after any declaration, including renaming declarations.
9336
9337 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9338
9339         * gcc-interface/Make-lang.in: Update dependencies.
9340
9341         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
9342         Update xenomai target pairs.
9343
9344 2009-04-15  Javier Miranda  <miranda@adacore.com>
9345
9346         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
9347
9348         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
9349         functions returning anonymous access to class-wide limited types. Mark
9350         also the containing scope as a task master.
9351
9352         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
9353         limited-withed packages. Required to restore their visibility after
9354         processing packages associated with implicit with-clauses.
9355
9356         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
9357         associated with return statements because this work is now done by
9358         Check_Anonymous_Return.
9359         (Build_Master): Code cleanup.
9360
9361 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9362
9363         * sem_warn.ads: Minor reformatting
9364
9365 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9366
9367         * sem_ch3.adb: better error message for illegal interfaces
9368
9369         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
9370         formal is an incomplete type from a limited_with clause.
9371
9372 2009-04-15  Vincent Celier  <celier@adacore.com>
9373
9374         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
9375         Externally_Built indicating if the project is externally built. If it
9376         is, and --subdirs is specified, but the subdir does not exist, look
9377         for the specified directory, without the subdir.
9378
9379 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
9380
9381         * a-tasatt.adb: Fix typo, plus minor reformatting
9382
9383         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
9384
9385         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
9386
9387 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9388
9389         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
9390         private extension whose parent is a synchronized interface carries an
9391         explicit synchronized keyword.
9392
9393 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9394
9395         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
9396         instantiate generic shared object package with the corresponding
9397         record type.
9398
9399 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9400
9401         * system-linux-sparc.ads: Remove obsolete entries.
9402
9403 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9404
9405         * s-tasuti.ads: Add ??? comment
9406
9407 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9408
9409         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
9410         type even if the designated type comes from a limited_with clause, to
9411         ensure that the symbol for the finalization list of the access type is
9412         created.
9413
9414 2009-04-10  Robert Dewar  <dewar@adacore.com>
9415
9416         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
9417         for warning suppression.
9418
9419 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9420
9421         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
9422         identical, there is no redudancy to check.
9423
9424 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9425
9426         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
9427         calls initializing SS_Allocator (which is initialized in following
9428         code).
9429         (Expand_Simple_Function_Return): Add comment about False value for
9430         Comes_From_Source on secondary-stack allocator.
9431
9432         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
9433         (Build_Entry_Name): Add comment.
9434
9435 2009-04-10  Robert Dewar  <dewar@adacore.com>
9436
9437         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
9438
9439         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
9440         bound tested, since this is now done more generally in Sem_Res.
9441
9442         * sem_res.adb (Resolve_Comparison_Op): Add call to
9443         Check_Lower_Bound_Tested.
9444         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
9445
9446         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
9447         (Low_Bound_Tested): New name for Low_Bound_Known flag
9448
9449         * exp_ch5.adb: Minor reformatting
9450
9451         * exp_ch4.adb:
9452         Add comments on copying the Comes_From_Source flag for allocators
9453
9454         * sinfo.ads:
9455         Add comments on copying the Comes_From_Source flag for allocators
9456
9457         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
9458         Comes_From_Source flag from old allocator to new one.
9459
9460 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9461
9462         * sem_ch6.ads: Address missing documentation query
9463
9464 2009-04-10  Vincent Celier  <celier@adacore.com>
9465
9466         * prj-attr.adb:
9467         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
9468         and Response_File_Switches.
9469
9470         * prj-nmsc.adb (Process_Linker): Process new attributes
9471         Max_Command_Line_Length, Response_File_Format and
9472         Response_File_Switches.
9473
9474         * prj.ads (Response_File_Format): New enumeration type
9475         (Project_Configuration): New componants Max_Command_Line_Length,
9476         Resp_File_Format and Resp_File_Options.
9477
9478         * snames.ads-tmpl: Add new standard names for linking response files
9479         for gprbuild: GNU, None, Object_List, Option_List,
9480         Max_Command_Line_Length, Response_File_Format and
9481         Response_File_Switches.
9482
9483 2009-04-10  Geert Bosch  <bosch@adacore.com>
9484
9485         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
9486         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
9487         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
9488         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
9489         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
9490         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
9491         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
9492         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
9493         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
9494         system-vxworks-arm.ads, system-vxworks-m68k.ads,
9495         system-vxworks-mips.ads, system-vxworks-ppc.ads,
9496         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
9497         (Backend_Overflow_Checks): Set to True.
9498
9499 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9500
9501         * exp_attr.adb: Minor reformatting
9502
9503 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9504
9505         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
9506         analyze the expression for a postcondition, even if the compiler mode
9507         is Generate_Code.
9508
9509 2009-04-10  Robert Dewar  <dewar@adacore.com>
9510
9511         * sem_aux.adb: Minor reformatting
9512
9513 2009-04-10  Ed Falis  <falis@adacore.com>
9514
9515         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
9516
9517         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
9518
9519 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9520
9521         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
9522         undocumented formal.
9523         Minor reformatting
9524
9525         * a-direio.ads: Fix typo in comment
9526
9527         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
9528         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
9529         Use uniform phrasing for comment at start of subprogram body.
9530
9531         * xsnamest.adb: Add note to explain why we use specific names for the
9532         newly generated files instead of generating snames.{ads,adb,h} directly
9533
9534 2009-04-10  Sergey Rybin  <rybin@adacore.com>
9535
9536         * vms_data.ads:
9537         Add qualifier for new gnatstub option '--no-exception'
9538
9539         * gnat_ugn.texi:
9540         Add the description of the new gnatstub option '--no-exception'
9541
9542 2009-04-10  Robert Dewar  <dewar@adacore.com>
9543
9544         * rtsfind.adb: Minor reformatting
9545
9546 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9547
9548         * sem_disp.adb: Minor reformatting.
9549         Add comment pointing to RM clause for the case of warning against a
9550         (failed) attempt at declaring a primitive operation elsewhere than in a
9551         package spec.
9552
9553 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9554
9555         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
9556         an actual for a previous formal package of the current instance.
9557
9558 2009-04-10  Bob Duff  <duff@adacore.com>
9559
9560         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
9561         them first, rather than on the extended main unit.
9562
9563 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9564
9565         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
9566         specification of full view carries a null exclusion indicator, create
9567         an itype for it, to check for conformance with partial view.
9568
9569 2009-04-10  Bob Duff  <duff@adacore.com>
9570
9571         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
9572
9573         * rtsfind.adb: Minor comment changes, and remove useless code.
9574
9575         * sinfo.ads: Add ??? comment.
9576
9577 2009-04-10  Vincent Celier  <celier@adacore.com>
9578
9579         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
9580
9581 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9582
9583         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
9584         type is a synchronized type, retrieve tag information from the
9585         corresponding record, which has the dispatch table link.
9586
9587 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
9588
9589         * g-comlin.adb (Group_Analysis): Take care of switches that might be
9590         decomposed afterwards, but are present as-is in the command line
9591         configuration, and thus should be kept as-is.
9592
9593 2009-04-10  Robert Dewar  <dewar@adacore.com>
9594
9595         * gnat_rm.texi: Document that postconditions are tested on implicit
9596         returns.
9597
9598         * sem_aux.adb: Minor reformatting
9599
9600 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9601
9602         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
9603         setting Etype.
9604         
9605         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
9606         Null_Exclusion_In_Return_Present when an access-to-function type has a
9607         result type with an explicit not null.
9608
9609         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
9610         given on the result type, then create a null-excluding itype for the
9611         function.
9612
9613         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
9614         the case where a null exclusion is imposed on a named access type.
9615         (Analyze_Subprogram_Specification): Push and pop the scope of the
9616         function around the call to Analyze_Return_Type in the case of no
9617         formals, for consistency with handling when formals are present
9618         (Process_Formals does this). Ensures that any itype created for the
9619         return type will be associated with the proper scope.
9620
9621         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
9622         exclusion is given on a generic function's result type, then create a
9623         null-excluding itype for the generic function.
9624         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
9625         for an actual for a formal in object according to the setting on the
9626         formal. Ensures null exclusion checks are done when the association is
9627         elaborated.
9628
9629         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
9630         N_Access_Function_Definition.
9631
9632         * sinfo.adb: Add Get_ and Set_ operations for
9633         Null_Exclusion_In_Return_Present.
9634
9635 2009-04-10  Bob Duff  <duff@adacore.com>
9636
9637         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
9638         call to the _Postconditions procedure in the case of implicit returns
9639         from analysis to expansion. This eliminates some duplicated code. Use
9640         the Postcondition_Proc to find the identity of this procedure during
9641         expansion.
9642
9643 2009-04-10  Robert Dewar  <dewar@adacore.com>
9644
9645         * sem_ch6.adb: Minor code clean up.
9646
9647         * einfo.ads, sem_attr.adb: Minor comment fixes.
9648
9649 2009-04-10  Robert Dewar  <dewar@adacore.com>
9650
9651         * sem_ch8.adb: Minor reformatting
9652
9653 2009-04-10  Robert Dewar  <dewar@adacore.com>
9654
9655         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
9656         procedures.
9657
9658         * sem_ch6.adb: Minor code clean up.
9659
9660 2009-04-10  Robert Dewar  <dewar@adacore.com>
9661
9662         * mlib-tgt-specific-xi.adb: Minor reformatting
9663
9664 2009-04-10  Bob Duff  <duff@adacore.com>
9665
9666         * einfo.ads: Minor comment fixes
9667
9668 2009-04-10  Vincent Celier  <celier@adacore.com>
9669
9670         * snames.ads-tmpl: Remove names that are no longer used in the
9671         Project Manager.
9672         Mark specifically those that are used only in gprbuild
9673
9674 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
9675
9676         * init.c: Adjust EH support code on Alpha/Tru64.
9677
9678 2009-04-10  Bob Duff  <duff@adacore.com>
9679
9680         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
9681         procedure on every path that could return implicitly (not via a return
9682         statement) from a procedure.
9683
9684 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9685
9686         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
9687         valid scope for a task declarations and therefore for a master id.
9688
9689 2009-04-10  Robert Dewar  <dewar@adacore.com>
9690
9691         * sem_aux.adb: Minor reformatting
9692
9693 2009-04-10  Vincent Celier  <celier@adacore.com>
9694
9695         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
9696         True.
9697         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
9698         (Set_Obsolescent_Check): New procedure to change the value of
9699         Obsolescent_Check_Flag.
9700
9701         * scn.ads (Set_Obsolescent_Check): New procedure to control
9702         Obsolescent_Check.
9703
9704         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
9705         obsolescent features while preprocessing.
9706
9707 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9708
9709         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
9710         generated files on all platforms.
9711
9712 2009-04-10  Robert Dewar  <dewar@adacore.com>
9713
9714         * sem_aux.adb: Minor reformatting
9715
9716 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9717
9718         * sem_ch3.adb (Access_Definition): Handle properly the case of a
9719         protected function with formals that returns an anonymous access type.
9720
9721 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9722
9723         * sem_disp.adb: Minor reformatting
9724
9725 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
9726
9727         * seh_init.c: Do not use the 32-bit specific implementation of
9728         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
9729         version TBD).
9730
9731 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9732
9733         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
9734         a '/' at the end so we better use the complete target name to determine
9735         whether it is a PowerPC 55xx target.
9736
9737 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9738
9739         * sem_eval.adb: Minor reformatting
9740
9741 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9742
9743         * snames.h, snames.ads, snames.adb: Remove files, now generated from
9744         templates.
9745
9746         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
9747         above.
9748
9749         * xsnamest.adb: New file.
9750
9751         * gcc-interface/Make-lang.in: New target for automated generation of
9752         snames.ads, snames.adb and snames.h
9753
9754 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9755
9756         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
9757         avoid compile time warnings.
9758         Do not add gcc/config in include search list while compiling the RTS.
9759         Pragma Thread_Local_Storage is available on any target.
9760
9761 2009-04-10  Bob Duff  <duff@adacore.com>
9762
9763         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
9764
9765 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9766
9767         * init.c: Install signal handler on Darwin.
9768
9769 2009-04-10  Robert Dewar  <dewar@adacore.com>
9770
9771         * sem_prag.adb: Minor reformatting
9772
9773         * exp_util.adb (Make_Non_Empty_Check): New function
9774         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
9775         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
9776
9777 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
9778
9779         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
9780
9781 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9782
9783         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
9784         tool prefix for AVR and PowerPC 55xx targets.
9785
9786 2009-04-10  Robert Dewar  <dewar@adacore.com>
9787
9788         * sem_warn.adb (Within_Postcondition): New function
9789         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
9790
9791 2009-04-10  Robert Dewar  <dewar@adacore.com>
9792
9793         * sem_warn.adb: Minor reformatting
9794
9795         * make.adb: Minor reformatting.
9796
9797 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9798
9799         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
9800         entity and the scope is a subprogram, retrieve the Sloc of the
9801         subprogram's body rather than using the sloc of the spec, for better
9802         line-stepping behavior in gdb.
9803         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
9804         controller, use the Sloc of the first declaration of the containing list
9805         rather than that of the node that triggered creation of the list
9806         controller.
9807
9808 2009-04-10  Vincent Celier  <celier@adacore.com>
9809
9810         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
9811         to avoid gcc warning.
9812
9813 2009-04-10  Robert Dewar  <dewar@adacore.com>
9814
9815         * g-comlin.adb: Add ??? comment
9816
9817 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9818
9819         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
9820         unreferenced entities for a package with no visible declarations.
9821
9822 2009-04-10  Robert Dewar  <dewar@adacore.com>
9823
9824         * exp_ch9.adb: Minor reformatting
9825
9826 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9827
9828         * sem_prag.adb: Minor reformatting
9829
9830 2009-04-10  Vincent Celier  <celier@adacore.com>
9831
9832         * prj-nmsc.adb:
9833         (Check_Library_Attributes): For a project qualified as a library project
9834         that is not a library project, indicate in the error message which
9835         attributes are missing (Library_Dir and/or Library_Name).
9836
9837 2009-04-10  Bob Duff  <duff@adacore.com>
9838
9839         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
9840         generated nodes, because it might confuse various circuits in the FE.
9841
9842 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9843
9844         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
9845         of pragma. It will be recopied and analyzed when used in call to
9846         Create_Task.
9847
9848         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
9849         initialization operations and recognize use of it in procedure calls
9850         within init_procs.
9851
9852         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
9853         argument, because it may have side-effects.
9854
9855         * exp_ch2.adb: Remove obsolete comments on default functions
9856
9857 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9858
9859         * adaint.c (RTX section): Do for RTX the same thing as we do for
9860         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
9861
9862 2009-04-10  Robert Dewar  <dewar@adacore.com>
9863
9864         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
9865
9866         * sem_res.adb (Resolve_Call): Fix test for
9867         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
9868         a non-dynamic scope).
9869
9870 2009-04-10  Robert Dewar  <dewar@adacore.com>
9871
9872         * make.adb: Add comment.
9873         Minor reformatting
9874
9875 2009-04-10  Nicolas Setton  <setton@adacore.com>
9876
9877         * s-osprim-darwin.adb: New file.
9878
9879         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
9880
9881 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9882
9883         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
9884
9885 2009-04-09  Nick Clifton  <nickc@redhat.com>
9886
9887         * adadecode.h: Change copyright header to refer to version
9888         3 of the GNU General Public License with version 3.1 of the
9889         GCC Runtime Library Exception and to point readers at the
9890         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
9891         page.
9892         * 9drpc.adb: Likewise.
9893         * a-assert.adb: Likewise.
9894         * a-astaco.adb: Likewise.
9895         * a-calari.adb: Likewise.
9896         * a-calcon.adb: Likewise.
9897         * a-calcon.ads: Likewise.
9898         * a-caldel.ads: Likewise.
9899         * a-calend-vms.adb: Likewise.
9900         * a-calend-vms.ads: Likewise.
9901         * a-calend.adb: Likewise.
9902         * a-calend.ads: Likewise.
9903         * a-calfor.adb: Likewise.
9904         * a-catizo.adb: Likewise.
9905         * a-cdlili.adb: Likewise.
9906         * a-cdlili.ads: Likewise.
9907         * a-cgaaso.adb: Likewise.
9908         * a-cgaaso.ads: Likewise.
9909         * a-cgarso.adb: Likewise.
9910         * a-cgcaso.adb: Likewise.
9911         * a-chacon.adb: Likewise.
9912         * a-chacon.ads: Likewise.
9913         * a-chahan.adb: Likewise.
9914         * a-chahan.ads: Likewise.
9915         * a-chlat9.ads: Likewise.
9916         * a-chtgke.adb: Likewise.
9917         * a-chtgke.ads: Likewise.
9918         * a-chtgop.adb: Likewise.
9919         * a-chtgop.ads: Likewise.
9920         * a-chzla1.ads: Likewise.
9921         * a-chzla9.ads: Likewise.
9922         * a-cidlli.adb: Likewise.
9923         * a-cidlli.ads: Likewise.
9924         * a-cihama.adb: Likewise.
9925         * a-cihama.ads: Likewise.
9926         * a-cihase.adb: Likewise.
9927         * a-cihase.ads: Likewise.
9928         * a-ciorma.adb: Likewise.
9929         * a-ciorma.ads: Likewise.
9930         * a-ciormu.adb: Likewise.
9931         * a-ciormu.ads: Likewise.
9932         * a-ciorse.adb: Likewise.
9933         * a-ciorse.ads: Likewise.
9934         * a-clrefi.adb: Likewise.
9935         * a-clrefi.ads: Likewise.
9936         * a-cohama.adb: Likewise.
9937         * a-cohama.ads: Likewise.
9938         * a-cohase.adb: Likewise.
9939         * a-cohase.ads: Likewise.
9940         * a-cohata.ads: Likewise.
9941         * a-coinve.adb: Likewise.
9942         * a-coinve.ads: Likewise.
9943         * a-colien.adb: Likewise.
9944         * a-colien.ads: Likewise.
9945         * a-colire.adb: Likewise.
9946         * a-colire.ads: Likewise.
9947         * a-comlin.adb: Likewise.
9948         * a-comlin.ads: Likewise.
9949         * a-convec.adb: Likewise.
9950         * a-convec.ads: Likewise.
9951         * a-coorma.adb: Likewise.
9952         * a-coorma.ads: Likewise.
9953         * a-coormu.adb: Likewise.
9954         * a-coormu.ads: Likewise.
9955         * a-coorse.adb: Likewise.
9956         * a-coorse.ads: Likewise.
9957         * a-coprnu.adb: Likewise.
9958         * a-coprnu.ads: Likewise.
9959         * a-crbltr.ads: Likewise.
9960         * a-crbtgk.adb: Likewise.
9961         * a-crbtgk.ads: Likewise.
9962         * a-crbtgo.adb: Likewise.
9963         * a-crbtgo.ads: Likewise.
9964         * a-crdlli.adb: Likewise.
9965         * a-crdlli.ads: Likewise.
9966         * a-cwila1.ads: Likewise.
9967         * a-cwila9.ads: Likewise.
9968         * a-decima.adb: Likewise.
9969         * a-decima.ads: Likewise.
9970         * a-diocst.adb: Likewise.
9971         * a-diocst.ads: Likewise.
9972         * a-direct.adb: Likewise.
9973         * a-direct.ads: Likewise.
9974         * a-direio.adb: Likewise.
9975         * a-direio.ads: Likewise.
9976         * a-dirval-mingw.adb: Likewise.
9977         * a-dirval-vms.adb: Likewise.
9978         * a-dirval.adb: Likewise.
9979         * a-dirval.ads: Likewise.
9980         * a-dynpri.adb: Likewise.
9981         * a-einuoc.adb: Likewise.
9982         * a-einuoc.ads: Likewise.
9983         * a-elchha.adb: Likewise.
9984         * a-elchha.ads: Likewise.
9985         * a-envvar.adb: Likewise.
9986         * a-excach.adb: Likewise.
9987         * a-except-2005.adb: Likewise.
9988         * a-except-2005.ads: Likewise.
9989         * a-except.adb: Likewise.
9990         * a-except.ads: Likewise.
9991         * a-excpol-abort.adb: Likewise.
9992         * a-excpol.adb: Likewise.
9993         * a-exctra.adb: Likewise.
9994         * a-exctra.ads: Likewise.
9995         * a-exetim-mingw.adb: Likewise.
9996         * a-exetim-mingw.ads: Likewise.
9997         * a-exexda.adb: Likewise.
9998         * a-exexpr-gcc.adb: Likewise.
9999         * a-exexpr.adb: Likewise.
10000         * a-exextr.adb: Likewise.
10001         * a-exstat.adb: Likewise.
10002         * a-filico.adb: Likewise.
10003         * a-filico.ads: Likewise.
10004         * a-finali.adb: Likewise.
10005         * a-finali.ads: Likewise.
10006         * a-interr.ads: Likewise.
10007         * a-intnam-aix.ads: Likewise.
10008         * a-intnam-darwin.ads: Likewise.
10009         * a-intnam-dummy.ads: Likewise.
10010         * a-intnam-freebsd.ads: Likewise.
10011         * a-intnam-hpux.ads: Likewise.
10012         * a-intnam-irix.ads: Likewise.
10013         * a-intnam-linux.ads: Likewise.
10014         * a-intnam-lynxos.ads: Likewise.
10015         * a-intnam-mingw.ads: Likewise.
10016         * a-intnam-rtems.ads: Likewise.
10017         * a-intnam-solaris.ads: Likewise.
10018         * a-intnam-tru64.ads: Likewise.
10019         * a-intnam-vms.ads: Likewise.
10020         * a-intnam-vxworks.ads: Likewise.
10021         * a-intsig.adb: Likewise.
10022         * a-intsig.ads: Likewise.
10023         * a-ngcefu.adb: Likewise.
10024         * a-ngcoar.adb: Likewise.
10025         * a-ngcoty.adb: Likewise.
10026         * a-ngcoty.ads: Likewise.
10027         * a-ngelfu.adb: Likewise.
10028         * a-ngrear.adb: Likewise.
10029         * a-ngrear.ads: Likewise.
10030         * a-nudira.adb: Likewise.
10031         * a-nudira.ads: Likewise.
10032         * a-nuflra.adb: Likewise.
10033         * a-nuflra.ads: Likewise.
10034         * a-numaux-darwin.adb: Likewise.
10035         * a-numaux-darwin.ads: Likewise.
10036         * a-numaux-libc-x86.ads: Likewise.
10037         * a-numaux-vxworks.ads: Likewise.
10038         * a-numaux-x86.adb: Likewise.
10039         * a-numaux-x86.ads: Likewise.
10040         * a-numaux.ads: Likewise.
10041         * a-rbtgso.adb: Likewise.
10042         * a-rbtgso.ads: Likewise.
10043         * a-reatim.ads: Likewise.
10044         * a-retide.adb: Likewise.
10045         * a-retide.ads: Likewise.
10046         * a-rttiev.adb: Likewise.
10047         * a-rttiev.ads: Likewise.
10048         * a-secain.adb: Likewise.
10049         * a-secain.ads: Likewise.
10050         * a-sequio.adb: Likewise.
10051         * a-sequio.ads: Likewise.
10052         * a-shcain.adb: Likewise.
10053         * a-shcain.ads: Likewise.
10054         * a-siocst.adb: Likewise.
10055         * a-siocst.ads: Likewise.
10056         * a-slcain.adb: Likewise.
10057         * a-slcain.ads: Likewise.
10058         * a-ssicst.adb: Likewise.
10059         * a-ssicst.ads: Likewise.
10060         * a-stboha.adb: Likewise.
10061         * a-stmaco.ads: Likewise.
10062         * a-storio.adb: Likewise.
10063         * a-strbou.adb: Likewise.
10064         * a-strbou.ads: Likewise.
10065         * a-stream.ads: Likewise.
10066         * a-strfix.adb: Likewise.
10067         * a-strhas.adb: Likewise.
10068         * a-strmap.adb: Likewise.
10069         * a-strmap.ads: Likewise.
10070         * a-strsea.adb: Likewise.
10071         * a-strsea.ads: Likewise.
10072         * a-strsup.adb: Likewise.
10073         * a-strsup.ads: Likewise.
10074         * a-strunb.adb: Likewise.
10075         * a-strunb.ads: Likewise.
10076         * a-ststio.adb: Likewise.
10077         * a-ststio.ads: Likewise.
10078         * a-stunau.adb: Likewise.
10079         * a-stunau.ads: Likewise.
10080         * a-stunha.adb: Likewise.
10081         * a-stwibo.adb: Likewise.
10082         * a-stwibo.ads: Likewise.
10083         * a-stwifi.adb: Likewise.
10084         * a-stwiha.adb: Likewise.
10085         * a-stwima.adb: Likewise.
10086         * a-stwima.ads: Likewise.
10087         * a-stwise.adb: Likewise.
10088         * a-stwise.ads: Likewise.
10089         * a-stwisu.adb: Likewise.
10090         * a-stwisu.ads: Likewise.
10091         * a-stwiun.adb: Likewise.
10092         * a-stwiun.ads: Likewise.
10093         * a-stzbou.adb: Likewise.
10094         * a-stzbou.ads: Likewise.
10095         * a-stzfix.adb: Likewise.
10096         * a-stzhas.adb: Likewise.
10097         * a-stzmap.adb: Likewise.
10098         * a-stzmap.ads: Likewise.
10099         * a-stzsea.adb: Likewise.
10100         * a-stzsea.ads: Likewise.
10101         * a-stzsup.adb: Likewise.
10102         * a-stzsup.ads: Likewise.
10103         * a-stzunb.adb: Likewise.
10104         * a-stzunb.ads: Likewise.
10105         * a-suteio.adb: Likewise.
10106         * a-suteio.ads: Likewise.
10107         * a-swbwha.adb: Likewise.
10108         * a-swmwco.ads: Likewise.
10109         * a-swunau.adb: Likewise.
10110         * a-swunau.ads: Likewise.
10111         * a-swuwha.adb: Likewise.
10112         * a-swuwti.adb: Likewise.
10113         * a-swuwti.ads: Likewise.
10114         * a-sytaco.adb: Likewise.
10115         * a-sytaco.ads: Likewise.
10116         * a-szbzha.adb: Likewise.
10117         * a-szmzco.ads: Likewise.
10118         * a-szunau.adb: Likewise.
10119         * a-szunau.ads: Likewise.
10120         * a-szuzha.adb: Likewise.
10121         * a-szuzti.adb: Likewise.
10122         * a-szuzti.ads: Likewise.
10123         * a-tags.adb: Likewise.
10124         * a-tags.ads: Likewise.
10125         * a-tasatt.ads: Likewise.
10126         * a-taside.adb: Likewise.
10127         * a-taside.ads: Likewise.
10128         * a-taster.adb: Likewise.
10129         * a-teioed.adb: Likewise.
10130         * a-teioed.ads: Likewise.
10131         * a-textio.adb: Likewise.
10132         * a-textio.ads: Likewise.
10133         * a-tiboio.adb: Likewise.
10134         * a-ticoau.adb: Likewise.
10135         * a-ticoau.ads: Likewise.
10136         * a-ticoio.adb: Likewise.
10137         * a-ticoio.ads: Likewise.
10138         * a-tideau.adb: Likewise.
10139         * a-tideau.ads: Likewise.
10140         * a-tideio.adb: Likewise.
10141         * a-tideio.ads: Likewise.
10142         * a-tienau.adb: Likewise.
10143         * a-tienau.ads: Likewise.
10144         * a-tienio.adb: Likewise.
10145         * a-tienio.ads: Likewise.
10146         * a-tifiio.adb: Likewise.
10147         * a-tifiio.ads: Likewise.
10148         * a-tiflau.adb: Likewise.
10149         * a-tiflau.ads: Likewise.
10150         * a-tiflio.adb: Likewise.
10151         * a-tiflio.ads: Likewise.
10152         * a-tigeau.adb: Likewise.
10153         * a-tigeau.ads: Likewise.
10154         * a-tiinau.adb: Likewise.
10155         * a-tiinau.ads: Likewise.
10156         * a-tiinio.adb: Likewise.
10157         * a-tiinio.ads: Likewise.
10158         * a-timoau.adb: Likewise.
10159         * a-timoau.ads: Likewise.
10160         * a-timoio.adb: Likewise.
10161         * a-timoio.ads: Likewise.
10162         * a-tiocst.adb: Likewise.
10163         * a-tiocst.ads: Likewise.
10164         * a-titest.adb: Likewise.
10165         * a-wichun.adb: Likewise.
10166         * a-wichun.ads: Likewise.
10167         * a-witeio.adb: Likewise.
10168         * a-witeio.ads: Likewise.
10169         * a-wtcoau.adb: Likewise.
10170         * a-wtcoau.ads: Likewise.
10171         * a-wtcoio.adb: Likewise.
10172         * a-wtcstr.adb: Likewise.
10173         * a-wtcstr.ads: Likewise.
10174         * a-wtdeau.adb: Likewise.
10175         * a-wtdeau.ads: Likewise.
10176         * a-wtdeio.adb: Likewise.
10177         * a-wtdeio.ads: Likewise.
10178         * a-wtedit.adb: Likewise.
10179         * a-wtedit.ads: Likewise.
10180         * a-wtenau.adb: Likewise.
10181         * a-wtenau.ads: Likewise.
10182         * a-wtenio.adb: Likewise.
10183         * a-wtenio.ads: Likewise.
10184         * a-wtfiio.adb: Likewise.
10185         * a-wtfiio.ads: Likewise.
10186         * a-wtflau.adb: Likewise.
10187         * a-wtflau.ads: Likewise.
10188         * a-wtflio.adb: Likewise.
10189         * a-wtflio.ads: Likewise.
10190         * a-wtgeau.adb: Likewise.
10191         * a-wtgeau.ads: Likewise.
10192         * a-wtinau.adb: Likewise.
10193         * a-wtinau.ads: Likewise.
10194         * a-wtinio.adb: Likewise.
10195         * a-wtmoau.adb: Likewise.
10196         * a-wtmoau.ads: Likewise.
10197         * a-wtmoio.adb: Likewise.
10198         * a-wtmoio.ads: Likewise.
10199         * a-wttest.adb: Likewise.
10200         * a-wwboio.adb: Likewise.
10201         * a-zchuni.adb: Likewise.
10202         * a-zchuni.ads: Likewise.
10203         * a-ztcoau.adb: Likewise.
10204         * a-ztcoau.ads: Likewise.
10205         * a-ztcoio.adb: Likewise.
10206         * a-ztcstr.adb: Likewise.
10207         * a-ztcstr.ads: Likewise.
10208         * a-ztdeau.adb: Likewise.
10209         * a-ztdeau.ads: Likewise.
10210         * a-ztdeio.adb: Likewise.
10211         * a-ztdeio.ads: Likewise.
10212         * a-ztedit.adb: Likewise.
10213         * a-ztedit.ads: Likewise.
10214         * a-ztenau.adb: Likewise.
10215         * a-ztenau.ads: Likewise.
10216         * a-ztenio.adb: Likewise.
10217         * a-ztenio.ads: Likewise.
10218         * a-ztexio.adb: Likewise.
10219         * a-ztexio.ads: Likewise.
10220         * a-ztfiio.adb: Likewise.
10221         * a-ztfiio.ads: Likewise.
10222         * a-ztflau.adb: Likewise.
10223         * a-ztflau.ads: Likewise.
10224         * a-ztflio.adb: Likewise.
10225         * a-ztflio.ads: Likewise.
10226         * a-ztgeau.adb: Likewise.
10227         * a-ztgeau.ads: Likewise.
10228         * a-ztinau.adb: Likewise.
10229         * a-ztinau.ads: Likewise.
10230         * a-ztinio.adb: Likewise.
10231         * a-ztmoau.adb: Likewise.
10232         * a-ztmoau.ads: Likewise.
10233         * a-ztmoio.adb: Likewise.
10234         * a-ztmoio.ads: Likewise.
10235         * a-zttest.adb: Likewise.
10236         * a-zzboio.adb: Likewise.
10237         * adadecode.c: Likewise.
10238         * adaint.c: Likewise.
10239         * adaint.h: Likewise.
10240         * alloc.ads: Likewise.
10241         * argv.c: Likewise.
10242         * arit64.c: Likewise.
10243         * atree.adb: Likewise.
10244         * atree.ads: Likewise.
10245         * aux-io.c: Likewise.
10246         * cal.c: Likewise.
10247         * casing.adb: Likewise.
10248         * casing.ads: Likewise.
10249         * cio.c: Likewise.
10250         * csets.adb: Likewise.
10251         * csets.ads: Likewise.
10252         * cstreams.c: Likewise.
10253         * ctrl_c.c: Likewise.
10254         * debug.adb: Likewise.
10255         * debug.ads: Likewise.
10256         * dec.ads: Likewise.
10257         * einfo.adb: Likewise.
10258         * einfo.ads: Likewise.
10259         * elists.adb: Likewise.
10260         * elists.ads: Likewise.
10261         * env.c: Likewise.
10262         * env.h: Likewise.
10263         * errno.c: Likewise.
10264         * exit.c: Likewise.
10265         * fe.h: Likewise.
10266         * final.c: Likewise.
10267         * fname.adb: Likewise.
10268         * fname.ads: Likewise.
10269         * g-allein.ads: Likewise.
10270         * g-alleve.adb: Likewise.
10271         * g-alleve.ads: Likewise.
10272         * g-altcon.adb: Likewise.
10273         * g-altcon.ads: Likewise.
10274         * g-altive.ads: Likewise.
10275         * g-alveop.adb: Likewise.
10276         * g-alveop.ads: Likewise.
10277         * g-alvety.ads: Likewise.
10278         * g-alvevi.ads: Likewise.
10279         * g-arrspl.adb: Likewise.
10280         * g-arrspl.ads: Likewise.
10281         * g-calend.ads: Likewise.
10282         * g-comlin.adb: Likewise.
10283         * g-debpoo.adb: Likewise.
10284         * g-debpoo.ads: Likewise.
10285         * g-eacodu-vms.adb: Likewise.
10286         * g-eacodu.adb: Likewise.
10287         * g-excact.adb: Likewise.
10288         * g-excact.ads: Likewise.
10289         * g-locfil.adb: Likewise.
10290         * g-os_lib.ads: Likewise.
10291         * g-rannum.adb: Likewise.
10292         * g-rannum.ads: Likewise.
10293         * g-regist.adb: Likewise.
10294         * g-regist.ads: Likewise.
10295         * g-signal.adb: Likewise.
10296         * g-signal.ads: Likewise.
10297         * g-soccon.ads: Likewise.
10298         * g-string.adb: Likewise.
10299         * g-string.ads: Likewise.
10300         * g-strspl.ads: Likewise.
10301         * g-timsta.adb: Likewise.
10302         * g-timsta.ads: Likewise.
10303         * g-trasym-vms-alpha.adb: Likewise.
10304         * g-trasym-vms-ia64.adb: Likewise.
10305         * g-utf_32.adb: Likewise.
10306         * g-utf_32.ads: Likewise.
10307         * g-wistsp.ads: Likewise.
10308         * g-zstspl.ads: Likewise.
10309         * gmem.c: Likewise.
10310         * gnatvsn.adb: Likewise.
10311         * gnatvsn.ads: Likewise.
10312         * gsocket.h: Likewise.
10313         * hostparm.ads: Likewise.
10314         * i-c.adb: Likewise.
10315         * i-cexten.ads: Likewise.
10316         * i-cobol.adb: Likewise.
10317         * i-cobol.ads: Likewise.
10318         * i-cpoint.adb: Likewise.
10319         * i-cpoint.ads: Likewise.
10320         * i-cpp.adb: Likewise.
10321         * i-cpp.ads: Likewise.
10322         * i-cstrea-vms.adb: Likewise.
10323         * i-cstrea.adb: Likewise.
10324         * i-cstrea.ads: Likewise.
10325         * i-cstrin.adb: Likewise.
10326         * i-cstrin.ads: Likewise.
10327         * i-forbla-darwin.adb: Likewise.
10328         * i-forbla-unimplemented.ads: Likewise.
10329         * i-forbla.adb: Likewise.
10330         * i-forbla.ads: Likewise.
10331         * i-forlap.ads: Likewise.
10332         * i-fortra.adb: Likewise.
10333         * i-pacdec.adb: Likewise.
10334         * i-pacdec.ads: Likewise.
10335         * i-vxwoio.adb: Likewise.
10336         * i-vxwoio.ads: Likewise.
10337         * indepsw-aix.adb: Likewise.
10338         * indepsw-gnu.adb: Likewise.
10339         * indepsw-mingw.adb: Likewise.
10340         * indepsw.adb: Likewise.
10341         * indepsw.ads: Likewise.
10342         * init.c: Likewise.
10343         * initialize.c: Likewise.
10344         * interfac.ads: Likewise.
10345         * krunch.adb: Likewise.
10346         * krunch.ads: Likewise.
10347         * lib-list.adb: Likewise.
10348         * lib-sort.adb: Likewise.
10349         * lib.adb: Likewise.
10350         * lib.ads: Likewise.
10351         * link.c: Likewise.
10352         * math_lib.adb: Likewise.
10353         * memtrack.adb: Likewise.
10354         * mingw32.h: Likewise.
10355         * mkdir.c: Likewise.
10356         * namet-sp.adb: Likewise.
10357         * namet-sp.ads: Likewise.
10358         * namet.adb: Likewise.
10359         * namet.ads: Likewise.
10360         * nlists.adb: Likewise.
10361         * nlists.ads: Likewise.
10362         * opt.adb: Likewise.
10363         * opt.ads: Likewise.
10364         * output.adb: Likewise.
10365         * output.ads: Likewise.
10366         * raise-gcc.c: Likewise.
10367         * raise.c: Likewise.
10368         * raise.h: Likewise.
10369         * repinfo.adb: Likewise.
10370         * repinfo.ads: Likewise.
10371         * repinfo.h: Likewise.
10372         * rident.ads: Likewise.
10373         * s-addima.adb: Likewise.
10374         * s-addima.ads: Likewise.
10375         * s-addope.adb: Likewise.
10376         * s-addope.ads: Likewise.
10377         * s-arit64.adb: Likewise.
10378         * s-arit64.ads: Likewise.
10379         * s-assert.adb: Likewise.
10380         * s-assert.ads: Likewise.
10381         * s-asthan-vms-alpha.adb: Likewise.
10382         * s-asthan.adb: Likewise.
10383         * s-asthan.ads: Likewise.
10384         * s-atacco.adb: Likewise.
10385         * s-atacco.ads: Likewise.
10386         * s-auxdec-empty.adb: Likewise.
10387         * s-auxdec-empty.ads: Likewise.
10388         * s-auxdec-vms_64.ads: Likewise.
10389         * s-auxdec.adb: Likewise.
10390         * s-auxdec.ads: Likewise.
10391         * s-bitops.adb: Likewise.
10392         * s-bitops.ads: Likewise.
10393         * s-boarop.ads: Likewise.
10394         * s-carsi8.adb: Likewise.
10395         * s-carsi8.ads: Likewise.
10396         * s-carun8.adb: Likewise.
10397         * s-carun8.ads: Likewise.
10398         * s-casi16.adb: Likewise.
10399         * s-casi16.ads: Likewise.
10400         * s-casi32.adb: Likewise.
10401         * s-casi32.ads: Likewise.
10402         * s-casi64.adb: Likewise.
10403         * s-casi64.ads: Likewise.
10404         * s-casuti.ads: Likewise.
10405         * s-caun16.adb: Likewise.
10406         * s-caun16.ads: Likewise.
10407         * s-caun32.adb: Likewise.
10408         * s-caun32.ads: Likewise.
10409         * s-caun64.adb: Likewise.
10410         * s-caun64.ads: Likewise.
10411         * s-chepoo.ads: Likewise.
10412         * s-crc32.adb: Likewise.
10413         * s-crc32.ads: Likewise.
10414         * s-crtl.ads: Likewise.
10415         * s-direio.adb: Likewise.
10416         * s-direio.ads: Likewise.
10417         * s-dsaser.ads: Likewise.
10418         * s-except.adb: Likewise.
10419         * s-except.ads: Likewise.
10420         * s-exctab.adb: Likewise.
10421         * s-exctab.ads: Likewise.
10422         * s-exnint.adb: Likewise.
10423         * s-exnint.ads: Likewise.
10424         * s-exnllf.adb: Likewise.
10425         * s-exnllf.ads: Likewise.
10426         * s-exnlli.adb: Likewise.
10427         * s-exnlli.ads: Likewise.
10428         * s-expint.adb: Likewise.
10429         * s-expint.ads: Likewise.
10430         * s-explli.adb: Likewise.
10431         * s-explli.ads: Likewise.
10432         * s-expllu.adb: Likewise.
10433         * s-expllu.ads: Likewise.
10434         * s-expmod.adb: Likewise.
10435         * s-expmod.ads: Likewise.
10436         * s-expuns.adb: Likewise.
10437         * s-expuns.ads: Likewise.
10438         * s-fatflt.ads: Likewise.
10439         * s-fatgen.adb: Likewise.
10440         * s-fatgen.ads: Likewise.
10441         * s-fatlfl.ads: Likewise.
10442         * s-fatllf.ads: Likewise.
10443         * s-fatsfl.ads: Likewise.
10444         * s-ficobl.ads: Likewise.
10445         * s-fileio.adb: Likewise.
10446         * s-fileio.ads: Likewise.
10447         * s-filofl.ads: Likewise.
10448         * s-finimp.adb: Likewise.
10449         * s-finimp.ads: Likewise.
10450         * s-finroo.adb: Likewise.
10451         * s-finroo.ads: Likewise.
10452         * s-fishfl.ads: Likewise.
10453         * s-fore.adb: Likewise.
10454         * s-fore.ads: Likewise.
10455         * s-fvadfl.ads: Likewise.
10456         * s-fvaffl.ads: Likewise.
10457         * s-fvagfl.ads: Likewise.
10458         * s-gearop.adb: Likewise.
10459         * s-gearop.ads: Likewise.
10460         * s-gecobl.adb: Likewise.
10461         * s-gecobl.ads: Likewise.
10462         * s-gecola.adb: Likewise.
10463         * s-gecola.ads: Likewise.
10464         * s-gerebl.adb: Likewise.
10465         * s-gerebl.ads: Likewise.
10466         * s-gerela.adb: Likewise.
10467         * s-gerela.ads: Likewise.
10468         * s-geveop.adb: Likewise.
10469         * s-geveop.ads: Likewise.
10470         * s-gloloc.adb: Likewise.
10471         * s-gloloc.ads: Likewise.
10472         * s-hibaen.ads: Likewise.
10473         * s-imenne.adb: Likewise.
10474         * s-imenne.ads: Likewise.
10475         * s-imgbiu.adb: Likewise.
10476         * s-imgbiu.ads: Likewise.
10477         * s-imgboo.adb: Likewise.
10478         * s-imgboo.ads: Likewise.
10479         * s-imgcha.adb: Likewise.
10480         * s-imgcha.ads: Likewise.
10481         * s-imgdec.adb: Likewise.
10482         * s-imgdec.ads: Likewise.
10483         * s-imgenu.adb: Likewise.
10484         * s-imgenu.ads: Likewise.
10485         * s-imgint.adb: Likewise.
10486         * s-imgint.ads: Likewise.
10487         * s-imgllb.adb: Likewise.
10488         * s-imgllb.ads: Likewise.
10489         * s-imglld.adb: Likewise.
10490         * s-imglld.ads: Likewise.
10491         * s-imglli.adb: Likewise.
10492         * s-imglli.ads: Likewise.
10493         * s-imgllu.adb: Likewise.
10494         * s-imgllu.ads: Likewise.
10495         * s-imgllw.adb: Likewise.
10496         * s-imgllw.ads: Likewise.
10497         * s-imgrea.adb: Likewise.
10498         * s-imgrea.ads: Likewise.
10499         * s-imguns.adb: Likewise.
10500         * s-imguns.ads: Likewise.
10501         * s-imgwch.adb: Likewise.
10502         * s-imgwch.ads: Likewise.
10503         * s-imgwiu.adb: Likewise.
10504         * s-imgwiu.ads: Likewise.
10505         * s-inmaop-dummy.adb: Likewise.
10506         * s-inmaop-vms.adb: Likewise.
10507         * s-inmaop.ads: Likewise.
10508         * s-interr-hwint.adb: Likewise.
10509         * s-interr-sigaction.adb: Likewise.
10510         * s-interr-vms.adb: Likewise.
10511         * s-interr.adb: Likewise.
10512         * s-interr.ads: Likewise.
10513         * s-intman-dummy.adb: Likewise.
10514         * s-intman-mingw.adb: Likewise.
10515         * s-intman-posix.adb: Likewise.
10516         * s-intman-solaris.adb: Likewise.
10517         * s-intman-vms.adb: Likewise.
10518         * s-intman-vms.ads: Likewise.
10519         * s-intman-vxworks.adb: Likewise.
10520         * s-intman-vxworks.ads: Likewise.
10521         * s-intman.ads: Likewise.
10522         * s-io.adb: Likewise.
10523         * s-io.ads: Likewise.
10524         * s-linux-alpha.ads: Likewise.
10525         * s-linux-hppa.ads: Likewise.
10526         * s-linux.ads: Likewise.
10527         * s-maccod.ads: Likewise.
10528         * s-mantis.adb: Likewise.
10529         * s-mantis.ads: Likewise.
10530         * s-mastop-irix.adb: Likewise.
10531         * s-mastop.adb: Likewise.
10532         * s-mastop.ads: Likewise.
10533         * s-memcop.ads: Likewise.
10534         * s-memory-mingw.adb: Likewise.
10535         * s-memory.adb: Likewise.
10536         * s-memory.ads: Likewise.
10537         * s-os_lib.ads: Likewise.
10538         * s-oscons-tmplt.c: Likewise.
10539         * s-osinte-aix.adb: Likewise.
10540         * s-osinte-darwin.adb: Likewise.
10541         * s-osinte-freebsd.adb: Likewise.
10542         * s-osinte-irix.adb: Likewise.
10543         * s-osinte-lynxos-3.adb: Likewise.
10544         * s-osinte-rtems.ads: Likewise.
10545         * s-osinte-tru64.adb: Likewise.
10546         * s-osinte-vxworks-kernel.adb: Likewise.
10547         * s-osinte-vxworks.adb: Likewise.
10548         * s-osprim-mingw.adb: Likewise.
10549         * s-osprim-posix.adb: Likewise.
10550         * s-osprim-solaris.adb: Likewise.
10551         * s-osprim-unix.adb: Likewise.
10552         * s-osprim-vms.adb: Likewise.
10553         * s-osprim-vms.ads: Likewise.
10554         * s-osprim-vxworks.adb: Likewise.
10555         * s-osprim.ads: Likewise.
10556         * s-pack03.adb: Likewise.
10557         * s-pack03.ads: Likewise.
10558         * s-pack05.adb: Likewise.
10559         * s-pack05.ads: Likewise.
10560         * s-pack06.adb: Likewise.
10561         * s-pack06.ads: Likewise.
10562         * s-pack07.adb: Likewise.
10563         * s-pack07.ads: Likewise.
10564         * s-pack09.adb: Likewise.
10565         * s-pack09.ads: Likewise.
10566         * s-pack10.adb: Likewise.
10567         * s-pack10.ads: Likewise.
10568         * s-pack11.adb: Likewise.
10569         * s-pack11.ads: Likewise.
10570         * s-pack12.adb: Likewise.
10571         * s-pack12.ads: Likewise.
10572         * s-pack13.adb: Likewise.
10573         * s-pack13.ads: Likewise.
10574         * s-pack14.adb: Likewise.
10575         * s-pack14.ads: Likewise.
10576         * s-pack15.adb: Likewise.
10577         * s-pack15.ads: Likewise.
10578         * s-pack17.adb: Likewise.
10579         * s-pack17.ads: Likewise.
10580         * s-pack18.adb: Likewise.
10581         * s-pack18.ads: Likewise.
10582         * s-pack19.adb: Likewise.
10583         * s-pack19.ads: Likewise.
10584         * s-pack20.adb: Likewise.
10585         * s-pack20.ads: Likewise.
10586         * s-pack21.adb: Likewise.
10587         * s-pack21.ads: Likewise.
10588         * s-pack22.adb: Likewise.
10589         * s-pack22.ads: Likewise.
10590         * s-pack23.adb: Likewise.
10591         * s-pack23.ads: Likewise.
10592         * s-pack24.adb: Likewise.
10593         * s-pack24.ads: Likewise.
10594         * s-pack25.adb: Likewise.
10595         * s-pack25.ads: Likewise.
10596         * s-pack26.adb: Likewise.
10597         * s-pack26.ads: Likewise.
10598         * s-pack27.adb: Likewise.
10599         * s-pack27.ads: Likewise.
10600         * s-pack28.adb: Likewise.
10601         * s-pack28.ads: Likewise.
10602         * s-pack29.adb: Likewise.
10603         * s-pack29.ads: Likewise.
10604         * s-pack30.adb: Likewise.
10605         * s-pack30.ads: Likewise.
10606         * s-pack31.adb: Likewise.
10607         * s-pack31.ads: Likewise.
10608         * s-pack33.adb: Likewise.
10609         * s-pack33.ads: Likewise.
10610         * s-pack34.adb: Likewise.
10611         * s-pack34.ads: Likewise.
10612         * s-pack35.adb: Likewise.
10613         * s-pack35.ads: Likewise.
10614         * s-pack36.adb: Likewise.
10615         * s-pack36.ads: Likewise.
10616         * s-pack37.adb: Likewise.
10617         * s-pack37.ads: Likewise.
10618         * s-pack38.adb: Likewise.
10619         * s-pack38.ads: Likewise.
10620         * s-pack39.adb: Likewise.
10621         * s-pack39.ads: Likewise.
10622         * s-pack40.adb: Likewise.
10623         * s-pack40.ads: Likewise.
10624         * s-pack41.adb: Likewise.
10625         * s-pack41.ads: Likewise.
10626         * s-pack42.adb: Likewise.
10627         * s-pack42.ads: Likewise.
10628         * s-pack43.adb: Likewise.
10629         * s-pack43.ads: Likewise.
10630         * s-pack44.adb: Likewise.
10631         * s-pack44.ads: Likewise.
10632         * s-pack45.adb: Likewise.
10633         * s-pack45.ads: Likewise.
10634         * s-pack46.adb: Likewise.
10635         * s-pack46.ads: Likewise.
10636         * s-pack47.adb: Likewise.
10637         * s-pack47.ads: Likewise.
10638         * s-pack48.adb: Likewise.
10639         * s-pack48.ads: Likewise.
10640         * s-pack49.adb: Likewise.
10641         * s-pack49.ads: Likewise.
10642         * s-pack50.adb: Likewise.
10643         * s-pack50.ads: Likewise.
10644         * s-pack51.adb: Likewise.
10645         * s-pack51.ads: Likewise.
10646         * s-pack52.adb: Likewise.
10647         * s-pack52.ads: Likewise.
10648         * s-pack53.adb: Likewise.
10649         * s-pack53.ads: Likewise.
10650         * s-pack54.adb: Likewise.
10651         * s-pack54.ads: Likewise.
10652         * s-pack55.adb: Likewise.
10653         * s-pack55.ads: Likewise.
10654         * s-pack56.adb: Likewise.
10655         * s-pack56.ads: Likewise.
10656         * s-pack57.adb: Likewise.
10657         * s-pack57.ads: Likewise.
10658         * s-pack58.adb: Likewise.
10659         * s-pack58.ads: Likewise.
10660         * s-pack59.adb: Likewise.
10661         * s-pack59.ads: Likewise.
10662         * s-pack60.adb: Likewise.
10663         * s-pack60.ads: Likewise.
10664         * s-pack61.adb: Likewise.
10665         * s-pack61.ads: Likewise.
10666         * s-pack62.adb: Likewise.
10667         * s-pack62.ads: Likewise.
10668         * s-pack63.adb: Likewise.
10669         * s-pack63.ads: Likewise.
10670         * s-parame-ae653.ads: Likewise.
10671         * s-parame-hpux.ads: Likewise.
10672         * s-parame-rtems.adb: Likewise.
10673         * s-parame-vms-alpha.ads: Likewise.
10674         * s-parame-vms-ia64.ads: Likewise.
10675         * s-parame-vms-restrict.ads: Likewise.
10676         * s-parame-vxworks.adb: Likewise.
10677         * s-parame-vxworks.ads: Likewise.
10678         * s-parame.adb: Likewise.
10679         * s-parame.ads: Likewise.
10680         * s-parint.adb: Likewise.
10681         * s-parint.ads: Likewise.
10682         * s-pooglo.adb: Likewise.
10683         * s-pooglo.ads: Likewise.
10684         * s-pooloc.adb: Likewise.
10685         * s-pooloc.ads: Likewise.
10686         * s-poosiz.adb: Likewise.
10687         * s-poosiz.ads: Likewise.
10688         * s-powtab.ads: Likewise.
10689         * s-proinf-irix-athread.adb: Likewise.
10690         * s-proinf-irix-athread.ads: Likewise.
10691         * s-proinf.adb: Likewise.
10692         * s-proinf.ads: Likewise.
10693         * s-purexc.ads: Likewise.
10694         * s-rannum.adb: Likewise.
10695         * s-rannum.ads: Likewise.
10696         * s-restri.adb: Likewise.
10697         * s-restri.ads: Likewise.
10698         * s-rident.ads: Likewise.
10699         * s-rpc.adb: Likewise.
10700         * s-rpc.ads: Likewise.
10701         * s-scaval.adb: Likewise.
10702         * s-scaval.ads: Likewise.
10703         * s-secsta.adb: Likewise.
10704         * s-secsta.ads: Likewise.
10705         * s-sequio.adb: Likewise.
10706         * s-sequio.ads: Likewise.
10707         * s-shasto.adb: Likewise.
10708         * s-shasto.ads: Likewise.
10709         * s-soflin.adb: Likewise.
10710         * s-soflin.ads: Likewise.
10711         * s-solita.adb: Likewise.
10712         * s-solita.ads: Likewise.
10713         * s-sopco3.adb: Likewise.
10714         * s-sopco3.ads: Likewise.
10715         * s-sopco4.adb: Likewise.
10716         * s-sopco4.ads: Likewise.
10717         * s-sopco5.adb: Likewise.
10718         * s-sopco5.ads: Likewise.
10719         * s-stache.adb: Likewise.
10720         * s-stache.ads: Likewise.
10721         * s-stalib.adb: Likewise.
10722         * s-stalib.ads: Likewise.
10723         * s-stausa.adb: Likewise.
10724         * s-stausa.ads: Likewise.
10725         * s-stchop-limit.ads: Likewise.
10726         * s-stchop-rtems.adb: Likewise.
10727         * s-stchop-vxworks.adb: Likewise.
10728         * s-stchop.adb: Likewise.
10729         * s-stchop.ads: Likewise.
10730         * s-stoele.adb: Likewise.
10731         * s-stoele.ads: Likewise.
10732         * s-stopoo.adb: Likewise.
10733         * s-stopoo.ads: Likewise.
10734         * s-stratt.adb: Likewise.
10735         * s-stratt.ads: Likewise.
10736         * s-strcom.adb: Likewise.
10737         * s-strcom.ads: Likewise.
10738         * s-string.adb: Likewise.
10739         * s-string.ads: Likewise.
10740         * s-strops.adb: Likewise.
10741         * s-strops.ads: Likewise.
10742         * s-strxdr.adb: Likewise.
10743         * s-ststop.adb: Likewise.
10744         * s-ststop.ads: Likewise.
10745         * s-taasde.adb: Likewise.
10746         * s-taasde.ads: Likewise.
10747         * s-tadeca.adb: Likewise.
10748         * s-tadeca.ads: Likewise.
10749         * s-tadert.adb: Likewise.
10750         * s-tadert.ads: Likewise.
10751         * s-taenca.adb: Likewise.
10752         * s-taenca.ads: Likewise.
10753         * s-taprob.ads: Likewise.
10754         * s-taprop-dummy.adb: Likewise.
10755         * s-taprop-hpux-dce.adb: Likewise.
10756         * s-taprop-irix.adb: Likewise.
10757         * s-taprop-linux.adb: Likewise.
10758         * s-taprop-lynxos.adb: Likewise.
10759         * s-taprop-mingw.adb: Likewise.
10760         * s-taprop-posix.adb: Likewise.
10761         * s-taprop-solaris.adb: Likewise.
10762         * s-taprop-tru64.adb: Likewise.
10763         * s-taprop-vms.adb: Likewise.
10764         * s-taprop-vxworks.adb: Likewise.
10765         * s-taprop.ads: Likewise.
10766         * s-tarest.adb: Likewise.
10767         * s-tarest.ads: Likewise.
10768         * s-tasdeb.adb: Likewise.
10769         * s-tasdeb.ads: Likewise.
10770         * s-tasinf-irix.ads: Likewise.
10771         * s-tasinf-linux.adb: Likewise.
10772         * s-tasinf-linux.ads: Likewise.
10773         * s-tasinf-mingw.adb: Likewise.
10774         * s-tasinf-mingw.ads: Likewise.
10775         * s-tasinf-solaris.adb: Likewise.
10776         * s-tasinf-solaris.ads: Likewise.
10777         * s-tasinf-tru64.ads: Likewise.
10778         * s-tasinf.adb: Likewise.
10779         * s-tasinf.ads: Likewise.
10780         * s-tasini.adb: Likewise.
10781         * s-tasini.ads: Likewise.
10782         * s-taskin.adb: Likewise.
10783         * s-taskin.ads: Likewise.
10784         * s-taspri-dummy.ads: Likewise.
10785         * s-taspri-hpux-dce.ads: Likewise.
10786         * s-taspri-mingw.ads: Likewise.
10787         * s-taspri-solaris.ads: Likewise.
10788         * s-taspri-tru64.ads: Likewise.
10789         * s-taspri-vms.ads: Likewise.
10790         * s-taspri-vxworks.ads: Likewise.
10791         * s-tasque.adb: Likewise.
10792         * s-tasque.ads: Likewise.
10793         * s-tasren.adb: Likewise.
10794         * s-tasren.ads: Likewise.
10795         * s-tasres.ads: Likewise.
10796         * s-tassta.adb: Likewise.
10797         * s-tassta.ads: Likewise.
10798         * s-tasuti.adb: Likewise.
10799         * s-tasuti.ads: Likewise.
10800         * s-tfsetr-default.adb: Likewise.
10801         * s-tfsetr-vxworks.adb: Likewise.
10802         * s-tpinop.adb: Likewise.
10803         * s-tpinop.ads: Likewise.
10804         * s-tpoben.adb: Likewise.
10805         * s-tpoben.ads: Likewise.
10806         * s-tpobop.adb: Likewise.
10807         * s-tpobop.ads: Likewise.
10808         * s-tpopde-vms.adb: Likewise.
10809         * s-tpopde-vms.ads: Likewise.
10810         * s-tpopsp-lynxos.adb: Likewise.
10811         * s-tpopsp-posix-foreign.adb: Likewise.
10812         * s-tpopsp-posix.adb: Likewise.
10813         * s-tpopsp-solaris.adb: Likewise.
10814         * s-tpopsp-vxworks.adb: Likewise.
10815         * s-tporft.adb: Likewise.
10816         * s-tposen.adb: Likewise.
10817         * s-tposen.ads: Likewise.
10818         * s-traceb.adb: Likewise.
10819         * s-traceb.ads: Likewise.
10820         * s-traces-default.adb: Likewise.
10821         * s-traces.adb: Likewise.
10822         * s-traces.ads: Likewise.
10823         * s-traent-vms.adb: Likewise.
10824         * s-traent-vms.ads: Likewise.
10825         * s-traent.adb: Likewise.
10826         * s-traent.ads: Likewise.
10827         * s-trafor-default.adb: Likewise.
10828         * s-trafor-default.ads: Likewise.
10829         * s-tratas-default.adb: Likewise.
10830         * s-tratas.adb: Likewise.
10831         * s-tratas.ads: Likewise.
10832         * s-unstyp.ads: Likewise.
10833         * s-utf_32.adb: Likewise.
10834         * s-utf_32.ads: Likewise.
10835         * s-vaflop-vms-alpha.adb: Likewise.
10836         * s-vaflop.adb: Likewise.
10837         * s-vaflop.ads: Likewise.
10838         * s-valboo.adb: Likewise.
10839         * s-valboo.ads: Likewise.
10840         * s-valcha.adb: Likewise.
10841         * s-valcha.ads: Likewise.
10842         * s-valdec.adb: Likewise.
10843         * s-valdec.ads: Likewise.
10844         * s-valenu.adb: Likewise.
10845         * s-valenu.ads: Likewise.
10846         * s-valint.adb: Likewise.
10847         * s-valint.ads: Likewise.
10848         * s-vallld.adb: Likewise.
10849         * s-vallld.ads: Likewise.
10850         * s-vallli.adb: Likewise.
10851         * s-vallli.ads: Likewise.
10852         * s-valllu.adb: Likewise.
10853         * s-valllu.ads: Likewise.
10854         * s-valrea.adb: Likewise.
10855         * s-valrea.ads: Likewise.
10856         * s-valuns.adb: Likewise.
10857         * s-valuns.ads: Likewise.
10858         * s-valuti.adb: Likewise.
10859         * s-valuti.ads: Likewise.
10860         * s-valwch.adb: Likewise.
10861         * s-valwch.ads: Likewise.
10862         * s-veboop.adb: Likewise.
10863         * s-veboop.ads: Likewise.
10864         * s-vector.ads: Likewise.
10865         * s-vercon.adb: Likewise.
10866         * s-vercon.ads: Likewise.
10867         * s-vmexta.adb: Likewise.
10868         * s-vmexta.ads: Likewise.
10869         * s-vxwext-kernel.ads: Likewise.
10870         * s-vxwext-rtp.adb: Likewise.
10871         * s-vxwext-rtp.ads: Likewise.
10872         * s-vxwext.ads: Likewise.
10873         * s-vxwork-arm.ads: Likewise.
10874         * s-vxwork-m68k.ads: Likewise.
10875         * s-vxwork-mips.ads: Likewise.
10876         * s-vxwork-ppc.ads: Likewise.
10877         * s-vxwork-sparcv9.ads: Likewise.
10878         * s-vxwork-x86.ads: Likewise.
10879         * s-wchcnv.adb: Likewise.
10880         * s-wchcnv.ads: Likewise.
10881         * s-wchcon.adb: Likewise.
10882         * s-wchcon.ads: Likewise.
10883         * s-wchjis.adb: Likewise.
10884         * s-wchjis.ads: Likewise.
10885         * s-wchstw.adb: Likewise.
10886         * s-wchstw.ads: Likewise.
10887         * s-wchwts.adb: Likewise.
10888         * s-wchwts.ads: Likewise.
10889         * s-widboo.adb: Likewise.
10890         * s-widboo.ads: Likewise.
10891         * s-widcha.adb: Likewise.
10892         * s-widcha.ads: Likewise.
10893         * s-widenu.adb: Likewise.
10894         * s-widenu.ads: Likewise.
10895         * s-widlli.adb: Likewise.
10896         * s-widlli.ads: Likewise.
10897         * s-widllu.adb: Likewise.
10898         * s-widllu.ads: Likewise.
10899         * s-widwch.adb: Likewise.
10900         * s-widwch.ads: Likewise.
10901         * s-win32.ads: Likewise.
10902         * s-winext.ads: Likewise.
10903         * s-wwdcha.adb: Likewise.
10904         * s-wwdcha.ads: Likewise.
10905         * s-wwdenu.adb: Likewise.
10906         * s-wwdenu.ads: Likewise.
10907         * s-wwdwch.adb: Likewise.
10908         * s-wwdwch.ads: Likewise.
10909         * scans.adb: Likewise.
10910         * scans.ads: Likewise.
10911         * seh_init.c: Likewise.
10912         * sfn_scan.adb: Likewise.
10913         * sinfo.adb: Likewise.
10914         * sinfo.ads: Likewise.
10915         * sinput.adb: Likewise.
10916         * sinput.ads: Likewise.
10917         * snames.adb: Likewise.
10918         * snames.ads: Likewise.
10919         * socket.c: Likewise.
10920         * stand.adb: Likewise.
10921         * stand.ads: Likewise.
10922         * stringt.adb: Likewise.
10923         * stringt.ads: Likewise.
10924         * sysdep.c: Likewise.
10925         * system-aix.ads: Likewise.
10926         * system-darwin-ppc.ads: Likewise.
10927         * system-darwin-x86.ads: Likewise.
10928         * system-darwin-x86_64.ads: Likewise.
10929         * system-freebsd-x86.ads: Likewise.
10930         * system-hpux-ia64.ads: Likewise.
10931         * system-hpux.ads: Likewise.
10932         * system-irix-n32.ads: Likewise.
10933         * system-irix-n64.ads: Likewise.
10934         * system-irix-o32.ads: Likewise.
10935         * system-linux-alpha.ads: Likewise.
10936         * system-linux-hppa.ads: Likewise.
10937         * system-linux-ia64.ads: Likewise.
10938         * system-linux-mips.ads: Likewise.
10939         * system-linux-mipsel.ads: Likewise.
10940         * system-linux-ppc.ads: Likewise.
10941         * system-linux-ppc64.ads: Likewise.
10942         * system-linux-s390.ads: Likewise.
10943         * system-linux-s390x.ads: Likewise.
10944         * system-linux-sh4.ads: Likewise.
10945         * system-linux-sparc.ads: Likewise.
10946         * system-linux-sparcv9.ads: Likewise.
10947         * system-linux-x86.ads: Likewise.
10948         * system-linux-x86_64.ads: Likewise.
10949         * system-lynxos-ppc.ads: Likewise.
10950         * system-lynxos-x86.ads: Likewise.
10951         * system-mingw-x86_64.ads: Likewise.
10952         * system-mingw.ads: Likewise.
10953         * system-rtems.ads: Likewise.
10954         * system-solaris-sparc.ads: Likewise.
10955         * system-solaris-sparcv9.ads: Likewise.
10956         * system-solaris-x86.ads: Likewise.
10957         * system-solaris-x86_64.ads: Likewise.
10958         * system-tru64.ads: Likewise.
10959         * system-vms-ia64.ads: Likewise.
10960         * system-vms-zcx.ads: Likewise.
10961         * system-vms.ads: Likewise.
10962         * system-vms_64.ads: Likewise.
10963         * system-vxworks-arm.ads: Likewise.
10964         * system-vxworks-m68k.ads: Likewise.
10965         * system-vxworks-mips.ads: Likewise.
10966         * system-vxworks-ppc.ads: Likewise.
10967         * system-vxworks-sparcv9.ads: Likewise.
10968         * system-vxworks-x86.ads: Likewise.
10969         * system.ads: Likewise.
10970         * table.adb: Likewise.
10971         * table.ads: Likewise.
10972         * targext.c: Likewise.
10973         * targparm.ads: Likewise.
10974         * tree_in.adb: Likewise.
10975         * tree_in.ads: Likewise.
10976         * tree_io.adb: Likewise.
10977         * tree_io.ads: Likewise.
10978         * types.adb: Likewise.
10979         * types.ads: Likewise.
10980         * uintp.adb: Likewise.
10981         * uintp.ads: Likewise.
10982         * uname.adb: Likewise.
10983         * uname.ads: Likewise.
10984         * urealp.adb: Likewise.
10985         * urealp.ads: Likewise.
10986         * vx_stack_info.c: Likewise.
10987         * widechar.adb: Likewise.
10988         * widechar.ads: Likewise.
10989         * exp_attr.adb: Change copyright header to refer to version
10990         3 of the GNU General Public License and to point readers at the
10991         COPYING3 file and the FSF's license web page.
10992         * sem.adb: Likewise.
10993         * sem_attr.ads: Likewise.
10994         * freeze.adb: Likewise.
10995         * freeze.ads: Likewise.
10996         * errout.ads: Likewise.
10997         * erroutc.adb: Likewise.
10998         * exp_ch11.ads: Likewise.
10999
11000 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
11001
11002         * config-lang.in: Change copyright header to refer to version
11003         3 of the GNU General Public License and to point readers at the
11004         COPYING3 file and the FSF's license web page.
11005         * gcc-interface/trans.c: Likewise.
11006         * gnathtml.pl: Likewise.
11007         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
11008         * gcc-interface/gigi.h: Likewise.
11009         * gcc-interface/misc.c: Likewise.
11010         * gcc-interface/targtyps.c: Likewise.
11011
11012 2009-04-09  Nicolas Setton  <setton@adacore.com>
11013
11014         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
11015
11016         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
11017         struct_timeval.
11018
11019 2009-04-09  Bob Duff  <duff@adacore.com>
11020
11021         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
11022         internally-generated nodes related to select statements to avoid
11023         confusing the debugger.
11024
11025 2009-04-09  Pascal Obry  <obry@adacore.com>
11026
11027         * make.adb: Ensure that all linker arguments are duplicated.
11028
11029 2009-04-09  Robert Dewar  <dewar@adacore.com>
11030
11031         * sem_ch5.adb: Minor reformatting
11032
11033 2009-04-09  Vincent Celier  <celier@adacore.com>
11034
11035         * vms_data.ads:
11036         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
11037         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
11038         New qualifier /LXDEBUG=nnn for -gnatDnnn
11039         For H820-010
11040
11041         * gnat_ugn.texi:
11042         Update documentation for VMS qualifiers equivalent to -gnatGnn and
11043         -gnatDnn
11044
11045 2009-04-09  Nicolas Setton  <setton@adacore.com>
11046
11047         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
11048         to match layout of siginfo_t in sys/signal.h.
11049
11050         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
11051
11052 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11053
11054         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
11055
11056 2009-04-09  Nicolas Setton  <setton@adacore.com>
11057
11058         * s-oscons-tmplt.c: Allow long lines in the generated spec.
11059         Add generation of Darwin-specific constants needed when binding to the
11060         pthread library.
11061
11062 2009-04-09  Robert Dewar  <dewar@adacore.com>
11063
11064         * checks.adb:
11065         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
11066         when no invalid values exist, Avoid duplicate read of atomic variable.
11067
11068         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
11069         (Standard_Unsigned): Set Is_Known_Valid
11070
11071         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
11072         subtype declaration if no constraint.
11073         (Set_Modular_Size): Set Is_Known_Valid if appropriate
11074         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
11075
11076 2009-04-09  Robert Dewar  <dewar@adacore.com>
11077
11078         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
11079         switch.ads: for numeric switches, an optional equal sign is always
11080         allowed.
11081
11082 2009-04-09  Vincent Celier  <celier@adacore.com>
11083
11084         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
11085         the case of file names is not significant.
11086
11087 2009-04-09  Vincent Celier  <celier@adacore.com>
11088
11089         * errout.adb: Remove dependency on package Style
11090
11091         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
11092         moved to Stylesw.
11093         
11094         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
11095         Styleg.
11096
11097         * errutil.adb, par.adb: Import Stylesw
11098
11099 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
11100
11101         * opt.ads: Fix typos.
11102
11103 2009-04-09  Robert Dewar  <dewar@adacore.com>
11104
11105         * einfo.adb: Minor reformatting
11106
11107 2009-04-09  Robert Dewar  <dewar@adacore.com>
11108
11109         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
11110         units.
11111
11112         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
11113
11114 2009-04-09  Robert Dewar  <dewar@adacore.com>
11115
11116         * g-comver.adb: Minor reformatting.
11117
11118 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11119
11120         * lib-load.ads (Load_Unit): Update documentation.
11121
11122 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
11123
11124         * lib-load.adb (Load_Unit): When loading the parent of a child unit
11125         named in a with_clause, retain the with_clause to preserve a
11126         limited_with indication.
11127
11128 2009-04-09  Robert Dewar  <dewar@adacore.com>
11129
11130         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
11131         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
11132         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
11133         possible to replace an OR of two separate tests.
11134
11135 2009-04-09  Robert Dewar  <dewar@adacore.com>
11136
11137         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
11138         Maximum_Messages.
11139         
11140         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
11141         warning status as well.
11142         
11143         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
11144         
11145         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
11146         Maximum_Messages.
11147         
11148         * bindusg.adb, usage.adb: Update line for -gnatm switch
11149
11150         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
11151         -mnn binder switch.
11152
11153 2009-04-09  Robert Dewar  <dewar@adacore.com>
11154
11155         * sem_ch10.adb: Minor reformatting.
11156
11157 2009-04-09  Bob Duff  <duff@adacore.com>
11158
11159         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
11160         Set Sloc of generated nodes for calls to Undefer_Aborts and
11161         Save_Occurrence to No_Location, so the debugger ignores them and
11162         therefore does not jump back and forth when single stepping.
11163
11164 2009-04-09  Robert Dewar  <dewar@adacore.com>
11165
11166         * switch-b.adb: Minor reformatting.
11167
11168 2009-04-09  Robert Dewar  <dewar@adacore.com>
11169
11170         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
11171         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
11172         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
11173         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
11174         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
11175         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
11176         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
11177         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
11178         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
11179         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
11180         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
11181
11182 2009-04-09  Robert Dewar  <dewar@adacore.com>
11183
11184         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
11185
11186         * atree.h: Add Elist26
11187
11188         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
11189         backends.
11190
11191 2009-04-09  Javier Miranda  <miranda@adacore.com>
11192
11193         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
11194         retrieve from the Dispatch_Table_Wrappers list the external name.
11195         Addition of documentation.
11196         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
11197         used to export secondary dispatch tables (in the previous version of
11198         the frontend only primary dispatch tables were exported). Addition of
11199         documentation.
11200         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
11201         dispatch table of a given tagged type. 
11202         (Make_Tags): Modified to import secondary dispatch tables.
11203
11204         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
11205         (Constant_Redeclaration): Code cleanup.
11206
11207         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
11208         Dispatch_Table_Wrappers.  Update documentation.
11209
11210         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
11211         Renamed to Dispatch_Table_Wrappers.
11212
11213         * sem_util.adb (Collect_Interface_Components): Improve handling of
11214         private types.
11215
11216         * atree.ads (Elist26, Set_Elist26): New subprograms
11217
11218         * atree.adb (Elist26, Set_Elist26): New subprograms
11219
11220 2009-04-09  Javier Miranda  <miranda@adacore.com>
11221
11222         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
11223         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
11224         tagged types.
11225
11226 2009-04-09  Robert Dewar  <dewar@adacore.com>
11227
11228         * s-direio.adb: Minor reformatting
11229
11230         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
11231
11232 2009-04-09  Robert Dewar  <dewar@adacore.com>
11233
11234         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
11235
11236 2009-04-09  Pascal Obry  <obry@adacore.com>
11237
11238         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
11239         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
11240         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
11241         a-filico.ads: Add some missing overriding keywords.
11242
11243 2009-04-09  Pascal Obry  <obry@adacore.com>
11244
11245         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
11246         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
11247         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
11248         reformatting.
11249
11250 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
11251
11252         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
11253         missing overriding indicator if the new declaration is not seen as
11254         primitive.
11255
11256 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11257
11258         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
11259         overflows in computation of bounds.
11260
11261 2009-04-09  Pascal Obry  <obry@adacore.com>
11262
11263         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
11264         typos in comment.
11265
11266 2009-04-09  Robert Dewar  <dewar@adacore.com>
11267
11268         * sem_attr.adb (Check_Stream_Attribute): Check violation of
11269         restriction No_Streams
11270
11271         * gnat_rm.texi: Clarify No_Streams restriction
11272
11273         * g-socket.adb: Minor reformatting.
11274
11275 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11276
11277         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
11278
11279 2009-04-09  Geert Bosch  <bosch@adacore.com>
11280
11281         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
11282         (Set_Result): Likewise.
11283         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
11284         conversion, as required by RM 4.6(31).
11285
11286 2009-04-08  Robert Dewar  <dewar@adacore.com>
11287
11288         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
11289         suppressed.
11290         
11291         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
11292         resolution steps.
11293
11294 2009-04-08  Robert Dewar  <dewar@adacore.com>
11295
11296         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
11297         No_Local_Allocators restriction preventing local instantiation.
11298
11299 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11300
11301         * sem_eval.adb: Minor comment fix
11302
11303 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11304
11305         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
11306         New limited controlled type used to automate the initialization and
11307         finalization of the sockets implementation.
11308         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
11309
11310 2009-04-08  Vincent Celier  <celier@adacore.com>
11311
11312         * prj-attr.adb: New read-only project-level attribute Project_Dir
11313
11314         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
11315         read-only attribute of the same name.
11316         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
11317         (Recursive_Process): Ditto
11318
11319         * snames.adb: Add new standard name Project_Dir
11320
11321         * snames.ads: Add new standard name Project_Dir
11322
11323 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11324
11325         * checks.adb: Minor reformatting
11326
11327 2009-04-08  Vincent Celier  <celier@adacore.com>
11328
11329         * vms_data.ads: Add documentation for new style keyword
11330         OVERRIDING_INDICATORS
11331
11332 2009-04-08  Robert Dewar  <dewar@adacore.com>
11333
11334         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
11335         spec is in the current unit.
11336
11337 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11338
11339         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
11340         presence of entity.
11341
11342         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
11343
11344 2009-04-08  Vincent Celier  <celier@adacore.com>
11345
11346         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
11347
11348 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11349
11350         * checks.ads: Minor reformatting
11351
11352 2009-04-08  Robert Dewar  <dewar@adacore.com>
11353
11354         * gnat_rm.texi: Update documentation of pragma Obsolescent
11355         
11356         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
11357         be omitted, and allow Entity parameter to be omitted.
11358
11359 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11360
11361         * exp_util.adb: Minor comment fix
11362
11363 2009-04-08  Robert Dewar  <dewar@adacore.com>
11364
11365         * g-socket.ads: Fix bad syntax in pragma Obsolescent
11366
11367         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
11368         argument with no identifier following one that has an identifier. Was
11369         missed in some cases.
11370
11371         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
11372         identifier.
11373         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
11374
11375         * snames.adb: Add Name_Policy
11376
11377         * snames.ads: Add Name_Policy
11378
11379 2009-04-08  Robert Dewar  <dewar@adacore.com>
11380
11381         * gnat_rm.texi: Minor reformatting
11382
11383         * par-ch2.adb: Minor reformatting
11384
11385 2009-04-08  Robert Dewar  <dewar@adacore.com>
11386
11387         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
11388
11389 2009-04-08  Robert Dewar  <dewar@adacore.com>
11390
11391         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
11392         properly in the presence of Remote_Types or Remote_Call_Interface.
11393
11394         * sem_util.adb: Add comment.
11395
11396 2009-04-08  Robert Dewar  <dewar@adacore.com>
11397
11398         * ug_words: Add /ASSUME_VALID for -gnatB
11399
11400         * vms_data.ads: Add /ASSUME_VALID for -gnatB
11401
11402         * sem_cat.adb: Add clarifying commment
11403
11404         * a-direio.ads (Bytes): Make sure value is non-zero
11405
11406 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11407
11408         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
11409         that does not come from source, check for a rewritten function call in
11410         prefixed notation before other forms of rewriting.
11411
11412 2009-04-08  Robert Dewar  <dewar@adacore.com>
11413
11414         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
11415         these are now obsolescent units used only for bootrapping with an
11416         older compiler.
11417
11418 2009-04-08  Robert Dewar  <dewar@adacore.com>
11419
11420         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
11421
11422         * sem_ch3.adb: Minor comment updates
11423
11424 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11425
11426         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
11427         that come from source.
11428
11429 2009-04-08  Tristan Gingold  <gingold@adacore.com>
11430
11431         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
11432         * gcc-interface/decl.c (prepend_attributes): New case
11433         Pragma_Thread_Local_Storage.
11434         * gcc-interface/utils.c (process_attributes): New case
11435         ATTR_THREAD_LOCAL_STORAGE.
11436
11437 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11438
11439         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
11440         by the back-end if it contains a call to a subprogram without a
11441         previous spec that is declared in the same unit.
11442
11443         * errout.ads: Update comments on uses of dirs
11444
11445 2009-04-08  Robert Dewar  <dewar@adacore.com>
11446
11447         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
11448
11449 2009-04-08  Tristan Gingold  <gingold@adacore.com>
11450
11451         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
11452         variables.
11453         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
11454
11455 2009-04-08  Vincent Celier  <celier@adacore.com>
11456
11457         * prj-nmsc.adb:
11458         (Add_Source): Add the mapping of the unit name to source file name in
11459         the Unit_Sources_HT hash table, if the unit name is not null.
11460
11461         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
11462
11463         * prj.ads (Unit_Sources_Htable): New hash table instantiation
11464         (Project_Tree_Data): New component Unit_Sources_HT
11465
11466 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11467
11468         * sem_ch8.adb: Minor reformatting.
11469         Minor code reorganization.
11470
11471 2009-04-08  Robert Dewar  <dewar@adacore.com>
11472
11473         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
11474         snames.ads, freeze.adb, par-prag.adb: Add implementation of
11475         pragma Thread_Local_Storage, setting new flag
11476         Has_Pragma_Thread_Local_Storage in corresponding entities.
11477
11478 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11479
11480         * prj.ads: Update comment on switches file
11481
11482         * prj-nmsc.adb: Code clean up. Use renaming clauses.
11483
11484 2009-04-08  Robert Dewar  <dewar@adacore.com>
11485
11486         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
11487
11488 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11489
11490         * ali-util.adb: Minor comment fix
11491
11492 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11493
11494         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
11495         appears in a context clause, and the enclosing package is mentioned in
11496         a limited_with_clause.
11497         (Use_One_Type): Reject clause if type is still incomplete.
11498
11499 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11500
11501         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
11502         avoid copies of Source_Data variables when possible, since these
11503         involve calls to memcpy() which are done too many times.
11504
11505 2009-04-08  Robert Dewar  <dewar@adacore.com>
11506
11507         * exp_ch4.adb (Expand_Concatenate): Clean up code
11508
11509 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11510
11511         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
11512         type for the case of concatenating a constrained array indexed by an
11513         enumeration type.
11514
11515 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11516
11517         * sem_ch6.adb (Check_Conformance): when checking conformance of an
11518         operation that overrides an abstract operation inherited from an
11519         interface, return False if only one of the controlling formals is an
11520         access parameter.
11521
11522 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11523
11524         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
11525         mandated by AI05-105.
11526
11527 2009-04-07  Vincent Celier  <celier@adacore.com>
11528
11529         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
11530
11531 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11532
11533         * usage.adb: Minor fix in usage message.
11534
11535         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
11536         match declaration; the correct subtype is Node_Id, not Entity_Id,
11537         because the expected node kind is an identifier, not a defining
11538         identifier.
11539
11540         * switch-c.adb: Minor reformatting.
11541
11542         * uintp.adb: Minor reformatting.
11543
11544 2009-04-07  Robert Dewar  <dewar@adacore.com>
11545
11546         * exp_ch13.adb: Minor reformatting
11547
11548 2009-04-07  Robert Dewar  <dewar@adacore.com>
11549
11550         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
11551         against missing parent.
11552
11553 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11554
11555         * xoscons.adb: Minor reformatting
11556
11557 2009-04-07  Robert Dewar  <dewar@adacore.com>
11558
11559         * rtsfind.ads: Remove obsolete string concatenation entries
11560
11561 2009-04-07  Robert Dewar  <dewar@adacore.com>
11562
11563         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
11564
11565 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11566
11567         * sem_ch10.adb (Check_Body_Required): Handle properly imported
11568         subprograms.
11569
11570 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
11571
11572         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
11573         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
11574         is of a scalar or string type then suppress the setting of the
11575         expression to Empty.
11576
11577         * freeze.adb (Warn_Overlay): Also emit the warnings about default
11578         initialization for the cases of scalar and string objects when
11579         Init_Or_Norm_Scalars is True.
11580
11581 2009-04-07  Bob Duff  <duff@adacore.com>
11582
11583         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
11584
11585 2009-04-07  Bob Duff  <duff@adacore.com>
11586
11587         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
11588         Form parameter of Text_Translation=No allows binary mode for Text_IO
11589         files.
11590
11591         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
11592
11593 2009-04-07  Javier Miranda  <miranda@adacore.com>
11594
11595         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
11596         processing the bounds for bit packed arrays or VM target machines.
11597
11598 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11599
11600         * g-sothco.ads (Int_Access): Remove extraneous access type (use
11601         anonymous access instead).
11602         (Get_Socket_From_Set): Fix incorrectly reverted formals
11603         Last and Socket to match the underlying C routine.
11604
11605         * g-socket.adb, g-socket.ads
11606         (Get): Use named parameter associations instead of positional ones in
11607         call go Get_Socket_From_Set, since this routine has two formals of the
11608         same type.
11609         (Image): New procedure.
11610
11611         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11612         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
11613         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
11614         for type of Arg formal.
11615
11616         * sem_warn.adb: Minor reformatting
11617
11618 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11619
11620         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
11621         over record components.
11622
11623 2009-04-07  Nicolas Roche  <roche@adacore.com>
11624
11625         * gsocket.h:
11626         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
11627         has disappeared between VxWorks 6.4 and VxWorks 6.5
11628         In RTP mode use time.h instead of times.h
11629
11630 2009-04-07  Robert Dewar  <dewar@adacore.com>
11631
11632         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
11633
11634 2009-04-07  Kevin Pouget  <pouget@adacore.com>
11635
11636         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
11637         expanded code for constrained types.
11638
11639 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11640
11641         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
11642         AI05-105: in an object renaming declaration, anonymousness is a name
11643         resolution rule.
11644
11645         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
11646
11647 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11648
11649         * g-comlin.adb (Expansion): Fix old regression: also return directory
11650         names when matching.
11651
11652 2009-04-07  Robert Dewar  <dewar@adacore.com>
11653
11654         * exp_ch4.adb:
11655         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
11656         (Expand_Concatenate): New name for Expand_Concatenate_String which has
11657         been rewritten to handle all types.
11658         (Expand_Concatenate_Other): Remove
11659
11660 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11661
11662         * lib-xref.adb (Generate_Reference): A default subprogram in an
11663         instance appears within the tree for the instance, but generates an
11664         implicit reference in the ALI.
11665
11666 2009-04-07  Javier Miranda  <miranda@adacore.com>
11667
11668         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
11669         derived type that has discriminants, propagate the list of interfaces
11670         to the corresponding new base type. In addition, propagate also
11671         attribute Limited_Present (found working in this patch).
11672
11673 2009-04-07  Robert Dewar  <dewar@adacore.com>
11674
11675         * exp_ch4.adb: Rewrite concatenation expansion.
11676
11677 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11678
11679         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
11680         relevant to packages.
11681
11682 2009-04-07  Robert Dewar  <dewar@adacore.com>
11683
11684         * sem_attr.adb: Minor reformatting
11685
11686         * sem_ch6.adb: Minor reformatting
11687
11688 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11689
11690         * socket.c: Add more protections against S_resolvLib_ macros.
11691
11692 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11693
11694         * sem_attr.adb: Minor reformatting
11695
11696 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11697
11698         * sem_ch6.adb (New_Overloaded_Entity): New predicate
11699         Is_Overriding_Alias to handle properly types that inherit two homonym
11700         operations that have distinct dispatch table entries.
11701
11702 2009-04-07  Emmanuel Briot  <briot@adacore.com>
11703
11704         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
11705         looking for the end of a parenthesis group
11706
11707 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11708
11709         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
11710
11711         * socket.c Don't use resolvLib_ macros if not defined.
11712
11713 2009-04-07  Robert Dewar  <dewar@adacore.com>
11714
11715         * g-socket.adb: Minor reformatting.
11716
11717         * g-socthi-mingw.adb: Minor reformatting
11718
11719         * g-sothco.ads: Minor reformatting
11720
11721         * exp_ch4.adb:
11722         (Expand_Concatenate_String): Complete rewrite to generate efficient code
11723         inline instead of relying on external library routines.
11724
11725         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
11726         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
11727         obsolescent
11728
11729 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11730
11731         * sem_attr.adb:
11732         (Eval_Attribute): for attributes of array objects that are not strings,
11733         attributes are not static if nominal subtype of object is unconstrained.
11734
11735 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11736
11737         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
11738         operations for a type T in an instance do not override each other,
11739         when T is derived from a formal private type, the corresponding
11740         operations inherited by a type derived from T outside
11741         of the instance do not override each other either.
11742
11743 2009-04-07  Robert Dewar  <dewar@adacore.com>
11744
11745         (Osint.Fail): Change calling sequence to have one string arg
11746         (Make.Make_Failed): Same change
11747         All callers are adjusted to use concatenation
11748
11749 2009-04-07  Robert Dewar  <dewar@adacore.com>
11750
11751         * exp_ch4.adb: Fix documentation typo
11752
11753 2009-04-07  Robert Dewar  <dewar@adacore.com>
11754
11755         * tbuild.ads: Minor reformatting
11756
11757 2009-04-07  Javier Miranda  <miranda@adacore.com>
11758
11759         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
11760         when compiling under ZFP runtime.
11761
11762 2009-04-07  Robert Dewar  <dewar@adacore.com>
11763
11764         * g-comlin.adb: Minor reformatting
11765
11766 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11767
11768         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11769         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
11770         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
11771         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
11772
11773 2009-04-07  Robert Dewar  <dewar@adacore.com>
11774
11775         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
11776
11777         * opt.ads (Sprint_Line_Limit): New parameter
11778         
11779         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
11780         
11781         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
11782         
11783         * usage.adb: Output information for -gnatGnn -gnatDnn
11784
11785 2009-04-07  Robert Dewar  <dewar@adacore.com>
11786
11787         * make.adb: Minor reformatting
11788
11789 2009-04-07  Robert Dewar  <dewar@adacore.com>
11790
11791         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
11792
11793 2009-04-07  Robert Dewar  <dewar@adacore.com>
11794
11795         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
11796
11797 2009-04-07  Robert Dewar  <dewar@adacore.com>
11798
11799         * checks.adb:
11800         Remove Assume_Valid parameter from In_Subrange_Of calls
11801         
11802         * sem_eval.adb:
11803         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11804         (Is_In_Range): Remove incorrect use of Assume_Valid
11805         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
11806         
11807         * sem_eval.ads:
11808         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11809         (Is_In_Range): Documentation cleanup
11810         (Is_Out_Of_Range): Documentation cleanup
11811
11812         * gnat_rm.texi:
11813         Add documentation for Assume_No_Invalid_Values pragma
11814
11815         * sem_ch12.adb: Minor reformatting
11816
11817         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
11818
11819         * sem_prag.adb: Improve error message.
11820
11821         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
11822         LF/CR no longer recognized as line terminator
11823
11824         * switch.ads: Minor documentation improvement
11825
11826         * vms_data.ads: Minor reformatting
11827
11828 2009-04-07  Robert Dewar  <dewar@adacore.com>
11829
11830         * checks.adb (Determine_Range): Add Assume_Valid parameter
11831         
11832         * checks.ads (Determine_Range): Add Assume_Valid parameter
11833         
11834         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
11835          Is_Null_Loop to suppress warnings in a loop body.
11836         
11837         * exp_ch4.adb:
11838         (Rewrite_Comparison): Major rewrite to accomodate invalid values
11839         
11840         * exp_ch5.adb:
11841         (Expand_N_Loop_Statement): Delete loop known not to execute
11842         
11843         * opt.ads:
11844         (Assume_No_Invalid_Values): Now set to False, and as documented, this
11845          fully enables the proper handling of invalid values.
11846         
11847         * sem_attr.adb:
11848         New calling sequence for Is_In_Range
11849         
11850         * sem_ch5.adb:
11851         (Analyze_Iteration_Scheme): Accomodate possible invalid values
11852          in determining if a loop range is null.
11853         
11854         * sem_eval.adb:
11855         (Is_In_Range): Add Assume_Valid parameter
11856         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11857         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
11858          also to do more accurate and complete range analysis, catching more
11859          cases.
11860         
11861         * sem_eval.ads:
11862         (Is_In_Range): Add Assume_Valid parameter
11863         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11864         
11865         * sem_util.adb:
11866         New calling sequence for Is_In_Range
11867         
11868         * sinfo.adb:
11869         (Suppress_Loop_Warnings): New flag
11870         
11871         * sinfo.ads:
11872         (Is_Null_Loop): Update documentation
11873         (Suppress_Loop_Warnings): New flag
11874         
11875         * gnat_ugn.texi: Document -gnatB switch
11876
11877 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11878
11879         * gnatvsn.ads: Bump version number.
11880
11881 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11882
11883         * exp_ch3.adb: Minor rewording (comments)
11884
11885 2009-04-07  Robert Dewar  <dewar@adacore.com>
11886
11887         * exp_disp.adb: Minor reformatting
11888
11889 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11890
11891         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
11892         underlying type.
11893         * gcc-interface/trans.c (lvalue_required_p): Likewise.
11894
11895 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11896
11897         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
11898         Do not convert the result.  Remove obsolete comment.
11899
11900 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11901
11902         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
11903         DECL_CONTEXT.
11904         (Subprogram_Body_to_gnu): Fix pasto.
11905
11906 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11907
11908         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
11909         (void_type_decl_node): Remove.
11910         (init_gigi_decls): Likewise.
11911         (gnat_install_builtins): Declare.
11912         (record_builtin_type): Likewise.
11913         (create_type_stub_decl): Likewise.
11914         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
11915         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
11916         artificial.
11917         <E_Array_Subtype>: Use the index types, not only their name, in the
11918         record giving the names of the bounds, if any.
11919         For a packed array type, make it artificial only if the base type
11920         was artificial as well.  Remove redundant statement.
11921         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
11922         dummy types.
11923         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
11924         (rest_of_type_decl_compilation_no_defer): Likewise.
11925         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
11926         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
11927         and use create_type_stub_decl to build it.
11928         (gnat_pushdecl): Rewrite condition.
11929         (gnat_install_builtins): Remove bogus declaration.
11930         (record_builtin_type): New function.
11931         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
11932         of types.
11933         (create_type_stub_decl): New function.
11934         (create_type_decl): Assert that the type is not dummy.  If the type
11935         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
11936         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
11937         (build_vms_descriptor): Likewise.
11938         (init_gigi_decls): Delete and move bulk of code to...
11939         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
11940         (emit_range_check): Add gnat_node parameter.
11941         (emit_index_check): Likewise.
11942         (emit_check): Likewise.
11943         (build_unary_op_trapv): Likewise.
11944         (build_binary_op_trapv): Likewise.
11945         (convert_with_check): Likewise.
11946         (Attribute_to_gnu): Adjust calls for above changes.
11947         (call_to_gnu): Likewise.
11948         (gnat_to_gnu): Likewise.
11949         (assoc_to_constructor): Likewise.
11950         (pos_to_constructor): Likewise.
11951         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
11952         (process_type): Do not create TYPE_DECL for dummy types.
11953
11954 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11955
11956         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
11957         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
11958         * gcc-interface/utils.c: Fix comments.
11959
11960 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11961
11962         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
11963         move around.
11964         (gnat_to_gnu_type): Move around.
11965         (get_unpadded_type): Likewise.
11966         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
11967         Tidy comments.
11968
11969 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11970
11971         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
11972         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
11973         (call_to_gnu): Invoke it instead of manually checking.
11974
11975 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
11976
11977         * gcc-interface/utils.c (finish_record_type): Force structural equality
11978         checks if the record type is discriminated.
11979
11980 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
11981
11982         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
11983         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
11984         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
11985         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
11986         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
11987         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
11988         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
11989
11990 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
11991
11992         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
11993         of TREE_CONSTANT_OVERFLOW.
11994
11995 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
11996
11997         PR rtl-optimization/323
11998         * gcc-interface/misc.c (gnat_post_options): Set
11999         flag_excess_precision_cmdline.  Give an error for
12000         -fexcess-precision=standard for processors where the option is
12001         significant.
12002
12003 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
12004
12005         PR c/39323
12006         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
12007         on bit_align.
12008
12009 2009-03-11  Olivier Hainque  <hainque@adacore.com>
12010
12011         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
12012         checks processing, remove unintended TREE_TYPE walk on index type.
12013
12014 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
12015
12016         PR ada/39264
12017         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
12018         call make_packable_type on fat pointer types.
12019         <E_Array_Subtype>: Likewise.
12020         <E_Record_Subtype>: Call make_packable_type on all record types
12021         except for fat pointer types.
12022         (make_packable_type): Likewise.
12023         (gnat_to_gnu_field): Likewise.
12024
12025 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
12026
12027         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
12028         EH_MECHANISM change made on 2007-12-06.
12029
12030 2009-02-26  Andreas Schwab  <schwab@suse.de>
12031
12032         PR ada/39172
12033         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
12034         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
12035         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
12036         (AWK): Substitute.
12037         (target_cpu_default): Substitute.
12038
12039 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
12040
12041         PR ada/39221
12042         * a-teioed.adb (Expand): Fix Result overflow.
12043
12044 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
12045
12046         * gcc-interface/Makefile.in: Fix multilib handling for
12047         sparc64-linux.
12048
12049 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12050
12051         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
12052
12053 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
12054
12055         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
12056
12057 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
12058
12059         * gcc-interface/deftarg.c: Remove.
12060
12061 2009-02-10  Olivier Hainque  <hainque@adacore.com>
12062             Eric Botcazou  <ebotcazou@adacore.com>
12063
12064         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
12065         (copy_alias_set): Rename into...
12066         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
12067         underlying array of unconstrained arrays for the new type as well.
12068         If the old and new alias sets don't conflict, make one a subset of
12069         the other as per the OP parameter.
12070         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
12071         <E_Record_Type>: Do not copy the alias set for derived types.
12072         For all types, make the alias set of derived types a superset of
12073         that of their parent type.
12074         (make_aligning_type): Adjust calls to copy_alias_set.
12075         (make_packable_type): Likewise.
12076         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
12077         Check for alias set conflict instead of strict equality to issue the
12078         warning.
12079
12080 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
12081
12082         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
12083         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
12084         (copy_alias_set): Assert that arrays have the same aliasing settings.
12085         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
12086
12087 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
12088
12089         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
12090         Set TYPE_NONALIASED_COMPONENT on the array type.
12091
12092 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
12093
12094         * gcc-interface/Makefile.in: Fix mipsel linux handling.
12095
12096 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
12097
12098         * gcc-interface/Makefile.in: Fix multilib handling for
12099         powerpc64-linux.
12100
12101 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
12102
12103         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
12104         only useless conversions around renamed objects.
12105
12106 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
12107
12108         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
12109         the _Tag field before any discriminants in the field list.
12110         (components_to_record): Remove obsolete comment.
12111
12112
12113 \f
12114 Copyright (C) 2009 Free Software Foundation, Inc.
12115
12116 Copying and distribution of this file, with or without modification,
12117 are permitted in any medium without royalty provided the copyright
12118 notice and this notice are preserved.