OSDN Git Service

Move 2009 ChangeLog to ChangeLog-2009.
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog-2009
1 2009-12-10  Eric Botcazou  <ebotcazou@adacore.com>
2
3         * s-linux-sparc.ads: New file.
4         * gcc-interface/Makefile.in (SPARC/Linux): Use it.
5
6 2009-12-04  Eric Botcazou  <ebotcazou@adacore.com>
7
8         * gcc-interface/trans.c (add_decl_expr): At toplevel, mark the
9         TYPE_ADA_SIZE field of records and unions.
10
11         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Set the
12         source location of the node onto the comparison expression if it
13         is not cached.
14
15 2009-12-03  Eric Botcazou  <ebotcazou@adacore.com>
16
17         * exp_util.adb (Make_CW_Equivalent_Type): Set the
18         Is_Class_Wide_Equivalent_Type flag here in lieu of...
19         (Make_Subtype_From_Expr): ...here.
20         * exp_ch3.adb (Expand_Freeze_Record_Type): Do not set
21         Has_Controlled_Component on class-wide equivalent types.
22         * freeze.adb (Freeze_Record_Type): Likewise.
23         * sem_ch3.adb (Record_Type_Definition): Likewise.
24
25 2009-12-01  Pascal Obry  <obry@adacore.com>
26
27         * s-osprim-mingw.adb (Get_Base_Time): Make sure that the base time is
28         taken at a clock tick boundary.
29
30 2009-12-01  Thomas Quinot  <quinot@adacore.com>
31
32         * g-sechas.ads (GNAT.Secure_Hashes.H."=" on Context): Make abstract.
33
34 2009-12-01  Matthew Gingell  <gingell@adacore.com>
35
36         * adadecode.c: Allow compilation when building the run time in the gnat
37         runtime.
38         (__gnat_decode): Strip the .nnnn suffix from names of nested functions.
39
40         * gcc-interface/Makefile.in: Ada adadecode to LIBGNAT_SRCS and
41         LIBGNAT_OBJS.
42
43 2009-12-01  Vincent Celier  <celier@adacore.com>
44
45         * gnatcmd.adb (Check_Files): Quote the path names as they may include
46         spaces.
47
48 2009-12-01  Ed Schonberg  <schonberg@adacore.com>
49
50         * sem_ch3.adb (Analyze_Object_Declaration): If the defining identifier
51         has already been declared, it may have been rewritten as a renaming
52         declaration.
53
54 2009-12-01  Ed Schonberg  <schonberg@adacore.com>
55
56         * einfo.ads: Clarify use of Is_Private_Primitive.
57         * sem_ch6.adb (Analyze_Subprogram_Declaration): An operation is a
58         private primitive operation only if it is declared in the scope of the
59         private controlling type.
60         * exp_ch9.adb (Build_Wrapper_Spec): Build wrappers for private
61         protected operations as well.
62
63 2009-12-01  Arnaud Charlet  <charlet@adacore.com>
64
65         * gnat1drv.adb (Adjust_Global_Switches): Disable front-end
66         optimizations in CodePeer mode, to keep the tree as close to the source
67         code as possible, and also to avoid inconsistencies between trees when
68         using different optimization switches.
69
70 2009-12-01  Thomas Quinot  <quinot@adacore.com>
71
72         * scos.ads: Updated specification of source coverage obligation
73         information.
74
75 2009-12-01  Thomas Quinot  <quinot@adacore.com>
76
77         * g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
78         a-ststio.adb, s-commun.adb, s-commun.ads, g-socket.adb,
79         g-socket.ads (System.Communications.Last_Index): For the case where no
80         element has been transferred and Item'First =
81         Stream_Element_Offset'First, raise CONSTRAINT_ERROR.
82
83 2009-12-01  Ed Schonberg  <schonberg@adacore.com>
84
85         * sem_ch10.adb (Install_Siblings): A private with_clause on some child
86         unit U in an ancestor of the current unit must be ignored if the
87         current unit has a regular with_clause on U.
88
89 2009-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
90
91         * s-oscons-tmplt.c [__mips && __sgi]: Only define _XOPEN5, IOV_MAX
92         if _XOPEN_IOV_MAX is defined.
93
94 2009-11-30  Vasiliy Fofanov  <fofanov@adacore.com>
95
96         * vms_data.ads: Add new VMS qualifiers,
97         REVERSE_BIT_ORDER/NOREVERSE_BIT_ORDER, to support warnings on bit order
98         effects.
99
100 2009-11-30  Thomas Quinot  <quinot@adacore.com>
101
102         * exp_ch9.adb, exp_ch9.ads, sem_util.ads: Minor reformatting.
103
104 2009-11-30  Gary Dismukes  <dismukes@adacore.com>
105
106         * sem_prag.adb: Fix spelling error.
107
108 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
109
110         * exp_ch9.ads (Build_Private_Protected_Declaration): For a protected
111         operation that is only declared in a protected body, create a
112         corresponding subprogram declaration.
113         * exp_ch9.adb (Expand_N_Protected_Body): Create protected body of
114         operation in all cases, including for an operation that is only
115         declared in the body.
116         * sem_ch6.adb: Call Build_Private_Protected_Declaration
117         * exp_ch6.adb (Expand_N_Subprogram_Declaration): For an operation
118         declared in a protected body, create the declaration for the
119         corresponding protected version of the operation.
120
121 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
122
123         * gnat1drv.adb (Adjust_Global_Switches): Disable specific expansions
124         for Restrictions pragmas, to avoid tree inconsistencies between
125         compilations with different pragmas.
126
127 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
128
129         * sem_prag.adb (Check_Duplicated_Export_Name): Allow entities exported
130         to CIL to have duplicated export name.
131
132 2009-11-30  Robert Dewar  <dewar@adacore.com>
133
134         * a-tiinio.adb: Remove extraneous pragma Warnings (Off).
135
136 2009-11-30  Thomas Quinot  <quinot@adacore.com>
137
138         * par_sco.adb: Minor reformatting
139
140 2009-11-30  Ed Falis  <falis@adacore.com>
141
142         * s-vxwext.ad[s,b], system-vxworks-ppc.ads, s-stchop-vxworks.adb:
143         Comment update.
144
145 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
146
147         * par_sco.adb (Traverse_Handled_Statement_Sequence): Do not emit SCO's
148         for null statements that do not come from source.
149         * sinfo.ads: Clarify documentation of Comes_From_Source
150
151 2009-11-30  Vincent Celier  <celier@adacore.com>
152
153         * prj-nmsc.adb (Add_Source): Use Display_Name for both projects when
154         displaying the paths in error message.
155
156 2009-11-30  Emmanuel Briot  <briot@adacore.com>
157
158         * adaint.h, adaint.c (file_attributes): force the use of unsigned char.
159         On some platforms, "char" is signed, on others unsigned, so we
160         explicitly specify the one we expect
161
162 2009-11-30  Matthew Heaney  <heaney@adacore.com>
163
164         * a-coinve.adb (Insert): Move exception handler closer to point where
165         exception can occur.
166         Minor reformatting & comment additions.
167
168 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
169
170         * freeze.adb (Freeze_Entity): Disable warning on 'Foreign caller must
171         pass bounds' for VM targets, not relevant.
172
173 2009-11-30  Robert Dewar  <dewar@adacore.com>
174
175         * sem_util.adb (Wrong_Type): Diagnose additional case of modular
176         missing parens.
177         * a-tiinio.adb, a-wtinio.adb, a-ztinio.adb: Minor reformatting
178
179         * exp_util.adb (Kill_Dead_Code): Suppress warning for some additional
180         cases.
181
182         * sem_warn.adb (Set_Warning_Flag): Clean up gnatwA list and ensure
183         completeness.
184         (Set_Dot_Warning_Flag): Ditto for -gnatw.e
185         (Set_Dot_Warning_Flag): Implement -gnbatw.v/w.V
186         * usage.adb: Add lines for -gnatw.v/w.V
187
188 2009-11-30  Emmanuel Briot  <briot@adacore.com>
189
190         * make.adb (Check_Standard_Library): use Full_Source_Name instead of
191         direct call to Find_File. The former provides caching of the results, so
192         might be more efficient
193         (Start_Compile_If_Necessary): Add comment on possible optimization,
194         not done for now.
195
196 2009-11-30  Thomas Quinot  <quinot@adacore.com>
197
198         * g-sechas.adb: Minor reformatting
199
200 2009-11-30  Matthew Heaney  <heaney@adacore.com>
201
202         * a-crbtgo.adb (Delete_Fixup): Add comments explaining why predicates
203         were removed.
204         * a-cdlili.adb (Vet): Remove always-true predicates.
205
206 2009-11-30  Thomas Quinot  <quinot@adacore.com>
207
208         * s-sechas.adb, s-sechas.ads, s-shshco.adb, s-shshco.ads, s-shsh64.adb,
209         s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, s-shsh32.adb, s-shsh32.ads,
210         s-sehash.adb, s-sehash.ads, g-sechas.adb, g-sechas.ads, g-shshco.adb,
211         g-shshco.ads, g-md5.ads, g-sha256.ads, g-shsh64.adb, g-shsh64.ads,
212         g-sehamd.adb, g-sehamd.ads, g-sha512.ads, g-sha1.ads, Makefile.rtl,
213         g-sha224.ads, g-shsh32.adb, g-shsh32.ads, g-sha384.ads, g-sehash.adb,
214         g-sehash.ads: Rename System.Secure_Hashes to GNAT.Secure_Hashes.
215
216 2009-11-30  Robert Dewar  <dewar@adacore.com>
217
218         * osint.ads: Minor comment update.
219
220 2009-11-30  Thomas Quinot  <quinot@adacore.com>
221
222         * s-sechas.adb: Fix swapping error in previous checkin.
223         * g-md5.ads, g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads,
224         g-sha384.ads: Add missing documentation.
225
226 2009-11-30  Robert Dewar  <dewar@adacore.com>
227
228         * g-sha256.ads, s-sehamd.ads, s-sehamd.adb, g-sha512.ads, g-sha224.ads,
229         g-sha384.ads: Minor reformatting
230
231 2009-11-30  Emmanuel Briot  <briot@adacore.com>
232
233         * adaint.h (file_attributes): Reduce size of the structure, so that it
234         is less costly to store in records.
235         * makeutl.adb:
236         (Check_Source_Info_In_ALI): use Full_Source_Name instead of a direct
237         call to Find_File, since the former provides caching when appropriate,
238         which limits the number of system calls in some cases.
239         * osint.ads, prj.ads (Source_Data): do not store directly the timestamp,
240         but the file attributes since we also need access to the size of the
241         ALI file to parse it. This gives an opportunity for saving system calls
242         on Unix systems.
243
244 2009-11-30  Robert Dewar  <dewar@adacore.com>
245
246         * sem_prag.adb, s-sechas.ads, s-sechas.adb: Minor reformatting.
247
248 2009-11-30  Gary Dismukes  <dismukes@adacore.com>
249
250         * sem_prag.adb (Process_Convention): Change formal E to Ent. In the
251         case where the pragma's entity argument is a renaming, return the
252         entity denoted by the renaming rather than the renamed entity. Loop
253         through the homonyms of the original argument entity, rather than the
254         homonyms of any renamed entity. Correct call to Generate_Entity to
255         pass the homonym.
256
257 2009-11-30  Vincent Celier  <celier@adacore.com>
258
259         * impunit.adb: Add packages that were added to the GNAT library:
260         GNAT.SHA224, GNAT.SHA256, GNAT.SHA384 and GNAT.SHA512.
261         * s-sechas.adb (Fill_Buffer_Copy): Fixes incorrect slice index
262
263 2009-11-30  Robert Dewar  <dewar@adacore.com>
264
265         * exp_ch3.adb: Minor reformatting
266         * g-md5.ads, g-sha1.ads: Add comment.
267
268 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
269
270         * gcc-interface/Makefile.in: Remove handling of libgccprefix, no longer
271         needed.
272
273 2009-11-30  Pascal Obry  <obry@adacore.com>
274
275         * expect.c: Fix cast to avoid warnings in x86-64 Windows.
276
277 2009-11-30  Thomas Quinot  <quinot@adacore.com>
278
279         * gnat_rm.texi, s-sechas.adb, s-sechas.ads, s-shshco.adb,
280         s-shshco.ads, g-md5.adb, g-md5.ads, g-sha256.ads, s-shsh64.adb,
281         s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, g-sha512.ads, g-sha1.adb,
282         g-sha1.ads, Makefile.rtl, g-sha224.ads, g-sha384.ads, s-shsh32.adb,
283         s-shsh32.ads, s-sehash.adb, s-sehash.ads: Reimplementation of GNAT.MD5
284         and GNAT.SHA1 to factor shared code and avoid unnecessary stack copies.
285         Also introduce new functions SHA-{224,256,384,512}
286
287 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
288
289         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve comment for
290         the Value_Type case.
291
292 2009-11-30  Thomas Quinot  <quinot@adacore.com>
293
294         * a-textio.adb: Minor reformatting
295
296 2009-11-30  Pascal Obry  <obry@adacore.com>
297
298         * adaint.c: Fix bug in passing parameter.
299         * expect.c: Include io.h to get definition of _open_osfhandle
300
301 2009-11-30  Javier Miranda  <miranda@adacore.com>
302
303         * exp_ch6.adb, sem_scil.adb (Adjust_SCIL_Node): Add missing management
304         of N_Unchecked_Type_Conversion nodes when searching for SCIL nodes.
305         (Expand_Call): Adjust decoration of SCIL node associated with relocated
306         function call.
307
308 2009-11-30  Emmanuel Briot  <briot@adacore.com>
309
310         * prj-env.adb (Add_To_Source_Path): Preserve casing of directories
311
312 2009-11-30  Vincent Celier  <celier@adacore.com>
313
314         * opt.ads (No_Split_Units): New flag initialized to False
315
316 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
317
318         * exp_ch7.adb (Needs_Finalization): Add comments.
319         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve handling of
320         CIL Value types.
321
322 2009-11-30  Robert Dewar  <dewar@adacore.com>
323
324         * osint.adb, a-rttiev.adb: Minor reformatting.
325
326 2009-11-30  Robert Dewar  <dewar@adacore.com>
327
328         * gnat_rm.texi: Remove list of warning letters, and refer instead to
329         using gnatmake to get a brief list.
330
331         * debug.adb: Document -gnatd.i to disable pragma Warnings
332         * par-prag.adb, sem_prag.adb: Recognize -gnatd.i to disable Warnings
333         pragma.
334         * vms_data.ads: Add /NOWARNINGS_PRAGMS for -gnatd.i
335         
336 2009-11-30  Geert Bosch  <bosch@adacore.com>
337
338         * a-ngelfu.adb (Sin): Correct spelling of sine in comment.
339
340 2009-11-30  Vincent Celier  <celier@adacore.com>
341
342         * gnatls.adb: Do not call Get_Target_Parameters in Verbose_Mode, as it
343         is not needed and gnatls fails when called with -v -nostdinc.
344
345 2009-11-30  Emmanuel Briot  <briot@adacore.com>
346
347         * osint.adb, osint.ads (File_Time_Stamp): new subprogram.
348
349 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
350
351         * gnat_rm.texi, gnat_ugn.texi: Document new syntax for pragma Annotate
352
353 2009-11-30  Robert Dewar  <dewar@adacore.com>
354
355         * scans.ads (Wide_Wide_Character_Found): New flag
356         * scn.adb (Post_Scan): Set new flag Has_Wide_Wide_Character
357         * scng.adb (Set_String): Set new flag Wide_Wide_Character_Found
358         (Set_String): Fix failure to reset Wide_Character_Found
359         * sinfo.adb (Has_Wide_Wide_Character): New flag in N_String_Literal
360         * sinfo.ads (Has_Wide_Wide_Character): New flag in N_String_Literal
361         * a-ngelfu.adb: Minor reformatting & code reorganization.
362         * usage.adb: Fix typo in -gnatw.W line
363
364 2009-11-30  Robert Dewar  <dewar@adacore.com>
365
366         * osint.adb, prj-nmsc.adb, sem_prag.adb, sem_util.adb: Minor
367         reformatting.
368         * csinfo.adb: Terminate run if improper use of reserved flag
369         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): Don't use reserved
370         Flag12, used Flag13 instead.
371         
372 2009-11-30  Vincent Celier  <celier@adacore.com>
373
374         * gnatcmd.adb (Check_Files): Recognize documented switches that have a
375         separate parameter.
376
377 2009-11-30  Robert Dewar  <dewar@adacore.com>
378
379         * sem_util.ads: Minor reformatting
380         * errout.adb: Minor reformatting
381         Minor code reorganization (use N_Subprogram_Specification to simplify)
382         * exp_ch7.adb: Add comment.
383
384 2009-11-30  Thomas Quinot  <quinot@adacore.com>
385
386         * put_scos.adb (Put_SCOs): Do not generate a SCO unit header for a unit
387         that has no SCOs.
388         * scos.ads: Minor reformatting
389
390 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
391
392         * sem_prag.adb: Second unanalyzed parameter of Annotate is optional.
393
394 2009-11-30  Eric Botcazou  <ebotcazou@adacore.com>
395
396         * init.c (__gnat_adjust_context_for_raise, Linux version): Add guard
397         for null PC saved in the context.
398
399 2009-11-30  Hristian Kirtchev  <kirtchev@adacore.com>
400
401         * a-calend.adb (Day_Of_Week): Rewritten. The routine determines the
402         number of days from the Ada Epoch to the input date while ensuring that
403         both dates are in the same time zone.
404
405 2009-11-30  Emmanuel Briot  <briot@adacore.com>
406
407         * clean.adb ("-eL"): Also set Follow_Links_For_Dirs, to match what is
408         done in other project-aware tools like gnatmake and gprbuild.
409
410 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
411
412         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Take care of CIL
413         ValueTypes.
414         * exp_ch7.adb (Needs_Finalization): Do not finalize CIL valuetypes.
415         * sem_util.adb (Is_Value_Type): Protect against invalid calls to Chars
416         (Is_Delegate): New method used for CIL.
417         * sem_util.ads (Is_Delegate): New method for CIL handling.
418         (Is_Value_Type): Improve documentation.
419
420 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
421
422         * errout.adb (Unwind_Internal_Type): Improve error reporting if the
423         type is an anonymous access to subprogram that is the type of a formal
424         in a subprogram spec.
425
426 2009-11-30  Vincent Celier  <celier@adacore.com>
427
428         * prj-nmsc.adb (Check_Interfaces): In a Stand-Alone Library project, if
429         attribute Interfaces is not declared, then Library_Interface should
430         define the interfaces.
431
432 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
433
434         * sem_prag.adb: New semantics for Annotate.
435
436 2009-11-30  Tristan Gingold  <gingold@adacore.com>
437
438         * gcc-interface/Makefile.in: Do not link with -static-libgcc on Darwin.
439
440 2009-11-30  Emmanuel Briot  <briot@adacore.com>
441
442         * gnat_ugn.texi: Extend doc for -eL
443
444 2009-11-30  Vincent Celier  <celier@adacore.com>
445
446         * osint.adb (Executable_Name (File_Name_Type)): Put the Name in the
447         Name_Buffer before testing for a dot in the Name.
448
449 2009-11-30  Vincent Celier  <celier@adacore.com>
450
451         * prj-part.adb (Project_Path_Name_Of): Resolve links for final result
452         if -eL has been specified.
453
454 2009-11-30  Vincent Celier  <celier@adacore.com>
455
456         * osint.adb (Executable_Name): Test the name instead of the name buffer
457         to check if there is a dot in the given name.
458
459 2009-11-30  Sergey Rybin  <rybin@adacore.com>
460
461         * gnat_ugn.texi: Update gnatcheck doc.
462
463 2009-11-30  Robert Dewar  <dewar@adacore.com>
464
465         * sem_ch3.adb, sem_disp.adb, usage.adb: Minor reformatting
466
467 2009-11-30  Vasiliy Fofanov  <fofanov@adacore.com>
468
469         * gnat_ugn.texi: Minor editing.
470
471 2009-11-30  Emmanuel Briot  <briot@adacore.com>
472
473         * prj-nmsc.adb (Search_Directories): when -eL was not specified, assume
474         that no directory matches the naming scheme for sources.
475
476 2009-11-30  Emmanuel Briot  <briot@adacore.com>
477
478         * prj.adb, prj.ads, prj-nmsc.adb (Has_Multi_Unit_Sources): New field in
479         project_data.
480
481 2009-11-30  Vincent Celier  <celier@adacore.com>
482
483         * osint.adb (Executable_Name): Correctly decide if the executable
484         suffix should be added when Only_If_No_Suffix is True.
485
486 2009-11-30  Robert Dewar  <dewar@adacore.com>
487
488         * frontend.adb, gnatlink.adb, prj-conf.adb, prj-tree.adb,
489         prj-tree.ads: Minor reformatting
490
491 2009-11-30  Vincent Celier  <celier@adacore.com>
492
493         * gnatlink.adb (Process_Args): Call Executable_Name on argument of -o
494         with Only_If_No_Suffix set to True.
495         * osint.adb (Executable_Name): Do not add executable suffix if there is
496         already a suffix and Only_If_No_Suffix is True.
497         * osint.ads (Executable_Name): New Boolean parameter Only_If_No_Suffix,
498         defaulted to False.
499
500 2009-11-30  Javier Miranda  <miranda@adacore.com>
501
502         * exp_atag.adb (Build_TSD): Change argument name because the actual is
503         now the address of a tag (instead of the tag). Update implementation
504         accordingly.
505         (Build_CW_Membership): New implementation. Converted into a procedure
506         because it has an additional out mode parameter. Its implementation has
507         been rewritten to improve the generated code but also to facilitate
508         referencing the relocated object node in the caller.
509         * exp_atag.ads (Build_CW_Membership): Update profile and documentation.
510         * sinfo.ads (N_SCIL_Membership_Test) New_Node.
511         (SCIL_Tag_Value): New field of N_SCIL_Membership_Test nodes.
512         (Is_Syntactic_Field): Add entry of new node.
513         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
514         * sinfo.adb (SCIL_Related_Node, SCIL_Entity): Update assertions to
515         handle N_SCIL_Membership_Test nodes.
516         (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
517         * sem.adb (Analyze): Add null management for new node.
518         * sem_scil.adb (Find_SCIL_Node): Add null management for new node.
519         (Check_SCIL_Node): Add checks of N_SCIL_Membership_Test nodes.
520         * exp_ch4.adb (Tagged_Membership): Change profile from function to
521         procedure. Add generation of SCIL node associated with class-wide
522         membership test.
523         (Expand_N_In): Complete decoration of SCIL nodes.
524         * exp_intr.adb (Expand_Dispatching_Constructor_Call): Tune call to
525         Build_CW_Membership because its profile has been changed.
526         * exp_util.adb (Insert_Actions): Add null management for new node.
527         * sprint.adb (Sprint_Node_Actual): Handle new node.
528         * gcc-interface/trans.c Add no processing for N_SCIL_Membership_Test
529         nodes.
530         * gcc-interface/Make-lang.in: Update dependencies.
531
532 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
533
534         * opt.ads: New flags Init_Or_Norm_Scalars_Config,
535         Initialize_Scalars_Config, to capture the presence of the corresponding
536         pragmas in a configuration file.
537         * opt.adb (Register_, Save_, Set_, Restore_Opt_Configuration_Switches):
538         handle new flags so that they are restored for each compilation unit.
539         * frontend.adb: At the end of compilation, scan the context of the main
540         unit to recover occurrences of pragma Initialize_Scalars, to annotate
541         the ALI file accordingly.
542
543 2009-11-30  Vincent Celier  <celier@adacore.com>
544
545         * prj-tree.ads: Minor comment updates
546         * prj-tree.adb: Minor reformatting
547
548 2009-11-30  Ed Schonberg  <schonberg@adacore.com>
549
550         * sem_ch3.adb (Derive_Subprogram): Indicate that an inherited
551         predefined control operation is hidden if the parent type is not
552         visibly controlled.
553         * sem_ch6.adb (Check_Overriding_Indicator): Do not report error if
554         overridden operation is not visible, as may be the case with predefined
555         control operations.
556         * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on
557         non-overriding control operation when type is not visibly controlled,
558         if the subprogram has an explicit overriding indicator.
559         * sem_util.ads, sem_util.adb (Is_Visibly_Controlled): Moved here from
560         sem_disp.adb.
561
562 2009-11-30  Emmanuel Briot  <briot@adacore.com>
563
564         * prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows
565         * prj-attr.ads: Minor comment updates
566
567 2009-11-30  Robert Dewar  <dewar@adacore.com>
568
569         * gnat_rm.texi: Document pragma Short_Circuit
570
571 2009-11-30  Emmanuel Briot  <briot@adacore.com>
572
573         * prj-conf.adb, prj-tree.adb, prj-tree.ads (Create_Attribute): Now set
574         the index either on the attribute or on its value, depending on the
575         kind of the attribute. Done to match recent changes in Prj.PP that were
576         not synchronized with this function.
577
578 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
579
580         * gcc-interface/Make-lang.in: Fix typo.
581         Update dependencies.
582
583 2009-11-30  Robert Dewar  <dewar@adacore.com>
584
585         * gnat_rm.texi: Add documentation for attribute Result.
586
587 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
588
589         * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
590         s-osinte-tru64.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads
591         (Get_Page_Size): Update comment since Get_Page_Size is now required.
592
593 2009-11-30  Jerome Lambourg  <lambourg@adacore.com>
594
595         * freeze.adb: Disable Warning on VM targets concerning C Imports, not
596         relevant.
597
598 2009-11-30  Bob Duff  <duff@adacore.com>
599
600         * sprint.adb (Source_Dump): Minor comment fix.
601         (Write_Itype): When writing a string literal subtype, use Expr_Value
602         instead of Intval to get the low bound.
603
604 2009-11-30  Vincent Celier  <celier@adacore.com>
605
606         * gnatlink.adb (Process_Args): Do not call Executable_Name on arguments
607         of switch -o.
608
609 2009-11-30  Robert Dewar  <dewar@adacore.com>
610
611         * exp_ch4.adb (Expand_N_Op_And): Implement pragma Short_Circuit_And_Or
612         (Expand_N_Op_Or): Implement pragma Short_Circuit_And_Or
613         * opt.ads (Short_Circuit_And_Or): New flag
614         * par-prag.adb: Add dummy entry for pragma Short_Circuit_And_Or
615         * sem_prag.adb: Implement pragma Short_Circuit_And_Or
616         * snames.ads-tmpl: Add entries for pragma Short_Circuit_And_Or
617
618 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
619
620         * s-taprop-posix.adb: Fix casing.
621         * s-osinte-tru64.adb: Complete previous check-in.
622
623 2009-11-30  Robert Dewar  <dewar@adacore.com>
624
625         * gnat_rm.texi: Document pragma Compiler_Unit
626         * s-bitops.adb, s-restri.adb, g-htable.adb, s-restri.ads,
627         a-comlin.ads, a-strhas.ads, s-strhas.adb, s-parame.adb,
628         s-parame.ads, a-clrefi.adb, a-clrefi.ads, a-ioexce.ads: Supply missing
629         Compiler_Unit pragmas.
630         * freeze.adb (Freeze_Entity): Improve message for 8-bit boolean passed
631         to C.
632
633 2009-11-30  Robert Dewar  <dewar@adacore.com>
634
635         * makeutl.adb, makeutl.ads, prj-proc.adb, prj.adb, prj.ads: Minor
636         reformatting.
637
638 2009-11-30  Thomas Quinot  <quinot@adacore.com>
639
640         * osint.adb: Minor reformatting
641
642 2009-11-30  Vincent Celier  <celier@adacore.com>
643
644         * makeutl.ads, makeutl.adb (Base_Name_Index_For): New function to get
645         the base name of a main without the extension, with an eventual source
646         index.
647         (Mains.Get_Index): New procedure to set the source index of a main
648         (Mains.Get_Index): New function to get the source index of a main
649         * prj-attr.adb: New attributes Config_Body_File_Name_Index,
650         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
651         Multi_Unit_Switches.
652         * prj-nmsc.adb (Process_Compiler): Takle into account new attributes
653         Config_Body_File_Name_Index, Config_Spec_File_Name_Index,
654         Multi_Unit_Object_Separator and Multi_Unit_Switches.
655         Allow only one character for Multi_Unit_Object_Separator.
656         * prj-proc.adb (Process_Declarative_Items): Take into account the
657         source indexes in indexes of associative array attribute declarations.
658         * prj.adb (Object_Name): New function to get the object file name for
659         units in multi-unit sources.
660         * prj.ads (Language_Config): New components Multi_Unit_Switches,
661         Multi_Unit_Object_Separator Config_Body_Index and Config_Spec_Index.
662         (Object_Name): New function to get the object file name for units in
663         multi-unit sources.
664         * snames.ads-tmpl: New standard names Config_Body_File_Name_Index,
665         Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
666         Multi_Unit_Switches.
667
668 2009-11-30  Arnaud Charlet  <charlet@adacore.com>
669
670         * s-tassta.adb: Update comment.
671
672 2009-11-30  Robert Dewar  <dewar@adacore.com>
673
674         * a-ngelfu.adb: Minor code reorganization.
675
676 2009-11-30  Robert Dewar  <dewar@adacore.com>
677
678         * osint.ads, prj.adb, prj.ads: Minor reformatting
679         * s-stchop.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
680         s-taprop-vms.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
681         s-strxdr.adb, s-taprop-irix.adb, s-osinte-hpux-dce.adb,
682         s-osinte-tru64.adb, s-taenca.adb, s-taprop-hpux-dce.adb, s-stausa.adb,
683         s-taprop-posix.adb: Minor code reorganization (use conditional
684         expressions).
685
686 2009-11-30  Bob Duff  <duff@adacore.com>
687
688         * g-sttsne-locking.adb (Copy_Service_Entry): Complete previous change.
689
690 2009-11-30  Bob Duff  <duff@adacore.com>
691
692         * socket.c: Add more accessor functions for struct servent (need
693         setters as well as getters).
694         * g-sothco.ads (Servent): Declare interfaces to C setter functions for
695         struct servent.
696         * g-sttsne-locking.adb (Copy_Service_Entry): Use setter functions for
697         struct servent.
698
699 2009-11-30  Robert Dewar  <dewar@adacore.com>
700
701         * s-stchop-vxworks.adb: Add comment.
702
703 2009-11-30  Emmanuel Briot  <briot@adacore.com>
704
705         * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Now acts
706         on the whole tree, to better share code with gprbuild.
707         (Length): New subprogram, to share code in gprbuild.
708         (Project_Data): Remove fields that are only needed when compiling a
709         project in gprbuild (where we use local variables instead)
710         * osint.adb, osint.ads: Added minor comment on memory management
711
712 2009-11-30  Sergey Rybin  <rybin@adacore.com>
713
714         * gnat_ugn.texi: Update gnatcheck doc.
715
716 2009-11-30  Robert Dewar  <dewar@adacore.com>
717
718         make.adb, prj-makr.adb, g-sothco.ads: Minor reformattting
719         * s-taprop-dummy.adb: Minor code reorganization (raise with msgs start
720         with lower case).
721         * i-vxwoio.adb, g-dirope.adb, g-sercom-linux.adb,
722         g-enblsp-vms-alpha.adb, g-regist.adb, s-imgcha.adb, s-tarest.adb,
723         s-taprop-mingw.adb, g-exctra.adb, g-expect.adb, g-comlin.adb,
724         g-debpoo.adb, g-expect-vms.adb, g-pehage.adb, g-trasym-vms-alpha.adb,
725         g-enblsp-vms-ia64.adb, s-fatgen.adb, s-fileio.adb: Minor code
726         reorganization (use conditional expressions).
727
728 2009-11-30  Vincent Celier  <celier@adacore.com>
729
730         * prj-makr.adb (Source_Files): New hash table to keep track of source
731         file names.
732         (Finalize): Avoid putting several times the same source file name
733         in the source list file.
734         * prj-pp.adb (Print): Fix a bug in the placement of "at nn" for
735         associative array indexes.
736
737 2009-11-30  Robert Dewar  <dewar@adacore.com>
738
739         * g-dyntab.ads: Add missing pragma Compiler_Unit
740
741 2009-11-30  Thomas Quinot  <quinot@adacore.com>
742
743         * s-crtrun.ads, s-crtl.ads, g-stseme.adb, Makefile.rtl, s-fileio.adb
744         (System.CRTL.Runtime): New unit, to contain parts of s-crtl that are
745         used in the Ada runtime but can't be used in the compiler because of
746         bootstrap issues.
747         * socket.c, s-oscons-tmplt.c, g-sothco.ads
748         (System.OS_Constants.SIZEOF_struct_servent): New constant.
749         Use s-oscons constant instead of external variable to get size of
750         struct hostent.
751
752 2009-11-30  Thomas Quinot  <quinot@adacore.com>
753
754         * s-crtl.ads, g-stseme.adb, s-fileio.adb (System.CRTL.strerror): Change
755         return type to Interfaces.C.Strings.chars_ptr to eliminate need for
756         dubious unchecked conversion at call sites.
757         * s-errrep.adb, s-errrep.ads, Makefile.rtl (System.Error_Reporting):
758         Remove obsolete, unused runtime unit.
759         * gcc-interface/Make-lang.in: Update dependencies.
760         * gcc-interface/Makefile.in: Remove VMS specialization of s-crtl, not
761         required anymore.
762
763 2009-11-30  Vincent Celier  <celier@adacore.com>
764
765         * gnatlink.adb: Delete an eventual existing executable file, in case it
766         is a symbolic link, to avoid modifying the target of the symbolic link.
767
768 2009-11-30  Bob Duff  <duff@adacore.com>
769
770         * socket.c: Add accessor functions for struct servent.
771         * g-sothco.ads (Servent): Declare interfaces to C accessor functions
772         for struct servent.
773         * g-socket.adb (To_Service_Entry): Use accessor functions for struct
774         servent.
775
776 2009-11-30  Robert Dewar  <dewar@adacore.com>
777
778         * g-arrspl.adb: Minor reformatting
779         * g-dyntab.adb: Add missing pragma Compiler_Unit
780
781 2009-11-30  Thomas Quinot  <quinot@adacore.com>
782
783         * s-crtl.ads, s-oscons-tmplt.c: Fix support for VMS
784         * make.adb, g-comlin.ads, exp_ch6.adb: Minor reformatting
785
786 2009-11-30  Robert Dewar  <dewar@adacore.com>
787
788         * bcheck.adb, gnatlink.adb, make.adb, makeutl.adb, osint.adb,
789         osint.ads, prj-ext.adb, sem_case.adb: Minor reformatting
790         * g-alleve.adb: Minor code reorganization (use conditional expressions)
791
792 2009-11-30  Matthew Heaney  <heaney@adacore.com>
793
794         * a-crbtgo.adb (Delete_Fixup): Changed always-true predicates to
795         assertions.
796
797 2009-11-30  Thomas Quinot  <quinot@adacore.com>
798
799         * a-tasatt.adb, s-crtl.ads, s-taprop-dummy.adb (System.CRTL.malloc32,
800         System.CRTL.realloc32): Remove VMS-specific routines.
801         (Ada.Task_Attributes.Reference): Remove unreachable code.
802         (System.Task_Primitives.Operations.Initialize, dummy version):
803         Use plain Program_Error rather than call to
804         System.Error_Reporting.Shutdown.
805
806 2009-11-30  Thomas Quinot  <quinot@adacore.com>
807
808         * s-oscons-tmplt.c, xoscons.adb: Add new constants in preparation for
809         sharing s-crtl across all platforms.
810
811 2009-11-30  Thomas Quinot  <quinot@adacore.com>
812
813         * s-commun.adb, s-commun.ads: New internal support unit,
814         allowing code sharing between GNAT.Sockets and
815         GNAT.Serial_Communication.
816         * g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
817         g-socket.adb (GNAT.Sockets.Last_Index): Move to System.Communication.
818         (GNAT.Serial_Communication.Read): Handle correctly the case where no
819         data was read, and Buffer'First = Stream_Element_Offset'First.
820         * Makefile.rtl: Add entry for s-commun
821         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
822         g-socthi-vxworks.ads, g-stseme.adb, g-socthi-mingw.ads,
823         g-socthi.adb, g-socthi.ads (GNAT.Sockets.Thin.Socket_Error_Message):
824         Reimplement in terms of System.CRTL.strerror.
825
826 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
827
828         * gcc-interface/utils.c (copy_type): Unshare the language-specific data
829         and the contents of the language-specific slot if needed.
830
831 2009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
832
833         * gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location
834         of the operator on both branches of the test in the generic case.
835
836 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
837
838         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...
839         (unchecked_conversion_nop): ...this.  Handle actual parameters.
840         (gnat_to_gnu): Adjust for above renaming.
841
842 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
843
844         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
845         Translate regular boolean types into BOOLEAN_TYPEs.
846
847 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
848
849         * sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype,
850         also set the flag on the Equivalent_Type.
851         * gcc-interface/utils.c (finish_record_type): Replace DO_NOT_FINALIZE
852         parameter with DEBUG_INFO_P.  Rename FIELDLIST into FIELD_LIST.
853         (rest_of_record_type_compilation): Rename FIELDLIST into FIELD_LIST.
854         (build_vms_descriptor32): Adjust call to finish_record_type.
855         (build_vms_descriptor): Likewise.
856         (build_unc_object_type): Likewise.
857         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
858         finish_record_type and components_to_record.
859         (make_packable_type): Adjust call to finish_record_type.
860         (maybe_pad_type): Likewise.  Tweak condition.
861         (components_to_record): Likewise.  Replace DO_NOT_FINALIZE parameter
862         with MAYBE_UNUSED.  Adjust recursive call.
863         (create_variant_part_from): Adjust call to finish_record_type.  Do not
864         call rest_of_record_type_compilation on the new record types.
865         * gcc-interface/trans.c (gigi): Adjust call to finish_record_type.
866         * gcc-interface/gigi.h (finish_record_type): Adjust prototype and
867         comment.
868         (rest_of_record_type_compilation): Adjust comment.
869
870 2009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
871
872         * exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as
873         frozen for targets that do not require front-end layout.
874         (New_Class_Wide_Subtype): Always reset the freezing status to False.
875         * exp_ch8.adb: Do not 'with' Targparm.
876         (Expand_N_Object_Renaming_Declaration): Always freeze a class-wide
877         subtype that has been built from the expression.
878         * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
879         class wide, freeze the implicit type that has been built from the
880         expression at the dereference point.
881         * freeze.adb (Freeze_Entity): Adjust comment.
882         * gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Class_Wide_Type>:
883         Remove useless test.
884         * gcc-interface/trans.c (process_freeze_entity): Do not special-case
885         class-wide subtypes.
886
887         * s-osinte-aix.adb (clock_gettime): Fix comment.
888         * s-osinte-darwin.adb (clock_gettime): Likewise.
889
890 2009-11-23  Eric Botcazou  <ebotcazou@adacore.com>
891
892         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Pass the list
893         of attributes when building the corresponding variable of a constant.
894         * gcc-interface/utils.c (create_var_decl_1): Do not process attributes
895         for constants.
896
897 2009-11-23  Laurent GUERBY  <laurent@guerby.net>
898             Eric Botcazou  <ebotcazou@adacore.com>
899
900         PR ada/42153
901         * s-osinte-linux.ads (struct_timeval): Delete.
902         * s-osinte-hpux.ads (struct_timeval, To_Duration, To_Timeval): Delete.
903         * s-osinte-kfreebsd-gnu.ads: Likewise.
904         * s-osinte-rtems.ads: Likewise.
905         * s-osinte-aix.ads: Likewise.
906         * s-osinte-hpux-dce.ads: Likewise.
907         * s-osinte-darwin.ads: Likewise.
908         * s-osinte-solaris-posix.ads: Likewise.
909         * s-osinte-irix.ads: Likewise.
910         * s-osinte-solaris.ads: Likewise.
911         * s-osinte-hpux-dce.adb (To_Duration, To_Timeval): Delete.
912         * s-osinte-irix.adb: Likewise.
913         * s-osinte-solaris.adb: Likewise.
914         * s-osinte-rtems.adb: Likewise.  Minor reformatting.
915         * s-osinte-aix.adb (To_Duration, To_Timeval): Delete.
916         (clock_gettime): Use cal.c's timeval_to_duration.
917         * s-osinte-darwin.adb: Likewise.
918
919 2009-11-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
920
921         * adaint.h: Assume large file support on IRIX only if _LFAPI.
922
923 2009-11-21  Laurent GUERBY  <laurent@guerby.net>
924             Eric Botcazou  <ebotcazou@adacore.com>
925
926         * s-osinte-linux.ads (struct_timeval, To_Duration, To_Timeval,
927         gettimeofday): Delete.
928         * s-osinte-posix.adb (To_Duration, To_Timeval): Delete.
929         * s-osprim-posix.adb (struct_timezone, struct_timeval, gettimeofday):
930         Delete.
931         (Clock): Use cal.c's timeval_to_duration.
932         * s-taprop-linux.adb (Monotonic_Clock): Likewise.
933
934 2009-11-12  Eric Botcazou  <ebotcazou@adacore.com>
935             Laurent GUERBY  <laurent@guerby.net>
936
937         * init.c (GNU/Linux Section): Enable for all architectures.
938
939 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
940
941         PR ada/20548
942         * system-linux-alpha.ads (Stack_Check_Probes): Set to true.
943         * system-linux-hppa.ads (Stack_Check_Probes): Likewise.
944         * system-linux-sparc.ads (Stack_Check_Probes): Likewise.
945         * system-linux-sparcv9.ads (Stack_Check_Probes): Likewise.
946
947 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
948
949         * system-linux-alpha.ads (AAMP, Compiler_System_Version, OpenVMS,
950         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
951         Delete.
952         (Stack_Check_Limits, Always_Compatible_Rep): New.
953         * system-linux-mips.ads (AAMP, Compiler_System_Version, OpenVMS,
954         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
955         Delete.
956         (Stack_Check_Limits, Always_Compatible_Rep): New.
957         * system-linux-mips64el.ads (AAMP, Compiler_System_Version, OpenVMS,
958         Functions_Return_By_DSP, Front_End_ZCX_Support, High_Integrity_Mode,
959         Long_Shifts_Inlined): Delete.
960         (Stack_Check_Limits, Always_Compatible_Rep): New.
961         * system-linux-mipsel.ads (AAMP, Compiler_System_Version, OpenVMS,
962         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
963         Delete.
964         (Stack_Check_Limits, Always_Compatible_Rep): New.
965         * system-linux-s390.ads (AAMP, Compiler_System_Version, OpenVMS,
966         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
967         Delete.
968         (Stack_Check_Limits, Always_Compatible_Rep): New.
969         * system-linux-s390x.ads (AAMP, Compiler_System_Version, OpenVMS,
970         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
971         Delete.
972         (Stack_Check_Limits, Always_Compatible_Rep): New.
973         * system-linux-sh4.ads (Stack_Check_Limits, Always_Compatible_Rep):
974         New.
975         * system-linux-sparc.ads (AAMP, Compiler_System_Version, OpenVMS,
976         Front_End_ZCX_Support): Delete.
977         (Stack_Check_Limits, Always_Compatible_Rep): New.
978         * system-linux-sparcv9.ads (AAMP, Compiler_System_Version, OpenVMS,
979         Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
980         Delete.
981         (Stack_Check_Limits, Always_Compatible_Rep): New.
982         * system-rtems.ads (OpenVMS): Delete.
983         (Stack_Check_Limits, Always_Compatible_Rep): New.
984
985 2009-11-08  Eric Botcazou  <ebotcazou@adacore.com>
986
987         * gcc-interface/decl.c (make_packable_type): Fix oversight.
988         (gnat_to_gnu_field): Do not attempt to change the form of the type
989         if the field requires strict alignment.  Always change the form of
990         the type if the specified size is smaller than its size.
991
992 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
993
994         * gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes.
995
996 2009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
997
998         * gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>:
999         New case.
1000
1001 2009-10-30  Eric Botcazou  <ebotcazou@adacore.com>
1002
1003         * gcc-interface/utils.c (MAX_FIXED_MODE_SIZE): Delete.
1004         (create_field_decl): Update description.  In a packed record, round
1005         the size up to a byte boundary only if the field's type has BLKmode.
1006         * gcc-interface/gigi.h (create_field_decl): Update description.
1007
1008 2009-10-30  Emmanuel Briot  <briot@adacore.com>
1009
1010         * make.adb (Start_Compile_If_Possible): Compute location of resulting
1011         ALI file in this procedure instead of after the compilation itself,
1012         since the current directory might have changed in between when using
1013         -j<n>.
1014
1015         * osint.ads: Addded missing alignment clause.
1016
1017         * adaint.c, adaint.h, osint.adb (__gnat_reset_attributes,
1018         __gnat_size_of_file_attributes): Rename reset_attributes and
1019         size_of_file_attributes.
1020
1021 2009-10-30  Javier Miranda  <miranda@adacore.com>
1022
1023         * sem_scil.adb (Adjust_SCIL_Node): Add missing management of sequences
1024         of statements when searching for SCIL nodes.
1025
1026 2009-10-30  Tristan Gingold  <gingold@adacore.com>
1027
1028         * gnatlink.adb, link.c: By default use shared libgcc on darwin.
1029
1030 2009-10-30  Emmanuel Briot  <briot@adacore.com>
1031
1032         * make.adb, osint.adb (Add_Lib_Search_Dir): Do not add if dir is
1033         already in the list.
1034         This saves system calls when looking for ALI files
1035         (Scan_Make_Args): The parameter to gnatmake's -D is now converted to an
1036         absolute PATH (so that the above improvement properly occurs if both
1037         -D<dir> and -aO<dir> are specified).
1038
1039 2009-10-30  Thomas Quinot  <quinot@adacore.com>
1040
1041         * a-direct.adb: Minor reformatting
1042
1043 2009-10-30  Emmanuel Briot  <briot@adacore.com>
1044
1045         * make.adb, adaint.c, adaint.h, osint.adb, osint.ads, bcheck.adb
1046         (*_attr): new subprograms.
1047         (File_Length, File_Time_Stamp, Is_Writable_File): new subprograms
1048         (Read_Library_Info_From_Full, Full_Library_Info_Name,
1049         Full_Source_Name): Now benefit from a previous cache of the file
1050         attributes, to further save on system calls.
1051         (Smart_Find_File): now also cache the file attributes. This makes the
1052         package File_Stamp_Hash_Table useless, and it was removed.
1053         (Compile_Sources): create subprograms for the various steps of the main
1054         loop, for readibility and to avoid sharing variables between the
1055         various steps.
1056
1057 2009-10-30  Emmanuel Briot  <briot@adacore.com>
1058
1059         * make.adb, osint.adb, osint.ads (Library_File_Stamp): Removed, since
1060         unused.
1061         (Read_Library_Info_From_Full): New subprogram.
1062
1063 2009-10-30  Robert Dewar  <dewar@adacore.com>
1064
1065         * a-tideio.adb: Minor reformatting
1066         * a-wtdeio.adb, a-ztdeio.adb: Update comments, code clean up.
1067
1068         * a-reatim.adb, a-tideau.adb, a-ngelfu.adb, a-ztdeau.adb, a-ngrear.adb,
1069         a-wtedit.adb, a-ststio.adb, a-ztedit.adb: Minor code reorganization
1070         (use conditional expressions).
1071
1072 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
1073
1074         * gnat_ugn.texi: Additional info on gnatw.i and gnatw.I
1075
1076         * sem_case.adb: Improved error message.
1077
1078 2009-10-30  Emmanuel Briot  <briot@adacore.com>
1079
1080         * a-direct.adb, gnatcmd.adb, gnatname.adb, makeutl.adb, opt.ads,
1081         osint.adb, prj-ext.adb, switch-m.adb (Follow_Links_For_Dirs): Now
1082         defaults to False, and controlled by -eL.
1083         * a-direct.adb: Add comments.
1084         * osint.adb (File_Stamp): Avoid unneeded duplicate system call
1085
1086 2009-10-30  Robert Dewar  <dewar@adacore.com>
1087
1088         * sem_res.adb (Resolve_Type_Conversion): Avoid false positive when
1089         converting non-static subtype to "identical" static subtype.
1090
1091 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
1092
1093         * usage.adb: Add -gnatw.i switch.
1094
1095 2009-10-30  Vincent Celier  <celier@adacore.com>
1096
1097         * xsnamest.adb: Update comments with regards to the template files
1098         snames.*.tmpl
1099
1100 2009-10-30  Bob Duff  <duff@adacore.com>
1101
1102         * s-fileio.adb (Errno_Message): Suppress VMS-specific warning.
1103
1104 2009-10-30  Ed Schonberg  <schonberg@adacore.com>
1105
1106         * sem_case.adb (Check_Choices): Add explanatory message when there are
1107         missing alternatives when the required range of alternatives is given
1108         by the base type of the case expression or discriminant in a variant
1109         part.
1110
1111         * opt.ads: New flag Warn_On_Overlap, to enable warnings on potentially
1112         dangerous overlap between actuals in a call, activated by -gnatw.i
1113         * sem_warn.adb (Set_Dot_Warning_Switch): set flag.
1114         (Warn_On_Overlapping_Actuals): use new flag.
1115
1116         * gnat_ugn.texi: Document -gnatw.i, warning on overlapping actuals
1117
1118 2009-10-30  Robert Dewar  <dewar@adacore.com>
1119
1120         * exp_aggr.adb, exp_ch9.adb: Minor reformatting
1121
1122 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
1123
1124         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
1125         create integer types with precision 0.
1126
1127 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
1128
1129         PR ada/41870
1130         * gcc-interface/decl.c (array_type_has_nonaliased_component): Swap
1131         parameters and rewrite comments.  For a derived type, return the
1132         setting of its parent type.
1133         (gnat_to_gnu_entity): Do an alias set copy for derived types if they
1134         are composite.  Adjust calls to above function.
1135
1136 2009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
1137
1138         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Object_Size>: Do not
1139         return the RM size for padded types.
1140
1141 2009-10-28  Robert Dewar  <dewar@adacore.com>
1142
1143         * sem_type.adb: Minor reformatting
1144
1145 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
1146
1147         * exp_ch9.adb (Build_Task_Proc_Specification): Generate a different
1148         suffix for task type bodies.
1149
1150 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
1151
1152         * exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a
1153         finalization list if the designated type requires no control actions,
1154         to prevent a useless semantic dependence on ada.tags.
1155
1156 2009-10-28  Bob Duff  <duff@adacore.com>
1157
1158         * s-fileio.adb: Give more information in exception messages.
1159
1160 2009-10-28  Robert Dewar  <dewar@adacore.com>
1161
1162         * gnat_ugn.texi: Document new -gnatyt requirement for space after right
1163         paren if next token starts with digit or letter.
1164         * styleg.adb (Check_Right_Paren): New rule for space after if next
1165         character is a letter or digit.
1166
1167 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1168
1169         * s-crtl.ads (System.CRTL.strerror): New function.
1170
1171 2009-10-28  Ed Schonberg  <schonberg@adacore.com>
1172
1173         * sem_type.adb: Add guard to recover some type errors.
1174
1175 2009-10-28  Vincent Celier  <celier@adacore.com>
1176
1177         * prj-nmsc.adb (Add_To_Or_Remove_From_List): New name of procedure
1178         Add_If_Not_In_List to account to the fact that a directory may be
1179         removed from the list. Only remove directory if Removed is True.
1180
1181 2009-10-28  Gary Dismukes  <dismukes@adacore.com>
1182
1183         * a-textio.ads, a-textio.ads: Put back function EOF_Char in private
1184         part. Put back body of function EOF_Char.
1185         * a-tienau.adb: Remove with of Interfaces.C_Streams and change EOF back
1186         to EOF_Char.
1187
1188 2009-10-28  Emmanuel Briot  <briot@adacore.com>
1189
1190         * prj-tree.adb (Free): Fix memory leak.
1191
1192 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1193
1194         * s-fileio.adb: Minor reformatting
1195
1196 2009-10-28  Arnaud Charlet  <charlet@adacore.com>
1197
1198         * gcc-interface/Make-lang.in: Update dependencies.
1199
1200 2009-10-28  Robert Dewar  <dewar@adacore.com>
1201
1202         * exp_attr.adb, exp_ch9.adb, prj-nmsc.adb, tbuild.adb, ali.adb,
1203         types.ads: Minor reformatting
1204
1205 2009-10-28  Tristan Gingold  <gingold@adacore.com>
1206
1207         * init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard)
1208
1209 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1210
1211         * exp_ch4.adb (Expand_N_Type_Conversion): Perform Integer promotion for
1212         the operand of the unary minus and ABS operators.
1213
1214         * sem_type.adb (Covers): A concurrent type and its corresponding record
1215         type are compatible.
1216         * exp_attr.adb (Expand_N_Attribute_Reference): Do not rewrite a 'Access
1217         attribute reference for the current instance of a protected type while
1218         analyzing an access discriminant constraint in a component definition.
1219         Such a reference is handled in the corresponding record's init proc,
1220         while initializing the constrained component.
1221         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
1222         corresponding record type, propagate components'
1223         Has_Per_Object_Constraint flag.
1224         * exp_ch3.adb (Build_Init_Procedure.Build_Init_Statements):
1225         For a concurrent type, set up concurrent aspects before initializing
1226         components with a per object constrain, because they may be controlled,
1227         and their initialization may call entries or protected subprograms of
1228         the enclosing concurrent object.
1229
1230 2009-10-28  Emmanuel Briot  <briot@adacore.com>
1231
1232         * prj-nmsc.adb (Add_If_Not_In_List): New subprogram, for better sharing
1233         of code.
1234         (Find_Source_Dirs): resolve links if Opt.Follow_Links_For_Dirs when
1235         processing the directories specified explicitly in the project file.
1236
1237 2009-10-28  Robert Dewar  <dewar@adacore.com>
1238
1239         * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb,
1240         a-textio.ads, a-textio.adb: Reorganize (moving specs from private part
1241         to body).
1242         (Initialize_Standard_Files): New procedure.
1243         * a-tienau.adb: Minor change to make EOF directly visible
1244         * a-tirsfi.ads, a-wrstfi.adb, a-wrstfi.ads, a-zrstfi.adb,
1245         a-zrstfi.ads, a-tirsfi.adb: New unit, initial version.
1246         * gnat_rm.texi: Add documentation for
1247         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files.
1248         * Makefile.rtl: Add entries for
1249         Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files
1250
1251 2009-10-28  Thomas Quinot  <quinot@adacore.com>
1252
1253         * exp_ch9.ads: Minor reformatting
1254         * sem_ch3.adb: Minor reformatting
1255         * sem_aggr.adb: Minor reformatting.
1256         * sem_attr.adb: Minor reformatting
1257         * tbuild.adb, tbuild.ads, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node):
1258         New subprogram.
1259         Minor code reorganization/factoring.
1260
1261 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1262
1263         * gcc-interface/decl.c (purpose_member_field): New static function.
1264         (annotate_rep): Use it instead of purpose_member.
1265
1266 2009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1267
1268         * raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
1269         _Unwind_GetIP if HAVE_GETIPINFO is defined.
1270         (db_action_for): Likewise.
1271
1272 2009-10-27  Robert Dewar  <dewar@adacore.com>
1273
1274         * s-fileio.adb, s-fileio.ads, sem_util.adb, sem_warn.adb,
1275         sem_warn.ads: Minor reformatting
1276
1277 2009-10-27  Robert Dewar  <dewar@adacore.com>
1278
1279         * sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add
1280         comments.
1281
1282 2009-10-27  Robert Dewar  <dewar@adacore.com>
1283
1284         * s-os_lib.ads, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor
1285         reformatting.
1286
1287 2009-10-27  Ed Schonberg  <schonberg@adacore.com>
1288
1289         * sem.util.ads, sem_util.adb (Denotes_Same_Object,
1290         Denotes_Same_Prefix): New functions to detect overlap between actuals
1291         that are not by-copy in a call, when one of them is in-out.
1292         * sem_warn.ads, sem_warn.adb (Warn_On_Overlapping_Actuals): New
1293         procedure,  called on a subprogram call to warn when an in-out actual
1294         that is not by-copy overlaps with another actual, thus leadind to
1295         potentially dangerous aliasing in the body of the called subprogram.
1296         Currently the warning is under control of the -gnatX switch.
1297         * sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals.
1298
1299 2009-10-27  Thomas Quinot  <quinot@adacore.com>
1300
1301         * sem_ch12.adb (Install_Formal_Packages): Do not omit installation of
1302         visible entities when the formal package doesn't have a box.
1303
1304         * checks.adb: Minor reformatting.
1305
1306 2009-10-27  Vincent Celier  <celier@adacore.com>
1307
1308         * prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and
1309         set Project to Empty_Node.
1310
1311 2009-10-27  Robert Dewar  <dewar@adacore.com>
1312
1313         * gnatbind.adb: Minor reformatting
1314
1315 2009-10-27  Arnaud Charlet  <charlet@adacore.com>
1316
1317         * exp_aggr.adb: Fix comment.
1318
1319 2009-10-27  Emmanuel Briot  <briot@adacore.com>
1320
1321         * prj-err.adb (Error_Msg): take into account continuation lines when
1322         computing whether we have a warning.
1323
1324 2009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>
1325
1326         * make.adb, s-os_lib.adb, s-os_lib.ads (Create_Temp_Output_File): New
1327         routine that is designed to create temp file descriptor specifically
1328         for redirecting an output stream.
1329
1330 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
1331
1332         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
1333         processing the parent type, build the COMPONENT_REF for a discriminant
1334         with the proper type.
1335
1336 2009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
1337
1338         * init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo.
1339         * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Add HAVE_GETIPINFO.
1340         Pass GNATLIBCFLAGS_FOR_C to recursive invocations.
1341
1342 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1343
1344         * gcc-interfaces/decl.c (build_subst_list): Convert the expression of
1345         the constraint to the type of the discriminant.
1346
1347 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1348
1349         * gcc-interfaces/decl.c (gnat_to_gnu_entity): Do not create a new
1350         TYPE_DECL when a type is padded if there is already one and reset
1351         TYPE_STUB_DECL in this case.
1352
1353 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1354
1355         * gcc-interfaces/utils.c (create_subprog_decl): Do not redefine
1356         main_identifier_node.
1357
1358 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1359
1360         * gcc-interface/utils.c (convert): When converting to a padded type
1361         with an inner type of self-referential size, pad the expression before
1362         doing the unchecked conversion.
1363
1364 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1365
1366         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Make
1367         sure the element type is consistent.
1368
1369 2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1370
1371         * gcc-interface/trans.c (addressable_p): Handle bitwise operations.
1372
1373 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1374
1375         * gcc-interface/ada-tree.h (TYPE_FAT_POINTER_P): Swap with...
1376         (TYPE_IS_FAT_POINTER_P): ...this.
1377         (TYPE_THIN_POINTER_P): Rename into...
1378         (TYPE_IS_THIN_POINTER_P): ...this.
1379         (TYPE_FAT_OR_THIN_POINTER_P): Rename into...
1380         (TYPE_IS_FAT_OR_THIN_POINTER_P): ...this.
1381         (TYPE_IS_PADDING_P): Change definition, move old one to...
1382         (TYPE_PADDING_P): ...this.
1383         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
1384         (get_unpadded_type): Likewise.
1385         (gnat_to_gnu_component_type): Likewise.
1386         (gnat_to_gnu_param): Likewise.
1387         (relate_alias_sets): Likewise.
1388         (make_packable_type): Likewise.
1389         (maybe_pad_type): Likewise.
1390         (gnat_to_gnu_field): Likewise.
1391         (is_variable_size): Likewise.
1392         (annotate_object): Likewise.
1393         (validate_size): Likewise.
1394         (set_rm_size): Likewise.
1395         (make_type_from_size): Likewise.
1396         (rm_size): Likewise.
1397         * gcc-interface/misc.c (gnat_print_type): Likewise.
1398         (gnat_get_alias_set): Likewise.
1399         * gcc-interface/trans.c (Identifier_to_gnu): Likewise.
1400         (Attribute_to_gnu): Likewise.
1401         (call_to_gnu): Likewise.
1402         (gnat_to_gnu): Likewise.
1403         (add_decl_expr): Likewise.
1404         (convert_with_check): Likewise.
1405         (addressable_p): Likewise.
1406         (maybe_implicit_deref): Likewise.
1407         (protect_multiple_eval): Likewise.
1408         (gnat_stabilize_reference_1): Likewise.
1409         * gcc-interface/utils.c (gnat_pushdecl): Likewise.
1410         (finish_record_type): Likewise.
1411         (rest_of_record_type_compilation): Likewise.
1412         (create_type_decl): Likewise.
1413         (gnat_types_compatible_p): Likewise.
1414         (build_template): Likewise.
1415         (convert_vms_descriptor64): Likewise.
1416         (convert_vms_descriptor32): Likewise.
1417         (build_unc_object_type_from_ptr): Likewise.
1418         (update_pointer_to): Likewise.
1419         (convert_to_fat_pointer): Likewise.
1420         (convert_to_fat_pointer): Likewise.
1421         (convert): Likewise.
1422         (remove_conversions): Likewise.
1423         (maybe_unconstrained_array): Likewise.
1424         (unchecked_convert): Likewise.
1425         (handle_vector_type_attribute): Likewise.
1426         * gcc-interface/utils2.c (build_binary_op): Likewise.
1427         (build_unary_op): Likewise.
1428         (build_allocator): Likewise.
1429
1430 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1431
1432         * exp_dbug.ads: Adjust type names in comments.
1433         * gcc-interface/decl.c (maybe_pad_type): Remove NAME_TRAILER parameter,
1434         add new IS_COMPONENT_TYPE parameter.  Adjust.  Remove dead code.
1435         (gnat_to_gnu_entity): Adjust for above change.
1436         (gnat_to_gnu_component_type): Likewise.
1437         (gnat_to_gnu_field): Likewise.
1438         * gcc-interface/trans.c (call_to_gnu): Likewise.  Do not unnecessarily
1439         call max_size.
1440         * gcc-interface/utils.c (finish_record_type): Remove obsolete code.
1441         * gcc-interface/gigi.h (maybe_pad_type): Adjust prototype.
1442
1443 2009-10-16  Joel Sherrill <joel.sherrill@oarcorp.com>
1444
1445         * s-osinte-rtems.ads: Add mutex type to pthread_mutexattr_t
1446         * s-stchop-rtems.adb: Correct binding to rtems_stack_checker_is_blown.
1447
1448 2009-10-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1449
1450         * env.c [__alpha__ && __osf__] (AES_SOURCE): Define.
1451
1452 2009-10-10  Samuel Tardieu  <sam@rfc1149.net>
1453
1454         * sem_eval.adb: Give a more precise error message.
1455
1456 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1457
1458         PR ada/41383
1459         * a-rttiev.adb (Time_Of_Event): Return Time_First for unset event.
1460
1461 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1462
1463         PR ada/38333
1464         * sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract
1465         subprogram to be completed with a "pragma Import".
1466
1467 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1468
1469         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>:
1470         Generate an XVZ variable alongside the XVS type if the size is
1471         not constant.
1472         (maybe_pad_type): Minor tweak.
1473
1474 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1475
1476         * gcc-interface/decl.c (check_ok_for_atomic): Do nothing if the type
1477         doesn't come from source.
1478
1479 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1480
1481         * gcc-interface/decl.c (gnat_to_gnu_component_type): Force at least
1482         unit size for the component size of an array with aliased components.
1483         (maybe_pad_type): Do not warn for MAX_EXPR.
1484
1485 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1486
1487         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Factor out
1488         common code processing the component type into...
1489         <E_Array_Subtype>: Likewise.
1490         (gnat_to_gnu_component_type): ...this new static function.
1491         (maybe_pad_type): Minor cleanup.
1492
1493 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1494
1495         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Rewrite
1496         the handling of constrained discriminated record subtypes.
1497         (components_to_record): Declare the type of the variants and of the
1498         qualified union.
1499         (build_subst_list): Move around.
1500         (compute_field_positions): Rename into...
1501         (build_position_list): ...this.  Return a TREE_VEC.
1502         (annotate_rep): Adjust for above renaming.
1503         (build_variant_list): New static function.
1504         (create_field_decl_from): Likewise.
1505         (get_rep_part): Likewise.
1506         (get_variant_part): Likewise.
1507         (create_variant_part_from): Likewise.
1508         (copy_and_substitute_in_size): Likewise.
1509
1510 2009-09-28  Olivier Hainque  <hainque@adacore.com>
1511
1512         PR ada/41100
1513         * gcc-interface/targtyps.c (get_target_default_allocator_alignment):
1514         Account for observable alignments out of default allocators.
1515
1516 2009-09-28  Richard Henderson  <rth@redhat.com>
1517
1518         * gcc-interface/utils.c (gnat_install_builtins): Update call to
1519         build_common_builtin_nodes.
1520
1521 2009-09-26  Eric Botcazou  <ebotcazou@adacore.com>
1522
1523         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Filter out
1524         negative size for the array dimensions like in the constrained case.
1525         <E_Array_Subtype>: Do not create an artificially non-constant high
1526         bound if the low bound is non-constant.  Minor tweaks.
1527
1528         * gcc-interface/trans.c (lvalue_required_p): Add CONSTANT parameter
1529         and turn ALIASED into a boolean parameter.  Adjust calls to self.
1530         <N_Attribute_Reference>: Return 1 for more attributes.
1531         <N_Object_Renaming_Declaration>: Return 1 for non-constant objects.
1532         <N_Assignment_Statement>: Return 1 for the LHS.
1533         (Identifier_to_gnu): Adjust calls to lvalue_required_p.
1534         (call_to_gnu): Be prepared for wrapped boolean rvalues.
1535
1536 2009-09-25  Olivier Hainquqe  <hainque@adacore.com>
1537             Eric Botcazou  <ebotcazou@adacore.com>
1538
1539         * gcc-interface/ada-tree.h (TYPE_REPRESENTATIVE_ARRAY): New language
1540         specific node.  Representative array type for VECTOR_TYPE entities.
1541         * gcc-interface/utils.c (handle_vector_type_attribute): New handler.
1542         Turn an ARRAY_TYPE entity into a VECTOR_TYPE.   
1543         (gnat_types_compatible_p): Handle VECTOR_TYPEs.
1544         (convert): Likewise.  Arrange to produce VECTOR_CST out of constant
1545         array aggregates for VECTOR_TYPE entities.
1546         (unchecked_convert): Likewise.
1547         (maybe_vector_array): New function. If EXP has VECTOR_TYPE, return EXP
1548         converted to the associated TYPE_REPRESENTATIVE_ARRAY.
1549         (handle_pure_attribute, handle_sentinel_attribute,
1550         handle_noreturn_attribute, handle_malloc_attribute,
1551         handle_vector_size_attribute): Replace uses of qE format by qs.
1552         Remove GCC_DIAG_STYLE definition.
1553         * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Convert
1554         vector input to representative array type on entry.
1555         <N_Op_Eq, etc>: Likewise.
1556         * gcc-interface/gigi.h (maybe_vector_array): Declare.
1557         (VECTOR_TYPE_P): New predicate.
1558         * gcc-interface/misc.c (gnat_print_type): Handle VECTOR_TYPE.
1559
1560 2009-09-24  Eric Botcazou  <ebotcazou@adacore.com>
1561
1562         * gcc-interface/ada.h: Fix outdated comment.
1563         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in
1564         lieu of mark_visited.
1565         * gcc-interface/gigi.h (mark_visited): Change type of parameter.
1566         (MARK_VISITED): New macro.
1567         (gnat_truthvalue_conversion): Delete.
1568         * gcc-interface/decl.c (gnat_to_gnu_entity): Use MARK_VISITED in lieu
1569         of mark_visited.
1570         (annotate_rep): Fix formatting and tidy.
1571         (compute_field_positions): Get rid of useless variable.
1572         * gcc-interface/trans.c (gnat_to_gnu): Retrieve the Nkind of the GNAT
1573         node only once.  Use IN operator for the Nkind in more cases.
1574         Remove calls to gnat_truthvalue_conversion.
1575         (mark_visited): Change type of parameter and adjust.
1576         (mark_visited_r): Dereference TP only once.
1577         (add_decl_expr): Use MARK_VISITED in lieu of mark_visited.
1578         * gcc-interface/utils2.c (gnat_truthvalue_conversion): Delete.
1579         (build_binary_op): Remove calls to gnat_truthvalue_conversion.
1580         (build_unary_op): Likewise.
1581
1582 2009-09-24  Dave Korn  <dave.korn.cygwin@gmail.com>
1583
1584         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Simplify test for
1585         a-except% in target pairs list; don't (implicitly) compare whitespace.
1586
1587 2009-09-24  Jakub Jelinek  <jakub@redhat.com>
1588
1589         * gcc-interface/utils.c (gnat_pushdecl): Don't set
1590         DECL_NO_STATIC_CHAIN, set DECL_STATIC_CHAIN for
1591         nested functions.
1592
1593 2009-09-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
1594
1595         * s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0.
1596         Bind to getpagesize() in RTEMS 4.10 and newer.
1597
1598 2009-09-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1599
1600         * env.c [__alpha__ && __osf__] (_BSD): Define.
1601         * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
1602         to const char *.
1603
1604 2009-09-18  Pascal Obry  <obry@adacore.com>
1605
1606         * mingw32.h: Activate Unicode support for x86-64 Windows platform.
1607
1608 2009-09-18  Vadim Godunko  <godunko@adacore.com>
1609
1610         * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
1611
1612 2009-09-18  Javier Miranda  <miranda@adacore.com>
1613
1614         * exp_aggr.adb (Backend_Processing_Possible): Disable backend
1615         processing for array aggregates in the VM backend if the array has
1616         aliased components.
1617
1618 2009-09-18  Ed Schonberg  <schonberg@adacore.com>
1619
1620         * sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
1621         the prefix indicates a previous semantic error, and this is the first
1622         error in the program.
1623
1624 2009-09-18  Bob Duff  <duff@adacore.com>
1625
1626         * gnat_ugn.texi: Minor editing.
1627
1628 2009-09-18  Vincent Celier  <celier@adacore.com>
1629
1630         * prj.ads, prj.adb (Project_Data): New component
1631         Imported_Directories_Switches.
1632
1633 2009-09-18  Pascal Obry  <obry@adacore.com>
1634
1635         * mingw32.h: Include standard _mingw.h file.
1636         Define _WIN32_WINNT only if not already defined.
1637
1638 2009-09-18  Thomas Quinot  <quinot@adacore.com>
1639
1640         * g-socket.adb (Is_Open): New function indicating whether a
1641         Selector_Type object is open.
1642
1643 2009-09-18  Vincent Celier  <celier@adacore.com>
1644
1645         * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
1646         is deleted before creating it.
1647
1648 2009-09-18  Robert Dewar  <dewar@adacore.com>
1649
1650         * bindgen.adb: Minor reformatting
1651
1652 2009-09-18  Arnaud Charlet  <charlet@adacore.com>
1653
1654         * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
1655         s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
1656         signal handler is installed.
1657         * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
1658         tasks if Abort_Task_Interrupt cannot be used.
1659
1660 2009-09-18  Vincent Celier  <celier@adacore.com>
1661
1662         * prj-tree.ads: Minor comment update
1663
1664 2009-09-17  Bob Duff  <duff@adacore.com>
1665
1666         * g-socket.ads: Document the fact that Close_Selector has no effect on
1667         a closed selector.
1668         * g-socket.adb: Raise an exception when a Selector that should be open
1669         is closed.
1670         (Check_Selector): Declare RSig as a constant rather than a renames,
1671         less confusing.
1672
1673 2009-09-17  Robert Dewar  <dewar@adacore.com>
1674
1675         * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
1676         prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb,
1677         prj-tree.ads: Minor reformatting
1678
1679 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1680
1681         * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
1682         spec.
1683         (Do_Autoconf): If the object directory does not exists, create auto.cgpr
1684         in a temporary directory instead
1685
1686 2009-09-17  Bob Duff  <duff@adacore.com>
1687
1688         * a-dynpri.adb (Set_Priority): Don't do anything if the task is already
1689         terminated.
1690         (Get_Priority): Correct message for "terminated" case -- it said "null".
1691
1692 2009-09-17  Robert Dewar  <dewar@adacore.com>
1693
1694         * exp_ch6.adb: Minor reformatting
1695
1696 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1697
1698         * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
1699         switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
1700         (Project_Node_Tree_Data.Project_Path): New field.
1701
1702         * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
1703
1704 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1705
1706         * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
1707         Remove duplicate code.
1708         (Prj.Ext): Fix memory leak
1709         (Check): Now allow the syntax "-Xfoo=" to set an empty value to the
1710         variable. This was previously allowed in the code in
1711         Is_External_Assignment, and some tests rely on it
1712
1713 2009-09-17  Bob Duff  <duff@adacore.com>
1714
1715         * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
1716
1717 2009-09-17  Emmanuel Briot  <briot@adacore.com>
1718
1719         * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
1720         makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
1721         prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
1722         prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
1723         Scenario variables are now specific to each project tree loaded in
1724         memory.
1725         Code clean ups.
1726
1727 2009-09-17  Javier Miranda  <miranda@adacore.com>
1728
1729         * exp_disp.adb (Make_DT): Remove wrong line of code that was
1730         undocumented and probably added by mistake.
1731
1732 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1733
1734         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
1735         conversions between original and packable version of types from
1736         the expression.
1737
1738 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1739
1740         * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
1741         If a padding type was made for the field, declare it.
1742         (components_to_record): Add DEBUG_INFO_P parameter.  Adjust call
1743         to gnat_to_gnu_field and call to self.
1744         (gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
1745         <E_Array_Subtype>: Likewise.
1746         Adjust calls to gnat_to_gnu_field and components_to_record.
1747
1748 2009-09-16  Robert Dewar  <dewar@adacore.com>
1749
1750         * prj-nmsc.adb: Minor reformatting
1751
1752 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1753
1754         * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
1755         expression is a by-reference type (tagged or inherently limited)
1756         introduce an access type to capture references to the values of each
1757         branch of the conditional.
1758
1759 2009-09-16  Emmanuel Briot  <briot@adacore.com>
1760
1761         * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
1762         (Project_Name_And_Node.Display_Name): new field
1763         The display name of a project (as written in the .gpr file) is now
1764         computed when the project file itself is parsed, not when it is
1765         processed.
1766
1767 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1768
1769         * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
1770         intrinsics untouched (to be expanded later on by gigi) if an external
1771         name has been specified.
1772         (Freeze_Entity): Do not generate a default external name for
1773         imported subprograms with convention Intrinsic (so that the above code
1774         can identify the case where an external name has been explicitly
1775         provided).
1776
1777         * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
1778         replaced by something else due to an existing #define clause.
1779
1780 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1781
1782         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
1783         Parameter_Association node, created for the extra actual generated for
1784         an access parameter of a function that dispatches on result, to prevent
1785         double generation of such actuals when the call is rewritten is a
1786         dispatching call.
1787         * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
1788         * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
1789         that carry this flag when rewriting the original call as a dispatching
1790         call, after propagating the controlling tag.
1791
1792 2009-09-16  Vincent Celier  <celier@adacore.com>
1793
1794         * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
1795         in the source data.
1796         (Check_File): New parameter Source_Dir_Rank, to check if a duplicate
1797         source is allowed.
1798         (Find_Source_Dirs): New parameter Rank to be recorded with the source
1799         directories.
1800         (Search_Directories): Call Check_File with the rank of the directory
1801         * prj.adb (Project_Empty): Add new component Source_Dir_Ranks
1802         (Free): Free also Number_Lists
1803         (Reset): Init also Number_Lists
1804         * prj.ads (Number_List_Table): New dynamic table for lists of numbers
1805         (Source_Data): New component Source_Dir_Rank. Remove component
1806         Known_Order_Of_Source_Dirs, no longer needed.
1807         (Project_Data): New component Source_Dir_Ranks
1808         (Project_Tree_Data): New components Number_Lists
1809
1810 2009-09-16  Vincent Celier  <celier@adacore.com>
1811
1812         * gprep.adb (Yes_No): New global constant
1813         Unix_Line_Terminators: New global Boolean variable
1814         (Process_One_File): Create the out file with a "Text_Translation=" form
1815         that depends on the use of option -T.
1816         (Scan_Command_Line): Add option -T
1817         (Usage): Add line for option -T
1818
1819 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
1820
1821         * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
1822         predicate that describes a proper subset of
1823         Is_Predefined_Dispatching_Operation and excludes stream operations,
1824         which can be overridden by the user.
1825         * sem_ch6.adb (Create_Extra_Formals): use
1826         Is_Predefined_Internal_Operation, so that stream operations get extra
1827         formals.
1828         * exp_ch6.adb (Prevent double generation of extra actuals in calls to
1829         'Input, which may be expanded twice, first as a function call and then
1830         as a dispatching call.
1831
1832 2009-09-16  Thomas Quinot  <quinot@adacore.com>
1833
1834         * s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
1835         * g-expect.adb (Set_Up_Child_Communications): Use
1836         System.OS_Constants.Target_OS to determine whether running on Windows.
1837
1838 2009-09-14  Richard Henderson  <rth@redhat.com>
1839
1840         * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
1841
1842 2009-09-14  Eric Botcazou  <ebotcazou@adacore.com>
1843
1844         * exp_dbug.ads (Packed Array Encoding): Document the new encoding for
1845         the unconstrained case.
1846         * gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
1847         the encoding.  Do not give a name to the pointer type to the XUT type.
1848         * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
1849         for fat pointer types, if any.  Make sure DECL_ARTIFICIAL is cleared
1850         on nodes with DECL_ORIGINAL_TYPE set.
1851         (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
1852         for fat pointer types.  Make sure DECL_ARTIFICIAL is cleared.
1853
1854 2009-09-14  Richard Henderson  <rth@redhat.com>
1855
1856         * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1857         default_init_unwind_resume_libfunc.
1858         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
1859         __builtin_eh_pointer.
1860         * gcc-interface/utils.c (gnat_install_builtins): Update call
1861         to build_common_builtin_nodes.
1862
1863 2009-09-13  Richard Guenther  <rguenther@suse.de>
1864             Rafael Avila de Espindola  <espindola@google.com>
1865
1866         * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
1867         eh_personality_libfunc and lang_eh_runtime_type.
1868         (LANG_HOOKS_EH_PERSONALITY): Define.
1869         (gnat_eh_personality_decl): New static variable.
1870         (gnat_eh_personality): New static function.
1871         Include gt-ada-misc.h.
1872         * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
1873         * gcc-interface/config-lang.in (gtfiles): Add misc.c.
1874
1875 2009-09-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1876
1877         PR ada/18302
1878         * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
1879
1880 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1881
1882         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
1883         flow of control.
1884         Avoid useless work when processing the Treat_As_Volatile flag.
1885
1886 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1887
1888         * gcc-interface/targtyps.c: Reorder include directives.
1889
1890 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1891
1892         * gcc-interface/targtyps.c: Add missing include for tm_p.h.
1893         * gcc-interface/Make-lang.in: Update dependencies.
1894
1895 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
1896
1897         * make.adb: Add missing documentation for multilib handling.
1898         
1899 2009-09-03  Diego Novillo  <dnovillo@google.com>
1900
1901         * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
1902
1903 2009-09-02  Richard Henderson  <rth@redhat.com>
1904
1905         * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
1906
1907 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1908
1909         * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
1910         and uc arguments.
1911         
1912 2009-09-02  Olivier Hainque  <hainque@adacore.com>
1913
1914         * gcc-interface/decl.c (cannot_be_superflat_p): Handle
1915         Signed_Integer_Type_Definition Scalar_Ranges.
1916
1917 2009-09-02  Eric Botcazou  <ebotcazou@adacore.com>
1918
1919         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
1920         SAVE_EXPR built for misaligned arguments.  Remove redundant stuff.
1921         (addressable_p): Return true for more rvalues.
1922
1923 2009-09-01  Jakub Jelinek  <jakub@redhat.com>
1924
1925         * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
1926         POINTER_SIZE to HOST_WIDE_INT.
1927
1928 2009-09-01  Richard Guenther  <rguenther@suse.de>
1929
1930         * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
1931
1932 2009-08-25  Eric Botcazou  <ebotcazou@adacore.com>
1933
1934         * gcc-interface/trans.c (call_to_gnu): Tidy.
1935         (gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
1936         non-constant size but the array itself has constant size.
1937         * gcc-interface/utils.c (convert_vms_descriptor64): Fix type
1938         consistency error.
1939         (convert_vms_descriptor32): Likewise.
1940
1941 2009-08-22  Aurelien Jarno  <aurelien@aurel32.net>
1942
1943         * gcc-interface/Makefile.in: Add Ada support for 
1944         GNU/kFreeBSD x86_64.
1945         * system-freebsd-x86_64.ads: New file based on 
1946         system-freebsd-x86.ads.
1947
1948 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1949
1950         * gcc-interface/utils.c (convert): In the padded case, do the final
1951         conversion as an unchecked conversion if the underlying types are
1952         array types with variable size.
1953
1954 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1955
1956         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
1957         as visited.
1958         * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
1959         bounds.
1960         * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
1961         fields.
1962         (gnat_gimplify_expr) <DECL_EXPR>: New case.
1963
1964 2009-08-17  Aurelien Jarno  <aurelien@aurel32.net>
1965
1966         * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
1967         (stack_t): New record type.
1968         (sigaltstack): New imported function.
1969         (Alternate_Stack): New imported variable.
1970         (Alternate_Stack_Size): New constant.
1971
1972 2009-08-17  Vasiliy Fofanov  <fofanov@adacore.com>
1973
1974         * a-calend-vms.adb: Fix typo.
1975
1976 2009-08-17  Tristan Gingold  <gingold@adacore.com>
1977
1978         * s-taprop-posix.adb: Round up the stack size to avoid failure on
1979         Darwin.
1980
1981 2009-08-17  Gary Dismukes  <dismukes@adacore.com>
1982
1983         * sem_cat.adb (Validate_Static_Object_Name): Update comment.
1984
1985 2009-08-17  Vincent Celier  <celier@adacore.com>
1986
1987         * make.adb (Arguments_Collected): Unneeded, removed
1988         (Change_To_Object_Directory): Use Project directly. Add pragma Assert to
1989         ensure caller does not pass in No_Project.
1990         (Compile): Add new parameter Project. Let procedure
1991         Collect_Arguments_And_Compile provide the proper value.
1992
1993         * switch-c.adb: Add documentation for -gnatea and -gnatez
1994
1995 2009-08-17  Ben Brosgol  <brosgol@adacore.com>
1996
1997         * gnat_ugn.texi: Changed name of package in SAL example, to avoid
1998         clash with Ada 2005 reserved word (interface).
1999
2000 2009-08-17  Robert Dewar  <dewar@adacore.com>
2001
2002         * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
2003         a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
2004         a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
2005         (use conditional expressions).
2006
2007 2009-08-17  Robert Dewar  <dewar@adacore.com>
2008
2009         * make.adb: Add ??? comment
2010         * tbuild.adb: Minor reformatting
2011
2012 2009-08-17  Thomas Quinot  <quinot@adacore.com>
2013
2014         * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
2015         Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
2016         Use Tbuild.Make_Temporary to create entity for the temporary.
2017
2018 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
2019
2020         * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
2021         and ignore -mieee switch to avoid spawning an extra gcc in this case.
2022
2023 2009-08-17  Thomas Quinot  <quinot@adacore.com>
2024
2025         * tbuild.adb: Minor reformatting
2026
2027 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
2028
2029         * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
2030         exist, as is the case for synchronized types, use the type of the
2031         discriminal in the parameter specification, to prevent a spurious
2032         subtype mismatch in gigi.
2033
2034 2009-08-17  Robert Dewar  <dewar@adacore.com>
2035
2036         * prj-env.adb: Minor reformatting
2037         * make.adb: Minor reformatting
2038         Comment updates
2039
2040 2009-08-17  Javier Miranda  <miranda@adacore.com>
2041
2042         * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
2043
2044 2009-08-17  Emmanuel Briot  <briot@adacore.com>
2045
2046         * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
2047         (Processing_Flags.Require_Obj_Dirs): new field, which controls whether
2048         object directories must be present. In the case of gprclean at least,
2049         these are optional (if they do not exist there is nothing to clean)
2050
2051 2009-08-17  Robert Dewar  <dewar@adacore.com>
2052
2053         * prj-env.adb: Minor reformatting
2054         * sem_ch3.adb: Minor reformatting
2055
2056 2009-08-17  Hristian Kirtchev  <kirtchev@adacore.com>
2057
2058         * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
2059         the time zone since VxWorks chose positive values to represent west
2060         time zones and negative for east zones.
2061
2062 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
2063
2064         * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
2065         an anonymous access type whose designated type is generic.
2066
2067 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
2068
2069         * comperr.adb (Compiler_Abort): Do not generate a bug box when in
2070         codepeer mode, friendlier.
2071
2072 2009-08-10  Laurent GUERBY  <laurent@guerby.net>
2073
2074         * make.adb: Handle multilib
2075         
2076 2009-08-10  Vincent Celier  <celier@adacore.com>
2077
2078         * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
2079         the temporary file name in the error message when the temporary file
2080         cannot be created.
2081
2082 2009-08-10  Yannick Moy  <moy@adacore.com>
2083
2084         * gnat_ugn.texi: Fix typo
2085
2086 2009-08-10  Robert Dewar  <dewar@adacore.com>
2087
2088         * exp_ch7.adb: Add ??? comment for last change
2089
2090 2009-08-10  Vincent Celier  <celier@adacore.com>
2091
2092         * prj-env.adb (Add_To_Buffer): New procedure
2093         (Create_Config_Pragmas_File): Write to temporary file in one shot
2094         (Create_Mapping_File): Ditto
2095         (Set_Ada_Paths): Ditto
2096
2097 2009-08-10  Vincent Celier  <celier@adacore.com>
2098
2099         PR ada/17566
2100         * xref_lib.adb (Print_Xref): Make sure that there is at least one space
2101         between a declaration name and its type.
2102
2103 2009-08-07  Javier Miranda  <miranda@adacore.com>
2104
2105         * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
2106         SCIL node.
2107
2108 2009-08-07  Robert Dewar  <dewar@adacore.com>
2109
2110         * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
2111
2112 2009-08-07  Vincent Celier  <celier@adacore.com>
2113
2114         * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
2115         specified on the command line and there are switches in the Compiler
2116         package of the project file, use these compilation switches to invoke
2117         the tool.
2118
2119 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
2120
2121         * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
2122
2123 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
2124
2125         * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
2126         even if not in main unit, to simplify debugging.
2127
2128 2009-08-07  Arnaud Charlet  <charlet@adacore.com>
2129
2130         * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
2131         * gcc-interface/Make-lang.in: Update dependencies.
2132
2133 2009-08-07  Robert Dewar  <dewar@adacore.com>
2134
2135         * types.ads: Minor reformatting
2136         * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
2137         * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
2138         Output_Non_Modified_In_Out_Warnings.
2139         * sem_ch13.adb: Remove ??? comment.
2140
2141 2009-08-07  Vincent Celier  <celier@adacore.com>
2142
2143         * mlib-prj.adb (Build_Library): Include binder generate object file
2144         for SAL when library name is only one character.
2145
2146 2009-08-07  Thomas Quinot  <quinot@adacore.com>
2147
2148         * targparm.adb: Minor reformatting
2149         * sem.adb: Minor reformatting
2150         * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
2151
2152 2009-08-07  Emmanuel Briot  <briot@adacore.com>
2153
2154         * prj-conf.adb: Remove duplicate directory separator in the output when
2155         an object directory does not exist.
2156
2157 2009-08-07  Robert Dewar  <dewar@adacore.com>
2158
2159         * exp_util.adb: Minor reformatting
2160
2161 2009-08-07  Vincent Celier  <celier@adacore.com>
2162
2163         * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
2164         length used).
2165
2166 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
2167
2168         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
2169         detect non-static private components that will violate restriction
2170         No_Implicit_Heap_Allocation.
2171
2172 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
2173
2174         * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
2175
2176 2009-08-02  Eric Botcazou  <ebotcazou@adacore.com>
2177
2178         * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
2179         * gcc-interface/utils.c (end_subprog_body): Likewise.
2180         * gcc-interface/trans.c (gigi): Likewise.
2181         (gnat_to_gnu): Likewise.
2182
2183 2009-07-30  Ben Brosgol  <brosgol@adacore.com>
2184
2185         * gnat_ugn.texi: Correct minor texi glitch.
2186
2187 2009-07-30  Ed Schonberg  <schonberg@adacore.com>
2188
2189         * exp_util.adb (Expand_Subtype_From_Expr): If the type of the
2190         expression has an underlying representation that is an unchecked union,
2191         there is no subtype to build.
2192
2193 2009-07-30  Robert Dewar  <dewar@adacore.com>
2194
2195         * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
2196         s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
2197         sem_ch7.adb, adaint.c: Minor reformatting
2198
2199 2009-07-29  Javier Miranda  <miranda@adacore.com>
2200
2201         * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
2202         moved from the expander to the semantic analyzer to allow the
2203         generation of these internal entities when compiling with no code
2204         generation. Required by ASIS.
2205         * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
2206         * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
2207         * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
2208         (Expand_Freeze_Record_Type): Remove call to
2209         Add_Internal_Interface_Entities because this routine is now called at
2210         early stage --when the freezing node is analyzed.
2211
2212 2009-07-29  Robert Dewar  <dewar@adacore.com>
2213
2214         * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
2215         exp_disp.adb, g-socket.adb: Minor reformatting
2216
2217 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
2218
2219         * sem_ch7.adb (New_Private_Type): Create class-wide type after other
2220         attributes have been established, so that they are all inherited by the
2221         class-wide type.
2222         * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
2223         properly named subtypes of class-wide types.
2224
2225 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
2226
2227         * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
2228         indicators on user-defined operators.
2229
2230 2009-07-29  Vadim Godunko  <godunko@adacore.com>
2231
2232         * g-socket.adb (Receive_Vector): Add comment.
2233
2234 2009-07-29  Javier Miranda  <miranda@adacore.com>
2235
2236         * frontend.adb (Frontend): Code cleanup.
2237         * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
2238         Rewriten as a procedure because it a new out-mode parameters to
2239         keep up-to-date the controlling tag node in the caller.
2240         (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
2241         new out-mode parameter to keep up-to-date the controlling tag node in
2242         the caller.
2243         * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
2244         exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
2245         package Sem_SCIL.
2246         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
2247         available in new package Sem_SCIL.
2248         (Next_Non_SCIL_Node): Ditto.
2249         * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
2250         package Sem_SCIL.
2251         (Expand_Dispatching_Call): Update call to modified Exp_Atags routines
2252         plus complete decoration of SCIL dispatching node.
2253         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
2254         * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
2255         package Sem_SCIL.
2256         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
2257         * exp_ch3.adb (Build_Init_Procedure): Fix comment.
2258         * sem_scil.ads, sem_scil.adb: New files.
2259         * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
2260         Update dependencies.
2261
2262 2009-07-28  Robert Dewar  <dewar@adacore.com>
2263
2264         * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
2265         makeutl.adb: Minor reformatting & code reorganization
2266         * sem_ch3.adb: Minor reformatting.
2267         Fix spelling error (constraint for constrain) in error msg.
2268
2269 2009-07-28  Emmanuel Briot  <briot@adacore.com>
2270
2271         * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
2272         global variable that also exists in makeutl.ads, and that some routines
2273         in that package use already.
2274         (Check): Moved part of the code to makeutl.adb for better sharing with
2275         gprbuild.
2276
2277 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2278
2279         * gcc-interface/Make-lang.in: Update dependencies.
2280
2281 2009-07-28  Emmanuel Briot  <briot@adacore.com>
2282
2283         * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
2284         importing project does not end up in the list, in the case of extending
2285         projects.
2286         * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
2287         makeutl.ads, for better sharing with gprbuild.
2288
2289 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2290
2291         * gnat_ugn.texi: Fix typo.
2292
2293 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
2294
2295         * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
2296         derivation that renames some discriminants and constrain others.
2297         * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
2298         prefix is a derived untagged type, convert to the root type to conform
2299         to the signature of the protected operations.
2300
2301 2009-07-28  Robert Dewar  <dewar@adacore.com>
2302
2303         * sinfo.ads: Update comments.
2304         * exp_attr.adb: Minor reformatting
2305
2306 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
2307
2308         * sem_aggr.adb (Get_Value): A named association in a record aggregate
2309         should be treated as a modification of the named component, not as a
2310         reference.
2311
2312 2009-07-28  Quentin Ochem  <ochem@adacore.com>
2313
2314         * prj-tree.ads, prj-tree.adb (Free): Minor editing.
2315         * prj.ads, prj.adb (Image): Ditto.
2316
2317 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
2318
2319         * frontend.adb: Minor reformatting.
2320         (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
2321         for efficiency.
2322
2323 2009-07-28  Bob Duff  <duff@adacore.com>
2324
2325         * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
2326         'Address to get a pointer to the protected body wrapper.
2327
2328 2009-07-28  Javier Miranda  <miranda@adacore.com>
2329
2330         * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
2331         nodes if we are not generating code.
2332         * frontend.adb (Check_SCIL_Node): New subprogram. Used to check
2333         attribute SCIL_Related_Node of SCIL dispatching nodes.
2334         (Check_SCIL_Nodes): New instantiation of Traverse_Proc.
2335         * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
2336         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
2337         (SCIL_Entity): Update documentation.
2338         (SCIL_Related_Node): Update documentation.
2339         (SCIL_Controlling_Tag): New attribute.
2340         (SCIL_Target_Prim): Update documentation.
2341         (N_Null_Statement): Remove attributes associated with SCIL nodes.
2342         (N_SCIL_Dispatch_Table_Object_Init): New node.
2343         (N_SCIL_Dispatch_Table_Tag_Init): New node.
2344         (N_SCIL_Dispatching_Call): New node.
2345         (N_SCIL_Tag_Init): New node.
2346         * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
2347         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
2348         (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
2349         (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
2350         (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
2351         (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
2352         N_SCIL_Dispatching_Call nodes.
2353         * sem.adb (Analyze): No need to analyze SCIL nodes.
2354         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
2355         (Next_Non_SCIL_Node): New subprogram
2356         * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
2357         dispatching nodes.
2358         * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
2359         dispatching node.
2360         * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
2361         dispatching node.
2362         * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
2363         null statement nodes.
2364         (Build_Init_Procedure): Generate new SCIL node.
2365         * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
2366         node.
2367         * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
2368         they are currently implemented as special N_Null_Statement nodes.
2369         * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
2370         procedure call then check if some SCIL node references it and needs
2371         readjustment.
2372         * exp_disp.ads (SCIL_Node_Kind): Removed.
2373         (Adjust_SCIL_Node): New subprogram.
2374         (Find_SCIL_Node): New subprogram.
2375         (Get_SCIL_Node_Kind): Removed.
2376         (New_SCIL_Node): Removed.
2377         * exp_disp.adb (Adjust_SCIL_Node): New subprogram
2378         (Expand_Dispatching_Call): Generate new SCIL dispatching node including
2379         decoration of its new controlling_tag attribute.
2380         (Get_SCIL_Node_Kind): Removed.
2381         (Find_SCIL_Node): New subprogram.
2382         (Make_Secondary_DT): Generate new SCIL nodes.
2383         (Make_Tags): Generate new SCIL nodes.
2384         (New_SCIL_Node): Removed.
2385         * exp_util.adb (Insert_Actions): Handle SCIL nodes.
2386         (Remove_Side_Effects): Check if relocated nodes require readjustment
2387         of some SCIL dispatching node.
2388         * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
2389
2390 2009-07-28  Robert Dewar  <dewar@adacore.com>
2391
2392         * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
2393
2394 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2395
2396         * gnat_ugn.texi: Add section about gnatcheck rule exemption.
2397
2398 2009-07-28  Vadim Godunko  <godunko@adacore.com>
2399
2400         * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
2401         not defined by limits.h.
2402
2403         * g-socket.adb (Receive_Vector): Use minimum length from user's vector
2404         length and maximum supported length of data vector.
2405
2406 2009-07-28  Gary Dismukes  <dismukes@adacore.com>
2407
2408         * usage.adb: Inhibit printing gcc-specific switches for AAMP target.
2409         * make.adb: Call Get_Target_Parameters before calling Usage so that
2410         VM_Target and AAMP_On_Target will be set.
2411
2412 2009-07-28  Olivier Hainque  <hainque@adacore.com>
2413
2414         * g-ssinty.ads: Remove, pointless and just confusing at this stage.
2415         * gnat_rm.texi: Remove documentation.
2416         * g-sse.ads: Minor reorg along the way.
2417         * gcc-interface/Makefile.in: Remove processing for g-ssinty.
2418         * g-ssvety.ads: Minor comment updates.
2419
2420 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2421
2422         * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
2423         for the new format of the report file.
2424
2425 2009-07-28  Sergey Rybin  <rybin@adacore.com>
2426
2427         * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
2428
2429 2009-07-28  Pascal Obry  <obry@adacore.com>
2430
2431         * g-expect.adb: Record standard handles only on Windows.
2432
2433 2009-07-27  Emmanuel Briot  <briot@adacore.com>
2434
2435         * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
2436         Add comments.
2437
2438 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2439
2440         * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
2441         rule definition the paragraph that explains that generic functions and
2442         functions from generic packages are not checked.
2443
2444 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
2445
2446         * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
2447         procedure when determining whether to set the Overridden_Operation
2448         field of a subprogram overriding an inherited subprogram.
2449         
2450 2009-07-27  Robert Dewar  <dewar@adacore.com>
2451
2452         * a-except.adb, a-except-2005.ads: Minor reformatting
2453
2454 2009-07-27  Robert Dewar  <dewar@adacore.com>
2455
2456         * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
2457
2458 2009-07-27  Javier Miranda  <miranda@adacore.com>
2459
2460         * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
2461         add some documentation explaining why the SCIL nodes must be generated
2462         at that point.
2463
2464 2009-07-27  Olivier Hainque  <hainque@adacore.com>
2465
2466         * a-except.adb: Bind to __builtin_longjmp directly.
2467         * a-except-2005.ads: Provide direct binding to __builtin_longjmp
2468         for sjlj variants.
2469         * a-exexpr.adb: Use it.
2470         * a-except-xi.adb: Likewise.
2471         * raise.c (_gnat_builtin_longjmp): Remove and update comments.
2472         * raise.h (_gnat_builtin_longjmp): Remove declaration.
2473
2474 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2475
2476         * sem_eval.adb (Compile_Time_Compare): More precise handling of
2477         Known_Valid flag, to prevent spurious range deductions when scalar
2478         variables may be uninitialized. New predicate Is_Known_Valid_Operand.
2479
2480 2009-07-27  Robert Dewar  <dewar@adacore.com>
2481
2482         * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
2483         and code clean up.
2484
2485 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2486
2487         * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
2488         Ravenscar mode. Error has already been posted on specification.
2489
2490         * sem.adb: Further code clean ups.
2491
2492 2009-07-27  Robert Dewar  <dewar@adacore.com>
2493
2494         * g-sse.ads: Minor reformatting
2495
2496 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2497
2498         * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
2499         alternate ali extension.
2500         * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
2501         account Osint.ALI_Suffix.
2502         * osint.ads (ALI_Suffix): Make visible.
2503         * gnatfind.adb (Gnatfind): Add support for --ext= switch.
2504         * gnat_ugn.texi: Document new gnatfind --ext= switch.
2505
2506 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2507
2508         * sem.adb (Walk_Library_Items): If main unit is an instance body, do
2509         its spec first.
2510
2511 2009-07-27  Javier Miranda  <miranda@adacore.com>
2512
2513         * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
2514         the dispatching call has is expanded.
2515
2516 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
2517
2518         * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
2519         Is_Known_Valid flag on the temporary created for the value whose
2520         validity is being checked.
2521
2522         * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
2523         handle properly main units that are package specifications.
2524
2525 2009-07-27  Geert Bosch  <bosch@adacore.com>
2526
2527         * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
2528         * sem_aux.ads: Fix typo in comment
2529         * sem_util.ads (Is_LHS): Adjust comment to match body
2530
2531 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2532
2533         * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
2534         rule definition.
2535
2536 2009-07-27  Olivier Hainque  <hainque@adacore.com>
2537
2538         * g-sse.ads, g-ssvety.ads: Update comments.
2539
2540 2009-07-27  Sergey Rybin  <rybin@adacore.com>
2541
2542         * gnat_ugn.texi: Update gnatcheck doc.
2543
2544 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
2545
2546         * lib-xref.ads: Allocate/document 'o' char for use by references to
2547         spark 'own' variables.
2548
2549 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
2550
2551         * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
2552         objects, since these are implicitly referenced by the return statement.
2553         * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
2554         Is_Return_Object in this procedure, as return objects will never make
2555         it here since they're now marked as Referenced.
2556
2557 2009-07-27  Robert Dewar  <dewar@adacore.com>
2558
2559         * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
2560
2561 2009-07-27  Robert Dewar  <dewar@adacore.com>
2562
2563         * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
2564
2565         * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
2566
2567 2009-07-27  Geert Bosch  <bosch@adacore.com>
2568
2569         * checks.adb (Find_Check): Minor streamlining of logic.
2570         * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
2571         * debug.adb: Document -gnatdX debug flag
2572         * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
2573         list information about reads from scalar entities.
2574         Also slightly simplify condition for Expand_Current_Value.
2575         * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
2576         functions.
2577
2578 2009-07-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2579
2580         PR bootstrap/40578
2581         * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
2582         (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
2583         to these.
2584         (__gnat_stat): Adjust reference to STAT in prototype.
2585         * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
2586         __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
2587         __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
2588         __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
2589         __gnat_is_writable_file, __gnat_is_executable_file,
2590         __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
2591         __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
2592         __gnat_copy_attribs): Adjust all references to the above.
2593         * cstreams.c (__gnat_is_regular_file_fd): Likewise.
2594
2595 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2596
2597         * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
2598         done at the same time, guard against listing a body more than once.
2599
2600 2009-07-23  Robert Dewar  <dewar@adacore.com>
2601
2602         * exp_ch6.adb: Minor reformatting
2603
2604 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2605
2606         * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
2607         static expression is known valid.
2608         * sem_eval.adb (Compile_Time_Compare): Handle properly non-static
2609         operands of a subtype with a single value.
2610
2611 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2612
2613         * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
2614         are in the context of the main unit body.
2615
2616 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2617
2618         * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
2619         misprint in rule description.
2620
2621 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2622
2623         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
2624         test that the object declaration is within an extended return statement
2625         with direct test of whether the declared object associated with the
2626         build-in-place call is a return object, since the enclosing function
2627         might not even be a build-in-place function.
2628
2629 2009-07-23  Robert Dewar  <dewar@adacore.com>
2630
2631         * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
2632         Minor code reorganization
2633
2634 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2635
2636         * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
2637         for static analysis, only packed arrays are causing troubles.
2638
2639 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2640
2641         * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
2642         ancestor part is a call to a limited function with an unconstrained
2643         result subtype unless the aggregate has a null extension type.
2644         * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
2645         the parent type declaration to avoid blowups on subtype cases.
2646
2647 2009-07-23  Robert Dewar  <dewar@adacore.com>
2648
2649         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
2650         comma.
2651
2652         * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
2653
2654         * s-regexp.adb: Minor reformatting
2655         * scos.ads: Minor reformatting.
2656
2657 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2658
2659         * freeze.adb (Set_Small_Size): Remove extra space for consistency with
2660         other similar messages.
2661         * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
2662         messages/implicit packing in CodePeer mode.
2663         (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
2664         * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
2665         CodePeer mode.
2666
2667 2009-07-23  Pascal Obry  <obry@adacore.com>
2668
2669         * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
2670         systems.
2671
2672 2009-07-23  Robert Dewar  <dewar@adacore.com>
2673
2674         * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
2675         Minor reformatting.
2676
2677 2009-07-23  Yannick Moy  <moy@adacore.com>
2678
2679         * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
2680         pattern.
2681         (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
2682         string.
2683         (Raise_Exception): Ditto.
2684
2685 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2686
2687         * g-sse.ads: Simplify comment.
2688
2689 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2690
2691         * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
2692         low level internal type definitions for distinct higher level
2693         binding development activities (user type definitions and
2694         operations).
2695         * gnat_rm.texi: Document it.
2696         * g-ssvety.ads: Use it.
2697         * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
2698         g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
2699         * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
2700         for the "may_alias" attribute.
2701
2702 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2703
2704         * scos.ads: Minor typo fix
2705
2706         * gcc-interface/decl.c (validate_alignment): For the case of an
2707         implicit array base type, look for alignment clause on first subtype.
2708
2709 2009-07-23  Robert Dewar  <dewar@adacore.com>
2710
2711         * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
2712         with tagged parent if tagged parent is fully repped.
2713
2714 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2715
2716         * sem.adb (Walk_Library_Units): Handle properly the case where a unit
2717         in the context depends on the spec of the main unit, by delaying
2718         processing of the main unit body until all other units have been
2719         processed.
2720
2721 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2722
2723         * a-convec.adb: Add comments about suspicious/subtle code.
2724
2725 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2726
2727         * einfo.ads: Document use of Alias in private overriding
2728
2729 2009-07-23  Thomas Quinot  <quinot@adacore.com>
2730
2731         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
2732         an array type, propagate alignment from first subtype to implicit base
2733         type so that other subtypes (such as the itypes for aggregates of the
2734         type) also receive the expected alignment.
2735
2736         * g-comlin.ads: Minor documentation clarification/rewording. 
2737         * scos.ads: Minor comments update.
2738         * lib-writ.ads: Minor reformatting
2739
2740 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2741
2742         * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
2743         of a class-wide interface type that is a return object of a
2744         build-in-place function, bypass the interface-related expansions into
2745         renamings with displacement conversions, etc.
2746         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
2747         for the case where a renaming occurs in a build-in-place context, to
2748         assert that the bypassing of the build-in-place treatment only occurs
2749         in the case of a renaming that is an expansion of a return expression
2750         that is itself a build-in-place function call.
2751
2752 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2753
2754         * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
2755         valid candidate interpretation in a prefixed view if it is hidden, but
2756         overrides an inherited operation declared in the visible part.
2757
2758 2009-07-23  Robert Dewar  <dewar@adacore.com>
2759
2760         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2761         division operands to 64-bit at all in any circumstances.
2762
2763 2009-07-23  Robert Dewar  <dewar@adacore.com>
2764
2765         * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
2766         checking ranges for mod/rem to see if conditional jump will be
2767         generated.
2768         (Analyze_N_Op_Rem): Don't try to check actual lower bounds for
2769         generating special -1 test for rem, generate it whenever both
2770         operands can be negative (match circuit in Sem_Res).
2771         (Analyze_N_Op_Rem): Don't go to base type, no longer needed and
2772         destroys memory of positive range.
2773         * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
2774         checking ranges for mod/rem to see if conditional jump will be generated
2775
2776 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2777
2778         * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
2779         scalar components has non-static bounds, the equivalent aggregate
2780         cannot be built, even if the expression is static, because range checks
2781         will be generated.
2782
2783 2009-07-23  Robert Dewar  <dewar@adacore.com>
2784
2785         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2786         division operands to 64-bit inside a conversion if 64-bit division not
2787         available.
2788
2789 2009-07-23  Sergey Rybin  <rybin@adacore.com>
2790
2791         * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
2792
2793 2009-07-23  Javier Miranda  <miranda@adacore.com>
2794
2795         * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
2796         (Entity/Set_Entity): not available in N_Null_Statement nodes
2797         (Is_Scil_Node): renamed as Is_SCIL_Node
2798         (Scil_Nkind): renamed as SCIL_Nkind
2799         (Scil_Related_Node): renamed as SCIL_Related_Node
2800         (Scil_Target_Prim): renamed as SCIL_Target_Prim
2801         (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
2802         (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
2803         (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
2804         Update documentation
2805         * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
2806         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2807         (New_Scil_Node): Renamed as New_SCIL_Node
2808         * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
2809         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2810         (New_Scil_Node): Renamed as New_SCIL_Node
2811         * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
2812
2813 2009-07-23  Robert Dewar  <dewar@adacore.com>
2814
2815         * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
2816         * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
2817         * einfo.adb: Minor reformatting
2818
2819 2009-07-23  Robert Dewar  <dewar@adacore.com>
2820
2821         * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
2822         cross-referencing the new related code in
2823         Exp_Ch4.Expand_N_Type_Conversion.
2824         * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
2825
2826         * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
2827         Add comment.
2828
2829 2009-07-23  Javier Miranda  <miranda@adacore.com>
2830
2831         * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
2832         Scil_Target_Prim, N_Has_Entity): Add missing documentation.
2833         * exp_disp.ads (Scil_Node_Kind): Ditto.
2834         * exp_disp.adb (Make_DT, Make_Tags): Ditto.
2835         * exp_ch3.adb (Build_Init_Procedure): Ditto.
2836
2837 2009-07-23  Javier Miranda  <miranda@adacore.com>
2838
2839         * einfo.adb (Component_Type): Add missing assertion.
2840         * sem_res.adb (Resolve_Call): Ensure proper kind of entity before
2841         reading attribute Component_Size.
2842         * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
2843         before reading attributes Component_Size and Component_Type.
2844         * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
2845         before reading attribute Component_Type.
2846
2847 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2848
2849         * gnat_rm.texi: Document the GNAT.SSE units.
2850
2851 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2852
2853         * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
2854         not null return if it appears on a subunit.
2855
2856 2009-07-23  Robert Dewar  <dewar@adacore.com>
2857
2858         * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
2859         check right away so it does not get skipped for early returns, e.g.
2860         array assignments.
2861         (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
2862         left-side unless we really know the value is valid.
2863
2864         * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
2865         reformatting. Minor code reorganization. Add comments.
2866
2867 2009-07-23  Robert Dewar  <dewar@adacore.com>
2868
2869         * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
2870         complex condition.
2871
2872 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
2873
2874         * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
2875         with test of coverage, to allow specific type objects in extended
2876         returns of class-wide functions. Remove now-unnecessary special-case
2877         tests that allowed this in certain cases of expanded extended returns.
2878
2879 2009-07-23  Javier Miranda  <miranda@adacore.com>
2880
2881         * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
2882         N_Null_Statements (for SCIL nodes).
2883         (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
2884         (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
2885         (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
2886         nodes).
2887         (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
2888         * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
2889         associated with dispatching call.
2890         (Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
2891         (Make_DT, Make_Tags): Add generation of SCIL nodes associated with
2892         initialization of dispatch tables and initialization of tags.
2893         (New_Scil_Node): New function that creates a new SCIL node.
2894         (Build_Init_Procedure): Add generation of SCIL node associated with the
2895         initialization of tags done in the IP subprogram.
2896
2897 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
2898
2899         * errout.adb (Error_Msg_NEL): If the entity in the initial message has
2900         Warnings_Off, do not emit continuation messages.
2901
2902         * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
2903         spec.
2904
2905 2009-07-23  Emmanuel Briot  <briot@adacore.com>
2906
2907         * ali.adb: Minor comment update
2908
2909 2009-07-23  Vasiliy Fofanov  <fofanov@adacore.com>
2910
2911         * s-win32.ads (HANDLE): Define to be the same size as address type.
2912         Fix copyright.
2913
2914 2009-07-23  Olivier Hainque  <hainque@adacore.com>
2915
2916         * g-sse.ads: New file. Root of the SSE facilities trees, with
2917         general description and common declarations.
2918         * g-ssvety.ads: New file. Expose user level SSE vector types.
2919         * impunit.adb (Non_Imp_File_Names_95): Register new units.
2920         * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
2921         EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
2922
2923 2009-07-23  Ben Brosgol  <brosgol@adacore.com>
2924
2925         * gnat_ugn.texi: Wordsmithing.
2926
2927 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
2928
2929         * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
2930
2931 2009-07-22  Eric Botcazou  <ebotcazou@adacore.com>
2932
2933         * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
2934         they are already of the base type of the index.
2935
2936 2009-07-22  Brett Porter  <porter@adacore.com>
2937
2938         * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
2939
2940 2009-07-22  Robert Dewar  <dewar@adacore.com>
2941
2942         * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
2943         * gnat_ugn.texi: Add documentation for -gnateS switch
2944         * ug_words: Add entry for -gnateS /SCO_OUTPUT
2945         * gcc-interface/Make-lang.in: Update dependencies.
2946
2947         * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
2948         par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
2949         complete information for SCO input/output.
2950
2951 2009-07-22  Sergey Rybin  <rybin@adacore.com>
2952
2953         * gnat_ugn.texi: Update doc for some gnatcheck rules.
2954
2955 2009-07-22  Robert Dewar  <dewar@adacore.com>
2956
2957         * par_sco.adb, par_sco.ads (pscos): New debug routine to output
2958         contents of SCO tables.
2959         * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
2960         scos.adb, scos.ads: New files.
2961         * gcc-interface/Make-lang.in: Update dependencies.
2962
2963         * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
2964         fixes and reformatting.
2965
2966 2009-07-22  Robert Dewar  <dewar@adacore.com>
2967
2968         * g-socket.ads: Minor reformatting
2969
2970 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
2971
2972         * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
2973         include the entity kind for following cases of unreferenced entities:
2974         E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
2975
2976 2009-07-22  Ed Falis  <falis@adacore.com>
2977
2978         * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
2979         with taskSuspend.
2980
2981 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
2982
2983         * adadecode.c: Make this file compilable outside of GCC.
2984
2985 2009-07-22  Thomas Quinot  <quinot@adacore.com>
2986
2987         * g-socket.adb, g-socket.ads (Check_Selector): Make sure that
2988         (partially) default-initialized socket sets are handled properly by
2989         clearing their Set component.
2990
2991 2009-07-22  Bob Duff  <duff@adacore.com>
2992
2993         * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
2994
2995 2009-07-22  Robert Dewar  <dewar@adacore.com>
2996
2997         * gnat_ugn.texi: Minor reformatting
2998
2999 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
3000
3001         * errout.adb (Error_Msg): A style message within an instantiation
3002         should not be labelled as an error.
3003
3004 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
3005
3006         * freeze.adb (Freeze_Entity): Do not generate extra formal for function
3007         in initialization expression if function does not have convention Ada.
3008
3009 2009-07-22  Sergey Rybin  <rybin@adacore.com>
3010
3011         * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
3012         '--separate-label' to control label layout.
3013
3014 2009-07-22  Robert Dewar  <dewar@adacore.com>
3015
3016         * exp_tss.ads, sem_eval.adb: Minor reformatting
3017
3018 2009-07-22  Bob Duff  <duff@adacore.com>
3019
3020         * exp_dist.adb, exp_dist.ads: Update comments.
3021
3022 2009-07-22  Brett Porter  <porter@adacore.com>
3023
3024         * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
3025         FPSCR.
3026         * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
3027
3028 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
3029
3030         * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
3031         exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
3032         Minor reformatting.
3033         * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
3034         used poor terminology.
3035
3036 2009-07-22  Robert Dewar  <dewar@adacore.com>
3037
3038         * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
3039         * sem_eval.adb, exp_tss.adb: Minor comment update.
3040         * stylesw.adb: Code clean up.
3041
3042 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
3043
3044         * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
3045         component size is an exact number of bytes, an array type can have a
3046         size clause that forces packing even though the array type itself is
3047         not bit-packed.
3048
3049 2009-07-22  Thomas Quinot  <quinot@adacore.com>
3050
3051         * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
3052         if there is a previous entity with the same name in the scope, ignore
3053         it if it is the renaming declaration for a generic package introduced
3054         in instances.
3055
3056 2009-07-22  Nicolas Roche  <roche@adacore.com>
3057
3058         * seh_init.c: use RtlAddFunctionTable to register our SEH exception
3059         handler on x86_64 windows.
3060
3061 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
3062
3063         * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
3064         false positives in CodePeer, so ignore this pragma in this mode.
3065
3066 2009-07-22  Thomas Quinot  <quinot@adacore.com>
3067
3068         * sem_util.adb, sem_ch10.adb: Minor reformatting
3069
3070         * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
3071         special handling for the case of no data received and Item'First =
3072         Stream_Element_Offset'First.
3073         (Last_Index): New subprogram factoring the above special handling
3074         over the various locations where it is required.
3075
3076 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
3077
3078         * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
3079         checks in CodePeer_Mode.
3080         * gcc-interface/Make-lang.in: Update dependencies.
3081
3082 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
3083
3084         * sem_aggr.adb: Improve error message.
3085
3086         * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
3087         of an address representation clause.
3088         * freeze.adb (Freeze_Static_Object): An local imported object is legal
3089         if it has an address clause.
3090
3091 2009-07-22  Thomas Quinot  <quinot@adacore.com>
3092
3093         * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
3094         expression to insert an elab check using a conditional expression, be
3095         sure to carry the original list of interpretations to the new location.
3096
3097 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
3098
3099         * gnat1drv.adb: Fix spelling error.
3100
3101 2009-07-22  Javier Miranda  <miranda@adacore.com>
3102
3103         * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
3104         at the library level and fix a hidden bug in its implementation: its
3105         functionality for renaming objects was broken because
3106         N_Object_Renaming_Declarations nodes are not a subclass of
3107         N_Declaration nodes (as documented in sinfo.ads).
3108         * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
3109         check nodes that are actuals of generic instantiations.
3110
3111 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
3112
3113         * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
3114         context of a compilation unit is being analyzed. Used to detect
3115         circularities created by with_clauses that are not detected by the
3116         loading machinery.
3117         * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
3118         analyzing the context of the current compilation unit, to detect
3119         possible circularities created by with_clauses.
3120
3121 2009-07-22  Thomas Quinot  <quinot@adacore.com>
3122
3123         * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
3124
3125 2009-07-22  Robert Dewar  <dewar@adacore.com>
3126
3127         * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
3128         * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
3129         procedure.
3130         * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
3131         * gnat_ugn.texi: Add documentation of -gnatyB
3132         * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
3133
3134 2009-07-22  Robert Dewar  <dewar@adacore.com>
3135
3136         * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
3137         make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
3138         s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
3139         s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
3140         errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
3141         a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
3142         s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
3143         a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
3144         erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
3145         obey short-circuit style rule.
3146
3147 2009-07-20  Bob Duff  <duff@adacore.com>
3148
3149         * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
3150         instead of "and", because otherwise Parent_Last_Bit is read
3151         uninitialized in the case where it's not a tagged type, or the tagged
3152         parent does not have a complete rep clause.
3153
3154 2009-07-20  Robert Dewar  <dewar@adacore.com>
3155
3156         * stylesw.ads: Minor documentation change.
3157
3158         * types.ads: Minor reformatting
3159
3160 2009-07-20  Javier Miranda  <miranda@adacore.com>
3161
3162         * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
3163         generating the tag checks associated with dispatching calls.
3164         * exp_disp.adb (Apply_Access_Checks): New subprogram.
3165         (New_Value): This routine was previously local to expand dispatching
3166         calls but it is now used also by Apply_Access_Checks.
3167         (Expand_Dispatching_Calls): Cleanup code because the functionality of
3168         tag checks is now provided by Apply_Access_Checks. 
3169         * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
3170         case of dispatching calls.
3171
3172 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
3173
3174         * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
3175         CodePeer_Mode.
3176
3177 2009-07-20  Gary Dismukes  <dismukes@adacore.com>
3178
3179         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
3180         for VMS, only rewrite the first component of the associated exception's
3181         aggregate init (as 'V'), and eliminate the bogus rewrites of the second
3182         and third components  that were being replaced with 'M' and 'S'.
3183
3184 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
3185
3186         * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
3187         Also do not generate error when parsing a spec in CodePeer mode.
3188
3189 2009-07-20  Javier Miranda  <miranda@adacore.com>
3190
3191         * checks.adb (Apply_Access_Check): Avoid checks on availability of
3192         runtime function Offset_To_Top_Ptr when compiling with no tagged
3193         types expansion.
3194         * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
3195         adding code to the init proc when compiling for VM backends.
3196
3197 2009-07-20  Vincent Celier  <celier@adacore.com>
3198
3199         * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
3200         account switches -gnatw.?
3201
3202 2009-07-20  Thomas Quinot  <quinot@adacore.com>
3203
3204         * sem_dist.adb, exp_dist.adb: Minor reformatting
3205
3206         * Make-generated.in: New file.
3207
3208         * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
3209
3210 2009-07-20  Javier Miranda  <miranda@adacore.com>
3211
3212         * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
3213         subprogram.
3214         * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
3215         dynamically tagged expression.
3216         * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
3217         factorizes code.
3218         * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
3219         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
3220
3221 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
3222
3223         * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
3224         CodePeer_Mode is set, to benefit from full front-end expansion
3225         (e.g. generics).
3226
3227 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3228
3229         * sem_res.adb: Add guard.
3230
3231         * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
3232         for possible attribute definition of External_Tag, in case clause
3233         appears in the private part of a package.
3234
3235 2009-07-20  Jerome Guitton  <guitton@adacore.com>
3236
3237         * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
3238
3239 2009-07-20  Vadim Godunko  <godunko@adacore.com>
3240
3241         * a-coorma.adb: Minor reformatting.
3242
3243 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3244
3245         * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
3246         access return types.
3247         * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
3248         provide an itype reference to gigi to force elaboration of the subtype
3249         at the proper point.
3250
3251 2009-07-20  Tristan Gingold  <gingold@adacore.com>
3252
3253         * g-expect.adb: Avoid closeing already closed handle.
3254
3255 2009-07-20  Robert Dewar  <dewar@adacore.com>
3256
3257         * sprint.adb (Write_Subprogram_Name): New procedure to output
3258         subprogram name with possible preceding $ (replaces
3259         Note_Implicit_Run_Time_Call).
3260
3261 2009-07-20  Robert Dewar  <dewar@adacore.com>
3262
3263         * vms_data.ads: Minor reformatting
3264
3265         * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
3266         applies to base type.
3267         (Parent_Subtype): Now allowed on record subtype, applies to base type
3268         * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
3269         for case of fully repped tagged type.
3270         (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
3271         tag save/restore for fully repped tagged type case.
3272         * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
3273         * fe.h (Is_Fully_Repped_Tagged_Type): New function
3274         * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
3275         overlap of tagged type components with parent type if parent type is
3276         fully repped.
3277         * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
3278
3279         * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
3280         comparisons.
3281         (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
3282         (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
3283
3284         * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
3285         logical operators (AND/OR/XOR), not comparison operators.
3286
3287         * sprint.ads: Minor reformatting
3288
3289 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
3290
3291         * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
3292         intrinsics, check that argument is a string literal, rather than
3293         checking for staticness.
3294
3295 2009-07-20  Robert Dewar  <dewar@adacore.com>
3296
3297         * sem_ch13.adb: Minor reformatting
3298
3299         * einfo.ads: Minor reformatting
3300         Component_Bit_Offset is no longer considered obsolescent
3301
3302 2009-07-20  Nicolas Roche  <roche@adacore.com>
3303
3304         * a-calend.adb: Redefine time_t as signed integer with same size as
3305         Address type.
3306         * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
3307         Address type
3308         * adaint.h: On Windows 64bits declare OS_Time as long long instead of
3309         long
3310
3311 2009-07-20  Javier Miranda  <miranda@adacore.com>
3312
3313         * exp_tss.adb (Init_Proc): Add missing support for non-default C++
3314         constructors that have anonymous access type formals.
3315
3316         * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
3317         class-wide arguments in case of imported C++ subprograms.
3318
3319         * exp_ch3.adb (Build_Initialization_Call): Add assertion.
3320
3321 2009-07-20  Sergey Rybin  <rybin@adacore.com>
3322
3323         * vms_data.ads: Update qualifiers.
3324
3325 2009-07-20  Robert Dewar  <dewar@adacore.com>
3326
3327         * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
3328         reformatting
3329
3330 2009-07-17  Richard Guenther  <rguenther@suse.de>
3331
3332         PR c/40401
3333         * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
3334         state.  Remove unused parameter.
3335         (gnat_gimplify_function): Do not gimplify here.
3336         Fold into its only caller and remove.
3337         (gnat_builtin_function): Adjust for end_subprog_body signature change.
3338         (gnat_write_global_declarations): Also finalize the CU.
3339         * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
3340         * gcc-interface/trans.c (gigi): Revert to pre-tuples state.
3341         (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
3342         change.
3343         * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
3344
3345 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
3346
3347         * gcc-interface/Make-lang.in: Update dependencies
3348
3349         * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
3350
3351 2009-07-15  Robert Dewar  <dewar@adacore.com>
3352
3353         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
3354         N_Label. Remove SCO table entry for entry point (not used).
3355
3356         * par_sco.ads: Remove SCO entry point type (not used)
3357
3358         * switch.adb: Minor code clean up.
3359
3360 2009-07-15  Eric Botcazou  <ebotcazou@adacore.com>
3361
3362         * exp_dbug.ads (Base Record Types): Document enhanced encoding.
3363
3364 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3365
3366         * gnatls.adb: Minor reformatting
3367
3368         * gnatcmd.adb: Minor code reorganization
3369
3370 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3371
3372         * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
3373         determine whether a component of a private type has a composite type.
3374
3375 2009-07-15  Robert Dewar  <dewar@adacore.com>
3376
3377         * sem_ch10.adb: Minor reformatting throughout
3378         Minor code reorganization (put nested subprograms in alpha order)
3379
3380 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3381
3382         * exp_ch6.adb (Expand_Call): Prevent double attachment of the result
3383         when compiling a call to a protected function that returns a controlled
3384         object.
3385
3386 2009-07-15  Hristian Kirtchev  <kirtchev@adacore.com>
3387
3388         * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
3389         one. Add task locking and unlocking around the critical region which
3390         mentions localtime_r and global variable timezone for various targets.
3391         Comment reformatting.
3392
3393 2009-07-15  Robert Dewar  <dewar@adacore.com>
3394
3395         * gnat_rm.texi: Document s-ststop.ads
3396
3397         * impunit.ad: (Map_Array): New table of alternative names
3398         (Get_Kind_Of_Unit): Return possible suggested alternative name
3399
3400         * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
3401         alternative name.
3402
3403         * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
3404         alternative unit if an implementation unit is with'ed.
3405
3406 2009-07-15  Robert Dewar  <dewar@adacore.com>
3407
3408         * gnat_ugn.texi: Minor updates.
3409
3410         * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
3411
3412 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3413
3414         * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
3415         conditions of a derived boolean type.
3416         Minor reformatting
3417
3418 2009-07-15  Robert Dewar  <dewar@adacore.com>
3419
3420         * gnat1drv.adb: Initialize SCO tables
3421
3422         * par-load.adb: Call SCO_Record for main unit spec
3423
3424         * par.adb: Make call to SCO_Record for main unit
3425
3426         * par_sco.adb (Unit_Table): Change format to facilitate sort
3427         (Process_Decisions): New procedure with list argument
3428         (Traverse_Generic_Package_Declaration): New procedure
3429         (Initialize): New procedure, replaces Init
3430         (SCO_Output): Sort unit table before output
3431         (SCO_Record): Avoid duplications
3432         (SCO_Record): Handle remaining cases of units
3433         (Traverse_Declarations_Or_Statements): Handle generics
3434
3435         * par_sco.ads (Initialize): New peocedure (replaces Init)
3436
3437         * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
3438         subunit.
3439
3440 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
3441
3442         * debug.adb: Add -gnatd.J switch for now to support scil generation in
3443         parallel. Add missing doc for -gnatd.I and -gnatd.O
3444
3445 2009-07-15  Robert Dewar  <dewar@adacore.com>
3446
3447         * lib-load.adb: Minor reformatting
3448
3449         * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
3450
3451 2009-07-15  Robert Dewar  <dewar@adacore.com>
3452
3453         * par.adb: Minor reformatting
3454         Add ??? comment for possible bad comment
3455
3456         * par-ch10.adb: Minor reformatting
3457
3458 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
3459
3460         * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
3461         is a literal of a derived boolean type, it appears as an unchecked
3462         conversion. Retrieve actual value from expression of conversion.
3463
3464 2009-07-15  Robert Dewar  <dewar@adacore.com>
3465
3466         * sem_ch3.adb: Minor reformatting
3467
3468         * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
3469         lib-writ.ads, lib-writ.adb: Minor reformatting.
3470         Fix problem with SCO format in ALI files
3471
3472 2009-07-15  Robert Dewar  <dewar@adacore.com>
3473
3474         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3475         exp_aggr.adb: Minor code reorganization (better calling sequence for
3476         Make_Temporary).
3477
3478 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3479
3480         * opt.ads: Minor comment edits
3481
3482 2009-07-15  Tristan Gingold  <gingold@adacore.com>
3483
3484         * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
3485         needed.
3486
3487 2009-07-15  Robert Dewar  <dewar@adacore.com>
3488
3489         * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
3490         information.
3491
3492         * lib-writ.ads: Document addition of SCO lines to ALI file
3493
3494         * par_sco.ads, par_sco.adb: New files.
3495
3496         * opt.ads (Generate_SCO): New switch
3497
3498         * par.adb (Par): Call SCO_Record to record SCO information
3499
3500         * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
3501
3502         * switch-c.adb: Recognize -gnateS to generate SCO information
3503
3504         * usage.adb: Add line for -gnateS
3505
3506         * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
3507
3508 2009-07-15  Robert Dewar  <dewar@adacore.com>
3509
3510         * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
3511         reformatting.
3512
3513 2009-07-15  Thomas Quinot  <quinot@adacore.com>
3514
3515         * g-socthi-mingw.adb: Minor comment addition
3516
3517         * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
3518
3519 2009-07-15  Robert Dewar  <dewar@adacore.com>
3520
3521         * g-htable.ads, s-htable.ads: Minor reformatting
3522
3523 2009-07-15  Robert Dewar  <dewar@adacore.com>
3524
3525         * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
3526         new switch -gnatw.g.
3527         (Set_GNAT_Mode_Warnings): New procedure.
3528
3529         * lib-xref.adb: Minor reformatting
3530
3531 2009-07-15  Robert Dewar  <dewar@adacore.com>
3532
3533         * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
3534         Minor code reorganization
3535
3536 2009-07-14  Taras Glek  <tglek@mozilla.com>
3537             Rafael Espindola  <espindola@google.com>
3538
3539         * gcc-interface/Make-lang.in (ada.install-plugin): New target for
3540         installing plugin headers.
3541
3542 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3543
3544         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3545         exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
3546         and link it to the expression whose value it captures.
3547
3548 2009-07-13  Robert Dewar  <dewar@adacore.com>
3549
3550         * output.adb: Minor comment addition for last change
3551
3552         * sinfo.ads: Minor reformatting
3553
3554 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3555
3556         * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
3557         spawn failed like on all other targets.
3558
3559 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3560
3561         * exp_ch7.adb: Indicate origin of temporary for transient expression.
3562
3563 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3564
3565         * s-oscons-tmplt.c: Add comment.
3566
3567 2009-07-13  Robert Dewar  <dewar@adacore.com>
3568
3569         * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
3570         reformatting. Minor code reorganization (add 9 argument version of
3571         Nkind_In).
3572
3573         * impunit.adb: Remove s-os_lib from list of system extensions.
3574
3575         * sem_util.ads: Minor reformatting
3576
3577         * output.adb: Add warnings off/on around System.OS_Lib.
3578
3579 2009-07-13  Bob Duff  <duff@adacore.com>
3580
3581         * exp_dist.adb: Minor comment updates.
3582
3583 2009-07-13  Gary Dismukes  <dismukes@adacore.com>
3584
3585         * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
3586         several references to CodePeer.
3587
3588 2009-07-13  Bob Duff  <duff@adacore.com>
3589
3590         * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
3591         Build_TypeCode_Function_All): Do not recurse if the type is the base
3592         type.
3593
3594 2009-07-13  Robert Dewar  <dewar@adacore.com>
3595
3596         * exp_ch4.adb: Minor comment change
3597
3598 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3599
3600         * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
3601         type of iteration, to prevent spurious warnings.
3602
3603 2009-07-13  Nicolas Roche  <roche@adacore.com>
3604
3605         * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
3606         included.
3607
3608 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3609
3610         * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
3611         gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
3612         Generate_SCIL.
3613         (CodePeer_Mode): New -gnatC switch.
3614         (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
3615         CodePeer_Mode.
3616
3617 2009-07-13  Eric Botcazou  <ebotcazou@adacore.com>
3618
3619         * checks.adb (Selected_Range_Checks): Do not consider that a non-static
3620         integer bound forces the check if it is compared to its subtype range.
3621
3622 2009-07-13  Robert Dewar  <dewar@adacore.com>
3623
3624         * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
3625         prj-strt.ads: Minor reformatting
3626
3627 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3628
3629         * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
3630         set the type of the From_Any call to the base type.
3631
3632 2009-07-13  Doug Rupp  <rupp@adacore.com>
3633
3634         * symbols-processing-vms-ia64.adb (Process): Add variables and
3635         constants to retrieve and check for symbol visibility.
3636
3637 2009-07-13  Javier Miranda  <miranda@adacore.com>
3638
3639         * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
3640         the identical type we remove the conversion completely because
3641         it is useless.
3642
3643 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3644
3645         * prj-err.adb (Error_Msg): One more case where a message should be
3646         considered as a warning.
3647
3648         * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
3649
3650 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3651
3652         * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
3653         calling stubs in the (library level) scope of the RCI locator, where it
3654         is attached, not in the caller's scope.
3655
3656 2009-07-13  Javier Miranda  <miranda@adacore.com>
3657
3658         * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
3659         interface object declarations we delay the generation of the equivalent
3660         record type declarations until its expansion because there are cases in
3661         which they are not required.            
3662
3663         * sem_util.adb (Implements_Interface): Add missing support for subtypes.
3664
3665         * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
3666         addition of assertion.
3667
3668         * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
3669         interface types require no equivalent constrained type declarations
3670         because the expanded code only references the tag component associated
3671         with the interface.
3672         (Find_Interface_Tag): Improve management of interfaces that are
3673         ancestors of tagged types.
3674
3675         * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
3676         class-wide object declarations to add missing support to statically
3677         displace the pointer to the object to reference the tag component
3678         associated with the interface.
3679
3680         * exp_disp.adb (Make_Tags) Avoid generation of internally generated
3681         auxiliary types associated with user-defined dispatching calls if the
3682         type has no user-defined primitives.
3683
3684 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3685
3686         * mingw32.h: Make it explicit that we need XP or later.
3687
3688         * initialize.c: Remove useless extern symbol declaration.
3689
3690         * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
3691         code reuse in expect.c.
3692
3693         * adaint.c: Changes throughout the Windows section to redesign storage
3694         of the child process list and the process identification.
3695
3696         * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
3697         for interfacing, fix errors.
3698         (__gnat_expect_portable_execvp): use function in adaint.c
3699
3700 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3701
3702         * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
3703         prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
3704         prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
3705         errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
3706         (Prj.Nmsc.Report_Error): Removed, no longer needed.
3707         Always use Prj.Err.Report_Message.
3708
3709 2009-07-13  Robert Dewar  <dewar@adacore.com>
3710
3711         * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
3712         & comment edits.
3713
3714 2009-07-13  Robert Dewar  <dewar@adacore.com>
3715
3716         * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
3717         prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
3718
3719 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3720
3721         * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
3722         mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
3723         Ada_Prj_Include_File_Set): Removed, since not needed
3724         Code clean up.
3725
3726 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3727
3728         * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
3729         Analyze_Membership_Op.
3730
3731         * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
3732         Resolve_Membership_Op.
3733
3734         * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
3735         Expand_N_In.
3736
3737 2009-07-13  Robert Dewar  <dewar@adacore.com>
3738
3739         * clean.adb: Minor reformattting
3740
3741 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3742
3743         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
3744         gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
3745         prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
3746         prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
3747         and attributes in a project tree.
3748         (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
3749         Remove last remaining mode-specific code (ada_only or
3750         multi_language). This was duplicating code
3751         (Get_Mode, Set_Mode): removed, no longer used.
3752         (Initialize_Project_Path): all tools will now take into account both
3753         GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
3754         Remove some global variables and subprograms no longer used
3755         Make temporary files tree-specific, to avoid interferences between
3756         trees loaded in memory at the same time.
3757         (Prj.Delete_Temporary_File): new subprogram
3758         (Object_Paths, Source_Paths): fields no longer stored in the project
3759         tree, since they are only needed locally in Set_Ada_Paths.
3760         (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
3761         effect in practice.
3762         (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
3763         by local variables in the appropriate subprograms
3764         (Has_Foreign_Sources): removed.
3765
3766         * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
3767
3768 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3769
3770         * gnat1drv.adb (Adjust_Global_Switches): No longer set
3771         Back_Annotate_Rep_Info in inspector mode.
3772         (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
3773
3774         * opt.ads: Update comment.
3775
3776 2009-07-13  Robert Dewar  <dewar@adacore.com>
3777
3778         * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
3779         prj.ads: Minor reformatting and code reorganization.
3780
3781         * par-ch3.adb (Check_Restricted_Expression): New procedure
3782
3783 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3784
3785         * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
3786         attribute into a call of the corresponding suprogram, create extra
3787         formals for the subprogram, because it may be a renaming whose
3788         analysis does not create extra formals.
3789
3790 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3791
3792         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
3793         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3794         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
3795         prj-tree.ads: Minor reformatting.
3796         (Processing_Flags): new record to encapsulate the set of common
3797         parameters to several subprograms in the project manager.
3798         (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
3799         Remove the need for the Current_Dir parameter in subprograms.
3800         (Look_For_Sources): minor refactoring, now that we no longer need to
3801         share subprograms between the two Ada_Only and Multi_Language modes
3802         (Processing_Flags): New field Error_On_Unknown_Language.
3803         Merge tests for library project between gnatmake and gprbuild.
3804
3805 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3806
3807         * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
3808         Minor reformatting.
3809
3810 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3811
3812         * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
3813         than units.
3814
3815 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3816
3817         * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
3818         Write,Input,Output} from private view to full view.
3819
3820         * sem_type.adb, sem_type.ads: Minor reformatting
3821
3822 2009-07-13  Nicolas Setton  <setton@adacore.com>
3823
3824         * exp_dbug.ads: Add documentation note on the utility of
3825         DW_AT_GNAT_encoding for IDEs.
3826
3827 2009-07-13  Robert Dewar  <dewar@adacore.com>
3828
3829         * g-socthi-vxworks.adb: Minor reformatting
3830
3831         * gnatcmd.adb: Minor reformatting
3832
3833 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3834
3835         * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
3836         removed, not used anymore.
3837         (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
3838         New subprogram, implements copy of an Any value into a limited object.
3839         (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
3840         Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
3841         Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
3842         of parameters of a limited type, use the above new subprogram.
3843
3844 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3845
3846         * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
3847         Location.
3848         (Copy_ALI_Files): Avoid calls to read when pointing outside of the
3849         allocated space.
3850         (Error_Report): Remove global variable, replaced by parameters.
3851
3852 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3853
3854         * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
3855         standard sendto(2) interface for connected sockets (passing a null
3856         destination address). Use send(2) instead for that case.
3857
3858 2009-07-13  Pascal Obry  <obry@adacore.com>
3859
3860         * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
3861
3862 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3863
3864         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
3865         prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
3866         variables and tables in prj-nmsc.adb.
3867         (Tree_Processing_Data): Renames Processing_Data, some new fields added
3868         (Project_Processing_Data): New record
3869         Simplify/unify check for missing sources.
3870
3871 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3872
3873         * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
3874         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3875         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
3876         prj-tree.ads (Immediate_Directory_Of): Removed.
3877         (Prj.Pars): Now parse the project simulating a default config file.
3878         (Add_Default_GNAT_Naming_Scheme): New subprogram
3879         (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
3880         Remove gnatmake-specific parsing of source files.
3881         (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
3882         the error itself to provide more precise diagnostics.
3883         (Process_Exceptions_Unit_Based): Avoid duplicate error message when
3884         a unit belongs to several projects.
3885         (Copy_Interface_Sources): Search the full path of files to copy in the
3886         list of sources of the application rather than in the list of units.
3887         (Parse_Project_And_Apply_Config): Do not reset the name of the main
3888         project file.
3889         (Check_File): Use htables to find out whether a source is duplicated.
3890         (Add_Source): check whether the source or unit were already seen earlier
3891
3892         * gcc-interface/Makefile.in: Update gnatmake dependencies.
3893
3894 2009-07-13  Robert Dewar  <dewar@adacore.com>
3895
3896         * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
3897         expression if extensions permitted.
3898
3899         * par-ch4.adb (P_Membership_Test): New procedure (implement membership
3900         set tests).
3901         (P_Relation): Use P_Membership_Test
3902
3903         * par.adb (P_Membership_Test): New procedure (implement membership set
3904         tests).
3905
3906         * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
3907
3908         * sprint.adb (Sprint_Node): Handle set form for membership tests.
3909
3910 2009-07-13  Thomas Quinot  <quinot@adacore.com>
3911
3912         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
3913         Do not attempt to generate stubs for predefined primitives of
3914         synchronized interfaces.
3915         (Add_Stub_Type): Factor some code from the PCS-specific variants of
3916         Build_Stub_Type.
3917
3918 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3919
3920         * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
3921         Controlling_Result flag from the operation they override.
3922
3923 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
3924
3925         * gcc-interface/Make-lang.in: Update dependencies
3926
3927 2009-07-13  Robert Dewar  <dewar@adacore.com>
3928
3929         * gnat_ugn.texi: The gnatf switch no longer is needed to get full
3930         details on unsupported constructs.
3931
3932         * rtsfind.adb: Remove references to All_Errors_Mode, give errors
3933         unconditionally.
3934
3935         * s-trafor-default.adb: Correct some warnings
3936
3937         * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
3938         sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
3939         Minor reformatting.
3940
3941         * par-ch4.adb (Conditional_Expression): Capture proper location for
3942         conditional expression, should point to IF.
3943
3944         * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
3945         s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
3946         g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
3947         reorganization (use conditional expressions).
3948
3949 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3950
3951         * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
3952         build-in-place function that returns an inherently limited type (not
3953         just a task type) create proper object declaration so that extra
3954         build-in-place actuals are properly added to the call.
3955
3956 2009-07-13  Robert Dewar  <dewar@adacore.com>
3957
3958         * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
3959
3960         * gnat_ugn.texi: Add documentation for -gnatw.m/.M
3961
3962         * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
3963
3964         * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
3965         Warn_On_Suspicious_Modulus_Value.
3966
3967         * ug_words: Add entries for -gnatw.m/-gnatw.M.
3968
3969         * usage.adb: Add lines for -gnatw.m/.M switches.
3970
3971         * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
3972
3973 2009-07-13  Javier Miranda  <miranda@adacore.com>
3974
3975         * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
3976         reading the Is_Interface attribute of the dispatching type.
3977
3978 2009-07-13  Robert Dewar  <dewar@adacore.com>
3979
3980         * a-convec.adb: Minor code reorganization (use conditional expressions)
3981
3982 2009-07-13  Robert Dewar  <dewar@adacore.com>
3983
3984         * freeze.adb (Check_Suspicious_Modulus): New procedure.
3985
3986 2009-07-13  Robert Dewar  <dewar@adacore.com>
3987
3988         * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
3989         warning).
3990
3991         * par-ch4.adb: Minor reformatting
3992
3993 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
3994
3995         * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
3996         => Is_Atomic_Aggregate
3997
3998 2009-07-13  Emmanuel Briot  <briot@adacore.com>
3999
4000         * prj-nmsc.adb: Avoid traversing the list of source files if
4001         we have already processed all locally removed files.
4002
4003 2009-07-13  Jose Ruiz  <ruiz@adacore.com>
4004
4005         * gnat_ugn.texi: Fix typo.
4006
4007 2009-07-13  Robert Dewar  <dewar@adacore.com>
4008
4009         * freeze.adb: Minor reformatting
4010         Minor code reorganization (use Nkind_In)
4011
4012         * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
4013
4014 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
4015
4016         * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
4017         local variable and do not test it in Compile_Time_Bad_Alignment.
4018         Do not issue size or alignment warnings for the X'Address form.
4019         * sem_util.ads (Find_Overlaid_Object): Delete.
4020         (Find_Overlaid_Entity): New procedure.
4021         * sem_util.adb (Find_Overlaid_Object): Rename to...
4022         (Find_Overlaid_Entity): ...this and turn into a procedure.  Report
4023         whether the address is offseted within the overlaid entity.
4024         (Has_Compatible_Alignment): Track the offset globally instead of
4025         passing it to Check_Offset.  For an indexed component, compute the
4026         full offset when possible.  If the resulting offset is zero, only
4027         check the prefix.
4028         (Check_Offset): Delete.
4029         * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
4030         (Address_Aliased_Entity): Delete.
4031         (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
4032         Find_Overlaid_Entity to find the overlaid entity and the offset.
4033         Adjust throughout for above change.
4034         (Validate_Address_Clauses): Always use attributes of entities, not of
4035         their type.  Tweak message for warning.  Call Has_Compatible_Alignment
4036         if the address is offseted to warn about incompatible alignments.
4037         * gcc-interface/gigi.h (annotate_object): Declare.
4038         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
4039         entity.  Call annotate_object instead of annotating manually objects.
4040         (annotate_object): New function.
4041         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
4042         at the end.
4043
4044 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
4045
4046         * gcc-interface/ada-tree.h: Minor reorganization.
4047         * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
4048         (gnat_print_type): Likewise.
4049
4050 2009-07-11  Thomas Quinot  <quinot@adacore.com>
4051
4052         * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
4053         Lvalue -> lvalue
4054
4055         * exp_ch6.adb: Minor reformatting
4056
4057 2009-07-11  Ed Schonberg  <schonberg@adacore.com>
4058
4059         * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
4060         account possible type qualification to determine whether aggregate
4061         needs a target temporary to respect atomic type or object.
4062
4063         * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
4064         Expand_Atomic_Aggregate.
4065
4066 2009-07-11  Emmanuel Briot  <briot@adacore.com>
4067
4068         * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
4069         algorithm.
4070         (Excluded_Sources_Htable): No longer a global table.
4071         Change error message to indicate which files are illegal in the list
4072         of excluded files, as opposed to only the location in the project
4073         file.
4074         (Find_Source): New subprogram.
4075
4076 2009-07-10  Thomas Quinot  <quinot@adacore.com>
4077
4078         * exp_ch7.adb: Update comments.
4079
4080 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
4081
4082         * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
4083         clause if -gnatI is set instead of crashing.
4084
4085 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4086
4087         * sem_ch11.adb (Same_Expression): Null is always equal to itself.
4088         Additional work to remove redundant successive raise statements, in
4089         this case access checks.
4090
4091 2009-07-10  Vincent Celier  <celier@adacore.com>
4092
4093         * make.adb (Compile): Always create a deep copy of the mapping file
4094         argument (-gnatem=...) as it may be deallocate/reallocate by
4095         Normalize_Arguments.
4096
4097 2009-07-10  Javier Miranda  <miranda@adacore.com>
4098
4099         * einfo.adb (Directly_Designated_Type): Add assertion.
4100         
4101         * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
4102         access types before using attribute Directly_Designated_Type.
4103
4104 2009-07-10  Emmanuel Briot  <briot@adacore.com>
4105
4106         * prj.ads: Minor typo fix
4107
4108 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4109
4110         * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
4111         special treatment.
4112
4113         * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
4114         subprogram is a function call, resolve properly, to ensure that extra
4115         actuals are added as needed.
4116
4117 2009-07-10  Thomas Quinot  <quinot@adacore.com>
4118
4119         * sem_aggr.adb: Minor comments editing
4120
4121         * exp_tss.adb, exp_ch3.adb: Minor reformatting
4122
4123 2009-07-10  Robert Dewar  <dewar@adacore.com>
4124
4125         * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
4126
4127         * exp_ch4.adb: Add ??? comment for conditional expressions on limited
4128         types.
4129
4130         * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
4131         replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
4132         case of conditional expressions that may not be elaborated.
4133
4134         * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
4135         conditional expression where we may not execute then then or else
4136         branches.
4137
4138 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
4139
4140         * i-cexten.ads (bool): New type.
4141
4142 2009-07-10  Robert Dewar  <dewar@adacore.com>
4143
4144         * sinfo.ads (N_Short_Circuit): New definition
4145         
4146         * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
4147         treepr.adb: Minor code reorganization (use N_Short_Circuit)
4148
4149 2009-07-10  Javier Miranda  <miranda@adacore.com>
4150
4151         * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
4152         non-tagged record types.
4153
4154         * sem_prag.adb
4155         (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
4156         with non-tagged types. Required to import C++ classes that have no
4157         virtual primitives.
4158         (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
4159         returning non-tagged types. For backward compatibility, if the
4160         constructor returns a class wide type we internally change the
4161         returned type to the corresponding non class-wide type.
4162
4163         * sem_aggr.adb
4164         (Valid_Ancestor_Type): CPP_Constructors code cleanup.
4165         (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
4166         (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
4167         (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
4168
4169         * sem_ch3.adb
4170         (Analyze_Object_Declaration): CPP_Constructors code cleanup.
4171
4172         * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
4173
4174         * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
4175
4176         * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
4177
4178         * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
4179         cleanup.
4180         
4181         * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
4182
4183         * gnat_rm.texi
4184         (pragma CPP_Class): Document that it can be used now with non-tagged
4185         record types.
4186         (pragma CPP_Constructor): Document that it can be used now with
4187         functions returning specific types. For backward compatibility
4188         we also support functions returning class-wide types.
4189
4190         * gnat_ugn.texi
4191         (Interfacing with C++ constructors): Update the examples to incorporate
4192         the new syntax in which the functions used to import C++ constructors
4193         return specific types.
4194         (Interfacing with C++ at the Class Level): Update the examples to
4195         incorporate the new syntax in which the functions used to import
4196         C++ constructors return specific types.
4197
4198 2009-07-10  Thomas Quinot  <quinot@adacore.com>
4199
4200         * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
4201         Make_Disp_Conditional_Select_Body,
4202         Make_Disp_Timed_Select_Body): For the case of a type that is neither an
4203         interface nor a concurrent type, the primitive body is empty. Generate
4204         a null statement so that it remains well formed.
4205
4206 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4207
4208         * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
4209         replace references to them in defaulted component expressions with
4210         references to the values of the discriminants of the target object.
4211
4212 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4213
4214         * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
4215         pragma, to capture global references if the context is generic.
4216
4217         * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
4218         appears within the initialization procedure for the corresponding
4219         record, replace it with the proper discriminal.
4220
4221 2009-07-10  Vincent Celier  <celier@adacore.com>
4222
4223         * make.adb: Do not include object directories or library ALI
4224         directories of library projects in the object path.
4225
4226 2009-07-10  Javier Miranda  <miranda@adacore.com>
4227
4228         * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
4229         Typ argument to ensure proper management of access types.
4230
4231 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4232
4233         * exp_ch7.adb (Build_Final_List): If the list is being built for a
4234         Taft-Amendment type, place the finalization list in the package body,
4235         to ensure that the tree for the spec is identical whenever it is
4236         compiled.
4237
4238 2009-07-10  Javier Miranda  <miranda@adacore.com>
4239
4240         * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
4241         inheriting attributes from a private Parent_Base.
4242
4243 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
4244
4245         * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
4246         statements with the same condition.
4247
4248 2009-07-10  Robert Dewar  <dewar@adacore.com>
4249
4250         * exp_ch4.adb (Raise_Accessibility_Error): New procedure
4251
4252 2009-07-09  Tom Tromey  <tromey@redhat.com>
4253
4254         * raise-gcc.c: Include dwarf2h (unconditionally).
4255
4256 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4257
4258         * sem_ch10.adb (Install_Context): If the unit is a package body,
4259         install the private with_clauses of the corresponding package
4260         declaration.
4261
4262 2009-07-09  Robert Dewar  <dewar@adacore.com>
4263
4264         * checks.adb: Minor reformatting
4265
4266 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4267
4268         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
4269         into ug_words.
4270
4271 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4272
4273         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
4274         Do not warn for a constant overlaying any constant object
4275
4276 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4277
4278         * sem_ch10.adb (Install_Context): If the unit is a package body,
4279         install the private with_clauses of the corresponding package
4280         declaration.
4281
4282 2009-07-09  Robert Dewar  <dewar@adacore.com>
4283
4284         * checks.adb: Minor reformatting
4285
4286 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4287
4288         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
4289         into ug_words.
4290
4291 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4292
4293         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
4294         Do not warn for a constant overlaying any constant object
4295
4296 2009-07-09  Arnaud Charlet  <charlet@adacore.com>
4297
4298         * gcc-interface/Make-lang.in: Update dependencies
4299
4300 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4301
4302         * g-socket.adb (Check_Selector): Do not create local copies of the
4303         socket sets on the stack.
4304
4305 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4306
4307         * gnat_ugn.texi: Add missing VMS translations.
4308
4309 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4310
4311         * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
4312         condition, to prevent generation of visible code during expansion,
4313         when Check is not enabled.
4314
4315 2009-07-09  Gary Dismukes  <dismukes@adacore.com>
4316
4317         * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
4318         the check gets registered for any available local handler
4319         (Set_Local_Raise).
4320
4321         * sem_util.adb: Add with and use of Exp_Ch11.
4322         (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
4323         that the check gets registered for any available local handler.
4324
4325         * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
4326         on slice ranges.
4327
4328 2009-07-09  Steve Baird  <baird@adacore.com>
4329
4330         * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
4331         function.
4332         (Expand_N_Exception_Declaration): Fix handling of exceptions
4333         declared in a subprogram.
4334
4335 2009-07-09  Emmanuel Briot  <briot@adacore.com>
4336
4337         * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
4338         multi-unit files.
4339
4340 2009-07-09  Thomas Quinot  <quinot@adacore.com>
4341
4342         * freeze.adb: Minor reformatting
4343
4344         * exp_ch3.adb: Minor comment fix.
4345
4346         * sinfo.ads: Minor comment fix
4347
4348 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4349
4350         * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
4351
4352 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4353
4354         * freeze.adb (Freeze_Expression): If the expression is the name of a
4355         function in a call, and the function has not been frozen yet, create
4356         extra formals for it to ensure that the proper actuals are created
4357         when expanding the call.
4358
4359 2009-07-09  Emmanuel Briot  <briot@adacore.com>
4360
4361         * prj-pp.adb (Print): Fix handling of source index when set on a
4362         declaration node.
4363
4364 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
4365
4366         * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
4367         a temporary to the source expression whose value it captures.
4368
4369         * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
4370
4371 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4372
4373         * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
4374         EXPR_LOCATION.
4375
4376 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
4377
4378         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
4379         parameters when the subtype of the actual is not known to be a subrange
4380         of the formal's subtype.
4381         (Expand_Call): Generate a range check only in the E_In_parameter case
4382         (in out parameter range checks are now handled in Expand_Actuals).
4383
4384         * exp_ch4.adb (Expand_N_Slice): Restore code that calls
4385         Enable_Range_Check.
4386
4387 2009-07-07  Robert Dewar  <dewar@adacore.com>
4388
4389         * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
4390
4391 2009-07-07  Javier Miranda  <miranda@adacore.com>
4392
4393         * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
4394         designated type comes from a limited views.
4395
4396 2009-07-07  Emmanuel Briot  <briot@adacore.com>
4397
4398         * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
4399         locally removed files that are later made visible again in an importing
4400         project.
4401
4402 2009-07-07  Robert Dewar  <dewar@adacore.com>
4403
4404         * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
4405
4406 2009-07-07  Sergey Rybin  <rybin@adacore.com>
4407
4408         * gnat_ugn.texi: Add an example to the description of gnatcheck
4409         'Style_Checks' rule option.
4410
4411 2009-07-07  Tristan Gingold  <gingold@adacore.com>
4412
4413         * seh_init.c: Fix inline assembly statement in seh_init.c
4414
4415 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4416
4417         * sem_warn.adb (Check_References): Do not emit warnings on formals of
4418         an entry body. Only the formals of the entry declaration are traced.
4419
4420 2009-07-07  Robert Dewar  <dewar@adacore.com>
4421
4422         * s-osprim-mingw.adb: Minor code reorganization
4423
4424 2009-07-07  Robert Dewar  <dewar@adacore.com>
4425
4426         * prj-nmsc.adb: Minor reformatting
4427
4428 2009-07-07  Pascal Obry  <obry@adacore.com>
4429
4430         * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
4431         cases where Pattern is longer than Source.
4432
4433 2009-07-07  Pascal Obry  <obry@adacore.com>
4434
4435         * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
4436
4437 2009-07-07  Emmanuel Briot  <briot@adacore.com>
4438
4439         * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
4440         project file.
4441
4442 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4443
4444         * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
4445         primitive operations, in case one of them is called in the
4446         initialization procedure for the type.
4447
4448 2009-07-07  Robert Dewar  <dewar@adacore.com>
4449
4450         * a-calend.adb: Minor code reorganization (use conditional expressions)
4451
4452         * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
4453         prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
4454         s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
4455         s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
4456         s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
4457         g-comlin.adb, exp_ch11.adb: Minor reformatting.
4458
4459 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
4460
4461         * checks.adb (Generate_Range_Check): Replace type conversions with
4462         unchecked conversions to support the case of performing range checks
4463         on Enum'Val (permits integer values to be converted to enumeration).
4464
4465         * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
4466         Attribute_Succ): Set Do_Range_Check to False before calling
4467         Expand_Pred_Succ, to prevent gigi from generating any range checks.
4468         (Expand_N_Attribute_Reference, case Attribute_Val):
4469         Generate a range check when needed (and set Do_Range_Check to False).
4470
4471         * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
4472         scalar object initialization if needed.
4473
4474         * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
4475         when needed on scalar allocators.
4476         (Expand_N_Qualified_Expression): Generate range check when needed.
4477         (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
4478         Checks on slice ranges handled in Resolve_Slice.
4479
4480         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
4481         when needed, for all scalar assignments, not just discrete.
4482         (Expand_Simple_Function_Return): Resolve the conversion created for a
4483         scalar function return so that the conversion will get expanded to
4484         generate a possible constraint check.
4485
4486         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
4487         in out scalar actuals when subtypes don't match, to ensure generation
4488         of return checks (and set Do_Range_Check to False).
4489         (Expand_Call): Uncomment code to perform range checks, but make it apply
4490         only to in and in out parameters (checks on parameter returns are
4491         handled in Expand_Actuals). If a scalar actual for a call to a derived
4492         subprogram is marked as needing a range check, peform it here (and set
4493         Do_Range_Check to False).
4494
4495         * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
4496         range check on scalar component associations when needed.
4497
4498         * sem_eval.adb (In_Subrange_Of): Return False when the first type has
4499         infinities but the second type does not, as these aren't compatible
4500         floating-point types.
4501
4502         * sem_res.adb (Resolve_Slice): In the case where the prefix of the
4503         slice is itself a slice, pick up the Etype of the prefix. This handles
4504         the case where the prefix was an Image attribute expanded to a slice,
4505         and ensures that we get the subtype with the slice constraint rather
4506         than the unconstrained subbtype of the 'Image.
4507
4508 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
4509
4510         * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
4511         overloaded expressions in a conditional expressions.
4512
4513         * sem_res.adb (Resolve): Handle properly overloaded conditional
4514         expressions.
4515
4516 2009-07-07  Robert Dewar  <dewar@adacore.com>
4517
4518         * scng.adb: Minor reformattting
4519
4520         * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
4521         association allows conditional expression without parens.
4522
4523         * par-ch4.adb (P_Name): Attribute arguments can be conditional
4524         expressions without enclosing parentheses, and also as parameters,
4525         indexing expressions etc.
4526         (P_Conditional_Expression): New procedure
4527         (P_Expression_If_OK): New procedure
4528
4529         * par.adb (P_Conditional_Expression): New procedure
4530         (P_Expression_If_OK): New procedure
4531
4532         * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
4533         form of conditional expression.
4534
4535         * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
4536         missing True argument if ELSE argument missing.
4537
4538         * sinfo.adb (Is_Elsif): New flag
4539
4540         * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
4541         part of the language, and the documentation is modified accordingly.
4542         (Is_Elsif): New flag
4543
4544 2009-07-06  Olivier Hainque  <hainque@adacore.com>
4545
4546         * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
4547         setjmp_longjmp): Attach the exception propagation reraise fallback
4548         to the sequence end label location when we have it.
4549
4550 2009-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
4551
4552         PR ada/40608
4553         * init.c (APPLE): Include <mach/mach_init.h>.
4554         (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
4555
4556 2009-07-04  Eric Botcazou  <ebotcazou@adacore.com>
4557
4558         * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
4559         (SET_DECL_LANG_SPECIFIC): Likewise.
4560         (TYPE_RM_VALUE): New macro.
4561         (SET_TYPE_RM_VALUE): Likewise.
4562         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
4563         (TYPE_RM_MIN_VALUE): Likewise.
4564         (TYPE_RM_MAX_VALUE): Likewise.
4565         (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
4566         (SET_TYPE_RM_MIN_VALUE): Likewise.
4567         (SET_TYPE_RM_MAX_VALUE): Likewise.
4568         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
4569
4570 2009-07-04  Laurent GUERBY  <laurent@guerby.net>
4571
4572         PR ada/40631
4573         * tracebak.c (__gnat_backtrace): Fix old-style definition.
4574
4575 2009-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4576
4577         * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
4578
4579 2009-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4580
4581         PR ada/40609
4582         * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
4583         ucontext argument.
4584
4585 2009-07-01  Eric Botcazou  <ebotcazou@adacore.com>
4586
4587         * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
4588
4589 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4590
4591         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
4592         the type of the left operand if it pads a self-referential type when
4593         the right operand is a constructor.
4594
4595         * gcc-interface/lang-specs.h: Fix copyright date.
4596
4597 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4598
4599         * gcc-interface/decl.c: Include tree-inline.h.
4600         (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
4601         * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
4602         * gcc-interface/utils2.c: Include tree-inline.
4603         (known_alignment) <CALL_EXPR>: Likewise.
4604
4605 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4606
4607         * raise-gcc.c: Include dwarf2.h conditionally.
4608         
4609 2009-06-29  Tom Tromey  <tromey@redhat.com>
4610
4611         * raise-gcc.c: Include elf/dwarf2.h.
4612
4613 2009-06-27  Laurent GUERBY  <laurent@guerby.net>
4614
4615         * tb-gcc.c (trace_callback): Add casts to silence warning.
4616
4617 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4618
4619         * tb-gcc.c: Fix copyright notice.
4620
4621 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4622
4623         * init.c (__gnat_set_globals): Add prototype.
4624         * adaint.c (__gnat_binder_supports_auto_init): Likewise.
4625         (__gnat_sals_init_using_constructors): Likewise.
4626         * gcc-interface/utils.c (gnat_pushlevel): Likewise.
4627         (get_block_jmpbuf_decl): Likewise.
4628         (gnat_poplevel): Likewise.
4629         (merge_sizes): Rename local variable.
4630         (copy_type): Likewise.
4631         (build_vms_descriptor32): Likewise.
4632         (build_vms_descriptor): Likewise.
4633         (convert_vms_descriptor64): Likewise.
4634         (convert_vms_descriptor32): Likewise.
4635         (convert_to_fat_pointer): Likewise.
4636         (maybe_unconstrained_array): Likewise.
4637         (def_fn_type): Use promoted type with va_arg.
4638         * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
4639         (substitute_in_type): Rename local variable.
4640         * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
4641
4642 2009-06-26  Laurent GUERBY  <laurent@guerby.net>
4643
4644         * tb-gcc.c (trace_callback): Use char* instead of void*.
4645         * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
4646         * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
4647         (Attribute_to_gnu): Adjust for above change.
4648         (Subprogram_Body_to_gnu): Likewise.
4649         * gcc-interface/utils.c (merge_sizes): Rename local variable.
4650         (copy_type): Likewise.
4651         (build_vms_descriptor32): Likewise.
4652         (build_vms_descriptor): Likewise.
4653         (convert_vms_descriptor64): Likewise.
4654         (convert_vms_descriptor32): Likewise.
4655         (convert_to_fat_pointer): Likewise.
4656         (maybe_unconstrained_array): Likewise.
4657         * gcc-interface/decl.c (substitute_in_type): Likewise.
4658
4659 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4660
4661         * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
4662         (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
4663         of the upper bound of the index types.
4664
4665 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4666
4667         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
4668         out common predicate.  Use the maximum to compute the upper bound of
4669         the index type only when it is not wider than sizetype.  Perform the
4670         comparison in the index type for the generic expression.  Use real
4671         precision to decide whether to generate special types for debugging
4672         information.
4673
4674 2009-06-26  Matthew Gingell  <gingell@adacore.com>
4675
4676         * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
4677
4678 2009-06-26  Vincent Celier  <celier@adacore.com>
4679
4680         * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
4681         default.
4682
4683 2009-06-26  Robert Dewar  <dewar@adacore.com>
4684
4685         * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
4686
4687 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4688
4689         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
4690         correct arguments to create_field_decl.  Remove redundant iteration.
4691         Rewrite computation of the maximum size.
4692         <E_Array_Subtype>: Reorder and simplify handling of special cases.
4693         Rewrite computation of the maximum size.  Use consistent naming.
4694         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
4695         comparison order for consistency.  Use generic integer node to
4696         build the operator and fold the result.
4697
4698 2009-06-25  Vincent Celier  <celier@adacore.com>
4699
4700         * vms_data.ads: Minor comment change
4701
4702 2009-06-25  Gary Dismukes  <dismukes@adacore.com>
4703
4704         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
4705         assignment statement to targeting a caller-provided object when the
4706         result type is an interface type.
4707
4708         * exp_ch6.adb (Expand_Call): Remove redundant test of
4709         Is_Limited_Interface (Is_Inherently_Limited is sufficient).
4710         (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
4711
4712         * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
4713         to OK_For_Limited_Init.
4714
4715         * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
4716         condition so that True is returned for all limited interfaces, not
4717         just synchronized ones. Ignore components of an interface type when
4718         checking for limited components (such a component can be a parent
4719         component).
4720
4721         * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
4722         (OK_For_Limited_Init): Add type parameter.
4723
4724         * sem_ch3.adb (Check_Initialization): Add type in call to
4725         OK_For_Limited_Init.
4726         (OK_For_Limited_Init): Add new type param in call to
4727         OK_For_Limited_Init_In_05.
4728         (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
4729         nonlimited type when the context type is a limited interface. Add type
4730         on recursive calls.
4731
4732         * sem_ch4.adb (Analyze_Allocator): Add type in call to
4733         OK_For_Limited_Init.
4734
4735         * sem_ch6.adb (Check_Limited_Return): Add type in call to
4736         OK_For_Limited_Init.
4737
4738         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
4739         OK_For_Limited_Init.
4740         (Instantiate_Object): Add type in call to OK_For_Limited_Init.
4741
4742         * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
4743         class-wide interface, get the base type before applying Etype, in order
4744         to account for class-wide subtypes.
4745
4746 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4747
4748         * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
4749         prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
4750         between gnatmake and gprbuild.
4751         (Naming_Data): Removed, no longer used
4752         (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
4753         needed locally in one subprogram, no need to store forever in the
4754         structure.
4755         (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
4756         a similar role.
4757         (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
4758         Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
4759         Spec_Suffix_Id_Of): removed, no longer used.
4760
4761 2009-06-25  Javier Miranda  <miranda@adacore.com>
4762
4763         * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
4764         types on qualified expression in calls to imported C++ constructors.
4765
4766         * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
4767         imported C++ constructors.
4768
4769 2009-06-25  Sergey Rybin  <rybin@adacore.com>
4770
4771         * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
4772
4773 2009-06-25  Vincent Celier  <celier@adacore.com>
4774
4775         * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
4776         provided, on Windows change all '/' to '\'.
4777
4778         * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
4779         used. Minor comment changes
4780
4781         * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
4782         Remove_Forbidden_File_Name.
4783
4784 2009-06-25  Quentin Ochem  <ochem@adacore.com>
4785
4786         * prj.ads (Unit_Index): Now general access type.
4787
4788 2009-06-25  Pascal Obry  <obry@adacore.com>
4789
4790         * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
4791
4792 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4793
4794         * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
4795         prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
4796         computed efficiently from the other fields.
4797         (Object_To_Global_Archive): New subprogram
4798         (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
4799         (Override_Kind): Fix handling of separates in Ada.
4800         (Create_Mapping_File): Remove duplicate code
4801         (Naming_Data.Implementation_Exception, Specification_Exception):
4802         field removed, since never used.
4803         (Naming_Data.Specs, .Bodies): field removed, since this is only
4804         used while processing the project and is not needed once the tree
4805         is in memory. This brings Naming_Data and Lang_Naming_Data
4806         closer (same content now, but different use still).
4807
4808 2009-06-25  Pascal Obry  <obry@adacore.com>
4809
4810         * sem_ch4.adb: Minor reformatting.
4811
4812         * a-strsea.adb: Fix confusion between 'Length and 'Last.
4813
4814 2009-06-25  Ed Schonberg  <schonberg@adacore.com>
4815
4816         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
4817         Unchecked_Access): If the context is an interface type, and the prefix
4818         is of the corresponding class-wide type, do not insert a conversion
4819         because the pointer displacement has already taken place, and we must
4820         retain the class-wide type in a dispatching context.
4821
4822 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4823
4824         * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
4825         the previous source file.
4826         (Create_Mapping): Iterate on sources rather than on units.
4827
4828 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4829
4830         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
4831         prj-env.adb, prj-env.ads (Slash): removed, no longer used
4832         (Source_Data): no longer use Path.Name to point to a locally removed
4833         file. Instead we use the field Locally_Removed which is clearer
4834
4835 2009-06-25  Arnaud Charlet  <charlet@adacore.com>
4836
4837         * gcc-interface/Make-lang.in: Remove references to sem_maps.o
4838
4839         * sem_maps.adb, sem_maps.ads: Removed, not used.
4840
4841 2009-06-25  Ed Falis  <falis@adacore.com>
4842
4843         * s-vxwext-rtp.ads: Add missing declaration
4844
4845 2009-06-25  Matthew Gingell  <gingell@adacore.com>
4846
4847         * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
4848         speed up unmapped case.
4849
4850 2009-06-25  Vincent Celier  <celier@adacore.com>
4851
4852         * prj-nmsc.adb (Check): Change error message for illegal abstract
4853         projects.
4854
4855 2009-06-25  Robert Dewar  <dewar@adacore.com>
4856
4857         * gnat_ugn.texi: Add note on use of -gnatct for ASIS
4858
4859 2009-06-25  Emmanuel Briot  <briot@adacore.com>
4860
4861         * fmap.ads: Add documentation on mapping files
4862
4863 2009-06-25  Robert Dewar  <dewar@adacore.com>
4864
4865         * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
4866         reformatting
4867
4868 2009-06-24  Robert Dewar  <dewar@adacore.com>
4869
4870         * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
4871
4872         * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
4873         case.
4874         (Index): Ditto.
4875
4876 2009-06-24  Ed Schonberg  <schonberg@adacore.com>
4877
4878         * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
4879         present when checking whether a call may be interpreted as an indexing
4880         of the result of a call.
4881
4882         * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
4883         body for a null procedure on the freeze actions for the procedure, so
4884         that it will be analyzed at the proper place without premature freezing
4885         of actuals.
4886
4887         * sem_ch3.adb (Check_Completion): Code cleanup. 
4888         Do not diagnose a null procedure without a body, if previous errors
4889         have disabled expansion.
4890
4891 2009-06-24  Doug Rupp  <rupp@adacore.com>
4892
4893         * init.c [VMS] Resignal C$_SIGKILL
4894
4895 2009-06-24  Ed Falis  <falis@adacore.com>
4896
4897         * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
4898         Define ERROR in body for VxWorks 6 kernel
4899
4900 2009-06-24  Pascal Obry  <obry@adacore.com>
4901
4902         * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
4903         in [Send/Receive]_Socket.
4904
4905 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4906
4907         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
4908         prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
4909         to several subprograms.
4910         (Source_Data.Other_Part): Removed, since can be computed from the
4911         language.
4912         (Other_Part): New subprogram.
4913
4914 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4915
4916         * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
4917         the full base name of the file when the suffix doesn't start with a '.'.
4918
4919 2009-06-24  Vincent Celier  <celier@adacore.com>
4920
4921         * prj-nmsc.adb (Check): A project declared abstract is legal if no
4922         attribute Source_Dirs, Source_Files, Source_List_File or Languages is
4923         declared.
4924
4925 2009-06-24  Robert Dewar  <dewar@adacore.com>
4926
4927         * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
4928         prj-env.adb: Minor reformatting
4929
4930 2009-06-24  Ed Falis  <falis@adacore.com>
4931
4932         * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
4933         s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
4934         s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
4935         support for VxWorks SMP.
4936
4937         * gcc-interface/Make-lang.in: Update dependencies
4938
4939 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4940
4941         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
4942         prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
4943         no longer useful.
4944         (Source_Data.Lang_Kind): Removed, since it duplicates information
4945         already available through Language.Config.
4946         (Source_Data.Compile): Removed, since information is already available
4947         through the language.
4948         (Is_Compilable): New subprogram.
4949         (Source_Data.Dependency): Removed, since already available through
4950         the language.
4951         (Source_Data.Object_Exist, Object_Linked): Removed since available
4952         through the language already.
4953         (Unit_Data.File_Names): Is now also set in multi_language mode, to
4954         bring the two modes closer in the resulting data structures.
4955         (Source_Data.Unit): Now a direct pointer to the unit data, rather than
4956         just the name that would point into a hash table.
4957         (Get_Language_From_Name): New subprogram.
4958
4959 2009-06-24  Javier Miranda  <miranda@adacore.com>
4960
4961         * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
4962         visible through limited-with context clauses. In addition, avoid an
4963         extra tag check that is not required when the class-wide
4964         designated types of the operand and target types are
4965         the same entity.
4966         (Tagged_Membership): Handle entities from the limited view.
4967
4968 2009-06-24  Emmanuel Briot  <briot@adacore.com>
4969
4970         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
4971         prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
4972         (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
4973         different vocabularies for similar concepts (Impl/Body_Part and
4974         Spec/Specification).
4975         (Unit_Data): now points directly to a Source_Id, rather than duplicating
4976         some of the information in File_Name_Data. This also saves a bit of
4977         memory. However, since we are now using a pointer we need to test
4978         for null explicitly in several places of the code
4979
4980 2009-06-24  Javier Miranda  <miranda@adacore.com>
4981
4982         * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
4983         from processing the type conversion when the node is
4984         replaced by an N_Raise_Program_Error node.
4985
4986 2009-06-24  Hristian Kirtchev  <kirtchev@adacore.com>
4987
4988         * sem_ch6.adb (Designates_From_With_Type): New routine.
4989         (Process_Formals): Since anonymous access types are no longer flagged
4990         as from with types, traverse the designated type to determine whether
4991         it is coming from a limited view.
4992
4993         * sem_res.adb: Remove with and use clauses for Sem_Ch10.
4994         (Full_Designated_Type): Use Available_View to extract the non-limited /
4995         full view of a type.
4996
4997 2009-06-24  Robert Dewar  <dewar@adacore.com>
4998
4999         * exp_ch6.adb: Minor reformatting
5000
5001         * layout.adb: Minor reformatting
5002
5003         * make.adb: Minor reformatting
5004
5005 2009-06-24  Thomas Quinot  <quinot@adacore.com>
5006
5007         * sem_ch10.adb: Minor code reorganization.
5008
5009 2009-06-24  Eric Botcazou  <ebotcazou@adacore.com>
5010
5011         * ttypes.ads: Minor editing.
5012         
5013 2009-06-24  Robert Dewar  <dewar@adacore.com>
5014
5015         * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
5016         in deciding to do call-by-copy code.
5017
5018 2009-06-24  Vincent Celier  <celier@adacore.com>
5019
5020         * make.adb (Gnatmake): To decide if an executable should be rebuilt,
5021         check if an externally built library file is more current than the
5022         executable.
5023
5024 2009-06-23  Olivier Hainque  <hainque@adacore.com>
5025
5026         * gcc-interface/utils.c (handle_vector_size_attribute): Import from
5027         c-common.c and populate in gnat_internal_attribute_table.
5028         
5029 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5030
5031         * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
5032         Available_View only when designated type of an anonymous access type
5033         is  limited view.
5034
5035 2009-06-23  Robert Dewar  <dewar@adacore.com>
5036
5037         * sem_ch10.adb: Minor reformatting
5038
5039         * ali.ads: Mino reformatting.
5040
5041         * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
5042         turning off inlining if ASIS mode active).
5043         
5044         * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
5045         This belongs in gnat1drv.adb after switches are scanned.
5046
5047 2009-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
5048
5049         * sem_attr.adb: Add with and use clauses for Sem_Ch10.
5050         (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
5051         when dealing with class-wide types. Detect a legal shadow entity and
5052         retrieve its non-limited view.
5053
5054         * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
5055         subprogram to top package level from Intall_Limited_Withed_Unit.
5056         (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
5057         Add check which prevents the installation of a limited view if the
5058         non-limited view is already visible through a with clause.
5059         (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
5060         legal shadow entity which may occur in subprogram formals of anonymous
5061         access type.
5062
5063         * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
5064
5065         * sem_ch3.adb (Access_Definition): Remove the propagation of flag
5066         From_With_Type from the designated type to the generated anonymous
5067         access type. Remove associated comment.
5068
5069         * sem_res.adb Add with and use clauses for Sem_Ch10.
5070         (Full_Designated_Type): Detect a legal shadow entity and retrieve its
5071         non-limited view. Since the shadow entity may replace a regular
5072         incomplete type, return the available full view.
5073
5074 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5075
5076         * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
5077         incomplete type declarations. Previous code was potentially quadratic
5078         in the number of visible declarations in any package appearing in a
5079         limited_with_clause.
5080
5081 2009-06-23  Robert Dewar  <dewar@adacore.com>
5082
5083         * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
5084         xref_lib.adb: Minor reformatting
5085
5086 2009-06-23  Robert Dewar  <dewar@adacore.com>
5087
5088         * a-stzhas.adb: Provide dummy body to avoid build problems with old
5089         versions which did have a body for this unit.
5090
5091 2009-06-23  Vincent Celier  <celier@adacore.com>
5092
5093         * prj-attr.adb: Attribute names Initial_Required_Switches and
5094         Final_Required_Switches changed to Leading_Required_Switches and
5095         Trailing_Required_Switches.
5096
5097         * prj-nmsc.adb (Process_Compiler): Attribute names
5098         Initial_Required_Switches and Final_Required_Switches changed to
5099         Leading_Required_Switches and Trailing_Required_Switches.
5100
5101         * prj.ads (Language_Config): Component Initial_Required_Switches and
5102         Final_Required_Switches changed to Leading_Required_Switches and
5103         Trailing_Required_Switches.
5104
5105         * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
5106         Final_Required_Switches; add standard names Leading_Required_Switches
5107         and Trailing_Required_Switches.
5108
5109 2009-06-23  Thomas Quinot  <quinot@adacore.com>
5110
5111         * prj-conf.adb: Minor reformatting
5112
5113         * xref_lib.adb: Minor cleanup
5114
5115 2009-06-23  Emmanuel Briot  <briot@adacore.com>
5116
5117         * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
5118         prj-conf.ads (Check_Configuration): New parameter
5119         Compiler_Driver_Mandatory.
5120
5121 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5122
5123         * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
5124         context of the current unit has an inline pragma, the instance is not
5125         rewritten as the declaration of the package wrapper. Handle both
5126         possibilities when retrieving the visible subprogram that renames the
5127         instantiation itself.
5128
5129 2009-06-23  Javier Miranda  <miranda@adacore.com>
5130
5131         * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
5132         designated types referencing entities from the limited view.
5133
5134 2009-06-23  Robert Dewar  <dewar@adacore.com>
5135
5136         * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
5137
5138         * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
5139         small values
5140
5141         * prj-conf.ads: Minor reformatting
5142
5143         * prj-conf.adb: Minor reformatting
5144
5145 2009-06-23  Vasiliy Fofanov  <fofanov@adacore.com>
5146
5147         * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
5148         to correspond to the log format that gnatmem now expects.
5149
5150 2009-06-23  Vincent Celier  <celier@adacore.com>
5151
5152         * prj-attr.adb: New attributes Initial_Required_Switches,
5153         Final_Required_Switches and Object_File_Switches
5154         
5155         * prj-nmsc.adb (Process_Compiler): Process new attributes
5156         Name_Final_Required_Switches, Name_Initial_Required_Switches and
5157         Name_Object_File_Switches.
5158
5159         * prj.ads (Language_Config): New component
5160         Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
5161         Compiler_Final_Required_Switches and Object_File_Switches.
5162
5163         * snames.ads-tmpl: New standard names Initial_Required_Switches,
5164         Final_Required_Switches and Object_File_Switches
5165
5166 2009-06-23  Pascal Obry  <obry@adacore.com>
5167
5168         * s-strhas.adb, s-strhas.ads: Minor reformatting.
5169
5170 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5171
5172         * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
5173         not indicate that the enclosing unit needs a body.
5174
5175 2009-06-23  Emmanuel Briot  <briot@adacore.com>
5176
5177         * prj-conf.ads, prj-conf.adb: New files part of the project manager.
5178
5179 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
5180
5181         * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
5182         primitive equality include it with its source name even if the
5183         operation is currently invisible, to make sure that the corresponding
5184         slot in the dispatch table is reserved for the internal equality
5185         subsequently generated during expansion.
5186
5187 2009-06-23  Matthew Gingell  <gingell@adacore.com>
5188
5189         * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
5190
5191 2009-06-22  Jose Ruiz  <ruiz@adacore.com>
5192
5193         * sysdep.c (__gnat_localtime_tzoff for RTX):
5194         SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
5195         GetTimeZoneInformation instead.
5196
5197 2009-06-22  Robert Dewar  <dewar@adacore.com>
5198
5199         * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
5200
5201 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5202
5203         * sem_ch12.adb (Collect_Previous_Instances): Do not collect
5204         instantiations declared in a previous generic package body.
5205
5206 2009-06-22  Robert Dewar  <dewar@adacore.com>
5207
5208         * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
5209         restriction No_Direct_Boolean_Operators.
5210
5211 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5212
5213         * bindusg.adb: Minor fixes to gnatbind usage message
5214
5215         * sem_eval.adb: Minor reformatting
5216
5217 2009-06-22  Javier Miranda  <miranda@adacore.com>
5218
5219         * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
5220         freezing point the check on the use of abstract types in object
5221         declarations. Done to allow the declaration of C++ imported variables
5222         or constants whose type corresponds with an imported C++ classes for
5223         which the constructor is not imported.
5224
5225 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5226
5227         * sem_ch6.adb: Minor reformatting
5228
5229 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5230
5231         * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
5232         component is constrained with an expression rather than with a
5233         discriminant of the enclosing type, use that expression when building
5234         the call to default-initialize the component, when the call is part of
5235         an aggregate with box initialization.
5236
5237 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5238
5239         * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
5240         unconditional rather than a style check, because a formal name out of
5241         order is suspicious.
5242
5243 2009-06-22  Vincent Celier  <celier@adacore.com>
5244
5245         * prj-nmsc.adb (Locate_Directory): Indicate the project name when
5246         creating a directory automatically.
5247
5248 2009-06-22  Eric Botcazou  <ebotcazou@adacore.com>
5249
5250         * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
5251         untagged derived type, add a hidden component for every constrained
5252         discriminant of the parent type to keep record layout consistent.
5253
5254 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5255
5256         * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
5257         copy).
5258
5259 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5260
5261         * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
5262         s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
5263         g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
5264         a-swuwha.adb: New unit System.String_Hash.  
5265         Refactor redundant cut and pasted hash functions with instances of a
5266         new generic hash function.
5267         Implement a new string hashing algorithm which appears in testing to
5268         be move effective than to previous approach.
5269
5270 2009-06-22  Ed Falis  <falis@adacore.com>
5271
5272         * sysdep.c: remove include for nfsLib.h and an NFS specific error
5273         message for VxWorks 653 vThreads: not supported by the OS.
5274
5275         * gsocket.h: disable sockets for VxWorks 653 vThreads.
5276
5277 2009-06-22  Robert Dewar  <dewar@adacore.com>
5278
5279         * sem_ch6.adb: Add ??? comment for bad use of Style_Check
5280
5281 2009-06-22  Robert Dewar  <dewar@adacore.com>
5282
5283         * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
5284         by Sloc_Range.
5285
5286         * freeze.adb: Minor comment updates
5287
5288         * s-valrea.adb (Bad_Based_Value): New procedure
5289         (Scan_Real): Raise exceptions with messages
5290
5291 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5292
5293         * adaint.h: Complete previous change.
5294
5295 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5296
5297         * exp_ch7.ads, exp_ch3.adb: Minor reformatting
5298
5299 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
5300
5301         * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
5302         enabled, emit warning when a non-controlling argument of the overriding
5303         operation appears out of place vis-a-vis of the formal of the
5304         overridden operation.
5305
5306 2009-06-22  Vincent Celier  <celier@adacore.com>
5307
5308         * gnatcmd.adb (Check_Files): Close temporary files after all file names
5309         have been written into it.
5310
5311 2009-06-22  Matthew Gingell  <gingell@adacore.com>
5312
5313         * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
5314         available.
5315
5316 2009-06-22  Thomas Quinot  <quinot@adacore.com>
5317
5318         * sem_disp.adb (Check_Direct_Call): Handle the case where the full
5319         view of the root type is visible at the point of the call.
5320
5321 2009-06-22  Pat Rogers  <rogers@adacore.com>
5322
5323         * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
5324
5325 2009-06-22  Jerome Lambourg  <lambourg@adacore.com>
5326
5327         * freeze.adb: Add comments.
5328
5329 2009-06-21  Thomas Quinot  <quinot@adacore.com>
5330
5331         * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
5332         sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
5333         Factor out code to new subprogram...
5334         (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
5335         for a default initialized variable.
5336         (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
5337         entity that has an associated freeze node.
5338         (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
5339         If there is an init call for the object, defer it to the object freeze
5340         point.
5341         (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
5342         name clash with new subprogram introduced in Exp_Util.
5343
5344 2009-06-21  Robert Dewar  <dewar@adacore.com>
5345
5346         * einfo.ads: Minor reformatting
5347
5348 2009-06-21  Ed Falis  <falis@adacore.com>
5349
5350         * env.c (__gnat_environ): return NULL for vThreads - unimplemented
5351
5352 2009-06-21  Eric Botcazou  <ebotcazou@adacore.com>
5353
5354         * einfo.ads: Update comments.
5355
5356 2009-06-21  Hristian Kirtchev  <kirtchev@adacore.com>
5357
5358         * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
5359         where the controlling formal is of private class-wide type whose
5360         completion is a synchronized type can be converted into direct calls.
5361
5362 2009-06-21  Vincent Celier  <celier@adacore.com>
5363
5364         * gnatcmd.adb (Check_Files): When all sources of the project are to be
5365         indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
5366         of sources using -files=, so that the distinction can be made by the
5367         tool of a call with no source (to display the usage) from a call with
5368         a project file that contains no source.
5369
5370 2009-06-21  Jerome Lambourg  <lambourg@adacore.com>
5371
5372         * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
5373         case of VM convention arrays.
5374
5375 2009-06-20  Robert Dewar  <dewar@adacore.com>
5376
5377         * a-nudira.adb: Minor reformatting
5378
5379 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5380
5381         * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
5382         expressions (possibly from a parent type) indicate that the scope of
5383         the new itypes is the initialization procedure being built.
5384
5385 2009-06-20  Robert Dewar  <dewar@adacore.com>
5386
5387         * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
5388         Needs_64, and now computed without anomolies for some dynamic types.
5389
5390 2009-06-20  Thomas Quinot  <quinot@adacore.com>
5391
5392         * sem_prag.adb: Minor reformatting
5393
5394         * exp_disp.ads: Minor reformatting
5395
5396 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5397
5398         * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
5399         function call is a legal expression to initialize a limited object.
5400
5401         * exp_ch3.adb: Rename various freeze operations that perform expansion
5402         actions, to prevent confusion with subprograms in the freeze package.
5403
5404 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
5405
5406         * sem.adb (Walk_Library_Units): Check instantiations first.
5407
5408         * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
5409         private primitive if it is a function with a controlling result that is
5410         a type extension with progenitors.
5411
5412         * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
5413         a primitive operation of a synchronized tagged type that has a
5414         controlling result.
5415
5416 2009-06-20  Thomas Quinot  <quinot@adacore.com>
5417
5418         * einfo.ads: Fix typo.
5419
5420 2009-06-20  Ed Falis  <falis@adacore.com>
5421
5422         * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
5423
5424 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5425
5426         * gcc-interface/trans.c (emit_check): Do not wrap up the result
5427         in a SAVE_EXPR.
5428         (protect_multiple_eval): Always protect complex expressions.
5429
5430 2009-06-19  Emmanuel Briot  <briot@adacore.com>
5431
5432         * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
5433         make sure we always return a name ending with a path separator.
5434
5435 2009-06-19  Javier Miranda  <miranda@adacore.com>
5436
5437         * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
5438         Save and restore the visibility of the parent when installed.
5439
5440 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
5441
5442         * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
5443         by Common which contains all these fields.
5444
5445         * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
5446         Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
5447         Remove code duplication in this package by means of calling the
5448         equivalent code in s-taprob.
5449
5450 2009-06-19  Robert Dewar  <dewar@adacore.com>
5451
5452         * a-einuoc.ads: Minor reformatting
5453
5454 2009-06-19  Ed Falis  <falis@adacore.com>
5455
5456         * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
5457         s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
5458
5459 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5460
5461         * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
5462
5463 2009-06-19  Robert Dewar  <dewar@adacore.com>
5464
5465         * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
5466         ranges
5467
5468         * checks.adb (Determine_Range): Move the test for generic types later.
5469
5470         * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
5471         cases.
5472         (Eval_Relational_Op): Fold more cases including string compares
5473
5474         * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
5475         function.
5476
5477 2009-06-19  Robert Dewar  <dewar@adacore.com>
5478
5479         * sem_type.ads, sem_ch12.adb: Minor reformatting
5480
5481         * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
5482
5483 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5484
5485         * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
5486         primitive operation of a rivate extension whose controlling argument
5487         is an out parameter.
5488
5489         * sem.adb (Walk_Library_Units): exclude generic package declarations
5490         from check.
5491
5492 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5493
5494         * i-vxwoio.ads: Add comments
5495
5496 2009-06-19  Thomas Quinot  <quinot@adacore.com>
5497
5498         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5499         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
5500         g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
5501         (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
5502         (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
5503         Thin_Common.Socket_Ioctl.
5504         (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
5505         __gnat_socket_ioctl.
5506         (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
5507         argument after the file descriptor and request code.
5508
5509 2009-06-19  Robert Dewar  <dewar@adacore.com>
5510
5511         * checks.adb: Minor reformatting
5512
5513 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
5514
5515         * env.c (__gnat_environ): RTX does not support this functionality.
5516
5517 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5518
5519         * sem.adb (Walk_Library_Items): Include bodies in the list of units to
5520         traverse, to account for front-end inlining and instantiations in a
5521         spec or in the main unit.
5522
5523 2009-06-19  Robert Dewar  <dewar@adacore.com>
5524
5525         * checks.adb (Determine_Range): Do not attempt to get range of generic
5526         type.
5527
5528 2009-06-19  Sergey Rybin  <rybin@adacore.com>
5529
5530         * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
5531         gnatmetric option for generating the schema file for gnatmetric XML
5532         output. Add corresponding VMS qualifier.
5533
5534 2009-06-19  Robert Dewar  <dewar@adacore.com>
5535
5536         * g-cgi.adb: Minor reformatting
5537
5538 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5539
5540         * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
5541         signal code for SIGFPE and raise Program_Error for SIGILL.
5542
5543         * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
5544
5545 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
5546
5547         * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
5548         generic package if there is a visibility candidate that is declared in
5549         a regular package.
5550
5551 2009-06-18  Olivier Hainque  <hainque@adacore.com>
5552
5553         * system-aix64.ads: New file.
5554         * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
5555         64bit system.ads for ppc64 multilib variants.
5556
5557 2009-06-16  Robert Dewar  <dewar@adacore.com>
5558             Olivier Hainque  <hainque@adacore.com>
5559
5560         Relax constraints on Machine_Attribute argument types:
5561         * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
5562         missing type.
5563         (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
5564         * gcc-interface/decl.c (prepend_attributes): Accept static
5565         expressions of any type as attribute arguments, not only string
5566         literals.
5567         * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
5568         the relaxation of the restriction on the Info argument type.
5569         
5570 2009-06-13  Aldy Hernandez  <aldyh@redhat.com>
5571
5572         * gcc-interface/utils.c (record_builtin_type): Pass location
5573         argument to build_decl.
5574         (create_type_stub_decl): Same.
5575         (create_type_decl): Same.
5576         (create_var_decl_1): Same.
5577         (create_field_decl): Same.
5578         (create_param_decl): Same.
5579         (create_label_decl): Same.
5580         (create_subprog_decl): Same.
5581         * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
5582         * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
5583         argument to create_artificial_label.
5584         (Loop_Statement_to_gnu): Same.
5585         (Subprogram_Body_to_gnu): Same.
5586         (gnat_gimplify_stmt): Same.
5587
5588 2009-06-11  Richard Henderson  <rth@redhat.com>
5589
5590         * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
5591         OPT_gdwarfplus.
5592
5593 2009-06-11  Ed Schonberg  <schonberg@adacore.com>
5594
5595         * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
5596         accessibiliy check on access_to_subprogram in the context of an
5597         anonymous access that is not an access parameter.
5598
5599 2009-06-11  Eric Botcazou  <ebotcazou@adacore.com>
5600
5601         * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
5602         
5603 2009-06-11  Quentin Ochem  <ochem@adacore.com>
5604
5605         * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
5606         comments for message handled by GPS.
5607
5608 2009-06-11  Matthew Gingell  <gingell@adacore.com>
5609
5610         * adaint.c: Use fopen64 instead of fopen on platforms where we know
5611         it's supported.
5612
5613 2009-06-11  Pascal Obry  <obry@adacore.com>
5614
5615         * g-cgi.ads: Fix comment typo.
5616
5617         * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
5618
5619 2009-06-10  Eric Botcazou  <ebotcazou@adacore.com>
5620
5621         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
5622         a reference to the original type for the type of the field of the
5623         XVS type.
5624         (maybe_pad_type): Likewise.
5625
5626         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
5627         common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
5628         Pass correctly typed arguments to create_field_decl.
5629         <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
5630         case of contrained discriminants as well.  Use the padded base type
5631         in the other case as well.  Rename temporary variable.  Tweak test.
5632         Factor common access pattern.  Set GNU_SIZE only once.
5633
5634 2009-06-09  Olivier Hainque  <hainque@adacore.com>
5635
5636         * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
5637         helper for build_call_alloc_dealloc with arguments to be interpreted
5638         identically.  Process the case where a GNAT_PROC to call is provided.
5639         (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
5640         and return an allocator for DATA_SIZE bytes aimed at containing a
5641         DATA_TYPE object, using the default __gnat_malloc allocator.  Honor
5642         DATA_TYPE alignments greater than what the latter offers.
5643         (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
5644         release a DATA_TYPE object designated by DATA_PTR using the
5645         __gnat_free entry point.
5646         (build_call_alloc_dealloc): Expect object data type instead of naked
5647         alignment constraint. Use the new helpers.
5648         (build_allocator): Remove special processing for the super-aligned
5649         case, now handled by build_call_alloc_dealloc.  Pass data
5650         type instead of the former alignment argument, as expected by the new
5651         interface.
5652         * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
5653         and comment.
5654         * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
5655         Remove special processing for the super-aligned case, now handled
5656         by build_call_alloc_dealloc.  Pass data type instead of the former
5657         alignment argument, as expected by the new interface.
5658         
5659 2009-06-08  Alexandre Oliva  <aoliva@redhat.com>
5660
5661         * lib-writ.adb (flag_compare_debug): Import.
5662         (Write_ALI): Skip during -fcompare-debug-second.
5663
5664 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5665
5666         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
5667         adjusting the discriminant nodes in an extension, use the full view
5668         of the parent subtype if it is of a private kind.
5669
5670 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5671
5672         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
5673         _Parent field, if any, to the record before adding the other fields.
5674         <E_Record_Subtype>: Put the _Controller field before the other fields
5675         except for the _Tag or _Parent fields.
5676         (components_to_record): Likewise.  Retrieve the _Parent field from the
5677         record type.
5678
5679 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5680
5681         * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
5682         remove unused parameter and simplify.
5683         (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS.  Factor
5684         common predicate.  Rewrite loop for clarity.  Use GNU_TYPE directly
5685         as context for all discriminants.  Fix formatting nits.
5686         <E_Record_Subtype>: Add cosmetic 'break'.  Test Has_Discriminants
5687         before Discriminant_Constraint.  Adjust for above renaming.  Do not
5688         set GNU_TYPE more than once.
5689         (elaborate_entity): Test Has_Discriminants on the entity and use
5690         Implementation_Base_Type.
5691         (components_to_record): Rename component_list to gnat_component_list.
5692         Retrieve the _Parent field from the list.  Fix nits in comments.
5693         Clarify logic in loop.  Pass correct arguments to create_field_decl.
5694
5695 2009-06-02  Eric Botcazou  <ebotcazou@adacore.com>
5696
5697         * gcc-interface/Make-lang.in: Fix formatting.
5698
5699 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5700             Eric Botcazou  <ebotcazou@adacore.com>
5701         
5702         * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
5703         to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
5704         on the result if at least one of the input fields couldn't be output
5705         as a static constant any more.
5706
5707 2009-06-01  Olivier Hainque  <hainque@adacore.com>
5708             Eric Botcazou  <ebotcazou@adacore.com>
5709         
5710         * gcc-interface/utils2.c (gnat_build_constructor): Factor
5711         out code.  Use initializer_constant_valid_for_bitfield_p and
5712         CONSTRUCTOR_BITFIELD_P for bit-fields.
5713
5714 2009-05-26  Ian Lance Taylor  <iant@google.com>
5715
5716         * gcc-interface/Makefile.in (COMPILER): Define.
5717         (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
5718         (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
5719         (seh_init.o, tracebak.o): Likewise.
5720         * gcc-interface/Make-lang.in (ada/targext.o): Likewise.
5721         (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
5722         (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
5723         (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
5724         (ada/utils2.o): Likewise.
5725
5726 2009-05-24  Olivier Hainque  <hainque@adacore.com>
5727
5728         * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
5729         * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
5730         Add -auxbase variants to the list of recognized internal switches.
5731         * back_end.adb (Scan_Back_End_Switches): Use the new functions and
5732         adjust comments.
5733         * lib.ads: Make comment on internal GCC switches more general.
5734         * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
5735         as for C.       
5736         
5737 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5738
5739         * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
5740
5741 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5742
5743         * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
5744         types.
5745
5746 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5747
5748         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
5749         original type because of the alignment when there is an address clause.
5750
5751 2009-05-20  Eric Botcazou  <ebotcazou@adacore.com>
5752
5753         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
5754         discriminants affect the shape of the subtype, retrieve the GCC type
5755         directly from the original field if the GNAT types for the field and
5756         the original field are the same.
5757
5758 2009-05-15  Eric Botcazou  <ebotcazou@adacore.com>
5759
5760         * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
5761         New macros.
5762         (TYPE_RM_VALUES): Likewise.
5763         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
5764         (SET_TYPE_RM_SIZE): New macro.
5765         (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
5766         (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
5767         (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
5768         * gcc-interface/gigi.h (create_range_type): Declare.
5769         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
5770         Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
5771         <E_Signed_Integer_Subtype>: Build a regular integer type first and
5772         then set the RM bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5773         <E_Floating_Point_Subtype>: Build a regular floating-point type first
5774         and then set the RM bounds.
5775         <E_Array_Type>: Use create_range_type instead of build_range_type.
5776         <E_Array_Subtype>: Build a regular integer type first and then set
5777         the RM bounds for the extra subtype.
5778         <E_String_Literal_Subtype>: Use create_range_type instead of
5779         build_range_type.
5780         <all>: Set the RM bounds for enumeration types and the GCC bounds for
5781         floating-point types.
5782         (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
5783         (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
5784         to set the bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5785         (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
5786         types and with RM bounds for subtypes.
5787         * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
5788         (gnat_print_type) <REAL_TYPE>: New case.
5789         <ENUMERAL_TYPE>: Fall through to above case.
5790         (gnat_get_subrange_bounds): New function.
5791         * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
5792         TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
5793         * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
5794         for booleans.  Adjust and use SET_TYPE_RM_SIZE to set the RM size.
5795         (create_range_type): New function.
5796         (create_param_decl): Build a regular integer type first and then set
5797         the RM bounds for the extra subtype.
5798         (unchecked_convert): Remove kludge for 'Valid.
5799         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
5800         the index to sizetype instead of TYPE_DOMAIN.
5801
5802 2009-05-14  Eric Botcazou  <ebotcazou@adacore.com>
5803
5804         * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
5805         parameter and move check for static expression to...
5806         (elaborate_expression): ...here.  Adjust call to above function.
5807         (gnat_to_gnu_entity): Likewise for all calls.  Use correct arguments
5808         in calls to elaborate_expression.
5809         (elaborate_entity): Likewise.
5810         (substitution_list): Likewise.
5811         (maybe_variable): Fix formatting.
5812         (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
5813         missing guard.
5814         * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
5815
5816 2009-05-07  Arnaud Charlet  <charlet@adacore.com>
5817
5818         * gcc-interface/Make-lang.in: Update dependencies.
5819
5820 2009-05-06  Laurent GUERBY  <laurent@guerby.net>
5821
5822         * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
5823         Define sa_handler_pos.
5824         * s-osinte-linux.ads: Use it.
5825         * s-linux-mipsel.ads: New.
5826         * system-linux-mips64el.ads: New.
5827         * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
5828         mips64el-linux.
5829
5830 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5831
5832         * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
5833         targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
5834         opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
5835         (Tagged_Type_Expansion): New flag.
5836         Replace use of VM_Target related to tagged types expansion by
5837         Tagged_Type_Expansion, since tagged type expansion is not necessarily
5838         linked to VM targets.
5839
5840 2009-05-06  Robert Dewar  <dewar@adacore.com>
5841
5842         * sem_attr.adb: Add processing for Standard'Compiler_Version
5843
5844         * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
5845         skipping.
5846         (Expr_First_Char): Add ??? comment that paren skipping needs work
5847         (Expr_Last_Char): Add ??? comment that paren skipping needs work
5848
5849         * exp_attr.adb: Add processing for Compiler_Version
5850
5851         * sem_attr.adb: New attribute Compiler_Version
5852
5853         * snames.ads-tmpl: Add entries for Compiler_Version attribute
5854
5855         * gnat_rm.texi: Document Compiler_Version attribute
5856
5857 2009-05-06  Robert Dewar  <dewar@adacore.com>
5858
5859         * errout.adb: Minor reformatting
5860
5861         * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
5862         sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
5863         styleg.adb: Add stylized comments to error messages that are included
5864         in the codefix circuitry of IDE's such as GPS.
5865
5866 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5867
5868         * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
5869         new form of the rule parameter that allows to specify the suffix for
5870         access-to-access type names.
5871
5872 2009-05-06  Robert Dewar  <dewar@adacore.com>
5873
5874         * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
5875         out parameter assigned when exception handlers are present.
5876
5877         * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
5878         assignments on exit.
5879
5880         * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
5881         sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
5882         prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
5883         par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
5884         messages that are included in the codefix circuitry of IDE's such as
5885         GPS.
5886
5887         * sinput.ads, sinput.adb (Expr_First_Char): New function
5888         (Expr_Last_Char): New function
5889
5890 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5891
5892         * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
5893         Add formal definition for extra exit point metric
5894
5895 2009-05-06  Pascal Obry  <obry@adacore.com>
5896
5897         * adaint.c: Support for setting attributes on unicode filename on
5898         Windows.
5899
5900 2009-05-06  Robert Dewar  <dewar@adacore.com>
5901
5902         * sem_warn.adb: Minor reformatting
5903
5904 2009-05-06  Javier Miranda  <miranda@adacore.com>
5905
5906         * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
5907         not have discriminants or components with default expressions.
5908         (Analyze_Pragma): For pragma CPP_Class check that imported types
5909         have no discriminants and components have no default expression.
5910
5911         * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
5912         class-wide types in the expression of a record component association.
5913
5914 2009-05-06  Sergey Rybin  <rybin@adacore.com>
5915
5916         * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
5917
5918         * gnat_ugn.texi: Add description for the new extra exit points metric
5919         (gnatmetric section).
5920
5921 2009-05-06  Robert Dewar  <dewar@adacore.com>
5922
5923         * s-fileio.adb: Minor comment update
5924
5925         * sem_ch8.adb: Minor reformatting
5926
5927         * exp_ch3.adb: Update comments.
5928
5929 2009-05-06  Tristan Gingold  <gingold@adacore.com>
5930
5931         * init.c, s-osinte-darwin.ads: Reduce alternate stack size
5932
5933 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
5934
5935         * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
5936         Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
5937
5938         * gcc-interface/Make-lang.in: Update dependencies
5939
5940 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5941
5942         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
5943         change. The context clause of a generic instance declaration must be
5944         preserved until the end of the compilation, because it may have to be
5945         installed/removed repeatedly.
5946         The latest change to sem.adb ensures that the context of both spec and
5947         body of an instance is traversed before the instance itself, making
5948         this patch redundant.
5949
5950 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5951
5952         * sem_aggr.adb: Fix typo.
5953
5954 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5955
5956         * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
5957         declaration, do not adjust if the declaration is to be rewritten into
5958         a renaming.
5959
5960 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
5961
5962         * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
5963         discriminant part.
5964
5965 2009-05-06  Bob Duff  <duff@adacore.com>
5966
5967         * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
5968         otherwise the compiler would be allowed to optimize away the cleanup
5969         code.
5970
5971 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
5972
5973         * gnat_ugn.texi: Fix typo.
5974
5975 2009-05-06  Thomas Quinot  <quinot@adacore.com>
5976
5977         * g-debuti.adb: Minor reformatting
5978
5979         * exp_attr.adb: Minor reformatting
5980
5981 2009-05-06  Robert Dewar  <dewar@adacore.com>
5982
5983         * sem_aggr.adb: Minor reformatting.
5984
5985         * g-socthi-vms.adb: Minor reformatting
5986
5987 2009-05-06  Bob Duff  <duff@adacore.com>
5988
5989         * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
5990         (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
5991
5992 2009-05-06  Bob Duff  <duff@adacore.com>
5993
5994         * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
5995         flags.
5996
5997 2009-05-06  Javier Miranda  <miranda@adacore.com>
5998
5999         * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
6000         (Resolve_Extension_Aggregate): Do not reject C++ constructors in
6001         extension aggregates.
6002         (Resolve_Record_Aggregate): Add support for C++ constructors in
6003         extension aggregates.
6004
6005         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
6006         constructors in extension aggregates.
6007
6008 2009-05-06  Robert Dewar  <dewar@adacore.com>
6009
6010         * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
6011         clause.
6012
6013 2009-05-06  Thomas Quinot  <quinot@adacore.com>
6014
6015         * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
6016         packed type, since on OpenVMS, struct msghdr is packed.
6017
6018 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
6019
6020         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
6021         call returning an unconstrained composite value, create the proper
6022         subtype for it, as is done for object dclarations with unconstrained
6023         nominal subtypes. Perform this transformation regarless of whether
6024         call comes from source.
6025
6026 2009-05-06  Robert Dewar  <dewar@adacore.com>
6027
6028         * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
6029         records
6030
6031         * gnat_rm.texi:
6032         Add documentation for pragma Implicit_Packing applied to record
6033         types.
6034
6035 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
6036
6037         * sem.adb (Walk_Library_Items): Place all with_clauses of an
6038         instantiation on the spec, because late instance bodies may generate
6039         with_clauses for the instance body but are inserted in the instance
6040         spec.
6041
6042 2009-05-06  Emmanuel Briot  <briot@adacore.com>
6043
6044         * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
6045         support for returning the directory even if it doesn't exist. This is
6046         used for the object directory, since we are always setting it to a
6047         non-null value, and we should set it to an absolute name rather than a
6048         relative name for the sake of external tools that might depend on it.
6049         (Check_Library_Attributes): When Project.Library_Dir is known, check
6050         that the directory exists.
6051
6052 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
6053
6054         * sem_attr.adb (Check_Dereference): If the prefix of an attribute
6055         reference is an implicit dereference, do not freeze the designated type
6056         if within a default expression or when preanalyzing a pre/postcondtion.
6057
6058 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
6059
6060         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
6061         call returning an unconstrained composite value, create the proper
6062         subtype for it, as is done for object dclarations with unconstrained
6063         nominal subtypes
6064
6065 2009-05-06  Robert Dewar  <dewar@adacore.com>
6066
6067         * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
6068         improvements
6069
6070         * freeze.adb: Minor reformatting
6071
6072 2009-05-06  Thomas Quinot  <quinot@adacore.com>
6073
6074         * sem_ch3.adb (Access_Type_Declaration): An access type whose
6075         designated type is a limited view from a limited with clause (flagged
6076         From_With_Type) is not itself such a limited view.
6077
6078 2009-05-06  Emmanuel Briot  <briot@adacore.com>
6079
6080         * prj-nmsc.adb: Remove unused variable.
6081
6082         * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
6083         prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
6084         makeutl.ads, since not all users of prj.ads need this.
6085
6086 2009-05-06  Javier Miranda  <miranda@adacore.com>
6087
6088         * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
6089         constructor in case of aggregates whose type is a CPP_Class type.
6090
6091 2009-05-06  Robert Dewar  <dewar@adacore.com>
6092
6093         * sem_ch13.adb: Minor comment additions
6094
6095         * osint.adb: Minor reformatting
6096
6097 2009-05-06  Pascal Obry  <obry@adacore.com>
6098
6099         * initialize.c: On Windows, keep full pathname to expanded command
6100         line patterns.
6101
6102 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
6103
6104         * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
6105         an aggregate with box default is of a discriminated private type, do
6106         not build a subaggregate for it.
6107         A proper call to the initialization procedure is generated for it.
6108
6109 2009-05-06  Thomas Quinot  <quinot@adacore.com>
6110
6111         * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
6112         (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
6113         Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
6114         use standard array code for Standard.String.
6115         (Exp_Dist): Bump PolyORB s-parint API version to 3.
6116         (Rtsfind): New entities TA_Std_String, Unbounded_String.
6117
6118 2009-05-06  Robert Dewar  <dewar@adacore.com>
6119
6120         * g-comlin.ads: Minor reformatting
6121
6122         * xoscons.adb: Minor reformatting
6123
6124 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
6125
6126         * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
6127         Underlying_Type before retrieving the type definition for gathering
6128         components, to account for the case where the type is private.
6129
6130 2009-05-06  Tristan Gingold  <gingold@adacore.com>
6131
6132         * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
6133
6134 2009-05-06  Thomas Quinot  <quinot@adacore.com>
6135
6136         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6137         g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
6138         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
6139         (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
6140         Windows versions): Fix incorrect base
6141         address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
6142         (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
6143         System.Address for the To parameter instead of a Sockaddr_In_Access, to
6144         achieve independance from AF_INET family, and also to allow this
6145         parameter to be retrieved from a Msghdr for the Windows case where
6146         these routines are used to implement C_Sendmsg and C_Recvmsg.
6147
6148 2009-05-06  Bob Duff  <duff@adacore.com>
6149
6150         * g-expect.adb, g-expect.ads: Minor reformatting
6151
6152         * sdefault.ads: Minor comment fix
6153
6154         * g-expect-vms.adb: Minor reformatting
6155
6156         * table.ads, table.adb (Append_All): New convenience procedure for
6157         appending a whole array.
6158
6159         * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
6160         box message. Call Osint.Dump_Source_File_Names to print out the file
6161         list, instead of rummaging around in various data structures.
6162
6163         * debug.adb: New switch -gnatd.n, to print source file names as they
6164         are read.
6165
6166         * alloc.ads: Add parameters for Osint.File_Name_Chars.
6167
6168         * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
6169         out source file names during a "bug box".
6170         (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
6171         (Read_Source_File): Print out the file name, if requested via -gnatd.n.
6172         If it's not part of the runtimes, store it for later printing by
6173         Dump_Source_File_Names.
6174
6175 2009-05-06  Javier Miranda  <miranda@adacore.com>
6176
6177         * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
6178         documentation and add reference to the GNAT user guide for further
6179         details.
6180
6181 2009-05-06  Javier Miranda  <miranda@adacore.com>
6182
6183         * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
6184         also wrong examples that use extension aggregates.
6185
6186 2009-05-06  Albert Lee  <lee@adacore.com>
6187
6188         * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
6189         of Msg_Iovlen_T for VMS.
6190
6191 2009-05-04  Laurent GUERBY  <laurent@guerby.net>
6192
6193         PR ada/38874
6194         * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
6195         
6196 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6197
6198         * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
6199         box-defaulted operator in an instantiation, when the type of the
6200         operands is not directly visible.
6201
6202 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6203
6204         * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
6205         (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
6206         analysis of the ancestor part. Remove prohibition against limited
6207         interpretations of the ancestor expression in the case of Ada 2005.
6208         Revise error message in overloaded case, adding a message to cover
6209         the Ada 2005 case.
6210
6211 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6212
6213         * xoscons.adb: Minor reformatting
6214
6215 2009-04-29  Bob Duff  <duff@adacore.com>
6216
6217         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
6218         attribute_definition_clauses for the following attributes when the
6219         -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
6220         Storage_Size, Write. Otherwise, we get spurious errors (for example,
6221         missing Read attribute on remote types).
6222
6223         * gnat_ugn.texi: Document the change, and add a stern warning.
6224
6225 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6226
6227         * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
6228         disabled not just for the current scope, but for the innermost dynamic
6229         scope as well.
6230
6231 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6232
6233         * gcc-interface/Make-lang.in: Update dependencies
6234
6235 2009-04-29  Vincent Celier  <celier@adacore.com>
6236
6237         * prj-part.adb: Minor comment update
6238
6239 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6240
6241         * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
6242         box-initialized records with discriminated subcomponents that are
6243         constrained by discriminants of enclosing components. New subsidiary
6244         procedures Add_Discriminant_Values, Propagate_Discriminants.
6245
6246 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6247
6248         * g-socket.adb: Code clean up.
6249
6250 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6251
6252         * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
6253         function entity, to cover the case of a parameterless function call
6254         that has not been resolved.
6255
6256 2009-04-29  Robert Dewar  <dewar@adacore.com>
6257
6258         * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
6259         reformatting and comment updates.
6260
6261 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6262
6263         * gnat_ugn.texi: Update some documentation about interfacing with C++
6264         Mention -fkeep-inline-functions.
6265
6266         * gnat_ugn.texi: Minor edits
6267
6268 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6269
6270         * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
6271         for a defaulted component of an enclosing aggregate, inherit the type
6272         from the component declaration of the enclosing type. 
6273
6274 2009-04-29  Albert Lee  <lee@adacore.com>
6275
6276         * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
6277         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
6278         (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
6279         msg_iovlen field in struct msghdr is 32 or 64 bits wide.
6280         Relocate the Msghdr record type from GNAT.Sockets.Thin to
6281         GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
6282         type for the Msg_Iovlen field.
6283
6284 2009-04-29  Vincent Celier  <celier@adacore.com>
6285
6286         * sinput-l.adb (Load_File): When preprocessing, set temporarily the
6287         Source_File_Index_Table entries for the source, to avoid crash when
6288         reporting an error.
6289
6290         * gnatcmd.adb (Test_If_Relative_Path): Use
6291         Makeutl.Test_If_Relative_Path.
6292         
6293         * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
6294         Including_RTS is True.
6295
6296         * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
6297         Including_RTS defaulted to False.
6298
6299         * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
6300         a default value.
6301
6302 2009-04-29  Javier Miranda  <miranda@adacore.com>
6303
6304         * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
6305
6306 2009-04-29  Javier Miranda  <miranda@adacore.com>
6307
6308         * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
6309         associated with dyamically tagged expressions if the expression
6310         initializing a tagged type corresponds with a non default CPP
6311         constructor.
6312         (OK_For_Limited_Init): CPP constructor calls are OK for initialization
6313         of limited type objects.
6314
6315         * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
6316         when a CPP constructor is called in an assignment. Disable also the
6317         error message associated with dyamically tagged expressions if the
6318         exporession initializing a tagged type corresponds with a non default
6319         CPP constructor.
6320
6321         * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
6322         non-default C++ constructors.
6323
6324         * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
6325
6326         * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
6327         non-default constructors.
6328         (Init_Proc): Add support for non-default constructors.
6329
6330         * exp_disp.adb (Set_Default_Constructor): Removed.
6331         (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
6332         but extending its functionality to handle non-default constructors.
6333
6334         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
6335         constructors. Minor code cleanup removing unrequired label and goto
6336         statement.
6337
6338         * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
6339         constructors.
6340         (Build_Init_Statements): Add support for non-default constructors.
6341         (Expand_N_Object_Declaration): Add support for non-default constructors.
6342         (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
6343         to Set_CPP_Constructors.
6344
6345         * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
6346         non-default constructors.
6347         Required to handle its use in build-in-place statements.
6348
6349         * gnat_rm.texi (CPP_Constructor): Document new extended use of this
6350         pragma for non-default C++ constructors and the new compiler support
6351         that allows the use of these constructors in record components, limited
6352         aggregates, and extended return statements.
6353
6354 2009-04-29  Vincent Celier  <celier@adacore.com>
6355
6356         * prj-part.adb (Parse_Single_Project): Do not attempt to find a
6357         project extending an abstract project.
6358
6359 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6360
6361         * targparm.ads: Fix oversight.
6362
6363 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6364
6365         * lib-xref.adb (Output_Overridden_Op): Follow several levels of
6366         derivation when necessary, to find the user-subprogram that is actally
6367         being overridden.
6368
6369 2009-04-29  Robert Dewar  <dewar@adacore.com>
6370
6371         * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
6372         components
6373
6374 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6375
6376         * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
6377         primitive operation, rather than source line of synchronized type, when
6378         building the wrapper for a primitive operation that overrides an
6379         operation inherited from a progenitor, to improve the error message on
6380         duplicate declarations.
6381
6382         * sem_ch3.adb (Process_Full_View): Use new signature of
6383         Build_Wrapper_Spec.
6384
6385 2009-04-29  Robert Dewar  <dewar@adacore.com>
6386
6387         * prj-nmsc.ads: Minor reformatting
6388
6389 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6390
6391         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
6392         expression on the existing parent If statement.
6393
6394 2009-04-29  Robert Dewar  <dewar@adacore.com>
6395
6396         * prj-proc.adb, prj.ads: Minor reformatting
6397
6398 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6399
6400         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
6401         existing parent If statement on the newly created one.
6402
6403 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6404
6405         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
6406         prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
6407         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
6408         (Set_In_Configuration, In_Configuration): Removed.
6409         Replaced by an extra parameter Is_Config_File in several parameter to
6410         avoid global variables to store the state of the parser.
6411
6412 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6413
6414         * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
6415         with_clauses generated for the same unit through rtsfind, and that
6416         appear in the context of different units.
6417
6418         * rtsfind.adb: New attribute First_Implicit_With, component of the
6419         Unit_Record that stores information about a unit loaded through rtsfind.
6420
6421 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
6422
6423         * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
6424         (other conditions permitting), so that abstract stream subprograms will
6425         be declared for them.
6426
6427 2009-04-29  Bob Duff  <duff@adacore.com>
6428
6429         * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
6430
6431         * g-expect.ads: Minor comment fixes.
6432
6433 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6434
6435         * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
6436         dispatching operation is a body without previous spec, update the list
6437         of primitive operations to ensure that cross-reference information is
6438         up-to-date.
6439
6440 2009-04-29  Albert Lee  <lee@adacore.com>
6441
6442         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6443         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
6444         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
6445         (GNAT.Sockets.Thin.C_Readv,
6446         GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
6447         (GNAT.Sockets.Thin.C_Recvmsg,
6448         GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
6449         sendmsg(2).  
6450         (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
6451         C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
6452
6453 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6454
6455         * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
6456         operation is a body without previous spec, update the list of
6457         primitive operations to ensure that cross-reference information is
6458         up-to-date.
6459
6460         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
6461         new compilation unit node for the instance declaration, keep the
6462         context items of the original unit on it, so that the context of the
6463         instance body only holds the context inherited from the generic body.
6464
6465 2009-04-29  Bob Duff  <duff@adacore.com>
6466
6467         * sem_res.adb: Minor comment fix.
6468
6469 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6470
6471         * sem_elim.adb: Minor reformatting
6472
6473 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6474
6475         * exp_aggr.adb (Convert_To_Positional): if the current unit is a
6476         predefined unit, allow arbitrary number of components in static
6477         aggregate, to ensure that the same level of constant folding applies
6478         for Ada 95 and Ada 05 versions of the file.
6479
6480 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6481
6482         * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
6483         information: no need for full scope check.
6484         (Eliminate_Error): Do not emit error in a generic context.
6485
6486 2009-04-29  Ed Falis  <falis@adacore.com>
6487
6488         * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
6489         VxWorks 653 POS does not support rmdir.
6490
6491 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6492
6493         * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
6494         results are printed.
6495
6496 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
6497
6498         * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
6499         unused assignment.
6500
6501 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6502
6503         * make.adb: Minor reformatting.
6504         Minor code reorganization throughout.
6505
6506 2009-04-29  Matteo Bordin  <bordin@adacore.com>
6507
6508         * s-stausa.ads: Changed visibility of type Task_Result: moved to
6509         public part to give application visibility over it.
6510         This is for future improvement and to build a public API on top of it.
6511         Changed record components name of type Task_Result to reflect the new
6512         way of reporting. 
6513
6514         * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
6515         reporting Stack usage.
6516
6517         * gnat_ugn.texi: Update doc of stack usage report.
6518
6519         * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
6520
6521         * Makefile.rtl: Add new run-time files.
6522
6523 2009-04-29  Pascal Obry  <obry@adacore.com>
6524
6525         * initialize.c: Do not expand quoted arguments.
6526
6527 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6528
6529         * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
6530
6531         * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
6532          Prj.Ultimate_Extending_Project_Of
6533
6534 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6535
6536         * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
6537         Amendment type, add the with_clause for Finalization.List_Controller
6538         only if the current context is a package body.
6539
6540 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6541
6542         * sem_ch12.adb: Minor reformatting
6543
6544         * sem_aggr.adb: Minor reformatting
6545
6546         * sem_ch6.adb, sem_cat.ads: Minor reformatting
6547
6548         * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
6549
6550 2009-04-29  Quentin Ochem  <ochem@adacore.com>
6551
6552         * prj.ads (Source_Id): Now general pointer type.
6553
6554 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6555
6556         * exp_ch7.adb, rtsfind.adb: Minor reformatting
6557
6558         * sem_res.adb: Minor reformatting
6559
6560 2009-04-29  Thomas Quinot  <quinot@adacore.com>
6561
6562         * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
6563         operands is static only if it is a predefined concatenation operator.
6564
6565         * sem_util.adb: Minor reformatting
6566
6567         * sem_ch12.adb (Save_References): When propagating semantic information
6568         from generic copy back to generic template, for the case of an
6569         identifier that has been rewritten to an explicit dereference whose
6570         prefix is either an object name or a parameterless funcion call
6571         denoting a global object or function, properly capture the denoted
6572         global entity: perform the corresponding rewriting in the template,
6573         and point the rewritten identifier to the correct global entity (not
6574         to the associated identifier in the generic copy).
6575
6576 2009-04-29  Robert Dewar  <dewar@adacore.com>
6577
6578         * rtsfind.adb, prj-env.adb: Minor reformatting
6579         Minor code reorganization
6580
6581 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6582
6583         * make.adb: Fix comment
6584
6585         * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
6586         is given as argument, as might happen in gnatmake.
6587
6588 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
6589
6590         * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
6591         an abstract operation of a progenitor is not properly overridden by an
6592         operation of a derived synchronized type.
6593
6594 2009-04-29  Robert Dewar  <dewar@adacore.com>
6595
6596         * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
6597         prj-proc.adb: Minor reformatting
6598         Minor code reorganization
6599
6600 2009-04-29  Bob Duff  <duff@adacore.com>
6601
6602         * exp_ch7.adb (Build_Final_List): For an access type that designates a
6603         Taft Amendment type, if the access type needs finalization, make sure
6604         the implicit with clause for List_Controller occurs on the package spec.
6605
6606         * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
6607         with's created for the pseudo-children of Text_IO and friends. In
6608         particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
6609         Ada.Text_IO.Integer_IO both with-ing each other.
6610
6611         * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
6612         oddball cases when pragma Extend_System is used.
6613
6614         * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
6615         the case where a package spec instantiates a generic whose body with's
6616         this package, so Walk_Library_Items won't complain about cyclic with's.
6617
6618 2009-04-29  Emmanuel Briot  <briot@adacore.com>
6619
6620         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
6621         prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
6622         mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
6623         (Project_Id): now a real pointer to Project_Data, instead of an index
6624         into the Projects_Table. This simplifies the API significantly, avoiding
6625         extra lookups in this table and the need to pass the Project_Tree_Ref
6626         parameter in several cases
6627
6628 2009-04-29  Nicolas Setton  <setton@adacore.com>
6629
6630         * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
6631         darwin.
6632
6633 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
6634
6635         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
6636         back kludge.
6637
6638 2009-04-24  Robert Dewar  <dewar@adacore.com>
6639
6640         * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
6641         clean.adb: Minor reformatting.
6642         Minor code reorganization and message improvement.
6643
6644 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6645
6646         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
6647         (Alternate_Languages): now implemented as a malloc-ed list rather
6648         than through a table.
6649
6650 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6651
6652         * sem_res.adb (Static_Concatenation): Simplify predicate to make it
6653         accurately handle cases such as "lit" & "lit" and
6654         "lit" & static_string_constant
6655
6656 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6657
6658         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
6659         prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
6660         removed. Lists of projects are now implemented via standard malloc
6661         rather than through the table.
6662
6663 2009-04-24  Thomas Quinot  <quinot@adacore.com>
6664
6665         * sem_ch12.adb: Minor reformatting
6666
6667         * g-trasym.adb: Minor reformatting
6668
6669         * exp_ch6.adb: Minor reformatting
6670
6671 2009-04-24  Robert Dewar  <dewar@adacore.com>
6672
6673         * layout.adb (Layout_Type): For packed array type, copy unset
6674         size/alignment fields from the referenced Packed_Array_Type.
6675
6676 2009-04-24  Bob Duff  <duff@adacore.com>
6677
6678         * lib-load.adb (Make_Instance_Unit): Revert previous change, no
6679         longer needed after sem_ch12 changes.
6680
6681         * sem.adb (Walk_Library_Items): Include with's in some debugging
6682         printouts.
6683
6684 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6685
6686         * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
6687         only ever using the Project field.
6688
6689 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6690
6691         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
6692         Body_Required on the generated compilation node. The new node is linked
6693         to its body, but both share the same file, so we do not set this flag
6694         on the new unit so as not to create a spurious dependency on a
6695         non-existent body in the ali file for the instance.
6696
6697 2009-04-24  Robert Dewar  <dewar@adacore.com>
6698
6699         * make.adb: Minor reformatting
6700
6701 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6702
6703         * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
6704         Add_Source): merge some code between those. In particular change where
6705         file normalization is done to avoid a few extra calls to
6706         Canonicalize_File_Name. This also removes the need for passing
6707         Current_Dir in a number of subprograms.
6708
6709 2009-04-24  Bob Duff  <duff@adacore.com>
6710
6711         * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
6712         False, assign the correct unit to the Cunit field of the new table
6713         entry. We want the spec unit, not the body unit.
6714
6715         * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
6716         interface for these.
6717         (Maybe_Add_With): Check whether we're trying to a with on the current
6718         unit, and avoid creating such directly self-referential with clauses.
6719         (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
6720         [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
6721         and matches existing comments in the spec.
6722
6723         * sem.adb (Walk_Library_Items): Add various special cases to make the
6724         assertions pass.
6725
6726         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
6727         instead of Parent (N), for uniformity.
6728
6729 2009-04-24  Robert Dewar  <dewar@adacore.com>
6730
6731         * errout.ads: Minor reformatting
6732
6733 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6734
6735         * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
6736         behavior when the project includes sources from multiple languages
6737
6738 2009-04-24  Vincent Celier  <celier@adacore.com>
6739
6740         * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
6741         is a language other than Ada declared.
6742
6743         * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
6744         Imported_First set to True.
6745
6746 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6747
6748         * sem_res.adb: additional optimization to inhibit creation of
6749         redundant transient scopes.
6750
6751 2009-04-24  Bob Duff  <duff@adacore.com>
6752
6753         * rtsfind.ads: Minor comment fix
6754
6755 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6756
6757         * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
6758         Get_Path_Name_And_Record_Ada_Sources): merged, since these were
6759         basically doing the same work (for explicit or implicit sources).
6760         (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
6761         role. Rewritten to share some code (testing that all explicit sources
6762         have been found) between ada_only and multi_language modes.
6763
6764 2009-04-24  Jerome Lambourg  <lambourg@adacore.com>
6765
6766         * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
6767         for CLI imported types.
6768         (Analyze_Pragma): Allow CIL or Java imported functions returning
6769         access-to-subprogram types.
6770
6771 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6772
6773         * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
6774         (Project_Data.Dir_Path): field removed, since it can be computed
6775         directly from .Directory, and is needed only once when processing the
6776         project is buildgpr.adb or make.adb
6777
6778 2009-04-24  Robert Dewar  <dewar@adacore.com>
6779
6780         * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
6781         rtsfind.adb: Minor reformatting.
6782         Minor code reorganization
6783
6784 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6785
6786         * mlib-prj.adb: Use friendlier english identifier.
6787
6788         * gnatcmd.adb, make.adb: Use better english identifiers.
6789
6790 2009-04-24  Robert Dewar  <dewar@adacore.com>
6791
6792         * clean.adb: Minor reformatting
6793
6794 2009-04-24  Robert Dewar  <dewar@adacore.com>
6795
6796         * einfo.adb (OK_To_Rename): New flag
6797
6798         * einfo.ads (OK_To_Rename): New flag
6799
6800         * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
6801         OK_To_Rename set.
6802
6803         * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
6804
6805         * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
6806         OK_To_Rename.
6807
6808 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6809
6810         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
6811         clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
6812         field removed. This is not a property of the
6813         project, just a boolean used to traverse the project tree, and storing
6814         it in the structure prevents doing multiple traversal in parallel.
6815         (Project_Data.Checked): also removed, since it was playing the same role
6816         as Seen when we had two nested loops, and this is no longer necessary
6817         (For_All_Imported_Projects): removed, since in fact there was already
6818         the equivalent in For_Every_Project_Imported. The latter was rewritten
6819         to use a local hash table instead of Project_Data.Seen
6820         Various loops were rewritten to use For_Every_Project_Imported, thus
6821         removing the need for Project_Data.Seen. This avoids a lot of code
6822         duplication
6823
6824 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6825
6826         * sem_res.adb (Resolve_Actuals): Do not create blocks around code
6827         statements, even though the actual of the call is a concatenation,
6828         because the argument is static, and we want to preserve warning
6829         messages  about sequences of code statements that are not marked
6830         volatile.
6831
6832         * sem_warn.adb: remove obsolete comment about warning being obsolete
6833
6834         * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
6835         requeued and the delay has expired while within the accept statement
6836         that executes the requeue, do not perform the requeue and indicate that
6837         the timed call has been aborted.
6838
6839 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6840
6841         * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6842         (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
6843         (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
6844         since they can be computed from the above.
6845
6846 2009-04-24  Vincent Celier  <celier@adacore.com>
6847
6848         * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
6849
6850         * prj-env.adb: Move all global variables to the private part of the
6851         project tree data.
6852         Access these new components instead of the global variables no longer
6853         in existence.
6854         (Add_To_Path): New Project_Tree_Ref parameter, to access the new
6855         components that were previously global variables.
6856
6857         * prj-env.ads (Initialize): New Project_Tree_Ref parameter
6858         (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
6859         parameter.
6860
6861         * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
6862         be able to call Set_Mapping_File_Initial_State_To_Empty with it.
6863
6864         * prj.adb (Initialize): Do not call Prj.Env.Initialize
6865         (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
6866         components in the private part of the project tree data.
6867
6868         * prj.ads (Private_Project_Tree_Data): new components moved from
6869         Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
6870         Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
6871         Ada_Prj_Objects_File_Set, Fill_Mapping_File.
6872
6873 2009-04-24  Vincent Celier  <celier@adacore.com>
6874
6875         * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
6876
6877         * prj-nmsc.adb (Check_Library): No error for imports by shared library
6878         projects, when --unchecked-shared-lib-imports is used.
6879
6880 2009-04-24  Robert Dewar  <dewar@adacore.com>
6881
6882         * sem_ch7.adb: Minor reformatting
6883
6884 2009-04-24  Tristan Gingold  <gingold@adacore.com>
6885
6886         * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
6887         mach thread id.
6888
6889 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6890
6891         * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
6892         Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
6893         (For_All_Imported_Projects): new procedure
6894         (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
6895         above rather than duplicating code.
6896
6897 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6898
6899         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6900         (Source_Id, Source_Data): use a real list to store sources rather than
6901         using an external table to store the elements. This makes code more
6902         efficient and more readable.
6903
6904 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6905
6906         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6907         (Source_Iterator): new type.
6908         This removes the need for having the sources on three different
6909         lists at the project tree, project and language level. They are now
6910         on a single list.
6911
6912 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6913
6914         * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
6915
6916 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
6917
6918         * sem_warn.adb: Add comment on obsolete warning
6919
6920 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
6921
6922         * s-tassta.adb (Create_Task): Fix violation of locking rule.
6923
6924 2009-04-24  Emmanuel Briot  <briot@adacore.com>
6925
6926         * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
6927         to Language_Ptr to better reflect its new implementation.
6928         (Project_Data.First_Languages_Processing): renamed to Languages now
6929         that the field with that name is no longer used
6930         (Project_Data.Languages): removed, no longer used, and duplicates
6931         information already available through First_Language_Processing.
6932         (Prj.Language_Index): now an actual pointer, instead of an index into
6933         a table. This makes the list somewhat more obvious, but more importantly
6934         removes the need to pass a pointer to the project_tree_data in a few
6935         places, and makes accessing the attributes of a languages more
6936         efficient.
6937
6938 2009-04-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6939             Thomas Quinot  <quinot@adacore.com>
6940
6941         * fe.h (Set_Identifier_Casing): Add const to second parameter.
6942         * gcc-interface/misc.c (internal_error_function): Make copy of return
6943         from pp_formatted_text before assigning BUFFER to it.
6944         (gnat_init): Likewise for main_input_filename and gnat_argv.
6945         (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
6946
6947 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6948
6949         * ttypes.ads (Target_Double_Float_Alignment): New variable.
6950         (Target_Double_Scalar_Alignment): Likewise.
6951         * get_targ.ads (Get_Strict_Alignment): Adjust external name.
6952         (Get_Double_Float_Alignment): New imported function.
6953         (Get_Double_Scalar_Alignment): Likewise.
6954         * layout.adb (Set_Elem_Alignment): Take into account specific caps for
6955         the alignment of "double" floating-point types and "double" or larger
6956         scalar types, as parameterized by Target_Double_Float_Alignment and
6957         Target_Double_Scalar_Alignment respectively.
6958         * gcc-interface/gigi.h (double_float_alignment): Declare.
6959         (double_scalar_alignment): Likewise.
6960         (is_double_float_or_array): Likewise.
6961         (is_double_scalar_or_array): Likewise.
6962         (get_target_double_float_alignment): Likewise.
6963         (get_target_double_scalar_alignment): Likewise.
6964         * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
6965         (get_target_strict_alignment): ...this.
6966         (get_target_double_float_alignment): New function.
6967         (get_target_double_scalar_alignment): Likewise.
6968         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6969         Test the presence of an alignment clause for under-aligned integer
6970         types.  Take into account specific caps for the alignment of "double"
6971         floating-point types and "double" or larger scalar types, as
6972         parameterized by Target_Double_Float_Alignment and
6973         Target_Double_Scalar_Alignment respectively.
6974         (validate_alignment): Likewise.
6975         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
6976         (gigi): Initialize double_float_alignment and double_scalar_alignment.
6977         * gcc-interface/utils.c (double_float_alignment): New global variable.
6978         (double_scalar_alignment): Likewise.
6979         (is_double_float_or_array): New predicate.
6980         (is_double_scalar_or_array): Likewise.
6981
6982 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6983
6984         * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
6985         the conditional expression only if it is common to both arms.
6986
6987 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6988
6989         * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
6990         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
6991         arguments to build_allocator.
6992         * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
6993         Remove code handling special allocator and assert its uselessness.
6994
6995 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6996
6997         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
6998         alignment is specified, do not promote that of the component type
6999         beyond it.
7000         <E_Array_Subtype>: Likewise.
7001
7002 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
7003
7004         * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
7005         * sinfo.ads (Object Declaration): Likewise.
7006         (Assignment Statement): Likewise.
7007         * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
7008         Do not force Is_True_Constant to false on the temporary.
7009         (Freeze_Entity): Do not force Is_True_Constant to false on names on
7010         the RHS of object declarations.
7011         * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
7012         New case.  Return 1 if the object is atomic.
7013         <N_Assignment_Statement>: Likewise.
7014
7015 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
7016
7017         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
7018         For packed array types, make the original array type a parallel type
7019         for the modular type and its JM wrapper if the type is bit-packed.
7020         <E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
7021         record type for packed array types.  Remove kludge.
7022
7023 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
7024
7025         * gcc-interface/gigi.h (create_index_type): Adjust head comment.
7026         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
7027         Use front-end predicates to compute signedness and precision.
7028         <E_String_Literal_Subtype>: Fold range type.
7029         Make sure to set longest_float_type_node to a scalar type.
7030         (elaborate_entity): Use consistent Constraint_Error spelling.
7031         (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
7032         * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
7033         output for the modulus, if any.
7034         <ENUMERAL_TYPE>: Likewise for the RM size.
7035         * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
7036         spelling.
7037         * gcc-interface/utils.c (finish_record_type): Really test the alignment
7038         of BLKmode bit-fields to compute their addressability.
7039         (create_index_type): Adjust comments.
7040         (create_param_decl): Create the biased subtype manually.
7041         * gcc-interface/utils2.c (build_component_ref): Use consistent
7042         Constraint_Error spelling.
7043
7044 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
7045
7046         * gcc-interface/cuintp.c: Clean up include directives.
7047         * gcc-interface/targtyps.c: Likewise.
7048         * gcc-interface/decl.c: Likewise.
7049         * gcc-interface/misc.c: Likewise.
7050         * gcc-interface/trans.c: Likewise.
7051         * gcc-interface/utils.c: Likewise.
7052         * gcc-interface/utils2.c: Likewise.
7053         * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
7054
7055 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
7056
7057         * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
7058         (SET_TYPE_LANG_SPECIFIC): Likewise.  Fix formatting.
7059         (SET_DECL_LANG_SPECIFIC): Likewise.
7060         Reorder macros.
7061         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
7062         Update comment about use of build_range_type.
7063         <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
7064         <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
7065         check for other cases of overloading.
7066         * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
7067         * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
7068         Use size_int in lieu of build_int_cst.
7069         (build_call_alloc_dealloc): Use build_index_2_type in lieu of
7070         build_range_type.
7071
7072 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7073
7074         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
7075         type is an enumeral or a boolean type, change it to an integer type
7076         with the same mode and signedness.
7077
7078 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7079
7080         * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
7081         for an external constant whose initializer is not absolute.
7082
7083 2009-04-22  Taras Glek  <tglek@mozilla.com>
7084
7085         * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
7086         * gcc-interface/trans.c: Likewise.
7087         * gcc-interface/utils.c: Likewise.
7088
7089 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
7090
7091         * sem_res.adb: Create block around procedure call when actual is a
7092         concatenation.
7093
7094 2009-04-22  Thomas Quinot  <quinot@adacore.com>
7095
7096         * s-soflin.ads: Fix typos
7097
7098 2009-04-22  Vincent Celier  <celier@adacore.com>
7099
7100         * prj-env.adb: Minor comment change
7101
7102         * prj-nmsc.adb (Check_Common): Add guard to avoid calling
7103         Get_Name_String with No_File.
7104
7105         * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
7106         cannot be created even when not in verbose mode.
7107
7108 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7109
7110         * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
7111         prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
7112         Multi_Language modes, to avoid code duplication.
7113         (Project_Data.Include_Language): Removed.
7114
7115 2009-04-22  Vincent Celier  <celier@adacore.com>
7116
7117         * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
7118         the temporary file cannot be created, indicating the directory when the
7119         creation was attempted.
7120
7121 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7122
7123         * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
7124         the language names, not their indices.
7125
7126 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7127
7128         * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
7129         (Source_Data.Language_Name): Field removed.
7130
7131 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7132
7133         * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
7134         Two fields removed.
7135
7136 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7137
7138         * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
7139         separate_suffix to the same value as the body_suffix.
7140
7141 2009-04-22  Robert Dewar  <dewar@adacore.com>
7142
7143         * prj.adb: Minor code reorganization
7144         Code clean up.
7145
7146         * prj-proc.adb: Minor code reorganization, clean up.
7147
7148         * prj-nmsc.adb: Minor reformatting
7149         Minor code reorganization
7150
7151         * gnat_ugn.texi: Add to doc on strict aliasing
7152
7153 2009-04-22  Pascal Obry  <obry@adacore.com>
7154
7155         * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
7156         SpinCount.
7157
7158         * s-tasini.adb: Minor reformatting.
7159
7160         * s-tassta.adb: Minor reformatting.
7161
7162 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7163
7164         * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
7165         smaller subprograms.
7166         Renamed to Check_File_Naming_Schemes to avoid confusion with the
7167         other Check_Naming_Schemes functions that plays a totally different
7168         role.
7169         (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
7170         extracted from the above. These were partially rewritten to avoid
7171         unnecessary code and temporary variables.
7172         (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
7173         and Get_Unit (which for now still exist since they contain mode-specific
7174         code)
7175
7176 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7177
7178         * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
7179         Remove duplicated code.
7180         (Canonical_Case_File_Name): new subprogram
7181         (Check_And_Normalize_Unit_Names): new subprogram
7182         (Write_Attr): new subprogram
7183         Better sharing of code
7184         (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
7185         split Check_Naming and help find duplicated code
7186         (Check_Common): new subprogram, sharing code between ada_only and
7187         multi_language mode.
7188         (Naming_Data.Dot_Repl_Loc): field removed
7189
7190 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7191
7192         * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
7193         Minor refactoring to reduce the size of
7194         Process_Sources_In_Multi_Language_Mode.
7195         Avoid extra copied of Source_Data, which we found in the past could be
7196         quite slow.
7197         (Mark_Excluded_Sources): new subprogram.
7198         (Remove_Locally_Removed_Files_From_Units): merged into the above
7199         Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
7200         and allow better sharing of code between multi_lang and ada_only modes
7201         (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
7202
7203 2009-04-22  Emmanuel Briot  <briot@adacore.com>
7204
7205         * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
7206         Removed, since unused.
7207
7208 2009-04-22  Vincent Celier  <celier@adacore.com>
7209
7210         * prj-attr.adb: New single project level attribute
7211         Separate_Run_Path_Options.
7212
7213         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
7214         attribute Seperate_Run_Path_Options.
7215
7216         * prj.ads: (Project_Configuration): New Boolean component
7217         Separate_Run_Path_Options, defaulted to False.
7218
7219         * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
7220
7221 2009-04-22  Robert Dewar  <dewar@adacore.com>
7222
7223         * sem_type.adb: Minor reformatting
7224
7225         * mlib.adb: Minor reformatting
7226
7227         * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
7228         syntax error.
7229
7230 2009-04-22  Nicolas Setton  <setton@adacore.com>
7231
7232         * link.c: Add flag __gnat_separate_run_path_options.
7233
7234         * mlib.adb (Separate_Run_Path_Options): New subprogram.
7235
7236         * mlib.ads (Separate_Run_Path_Options): Declare.
7237
7238         * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
7239         switch per directory, rather than one "rpath" switch listing all
7240         directories.
7241
7242         * gnatlink.adb (Process_Binder_File): Likewise.
7243
7244         * make.adb (Gnatmake): Likewise.
7245
7246 2009-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
7247
7248         * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
7249         Add a call to Move_Final_List when the target of the assignment is a
7250         return object that needs finalization and the expression is a
7251         controlled build-in-place function.
7252
7253 2009-04-22  Vincent Celier  <celier@adacore.com>
7254
7255         * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
7256         Including_Libraries set to True.
7257
7258 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
7259
7260         * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
7261         create a unit table entry for the subprogram declaration created for a
7262         child suprogram body that has no separate specification.
7263
7264         * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
7265         subprogram body, call Make_Child_Decl_Unit.
7266
7267         * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
7268         table can only be the created specification of a child subprogram body
7269         that is the main unit, which has not been entered in the table yet.
7270
7271         * errout.adb  (Output_Messages): Ignore created specification of a
7272         child subprogram body to prevent repeated listing of error messages.
7273
7274         * gnat1drv.adb (gnat1drv): The generated specification for a child
7275         subprogram body does not generate code.
7276
7277 2009-04-22  Arnaud Charlet  <charlet@adacore.com>
7278
7279         * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
7280         since this unit is now part of bootstrap units, so must use Ada 95
7281         syntax only.
7282
7283 2009-04-22  Thomas Quinot  <quinot@adacore.com>
7284
7285         * a-tasatt.adb: Minor reformatting
7286
7287 2009-04-22  Bob Duff  <duff@adacore.com>
7288
7289         * s-stalib.ads: Remove "with System;" since we're inside System, so
7290         it's unnecessary.
7291
7292 2009-04-22  Vincent Celier  <celier@adacore.com>
7293
7294         * prj-nmsc.adb (Add_Source): Always put the dependency file name in
7295         the source record, as there may be a dependency file even if no object
7296         file is created.
7297
7298 2009-04-22  Robert Dewar  <dewar@adacore.com>
7299
7300         * lib-load.adb: Minor reformatting
7301
7302         * lib-load.ads: Minor reformatting
7303
7304         * sinfo.ads: Minor reformatting
7305
7306 2009-04-22  Bob Duff  <duff@adacore.com>
7307
7308         * exp_pakd.adb: Minor comment fixes.
7309
7310         * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
7311         sem_ch12.adb: Change the meaning of the Library_Unit attribute to
7312         include units containing instantiations, as well as units that are
7313         generic instantiations.
7314
7315         * sem.adb: Include dependents and corresponding specs/bodies in the
7316         unit walk.
7317
7318         * gcc-interface/Make-lang.in:
7319         sem now depends on s-bitops, because of the packed array of Booleans.
7320
7321 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7322
7323         * gcc-interface/ada-tree.def: Fix formatting nits.
7324         (REGION_STMT): Delete.
7325         (HANDLER_STMT): Likewise.
7326         * gcc-interface/ada-tree.h: Fix formatting nits.
7327         (IS_STMT): Delete.
7328         (REGION_STMT_BODY): Likewise.
7329         (REGION_STMT_HANDLE): Likewise.
7330         (REGION_STMT_BLOCK): Likewise.
7331         (HANDLER_STMT_ARG): Likewise.
7332         (HANDLER_STMT_LIST): Likewise.
7333         (HANDLER_STMT_BLOCK): Likewise.
7334         * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
7335         (fp_size_to_prec): Likewise.
7336         (largest_move_alignment): Delete.
7337         (gnat_compute_largest_alignment): Likewise.
7338         Fix minor nits.
7339         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
7340         Remove redundant code.
7341         <E_Array_Type>: Remove redundant assert.
7342         <E_Array_Subtype>: Exit early from index computation in pathological
7343         cases.
7344         Rewrite conditional assignment.
7345         (make_type_from_size): Likewise.
7346         * gcc-interface/misc.c (largest_move_alignment): Delete.
7347         (gnat_finish_incomplete_decl): Likewise.
7348         (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
7349         (asm_out_file): Likewise
7350         (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
7351         (gnat_dwarf_name): Move around.
7352         * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
7353         (gigi): Remove call to gnat_compute_largest_alignment.
7354         * utils.c (create_field_decl): Rewrite conditional assignment.
7355         Fix minor nits.
7356
7357 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7358
7359         * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
7360         on entry.  Defer common processing for types.  Reorder and clean up.
7361         Compute the equivalent GNAT node and the default size for types only.
7362         <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
7363         <E_Access_Type>: For an unconstrained designated type, do not pretend
7364         that a dummy type is always made.
7365         <all> Fix nits in comments.
7366         (validate_size): Fix formatting nits and comments.
7367         (set_rm_size): Likewise.
7368         * gcc-interface/utils.c (create_param_decl): Replace bogus argument
7369         passed to TARGET_PROMOTE_PROTOTYPES hook.
7370
7371 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7372
7373         * fe.h (Get_External_Name): Declare.
7374         * gcc-interface/gigi.h (concat_id_with_name): Rename to...
7375         (concat_name): ...this.
7376         * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
7377         gnu_entity_name and adjust for above renaming.
7378         <E_Access_Type>: Use create_concat_name to get the name of the various
7379         types associated with unconstrained array types.
7380         (make_aligning_type): Adjust for above renaming.
7381         (maybe_pad_type): Likewise.
7382         (components_to_record): Likewise.  Use get_identifier_with_length for
7383         the encoding of the variant.
7384         (get_entity_name): Use get_identifier_with_length.
7385         (create_concat_name): Likewise.  Use Get_External_Name if no suffix.
7386         Do not fiddle with Name_Buffer.
7387         (concat_id_with_name): Rename to...
7388         (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
7389         with Name_Buffer.
7390         * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
7391         above renaming.
7392
7393 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
7394
7395         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
7396         license notices.
7397
7398 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7399
7400         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
7401
7402 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7403
7404         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
7405         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
7406         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
7407         Remove useless support code for packed array types and assert its
7408         uselessness.
7409         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
7410         adjust for TYPE_RM_SIZE change.
7411         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
7412         of Associated_Node_For_Itype accessor for packed array types.
7413         (make_packable_type): Likewise.
7414         (maybe_pad_type): Likewise.
7415         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
7416         TYPE_RM_SIZE change.
7417         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
7418         (rm_size): Fix nits in comments.  Rework conditional statements.
7419         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
7420         change.
7421         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
7422         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
7423         appropriate function to initialize the size_type_node.  Adjust for
7424         TYPE_RM_SIZE change.
7425
7426 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7427
7428         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
7429         for imported subprograms.
7430
7431 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7432
7433         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
7434         constant objects covered by 13.3(19) volatile.
7435
7436 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7437
7438         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
7439         of dummy fat pointer types to the debug back-end.
7440
7441 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7442
7443         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
7444         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
7445         before wrapping it up in the record type.  Do not overwrite the
7446         Ada size of the record type with the Esize.
7447
7448 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7449
7450         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
7451         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
7452         if the conversion is on the LHS of an assignment and a no-op.
7453         <all> Do not convert the result to the result type if the Parent
7454         node is such a conversion.
7455
7456 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7457
7458         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
7459         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
7460         of types with unknown discriminants.
7461         (substitute_in_type): Rewrite and restrict to formal substitutions.
7462         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
7463         (update_pointer_to): Update comment.
7464
7465 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7466
7467         * sem_ch8.adb (Use_One_Package): In an instance, if two
7468         potentially_use_visible and non-overloadable homonyms are available
7469         from  the actuals of distinct formal packages, retain the current one,
7470         which was visible in the generic, to prevent spurious visibility
7471         errors.
7472         (End_Use_Package): Restore use_visibility when needed.
7473
7474 2009-04-20  Sergey Rybin  <rybin@adacore.com>
7475
7476         * gnat_ugn.texi, vms_data.ads: Update doc.
7477
7478 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
7479
7480         * gcc-interface/Make-lang.in: Update dependencies
7481
7482         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
7483         Windows.
7484
7485 2009-04-20  Robert Dewar  <dewar@adacore.com>
7486
7487         * checks.ads: Fix documentation of range check handling
7488
7489 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7490
7491         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
7492         a redundant use_type clause.
7493
7494 2009-04-20  Robert Dewar  <dewar@adacore.com>
7495
7496         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
7497         this attribute can be evaluated at compile time.
7498         (Eval_Attribute, case Range_Length): Same improvement
7499
7500         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
7501
7502 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7503
7504         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
7505         for better handling of null procedures.
7506         (Check_Overriding_Indicator): Do not emit a warning on a missing
7507         overriding indicator on an operator when the type of which the operator
7508         is a primitive is private.
7509
7510 2009-04-20  Bob Duff  <duff@adacore.com>
7511
7512         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
7513         debugging output.
7514
7515 2009-04-20  Robert Dewar  <dewar@adacore.com>
7516
7517         * sem_attr.adb: Minor reformatting
7518
7519         * gnatcmd.adb: Minor reformatting
7520
7521 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7522
7523         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
7524         overloaded and one interpretation matches the context, label the
7525         operand with the type of first formal.
7526
7527 2009-04-20  Bob Duff  <duff@adacore.com>
7528
7529         * debug.ads: Minor comment fix.
7530
7531         * debug.adb: Minor comment fixes.
7532
7533 2009-04-20  Javier Miranda  <miranda@adacore.com>
7534
7535         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
7536
7537         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
7538
7539         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
7540         is expanded into a call to Raise_Exception, avoid passing the
7541         exception-name'identity in runtimes in which this argument
7542         is not used.
7543
7544 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
7545
7546         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
7547         generated bindings for cil.
7548
7549 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7550
7551         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
7552         discriminants, collect components from the Underlying_Record_View,
7553         which will be used in the expansion of the aggregate into assignments.
7554
7555         * sem_ch3.adb: Do not label derived type with unknown discriminants as
7556         having a private declaration.
7557
7558 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7559
7560         * exp_util.adb (Expand_Subtype_From_Expr): use the
7561         underlying_record_view when available, to create the proper constrained
7562         subtype for an object of a derived type with unknown discriminants.
7563
7564 2009-04-20  Javier Miranda  <miranda@adacore.com>
7565
7566         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
7567         formals that have pragma unreferenced.
7568
7569 2009-04-20  Pascal Obry  <obry@adacore.com>
7570
7571         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
7572         Remove all calls to To_Lower_If_Case_Insensitive to preserve
7573         the pathname original casing.
7574
7575 2009-04-20  Robert Dewar  <dewar@adacore.com>
7576
7577         * g-trasym.adb: Minor reformatting
7578
7579         * s-os_lib.adb: Minor reformatting
7580
7581         * sem.adb: Minor reformatting
7582         Minor code reorganization
7583
7584         * sem_ch3.adb: Minor reformatting
7585
7586         * sem_ch4.adb: Minor reformatting
7587
7588         * sem_ch8.adb: Minor reformatting
7589
7590         * sem_type.adb: Minor reformatting
7591
7592 2009-04-20  Javier Miranda  <miranda@adacore.com>
7593
7594         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
7595         generated by derivations of tagged types use the aliased subprogram a
7596         reference to locate their controlling type.
7597
7598 2009-04-20  Tristan Gingold  <gingold@adacore.com>
7599
7600         * g-trasym.adb: Set size of result buffer before calling
7601         convert_address.
7602
7603 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7604
7605         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
7606         to a function returning an array can be interpreted as a call with
7607         defaulted parameters whose result is indexed, take into account the
7608         types of all the indices of the array result type.
7609
7610 2009-04-20  Pascal Obry  <obry@adacore.com>
7611
7612         * a-direct.adb, s-os_lib.adb: Minor reformatting.
7613
7614 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7615
7616         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
7617         null exclusion qualifiers for object renaming declarations.
7618
7619 2009-04-20  Nicolas Roche  <roche@adacore.com>
7620
7621         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
7622         unsigned long long. So compare local_time and utc_time before computing
7623         the difference.
7624
7625 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7626
7627         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
7628         of the Underlying_Record_View before that of the derived type.
7629
7630         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
7631         with unknown discriminants with regard to the parent subtype.
7632
7633 2009-04-20  Bob Duff  <duff@adacore.com>
7634
7635         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
7636         that are not included. This is necessary if the main unit is a generic
7637         instantiation.
7638
7639         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
7640         because it doesn't work if -gnatn is used.
7641
7642 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7643
7644         * rtsfind.adb (RTE, RTE_Record_Component): In
7645         Configurable_Run_Time_Mode, do not enable front-end inlining.
7646
7647 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7648
7649         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
7650         System.Address_To_Access_Conversions.
7651
7652 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7653
7654         * sem.adb: Guard against ill-formed subunits.
7655
7656 2009-04-20  Bob Duff  <duff@adacore.com>
7657
7658         * output.adb (Flush_Buffer): Do not indent blank lines.
7659         (Ignore_Output): New procedure for output suppression.
7660
7661 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7662
7663         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
7664         when it is positive.  This avoids a potential constraint error raised
7665         by the conversion to Natural.
7666
7667 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7668
7669         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
7670         involves a target that has a specified address, don't set Forward_OK
7671         and Backward_OK to False if the rhs is an aggregate, since overlap
7672         can't occur.
7673
7674 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7675
7676         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
7677         in an object renaming declaration when the expected type is an
7678         anonymous access type.
7679
7680         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
7681         ambiguity when one interpretation is an anonymous access type and the
7682         other is a named access type, and the context itself is anonymous
7683
7684 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7685
7686         * einfo.ads: Minor comment rewording
7687
7688         * sem_aggr.adb: Minor comment rewording
7689
7690         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
7691
7692 2009-04-20  Pascal Obry  <obry@adacore.com>
7693
7694         * adaint.c (__gnat_is_readable_file): Check for file existence
7695         when not using ACL (always the case on remote drives).
7696
7697 2009-04-20  Robert Dewar  <dewar@adacore.com>
7698
7699         * sinfo.ads: Minor comment fixes
7700
7701         * exp_disp.adb: Minor reformatting
7702
7703         * gnat1drv.adb: Minor reformatting
7704
7705         * output.adb: Minor reformatting
7706
7707         * s-vxwext-kernel.ads: Minor reformatting
7708
7709         * sem.ads: Minor reformatting
7710
7711         * sem.adb: Minor reformatting
7712
7713         * sem_elim.adb: Minor reformatting
7714
7715         * uname.ads: Minor reformatting
7716
7717 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7718
7719         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
7720         a small dope of 4 words to the adjustment to the stack pointer.
7721
7722 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7723
7724         * xoscons.adb: generate C header s-oscons.h in
7725         addition to s-oscons.ads.
7726
7727         * socket.c: On VMS, use s-oscons.h.
7728
7729         * sem_ch3.adb: Minor reformatting
7730
7731         * exp_ch9.adb: Minor reformatting
7732
7733 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7734
7735         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
7736         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
7737         (call_to_gnu): Likewise.
7738
7739 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7740
7741         * gcc-interface/trans.c (gigi): Declare the name of the compilation
7742         unit as the first global name at the very beginning.
7743
7744 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7745
7746         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7747         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
7748         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
7749         since HP-UX supports neither inet_aton nor inet_pton (altough the
7750         latter is part of the Single UNIX Specification!).
7751         So reorganize code, and share C implementation based on inet_addr(3)
7752         with VMS (instead of having a VMS specific Ada implementation in
7753         g-socthi-vms.adb).
7754
7755 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7756
7757         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
7758         to return the object file name saved by Set_Object_Output_File_Name.
7759
7760 2009-04-20  Emmanuel Briot  <briot@adacore.com>
7761
7762         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
7763         for the standard command line, when argc has been modified since the
7764         start of the application.
7765
7766 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7767
7768         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
7769         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
7770
7771 2009-04-20  Bob Duff  <duff@adacore.com>
7772
7773         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
7774         pragma Debug.
7775
7776 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7777
7778         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
7779         subprogram as Eliminated when source operation is.
7780         (Expand_N_Protected_Type_Declaration): Generate protected and
7781         unprotected specs for the internal operations, even if the source
7782         operation is eliminated.
7783
7784 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7785
7786         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
7787         Predefined_Primitive_Bodies): Do not create the declarations and bodies
7788         of the primitive subprograms associated with dispatching select
7789         statements when the runtime is in configurable mode.
7790
7791 2009-04-20  Ed Falis  <falis@adacore.com>
7792
7793         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
7794
7795 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7796
7797         * s-oscons-tmplt.c: Add support for generating a dummy version of
7798         s-oscons.ads providing all possible constants.
7799
7800         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
7801
7802         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
7803         ANSI version (not the UNICODE version) of WSAStringToAddress.
7804
7805 2009-04-20  Pascal Obry  <obry@adacore.com>
7806
7807         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
7808         allocated for the security descriptor and make sure all
7809         handles are closed before leaving this procedure.
7810
7811 2009-04-20  Javier Miranda  <miranda@adacore.com>
7812
7813         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
7814         (Set_Is_Underlying_Record_View): New subprogram
7815
7816         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
7817         private types with unknown discriminants use the underlying record view
7818         if available.
7819
7820         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
7821         underlying record view in the full view of private types whose parent
7822         has unknown discriminants.
7823         (Build_Derived_Record_Type): Avoid generating the class-wide entity
7824         associated with an underlying record view.
7825         (Derived_Type_Declaration): Avoid deriving parent primitives in
7826         underlying record views.
7827
7828         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
7829         records with unknown discriminants.
7830
7831         * sem_type.adb (Covers): Handle underlying record views.
7832         (Is_Ancestor): Add support for underlying record views.
7833
7834         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
7835         dispatching call if the type of the target object is tagged and has
7836         unknown discriminants.
7837
7838         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
7839         unknown discriminants.
7840
7841         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
7842         tables for internally built underlying record views.
7843
7844         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
7845         empty list of component associations.
7846
7847 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7848
7849         * sem_ch10.adb: Minor reformatting
7850
7851         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7852         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
7853         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
7854         standard inet_pton API (and emulate it on platforms that do not
7855         support it).
7856         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
7857         DECC$INET_ADDR, imported in Ada.
7858         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
7859         implementation provided by GNAT runtime.
7860         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
7861         Windows.
7862
7863 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7864
7865         * gnat_ugn.texi: Add documentation for -fno-ivopts.
7866
7867 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
7868
7869         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
7870         with_clause if it is the main unit.
7871
7872 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7873
7874         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
7875         (no behaviour change): Use Append instead of Increment_Last followed
7876         by assignment.
7877
7878 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7879
7880         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
7881         declarations of all primitives associated with dispatching asynchronous,
7882         conditional and timed selects when dispaching calls are forbidden and
7883         select statements are not allowed (such as in Ravenscar).
7884         (Predefined_Primitive_Bodies): Ditto for bodies.
7885
7886         * exp_disp.ad (Make_DT): Do not create and populate the
7887         Select_Specific_Data of the dispatch table when dispatching calls are
7888         forbidden and select statements are not allowed (such as in Ravenscar).
7889
7890 2009-04-20  Robert Dewar  <dewar@adacore.com>
7891
7892         * a-tifiio.adb: Minor reformatting
7893
7894 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7895
7896         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
7897         other C library functions, report *failure* with a zero status, and
7898         success with a non-zero status.
7899
7900 2009-04-20  Bob Duff  <duff@adacore.com>
7901
7902         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
7903         (Semantics): After analyzing each unit, Append it to the
7904         Comp_Unit_List, if appropriate.
7905
7906         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
7907         purposes.
7908         (Gnat1drv): Correct comment regarding Back_End_Mode.
7909
7910 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7911
7912         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
7913
7914 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7915
7916         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
7917         output.adb, output.ads, s-taprop-hpux-dce.adb,
7918         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
7919         reformatting.
7920
7921 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7922
7923         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
7924         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
7925         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
7926         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
7927         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
7928         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
7929
7930         * debug.adb: Fix typo
7931
7932         * gnat_rm.texi: Minor doc fix.
7933
7934         * sem_ch7.adb, freeze.adb: Minor reformatting
7935
7936 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7937
7938         * g-socket.ads: Add new constants:
7939           Loopback_Inet_Addr
7940           Unspecified_Group_Inet_Addr
7941           All_Hosts_Group_Inet_Addr
7942           All_Routers_Group_Inet_Addr
7943
7944         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
7945         ERANGE (Result too large).
7946         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
7947         propagation of errno to caller.
7948
7949 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7950
7951         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
7952         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
7953         Leap_Second_Times.
7954
7955 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
7956
7957         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
7958         checking for references to eliminated subprograms that should be
7959         flagged.
7960         (Eliminate_Error_Message): Update comment to say "references" rather
7961         than "calls" (since attribute cases are handled here as well).
7962
7963         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
7964         checking for references to eliminated subprograms that should be
7965         flagged.  Add with and use of Sem and Sem_Util.
7966
7967         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
7968         Add with and use of Sem_Elim.
7969
7970         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
7971         applied to eliminated subprograms.
7972         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
7973         eliminated subprograms.
7974         Add with and use of Sem_Elim.
7975
7976         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
7977         to eliminated subprograms, now handled during Resolve_Call.
7978         Remove with and use of Sem_Elim.
7979
7980         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
7981         testing Is_Eliminated, for proper handling of primitive derived from
7982         eliminated subprograms.
7983
7984 2009-04-20  Vincent Celier  <celier@adacore.com>
7985
7986         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
7987         has been declared (Library_GCC or Linker'Driver), for the driver name.
7988
7989         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
7990         Linker'Driver is, use Linker'Driver as the shared library linker.
7991         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
7992         Library_GCC is declared.
7993         (Check_Library_Attributes): Set up the shared linker driver: either
7994         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
7995         declared.
7996
7997 2009-04-20  Thomas Quinot  <quinot@adacore.com>
7998
7999         * g-socket.ads (Send_Socket): Fix misleading comment.
8000
8001 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
8002
8003         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
8004         ASIS mode.
8005
8006 2009-04-20  Geert Bosch  <bosch@adacore.com>
8007
8008         * a-tifiio.adb (Put): Avoid generating too many digits for certain
8009         fixed types with smalls that are neither integer or the reciprocal
8010         of an integer.
8011
8012 2009-04-20  Bob Duff  <duff@adacore.com>
8013
8014         * uname.ads: Minor comment fix.
8015
8016         * types.ads: Minor comment fix.
8017
8018 2009-04-20  Pascal Obry  <obry@adacore.com>
8019
8020         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
8021         avoid warning. At the same time fix a memory leak.
8022
8023         * osint.adb (Get_Libraries_From_Registry): Properly free memory
8024         returned by the above routine.
8025
8026 2009-04-20  Robert Dewar  <dewar@adacore.com>
8027
8028         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
8029         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
8030         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
8031         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
8032
8033         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
8034
8035 2009-04-20  Pascal Obry  <obry@adacore.com>
8036
8037         * initialize.c (__gnat_initialize): Add braces to kill warning.
8038
8039         * adaint.c: Minor reformatting, remove trailing spaces.
8040
8041 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8042
8043         * gcc-interface/Make-lang.in: Update dependencies.
8044
8045 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
8046
8047         * adaint.h (__gnat_lwp_self): Declare on Linux.
8048
8049         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
8050
8051 2009-04-20  Robert Dewar  <dewar@adacore.com>
8052
8053         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
8054         front-end part of -fpreserve-control-flow switch.
8055
8056 2009-04-20  Bob Duff  <duff@adacore.com>
8057
8058         * rtsfind.adb: Minor comment fix
8059
8060 2009-04-20  Robert Dewar  <dewar@adacore.com>
8061
8062         * exp_aggr.adb: Minor reformatting
8063         Minor code reorganization (use Nkind_In)
8064
8065         * g-socket.adb: Minor reformatting
8066
8067         * g-socket.ads: Minor comment fix
8068
8069         * s-auxdec.ads: Minor comment and organization update.
8070
8071         * s-auxdec-vms_64.ads: Minor comment and organization update.
8072
8073         * sem_ch10.adb: Minor addition of ??? comment
8074
8075         * sem_disp.adb: Minor reformatting
8076
8077 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
8078
8079         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
8080         list a caller of an inlined subprogram, if the caller itself is not
8081         called.
8082
8083 2009-04-20  Pascal Obry  <obry@adacore.com>
8084
8085         * adaint.c: Disable use of ACL on network drives.
8086
8087 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
8088
8089         * gnat_ugn.texi: Add examples.
8090
8091 2009-04-20  Thomas Quinot  <quinot@adacore.com>
8092
8093         * g-socket.ads (Abort_Selector): Clarify documentation.
8094
8095 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
8096
8097         * opt.ads (Inspector_Mode): Update documentation of this flag.
8098
8099 2009-04-20  Thomas Quinot  <quinot@adacore.com>
8100
8101         * g-socket.ads: Minor reformatting
8102
8103         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
8104         consider S_resolvLib error codes since we only use the hostLib wrappers.
8105
8106 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
8107
8108         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
8109         of the Underlying_Record_View after that of the derived type.
8110
8111 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
8112
8113         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
8114         in inspector mode.
8115
8116 2009-04-20  Javier Miranda  <miranda@adacore.com>
8117
8118         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
8119
8120         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
8121         documentation.
8122
8123         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
8124
8125         * sem_disp.adb
8126         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
8127         in internally built overriding subprograms.
8128
8129 2009-04-20  Doug Rupp  <rupp@adacore.com>
8130
8131         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
8132
8133         * s-auxdec.ads: Likewise
8134
8135 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
8136
8137         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
8138         type by an interface.
8139
8140         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
8141         minimze difference in expanded tree when compiled as spec of the main
8142         unit, or as a spec in the context of another unit.
8143
8144 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
8145
8146         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
8147         (localtime_tzoff): This routine no longer accepts an actual of type
8148         tm_Pointer.
8149         (UTC_Time_Offset): Remove local variable Secs_TM.
8150
8151         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
8152         actual of type struct tm*. Add local variable of type struct tm for all
8153         targets that provide localtime_r and need to invoke it.
8154
8155 2009-04-20  Thomas Quinot  <quinot@adacore.com>
8156
8157         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
8158         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
8159         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
8160
8161 2009-04-20  Robert Dewar  <dewar@adacore.com>
8162
8163         * sem_ch3.adb: Minor reformatting
8164
8165         * lib-load.adb: Minor reformatting
8166
8167         * sem_ch4.adb: Minor reformatting
8168
8169 2009-04-20  Robert Dewar  <dewar@adacore.com>
8170
8171         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
8172         (equal values => False).
8173
8174 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
8175
8176         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
8177         to null procedures can be inlined unconditionally.
8178
8179 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
8180
8181         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
8182         non-addressable parameter passed by reference, do not convert the
8183         actual if its type is already the nominal type, unless it is of
8184         self-referential size.
8185
8186 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
8187
8188         * gnat_ugn.texi: Fix typos.
8189
8190 2009-04-20  Robert Dewar  <dewar@adacore.com>
8191
8192         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
8193         Validate_Unchecked_Warnings to suppress warnings about size or
8194         alignment or extra bits if either type involved has pragma Warnings
8195         (Off) set for the type entity.
8196
8197 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
8198
8199         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
8200         a builtin type and give it a name.
8201
8202 2009-04-17  Diego Novillo  <dnovillo@google.com>
8203
8204         * gcc-interface/misc.c (gnat_expand_expr): Remove.
8205         (LANG_HOOKS_EXPAND_EXPR): Remove.
8206
8207 2009-04-17  Robert Dewar  <dewar@adacore.com>
8208
8209         * sem_ch3.adb: Minor reformatting
8210
8211 2009-04-17  Pascal Obry  <obry@adacore.com>
8212
8213         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
8214
8215 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8216
8217         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
8218         illegal constraints on type derived from formal discrete types.
8219
8220 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8221
8222         PR ada/35953
8223
8224         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
8225         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
8226         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
8227         g-socket.ads (GNAT.Sockets.Thin.C_Send,
8228         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
8229         Replace calls to send(2) with equivalent sendto(2) calls.
8230         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
8231         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
8232         report an error in that case. Factor code common to the two versions
8233         (datagram and stream) in common routine Stream_Write.
8234
8235 2009-04-17  Robert Dewar  <dewar@adacore.com>
8236
8237         * exp_disp.adb: Minor reformatting
8238         Minor code reorganization (use Nkind_In)
8239
8240         * prepcomp.adb: Minor reformatting
8241
8242         * sem_ch3.adb: Minor reformatting
8243
8244         * sem_res.adb: Minor comment addition
8245
8246         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
8247         for address clause
8248
8249         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
8250         setting Is_Referenced
8251
8252         * types.ads: Minor reformatting
8253
8254 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8255
8256         * gnat_ugn.texi: Initial documentation on binding generator.
8257
8258 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8259
8260         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
8261         type extensions whose parent is a type with unknown discriminants.
8262
8263         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
8264         aggregate has unknown discriminants, use the Underlying_Record_View to
8265         obtain the discriminants of the ancestor part.
8266
8267         * exp_disp.adb (Build_Dispatch_Tables): Types that are
8268         Underlying_Record_Views share the dispatching information of the
8269         original record extension.
8270
8271         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
8272         discriminants, propagate dispach table information to the
8273         Underlying_Record_View.
8274
8275         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
8276         discriminants and declaration is not a completion, generate
8277         Underlying_Record_View to provide proper discriminant information to
8278         the front-end and to gigi.
8279
8280 2009-04-17  Robert Dewar  <dewar@adacore.com>
8281
8282         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
8283         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
8284         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
8285         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
8286         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
8287         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
8288         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
8289         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
8290         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
8291         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
8292         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
8293         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
8294         s-conca3.ads: Remove unneeded pragma Warnings
8295
8296 2009-04-17  Robert Dewar  <dewar@adacore.com>
8297
8298         * g-moreex.adb: Add comments.
8299
8300         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
8301
8302         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
8303         Warnings (Off)
8304
8305         * prepcomp.adb: Add ??? comment
8306
8307         * a-tasatt.adb: Minor reformatting
8308
8309         * g-trasym-vms-alpha.adb: Add ??? comment
8310
8311         * g-trasym-vms-ia64.adb: Add ??? comment
8312
8313         * xoscons.adb: Minor reformatting
8314
8315         * s-tassta.adb: Minor reformatting
8316
8317         * s-scaval.adb: Add ??? comment
8318
8319         * stand.ads: Minor code clean up (remove junk with of Namet)
8320
8321         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
8322         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
8323         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
8324         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
8325         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
8326         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
8327         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
8328         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
8329         Warnings off pragmas.
8330
8331 2009-04-17  Pascal Obry  <obry@adacore.com>
8332
8333         * initialize.c: Fix test for reallocating the arguments array.
8334
8335 2009-04-17  Geert Bosch  <bosch@adacore.com>
8336
8337         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
8338         conversion truncate only for decimal fixed point types.
8339
8340 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
8341
8342         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
8343         reinitialized.
8344
8345 2009-04-17  Robert Dewar  <dewar@adacore.com>
8346
8347         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
8348         Backwards_OK if either operand has an address clause.
8349
8350 2009-04-17  Pascal Obry  <obry@adacore.com>
8351
8352         * initialize.c: Code clean up, use realloc.
8353
8354 2009-04-17  Pascal Obry  <obry@adacore.com>
8355
8356         * initialize.c: Do not get Unicode command line if Unicode support not
8357         activated.
8358         Add support for wildcard expansion for Unicode parameters on Win32.
8359
8360         * mingw32.h: Add missing macros when Unicode support not activated.
8361
8362 2009-04-17  Javier Miranda  <miranda@adacore.com>
8363
8364         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
8365         avoid generating code that references the Current_Master
8366         when compiling without tasks.
8367
8368 2009-04-17  Vincent Celier  <celier@adacore.com>
8369
8370         * prj-attr.adb: New project level attribute Target
8371         
8372         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
8373         attribute Target
8374         
8375         * prj.ads (Project_Configuration): New component Target
8376
8377 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8378
8379         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
8380         case for the case of an aggregate component, the attach call for the
8381         result is actually needed.
8382
8383         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
8384         an array aggregate must be disabled if the component type requires
8385         controlled actions.
8386
8387         * exp_ch3.adb: Minor reformatting
8388
8389 2009-04-17  Bob Duff  <duff@adacore.com>
8390
8391         * output.ads (Indent,Outdent): New procedures for indenting the output.
8392         (Write_Char): Correct comment -- LF _is_ allowed.
8393
8394         * output.adb (Indent,Outdent): New procedures for indenting the output.
8395         Keep track of the indentation level, and make sure it doesn't get too
8396         high.
8397         (Flush_Buffer): Insert spaces at the beginning of each line, if
8398         indentation level is nonzero.
8399         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
8400         indentation level.
8401         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
8402         "Next_Col := 1;".  Flush_Buffer does that.
8403
8404         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
8405         controlled by the -gnatdc switch. It now occurs on entry/exit to the
8406         relevant analysis routines, and calls Indent/Outdent to make the
8407         indentation reflect the nesting level.  Add "helper" routines, since
8408         otherwise lots of "return;" statements would skip the debugging output.
8409
8410 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8411
8412         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
8413         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
8414         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
8415
8416 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8417
8418         * exp_aggr.adb: Minor code reorganization, no behaviour change.
8419
8420 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8421
8422         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
8423         clause in a unit that is a package body or a subunit, when the previous
8424         clause appears in a spec or a parent.
8425
8426 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8427
8428         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
8429
8430         * exp_ch7.adb: Minor reformatting
8431
8432 2009-04-17  Bob Duff  <duff@adacore.com>
8433
8434         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
8435         allocator, check that the expression of the qualified expression obeys
8436         the constraints of the subtype of the qualified expression.
8437
8438 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8439
8440         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
8441
8442 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8443
8444         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
8445         aggregate, using context imposed by subtype mark in allocator.
8446
8447 2009-04-17  Pascal Obry  <obry@adacore.com>
8448
8449         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
8450
8451 2009-04-17  Nicolas Roche  <roche@adacore.com>
8452
8453         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
8454         argument length.
8455
8456 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
8457
8458         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
8459         cover both calls and attribute references ("call" => "reference").
8460
8461 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8462
8463         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
8464         type for which Storage_Size is set to 0 is legal in a pure unit.
8465
8466 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8467
8468         * exp_ch7.adb: Minor reformatting
8469
8470 2009-04-17  Robert Dewar  <dewar@adacore.com>
8471
8472         * restrict.adb (Check_Restriction_No_Dependence): Don't check
8473         restriction if outside main extended source unit.
8474
8475         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
8476         for parents of child units as well as the child unit itself.
8477
8478 2009-04-17  Bob Duff  <duff@adacore.com>
8479
8480         * checks.ads: Minor comment fix
8481
8482         * exp_aggr.ads: Minor comment fix
8483
8484 2009-04-17  Nicolas Roche  <roche@adacore.com>
8485
8486         * adaint.c: Improve cross compiler detection and handling.
8487
8488 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
8489
8490         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
8491
8492 2009-04-17  Pascal Obry  <obry@adacore.com>
8493
8494         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
8495         CurrentCodePage.
8496
8497         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
8498         value when no encoding form paramter is set on Text_IO services.
8499
8500         * adaint.c: CurrentCodePage new variable on Windows.
8501         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8502         ones.
8503
8504         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8505         ones.
8506
8507         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
8508         environment variable value. Default is UTF-8.
8509
8510         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
8511         fopen and freopen encoding parameter is now set to Unspecified.
8512         The default value is in this case UTF-8 (as it was before) but
8513         use the new macros that convert to/from the code page set
8514         at runtime (CurrentCodePage).
8515
8516         * s-fileio.adb: When no encoding specified use Unspecified value.
8517
8518 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8519
8520         * atree.adb, atree.ads: Remove dead code.
8521
8522 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
8523
8524         * gcc-interface/Make-lang.in: Update dependencies.
8525
8526 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8527
8528         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
8529         illegal uses of incomplete types in formal parts and return types.
8530
8531         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
8532         access to subprograms.
8533
8534         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
8535         Taft-amendment types as the return type of an access_to_function type.
8536
8537         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8538         type for access_to_subprograms. The check is performed on package exit.
8539
8540 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8541
8542         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
8543
8544         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
8545         
8546         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
8547
8548         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
8549         semantic units, because the handling of itypes in the copied tree
8550         requires semantic information that does not belong in atree.
8551
8552 2009-04-17  Robert Dewar  <dewar@adacore.com>
8553
8554         * par-ch6.adb: Minor reformatting
8555
8556         * prj.adb: Minor reformatting
8557
8558 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
8559
8560         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
8561         on protected subprogram bodies, so exclude the case where Pf_Flags is
8562         Pf_Decl_Pbod from the error check.
8563
8564         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
8565         indicators on subprograms in protected bodies, and proceed with parsing
8566         the subprogram.
8567
8568         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
8569         subprograms from the check for primitiveness on subprograms with
8570         overriding indicators.
8571         (Check_Overriding_Indicator): Include protected subprograms in the
8572         style check for missing overriding indicators.
8573
8574 2009-04-17  Tristan Gingold  <gingold@adacore.com>
8575
8576         * init.c: Fix stack checking for x86 Darwin.
8577
8578 2009-04-17  Vincent Celier  <celier@adacore.com>
8579
8580         * prj-attr.adb: New project level attribute Object_File_Suffix
8581         (<language>).
8582         
8583         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
8584         object file name
8585         (Process_Compiler): Process attribute Object_File_Suffix
8586
8587         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
8588         platform suffix, when specified.
8589
8590         * prj.ads (Language_Config): New component Object_File_Suffix,
8591         defaulted to No_Name.
8592         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
8593
8594         * snames.ads-tmpl: New standard name Object_File_Suffix
8595
8596 2009-04-17  Robert Dewar  <dewar@adacore.com>
8597
8598         * gnat_rm.texi: Add documentation about No_Streams restriction
8599
8600         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
8601         attributes when checking No_Streams restriction.
8602
8603 2009-04-17  Thomas Quinot  <quinot@adacore.com>
8604
8605         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
8606
8607         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
8608         missing calls to RE_Request_Destroy to deallocate request objects after
8609         use.
8610
8611 2009-04-17  Nicolas Setton  <setton@adacore.com>
8612
8613         * link.c: Fix support for passing a response file under Darwin.
8614
8615 2009-04-17  Emmanuel Briot  <briot@adacore.com>
8616
8617         * prj.adb (Free): new subprogram.
8618
8619 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
8620
8621         * sem_ch3.adb: additional initialization on incomplete subtypes.
8622         
8623         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
8624         part and one of the formals is an incomplete tagged type, attach to
8625         list of private dependends of the type for later validation.
8626
8627         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
8628         primitive operations of a Taft-amendmment type.
8629
8630         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8631         type. The check is performed on package exit, possibly after the
8632         subprogram is frozen.
8633
8634 2009-04-17  Vincent Celier  <celier@adacore.com>
8635
8636         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
8637         before looking for source directories, but make sure that there are nil
8638         if they are not explicitely declared and there is explicitely no
8639         sources in the project.
8640
8641 2009-04-17  Pascal Obry  <obry@adacore.com>
8642
8643         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
8644
8645         * init.c: Fix minor typo and style fix.
8646
8647 2009-04-17  Robert Dewar  <dewar@adacore.com>
8648
8649         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
8650
8651         * sem_attr.adb (Analyze_Attribute, case Address): Use
8652         PE_Address_Of_Intrinsic.
8653
8654         * types.ads: Add PE_Address_Of_Intrinsic
8655
8656         * types.h: Add PE_Address_Of_Intrinsic
8657
8658 2009-04-17  Nicolas Setton  <setton@adacore.com>
8659
8660         * gcc-interface/Makefile.in: Under darwin, build shared libraries
8661         with install_name starting with "@rpath/".
8662
8663 2009-04-17  Nicolas Setton  <setton@adacore.com>
8664
8665         * link.c: Add darwin section
8666
8667 2009-04-16  Robert Dewar  <dewar@adacore.com>
8668
8669         * g-pehage.adb: Minor reformatting
8670
8671         * sem_ch12.adb: Minor reformatting
8672
8673         * exp_dist.adb: Minor reformatting
8674
8675         * bindgen.adb: Minor style fixes.
8676
8677 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8678
8679         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
8680         indexed components to the case where the prefix is a static string
8681         literal.
8682
8683 2009-04-16  Javier Miranda  <miranda@adacore.com>
8684
8685         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
8686         objects avoid any further expansion of the expression initializing the
8687         object.
8688
8689 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8690
8691         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
8692         that hides an outer homograph, make that homograph invisible when
8693         analyzing the actuals, to to prevent illegal direct visibility on it.
8694
8695 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8696
8697         * g-pehage.adb (Initialize): Fix off-by-one error.
8698
8699 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8700
8701         * init.c: Detect real stack overflow on Darwin.
8702
8703         * system-darwin-x86.ads: Use stack probing on darwin x86.
8704
8705 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8706
8707         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
8708         take the address of an intrinsic subprogram.
8709
8710 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8711
8712         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
8713         for the targets where GNAT.Traceback.Symbolic is not supported.
8714
8715 2009-04-16  Vincent Celier  <celier@adacore.com>
8716
8717         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
8718
8719         * g-trasym.ads: Update comments.
8720
8721 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8722
8723         * tracebak.c (STOP_FRAME): Verify validity of the current address
8724         before dereferencing.
8725
8726 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8727
8728         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
8729         the original location of the index expressions and the index subtypes,
8730         to prevent spurious out-of-scope references in gigi.
8731
8732 2009-04-16  Tristan Gingold  <gingold@adacore.com>
8733
8734         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
8735         Add support for stack checking on darwin.
8736
8737 2009-04-16  Vincent Celier  <celier@adacore.com>
8738
8739         * prj-attr.adb: New attribute Runtime_Source_Dir
8740
8741         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
8742         attribute Runtime_Source_Dir.
8743         (Check_Naming_Schemes): Give default values to out parameters to avoid
8744         invalid data.
8745
8746         * prj.ads (Language_Config): New component Runtime_Source_Dir
8747
8748         * snames.ads-tmpl: New standard name Runtime_Source_Dir
8749
8750 2009-04-16  Pascal Obry  <obry@adacore.com>
8751
8752         * adaint.h, adaint.c (__gnat_rmdir): New routine.
8753         Simple wrapper routines used to convert to proper encoding on
8754         Windows.
8755
8756         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
8757
8758         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
8759         twice.
8760
8761 2009-04-16  Pascal Obry  <obry@adacore.com>
8762
8763         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
8764
8765 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8766
8767         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
8768         integrated preprocessor.
8769
8770         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
8771         (Initialize): Split into two subprograms, Initialize (to be called
8772         prior to compiler command line processing) and Setup_Hooks (to be called
8773         later on when the first source file is loaded).
8774
8775         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
8776         Add call to Prep.Initialize.
8777
8778         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
8779         to Prep.Setup_Hooks.
8780
8781 2009-04-16  Pascal Obry  <obry@adacore.com>
8782
8783         * adaint.h, adaint.c (__gnat_chdir): New routine.
8784         Simple wrapper routines used to convert to proper encoding on
8785         Windows.
8786
8787         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
8788
8789         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
8790
8791 2009-04-16  Quentin Ochem  <ochem@adacore.com>
8792
8793         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
8794         of Source.Init.
8795
8796 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8797
8798         * a-convec.ads (Is_Empty): Mark inline.
8799
8800 2009-04-16  Nicolas Roche  <roche@adacore.com>
8801
8802         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
8803
8804 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8805
8806         * prepcomp.adb: Minor reformatting
8807
8808 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8809
8810         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
8811         Access_Subprogram types can also be imported.
8812         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
8813         names.
8814
8815 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8816
8817         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
8818         preserve homonym chain when the declaration is rewritten into a
8819         renaming declaration, in order to preserve visibility structure.
8820
8821 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8822
8823         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
8824         taken into account for VM targets.
8825
8826 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8827
8828         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
8829         Year_Week_In_Year.
8830         (Year_Week_In_Year): New routine which contains the original code from
8831         Week_In_Year. Add the missing special case for January 1st falling on
8832         a Monday.
8833
8834 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8835
8836         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
8837         actual type, use the base type to build the To_Any function.
8838         (Build_From_Any_Function): Remove junk, useless subtype conversion.
8839
8840 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8841
8842         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
8843         restrict.adb: Minor code reorganization (use
8844         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
8845
8846 2009-04-16  Bob Duff  <duff@adacore.com>
8847
8848         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
8849         unused.
8850
8851 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8852
8853         * sem_ch4.adb: Minor reformatting
8854
8855         * adaint.c: Remove junk duplicated code.
8856
8857         * sem_ch3.adb: Minor reformatting
8858
8859         * exp_dist.adb: Minor comment rewording
8860
8861 2009-04-16  Robert Dewar  <dewar@adacore.com>
8862
8863         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
8864         used together.
8865
8866 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8867
8868         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
8869         usable before calling Add_One_Interp, to resolve spurious ambiguities.
8870
8871 2009-04-16  Robert Dewar  <dewar@adacore.com>
8872
8873         * Make-lang.in: Add entries for s-conca?.o
8874
8875         * Makefile.rtl: Add entries for s-conca?
8876
8877         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
8878         of concatenation expansion
8879
8880         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
8881         string cases instead of expanding assignments inline.
8882
8883         * opt.ads (Optimize_Size): New flag
8884
8885         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
8886         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
8887         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
8888         s-conca9.adb, s-conca9.ads: New file.
8889
8890 2009-04-16  Robert Dewar  <dewar@adacore.com>
8891
8892         * exp_ch6.adb: Add comments
8893
8894         * rtsfind.ads: Add entries for s-conca? routines
8895
8896 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
8897
8898         * gcc-interface/Make-lang.in: Update dependencies.
8899
8900         * gcc-interface/Makefile.in: Update translation for vms.
8901
8902 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8903
8904         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
8905         and made global, to be used when installing parents of a child
8906         instance, to provide mappings for entities declared in formal packages
8907         of ancestor units. Now called from Install_Formal_Packages.
8908
8909 2009-04-16  Doug Rupp  <rupp@adacore.com>
8910
8911         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
8912         notation for clarity.
8913
8914         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
8915         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
8916         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
8917         (Initialize): Initialize Known_Tasks with Environment task.
8918
8919         * s-taskin.ads (Task_States): Move new states to end for the sake of
8920         GDB compatibility.
8921
8922         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
8923
8924 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
8925
8926         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
8927         operation has an inline pragma, propagate the flag to the internal
8928         unprotected subprogram.
8929
8930 2009-04-16  Doug Rupp  <rupp@adacore.com>
8931
8932         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
8933         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
8934         s-taprop-hpux-dce.adb, s-taprop-posix.adb
8935         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
8936
8937         * s-taprop-vms.adb (Enter_Task): Likewise.
8938         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
8939
8940         * s-tassta.adb (Activate_Tasks): After task creation set state to
8941         Activating, vice Runnable. Initialize Known_Tasks, moved here from
8942         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
8943         Set state to Runnable after above.
8944         (Task_Wrapper): Set Debug_Event_Run. In exception block set
8945         Debug_Event_Terminated.
8946
8947         * s-taskin.ads (Task_States): Add new states Activiting and
8948         Activator_Delay_Sleep.
8949         (Bit_Array, Debug_Event_Array): New types.
8950         (Global_Task_Debug_Event_Set: New flag.
8951         (Common_ATCB): New field Debug_Events.
8952
8953         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
8954
8955         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
8956         Activator_Sleep.
8957
8958         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
8959         Activating and when Acceptor_Delay_Sleep.
8960
8961         * s-tasdeb.ads: Add constants for Debug_Events.
8962         (Debug_Event_Kind_Type): New subtype.
8963         (Signal_Debug_Event): New subprogram.
8964
8965         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
8966
8967 2009-04-16  Thomas Quinot  <quinot@adacore.com>
8968
8969         * sem_elim.adb: Minor reformatting
8970
8971         * freeze.adb: Minor reformatting
8972
8973         * exp_ch4.adb: Minor reformatting
8974
8975 2009-04-16  Emmanuel Briot  <briot@adacore.com>
8976
8977         * prj-nmsc.adb (Path_Name_Of): fix memory leak
8978
8979 2009-04-16  Robert Dewar  <dewar@adacore.com>
8980
8981         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
8982
8983 2009-04-16  Vincent Celier  <celier@adacore.com>
8984
8985         * fmap.adb (Initialize): Show the current line when the mapping file
8986         is detected as "incorrectly formatted".
8987
8988 2009-04-16  Robert Dewar  <dewar@adacore.com>
8989
8990         * sem_ch12.adb: Minor reformatting
8991
8992         * sem_ch5.adb: Minor comment addition
8993
8994         * sem_util.adb: Minor reformatting
8995
8996         * sinput-p.adb: Minor reformatting
8997         Add missing pragma Warnings (On)
8998
8999 2009-04-16  Ed Falis  <falis@adacore.com>
9000
9001         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
9002
9003 2009-04-16  Vincent Celier  <celier@adacore.com>
9004
9005         * ali-util.adb: Minor comment spelling error fix
9006
9007 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
9008
9009         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
9010         generate an assignment loop in case of overlap.
9011
9012 2009-04-16  Olivier Hainque  <hainque@adacore.com>
9013
9014         * gnat_ugn.texi (gnatmem description): Make it explicit that
9015         gnatmem is designed to work in association with static runtime
9016         library only.
9017
9018 2009-04-16  Thomas Quinot  <quinot@adacore.com>
9019
9020         * sem_type.adb: Minor reformatting
9021
9022 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
9023
9024         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
9025         concerning return codes of gettimeofday and return value check.
9026
9027 2009-04-16  Ed Falis  <falis@adacore.com>
9028
9029         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
9030         body can be renaming of imported routines.
9031
9032 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
9033
9034         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
9035         targeted fashion.
9036
9037 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9038
9039         * exp_ch9.adb: Comment improvements.
9040         (Build_Entry_Family_Name): Add parentheses around the index of a entry
9041         family member.
9042
9043 2009-04-15  Bob Duff  <duff@adacore.com>
9044
9045         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
9046         "while X /= null loop" where X is unchanged inside the loop. We were
9047         not warning in this case, because of the pointers -- we feared that the
9048         loop variable could be updated via a pointer, if there are any pointers
9049         around the place. But that is impossible in this case.
9050
9051         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
9052         the case of dereferences. In X.all, X cannot be an l-value. We now
9053         catch that case (and implicit dereferences, too).
9054
9055 2009-04-15  Vincent Celier  <celier@adacore.com>
9056
9057         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
9058
9059 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9060
9061         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
9062         From code reading.
9063         (Analyze_Package_Instantiation): If generic unit in child instance is
9064         the same as generic unit in parent instance, look for an outer homonym
9065         to locate the desired generic.
9066
9067 2009-04-15  Bob Duff  <duff@adacore.com>
9068
9069         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
9070         warnings unless the loop comes from source, because checking generated
9071         loops is a waste of time, and makes it harder to debug
9072         Check_Infinite_Loop_Warning.
9073
9074         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
9075         tested in the while loop is a renaming, do not warn. Otherwise, we get
9076         false alarms, because it's usually renaming something that we can't
9077         deal with (an indexed component, a global variable, ...).
9078
9079         * gnat_rm.texi: Fix typo
9080
9081 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9082
9083         * sem_ch6.adb: Minor reformatting
9084
9085 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9086
9087         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
9088         immediate parent of the controlled function call is a component
9089         association.
9090
9091 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9092
9093         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
9094         corresponding class-wide type is also in use.
9095
9096 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9097
9098         * frontend.adb: Minor comment fix
9099
9100 2009-04-15  Robert Dewar  <dewar@adacore.com>
9101
9102         * gnatchop.adb (BOM_Length): New global variable
9103         (Write_Unit): Add new parameter Write_BOM
9104         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
9105         to Write_Unit
9106
9107         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
9108
9109 2009-04-15  Geert Bosch  <bosch@adacore.com>
9110
9111         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
9112         (Backend_Overflow_Checks): Set to True.
9113
9114 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
9115
9116         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
9117         keyword is given in a record extension.
9118
9119 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9120
9121         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
9122         of a controlled function call in the context of a record aggregate.
9123         This does not apply to array aggregates since the call will be expanded
9124         into assignments.
9125
9126 2009-04-15  Ed Falis  <falis@adacore.com>
9127
9128         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
9129         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
9130         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
9131         s-osinte-vxworks* and s-vxwext*.
9132
9133 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9134
9135         * gcc-interface/Make-lang.in: Update dependencies.
9136
9137         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
9138         and s-vxwext*.
9139
9140 2009-04-15  Robert Dewar  <dewar@adacore.com>
9141
9142         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
9143         of node for location for warning messages.
9144
9145         * gnatchop.adb: Minor reformatting
9146
9147 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9148
9149         * exp_ch6.adb: additional guard for renaming declarations for in
9150         parameters of an array type.
9151
9152 2009-04-15  Robert Dewar  <dewar@adacore.com>
9153
9154         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
9155         in case they were rewritten by expander (Force_Evaluation).
9156
9157         * targparm.adb (Get_Target_Parameters): Correct check for
9158         Suppress_Exception_Locations.
9159
9160 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9161
9162         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
9163         inlined  is of an array type that is not bit-packed, use a renaming
9164         declaration to capture its value, rather than a constant declaration.
9165
9166 2009-04-15  Robert Dewar  <dewar@adacore.com>
9167
9168         * rtsfind.adb: Minor reformatting.
9169
9170 2009-04-15  Emmanuel Briot  <briot@adacore.com>
9171
9172         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
9173         Restore, and free the saved context.
9174
9175 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
9176
9177         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
9178         for illegal private extension from a synchronized interface parent in
9179         front of check for illegal limited extension so that limited extension
9180         from a synchronized interface will be rejected.
9181         (Check_Ifaces): Check that a private extension that has a synchronized
9182         interface as a progenitor must be explicitly declared synchronized.
9183         Also check that a record extension cannot derive from a synchronized
9184         interface.
9185
9186 2009-04-15  Pascal Obry  <obry@adacore.com>
9187
9188         * adaint.h (__gnat_unlink): Add spec.
9189         (__gnat_rename): Likewise.
9190
9191 2009-04-15  Vincent Celier  <celier@adacore.com>
9192
9193         * prj-nmsc.adb: Minor spelling error corrections in error messages
9194
9195 2009-04-15  Robert Dewar  <dewar@adacore.com>
9196
9197         * sinfo.ads: Minor comment update
9198
9199         * opt.ads: Minor comment updates
9200
9201         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
9202         modular type.
9203
9204 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9205
9206         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
9207         that generates the code needed to update a dispatch table when a
9208         primitive operation is declared with a subprogram body without previous
9209         spec. Insertion of the generated code is responsibility of the caller.
9210         (Make_DT): When building static tables, append the code created by
9211         Register_Primitive to update a secondary table after it has been
9212         constructed.
9213
9214         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
9215
9216         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
9217         on an overriding operation that implements an interface operation only
9218         if not building static dispatch tables.
9219
9220 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9221
9222         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
9223         does not cause overflow when converted to Duration. Use the safe value
9224         as the maximum allowable time delay..
9225
9226 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
9227
9228         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
9229         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
9230         translated to "-j 2".
9231
9232 2009-04-15  Bob Duff  <duff@adacore.com>
9233
9234         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
9235         with_clauses, to avoid code duplication. Change this processing so we
9236         always add a with_clause on the main unit if needed.
9237
9238 2009-04-15  Pascal Obry  <obry@adacore.com>
9239
9240         Add support for Win32 native encoding for delete/rename routines.
9241         
9242         * adaint.c (__gnat_unlink): New routine.
9243         (__gnat_rename): New routine.
9244         Simple wrapper routines used to convert to proper encoding on
9245         Windows.
9246
9247         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
9248         call to the C library.
9249
9250         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
9251
9252 2009-04-15  Robert Dewar  <dewar@adacore.com>
9253
9254         * s-tassta.adb: Minor reformatting
9255
9256 2009-04-15  Robert Dewar  <dewar@adacore.com>
9257
9258         * frontend.adb (Frontend): Set proper default for
9259         Warn_On_Non_Local_Exception.
9260
9261         * opt.ads (Exception_Handler_Encountered): New flag
9262         (No_Warn_On_Non_Local_Exception): New flag
9263
9264         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
9265
9266         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
9267         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
9268
9269 2009-04-15  Cyrille Comar  <comar@adacore.com>
9270
9271         * s-tassta.adb, a-exextr.adb, a-elchha.adb
9272         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
9273         message when exception traces are active since it would generate
9274         redundant information.
9275         (Exception_Traces.Notify_Exception): put message output by a critical
9276         section to avoid unsynchronized output.
9277         (Trace_Unhandled_Exception_In_Task): put message output by a critical
9278         section to avoid unsynchronized output.
9279
9280 2009-04-15  Emmanuel Briot  <briot@adacore.com>
9281
9282         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
9283         (Free): New subprogram.
9284
9285 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9286
9287         * a-calend.adb: Add new constant Nanos_In_Four_Years.
9288         (Formatting_Operations.Time_Of): Change the way four year chunks of
9289         nanoseconds are added to the intermediate result.
9290
9291 2009-04-15  Nicolas Setton  <setton@adacore.com>
9292
9293         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
9294         does not need to wait for a carriage return.
9295
9296 2009-04-15  Tristan Gingold  <gingold@adacore.com>
9297
9298         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
9299         is set.
9300
9301 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9302
9303         * freeze.adb (Freeze_Entity): improve error message for improper use of
9304         incomplete types.
9305         Diagnose additional illegal uses of incomplete types in formal parts.
9306         appearing in formal parts.
9307
9308         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
9309
9310 2009-04-15  Robert Dewar  <dewar@adacore.com>
9311
9312         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
9313
9314 2009-04-15  Nicolas Roche  <roche@adacore.com>
9315
9316         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
9317         current thread.
9318
9319         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
9320
9321         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
9322
9323 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9324
9325         * sem_ch4.adb: improve error message on exponentiation.
9326
9327 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9328
9329         * a-calend.adb: Move constant Epoch_Offset from package
9330         Conversion_Operations to top level.
9331         (Delay_Operations.To_Duration): Define a constant which represents
9332         "end of time" and use it as a guard against very distant delay dates.
9333         Protect the code against overflow when performing the origin shift to
9334         Unix time.
9335
9336 2009-04-15  Robert Dewar  <dewar@adacore.com>
9337
9338         * sem_prag.adb: Minor reformatting.
9339
9340         * sem_type.adb: Minor reformatting
9341
9342 2009-04-15  Javier Miranda  <miranda@adacore.com>
9343
9344         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
9345         support to check eliminated subprograms.
9346
9347         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
9348
9349         * sem_elim.adb (Set_Eliminated): Add support for elimination of
9350         dispatching subprograms.
9351
9352         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
9353         operations. Initialize with "null" the slots of eliminated dispaching
9354         primitives.
9355         (Write_DT): Add output for eliminated primitives.
9356
9357         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
9358
9359 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9360
9361         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
9362         the second is redundant, regardless of scopes.
9363
9364 2009-04-15  Vincent Celier  <celier@adacore.com>
9365
9366         * prj-nmsc.adb (Get_Directories): Check for sources before checking
9367         the object directory as when there are no sources, they may not be any
9368         object directory.
9369
9370         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
9371         directory, when there are no exec directory.
9372
9373 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9374
9375         * sem_type.adb (Remove_Conversions): In order to resolve spurious
9376         ambiguities, refine removal of universal interpretations from complex
9377         expressions with literal arguments, when some numeric operators have
9378         been declared abstract.
9379
9380 2009-04-15  Ed Falis  <falis@adacore.com>
9381
9382         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
9383         and backward compatibility for targets using probing for stack overflow
9384
9385 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9386
9387         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
9388         after any declaration, including renaming declarations.
9389
9390 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9391
9392         * gcc-interface/Make-lang.in: Update dependencies.
9393
9394         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
9395         Update xenomai target pairs.
9396
9397 2009-04-15  Javier Miranda  <miranda@adacore.com>
9398
9399         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
9400
9401         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
9402         functions returning anonymous access to class-wide limited types. Mark
9403         also the containing scope as a task master.
9404
9405         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
9406         limited-withed packages. Required to restore their visibility after
9407         processing packages associated with implicit with-clauses.
9408
9409         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
9410         associated with return statements because this work is now done by
9411         Check_Anonymous_Return.
9412         (Build_Master): Code cleanup.
9413
9414 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9415
9416         * sem_warn.ads: Minor reformatting
9417
9418 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9419
9420         * sem_ch3.adb: better error message for illegal interfaces
9421
9422         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
9423         formal is an incomplete type from a limited_with clause.
9424
9425 2009-04-15  Vincent Celier  <celier@adacore.com>
9426
9427         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
9428         Externally_Built indicating if the project is externally built. If it
9429         is, and --subdirs is specified, but the subdir does not exist, look
9430         for the specified directory, without the subdir.
9431
9432 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
9433
9434         * a-tasatt.adb: Fix typo, plus minor reformatting
9435
9436         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
9437
9438         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
9439
9440 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9441
9442         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
9443         private extension whose parent is a synchronized interface carries an
9444         explicit synchronized keyword.
9445
9446 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9447
9448         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
9449         instantiate generic shared object package with the corresponding
9450         record type.
9451
9452 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
9453
9454         * system-linux-sparc.ads: Remove obsolete entries.
9455
9456 2009-04-15  Thomas Quinot  <quinot@adacore.com>
9457
9458         * s-tasuti.ads: Add ??? comment
9459
9460 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
9461
9462         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
9463         type even if the designated type comes from a limited_with clause, to
9464         ensure that the symbol for the finalization list of the access type is
9465         created.
9466
9467 2009-04-10  Robert Dewar  <dewar@adacore.com>
9468
9469         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
9470         for warning suppression.
9471
9472 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9473
9474         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
9475         identical, there is no redudancy to check.
9476
9477 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9478
9479         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
9480         calls initializing SS_Allocator (which is initialized in following
9481         code).
9482         (Expand_Simple_Function_Return): Add comment about False value for
9483         Comes_From_Source on secondary-stack allocator.
9484
9485         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
9486         (Build_Entry_Name): Add comment.
9487
9488 2009-04-10  Robert Dewar  <dewar@adacore.com>
9489
9490         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
9491
9492         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
9493         bound tested, since this is now done more generally in Sem_Res.
9494
9495         * sem_res.adb (Resolve_Comparison_Op): Add call to
9496         Check_Lower_Bound_Tested.
9497         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
9498
9499         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
9500         (Low_Bound_Tested): New name for Low_Bound_Known flag
9501
9502         * exp_ch5.adb: Minor reformatting
9503
9504         * exp_ch4.adb:
9505         Add comments on copying the Comes_From_Source flag for allocators
9506
9507         * sinfo.ads:
9508         Add comments on copying the Comes_From_Source flag for allocators
9509
9510         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
9511         Comes_From_Source flag from old allocator to new one.
9512
9513 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9514
9515         * sem_ch6.ads: Address missing documentation query
9516
9517 2009-04-10  Vincent Celier  <celier@adacore.com>
9518
9519         * prj-attr.adb:
9520         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
9521         and Response_File_Switches.
9522
9523         * prj-nmsc.adb (Process_Linker): Process new attributes
9524         Max_Command_Line_Length, Response_File_Format and
9525         Response_File_Switches.
9526
9527         * prj.ads (Response_File_Format): New enumeration type
9528         (Project_Configuration): New componants Max_Command_Line_Length,
9529         Resp_File_Format and Resp_File_Options.
9530
9531         * snames.ads-tmpl: Add new standard names for linking response files
9532         for gprbuild: GNU, None, Object_List, Option_List,
9533         Max_Command_Line_Length, Response_File_Format and
9534         Response_File_Switches.
9535
9536 2009-04-10  Geert Bosch  <bosch@adacore.com>
9537
9538         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
9539         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
9540         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
9541         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
9542         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
9543         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
9544         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
9545         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
9546         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
9547         system-vxworks-arm.ads, system-vxworks-m68k.ads,
9548         system-vxworks-mips.ads, system-vxworks-ppc.ads,
9549         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
9550         (Backend_Overflow_Checks): Set to True.
9551
9552 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9553
9554         * exp_attr.adb: Minor reformatting
9555
9556 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9557
9558         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
9559         analyze the expression for a postcondition, even if the compiler mode
9560         is Generate_Code.
9561
9562 2009-04-10  Robert Dewar  <dewar@adacore.com>
9563
9564         * sem_aux.adb: Minor reformatting
9565
9566 2009-04-10  Ed Falis  <falis@adacore.com>
9567
9568         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
9569
9570         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
9571
9572 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9573
9574         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
9575         undocumented formal.
9576         Minor reformatting
9577
9578         * a-direio.ads: Fix typo in comment
9579
9580         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
9581         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
9582         Use uniform phrasing for comment at start of subprogram body.
9583
9584         * xsnamest.adb: Add note to explain why we use specific names for the
9585         newly generated files instead of generating snames.{ads,adb,h} directly
9586
9587 2009-04-10  Sergey Rybin  <rybin@adacore.com>
9588
9589         * vms_data.ads:
9590         Add qualifier for new gnatstub option '--no-exception'
9591
9592         * gnat_ugn.texi:
9593         Add the description of the new gnatstub option '--no-exception'
9594
9595 2009-04-10  Robert Dewar  <dewar@adacore.com>
9596
9597         * rtsfind.adb: Minor reformatting
9598
9599 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9600
9601         * sem_disp.adb: Minor reformatting.
9602         Add comment pointing to RM clause for the case of warning against a
9603         (failed) attempt at declaring a primitive operation elsewhere than in a
9604         package spec.
9605
9606 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9607
9608         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
9609         an actual for a previous formal package of the current instance.
9610
9611 2009-04-10  Bob Duff  <duff@adacore.com>
9612
9613         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
9614         them first, rather than on the extended main unit.
9615
9616 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9617
9618         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
9619         specification of full view carries a null exclusion indicator, create
9620         an itype for it, to check for conformance with partial view.
9621
9622 2009-04-10  Bob Duff  <duff@adacore.com>
9623
9624         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
9625
9626         * rtsfind.adb: Minor comment changes, and remove useless code.
9627
9628         * sinfo.ads: Add ??? comment.
9629
9630 2009-04-10  Vincent Celier  <celier@adacore.com>
9631
9632         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
9633
9634 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9635
9636         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
9637         type is a synchronized type, retrieve tag information from the
9638         corresponding record, which has the dispatch table link.
9639
9640 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
9641
9642         * g-comlin.adb (Group_Analysis): Take care of switches that might be
9643         decomposed afterwards, but are present as-is in the command line
9644         configuration, and thus should be kept as-is.
9645
9646 2009-04-10  Robert Dewar  <dewar@adacore.com>
9647
9648         * gnat_rm.texi: Document that postconditions are tested on implicit
9649         returns.
9650
9651         * sem_aux.adb: Minor reformatting
9652
9653 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9654
9655         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
9656         setting Etype.
9657         
9658         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
9659         Null_Exclusion_In_Return_Present when an access-to-function type has a
9660         result type with an explicit not null.
9661
9662         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
9663         given on the result type, then create a null-excluding itype for the
9664         function.
9665
9666         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
9667         the case where a null exclusion is imposed on a named access type.
9668         (Analyze_Subprogram_Specification): Push and pop the scope of the
9669         function around the call to Analyze_Return_Type in the case of no
9670         formals, for consistency with handling when formals are present
9671         (Process_Formals does this). Ensures that any itype created for the
9672         return type will be associated with the proper scope.
9673
9674         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
9675         exclusion is given on a generic function's result type, then create a
9676         null-excluding itype for the generic function.
9677         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
9678         for an actual for a formal in object according to the setting on the
9679         formal. Ensures null exclusion checks are done when the association is
9680         elaborated.
9681
9682         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
9683         N_Access_Function_Definition.
9684
9685         * sinfo.adb: Add Get_ and Set_ operations for
9686         Null_Exclusion_In_Return_Present.
9687
9688 2009-04-10  Bob Duff  <duff@adacore.com>
9689
9690         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
9691         call to the _Postconditions procedure in the case of implicit returns
9692         from analysis to expansion. This eliminates some duplicated code. Use
9693         the Postcondition_Proc to find the identity of this procedure during
9694         expansion.
9695
9696 2009-04-10  Robert Dewar  <dewar@adacore.com>
9697
9698         * sem_ch6.adb: Minor code clean up.
9699
9700         * einfo.ads, sem_attr.adb: Minor comment fixes.
9701
9702 2009-04-10  Robert Dewar  <dewar@adacore.com>
9703
9704         * sem_ch8.adb: Minor reformatting
9705
9706 2009-04-10  Robert Dewar  <dewar@adacore.com>
9707
9708         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
9709         procedures.
9710
9711         * sem_ch6.adb: Minor code clean up.
9712
9713 2009-04-10  Robert Dewar  <dewar@adacore.com>
9714
9715         * mlib-tgt-specific-xi.adb: Minor reformatting
9716
9717 2009-04-10  Bob Duff  <duff@adacore.com>
9718
9719         * einfo.ads: Minor comment fixes
9720
9721 2009-04-10  Vincent Celier  <celier@adacore.com>
9722
9723         * snames.ads-tmpl: Remove names that are no longer used in the
9724         Project Manager.
9725         Mark specifically those that are used only in gprbuild
9726
9727 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
9728
9729         * init.c: Adjust EH support code on Alpha/Tru64.
9730
9731 2009-04-10  Bob Duff  <duff@adacore.com>
9732
9733         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
9734         procedure on every path that could return implicitly (not via a return
9735         statement) from a procedure.
9736
9737 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9738
9739         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
9740         valid scope for a task declarations and therefore for a master id.
9741
9742 2009-04-10  Robert Dewar  <dewar@adacore.com>
9743
9744         * sem_aux.adb: Minor reformatting
9745
9746 2009-04-10  Vincent Celier  <celier@adacore.com>
9747
9748         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
9749         True.
9750         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
9751         (Set_Obsolescent_Check): New procedure to change the value of
9752         Obsolescent_Check_Flag.
9753
9754         * scn.ads (Set_Obsolescent_Check): New procedure to control
9755         Obsolescent_Check.
9756
9757         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
9758         obsolescent features while preprocessing.
9759
9760 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9761
9762         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
9763         generated files on all platforms.
9764
9765 2009-04-10  Robert Dewar  <dewar@adacore.com>
9766
9767         * sem_aux.adb: Minor reformatting
9768
9769 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9770
9771         * sem_ch3.adb (Access_Definition): Handle properly the case of a
9772         protected function with formals that returns an anonymous access type.
9773
9774 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9775
9776         * sem_disp.adb: Minor reformatting
9777
9778 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
9779
9780         * seh_init.c: Do not use the 32-bit specific implementation of
9781         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
9782         version TBD).
9783
9784 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9785
9786         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
9787         a '/' at the end so we better use the complete target name to determine
9788         whether it is a PowerPC 55xx target.
9789
9790 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9791
9792         * sem_eval.adb: Minor reformatting
9793
9794 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9795
9796         * snames.h, snames.ads, snames.adb: Remove files, now generated from
9797         templates.
9798
9799         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
9800         above.
9801
9802         * xsnamest.adb: New file.
9803
9804         * gcc-interface/Make-lang.in: New target for automated generation of
9805         snames.ads, snames.adb and snames.h
9806
9807 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9808
9809         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
9810         avoid compile time warnings.
9811         Do not add gcc/config in include search list while compiling the RTS.
9812         Pragma Thread_Local_Storage is available on any target.
9813
9814 2009-04-10  Bob Duff  <duff@adacore.com>
9815
9816         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
9817
9818 2009-04-10  Tristan Gingold  <gingold@adacore.com>
9819
9820         * init.c: Install signal handler on Darwin.
9821
9822 2009-04-10  Robert Dewar  <dewar@adacore.com>
9823
9824         * sem_prag.adb: Minor reformatting
9825
9826         * exp_util.adb (Make_Non_Empty_Check): New function
9827         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
9828         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
9829
9830 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
9831
9832         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
9833
9834 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9835
9836         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
9837         tool prefix for AVR and PowerPC 55xx targets.
9838
9839 2009-04-10  Robert Dewar  <dewar@adacore.com>
9840
9841         * sem_warn.adb (Within_Postcondition): New function
9842         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
9843
9844 2009-04-10  Robert Dewar  <dewar@adacore.com>
9845
9846         * sem_warn.adb: Minor reformatting
9847
9848         * make.adb: Minor reformatting.
9849
9850 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
9851
9852         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
9853         entity and the scope is a subprogram, retrieve the Sloc of the
9854         subprogram's body rather than using the sloc of the spec, for better
9855         line-stepping behavior in gdb.
9856         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
9857         controller, use the Sloc of the first declaration of the containing list
9858         rather than that of the node that triggered creation of the list
9859         controller.
9860
9861 2009-04-10  Vincent Celier  <celier@adacore.com>
9862
9863         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
9864         to avoid gcc warning.
9865
9866 2009-04-10  Robert Dewar  <dewar@adacore.com>
9867
9868         * g-comlin.adb: Add ??? comment
9869
9870 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9871
9872         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
9873         unreferenced entities for a package with no visible declarations.
9874
9875 2009-04-10  Robert Dewar  <dewar@adacore.com>
9876
9877         * exp_ch9.adb: Minor reformatting
9878
9879 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9880
9881         * sem_prag.adb: Minor reformatting
9882
9883 2009-04-10  Vincent Celier  <celier@adacore.com>
9884
9885         * prj-nmsc.adb:
9886         (Check_Library_Attributes): For a project qualified as a library project
9887         that is not a library project, indicate in the error message which
9888         attributes are missing (Library_Dir and/or Library_Name).
9889
9890 2009-04-10  Bob Duff  <duff@adacore.com>
9891
9892         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
9893         generated nodes, because it might confuse various circuits in the FE.
9894
9895 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
9896
9897         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
9898         of pragma. It will be recopied and analyzed when used in call to
9899         Create_Task.
9900
9901         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
9902         initialization operations and recognize use of it in procedure calls
9903         within init_procs.
9904
9905         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
9906         argument, because it may have side-effects.
9907
9908         * exp_ch2.adb: Remove obsolete comments on default functions
9909
9910 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
9911
9912         * adaint.c (RTX section): Do for RTX the same thing as we do for
9913         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
9914
9915 2009-04-10  Robert Dewar  <dewar@adacore.com>
9916
9917         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
9918
9919         * sem_res.adb (Resolve_Call): Fix test for
9920         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
9921         a non-dynamic scope).
9922
9923 2009-04-10  Robert Dewar  <dewar@adacore.com>
9924
9925         * make.adb: Add comment.
9926         Minor reformatting
9927
9928 2009-04-10  Nicolas Setton  <setton@adacore.com>
9929
9930         * s-osprim-darwin.adb: New file.
9931
9932         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
9933
9934 2009-04-10  Thomas Quinot  <quinot@adacore.com>
9935
9936         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
9937
9938 2009-04-09  Nick Clifton  <nickc@redhat.com>
9939
9940         * adadecode.h: Change copyright header to refer to version
9941         3 of the GNU General Public License with version 3.1 of the
9942         GCC Runtime Library Exception and to point readers at the
9943         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
9944         page.
9945         * 9drpc.adb: Likewise.
9946         * a-assert.adb: Likewise.
9947         * a-astaco.adb: Likewise.
9948         * a-calari.adb: Likewise.
9949         * a-calcon.adb: Likewise.
9950         * a-calcon.ads: Likewise.
9951         * a-caldel.ads: Likewise.
9952         * a-calend-vms.adb: Likewise.
9953         * a-calend-vms.ads: Likewise.
9954         * a-calend.adb: Likewise.
9955         * a-calend.ads: Likewise.
9956         * a-calfor.adb: Likewise.
9957         * a-catizo.adb: Likewise.
9958         * a-cdlili.adb: Likewise.
9959         * a-cdlili.ads: Likewise.
9960         * a-cgaaso.adb: Likewise.
9961         * a-cgaaso.ads: Likewise.
9962         * a-cgarso.adb: Likewise.
9963         * a-cgcaso.adb: Likewise.
9964         * a-chacon.adb: Likewise.
9965         * a-chacon.ads: Likewise.
9966         * a-chahan.adb: Likewise.
9967         * a-chahan.ads: Likewise.
9968         * a-chlat9.ads: Likewise.
9969         * a-chtgke.adb: Likewise.
9970         * a-chtgke.ads: Likewise.
9971         * a-chtgop.adb: Likewise.
9972         * a-chtgop.ads: Likewise.
9973         * a-chzla1.ads: Likewise.
9974         * a-chzla9.ads: Likewise.
9975         * a-cidlli.adb: Likewise.
9976         * a-cidlli.ads: Likewise.
9977         * a-cihama.adb: Likewise.
9978         * a-cihama.ads: Likewise.
9979         * a-cihase.adb: Likewise.
9980         * a-cihase.ads: Likewise.
9981         * a-ciorma.adb: Likewise.
9982         * a-ciorma.ads: Likewise.
9983         * a-ciormu.adb: Likewise.
9984         * a-ciormu.ads: Likewise.
9985         * a-ciorse.adb: Likewise.
9986         * a-ciorse.ads: Likewise.
9987         * a-clrefi.adb: Likewise.
9988         * a-clrefi.ads: Likewise.
9989         * a-cohama.adb: Likewise.
9990         * a-cohama.ads: Likewise.
9991         * a-cohase.adb: Likewise.
9992         * a-cohase.ads: Likewise.
9993         * a-cohata.ads: Likewise.
9994         * a-coinve.adb: Likewise.
9995         * a-coinve.ads: Likewise.
9996         * a-colien.adb: Likewise.
9997         * a-colien.ads: Likewise.
9998         * a-colire.adb: Likewise.
9999         * a-colire.ads: Likewise.
10000         * a-comlin.adb: Likewise.
10001         * a-comlin.ads: Likewise.
10002         * a-convec.adb: Likewise.
10003         * a-convec.ads: Likewise.
10004         * a-coorma.adb: Likewise.
10005         * a-coorma.ads: Likewise.
10006         * a-coormu.adb: Likewise.
10007         * a-coormu.ads: Likewise.
10008         * a-coorse.adb: Likewise.
10009         * a-coorse.ads: Likewise.
10010         * a-coprnu.adb: Likewise.
10011         * a-coprnu.ads: Likewise.
10012         * a-crbltr.ads: Likewise.
10013         * a-crbtgk.adb: Likewise.
10014         * a-crbtgk.ads: Likewise.
10015         * a-crbtgo.adb: Likewise.
10016         * a-crbtgo.ads: Likewise.
10017         * a-crdlli.adb: Likewise.
10018         * a-crdlli.ads: Likewise.
10019         * a-cwila1.ads: Likewise.
10020         * a-cwila9.ads: Likewise.
10021         * a-decima.adb: Likewise.
10022         * a-decima.ads: Likewise.
10023         * a-diocst.adb: Likewise.
10024         * a-diocst.ads: Likewise.
10025         * a-direct.adb: Likewise.
10026         * a-direct.ads: Likewise.
10027         * a-direio.adb: Likewise.
10028         * a-direio.ads: Likewise.
10029         * a-dirval-mingw.adb: Likewise.
10030         * a-dirval-vms.adb: Likewise.
10031         * a-dirval.adb: Likewise.
10032         * a-dirval.ads: Likewise.
10033         * a-dynpri.adb: Likewise.
10034         * a-einuoc.adb: Likewise.
10035         * a-einuoc.ads: Likewise.
10036         * a-elchha.adb: Likewise.
10037         * a-elchha.ads: Likewise.
10038         * a-envvar.adb: Likewise.
10039         * a-excach.adb: Likewise.
10040         * a-except-2005.adb: Likewise.
10041         * a-except-2005.ads: Likewise.
10042         * a-except.adb: Likewise.
10043         * a-except.ads: Likewise.
10044         * a-excpol-abort.adb: Likewise.
10045         * a-excpol.adb: Likewise.
10046         * a-exctra.adb: Likewise.
10047         * a-exctra.ads: Likewise.
10048         * a-exetim-mingw.adb: Likewise.
10049         * a-exetim-mingw.ads: Likewise.
10050         * a-exexda.adb: Likewise.
10051         * a-exexpr-gcc.adb: Likewise.
10052         * a-exexpr.adb: Likewise.
10053         * a-exextr.adb: Likewise.
10054         * a-exstat.adb: Likewise.
10055         * a-filico.adb: Likewise.
10056         * a-filico.ads: Likewise.
10057         * a-finali.adb: Likewise.
10058         * a-finali.ads: Likewise.
10059         * a-interr.ads: Likewise.
10060         * a-intnam-aix.ads: Likewise.
10061         * a-intnam-darwin.ads: Likewise.
10062         * a-intnam-dummy.ads: Likewise.
10063         * a-intnam-freebsd.ads: Likewise.
10064         * a-intnam-hpux.ads: Likewise.
10065         * a-intnam-irix.ads: Likewise.
10066         * a-intnam-linux.ads: Likewise.
10067         * a-intnam-lynxos.ads: Likewise.
10068         * a-intnam-mingw.ads: Likewise.
10069         * a-intnam-rtems.ads: Likewise.
10070         * a-intnam-solaris.ads: Likewise.
10071         * a-intnam-tru64.ads: Likewise.
10072         * a-intnam-vms.ads: Likewise.
10073         * a-intnam-vxworks.ads: Likewise.
10074         * a-intsig.adb: Likewise.
10075         * a-intsig.ads: Likewise.
10076         * a-ngcefu.adb: Likewise.
10077         * a-ngcoar.adb: Likewise.
10078         * a-ngcoty.adb: Likewise.
10079         * a-ngcoty.ads: Likewise.
10080         * a-ngelfu.adb: Likewise.
10081         * a-ngrear.adb: Likewise.
10082         * a-ngrear.ads: Likewise.
10083         * a-nudira.adb: Likewise.
10084         * a-nudira.ads: Likewise.
10085         * a-nuflra.adb: Likewise.
10086         * a-nuflra.ads: Likewise.
10087         * a-numaux-darwin.adb: Likewise.
10088         * a-numaux-darwin.ads: Likewise.
10089         * a-numaux-libc-x86.ads: Likewise.
10090         * a-numaux-vxworks.ads: Likewise.
10091         * a-numaux-x86.adb: Likewise.
10092         * a-numaux-x86.ads: Likewise.
10093         * a-numaux.ads: Likewise.
10094         * a-rbtgso.adb: Likewise.
10095         * a-rbtgso.ads: Likewise.
10096         * a-reatim.ads: Likewise.
10097         * a-retide.adb: Likewise.
10098         * a-retide.ads: Likewise.
10099         * a-rttiev.adb: Likewise.
10100         * a-rttiev.ads: Likewise.
10101         * a-secain.adb: Likewise.
10102         * a-secain.ads: Likewise.
10103         * a-sequio.adb: Likewise.
10104         * a-sequio.ads: Likewise.
10105         * a-shcain.adb: Likewise.
10106         * a-shcain.ads: Likewise.
10107         * a-siocst.adb: Likewise.
10108         * a-siocst.ads: Likewise.
10109         * a-slcain.adb: Likewise.
10110         * a-slcain.ads: Likewise.
10111         * a-ssicst.adb: Likewise.
10112         * a-ssicst.ads: Likewise.
10113         * a-stboha.adb: Likewise.
10114         * a-stmaco.ads: Likewise.
10115         * a-storio.adb: Likewise.
10116         * a-strbou.adb: Likewise.
10117         * a-strbou.ads: Likewise.
10118         * a-stream.ads: Likewise.
10119         * a-strfix.adb: Likewise.
10120         * a-strhas.adb: Likewise.
10121         * a-strmap.adb: Likewise.
10122         * a-strmap.ads: Likewise.
10123         * a-strsea.adb: Likewise.
10124         * a-strsea.ads: Likewise.
10125         * a-strsup.adb: Likewise.
10126         * a-strsup.ads: Likewise.
10127         * a-strunb.adb: Likewise.
10128         * a-strunb.ads: Likewise.
10129         * a-ststio.adb: Likewise.
10130         * a-ststio.ads: Likewise.
10131         * a-stunau.adb: Likewise.
10132         * a-stunau.ads: Likewise.
10133         * a-stunha.adb: Likewise.
10134         * a-stwibo.adb: Likewise.
10135         * a-stwibo.ads: Likewise.
10136         * a-stwifi.adb: Likewise.
10137         * a-stwiha.adb: Likewise.
10138         * a-stwima.adb: Likewise.
10139         * a-stwima.ads: Likewise.
10140         * a-stwise.adb: Likewise.
10141         * a-stwise.ads: Likewise.
10142         * a-stwisu.adb: Likewise.
10143         * a-stwisu.ads: Likewise.
10144         * a-stwiun.adb: Likewise.
10145         * a-stwiun.ads: Likewise.
10146         * a-stzbou.adb: Likewise.
10147         * a-stzbou.ads: Likewise.
10148         * a-stzfix.adb: Likewise.
10149         * a-stzhas.adb: Likewise.
10150         * a-stzmap.adb: Likewise.
10151         * a-stzmap.ads: Likewise.
10152         * a-stzsea.adb: Likewise.
10153         * a-stzsea.ads: Likewise.
10154         * a-stzsup.adb: Likewise.
10155         * a-stzsup.ads: Likewise.
10156         * a-stzunb.adb: Likewise.
10157         * a-stzunb.ads: Likewise.
10158         * a-suteio.adb: Likewise.
10159         * a-suteio.ads: Likewise.
10160         * a-swbwha.adb: Likewise.
10161         * a-swmwco.ads: Likewise.
10162         * a-swunau.adb: Likewise.
10163         * a-swunau.ads: Likewise.
10164         * a-swuwha.adb: Likewise.
10165         * a-swuwti.adb: Likewise.
10166         * a-swuwti.ads: Likewise.
10167         * a-sytaco.adb: Likewise.
10168         * a-sytaco.ads: Likewise.
10169         * a-szbzha.adb: Likewise.
10170         * a-szmzco.ads: Likewise.
10171         * a-szunau.adb: Likewise.
10172         * a-szunau.ads: Likewise.
10173         * a-szuzha.adb: Likewise.
10174         * a-szuzti.adb: Likewise.
10175         * a-szuzti.ads: Likewise.
10176         * a-tags.adb: Likewise.
10177         * a-tags.ads: Likewise.
10178         * a-tasatt.ads: Likewise.
10179         * a-taside.adb: Likewise.
10180         * a-taside.ads: Likewise.
10181         * a-taster.adb: Likewise.
10182         * a-teioed.adb: Likewise.
10183         * a-teioed.ads: Likewise.
10184         * a-textio.adb: Likewise.
10185         * a-textio.ads: Likewise.
10186         * a-tiboio.adb: Likewise.
10187         * a-ticoau.adb: Likewise.
10188         * a-ticoau.ads: Likewise.
10189         * a-ticoio.adb: Likewise.
10190         * a-ticoio.ads: Likewise.
10191         * a-tideau.adb: Likewise.
10192         * a-tideau.ads: Likewise.
10193         * a-tideio.adb: Likewise.
10194         * a-tideio.ads: Likewise.
10195         * a-tienau.adb: Likewise.
10196         * a-tienau.ads: Likewise.
10197         * a-tienio.adb: Likewise.
10198         * a-tienio.ads: Likewise.
10199         * a-tifiio.adb: Likewise.
10200         * a-tifiio.ads: Likewise.
10201         * a-tiflau.adb: Likewise.
10202         * a-tiflau.ads: Likewise.
10203         * a-tiflio.adb: Likewise.
10204         * a-tiflio.ads: Likewise.
10205         * a-tigeau.adb: Likewise.
10206         * a-tigeau.ads: Likewise.
10207         * a-tiinau.adb: Likewise.
10208         * a-tiinau.ads: Likewise.
10209         * a-tiinio.adb: Likewise.
10210         * a-tiinio.ads: Likewise.
10211         * a-timoau.adb: Likewise.
10212         * a-timoau.ads: Likewise.
10213         * a-timoio.adb: Likewise.
10214         * a-timoio.ads: Likewise.
10215         * a-tiocst.adb: Likewise.
10216         * a-tiocst.ads: Likewise.
10217         * a-titest.adb: Likewise.
10218         * a-wichun.adb: Likewise.
10219         * a-wichun.ads: Likewise.
10220         * a-witeio.adb: Likewise.
10221         * a-witeio.ads: Likewise.
10222         * a-wtcoau.adb: Likewise.
10223         * a-wtcoau.ads: Likewise.
10224         * a-wtcoio.adb: Likewise.
10225         * a-wtcstr.adb: Likewise.
10226         * a-wtcstr.ads: Likewise.
10227         * a-wtdeau.adb: Likewise.
10228         * a-wtdeau.ads: Likewise.
10229         * a-wtdeio.adb: Likewise.
10230         * a-wtdeio.ads: Likewise.
10231         * a-wtedit.adb: Likewise.
10232         * a-wtedit.ads: Likewise.
10233         * a-wtenau.adb: Likewise.
10234         * a-wtenau.ads: Likewise.
10235         * a-wtenio.adb: Likewise.
10236         * a-wtenio.ads: Likewise.
10237         * a-wtfiio.adb: Likewise.
10238         * a-wtfiio.ads: Likewise.
10239         * a-wtflau.adb: Likewise.
10240         * a-wtflau.ads: Likewise.
10241         * a-wtflio.adb: Likewise.
10242         * a-wtflio.ads: Likewise.
10243         * a-wtgeau.adb: Likewise.
10244         * a-wtgeau.ads: Likewise.
10245         * a-wtinau.adb: Likewise.
10246         * a-wtinau.ads: Likewise.
10247         * a-wtinio.adb: Likewise.
10248         * a-wtmoau.adb: Likewise.
10249         * a-wtmoau.ads: Likewise.
10250         * a-wtmoio.adb: Likewise.
10251         * a-wtmoio.ads: Likewise.
10252         * a-wttest.adb: Likewise.
10253         * a-wwboio.adb: Likewise.
10254         * a-zchuni.adb: Likewise.
10255         * a-zchuni.ads: Likewise.
10256         * a-ztcoau.adb: Likewise.
10257         * a-ztcoau.ads: Likewise.
10258         * a-ztcoio.adb: Likewise.
10259         * a-ztcstr.adb: Likewise.
10260         * a-ztcstr.ads: Likewise.
10261         * a-ztdeau.adb: Likewise.
10262         * a-ztdeau.ads: Likewise.
10263         * a-ztdeio.adb: Likewise.
10264         * a-ztdeio.ads: Likewise.
10265         * a-ztedit.adb: Likewise.
10266         * a-ztedit.ads: Likewise.
10267         * a-ztenau.adb: Likewise.
10268         * a-ztenau.ads: Likewise.
10269         * a-ztenio.adb: Likewise.
10270         * a-ztenio.ads: Likewise.
10271         * a-ztexio.adb: Likewise.
10272         * a-ztexio.ads: Likewise.
10273         * a-ztfiio.adb: Likewise.
10274         * a-ztfiio.ads: Likewise.
10275         * a-ztflau.adb: Likewise.
10276         * a-ztflau.ads: Likewise.
10277         * a-ztflio.adb: Likewise.
10278         * a-ztflio.ads: Likewise.
10279         * a-ztgeau.adb: Likewise.
10280         * a-ztgeau.ads: Likewise.
10281         * a-ztinau.adb: Likewise.
10282         * a-ztinau.ads: Likewise.
10283         * a-ztinio.adb: Likewise.
10284         * a-ztmoau.adb: Likewise.
10285         * a-ztmoau.ads: Likewise.
10286         * a-ztmoio.adb: Likewise.
10287         * a-ztmoio.ads: Likewise.
10288         * a-zttest.adb: Likewise.
10289         * a-zzboio.adb: Likewise.
10290         * adadecode.c: Likewise.
10291         * adaint.c: Likewise.
10292         * adaint.h: Likewise.
10293         * alloc.ads: Likewise.
10294         * argv.c: Likewise.
10295         * arit64.c: Likewise.
10296         * atree.adb: Likewise.
10297         * atree.ads: Likewise.
10298         * aux-io.c: Likewise.
10299         * cal.c: Likewise.
10300         * casing.adb: Likewise.
10301         * casing.ads: Likewise.
10302         * cio.c: Likewise.
10303         * csets.adb: Likewise.
10304         * csets.ads: Likewise.
10305         * cstreams.c: Likewise.
10306         * ctrl_c.c: Likewise.
10307         * debug.adb: Likewise.
10308         * debug.ads: Likewise.
10309         * dec.ads: Likewise.
10310         * einfo.adb: Likewise.
10311         * einfo.ads: Likewise.
10312         * elists.adb: Likewise.
10313         * elists.ads: Likewise.
10314         * env.c: Likewise.
10315         * env.h: Likewise.
10316         * errno.c: Likewise.
10317         * exit.c: Likewise.
10318         * fe.h: Likewise.
10319         * final.c: Likewise.
10320         * fname.adb: Likewise.
10321         * fname.ads: Likewise.
10322         * g-allein.ads: Likewise.
10323         * g-alleve.adb: Likewise.
10324         * g-alleve.ads: Likewise.
10325         * g-altcon.adb: Likewise.
10326         * g-altcon.ads: Likewise.
10327         * g-altive.ads: Likewise.
10328         * g-alveop.adb: Likewise.
10329         * g-alveop.ads: Likewise.
10330         * g-alvety.ads: Likewise.
10331         * g-alvevi.ads: Likewise.
10332         * g-arrspl.adb: Likewise.
10333         * g-arrspl.ads: Likewise.
10334         * g-calend.ads: Likewise.
10335         * g-comlin.adb: Likewise.
10336         * g-debpoo.adb: Likewise.
10337         * g-debpoo.ads: Likewise.
10338         * g-eacodu-vms.adb: Likewise.
10339         * g-eacodu.adb: Likewise.
10340         * g-excact.adb: Likewise.
10341         * g-excact.ads: Likewise.
10342         * g-locfil.adb: Likewise.
10343         * g-os_lib.ads: Likewise.
10344         * g-rannum.adb: Likewise.
10345         * g-rannum.ads: Likewise.
10346         * g-regist.adb: Likewise.
10347         * g-regist.ads: Likewise.
10348         * g-signal.adb: Likewise.
10349         * g-signal.ads: Likewise.
10350         * g-soccon.ads: Likewise.
10351         * g-string.adb: Likewise.
10352         * g-string.ads: Likewise.
10353         * g-strspl.ads: Likewise.
10354         * g-timsta.adb: Likewise.
10355         * g-timsta.ads: Likewise.
10356         * g-trasym-vms-alpha.adb: Likewise.
10357         * g-trasym-vms-ia64.adb: Likewise.
10358         * g-utf_32.adb: Likewise.
10359         * g-utf_32.ads: Likewise.
10360         * g-wistsp.ads: Likewise.
10361         * g-zstspl.ads: Likewise.
10362         * gmem.c: Likewise.
10363         * gnatvsn.adb: Likewise.
10364         * gnatvsn.ads: Likewise.
10365         * gsocket.h: Likewise.
10366         * hostparm.ads: Likewise.
10367         * i-c.adb: Likewise.
10368         * i-cexten.ads: Likewise.
10369         * i-cobol.adb: Likewise.
10370         * i-cobol.ads: Likewise.
10371         * i-cpoint.adb: Likewise.
10372         * i-cpoint.ads: Likewise.
10373         * i-cpp.adb: Likewise.
10374         * i-cpp.ads: Likewise.
10375         * i-cstrea-vms.adb: Likewise.
10376         * i-cstrea.adb: Likewise.
10377         * i-cstrea.ads: Likewise.
10378         * i-cstrin.adb: Likewise.
10379         * i-cstrin.ads: Likewise.
10380         * i-forbla-darwin.adb: Likewise.
10381         * i-forbla-unimplemented.ads: Likewise.
10382         * i-forbla.adb: Likewise.
10383         * i-forbla.ads: Likewise.
10384         * i-forlap.ads: Likewise.
10385         * i-fortra.adb: Likewise.
10386         * i-pacdec.adb: Likewise.
10387         * i-pacdec.ads: Likewise.
10388         * i-vxwoio.adb: Likewise.
10389         * i-vxwoio.ads: Likewise.
10390         * indepsw-aix.adb: Likewise.
10391         * indepsw-gnu.adb: Likewise.
10392         * indepsw-mingw.adb: Likewise.
10393         * indepsw.adb: Likewise.
10394         * indepsw.ads: Likewise.
10395         * init.c: Likewise.
10396         * initialize.c: Likewise.
10397         * interfac.ads: Likewise.
10398         * krunch.adb: Likewise.
10399         * krunch.ads: Likewise.
10400         * lib-list.adb: Likewise.
10401         * lib-sort.adb: Likewise.
10402         * lib.adb: Likewise.
10403         * lib.ads: Likewise.
10404         * link.c: Likewise.
10405         * math_lib.adb: Likewise.
10406         * memtrack.adb: Likewise.
10407         * mingw32.h: Likewise.
10408         * mkdir.c: Likewise.
10409         * namet-sp.adb: Likewise.
10410         * namet-sp.ads: Likewise.
10411         * namet.adb: Likewise.
10412         * namet.ads: Likewise.
10413         * nlists.adb: Likewise.
10414         * nlists.ads: Likewise.
10415         * opt.adb: Likewise.
10416         * opt.ads: Likewise.
10417         * output.adb: Likewise.
10418         * output.ads: Likewise.
10419         * raise-gcc.c: Likewise.
10420         * raise.c: Likewise.
10421         * raise.h: Likewise.
10422         * repinfo.adb: Likewise.
10423         * repinfo.ads: Likewise.
10424         * repinfo.h: Likewise.
10425         * rident.ads: Likewise.
10426         * s-addima.adb: Likewise.
10427         * s-addima.ads: Likewise.
10428         * s-addope.adb: Likewise.
10429         * s-addope.ads: Likewise.
10430         * s-arit64.adb: Likewise.
10431         * s-arit64.ads: Likewise.
10432         * s-assert.adb: Likewise.
10433         * s-assert.ads: Likewise.
10434         * s-asthan-vms-alpha.adb: Likewise.
10435         * s-asthan.adb: Likewise.
10436         * s-asthan.ads: Likewise.
10437         * s-atacco.adb: Likewise.
10438         * s-atacco.ads: Likewise.
10439         * s-auxdec-empty.adb: Likewise.
10440         * s-auxdec-empty.ads: Likewise.
10441         * s-auxdec-vms_64.ads: Likewise.
10442         * s-auxdec.adb: Likewise.
10443         * s-auxdec.ads: Likewise.
10444         * s-bitops.adb: Likewise.
10445         * s-bitops.ads: Likewise.
10446         * s-boarop.ads: Likewise.
10447         * s-carsi8.adb: Likewise.
10448         * s-carsi8.ads: Likewise.
10449         * s-carun8.adb: Likewise.
10450         * s-carun8.ads: Likewise.
10451         * s-casi16.adb: Likewise.
10452         * s-casi16.ads: Likewise.
10453         * s-casi32.adb: Likewise.
10454         * s-casi32.ads: Likewise.
10455         * s-casi64.adb: Likewise.
10456         * s-casi64.ads: Likewise.
10457         * s-casuti.ads: Likewise.
10458         * s-caun16.adb: Likewise.
10459         * s-caun16.ads: Likewise.
10460         * s-caun32.adb: Likewise.
10461         * s-caun32.ads: Likewise.
10462         * s-caun64.adb: Likewise.
10463         * s-caun64.ads: Likewise.
10464         * s-chepoo.ads: Likewise.
10465         * s-crc32.adb: Likewise.
10466         * s-crc32.ads: Likewise.
10467         * s-crtl.ads: Likewise.
10468         * s-direio.adb: Likewise.
10469         * s-direio.ads: Likewise.
10470         * s-dsaser.ads: Likewise.
10471         * s-except.adb: Likewise.
10472         * s-except.ads: Likewise.
10473         * s-exctab.adb: Likewise.
10474         * s-exctab.ads: Likewise.
10475         * s-exnint.adb: Likewise.
10476         * s-exnint.ads: Likewise.
10477         * s-exnllf.adb: Likewise.
10478         * s-exnllf.ads: Likewise.
10479         * s-exnlli.adb: Likewise.
10480         * s-exnlli.ads: Likewise.
10481         * s-expint.adb: Likewise.
10482         * s-expint.ads: Likewise.
10483         * s-explli.adb: Likewise.
10484         * s-explli.ads: Likewise.
10485         * s-expllu.adb: Likewise.
10486         * s-expllu.ads: Likewise.
10487         * s-expmod.adb: Likewise.
10488         * s-expmod.ads: Likewise.
10489         * s-expuns.adb: Likewise.
10490         * s-expuns.ads: Likewise.
10491         * s-fatflt.ads: Likewise.
10492         * s-fatgen.adb: Likewise.
10493         * s-fatgen.ads: Likewise.
10494         * s-fatlfl.ads: Likewise.
10495         * s-fatllf.ads: Likewise.
10496         * s-fatsfl.ads: Likewise.
10497         * s-ficobl.ads: Likewise.
10498         * s-fileio.adb: Likewise.
10499         * s-fileio.ads: Likewise.
10500         * s-filofl.ads: Likewise.
10501         * s-finimp.adb: Likewise.
10502         * s-finimp.ads: Likewise.
10503         * s-finroo.adb: Likewise.
10504         * s-finroo.ads: Likewise.
10505         * s-fishfl.ads: Likewise.
10506         * s-fore.adb: Likewise.
10507         * s-fore.ads: Likewise.
10508         * s-fvadfl.ads: Likewise.
10509         * s-fvaffl.ads: Likewise.
10510         * s-fvagfl.ads: Likewise.
10511         * s-gearop.adb: Likewise.
10512         * s-gearop.ads: Likewise.
10513         * s-gecobl.adb: Likewise.
10514         * s-gecobl.ads: Likewise.
10515         * s-gecola.adb: Likewise.
10516         * s-gecola.ads: Likewise.
10517         * s-gerebl.adb: Likewise.
10518         * s-gerebl.ads: Likewise.
10519         * s-gerela.adb: Likewise.
10520         * s-gerela.ads: Likewise.
10521         * s-geveop.adb: Likewise.
10522         * s-geveop.ads: Likewise.
10523         * s-gloloc.adb: Likewise.
10524         * s-gloloc.ads: Likewise.
10525         * s-hibaen.ads: Likewise.
10526         * s-imenne.adb: Likewise.
10527         * s-imenne.ads: Likewise.
10528         * s-imgbiu.adb: Likewise.
10529         * s-imgbiu.ads: Likewise.
10530         * s-imgboo.adb: Likewise.
10531         * s-imgboo.ads: Likewise.
10532         * s-imgcha.adb: Likewise.
10533         * s-imgcha.ads: Likewise.
10534         * s-imgdec.adb: Likewise.
10535         * s-imgdec.ads: Likewise.
10536         * s-imgenu.adb: Likewise.
10537         * s-imgenu.ads: Likewise.
10538         * s-imgint.adb: Likewise.
10539         * s-imgint.ads: Likewise.
10540         * s-imgllb.adb: Likewise.
10541         * s-imgllb.ads: Likewise.
10542         * s-imglld.adb: Likewise.
10543         * s-imglld.ads: Likewise.
10544         * s-imglli.adb: Likewise.
10545         * s-imglli.ads: Likewise.
10546         * s-imgllu.adb: Likewise.
10547         * s-imgllu.ads: Likewise.
10548         * s-imgllw.adb: Likewise.
10549         * s-imgllw.ads: Likewise.
10550         * s-imgrea.adb: Likewise.
10551         * s-imgrea.ads: Likewise.
10552         * s-imguns.adb: Likewise.
10553         * s-imguns.ads: Likewise.
10554         * s-imgwch.adb: Likewise.
10555         * s-imgwch.ads: Likewise.
10556         * s-imgwiu.adb: Likewise.
10557         * s-imgwiu.ads: Likewise.
10558         * s-inmaop-dummy.adb: Likewise.
10559         * s-inmaop-vms.adb: Likewise.
10560         * s-inmaop.ads: Likewise.
10561         * s-interr-hwint.adb: Likewise.
10562         * s-interr-sigaction.adb: Likewise.
10563         * s-interr-vms.adb: Likewise.
10564         * s-interr.adb: Likewise.
10565         * s-interr.ads: Likewise.
10566         * s-intman-dummy.adb: Likewise.
10567         * s-intman-mingw.adb: Likewise.
10568         * s-intman-posix.adb: Likewise.
10569         * s-intman-solaris.adb: Likewise.
10570         * s-intman-vms.adb: Likewise.
10571         * s-intman-vms.ads: Likewise.
10572         * s-intman-vxworks.adb: Likewise.
10573         * s-intman-vxworks.ads: Likewise.
10574         * s-intman.ads: Likewise.
10575         * s-io.adb: Likewise.
10576         * s-io.ads: Likewise.
10577         * s-linux-alpha.ads: Likewise.
10578         * s-linux-hppa.ads: Likewise.
10579         * s-linux.ads: Likewise.
10580         * s-maccod.ads: Likewise.
10581         * s-mantis.adb: Likewise.
10582         * s-mantis.ads: Likewise.
10583         * s-mastop-irix.adb: Likewise.
10584         * s-mastop.adb: Likewise.
10585         * s-mastop.ads: Likewise.
10586         * s-memcop.ads: Likewise.
10587         * s-memory-mingw.adb: Likewise.
10588         * s-memory.adb: Likewise.
10589         * s-memory.ads: Likewise.
10590         * s-os_lib.ads: Likewise.
10591         * s-oscons-tmplt.c: Likewise.
10592         * s-osinte-aix.adb: Likewise.
10593         * s-osinte-darwin.adb: Likewise.
10594         * s-osinte-freebsd.adb: Likewise.
10595         * s-osinte-irix.adb: Likewise.
10596         * s-osinte-lynxos-3.adb: Likewise.
10597         * s-osinte-rtems.ads: Likewise.
10598         * s-osinte-tru64.adb: Likewise.
10599         * s-osinte-vxworks-kernel.adb: Likewise.
10600         * s-osinte-vxworks.adb: Likewise.
10601         * s-osprim-mingw.adb: Likewise.
10602         * s-osprim-posix.adb: Likewise.
10603         * s-osprim-solaris.adb: Likewise.
10604         * s-osprim-unix.adb: Likewise.
10605         * s-osprim-vms.adb: Likewise.
10606         * s-osprim-vms.ads: Likewise.
10607         * s-osprim-vxworks.adb: Likewise.
10608         * s-osprim.ads: Likewise.
10609         * s-pack03.adb: Likewise.
10610         * s-pack03.ads: Likewise.
10611         * s-pack05.adb: Likewise.
10612         * s-pack05.ads: Likewise.
10613         * s-pack06.adb: Likewise.
10614         * s-pack06.ads: Likewise.
10615         * s-pack07.adb: Likewise.
10616         * s-pack07.ads: Likewise.
10617         * s-pack09.adb: Likewise.
10618         * s-pack09.ads: Likewise.
10619         * s-pack10.adb: Likewise.
10620         * s-pack10.ads: Likewise.
10621         * s-pack11.adb: Likewise.
10622         * s-pack11.ads: Likewise.
10623         * s-pack12.adb: Likewise.
10624         * s-pack12.ads: Likewise.
10625         * s-pack13.adb: Likewise.
10626         * s-pack13.ads: Likewise.
10627         * s-pack14.adb: Likewise.
10628         * s-pack14.ads: Likewise.
10629         * s-pack15.adb: Likewise.
10630         * s-pack15.ads: Likewise.
10631         * s-pack17.adb: Likewise.
10632         * s-pack17.ads: Likewise.
10633         * s-pack18.adb: Likewise.
10634         * s-pack18.ads: Likewise.
10635         * s-pack19.adb: Likewise.
10636         * s-pack19.ads: Likewise.
10637         * s-pack20.adb: Likewise.
10638         * s-pack20.ads: Likewise.
10639         * s-pack21.adb: Likewise.
10640         * s-pack21.ads: Likewise.
10641         * s-pack22.adb: Likewise.
10642         * s-pack22.ads: Likewise.
10643         * s-pack23.adb: Likewise.
10644         * s-pack23.ads: Likewise.
10645         * s-pack24.adb: Likewise.
10646         * s-pack24.ads: Likewise.
10647         * s-pack25.adb: Likewise.
10648         * s-pack25.ads: Likewise.
10649         * s-pack26.adb: Likewise.
10650         * s-pack26.ads: Likewise.
10651         * s-pack27.adb: Likewise.
10652         * s-pack27.ads: Likewise.
10653         * s-pack28.adb: Likewise.
10654         * s-pack28.ads: Likewise.
10655         * s-pack29.adb: Likewise.
10656         * s-pack29.ads: Likewise.
10657         * s-pack30.adb: Likewise.
10658         * s-pack30.ads: Likewise.
10659         * s-pack31.adb: Likewise.
10660         * s-pack31.ads: Likewise.
10661         * s-pack33.adb: Likewise.
10662         * s-pack33.ads: Likewise.
10663         * s-pack34.adb: Likewise.
10664         * s-pack34.ads: Likewise.
10665         * s-pack35.adb: Likewise.
10666         * s-pack35.ads: Likewise.
10667         * s-pack36.adb: Likewise.
10668         * s-pack36.ads: Likewise.
10669         * s-pack37.adb: Likewise.
10670         * s-pack37.ads: Likewise.
10671         * s-pack38.adb: Likewise.
10672         * s-pack38.ads: Likewise.
10673         * s-pack39.adb: Likewise.
10674         * s-pack39.ads: Likewise.
10675         * s-pack40.adb: Likewise.
10676         * s-pack40.ads: Likewise.
10677         * s-pack41.adb: Likewise.
10678         * s-pack41.ads: Likewise.
10679         * s-pack42.adb: Likewise.
10680         * s-pack42.ads: Likewise.
10681         * s-pack43.adb: Likewise.
10682         * s-pack43.ads: Likewise.
10683         * s-pack44.adb: Likewise.
10684         * s-pack44.ads: Likewise.
10685         * s-pack45.adb: Likewise.
10686         * s-pack45.ads: Likewise.
10687         * s-pack46.adb: Likewise.
10688         * s-pack46.ads: Likewise.
10689         * s-pack47.adb: Likewise.
10690         * s-pack47.ads: Likewise.
10691         * s-pack48.adb: Likewise.
10692         * s-pack48.ads: Likewise.
10693         * s-pack49.adb: Likewise.
10694         * s-pack49.ads: Likewise.
10695         * s-pack50.adb: Likewise.
10696         * s-pack50.ads: Likewise.
10697         * s-pack51.adb: Likewise.
10698         * s-pack51.ads: Likewise.
10699         * s-pack52.adb: Likewise.
10700         * s-pack52.ads: Likewise.
10701         * s-pack53.adb: Likewise.
10702         * s-pack53.ads: Likewise.
10703         * s-pack54.adb: Likewise.
10704         * s-pack54.ads: Likewise.
10705         * s-pack55.adb: Likewise.
10706         * s-pack55.ads: Likewise.
10707         * s-pack56.adb: Likewise.
10708         * s-pack56.ads: Likewise.
10709         * s-pack57.adb: Likewise.
10710         * s-pack57.ads: Likewise.
10711         * s-pack58.adb: Likewise.
10712         * s-pack58.ads: Likewise.
10713         * s-pack59.adb: Likewise.
10714         * s-pack59.ads: Likewise.
10715         * s-pack60.adb: Likewise.
10716         * s-pack60.ads: Likewise.
10717         * s-pack61.adb: Likewise.
10718         * s-pack61.ads: Likewise.
10719         * s-pack62.adb: Likewise.
10720         * s-pack62.ads: Likewise.
10721         * s-pack63.adb: Likewise.
10722         * s-pack63.ads: Likewise.
10723         * s-parame-ae653.ads: Likewise.
10724         * s-parame-hpux.ads: Likewise.
10725         * s-parame-rtems.adb: Likewise.
10726         * s-parame-vms-alpha.ads: Likewise.
10727         * s-parame-vms-ia64.ads: Likewise.
10728         * s-parame-vms-restrict.ads: Likewise.
10729         * s-parame-vxworks.adb: Likewise.
10730         * s-parame-vxworks.ads: Likewise.
10731         * s-parame.adb: Likewise.
10732         * s-parame.ads: Likewise.
10733         * s-parint.adb: Likewise.
10734         * s-parint.ads: Likewise.
10735         * s-pooglo.adb: Likewise.
10736         * s-pooglo.ads: Likewise.
10737         * s-pooloc.adb: Likewise.
10738         * s-pooloc.ads: Likewise.
10739         * s-poosiz.adb: Likewise.
10740         * s-poosiz.ads: Likewise.
10741         * s-powtab.ads: Likewise.
10742         * s-proinf-irix-athread.adb: Likewise.
10743         * s-proinf-irix-athread.ads: Likewise.
10744         * s-proinf.adb: Likewise.
10745         * s-proinf.ads: Likewise.
10746         * s-purexc.ads: Likewise.
10747         * s-rannum.adb: Likewise.
10748         * s-rannum.ads: Likewise.
10749         * s-restri.adb: Likewise.
10750         * s-restri.ads: Likewise.
10751         * s-rident.ads: Likewise.
10752         * s-rpc.adb: Likewise.
10753         * s-rpc.ads: Likewise.
10754         * s-scaval.adb: Likewise.
10755         * s-scaval.ads: Likewise.
10756         * s-secsta.adb: Likewise.
10757         * s-secsta.ads: Likewise.
10758         * s-sequio.adb: Likewise.
10759         * s-sequio.ads: Likewise.
10760         * s-shasto.adb: Likewise.
10761         * s-shasto.ads: Likewise.
10762         * s-soflin.adb: Likewise.
10763         * s-soflin.ads: Likewise.
10764         * s-solita.adb: Likewise.
10765         * s-solita.ads: Likewise.
10766         * s-sopco3.adb: Likewise.
10767         * s-sopco3.ads: Likewise.
10768         * s-sopco4.adb: Likewise.
10769         * s-sopco4.ads: Likewise.
10770         * s-sopco5.adb: Likewise.
10771         * s-sopco5.ads: Likewise.
10772         * s-stache.adb: Likewise.
10773         * s-stache.ads: Likewise.
10774         * s-stalib.adb: Likewise.
10775         * s-stalib.ads: Likewise.
10776         * s-stausa.adb: Likewise.
10777         * s-stausa.ads: Likewise.
10778         * s-stchop-limit.ads: Likewise.
10779         * s-stchop-rtems.adb: Likewise.
10780         * s-stchop-vxworks.adb: Likewise.
10781         * s-stchop.adb: Likewise.
10782         * s-stchop.ads: Likewise.
10783         * s-stoele.adb: Likewise.
10784         * s-stoele.ads: Likewise.
10785         * s-stopoo.adb: Likewise.
10786         * s-stopoo.ads: Likewise.
10787         * s-stratt.adb: Likewise.
10788         * s-stratt.ads: Likewise.
10789         * s-strcom.adb: Likewise.
10790         * s-strcom.ads: Likewise.
10791         * s-string.adb: Likewise.
10792         * s-string.ads: Likewise.
10793         * s-strops.adb: Likewise.
10794         * s-strops.ads: Likewise.
10795         * s-strxdr.adb: Likewise.
10796         * s-ststop.adb: Likewise.
10797         * s-ststop.ads: Likewise.
10798         * s-taasde.adb: Likewise.
10799         * s-taasde.ads: Likewise.
10800         * s-tadeca.adb: Likewise.
10801         * s-tadeca.ads: Likewise.
10802         * s-tadert.adb: Likewise.
10803         * s-tadert.ads: Likewise.
10804         * s-taenca.adb: Likewise.
10805         * s-taenca.ads: Likewise.
10806         * s-taprob.ads: Likewise.
10807         * s-taprop-dummy.adb: Likewise.
10808         * s-taprop-hpux-dce.adb: Likewise.
10809         * s-taprop-irix.adb: Likewise.
10810         * s-taprop-linux.adb: Likewise.
10811         * s-taprop-lynxos.adb: Likewise.
10812         * s-taprop-mingw.adb: Likewise.
10813         * s-taprop-posix.adb: Likewise.
10814         * s-taprop-solaris.adb: Likewise.
10815         * s-taprop-tru64.adb: Likewise.
10816         * s-taprop-vms.adb: Likewise.
10817         * s-taprop-vxworks.adb: Likewise.
10818         * s-taprop.ads: Likewise.
10819         * s-tarest.adb: Likewise.
10820         * s-tarest.ads: Likewise.
10821         * s-tasdeb.adb: Likewise.
10822         * s-tasdeb.ads: Likewise.
10823         * s-tasinf-irix.ads: Likewise.
10824         * s-tasinf-linux.adb: Likewise.
10825         * s-tasinf-linux.ads: Likewise.
10826         * s-tasinf-mingw.adb: Likewise.
10827         * s-tasinf-mingw.ads: Likewise.
10828         * s-tasinf-solaris.adb: Likewise.
10829         * s-tasinf-solaris.ads: Likewise.
10830         * s-tasinf-tru64.ads: Likewise.
10831         * s-tasinf.adb: Likewise.
10832         * s-tasinf.ads: Likewise.
10833         * s-tasini.adb: Likewise.
10834         * s-tasini.ads: Likewise.
10835         * s-taskin.adb: Likewise.
10836         * s-taskin.ads: Likewise.
10837         * s-taspri-dummy.ads: Likewise.
10838         * s-taspri-hpux-dce.ads: Likewise.
10839         * s-taspri-mingw.ads: Likewise.
10840         * s-taspri-solaris.ads: Likewise.
10841         * s-taspri-tru64.ads: Likewise.
10842         * s-taspri-vms.ads: Likewise.
10843         * s-taspri-vxworks.ads: Likewise.
10844         * s-tasque.adb: Likewise.
10845         * s-tasque.ads: Likewise.
10846         * s-tasren.adb: Likewise.
10847         * s-tasren.ads: Likewise.
10848         * s-tasres.ads: Likewise.
10849         * s-tassta.adb: Likewise.
10850         * s-tassta.ads: Likewise.
10851         * s-tasuti.adb: Likewise.
10852         * s-tasuti.ads: Likewise.
10853         * s-tfsetr-default.adb: Likewise.
10854         * s-tfsetr-vxworks.adb: Likewise.
10855         * s-tpinop.adb: Likewise.
10856         * s-tpinop.ads: Likewise.
10857         * s-tpoben.adb: Likewise.
10858         * s-tpoben.ads: Likewise.
10859         * s-tpobop.adb: Likewise.
10860         * s-tpobop.ads: Likewise.
10861         * s-tpopde-vms.adb: Likewise.
10862         * s-tpopde-vms.ads: Likewise.
10863         * s-tpopsp-lynxos.adb: Likewise.
10864         * s-tpopsp-posix-foreign.adb: Likewise.
10865         * s-tpopsp-posix.adb: Likewise.
10866         * s-tpopsp-solaris.adb: Likewise.
10867         * s-tpopsp-vxworks.adb: Likewise.
10868         * s-tporft.adb: Likewise.
10869         * s-tposen.adb: Likewise.
10870         * s-tposen.ads: Likewise.
10871         * s-traceb.adb: Likewise.
10872         * s-traceb.ads: Likewise.
10873         * s-traces-default.adb: Likewise.
10874         * s-traces.adb: Likewise.
10875         * s-traces.ads: Likewise.
10876         * s-traent-vms.adb: Likewise.
10877         * s-traent-vms.ads: Likewise.
10878         * s-traent.adb: Likewise.
10879         * s-traent.ads: Likewise.
10880         * s-trafor-default.adb: Likewise.
10881         * s-trafor-default.ads: Likewise.
10882         * s-tratas-default.adb: Likewise.
10883         * s-tratas.adb: Likewise.
10884         * s-tratas.ads: Likewise.
10885         * s-unstyp.ads: Likewise.
10886         * s-utf_32.adb: Likewise.
10887         * s-utf_32.ads: Likewise.
10888         * s-vaflop-vms-alpha.adb: Likewise.
10889         * s-vaflop.adb: Likewise.
10890         * s-vaflop.ads: Likewise.
10891         * s-valboo.adb: Likewise.
10892         * s-valboo.ads: Likewise.
10893         * s-valcha.adb: Likewise.
10894         * s-valcha.ads: Likewise.
10895         * s-valdec.adb: Likewise.
10896         * s-valdec.ads: Likewise.
10897         * s-valenu.adb: Likewise.
10898         * s-valenu.ads: Likewise.
10899         * s-valint.adb: Likewise.
10900         * s-valint.ads: Likewise.
10901         * s-vallld.adb: Likewise.
10902         * s-vallld.ads: Likewise.
10903         * s-vallli.adb: Likewise.
10904         * s-vallli.ads: Likewise.
10905         * s-valllu.adb: Likewise.
10906         * s-valllu.ads: Likewise.
10907         * s-valrea.adb: Likewise.
10908         * s-valrea.ads: Likewise.
10909         * s-valuns.adb: Likewise.
10910         * s-valuns.ads: Likewise.
10911         * s-valuti.adb: Likewise.
10912         * s-valuti.ads: Likewise.
10913         * s-valwch.adb: Likewise.
10914         * s-valwch.ads: Likewise.
10915         * s-veboop.adb: Likewise.
10916         * s-veboop.ads: Likewise.
10917         * s-vector.ads: Likewise.
10918         * s-vercon.adb: Likewise.
10919         * s-vercon.ads: Likewise.
10920         * s-vmexta.adb: Likewise.
10921         * s-vmexta.ads: Likewise.
10922         * s-vxwext-kernel.ads: Likewise.
10923         * s-vxwext-rtp.adb: Likewise.
10924         * s-vxwext-rtp.ads: Likewise.
10925         * s-vxwext.ads: Likewise.
10926         * s-vxwork-arm.ads: Likewise.
10927         * s-vxwork-m68k.ads: Likewise.
10928         * s-vxwork-mips.ads: Likewise.
10929         * s-vxwork-ppc.ads: Likewise.
10930         * s-vxwork-sparcv9.ads: Likewise.
10931         * s-vxwork-x86.ads: Likewise.
10932         * s-wchcnv.adb: Likewise.
10933         * s-wchcnv.ads: Likewise.
10934         * s-wchcon.adb: Likewise.
10935         * s-wchcon.ads: Likewise.
10936         * s-wchjis.adb: Likewise.
10937         * s-wchjis.ads: Likewise.
10938         * s-wchstw.adb: Likewise.
10939         * s-wchstw.ads: Likewise.
10940         * s-wchwts.adb: Likewise.
10941         * s-wchwts.ads: Likewise.
10942         * s-widboo.adb: Likewise.
10943         * s-widboo.ads: Likewise.
10944         * s-widcha.adb: Likewise.
10945         * s-widcha.ads: Likewise.
10946         * s-widenu.adb: Likewise.
10947         * s-widenu.ads: Likewise.
10948         * s-widlli.adb: Likewise.
10949         * s-widlli.ads: Likewise.
10950         * s-widllu.adb: Likewise.
10951         * s-widllu.ads: Likewise.
10952         * s-widwch.adb: Likewise.
10953         * s-widwch.ads: Likewise.
10954         * s-win32.ads: Likewise.
10955         * s-winext.ads: Likewise.
10956         * s-wwdcha.adb: Likewise.
10957         * s-wwdcha.ads: Likewise.
10958         * s-wwdenu.adb: Likewise.
10959         * s-wwdenu.ads: Likewise.
10960         * s-wwdwch.adb: Likewise.
10961         * s-wwdwch.ads: Likewise.
10962         * scans.adb: Likewise.
10963         * scans.ads: Likewise.
10964         * seh_init.c: Likewise.
10965         * sfn_scan.adb: Likewise.
10966         * sinfo.adb: Likewise.
10967         * sinfo.ads: Likewise.
10968         * sinput.adb: Likewise.
10969         * sinput.ads: Likewise.
10970         * snames.adb: Likewise.
10971         * snames.ads: Likewise.
10972         * socket.c: Likewise.
10973         * stand.adb: Likewise.
10974         * stand.ads: Likewise.
10975         * stringt.adb: Likewise.
10976         * stringt.ads: Likewise.
10977         * sysdep.c: Likewise.
10978         * system-aix.ads: Likewise.
10979         * system-darwin-ppc.ads: Likewise.
10980         * system-darwin-x86.ads: Likewise.
10981         * system-darwin-x86_64.ads: Likewise.
10982         * system-freebsd-x86.ads: Likewise.
10983         * system-hpux-ia64.ads: Likewise.
10984         * system-hpux.ads: Likewise.
10985         * system-irix-n32.ads: Likewise.
10986         * system-irix-n64.ads: Likewise.
10987         * system-irix-o32.ads: Likewise.
10988         * system-linux-alpha.ads: Likewise.
10989         * system-linux-hppa.ads: Likewise.
10990         * system-linux-ia64.ads: Likewise.
10991         * system-linux-mips.ads: Likewise.
10992         * system-linux-mipsel.ads: Likewise.
10993         * system-linux-ppc.ads: Likewise.
10994         * system-linux-ppc64.ads: Likewise.
10995         * system-linux-s390.ads: Likewise.
10996         * system-linux-s390x.ads: Likewise.
10997         * system-linux-sh4.ads: Likewise.
10998         * system-linux-sparc.ads: Likewise.
10999         * system-linux-sparcv9.ads: Likewise.
11000         * system-linux-x86.ads: Likewise.
11001         * system-linux-x86_64.ads: Likewise.
11002         * system-lynxos-ppc.ads: Likewise.
11003         * system-lynxos-x86.ads: Likewise.
11004         * system-mingw-x86_64.ads: Likewise.
11005         * system-mingw.ads: Likewise.
11006         * system-rtems.ads: Likewise.
11007         * system-solaris-sparc.ads: Likewise.
11008         * system-solaris-sparcv9.ads: Likewise.
11009         * system-solaris-x86.ads: Likewise.
11010         * system-solaris-x86_64.ads: Likewise.
11011         * system-tru64.ads: Likewise.
11012         * system-vms-ia64.ads: Likewise.
11013         * system-vms-zcx.ads: Likewise.
11014         * system-vms.ads: Likewise.
11015         * system-vms_64.ads: Likewise.
11016         * system-vxworks-arm.ads: Likewise.
11017         * system-vxworks-m68k.ads: Likewise.
11018         * system-vxworks-mips.ads: Likewise.
11019         * system-vxworks-ppc.ads: Likewise.
11020         * system-vxworks-sparcv9.ads: Likewise.
11021         * system-vxworks-x86.ads: Likewise.
11022         * system.ads: Likewise.
11023         * table.adb: Likewise.
11024         * table.ads: Likewise.
11025         * targext.c: Likewise.
11026         * targparm.ads: Likewise.
11027         * tree_in.adb: Likewise.
11028         * tree_in.ads: Likewise.
11029         * tree_io.adb: Likewise.
11030         * tree_io.ads: Likewise.
11031         * types.adb: Likewise.
11032         * types.ads: Likewise.
11033         * uintp.adb: Likewise.
11034         * uintp.ads: Likewise.
11035         * uname.adb: Likewise.
11036         * uname.ads: Likewise.
11037         * urealp.adb: Likewise.
11038         * urealp.ads: Likewise.
11039         * vx_stack_info.c: Likewise.
11040         * widechar.adb: Likewise.
11041         * widechar.ads: Likewise.
11042         * exp_attr.adb: Change copyright header to refer to version
11043         3 of the GNU General Public License and to point readers at the
11044         COPYING3 file and the FSF's license web page.
11045         * sem.adb: Likewise.
11046         * sem_attr.ads: Likewise.
11047         * freeze.adb: Likewise.
11048         * freeze.ads: Likewise.
11049         * errout.ads: Likewise.
11050         * erroutc.adb: Likewise.
11051         * exp_ch11.ads: Likewise.
11052
11053 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
11054
11055         * config-lang.in: Change copyright header to refer to version
11056         3 of the GNU General Public License and to point readers at the
11057         COPYING3 file and the FSF's license web page.
11058         * gcc-interface/trans.c: Likewise.
11059         * gnathtml.pl: Likewise.
11060         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
11061         * gcc-interface/gigi.h: Likewise.
11062         * gcc-interface/misc.c: Likewise.
11063         * gcc-interface/targtyps.c: Likewise.
11064
11065 2009-04-09  Nicolas Setton  <setton@adacore.com>
11066
11067         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
11068
11069         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
11070         struct_timeval.
11071
11072 2009-04-09  Bob Duff  <duff@adacore.com>
11073
11074         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
11075         internally-generated nodes related to select statements to avoid
11076         confusing the debugger.
11077
11078 2009-04-09  Pascal Obry  <obry@adacore.com>
11079
11080         * make.adb: Ensure that all linker arguments are duplicated.
11081
11082 2009-04-09  Robert Dewar  <dewar@adacore.com>
11083
11084         * sem_ch5.adb: Minor reformatting
11085
11086 2009-04-09  Vincent Celier  <celier@adacore.com>
11087
11088         * vms_data.ads:
11089         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
11090         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
11091         New qualifier /LXDEBUG=nnn for -gnatDnnn
11092         For H820-010
11093
11094         * gnat_ugn.texi:
11095         Update documentation for VMS qualifiers equivalent to -gnatGnn and
11096         -gnatDnn
11097
11098 2009-04-09  Nicolas Setton  <setton@adacore.com>
11099
11100         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
11101         to match layout of siginfo_t in sys/signal.h.
11102
11103         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
11104
11105 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11106
11107         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
11108
11109 2009-04-09  Nicolas Setton  <setton@adacore.com>
11110
11111         * s-oscons-tmplt.c: Allow long lines in the generated spec.
11112         Add generation of Darwin-specific constants needed when binding to the
11113         pthread library.
11114
11115 2009-04-09  Robert Dewar  <dewar@adacore.com>
11116
11117         * checks.adb:
11118         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
11119         when no invalid values exist, Avoid duplicate read of atomic variable.
11120
11121         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
11122         (Standard_Unsigned): Set Is_Known_Valid
11123
11124         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
11125         subtype declaration if no constraint.
11126         (Set_Modular_Size): Set Is_Known_Valid if appropriate
11127         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
11128
11129 2009-04-09  Robert Dewar  <dewar@adacore.com>
11130
11131         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
11132         switch.ads: for numeric switches, an optional equal sign is always
11133         allowed.
11134
11135 2009-04-09  Vincent Celier  <celier@adacore.com>
11136
11137         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
11138         the case of file names is not significant.
11139
11140 2009-04-09  Vincent Celier  <celier@adacore.com>
11141
11142         * errout.adb: Remove dependency on package Style
11143
11144         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
11145         moved to Stylesw.
11146         
11147         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
11148         Styleg.
11149
11150         * errutil.adb, par.adb: Import Stylesw
11151
11152 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
11153
11154         * opt.ads: Fix typos.
11155
11156 2009-04-09  Robert Dewar  <dewar@adacore.com>
11157
11158         * einfo.adb: Minor reformatting
11159
11160 2009-04-09  Robert Dewar  <dewar@adacore.com>
11161
11162         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
11163         units.
11164
11165         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
11166
11167 2009-04-09  Robert Dewar  <dewar@adacore.com>
11168
11169         * g-comver.adb: Minor reformatting.
11170
11171 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11172
11173         * lib-load.ads (Load_Unit): Update documentation.
11174
11175 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
11176
11177         * lib-load.adb (Load_Unit): When loading the parent of a child unit
11178         named in a with_clause, retain the with_clause to preserve a
11179         limited_with indication.
11180
11181 2009-04-09  Robert Dewar  <dewar@adacore.com>
11182
11183         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
11184         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
11185         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
11186         possible to replace an OR of two separate tests.
11187
11188 2009-04-09  Robert Dewar  <dewar@adacore.com>
11189
11190         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
11191         Maximum_Messages.
11192         
11193         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
11194         warning status as well.
11195         
11196         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
11197         
11198         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
11199         Maximum_Messages.
11200         
11201         * bindusg.adb, usage.adb: Update line for -gnatm switch
11202
11203         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
11204         -mnn binder switch.
11205
11206 2009-04-09  Robert Dewar  <dewar@adacore.com>
11207
11208         * sem_ch10.adb: Minor reformatting.
11209
11210 2009-04-09  Bob Duff  <duff@adacore.com>
11211
11212         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
11213         Set Sloc of generated nodes for calls to Undefer_Aborts and
11214         Save_Occurrence to No_Location, so the debugger ignores them and
11215         therefore does not jump back and forth when single stepping.
11216
11217 2009-04-09  Robert Dewar  <dewar@adacore.com>
11218
11219         * switch-b.adb: Minor reformatting.
11220
11221 2009-04-09  Robert Dewar  <dewar@adacore.com>
11222
11223         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
11224         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
11225         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
11226         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
11227         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
11228         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
11229         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
11230         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
11231         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
11232         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
11233         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
11234
11235 2009-04-09  Robert Dewar  <dewar@adacore.com>
11236
11237         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
11238
11239         * atree.h: Add Elist26
11240
11241         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
11242         backends.
11243
11244 2009-04-09  Javier Miranda  <miranda@adacore.com>
11245
11246         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
11247         retrieve from the Dispatch_Table_Wrappers list the external name.
11248         Addition of documentation.
11249         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
11250         used to export secondary dispatch tables (in the previous version of
11251         the frontend only primary dispatch tables were exported). Addition of
11252         documentation.
11253         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
11254         dispatch table of a given tagged type. 
11255         (Make_Tags): Modified to import secondary dispatch tables.
11256
11257         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
11258         (Constant_Redeclaration): Code cleanup.
11259
11260         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
11261         Dispatch_Table_Wrappers.  Update documentation.
11262
11263         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
11264         Renamed to Dispatch_Table_Wrappers.
11265
11266         * sem_util.adb (Collect_Interface_Components): Improve handling of
11267         private types.
11268
11269         * atree.ads (Elist26, Set_Elist26): New subprograms
11270
11271         * atree.adb (Elist26, Set_Elist26): New subprograms
11272
11273 2009-04-09  Javier Miranda  <miranda@adacore.com>
11274
11275         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
11276         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
11277         tagged types.
11278
11279 2009-04-09  Robert Dewar  <dewar@adacore.com>
11280
11281         * s-direio.adb: Minor reformatting
11282
11283         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
11284
11285 2009-04-09  Robert Dewar  <dewar@adacore.com>
11286
11287         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
11288
11289 2009-04-09  Pascal Obry  <obry@adacore.com>
11290
11291         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
11292         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
11293         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
11294         a-filico.ads: Add some missing overriding keywords.
11295
11296 2009-04-09  Pascal Obry  <obry@adacore.com>
11297
11298         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
11299         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
11300         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
11301         reformatting.
11302
11303 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
11304
11305         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
11306         missing overriding indicator if the new declaration is not seen as
11307         primitive.
11308
11309 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11310
11311         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
11312         overflows in computation of bounds.
11313
11314 2009-04-09  Pascal Obry  <obry@adacore.com>
11315
11316         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
11317         typos in comment.
11318
11319 2009-04-09  Robert Dewar  <dewar@adacore.com>
11320
11321         * sem_attr.adb (Check_Stream_Attribute): Check violation of
11322         restriction No_Streams
11323
11324         * gnat_rm.texi: Clarify No_Streams restriction
11325
11326         * g-socket.adb: Minor reformatting.
11327
11328 2009-04-09  Thomas Quinot  <quinot@adacore.com>
11329
11330         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
11331
11332 2009-04-09  Geert Bosch  <bosch@adacore.com>
11333
11334         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
11335         (Set_Result): Likewise.
11336         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
11337         conversion, as required by RM 4.6(31).
11338
11339 2009-04-08  Robert Dewar  <dewar@adacore.com>
11340
11341         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
11342         suppressed.
11343         
11344         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
11345         resolution steps.
11346
11347 2009-04-08  Robert Dewar  <dewar@adacore.com>
11348
11349         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
11350         No_Local_Allocators restriction preventing local instantiation.
11351
11352 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11353
11354         * sem_eval.adb: Minor comment fix
11355
11356 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11357
11358         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
11359         New limited controlled type used to automate the initialization and
11360         finalization of the sockets implementation.
11361         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
11362
11363 2009-04-08  Vincent Celier  <celier@adacore.com>
11364
11365         * prj-attr.adb: New read-only project-level attribute Project_Dir
11366
11367         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
11368         read-only attribute of the same name.
11369         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
11370         (Recursive_Process): Ditto
11371
11372         * snames.adb: Add new standard name Project_Dir
11373
11374         * snames.ads: Add new standard name Project_Dir
11375
11376 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11377
11378         * checks.adb: Minor reformatting
11379
11380 2009-04-08  Vincent Celier  <celier@adacore.com>
11381
11382         * vms_data.ads: Add documentation for new style keyword
11383         OVERRIDING_INDICATORS
11384
11385 2009-04-08  Robert Dewar  <dewar@adacore.com>
11386
11387         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
11388         spec is in the current unit.
11389
11390 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11391
11392         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
11393         presence of entity.
11394
11395         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
11396
11397 2009-04-08  Vincent Celier  <celier@adacore.com>
11398
11399         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
11400
11401 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11402
11403         * checks.ads: Minor reformatting
11404
11405 2009-04-08  Robert Dewar  <dewar@adacore.com>
11406
11407         * gnat_rm.texi: Update documentation of pragma Obsolescent
11408         
11409         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
11410         be omitted, and allow Entity parameter to be omitted.
11411
11412 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11413
11414         * exp_util.adb: Minor comment fix
11415
11416 2009-04-08  Robert Dewar  <dewar@adacore.com>
11417
11418         * g-socket.ads: Fix bad syntax in pragma Obsolescent
11419
11420         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
11421         argument with no identifier following one that has an identifier. Was
11422         missed in some cases.
11423
11424         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
11425         identifier.
11426         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
11427
11428         * snames.adb: Add Name_Policy
11429
11430         * snames.ads: Add Name_Policy
11431
11432 2009-04-08  Robert Dewar  <dewar@adacore.com>
11433
11434         * gnat_rm.texi: Minor reformatting
11435
11436         * par-ch2.adb: Minor reformatting
11437
11438 2009-04-08  Robert Dewar  <dewar@adacore.com>
11439
11440         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
11441
11442 2009-04-08  Robert Dewar  <dewar@adacore.com>
11443
11444         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
11445         properly in the presence of Remote_Types or Remote_Call_Interface.
11446
11447         * sem_util.adb: Add comment.
11448
11449 2009-04-08  Robert Dewar  <dewar@adacore.com>
11450
11451         * ug_words: Add /ASSUME_VALID for -gnatB
11452
11453         * vms_data.ads: Add /ASSUME_VALID for -gnatB
11454
11455         * sem_cat.adb: Add clarifying commment
11456
11457         * a-direio.ads (Bytes): Make sure value is non-zero
11458
11459 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11460
11461         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
11462         that does not come from source, check for a rewritten function call in
11463         prefixed notation before other forms of rewriting.
11464
11465 2009-04-08  Robert Dewar  <dewar@adacore.com>
11466
11467         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
11468         these are now obsolescent units used only for bootrapping with an
11469         older compiler.
11470
11471 2009-04-08  Robert Dewar  <dewar@adacore.com>
11472
11473         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
11474
11475         * sem_ch3.adb: Minor comment updates
11476
11477 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11478
11479         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
11480         that come from source.
11481
11482 2009-04-08  Tristan Gingold  <gingold@adacore.com>
11483
11484         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
11485         * gcc-interface/decl.c (prepend_attributes): New case
11486         Pragma_Thread_Local_Storage.
11487         * gcc-interface/utils.c (process_attributes): New case
11488         ATTR_THREAD_LOCAL_STORAGE.
11489
11490 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11491
11492         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
11493         by the back-end if it contains a call to a subprogram without a
11494         previous spec that is declared in the same unit.
11495
11496         * errout.ads: Update comments on uses of dirs
11497
11498 2009-04-08  Robert Dewar  <dewar@adacore.com>
11499
11500         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
11501
11502 2009-04-08  Tristan Gingold  <gingold@adacore.com>
11503
11504         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
11505         variables.
11506         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
11507
11508 2009-04-08  Vincent Celier  <celier@adacore.com>
11509
11510         * prj-nmsc.adb:
11511         (Add_Source): Add the mapping of the unit name to source file name in
11512         the Unit_Sources_HT hash table, if the unit name is not null.
11513
11514         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
11515
11516         * prj.ads (Unit_Sources_Htable): New hash table instantiation
11517         (Project_Tree_Data): New component Unit_Sources_HT
11518
11519 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11520
11521         * sem_ch8.adb: Minor reformatting.
11522         Minor code reorganization.
11523
11524 2009-04-08  Robert Dewar  <dewar@adacore.com>
11525
11526         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
11527         snames.ads, freeze.adb, par-prag.adb: Add implementation of
11528         pragma Thread_Local_Storage, setting new flag
11529         Has_Pragma_Thread_Local_Storage in corresponding entities.
11530
11531 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11532
11533         * prj.ads: Update comment on switches file
11534
11535         * prj-nmsc.adb: Code clean up. Use renaming clauses.
11536
11537 2009-04-08  Robert Dewar  <dewar@adacore.com>
11538
11539         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
11540
11541 2009-04-08  Thomas Quinot  <quinot@adacore.com>
11542
11543         * ali-util.adb: Minor comment fix
11544
11545 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
11546
11547         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
11548         appears in a context clause, and the enclosing package is mentioned in
11549         a limited_with_clause.
11550         (Use_One_Type): Reject clause if type is still incomplete.
11551
11552 2009-04-08  Emmanuel Briot  <briot@adacore.com>
11553
11554         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
11555         avoid copies of Source_Data variables when possible, since these
11556         involve calls to memcpy() which are done too many times.
11557
11558 2009-04-08  Robert Dewar  <dewar@adacore.com>
11559
11560         * exp_ch4.adb (Expand_Concatenate): Clean up code
11561
11562 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11563
11564         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
11565         type for the case of concatenating a constrained array indexed by an
11566         enumeration type.
11567
11568 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11569
11570         * sem_ch6.adb (Check_Conformance): when checking conformance of an
11571         operation that overrides an abstract operation inherited from an
11572         interface, return False if only one of the controlling formals is an
11573         access parameter.
11574
11575 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11576
11577         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
11578         mandated by AI05-105.
11579
11580 2009-04-07  Vincent Celier  <celier@adacore.com>
11581
11582         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
11583
11584 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11585
11586         * usage.adb: Minor fix in usage message.
11587
11588         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
11589         match declaration; the correct subtype is Node_Id, not Entity_Id,
11590         because the expected node kind is an identifier, not a defining
11591         identifier.
11592
11593         * switch-c.adb: Minor reformatting.
11594
11595         * uintp.adb: Minor reformatting.
11596
11597 2009-04-07  Robert Dewar  <dewar@adacore.com>
11598
11599         * exp_ch13.adb: Minor reformatting
11600
11601 2009-04-07  Robert Dewar  <dewar@adacore.com>
11602
11603         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
11604         against missing parent.
11605
11606 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11607
11608         * xoscons.adb: Minor reformatting
11609
11610 2009-04-07  Robert Dewar  <dewar@adacore.com>
11611
11612         * rtsfind.ads: Remove obsolete string concatenation entries
11613
11614 2009-04-07  Robert Dewar  <dewar@adacore.com>
11615
11616         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
11617
11618 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11619
11620         * sem_ch10.adb (Check_Body_Required): Handle properly imported
11621         subprograms.
11622
11623 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
11624
11625         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
11626         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
11627         is of a scalar or string type then suppress the setting of the
11628         expression to Empty.
11629
11630         * freeze.adb (Warn_Overlay): Also emit the warnings about default
11631         initialization for the cases of scalar and string objects when
11632         Init_Or_Norm_Scalars is True.
11633
11634 2009-04-07  Bob Duff  <duff@adacore.com>
11635
11636         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
11637
11638 2009-04-07  Bob Duff  <duff@adacore.com>
11639
11640         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
11641         Form parameter of Text_Translation=No allows binary mode for Text_IO
11642         files.
11643
11644         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
11645
11646 2009-04-07  Javier Miranda  <miranda@adacore.com>
11647
11648         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
11649         processing the bounds for bit packed arrays or VM target machines.
11650
11651 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11652
11653         * g-sothco.ads (Int_Access): Remove extraneous access type (use
11654         anonymous access instead).
11655         (Get_Socket_From_Set): Fix incorrectly reverted formals
11656         Last and Socket to match the underlying C routine.
11657
11658         * g-socket.adb, g-socket.ads
11659         (Get): Use named parameter associations instead of positional ones in
11660         call go Get_Socket_From_Set, since this routine has two formals of the
11661         same type.
11662         (Image): New procedure.
11663
11664         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11665         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
11666         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
11667         for type of Arg formal.
11668
11669         * sem_warn.adb: Minor reformatting
11670
11671 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11672
11673         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
11674         over record components.
11675
11676 2009-04-07  Nicolas Roche  <roche@adacore.com>
11677
11678         * gsocket.h:
11679         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
11680         has disappeared between VxWorks 6.4 and VxWorks 6.5
11681         In RTP mode use time.h instead of times.h
11682
11683 2009-04-07  Robert Dewar  <dewar@adacore.com>
11684
11685         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
11686
11687 2009-04-07  Kevin Pouget  <pouget@adacore.com>
11688
11689         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
11690         expanded code for constrained types.
11691
11692 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11693
11694         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
11695         AI05-105: in an object renaming declaration, anonymousness is a name
11696         resolution rule.
11697
11698         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
11699
11700 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11701
11702         * g-comlin.adb (Expansion): Fix old regression: also return directory
11703         names when matching.
11704
11705 2009-04-07  Robert Dewar  <dewar@adacore.com>
11706
11707         * exp_ch4.adb:
11708         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
11709         (Expand_Concatenate): New name for Expand_Concatenate_String which has
11710         been rewritten to handle all types.
11711         (Expand_Concatenate_Other): Remove
11712
11713 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11714
11715         * lib-xref.adb (Generate_Reference): A default subprogram in an
11716         instance appears within the tree for the instance, but generates an
11717         implicit reference in the ALI.
11718
11719 2009-04-07  Javier Miranda  <miranda@adacore.com>
11720
11721         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
11722         derived type that has discriminants, propagate the list of interfaces
11723         to the corresponding new base type. In addition, propagate also
11724         attribute Limited_Present (found working in this patch).
11725
11726 2009-04-07  Robert Dewar  <dewar@adacore.com>
11727
11728         * exp_ch4.adb: Rewrite concatenation expansion.
11729
11730 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11731
11732         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
11733         relevant to packages.
11734
11735 2009-04-07  Robert Dewar  <dewar@adacore.com>
11736
11737         * sem_attr.adb: Minor reformatting
11738
11739         * sem_ch6.adb: Minor reformatting
11740
11741 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11742
11743         * socket.c: Add more protections against S_resolvLib_ macros.
11744
11745 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11746
11747         * sem_attr.adb: Minor reformatting
11748
11749 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11750
11751         * sem_ch6.adb (New_Overloaded_Entity): New predicate
11752         Is_Overriding_Alias to handle properly types that inherit two homonym
11753         operations that have distinct dispatch table entries.
11754
11755 2009-04-07  Emmanuel Briot  <briot@adacore.com>
11756
11757         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
11758         looking for the end of a parenthesis group
11759
11760 2009-04-07  Tristan Gingold  <gingold@adacore.com>
11761
11762         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
11763
11764         * socket.c Don't use resolvLib_ macros if not defined.
11765
11766 2009-04-07  Robert Dewar  <dewar@adacore.com>
11767
11768         * g-socket.adb: Minor reformatting.
11769
11770         * g-socthi-mingw.adb: Minor reformatting
11771
11772         * g-sothco.ads: Minor reformatting
11773
11774         * exp_ch4.adb:
11775         (Expand_Concatenate_String): Complete rewrite to generate efficient code
11776         inline instead of relying on external library routines.
11777
11778         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
11779         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
11780         obsolescent
11781
11782 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11783
11784         * sem_attr.adb:
11785         (Eval_Attribute): for attributes of array objects that are not strings,
11786         attributes are not static if nominal subtype of object is unconstrained.
11787
11788 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
11789
11790         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
11791         operations for a type T in an instance do not override each other,
11792         when T is derived from a formal private type, the corresponding
11793         operations inherited by a type derived from T outside
11794         of the instance do not override each other either.
11795
11796 2009-04-07  Robert Dewar  <dewar@adacore.com>
11797
11798         (Osint.Fail): Change calling sequence to have one string arg
11799         (Make.Make_Failed): Same change
11800         All callers are adjusted to use concatenation
11801
11802 2009-04-07  Robert Dewar  <dewar@adacore.com>
11803
11804         * exp_ch4.adb: Fix documentation typo
11805
11806 2009-04-07  Robert Dewar  <dewar@adacore.com>
11807
11808         * tbuild.ads: Minor reformatting
11809
11810 2009-04-07  Javier Miranda  <miranda@adacore.com>
11811
11812         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
11813         when compiling under ZFP runtime.
11814
11815 2009-04-07  Robert Dewar  <dewar@adacore.com>
11816
11817         * g-comlin.adb: Minor reformatting
11818
11819 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11820
11821         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11822         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
11823         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
11824         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
11825
11826 2009-04-07  Robert Dewar  <dewar@adacore.com>
11827
11828         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
11829
11830         * opt.ads (Sprint_Line_Limit): New parameter
11831         
11832         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
11833         
11834         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
11835         
11836         * usage.adb: Output information for -gnatGnn -gnatDnn
11837
11838 2009-04-07  Robert Dewar  <dewar@adacore.com>
11839
11840         * make.adb: Minor reformatting
11841
11842 2009-04-07  Robert Dewar  <dewar@adacore.com>
11843
11844         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
11845
11846 2009-04-07  Robert Dewar  <dewar@adacore.com>
11847
11848         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
11849
11850 2009-04-07  Robert Dewar  <dewar@adacore.com>
11851
11852         * checks.adb:
11853         Remove Assume_Valid parameter from In_Subrange_Of calls
11854         
11855         * sem_eval.adb:
11856         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11857         (Is_In_Range): Remove incorrect use of Assume_Valid
11858         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
11859         
11860         * sem_eval.ads:
11861         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11862         (Is_In_Range): Documentation cleanup
11863         (Is_Out_Of_Range): Documentation cleanup
11864
11865         * gnat_rm.texi:
11866         Add documentation for Assume_No_Invalid_Values pragma
11867
11868         * sem_ch12.adb: Minor reformatting
11869
11870         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
11871
11872         * sem_prag.adb: Improve error message.
11873
11874         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
11875         LF/CR no longer recognized as line terminator
11876
11877         * switch.ads: Minor documentation improvement
11878
11879         * vms_data.ads: Minor reformatting
11880
11881 2009-04-07  Robert Dewar  <dewar@adacore.com>
11882
11883         * checks.adb (Determine_Range): Add Assume_Valid parameter
11884         
11885         * checks.ads (Determine_Range): Add Assume_Valid parameter
11886         
11887         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
11888          Is_Null_Loop to suppress warnings in a loop body.
11889         
11890         * exp_ch4.adb:
11891         (Rewrite_Comparison): Major rewrite to accomodate invalid values
11892         
11893         * exp_ch5.adb:
11894         (Expand_N_Loop_Statement): Delete loop known not to execute
11895         
11896         * opt.ads:
11897         (Assume_No_Invalid_Values): Now set to False, and as documented, this
11898          fully enables the proper handling of invalid values.
11899         
11900         * sem_attr.adb:
11901         New calling sequence for Is_In_Range
11902         
11903         * sem_ch5.adb:
11904         (Analyze_Iteration_Scheme): Accomodate possible invalid values
11905          in determining if a loop range is null.
11906         
11907         * sem_eval.adb:
11908         (Is_In_Range): Add Assume_Valid parameter
11909         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11910         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
11911          also to do more accurate and complete range analysis, catching more
11912          cases.
11913         
11914         * sem_eval.ads:
11915         (Is_In_Range): Add Assume_Valid parameter
11916         (Is_Out_Of_Range): Add Assume_Valid_Parameter
11917         
11918         * sem_util.adb:
11919         New calling sequence for Is_In_Range
11920         
11921         * sinfo.adb:
11922         (Suppress_Loop_Warnings): New flag
11923         
11924         * sinfo.ads:
11925         (Is_Null_Loop): Update documentation
11926         (Suppress_Loop_Warnings): New flag
11927         
11928         * gnat_ugn.texi: Document -gnatB switch
11929
11930 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
11931
11932         * gnatvsn.ads: Bump version number.
11933
11934 2009-04-07  Thomas Quinot  <quinot@adacore.com>
11935
11936         * exp_ch3.adb: Minor rewording (comments)
11937
11938 2009-04-07  Robert Dewar  <dewar@adacore.com>
11939
11940         * exp_disp.adb: Minor reformatting
11941
11942 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11943
11944         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
11945         underlying type.
11946         * gcc-interface/trans.c (lvalue_required_p): Likewise.
11947
11948 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11949
11950         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
11951         Do not convert the result.  Remove obsolete comment.
11952
11953 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11954
11955         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
11956         DECL_CONTEXT.
11957         (Subprogram_Body_to_gnu): Fix pasto.
11958
11959 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11960
11961         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
11962         (void_type_decl_node): Remove.
11963         (init_gigi_decls): Likewise.
11964         (gnat_install_builtins): Declare.
11965         (record_builtin_type): Likewise.
11966         (create_type_stub_decl): Likewise.
11967         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
11968         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
11969         artificial.
11970         <E_Array_Subtype>: Use the index types, not only their name, in the
11971         record giving the names of the bounds, if any.
11972         For a packed array type, make it artificial only if the base type
11973         was artificial as well.  Remove redundant statement.
11974         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
11975         dummy types.
11976         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
11977         (rest_of_type_decl_compilation_no_defer): Likewise.
11978         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
11979         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
11980         and use create_type_stub_decl to build it.
11981         (gnat_pushdecl): Rewrite condition.
11982         (gnat_install_builtins): Remove bogus declaration.
11983         (record_builtin_type): New function.
11984         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
11985         of types.
11986         (create_type_stub_decl): New function.
11987         (create_type_decl): Assert that the type is not dummy.  If the type
11988         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
11989         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
11990         (build_vms_descriptor): Likewise.
11991         (init_gigi_decls): Delete and move bulk of code to...
11992         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
11993         (emit_range_check): Add gnat_node parameter.
11994         (emit_index_check): Likewise.
11995         (emit_check): Likewise.
11996         (build_unary_op_trapv): Likewise.
11997         (build_binary_op_trapv): Likewise.
11998         (convert_with_check): Likewise.
11999         (Attribute_to_gnu): Adjust calls for above changes.
12000         (call_to_gnu): Likewise.
12001         (gnat_to_gnu): Likewise.
12002         (assoc_to_constructor): Likewise.
12003         (pos_to_constructor): Likewise.
12004         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
12005         (process_type): Do not create TYPE_DECL for dummy types.
12006
12007 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
12008
12009         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
12010         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
12011         * gcc-interface/utils.c: Fix comments.
12012
12013 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
12014
12015         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
12016         move around.
12017         (gnat_to_gnu_type): Move around.
12018         (get_unpadded_type): Likewise.
12019         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
12020         Tidy comments.
12021
12022 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
12023
12024         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
12025         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
12026         (call_to_gnu): Invoke it instead of manually checking.
12027
12028 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
12029
12030         * gcc-interface/utils.c (finish_record_type): Force structural equality
12031         checks if the record type is discriminated.
12032
12033 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
12034
12035         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
12036         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
12037         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
12038         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
12039         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
12040         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
12041         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
12042
12043 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
12044
12045         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
12046         of TREE_CONSTANT_OVERFLOW.
12047
12048 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
12049
12050         PR rtl-optimization/323
12051         * gcc-interface/misc.c (gnat_post_options): Set
12052         flag_excess_precision_cmdline.  Give an error for
12053         -fexcess-precision=standard for processors where the option is
12054         significant.
12055
12056 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
12057
12058         PR c/39323
12059         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
12060         on bit_align.
12061
12062 2009-03-11  Olivier Hainque  <hainque@adacore.com>
12063
12064         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
12065         checks processing, remove unintended TREE_TYPE walk on index type.
12066
12067 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
12068
12069         PR ada/39264
12070         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
12071         call make_packable_type on fat pointer types.
12072         <E_Array_Subtype>: Likewise.
12073         <E_Record_Subtype>: Call make_packable_type on all record types
12074         except for fat pointer types.
12075         (make_packable_type): Likewise.
12076         (gnat_to_gnu_field): Likewise.
12077
12078 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
12079
12080         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
12081         EH_MECHANISM change made on 2007-12-06.
12082
12083 2009-02-26  Andreas Schwab  <schwab@suse.de>
12084
12085         PR ada/39172
12086         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
12087         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
12088         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
12089         (AWK): Substitute.
12090         (target_cpu_default): Substitute.
12091
12092 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
12093
12094         PR ada/39221
12095         * a-teioed.adb (Expand): Fix Result overflow.
12096
12097 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
12098
12099         * gcc-interface/Makefile.in: Fix multilib handling for
12100         sparc64-linux.
12101
12102 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12103
12104         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
12105
12106 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
12107
12108         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
12109
12110 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
12111
12112         * gcc-interface/deftarg.c: Remove.
12113
12114 2009-02-10  Olivier Hainque  <hainque@adacore.com>
12115             Eric Botcazou  <ebotcazou@adacore.com>
12116
12117         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
12118         (copy_alias_set): Rename into...
12119         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
12120         underlying array of unconstrained arrays for the new type as well.
12121         If the old and new alias sets don't conflict, make one a subset of
12122         the other as per the OP parameter.
12123         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
12124         <E_Record_Type>: Do not copy the alias set for derived types.
12125         For all types, make the alias set of derived types a superset of
12126         that of their parent type.
12127         (make_aligning_type): Adjust calls to copy_alias_set.
12128         (make_packable_type): Likewise.
12129         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
12130         Check for alias set conflict instead of strict equality to issue the
12131         warning.
12132
12133 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
12134
12135         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
12136         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
12137         (copy_alias_set): Assert that arrays have the same aliasing settings.
12138         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
12139
12140 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
12141
12142         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
12143         Set TYPE_NONALIASED_COMPONENT on the array type.
12144
12145 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
12146
12147         * gcc-interface/Makefile.in: Fix mipsel linux handling.
12148
12149 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
12150
12151         * gcc-interface/Makefile.in: Fix multilib handling for
12152         powerpc64-linux.
12153
12154 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
12155
12156         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
12157         only useless conversions around renamed objects.
12158
12159 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
12160
12161         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
12162         the _Tag field before any discriminants in the field list.
12163         (components_to_record): Remove obsolete comment.
12164
12165
12166 \f
12167 Copyright (C) 2009 Free Software Foundation, Inc.
12168
12169 Copying and distribution of this file, with or without modification,
12170 are permitted in any medium without royalty provided the copyright
12171 notice and this notice are preserved.