OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [gcc/] [ada/] [ChangeLog-2009] - Blame information for rev 826

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 281 jeremybenn
2009-12-10  Eric Botcazou  
2
 
3
        * s-linux-sparc.ads: New file.
4
        * gcc-interface/Makefile.in (SPARC/Linux): Use it.
5
 
6
2009-12-04  Eric Botcazou  
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) : 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  
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  
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  
31
 
32
        * g-sechas.ads (GNAT.Secure_Hashes.H."=" on Context): Make abstract.
33
 
34
2009-12-01  Matthew Gingell  
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  
44
 
45
        * gnatcmd.adb (Check_Files): Quote the path names as they may include
46
        spaces.
47
 
48
2009-12-01  Ed Schonberg  
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  
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  
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  
71
 
72
        * scos.ads: Updated specification of source coverage obligation
73
        information.
74
 
75
2009-12-01  Thomas Quinot  
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  
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  
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  
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  
101
 
102
        * exp_ch9.adb, exp_ch9.ads, sem_util.ads: Minor reformatting.
103
 
104
2009-11-30  Gary Dismukes  
105
 
106
        * sem_prag.adb: Fix spelling error.
107
 
108
2009-11-30  Ed Schonberg  
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  
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  
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  
133
 
134
        * a-tiinio.adb: Remove extraneous pragma Warnings (Off).
135
 
136
2009-11-30  Thomas Quinot  
137
 
138
        * par_sco.adb: Minor reformatting
139
 
140
2009-11-30  Ed Falis  
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  
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  
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  
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  
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  
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  
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  
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  
197
 
198
        * g-sechas.adb: Minor reformatting
199
 
200
2009-11-30  Matthew Heaney  
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  
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  
217
 
218
        * osint.ads: Minor comment update.
219
 
220
2009-11-30  Thomas Quinot  
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  
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  
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  
245
 
246
        * sem_prag.adb, s-sechas.ads, s-sechas.adb: Minor reformatting.
247
 
248
2009-11-30  Gary Dismukes  
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  
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  
264
 
265
        * exp_ch3.adb: Minor reformatting
266
        * g-md5.ads, g-sha1.ads: Add comment.
267
 
268
2009-11-30  Arnaud Charlet  
269
 
270
        * gcc-interface/Makefile.in: Remove handling of libgccprefix, no longer
271
        needed.
272
 
273
2009-11-30  Pascal Obry  
274
 
275
        * expect.c: Fix cast to avoid warnings in x86-64 Windows.
276
 
277
2009-11-30  Thomas Quinot  
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  
288
 
289
        * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve comment for
290
        the Value_Type case.
291
 
292
2009-11-30  Thomas Quinot  
293
 
294
        * a-textio.adb: Minor reformatting
295
 
296
2009-11-30  Pascal Obry  
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  
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  
309
 
310
        * prj-env.adb (Add_To_Source_Path): Preserve casing of directories
311
 
312
2009-11-30  Vincent Celier  
313
 
314
        * opt.ads (No_Split_Units): New flag initialized to False
315
 
316
2009-11-30  Jerome Lambourg  
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  
323
 
324
        * osint.adb, a-rttiev.adb: Minor reformatting.
325
 
326
2009-11-30  Robert Dewar  
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  
337
 
338
        * a-ngelfu.adb (Sin): Correct spelling of sine in comment.
339
 
340
2009-11-30  Vincent Celier  
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  
346
 
347
        * osint.adb, osint.ads (File_Time_Stamp): new subprogram.
348
 
349
2009-11-30  Ed Schonberg  
350
 
351
        * gnat_rm.texi, gnat_ugn.texi: Document new syntax for pragma Annotate
352
 
353
2009-11-30  Robert Dewar  
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  
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  
373
 
374
        * gnatcmd.adb (Check_Files): Recognize documented switches that have a
375
        separate parameter.
376
 
377
2009-11-30  Robert Dewar  
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  
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  
391
 
392
        * sem_prag.adb: Second unanalyzed parameter of Annotate is optional.
393
 
394
2009-11-30  Eric Botcazou  
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  
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  
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  
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  
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  
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  
433
 
434
        * sem_prag.adb: New semantics for Annotate.
435
 
436
2009-11-30  Tristan Gingold  
437
 
438
        * gcc-interface/Makefile.in: Do not link with -static-libgcc on Darwin.
439
 
440
2009-11-30  Emmanuel Briot  
441
 
442
        * gnat_ugn.texi: Extend doc for -eL
443
 
444
2009-11-30  Vincent Celier  
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  
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  
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  
460
 
461
        * gnat_ugn.texi: Update gnatcheck doc.
462
 
463
2009-11-30  Robert Dewar  
464
 
465
        * sem_ch3.adb, sem_disp.adb, usage.adb: Minor reformatting
466
 
467
2009-11-30  Vasiliy Fofanov  
468
 
469
        * gnat_ugn.texi: Minor editing.
470
 
471
2009-11-30  Emmanuel Briot  
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  
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  
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  
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  
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  
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  
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  
544
 
545
        * prj-tree.ads: Minor comment updates
546
        * prj-tree.adb: Minor reformatting
547
 
548
2009-11-30  Ed Schonberg  
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  
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  
568
 
569
        * gnat_rm.texi: Document pragma Short_Circuit
570
 
571
2009-11-30  Emmanuel Briot  
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  
579
 
580
        * gcc-interface/Make-lang.in: Fix typo.
581
        Update dependencies.
582
 
583
2009-11-30  Robert Dewar  
584
 
585
        * gnat_rm.texi: Add documentation for attribute Result.
586
 
587
2009-11-30  Arnaud Charlet  
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  
594
 
595
        * freeze.adb: Disable Warning on VM targets concerning C Imports, not
596
        relevant.
597
 
598
2009-11-30  Bob Duff  
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  
605
 
606
        * gnatlink.adb (Process_Args): Do not call Executable_Name on arguments
607
        of switch -o.
608
 
609
2009-11-30  Robert Dewar  
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  
619
 
620
        * s-taprop-posix.adb: Fix casing.
621
        * s-osinte-tru64.adb: Complete previous check-in.
622
 
623
2009-11-30  Robert Dewar  
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  
634
 
635
        * makeutl.adb, makeutl.ads, prj-proc.adb, prj.adb, prj.ads: Minor
636
        reformatting.
637
 
638
2009-11-30  Thomas Quinot  
639
 
640
        * osint.adb: Minor reformatting
641
 
642
2009-11-30  Vincent Celier  
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  
669
 
670
        * s-tassta.adb: Update comment.
671
 
672
2009-11-30  Robert Dewar  
673
 
674
        * a-ngelfu.adb: Minor code reorganization.
675
 
676
2009-11-30  Robert Dewar  
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  
687
 
688
        * g-sttsne-locking.adb (Copy_Service_Entry): Complete previous change.
689
 
690
2009-11-30  Bob Duff  
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  
700
 
701
        * s-stchop-vxworks.adb: Add comment.
702
 
703
2009-11-30  Emmanuel Briot  
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  
713
 
714
        * gnat_ugn.texi: Update gnatcheck doc.
715
 
716
2009-11-30  Robert Dewar  
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  
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  
738
 
739
        * g-dyntab.ads: Add missing pragma Compiler_Unit
740
 
741
2009-11-30  Thomas Quinot  
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  
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  
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  
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  
777
 
778
        * g-arrspl.adb: Minor reformatting
779
        * g-dyntab.adb: Add missing pragma Compiler_Unit
780
 
781
2009-11-30  Thomas Quinot  
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  
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  
793
 
794
        * a-crbtgo.adb (Delete_Fixup): Changed always-true predicates to
795
        assertions.
796
 
797
2009-11-30  Thomas Quinot  
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  
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  
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  
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  
832
 
833
        * gcc-interface/trans.c (gnat_to_gnu) : 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  
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  
843
 
844
        * gcc-interface/decl.c (gnat_to_gnu_entity) :
845
        Translate regular boolean types into BOOLEAN_TYPEs.
846
 
847
2009-11-24  Eric Botcazou  
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  
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) :
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  
891
 
892
        * gcc-interface/decl.c (gnat_to_gnu_entity) : 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  
898
            Eric Botcazou  
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  
920
 
921
        * adaint.h: Assume large file support on IRIX only if _LFAPI.
922
 
923
2009-11-21  Laurent GUERBY  
924
            Eric Botcazou  
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  
935
            Laurent GUERBY  
936
 
937
        * init.c (GNU/Linux Section): Enable for all architectures.
938
 
939
2009-11-10  Eric Botcazou  
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  
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  
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  
993
 
994
        * gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes.
995
 
996
2009-11-05  Eric Botcazou  
997
 
998
        * gcc-interface/trans.c (lvalue_required_p) :
999
        New case.
1000
 
1001
2009-10-30  Eric Botcazou  
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  
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.
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  
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  
1027
 
1028
        * gnatlink.adb, link.c: By default use shared libgcc on darwin.
1029
 
1030
2009-10-30  Emmanuel Briot  
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 and -aO are specified).
1038
 
1039
2009-10-30  Thomas Quinot  
1040
 
1041
        * a-direct.adb: Minor reformatting
1042
 
1043
2009-10-30  Emmanuel Briot  
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  
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  
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  
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  
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  
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  
1092
 
1093
        * usage.adb: Add -gnatw.i switch.
1094
 
1095
2009-10-30  Vincent Celier  
1096
 
1097
        * xsnamest.adb: Update comments with regards to the template files
1098
        snames.*.tmpl
1099
 
1100
2009-10-30  Bob Duff  
1101
 
1102
        * s-fileio.adb (Errno_Message): Suppress VMS-specific warning.
1103
 
1104
2009-10-30  Ed Schonberg  
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  
1119
 
1120
        * exp_aggr.adb, exp_ch9.adb: Minor reformatting
1121
 
1122
2009-10-29  Eric Botcazou  
1123
 
1124
        * gcc-interface/decl.c (make_type_from_size) : Do not
1125
        create integer types with precision 0.
1126
 
1127
2009-10-29  Eric Botcazou  
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  
1137
 
1138
        * gcc-interface/trans.c (Attribute_to_gnu) : Do not
1139
        return the RM size for padded types.
1140
 
1141
2009-10-28  Robert Dewar  
1142
 
1143
        * sem_type.adb: Minor reformatting
1144
 
1145
2009-10-28  Arnaud Charlet  
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  
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  
1157
 
1158
        * s-fileio.adb: Give more information in exception messages.
1159
 
1160
2009-10-28  Robert Dewar  
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  
1168
 
1169
        * s-crtl.ads (System.CRTL.strerror): New function.
1170
 
1171
2009-10-28  Ed Schonberg  
1172
 
1173
        * sem_type.adb: Add guard to recover some type errors.
1174
 
1175
2009-10-28  Vincent Celier  
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  
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  
1189
 
1190
        * prj-tree.adb (Free): Fix memory leak.
1191
 
1192
2009-10-28  Thomas Quinot  
1193
 
1194
        * s-fileio.adb: Minor reformatting
1195
 
1196
2009-10-28  Arnaud Charlet  
1197
 
1198
        * gcc-interface/Make-lang.in: Update dependencies.
1199
 
1200
2009-10-28  Robert Dewar  
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  
1206
 
1207
        * init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard)
1208
 
1209
2009-10-28  Thomas Quinot  
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  
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  
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  
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  
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  
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  
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  
1278
 
1279
        * sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add
1280
        comments.
1281
 
1282
2009-10-27  Robert Dewar  
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  
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  
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  
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  
1312
 
1313
        * gnatbind.adb: Minor reformatting
1314
 
1315
2009-10-27  Arnaud Charlet  
1316
 
1317
        * exp_aggr.adb: Fix comment.
1318
 
1319
2009-10-27  Emmanuel Briot  
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  
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  
1331
 
1332
        * gcc-interface/decl.c (gnat_to_gnu_entity) : 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  
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  
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  
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  
1354
 
1355
        * gcc-interfaces/utils.c (create_subprog_decl): Do not redefine
1356
        main_identifier_node.
1357
 
1358
2009-10-17  Eric Botcazou  
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  
1365
 
1366
        * gcc-interface/utils2.c (build_binary_op) : Make
1367
        sure the element type is consistent.
1368
 
1369
2009-10-17  Eric Botcazou  
1370
 
1371
        * gcc-interface/trans.c (addressable_p): Handle bitwise operations.
1372
 
1373
2009-10-16  Eric Botcazou  
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  
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 
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  
1449
 
1450
        * env.c [__alpha__ && __osf__] (AES_SOURCE): Define.
1451
 
1452
2009-10-10  Samuel Tardieu  
1453
 
1454
        * sem_eval.adb: Give a more precise error message.
1455
 
1456
2009-10-06  Samuel Tardieu  
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  
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  
1468
 
1469
        * gcc-interface/decl.c (gnat_to_gnu_entity) :
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  
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  
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  
1486
 
1487
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Factor out
1488
        common code processing the component type into...
1489
        : Likewise.
1490
        (gnat_to_gnu_component_type): ...this new static function.
1491
        (maybe_pad_type): Minor cleanup.
1492
 
1493
2009-09-29  Eric Botcazou  
1494
 
1495
        * gcc-interface/decl.c (gnat_to_gnu_entity) : 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  
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  
1517
 
1518
        * gcc-interface/utils.c (gnat_install_builtins): Update call to
1519
        build_common_builtin_nodes.
1520
 
1521
2009-09-26  Eric Botcazou  
1522
 
1523
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Filter out
1524
        negative size for the array dimensions like in the constrained case.
1525
        : 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
        : Return 1 for more attributes.
1531
        : Return 1 for non-constant objects.
1532
        : 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  
1537
            Eric Botcazou  
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) : Convert
1554
        vector input to representative array type on entry.
1555
        : 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  
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  
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  
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  
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  
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  
1605
 
1606
        * mingw32.h: Activate Unicode support for x86-64 Windows platform.
1607
 
1608
2009-09-18  Vadim Godunko  
1609
 
1610
        * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
1611
 
1612
2009-09-18  Javier Miranda  
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  
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  
1625
 
1626
        * gnat_ugn.texi: Minor editing.
1627
 
1628
2009-09-18  Vincent Celier  
1629
 
1630
        * prj.ads, prj.adb (Project_Data): New component
1631
        Imported_Directories_Switches.
1632
 
1633
2009-09-18  Pascal Obry  
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  
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  
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  
1649
 
1650
        * bindgen.adb: Minor reformatting
1651
 
1652
2009-09-18  Arnaud Charlet  
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  
1661
 
1662
        * prj-tree.ads: Minor comment update
1663
 
1664
2009-09-17  Bob Duff  
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  
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  
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  
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  
1693
 
1694
        * exp_ch6.adb: Minor reformatting
1695
 
1696
2009-09-17  Emmanuel Briot  
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  
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  
1714
 
1715
        * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
1716
 
1717
2009-09-17  Emmanuel Briot  
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  
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  
1733
 
1734
        * gcc-interface/trans.c (Attribute_to_gnu) : Strip
1735
        conversions between original and packable version of types from
1736
        the expression.
1737
 
1738
2009-09-16  Eric Botcazou  
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) : Do not redeclare padding types.
1745
        : Likewise.
1746
        Adjust calls to gnat_to_gnu_field and components_to_record.
1747
 
1748
2009-09-16  Robert Dewar  
1749
 
1750
        * prj-nmsc.adb: Minor reformatting
1751
 
1752
2009-09-16  Ed Schonberg  
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  
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  
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  
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  
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  
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  
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  
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  
1839
 
1840
        * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
1841
 
1842
2009-09-14  Eric Botcazou  
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) : 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  
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  
1864
            Rafael Avila de Espindola  
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  
1876
 
1877
        PR ada/18302
1878
        * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
1879
 
1880
2009-09-08  Eric Botcazou  
1881
 
1882
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Tidy
1883
        flow of control.
1884
        Avoid useless work when processing the Treat_As_Volatile flag.
1885
 
1886
2009-09-08  Eric Botcazou  
1887
 
1888
        * gcc-interface/targtyps.c: Reorder include directives.
1889
 
1890
2009-09-07  Laurent GUERBY  
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  
1896
 
1897
        * make.adb: Add missing documentation for multilib handling.
1898
 
1899
2009-09-03  Diego Novillo  
1900
 
1901
        * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
1902
 
1903
2009-09-02  Richard Henderson  
1904
 
1905
        * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
1906
 
1907
2009-09-02  Olivier Hainque  
1908
 
1909
        * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
1910
        and uc arguments.
1911
 
1912
2009-09-02  Olivier Hainque  
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  
1918
 
1919
        * gcc-interface/trans.c (gnat_gimplify_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  
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  
1929
 
1930
        * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
1931
 
1932
2009-08-25  Eric Botcazou  
1933
 
1934
        * gcc-interface/trans.c (call_to_gnu): Tidy.
1935
        (gnat_to_gnu) : 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  
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  
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  
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) : New case.
1963
 
1964
2009-08-17  Aurelien Jarno  
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  
1973
 
1974
        * a-calend-vms.adb: Fix typo.
1975
 
1976
2009-08-17  Tristan Gingold  
1977
 
1978
        * s-taprop-posix.adb: Round up the stack size to avoid failure on
1979
        Darwin.
1980
 
1981
2009-08-17  Gary Dismukes  
1982
 
1983
        * sem_cat.adb (Validate_Static_Object_Name): Update comment.
1984
 
1985
2009-08-17  Vincent Celier  
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  
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  
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  
2008
 
2009
        * make.adb: Add ??? comment
2010
        * tbuild.adb: Minor reformatting
2011
 
2012
2009-08-17  Thomas Quinot  
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  
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  
2024
 
2025
        * tbuild.adb: Minor reformatting
2026
 
2027
2009-08-17  Ed Schonberg  
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  
2035
 
2036
        * prj-env.adb: Minor reformatting
2037
        * make.adb: Minor reformatting
2038
        Comment updates
2039
 
2040
2009-08-17  Javier Miranda  
2041
 
2042
        * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
2043
 
2044
2009-08-17  Emmanuel Briot  
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  
2052
 
2053
        * prj-env.adb: Minor reformatting
2054
        * sem_ch3.adb: Minor reformatting
2055
 
2056
2009-08-17  Hristian Kirtchev  
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  
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  
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  
2073
 
2074
        * make.adb: Handle multilib
2075
 
2076
2009-08-10  Vincent Celier  
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  
2083
 
2084
        * gnat_ugn.texi: Fix typo
2085
 
2086
2009-08-10  Robert Dewar  
2087
 
2088
        * exp_ch7.adb: Add ??? comment for last change
2089
 
2090
2009-08-10  Vincent Celier  
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  
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  
2104
 
2105
        * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
2106
        SCIL node.
2107
 
2108
2009-08-07  Robert Dewar  
2109
 
2110
        * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
2111
 
2112
2009-08-07  Vincent Celier  
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  
2120
 
2121
        * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
2122
 
2123
2009-08-07  Ed Schonberg  
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  
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  
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  
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  
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  
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  
2158
 
2159
        * exp_util.adb: Minor reformatting
2160
 
2161
2009-08-07  Vincent Celier  
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  
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  
2173
 
2174
        * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
2175
 
2176
2009-08-02  Eric Botcazou  
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  
2184
 
2185
        * gnat_ugn.texi: Correct minor texi glitch.
2186
 
2187
2009-07-30  Ed Schonberg  
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  
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  
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  
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  
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  
2226
 
2227
        * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
2228
        indicators on user-defined operators.
2229
 
2230
2009-07-29  Vadim Godunko  
2231
 
2232
        * g-socket.adb (Receive_Vector): Add comment.
2233
 
2234
2009-07-29  Javier Miranda  
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  
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  
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  
2278
 
2279
        * gcc-interface/Make-lang.in: Update dependencies.
2280
 
2281
2009-07-28  Emmanuel Briot  
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  
2290
 
2291
        * gnat_ugn.texi: Fix typo.
2292
 
2293
2009-07-28  Ed Schonberg  
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  
2302
 
2303
        * sinfo.ads: Update comments.
2304
        * exp_attr.adb: Minor reformatting
2305
 
2306
2009-07-28  Ed Schonberg  
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  
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  
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  
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  
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  
2391
 
2392
        * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
2393
 
2394
2009-07-28  Sergey Rybin  
2395
 
2396
        * gnat_ugn.texi: Add section about gnatcheck rule exemption.
2397
 
2398
2009-07-28  Vadim Godunko  
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  
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  
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  
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  
2426
 
2427
        * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
2428
 
2429
2009-07-28  Pascal Obry  
2430
 
2431
        * g-expect.adb: Record standard handles only on Windows.
2432
 
2433
2009-07-27  Emmanuel Briot  
2434
 
2435
        * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
2436
        Add comments.
2437
 
2438
2009-07-27  Sergey Rybin  
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  
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  
2451
 
2452
        * a-except.adb, a-except-2005.ads: Minor reformatting
2453
 
2454
2009-07-27  Robert Dewar  
2455
 
2456
        * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
2457
 
2458
2009-07-27  Javier Miranda  
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  
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  
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  
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  
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  
2493
 
2494
        * g-sse.ads: Minor reformatting
2495
 
2496
2009-07-27  Arnaud Charlet  
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  
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  
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  
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  
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  
2532
 
2533
        * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
2534
        rule definition.
2535
 
2536
2009-07-27  Olivier Hainque  
2537
 
2538
        * g-sse.ads, g-ssvety.ads: Update comments.
2539
 
2540
2009-07-27  Sergey Rybin  
2541
 
2542
        * gnat_ugn.texi: Update gnatcheck doc.
2543
 
2544
2009-07-27  Arnaud Charlet  
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  
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  
2558
 
2559
        * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
2560
 
2561
2009-07-27  Robert Dewar  
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  
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  
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  
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  
2601
 
2602
        * exp_ch6.adb: Minor reformatting
2603
 
2604
2009-07-23  Ed Schonberg  
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  
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  
2617
 
2618
        * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
2619
        misprint in rule description.
2620
 
2621
2009-07-23  Gary Dismukes  
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  
2630
 
2631
        * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
2632
        Minor code reorganization
2633
 
2634
2009-07-23  Arnaud Charlet  
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  
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  
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  
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  
2668
 
2669
        * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
2670
        systems.
2671
 
2672
2009-07-23  Robert Dewar  
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  
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  
2686
 
2687
        * g-sse.ads: Simplify comment.
2688
 
2689
2009-07-23  Olivier Hainque  
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  
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  
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  
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  
2722
 
2723
        * a-convec.adb: Add comments about suspicious/subtle code.
2724
 
2725
2009-07-23  Ed Schonberg  
2726
 
2727
        * einfo.ads: Document use of Alias in private overriding
2728
 
2729
2009-07-23  Thomas Quinot  
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  
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  
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  
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  
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  
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  
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  
2790
 
2791
        * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
2792
 
2793
2009-07-23  Javier Miranda  
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  
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  
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  
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  
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  
2848
 
2849
        * gnat_rm.texi: Document the GNAT.SSE units.
2850
 
2851
2009-07-23  Ed Schonberg  
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  
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  
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  
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  
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  
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  
2906
 
2907
        * ali.adb: Minor comment update
2908
 
2909
2009-07-23  Vasiliy Fofanov  
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  
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  
2924
 
2925
        * gnat_ugn.texi: Wordsmithing.
2926
 
2927
2009-07-23  Arnaud Charlet  
2928
 
2929
        * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
2930
 
2931
2009-07-22  Eric Botcazou  
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  
2937
 
2938
        * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
2939
 
2940
2009-07-22  Robert Dewar  
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  
2952
 
2953
        * gnat_ugn.texi: Update doc for some gnatcheck rules.
2954
 
2955
2009-07-22  Robert Dewar  
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  
2967
 
2968
        * g-socket.ads: Minor reformatting
2969
 
2970
2009-07-22  Gary Dismukes  
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  
2977
 
2978
        * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
2979
        with taskSuspend.
2980
 
2981
2009-07-22  Arnaud Charlet  
2982
 
2983
        * adadecode.c: Make this file compilable outside of GCC.
2984
 
2985
2009-07-22  Thomas Quinot  
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  
2992
 
2993
        * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
2994
 
2995
2009-07-22  Robert Dewar  
2996
 
2997
        * gnat_ugn.texi: Minor reformatting
2998
 
2999
2009-07-22  Ed Schonberg  
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  
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  
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  
3015
 
3016
        * exp_tss.ads, sem_eval.adb: Minor reformatting
3017
 
3018
2009-07-22  Bob Duff  
3019
 
3020
        * exp_dist.adb, exp_dist.ads: Update comments.
3021
 
3022
2009-07-22  Brett Porter  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
3098
 
3099
        * gnat1drv.adb: Fix spelling error.
3100
 
3101
2009-07-22  Javier Miranda  
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  
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  
3122
 
3123
        * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
3124
 
3125
2009-07-22  Robert Dewar  
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  
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  
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  
3155
 
3156
        * stylesw.ads: Minor documentation change.
3157
 
3158
        * types.ads: Minor reformatting
3159
 
3160
2009-07-20  Javier Miranda  
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  
3173
 
3174
        * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
3175
        CodePeer_Mode.
3176
 
3177
2009-07-20  Gary Dismukes  
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  
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  
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  
3198
 
3199
        * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
3200
        account switches -gnatw.?
3201
 
3202
2009-07-20  Thomas Quinot  
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  
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  
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  
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  
3236
 
3237
        * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
3238
 
3239
2009-07-20  Vadim Godunko  
3240
 
3241
        * a-coorma.adb: Minor reformatting.
3242
 
3243
2009-07-20  Ed Schonberg  
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  
3252
 
3253
        * g-expect.adb: Avoid closeing already closed handle.
3254
 
3255
2009-07-20  Robert Dewar  
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  
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  
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  
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  
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  
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  
3322
 
3323
        * vms_data.ads: Update qualifiers.
3324
 
3325
2009-07-20  Robert Dewar  
3326
 
3327
        * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
3328
        reformatting
3329
 
3330
2009-07-17  Richard Guenther  
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  
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  
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  
3361
 
3362
        * exp_dbug.ads (Base Record Types): Document enhanced encoding.
3363
 
3364
2009-07-15  Thomas Quinot  
3365
 
3366
        * gnatls.adb: Minor reformatting
3367
 
3368
        * gnatcmd.adb: Minor code reorganization
3369
 
3370
2009-07-15  Ed Schonberg  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
3479
 
3480
        * opt.ads: Minor comment edits
3481
 
3482
2009-07-15  Tristan Gingold  
3483
 
3484
        * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
3485
        needed.
3486
 
3487
2009-07-15  Robert Dewar  
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  
3509
 
3510
        * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
3511
        reformatting.
3512
 
3513
2009-07-15  Thomas Quinot  
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  
3520
 
3521
        * g-htable.ads, s-htable.ads: Minor reformatting
3522
 
3523
2009-07-15  Robert Dewar  
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  
3532
 
3533
        * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
3534
        Minor code reorganization
3535
 
3536
2009-07-14  Taras Glek  
3537
            Rafael Espindola  
3538
 
3539
        * gcc-interface/Make-lang.in (ada.install-plugin): New target for
3540
        installing plugin headers.
3541
 
3542
2009-07-13  Ed Schonberg  
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  
3549
 
3550
        * output.adb: Minor comment addition for last change
3551
 
3552
        * sinfo.ads: Minor reformatting
3553
 
3554
2009-07-13  Vasiliy Fofanov  
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  
3560
 
3561
        * exp_ch7.adb: Indicate origin of temporary for transient expression.
3562
 
3563
2009-07-13  Thomas Quinot  
3564
 
3565
        * s-oscons-tmplt.c: Add comment.
3566
 
3567
2009-07-13  Robert Dewar  
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  
3580
 
3581
        * exp_dist.adb: Minor comment updates.
3582
 
3583
2009-07-13  Gary Dismukes  
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  
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  
3595
 
3596
        * exp_ch4.adb: Minor comment change
3597
 
3598
2009-07-13  Ed Schonberg  
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  
3604
 
3605
        * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
3606
        included.
3607
 
3608
2009-07-13  Arnaud Charlet  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
3738
 
3739
        * clean.adb: Minor reformattting
3740
 
3741
2009-07-13  Emmanuel Briot  
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  
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  
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  
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  
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  
3806
 
3807
        * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
3808
        Minor reformatting.
3809
 
3810
2009-07-13  Emmanuel Briot  
3811
 
3812
        * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
3813
        than units.
3814
 
3815
2009-07-13  Thomas Quinot  
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  
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  
3828
 
3829
        * g-socthi-vxworks.adb: Minor reformatting
3830
 
3831
        * gnatcmd.adb: Minor reformatting
3832
 
3833
2009-07-13  Thomas Quinot  
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  
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  
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  
3859
 
3860
        * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
3861
 
3862
2009-07-13  Emmanuel Briot  
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  
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  
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  
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  
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  
3924
 
3925
        * gcc-interface/Make-lang.in: Update dependencies
3926
 
3927
2009-07-13  Robert Dewar  
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  
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  
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  
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  
3979
 
3980
        * a-convec.adb: Minor code reorganization (use conditional expressions)
3981
 
3982
2009-07-13  Robert Dewar  
3983
 
3984
        * freeze.adb (Check_Suspicious_Modulus): New procedure.
3985
 
3986
2009-07-13  Robert Dewar  
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  
3994
 
3995
        * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
3996
        => Is_Atomic_Aggregate
3997
 
3998
2009-07-13  Emmanuel Briot  
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  
4004
 
4005
        * gnat_ugn.texi: Fix typo.
4006
 
4007
2009-07-13  Robert Dewar  
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  
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) : 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) : 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  
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  
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  
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  
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  
4077
 
4078
        * exp_ch7.adb: Update comments.
4079
 
4080
2009-07-10  Arnaud Charlet  
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  
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  
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  
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  
4105
 
4106
        * prj.ads: Minor typo fix
4107
 
4108
2009-07-10  Ed Schonberg  
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  
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  
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  
4139
 
4140
        * i-cexten.ads (bool): New type.
4141
 
4142
2009-07-10  Robert Dewar  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
4249
 
4250
        * exp_ch4.adb (Raise_Accessibility_Error): New procedure
4251
 
4252
2009-07-09  Tom Tromey  
4253
 
4254
        * raise-gcc.c: Include dwarf2h (unconditionally).
4255
 
4256
2009-07-09  Ed Schonberg  
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  
4263
 
4264
        * checks.adb: Minor reformatting
4265
 
4266
2009-07-09  Vasiliy Fofanov  
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  
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  
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  
4283
 
4284
        * checks.adb: Minor reformatting
4285
 
4286
2009-07-09  Vasiliy Fofanov  
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  
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  
4297
 
4298
        * gcc-interface/Make-lang.in: Update dependencies
4299
 
4300
2009-07-09  Thomas Quinot  
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  
4306
 
4307
        * gnat_ugn.texi: Add missing VMS translations.
4308
 
4309
2009-07-09  Ed Schonberg  
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  
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  
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  
4336
 
4337
        * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
4338
        multi-unit files.
4339
 
4340
2009-07-09  Thomas Quinot  
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  
4349
 
4350
        * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
4351
 
4352
2009-07-09  Ed Schonberg  
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  
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  
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  
4372
 
4373
        * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
4374
        EXPR_LOCATION.
4375
 
4376
2009-07-07  Gary Dismukes  
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  
4388
 
4389
        * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
4390
 
4391
2009-07-07  Javier Miranda  
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  
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  
4403
 
4404
        * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
4405
 
4406
2009-07-07  Sergey Rybin  
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  
4412
 
4413
        * seh_init.c: Fix inline assembly statement in seh_init.c
4414
 
4415
2009-07-07  Ed Schonberg  
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  
4421
 
4422
        * s-osprim-mingw.adb: Minor code reorganization
4423
 
4424
2009-07-07  Robert Dewar  
4425
 
4426
        * prj-nmsc.adb: Minor reformatting
4427
 
4428
2009-07-07  Pascal Obry  
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  
4434
 
4435
        * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
4436
 
4437
2009-07-07  Emmanuel Briot  
4438
 
4439
        * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
4440
        project file.
4441
 
4442
2009-07-07  Ed Schonberg  
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  
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  
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  
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  
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  
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  
4551
 
4552
        PR ada/40608
4553
        * init.c (APPLE): Include .
4554
        (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
4555
 
4556
2009-07-04  Eric Botcazou  
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) : Remove kludge.
4569
 
4570
2009-07-04  Laurent GUERBY  
4571
 
4572
        PR ada/40631
4573
        * tracebak.c (__gnat_backtrace): Fix old-style definition.
4574
 
4575
2009-07-02  Rainer Orth  
4576
 
4577
        * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
4578
 
4579
2009-07-01  John David Anglin  
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  
4586
 
4587
        * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
4588
 
4589
2009-06-30  Eric Botcazou  
4590
 
4591
        * gcc-interface/utils2.c (build_binary_op) : 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  
4598
 
4599
        * gcc-interface/decl.c: Include tree-inline.h.
4600
        (annotate_value) : Try to inline the call in the expression.
4601
        * gcc-interface/utils.c (max_size) : Likewise.
4602
        * gcc-interface/utils2.c: Include tree-inline.
4603
        (known_alignment) : Likewise.
4604
 
4605
2009-06-30  Eric Botcazou  
4606
 
4607
        * raise-gcc.c: Include dwarf2.h conditionally.
4608
 
4609
2009-06-29  Tom Tromey  
4610
 
4611
        * raise-gcc.c: Include elf/dwarf2.h.
4612
 
4613
2009-06-27  Laurent GUERBY  
4614
 
4615
        * tb-gcc.c (trace_callback): Add casts to silence warning.
4616
 
4617
2009-06-27  Eric Botcazou  
4618
 
4619
        * tb-gcc.c: Fix copyright notice.
4620
 
4621
2009-06-27  Eric Botcazou  
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  
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  
4660
 
4661
        * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
4662
        (gnat_to_gnu_entity) : Use it to build the expression
4663
        of the upper bound of the index types.
4664
 
4665
2009-06-26  Eric Botcazou  
4666
 
4667
        * gcc-interface/decl.c (gnat_to_gnu_entity) : 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  
4675
 
4676
        * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
4677
 
4678
2009-06-26  Vincent Celier  
4679
 
4680
        * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
4681
        default.
4682
 
4683
2009-06-26  Robert Dewar  
4684
 
4685
        * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
4686
 
4687
2009-06-26  Eric Botcazou  
4688
 
4689
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Pass
4690
        correct arguments to create_field_decl.  Remove redundant iteration.
4691
        Rewrite computation of the maximum size.
4692
        : 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) : 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  
4699
 
4700
        * vms_data.ads: Minor comment change
4701
 
4702
2009-06-25  Gary Dismukes  
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  
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  
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  
4770
 
4771
        * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
4772
 
4773
2009-06-25  Vincent Celier  
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  
4785
 
4786
        * prj.ads (Unit_Index): Now general access type.
4787
 
4788
2009-06-25  Pascal Obry  
4789
 
4790
        * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
4791
 
4792
2009-06-25  Emmanuel Briot  
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  
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  
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  
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  
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  
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  
4842
 
4843
        * s-vxwext-rtp.ads: Add missing declaration
4844
 
4845
2009-06-25  Matthew Gingell  
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  
4851
 
4852
        * prj-nmsc.adb (Check): Change error message for illegal abstract
4853
        projects.
4854
 
4855
2009-06-25  Robert Dewar  
4856
 
4857
        * gnat_ugn.texi: Add note on use of -gnatct for ASIS
4858
 
4859
2009-06-25  Emmanuel Briot  
4860
 
4861
        * fmap.ads: Add documentation on mapping files
4862
 
4863
2009-06-25  Robert Dewar  
4864
 
4865
        * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
4866
        reformatting
4867
 
4868
2009-06-24  Robert Dewar  
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  
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  
4892
 
4893
        * init.c [VMS] Resignal C$_SIGKILL
4894
 
4895
2009-06-24  Ed Falis  
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  
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  
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  
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  
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  
4926
 
4927
        * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
4928
        prj-env.adb: Minor reformatting
4929
 
4930
2009-06-24  Ed Falis  
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  
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  
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  
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  
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  
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  
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  
5006
 
5007
        * sem_ch10.adb: Minor code reorganization.
5008
 
5009
2009-06-24  Eric Botcazou  
5010
 
5011
        * ttypes.ads: Minor editing.
5012
 
5013
2009-06-24  Robert Dewar  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
5110
 
5111
        * prj-conf.adb: Minor reformatting
5112
 
5113
        * xref_lib.adb: Minor cleanup
5114
 
5115
2009-06-23  Emmanuel Briot  
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  
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  
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  
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  
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  
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  
5167
 
5168
        * s-strhas.adb, s-strhas.ads: Minor reformatting.
5169
 
5170
2009-06-23  Ed Schonberg  
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  
5176
 
5177
        * prj-conf.ads, prj-conf.adb: New files part of the project manager.
5178
 
5179
2009-06-23  Ed Schonberg  
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  
5188
 
5189
        * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
5190
 
5191
2009-06-22  Jose Ruiz  
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  
5198
 
5199
        * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
5200
 
5201
2009-06-22  Ed Schonberg  
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  
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  
5212
 
5213
        * bindusg.adb: Minor fixes to gnatbind usage message
5214
 
5215
        * sem_eval.adb: Minor reformatting
5216
 
5217
2009-06-22  Javier Miranda  
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  
5226
 
5227
        * sem_ch6.adb: Minor reformatting
5228
 
5229
2009-06-22  Ed Schonberg  
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  
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  
5244
 
5245
        * prj-nmsc.adb (Locate_Directory): Indicate the project name when
5246
        creating a directory automatically.
5247
 
5248
2009-06-22  Eric Botcazou  
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  
5255
 
5256
        * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
5257
        copy).
5258
 
5259
2009-06-22  Matthew Gingell  
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  
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  
5278
 
5279
        * sem_ch6.adb: Add ??? comment for bad use of Style_Check
5280
 
5281
2009-06-22  Robert Dewar  
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  
5292
 
5293
        * adaint.h: Complete previous change.
5294
 
5295
2009-06-22  Thomas Quinot  
5296
 
5297
        * exp_ch7.ads, exp_ch3.adb: Minor reformatting
5298
 
5299
2009-06-22  Ed Schonberg  
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  
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  
5312
 
5313
        * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
5314
        available.
5315
 
5316
2009-06-22  Thomas Quinot  
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  
5322
 
5323
        * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
5324
 
5325
2009-06-22  Jerome Lambourg  
5326
 
5327
        * freeze.adb: Add comments.
5328
 
5329
2009-06-21  Thomas Quinot  
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  
5345
 
5346
        * einfo.ads: Minor reformatting
5347
 
5348
2009-06-21  Ed Falis  
5349
 
5350
        * env.c (__gnat_environ): return NULL for vThreads - unimplemented
5351
 
5352
2009-06-21  Eric Botcazou  
5353
 
5354
        * einfo.ads: Update comments.
5355
 
5356
2009-06-21  Hristian Kirtchev  
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  
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  
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  
5376
 
5377
        * a-nudira.adb: Minor reformatting
5378
 
5379
2009-06-20  Ed Schonberg  
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  
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  
5391
 
5392
        * sem_prag.adb: Minor reformatting
5393
 
5394
        * exp_disp.ads: Minor reformatting
5395
 
5396
2009-06-20  Ed Schonberg  
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  
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  
5417
 
5418
        * einfo.ads: Fix typo.
5419
 
5420
2009-06-20  Ed Falis  
5421
 
5422
        * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
5423
 
5424
2009-06-19  Eric Botcazou  
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  
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  
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  
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  
5451
 
5452
        * a-einuoc.ads: Minor reformatting
5453
 
5454
2009-06-19  Ed Falis  
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  
5460
 
5461
        * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
5462
 
5463
2009-06-19  Robert Dewar  
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  
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  
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  
5493
 
5494
        * i-vxwoio.ads: Add comments
5495
 
5496
2009-06-19  Thomas Quinot  
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  
5510
 
5511
        * checks.adb: Minor reformatting
5512
 
5513
2009-06-19  Jose Ruiz  
5514
 
5515
        * env.c (__gnat_environ): RTX does not support this functionality.
5516
 
5517
2009-06-19  Ed Schonberg  
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  
5524
 
5525
        * checks.adb (Determine_Range): Do not attempt to get range of generic
5526
        type.
5527
 
5528
2009-06-19  Sergey Rybin  
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  
5535
 
5536
        * g-cgi.adb: Minor reformatting
5537
 
5538
2009-06-19  Eric Botcazou  
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  
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  
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  
5558
            Olivier Hainque  
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  
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  
5589
 
5590
        * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
5591
        OPT_gdwarfplus.
5592
 
5593
2009-06-11  Ed Schonberg  
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  
5600
 
5601
        * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
5602
 
5603
2009-06-11  Quentin Ochem  
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  
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  
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  
5620
 
5621
        * gcc-interface/decl.c (gnat_to_gnu_entity) : 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) : Factor
5627
        common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
5628
        Pass correctly typed arguments to create_field_decl.
5629
        : 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  
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) :
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  
5660
 
5661
        * lib-writ.adb (flag_compare_debug): Import.
5662
        (Write_ALI): Skip during -fcompare-debug-second.
5663
 
5664
2009-06-03  Eric Botcazou  
5665
 
5666
        * gcc-interface/decl.c (gnat_to_gnu_entity) : 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  
5671
 
5672
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Add the
5673
        _Parent field, if any, to the record before adding the other fields.
5674
        : 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  
5680
 
5681
        * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
5682
        remove unused parameter and simplify.
5683
        (gnat_to_gnu_entity) : 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
        : 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  
5696
 
5697
        * gcc-interface/Make-lang.in: Fix formatting.
5698
 
5699
2009-06-01  Olivier Hainque  
5700
            Eric Botcazou  
5701
 
5702
        * gcc-interface/utils.c (convert) : 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  
5708
            Eric Botcazou  
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  
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  
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  
5738
 
5739
        * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
5740
 
5741
2009-05-23  Eric Botcazou  
5742
 
5743
        * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
5744
        types.
5745
 
5746
2009-05-23  Eric Botcazou  
5747
 
5748
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not modify the
5749
        original type because of the alignment when there is an address clause.
5750
 
5751
2009-05-20  Eric Botcazou  
5752
 
5753
        * gcc-interface/decl.c (gnat_to_gnu_entity) : 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  
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) 
5770
        Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
5771
        : Build a regular integer type first and
5772
        then set the RM bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5773
        : Build a regular floating-point type first
5774
        and then set the RM bounds.
5775
        : Use create_range_type instead of build_range_type.
5776
        : Build a regular integer type first and then set
5777
        the RM bounds for the extra subtype.
5778
        : Use create_range_type instead of
5779
        build_range_type.
5780
        : 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) : 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) : 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) : New case.
5789
        : 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) : Convert
5800
        the index to sizetype instead of TYPE_DOMAIN.
5801
 
5802
2009-05-14  Eric Botcazou  
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) : 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  
5817
 
5818
        * gcc-interface/Make-lang.in: Update dependencies.
5819
 
5820
2009-05-06  Laurent GUERBY  
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  
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  
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  
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  
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  
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  
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  
5896
 
5897
        * adaint.c: Support for setting attributes on unicode filename on
5898
        Windows.
5899
 
5900
2009-05-06  Robert Dewar  
5901
 
5902
        * sem_warn.adb: Minor reformatting
5903
 
5904
2009-05-06  Javier Miranda  
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  
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  
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  
5930
 
5931
        * init.c, s-osinte-darwin.ads: Reduce alternate stack size
5932
 
5933
2009-05-06  Arnaud Charlet  
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  
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  
5951
 
5952
        * sem_aggr.adb: Fix typo.
5953
 
5954
2009-05-06  Thomas Quinot  
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  
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  
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  
5972
 
5973
        * gnat_ugn.texi: Fix typo.
5974
 
5975
2009-05-06  Thomas Quinot  
5976
 
5977
        * g-debuti.adb: Minor reformatting
5978
 
5979
        * exp_attr.adb: Minor reformatting
5980
 
5981
2009-05-06  Robert Dewar  
5982
 
5983
        * sem_aggr.adb: Minor reformatting.
5984
 
5985
        * g-socthi-vms.adb: Minor reformatting
5986
 
5987
2009-05-06  Bob Duff  
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  
5993
 
5994
        * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
5995
        flags.
5996
 
5997
2009-05-06  Javier Miranda  
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  
6009
 
6010
        * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
6011
        clause.
6012
 
6013
2009-05-06  Thomas Quinot  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
6092
 
6093
        * sem_ch13.adb: Minor comment additions
6094
 
6095
        * osint.adb: Minor reformatting
6096
 
6097
2009-05-06  Pascal Obry  
6098
 
6099
        * initialize.c: On Windows, keep full pathname to expanded command
6100
        line patterns.
6101
 
6102
2009-05-06  Ed Schonberg  
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  
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  
6119
 
6120
        * g-comlin.ads: Minor reformatting
6121
 
6122
        * xoscons.adb: Minor reformatting
6123
 
6124
2009-05-06  Gary Dismukes  
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  
6131
 
6132
        * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
6133
 
6134
2009-05-06  Thomas Quinot  
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  
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  
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  
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  
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  
6192
 
6193
        PR ada/38874
6194
        * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
6195
 
6196
2009-04-29  Ed Schonberg  
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  
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  
6212
 
6213
        * xoscons.adb: Minor reformatting
6214
 
6215
2009-04-29  Bob Duff  
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  
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  
6232
 
6233
        * gcc-interface/Make-lang.in: Update dependencies
6234
 
6235
2009-04-29  Vincent Celier  
6236
 
6237
        * prj-part.adb: Minor comment update
6238
 
6239
2009-04-29  Ed Schonberg  
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  
6247
 
6248
        * g-socket.adb: Code clean up.
6249
 
6250
2009-04-29  Gary Dismukes  
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  
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  
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  
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  
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  
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  
6303
 
6304
        * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
6305
 
6306
2009-04-29  Javier Miranda  
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  
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  
6360
 
6361
        * targparm.ads: Fix oversight.
6362
 
6363
2009-04-29  Ed Schonberg  
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  
6370
 
6371
        * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
6372
        components
6373
 
6374
2009-04-29  Ed Schonberg  
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  
6386
 
6387
        * prj-nmsc.ads: Minor reformatting
6388
 
6389
2009-04-29  Eric Botcazou  
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  
6395
 
6396
        * prj-proc.adb, prj.ads: Minor reformatting
6397
 
6398
2009-04-29  Eric Botcazou  
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  
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  
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  
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  
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  
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  
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  
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  
6466
 
6467
        * sem_res.adb: Minor comment fix.
6468
 
6469
2009-04-29  Thomas Quinot  
6470
 
6471
        * sem_elim.adb: Minor reformatting
6472
 
6473
2009-04-29  Ed Schonberg  
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  
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  
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  
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  
6497
 
6498
        * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
6499
        unused assignment.
6500
 
6501
2009-04-29  Thomas Quinot  
6502
 
6503
        * make.adb: Minor reformatting.
6504
        Minor code reorganization throughout.
6505
 
6506
2009-04-29  Matteo Bordin  
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  
6524
 
6525
        * initialize.c: Do not expand quoted arguments.
6526
 
6527
2009-04-29  Emmanuel Briot  
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  
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  
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  
6551
 
6552
        * prj.ads (Source_Id): Now general pointer type.
6553
 
6554
2009-04-29  Thomas Quinot  
6555
 
6556
        * exp_ch7.adb, rtsfind.adb: Minor reformatting
6557
 
6558
        * sem_res.adb: Minor reformatting
6559
 
6560
2009-04-29  Thomas Quinot  
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  
6577
 
6578
        * rtsfind.adb, prj-env.adb: Minor reformatting
6579
        Minor code reorganization
6580
 
6581
2009-04-29  Emmanuel Briot  
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  
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  
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  
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  
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  
6629
 
6630
        * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
6631
        darwin.
6632
 
6633
2009-04-25  Eric Botcazou  
6634
 
6635
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Put
6636
        back kludge.
6637
 
6638
2009-04-24  Robert Dewar  
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  
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  
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  
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  
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  
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  
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  
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  
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  
6698
 
6699
        * make.adb: Minor reformatting
6700
 
6701
2009-04-24  Emmanuel Briot  
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  
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  
6730
 
6731
        * errout.ads: Minor reformatting
6732
 
6733
2009-04-24  Emmanuel Briot  
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  
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  
6747
 
6748
        * sem_res.adb: additional optimization to inhibit creation of
6749
        redundant transient scopes.
6750
 
6751
2009-04-24  Bob Duff  
6752
 
6753
        * rtsfind.ads: Minor comment fix
6754
 
6755
2009-04-24  Emmanuel Briot  
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  
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  
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  
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  
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  
6791
 
6792
        * clean.adb: Minor reformatting
6793
 
6794
2009-04-24  Robert Dewar  
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  
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  
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  
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  
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  
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  
6881
 
6882
        * sem_ch7.adb: Minor reformatting
6883
 
6884
2009-04-24  Tristan Gingold  
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  
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  
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  
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  
6913
 
6914
        * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
6915
 
6916
2009-04-24  Ed Schonberg  
6917
 
6918
        * sem_warn.adb: Add comment on obsolete warning
6919
 
6920
2009-04-24  Arnaud Charlet  
6921
 
6922
        * s-tassta.adb (Create_Task): Fix violation of locking rule.
6923
 
6924
2009-04-24  Emmanuel Briot  
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  
6939
            Thomas Quinot  
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  
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) :
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) : 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  
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  
6988
 
6989
        * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
6990
        * gcc-interface/decl.c (gnat_to_gnu_entity) : 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  
6996
 
6997
        * gcc-interface/decl.c (gnat_to_gnu_entity) : If an
6998
        alignment is specified, do not promote that of the component type
6999
        beyond it.
7000
        : Likewise.
7001
 
7002
2009-04-23  Eric Botcazou  
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) :
7012
        New case.  Return 1 if the object is atomic.
7013
        : Likewise.
7014
 
7015
2009-04-23  Eric Botcazou  
7016
 
7017
        * gcc-interface/decl.c (gnat_to_gnu_entity) 
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
        : Likewise.  Do not generate the special XA parallel
7021
        record type for packed array types.  Remove kludge.
7022
 
7023
2009-04-23  Eric Botcazou  
7024
 
7025
        * gcc-interface/gigi.h (create_index_type): Adjust head comment.
7026
        * gcc-interface/decl.c (gnat_to_gnu_entity) :
7027
        Use front-end predicates to compute signedness and precision.
7028
        : 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) : Always copy the type.
7032
        * gcc-interface/misc.c (gnat_print_type) : Use brief
7033
        output for the modulus, if any.
7034
        : 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  
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  
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) :
7062
        Update comment about use of build_range_type.
7063
        : Use consistent naming convention.
7064
        : 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  
7073
 
7074
        * gcc-interface/utils2.c (build_binary_op) : 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  
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  
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  
7090
 
7091
        * sem_res.adb: Create block around procedure call when actual is a
7092
        concatenation.
7093
 
7094
2009-04-22  Thomas Quinot  
7095
 
7096
        * s-soflin.ads: Fix typos
7097
 
7098
2009-04-22  Vincent Celier  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
7284
 
7285
        * a-tasatt.adb: Minor reformatting
7286
 
7287
2009-04-22  Bob Duff  
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  
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  
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  
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  
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) :
7340
        Remove redundant code.
7341
        : Remove redundant assert.
7342
        : 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) : 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  
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
        : Directly use Esize for the type's precision.
7363
        : For an unconstrained designated type, do not pretend
7364
        that a dummy type is always made.
7365
         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  
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
        : 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  
7394
 
7395
        * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
7396
        license notices.
7397
 
7398
2009-04-21  Eric Botcazou  
7399
 
7400
        * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
7401
 
7402
2009-04-21  Eric Botcazou  
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) :
7407
        Remove useless support code for packed array types and assert its
7408
        uselessness.
7409
        : Reuse entity identifier in more places and
7410
        adjust for TYPE_RM_SIZE change.
7411
         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  
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  
7432
 
7433
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not make
7434
        constant objects covered by 13.3(19) volatile.
7435
 
7436
2009-04-21  Eric Botcazou  
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  
7442
 
7443
        * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
7444
        : 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  
7449
 
7450
        * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
7451
        (gnat_to_gnu) : Return the expression
7452
        if the conversion is on the LHS of an assignment and a no-op.
7453
         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  
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  
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  
7475
 
7476
        * gnat_ugn.texi, vms_data.ads: Update doc.
7477
 
7478
2009-04-20  Arnaud Charlet  
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  
7486
 
7487
        * checks.ads: Fix documentation of range check handling
7488
 
7489
2009-04-20  Ed Schonberg  
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  
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  
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  
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  
7516
 
7517
        * sem_attr.adb: Minor reformatting
7518
 
7519
        * gnatcmd.adb: Minor reformatting
7520
 
7521
2009-04-20  Ed Schonberg  
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  
7528
 
7529
        * debug.ads: Minor comment fix.
7530
 
7531
        * debug.adb: Minor comment fixes.
7532
 
7533
2009-04-20  Javier Miranda  
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  
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  
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  
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  
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  
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  
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  
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  
7599
 
7600
        * g-trasym.adb: Set size of result buffer before calling
7601
        convert_address.
7602
 
7603
2009-04-20  Ed Schonberg  
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  
7611
 
7612
        * a-direct.adb, s-os_lib.adb: Minor reformatting.
7613
 
7614
2009-04-20  Ed Schonberg  
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  
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  
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  
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  
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  
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  
7653
 
7654
        * sem.adb: Guard against ill-formed subunits.
7655
 
7656
2009-04-20  Bob Duff  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
7772
 
7773
        * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
7774
        pragma Debug.
7775
 
7776
2009-04-20  Ed Schonberg  
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  
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  
7792
 
7793
        * s-vxwext-kernel.ads (tickGet): Use tick64Get.
7794
 
7795
2009-04-20  Thomas Quinot  
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  
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  
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  
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  
7864
 
7865
        * gnat_ugn.texi: Add documentation for -fno-ivopts.
7866
 
7867
2009-04-20  Ed Schonberg  
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  
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  
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  
7891
 
7892
        * a-tifiio.adb: Minor reformatting
7893
 
7894
2009-04-20  Thomas Quinot  
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  
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  
7911
 
7912
        * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
7913
 
7914
2009-04-20  Thomas Quinot  
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  
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  
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  
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  
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  
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  
7998
 
7999
        * g-socket.ads (Send_Socket): Fix misleading comment.
8000
 
8001
2009-04-20  Arnaud Charlet  
8002
 
8003
        * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
8004
        ASIS mode.
8005
 
8006
2009-04-20  Geert Bosch  
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  
8013
 
8014
        * uname.ads: Minor comment fix.
8015
 
8016
        * types.ads: Minor comment fix.
8017
 
8018
2009-04-20  Pascal Obry  
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  
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  
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  
8042
 
8043
        * gcc-interface/Make-lang.in: Update dependencies.
8044
 
8045
2009-04-20  Eric Botcazou  
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  
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  
8057
 
8058
        * rtsfind.adb: Minor comment fix
8059
 
8060
2009-04-20  Robert Dewar  
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  
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  
8084
 
8085
        * adaint.c: Disable use of ACL on network drives.
8086
 
8087
2009-04-20  Arnaud Charlet  
8088
 
8089
        * gnat_ugn.texi: Add examples.
8090
 
8091
2009-04-20  Thomas Quinot  
8092
 
8093
        * g-socket.ads (Abort_Selector): Clarify documentation.
8094
 
8095
2009-04-20  Arnaud Charlet  
8096
 
8097
        * opt.ads (Inspector_Mode): Update documentation of this flag.
8098
 
8099
2009-04-20  Thomas Quinot  
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  
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  
8112
 
8113
        * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
8114
        in inspector mode.
8115
 
8116
2009-04-20  Javier Miranda  
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  
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  
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  
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  
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  
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  
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  
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  
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  
8187
 
8188
        * gnat_ugn.texi: Fix typos.
8189
 
8190
2009-04-20  Robert Dewar  
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  
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  
8203
 
8204
        * gcc-interface/misc.c (gnat_expand_expr): Remove.
8205
        (LANG_HOOKS_EXPAND_EXPR): Remove.
8206
 
8207
2009-04-17  Robert Dewar  
8208
 
8209
        * sem_ch3.adb: Minor reformatting
8210
 
8211
2009-04-17  Pascal Obry  
8212
 
8213
        * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
8214
 
8215
2009-04-17  Ed Schonberg  
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  
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  
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  
8255
 
8256
        * gnat_ugn.texi: Initial documentation on binding generator.
8257
 
8258
2009-04-17  Ed Schonberg  
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  
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  
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  
8332
 
8333
        * initialize.c: Fix test for reallocating the arguments array.
8334
 
8335
2009-04-17  Geert Bosch  
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  
8341
 
8342
        * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
8343
        reinitialized.
8344
 
8345
2009-04-17  Robert Dewar  
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  
8351
 
8352
        * initialize.c: Code clean up, use realloc.
8353
 
8354
2009-04-17  Pascal Obry  
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  
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  
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  
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  
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  
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  
8417
 
8418
        * exp_aggr.adb: Minor code reorganization, no behaviour change.
8419
 
8420
2009-04-17  Ed Schonberg  
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  
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  
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  
8439
 
8440
        * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
8441
 
8442
2009-04-17  Ed Schonberg  
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  
8448
 
8449
        * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
8450
 
8451
2009-04-17  Nicolas Roche  
8452
 
8453
        * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
8454
        argument length.
8455
 
8456
2009-04-17  Gary Dismukes  
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  
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  
8467
 
8468
        * exp_ch7.adb: Minor reformatting
8469
 
8470
2009-04-17  Robert Dewar  
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  
8479
 
8480
        * checks.ads: Minor comment fix
8481
 
8482
        * exp_aggr.ads: Minor comment fix
8483
 
8484
2009-04-17  Nicolas Roche  
8485
 
8486
        * adaint.c: Improve cross compiler detection and handling.
8487
 
8488
2009-04-17  Eric Botcazou  
8489
 
8490
        * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
8491
 
8492
2009-04-17  Pascal Obry  
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  
8519
 
8520
        * atree.adb, atree.ads: Remove dead code.
8521
 
8522
2009-04-17  Arnaud Charlet  
8523
 
8524
        * gcc-interface/Make-lang.in: Update dependencies.
8525
 
8526
2009-04-17  Ed Schonberg  
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  
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  
8553
 
8554
        * par-ch6.adb: Minor reformatting
8555
 
8556
        * prj.adb: Minor reformatting
8557
 
8558
2009-04-17  Gary Dismukes  
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  
8575
 
8576
        * init.c: Fix stack checking for x86 Darwin.
8577
 
8578
2009-04-17  Vincent Celier  
8579
 
8580
        * prj-attr.adb: New project level attribute Object_File_Suffix
8581
        ().
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  
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  
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  
8612
 
8613
        * link.c: Fix support for passing a response file under Darwin.
8614
 
8615
2009-04-17  Emmanuel Briot  
8616
 
8617
        * prj.adb (Free): new subprogram.
8618
 
8619
2009-04-17  Ed Schonberg  
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  
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  
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  
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  
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  
8664
 
8665
        * link.c: Add darwin section
8666
 
8667
2009-04-16  Robert Dewar  
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  
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  
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  
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  
8696
 
8697
        * g-pehage.adb (Initialize): Fix off-by-one error.
8698
 
8699
2009-04-16  Tristan Gingold  
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  
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  
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  
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  
8722
 
8723
        * tracebak.c (STOP_FRAME): Verify validity of the current address
8724
        before dereferencing.
8725
 
8726
2009-04-16  Ed Schonberg  
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  
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  
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  
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  
8762
 
8763
        * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
8764
 
8765
2009-04-16  Thomas Quinot  
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  
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  
8792
 
8793
        * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
8794
        of Source.Init.
8795
 
8796
2009-04-16  Eric Botcazou  
8797
 
8798
        * a-convec.ads (Is_Empty): Mark inline.
8799
 
8800
2009-04-16  Nicolas Roche  
8801
 
8802
        * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
8803
 
8804
2009-04-16  Thomas Quinot  
8805
 
8806
        * prepcomp.adb: Minor reformatting
8807
 
8808
2009-04-16  Jerome Lambourg  
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  
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  
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  
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  
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  
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  
8847
 
8848
        * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
8849
        unused.
8850
 
8851
2009-04-16  Thomas Quinot  
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  
8862
 
8863
        * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
8864
        used together.
8865
 
8866
2009-04-16  Ed Schonberg  
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  
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  
8891
 
8892
        * exp_ch6.adb: Add comments
8893
 
8894
        * rtsfind.ads: Add entries for s-conca? routines
8895
 
8896
2009-04-16  Arnaud Charlet  
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  
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  
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  
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  
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  
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  
8976
 
8977
        * prj-nmsc.adb (Path_Name_Of): fix memory leak
8978
 
8979
2009-04-16  Robert Dewar  
8980
 
8981
        * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
8982
 
8983
2009-04-16  Vincent Celier  
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  
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  
9000
 
9001
        * s-vxwext-kernel.adb: (ERROR): deleted unused constant
9002
 
9003
2009-04-16  Vincent Celier  
9004
 
9005
        * ali-util.adb: Minor comment spelling error fix
9006
 
9007
2009-04-16  Eric Botcazou  
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  
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  
9019
 
9020
        * sem_type.adb: Minor reformatting
9021
 
9022
2009-04-16  Hristian Kirtchev  
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  
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  
9033
 
9034
        * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
9035
        targeted fashion.
9036
 
9037
2009-04-15  Hristian Kirtchev  
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  
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  
9056
 
9057
        * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
9058
 
9059
2009-04-15  Ed Schonberg  
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  
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  
9082
 
9083
        * sem_ch6.adb: Minor reformatting
9084
 
9085
2009-04-15  Hristian Kirtchev  
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  
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  
9097
 
9098
        * frontend.adb: Minor comment fix
9099
 
9100
2009-04-15  Robert Dewar  
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  
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  
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  
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  
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  
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  
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  
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  
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  
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  
9167
 
9168
        * rtsfind.adb: Minor reformatting.
9169
 
9170
2009-04-15  Emmanuel Briot  
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  
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  
9187
 
9188
        * adaint.h (__gnat_unlink): Add spec.
9189
        (__gnat_rename): Likewise.
9190
 
9191
2009-04-15  Vincent Celier  
9192
 
9193
        * prj-nmsc.adb: Minor spelling error corrections in error messages
9194
 
9195
2009-04-15  Robert Dewar  
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  
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  
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  
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  
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  
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  
9253
 
9254
        * s-tassta.adb: Minor reformatting
9255
 
9256
2009-04-15  Robert Dewar  
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  
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  
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  
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  
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  
9297
 
9298
        * bindgen.adb: Do not generate adafinal if No_Finalization restriction
9299
        is set.
9300
 
9301
2009-04-15  Ed Schonberg  
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  
9311
 
9312
        * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
9313
 
9314
2009-04-15  Nicolas Roche  
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  
9324
 
9325
        * sem_ch4.adb: improve error message on exponentiation.
9326
 
9327
2009-04-15  Hristian Kirtchev  
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  
9337
 
9338
        * sem_prag.adb: Minor reformatting.
9339
 
9340
        * sem_type.adb: Minor reformatting
9341
 
9342
2009-04-15  Javier Miranda  
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  
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  
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  
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  
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  
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  
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  
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  
9415
 
9416
        * sem_warn.ads: Minor reformatting
9417
 
9418
2009-04-15  Ed Schonberg  
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  
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  
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  
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  
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  
9453
 
9454
        * system-linux-sparc.ads: Remove obsolete entries.
9455
 
9456
2009-04-15  Thomas Quinot  
9457
 
9458
        * s-tasuti.ads: Add ??? comment
9459
 
9460
2009-04-15  Ed Schonberg  
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  
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  
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  
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  
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  
9514
 
9515
        * sem_ch6.ads: Address missing documentation query
9516
 
9517
2009-04-10  Vincent Celier  
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  
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  
9553
 
9554
        * exp_attr.adb: Minor reformatting
9555
 
9556
2009-04-10  Ed Schonberg  
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  
9563
 
9564
        * sem_aux.adb: Minor reformatting
9565
 
9566
2009-04-10  Ed Falis  
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  
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  
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  
9596
 
9597
        * rtsfind.adb: Minor reformatting
9598
 
9599
2009-04-10  Thomas Quinot  
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  
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  
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  
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  
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  
9631
 
9632
        * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
9633
 
9634
2009-04-10  Ed Schonberg  
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  
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  
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  
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  
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  
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  
9703
 
9704
        * sem_ch8.adb: Minor reformatting
9705
 
9706
2009-04-10  Robert Dewar  
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  
9714
 
9715
        * mlib-tgt-specific-xi.adb: Minor reformatting
9716
 
9717
2009-04-10  Bob Duff  
9718
 
9719
        * einfo.ads: Minor comment fixes
9720
 
9721
2009-04-10  Vincent Celier  
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  
9728
 
9729
        * init.c: Adjust EH support code on Alpha/Tru64.
9730
 
9731
2009-04-10  Bob Duff  
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  
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  
9743
 
9744
        * sem_aux.adb: Minor reformatting
9745
 
9746
2009-04-10  Vincent Celier  
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  
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  
9766
 
9767
        * sem_aux.adb: Minor reformatting
9768
 
9769
2009-04-10  Ed Schonberg  
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  
9775
 
9776
        * sem_disp.adb: Minor reformatting
9777
 
9778
2009-04-10  Vasiliy Fofanov  
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  
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  
9791
 
9792
        * sem_eval.adb: Minor reformatting
9793
 
9794
2009-04-10  Thomas Quinot  
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  
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  
9815
 
9816
        * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
9817
 
9818
2009-04-10  Tristan Gingold  
9819
 
9820
        * init.c: Install signal handler on Darwin.
9821
 
9822
2009-04-10  Robert Dewar  
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  
9831
 
9832
        * make.adb, gnatlink.adb: Rename JGNAT toolchain.
9833
 
9834
2009-04-10  Jose Ruiz  
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  
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  
9845
 
9846
        * sem_warn.adb: Minor reformatting
9847
 
9848
        * make.adb: Minor reformatting.
9849
 
9850
2009-04-10  Gary Dismukes  
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  
9862
 
9863
        * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
9864
        to avoid gcc warning.
9865
 
9866
2009-04-10  Robert Dewar  
9867
 
9868
        * g-comlin.adb: Add ??? comment
9869
 
9870
2009-04-10  Ed Schonberg  
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  
9876
 
9877
        * exp_ch9.adb: Minor reformatting
9878
 
9879
2009-04-10  Thomas Quinot  
9880
 
9881
        * sem_prag.adb: Minor reformatting
9882
 
9883
2009-04-10  Vincent Celier  
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  
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  
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  
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  
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  
9924
 
9925
        * make.adb: Add comment.
9926
        Minor reformatting
9927
 
9928
2009-04-10  Nicolas Setton  
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  
9935
 
9936
        * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
9937
 
9938
2009-04-09  Nick Clifton  
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  
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  
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  
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  
11079
 
11080
        * make.adb: Ensure that all linker arguments are duplicated.
11081
 
11082
2009-04-09  Robert Dewar  
11083
 
11084
        * sem_ch5.adb: Minor reformatting
11085
 
11086
2009-04-09  Vincent Celier  
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  
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  
11106
 
11107
        * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
11108
 
11109
2009-04-09  Nicolas Setton  
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  
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  
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  
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  
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  
11153
 
11154
        * opt.ads: Fix typos.
11155
 
11156
2009-04-09  Robert Dewar  
11157
 
11158
        * einfo.adb: Minor reformatting
11159
 
11160
2009-04-09  Robert Dewar  
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  
11168
 
11169
        * g-comver.adb: Minor reformatting.
11170
 
11171
2009-04-09  Thomas Quinot  
11172
 
11173
        * lib-load.ads (Load_Unit): Update documentation.
11174
 
11175
2009-04-09  Ed Schonberg  
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  
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  
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  
11207
 
11208
        * sem_ch10.adb: Minor reformatting.
11209
 
11210
2009-04-09  Bob Duff  
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  
11218
 
11219
        * switch-b.adb: Minor reformatting.
11220
 
11221
2009-04-09  Robert Dewar  
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  
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  
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  
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  
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  
11286
 
11287
        * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
11288
 
11289
2009-04-09  Pascal Obry  
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  
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  
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  
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  
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  
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  
11329
 
11330
        * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
11331
 
11332
2009-04-09  Geert Bosch  
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  
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  
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  
11353
 
11354
        * sem_eval.adb: Minor comment fix
11355
 
11356
2009-04-08  Thomas Quinot  
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  
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  
11377
 
11378
        * checks.adb: Minor reformatting
11379
 
11380
2009-04-08  Vincent Celier  
11381
 
11382
        * vms_data.ads: Add documentation for new style keyword
11383
        OVERRIDING_INDICATORS
11384
 
11385
2009-04-08  Robert Dewar  
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  
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  
11398
 
11399
        * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
11400
 
11401
2009-04-08  Thomas Quinot  
11402
 
11403
        * checks.ads: Minor reformatting
11404
 
11405
2009-04-08  Robert Dewar  
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  
11413
 
11414
        * exp_util.adb: Minor comment fix
11415
 
11416
2009-04-08  Robert Dewar  
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  
11433
 
11434
        * gnat_rm.texi: Minor reformatting
11435
 
11436
        * par-ch2.adb: Minor reformatting
11437
 
11438
2009-04-08  Robert Dewar  
11439
 
11440
        * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
11441
 
11442
2009-04-08  Robert Dewar  
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  
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  
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  
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  
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  
11478
 
11479
        * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
11480
        that come from source.
11481
 
11482
2009-04-08  Tristan Gingold  
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  
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  
11499
 
11500
        * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
11501
 
11502
2009-04-08  Tristan Gingold  
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  
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  
11520
 
11521
        * sem_ch8.adb: Minor reformatting.
11522
        Minor code reorganization.
11523
 
11524
2009-04-08  Robert Dewar  
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  
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  
11538
 
11539
        * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
11540
 
11541
2009-04-08  Thomas Quinot  
11542
 
11543
        * ali-util.adb: Minor comment fix
11544
 
11545
2009-04-08  Ed Schonberg  
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  
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  
11559
 
11560
        * exp_ch4.adb (Expand_Concatenate): Clean up code
11561
 
11562
2009-04-07  Thomas Quinot  
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  
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  
11576
 
11577
        * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
11578
        mandated by AI05-105.
11579
 
11580
2009-04-07  Vincent Celier  
11581
 
11582
        * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
11583
 
11584
2009-04-07  Thomas Quinot  
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  
11598
 
11599
        * exp_ch13.adb: Minor reformatting
11600
 
11601
2009-04-07  Robert Dewar  
11602
 
11603
        * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
11604
        against missing parent.
11605
 
11606
2009-04-07  Thomas Quinot  
11607
 
11608
        * xoscons.adb: Minor reformatting
11609
 
11610
2009-04-07  Robert Dewar  
11611
 
11612
        * rtsfind.ads: Remove obsolete string concatenation entries
11613
 
11614
2009-04-07  Robert Dewar  
11615
 
11616
        * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
11617
 
11618
2009-04-07  Ed Schonberg  
11619
 
11620
        * sem_ch10.adb (Check_Body_Required): Handle properly imported
11621
        subprograms.
11622
 
11623
2009-04-07  Gary Dismukes  
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  
11635
 
11636
        * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
11637
 
11638
2009-04-07  Bob Duff  
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  
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  
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  
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  
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  
11684
 
11685
        * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
11686
 
11687
2009-04-07  Kevin Pouget  
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  
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  
11701
 
11702
        * g-comlin.adb (Expansion): Fix old regression: also return directory
11703
        names when matching.
11704
 
11705
2009-04-07  Robert Dewar  
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  
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  
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  
11727
 
11728
        * exp_ch4.adb: Rewrite concatenation expansion.
11729
 
11730
2009-04-07  Ed Schonberg  
11731
 
11732
        * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
11733
        relevant to packages.
11734
 
11735
2009-04-07  Robert Dewar  
11736
 
11737
        * sem_attr.adb: Minor reformatting
11738
 
11739
        * sem_ch6.adb: Minor reformatting
11740
 
11741
2009-04-07  Tristan Gingold  
11742
 
11743
        * socket.c: Add more protections against S_resolvLib_ macros.
11744
 
11745
2009-04-07  Thomas Quinot  
11746
 
11747
        * sem_attr.adb: Minor reformatting
11748
 
11749
2009-04-07  Ed Schonberg  
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  
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  
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  
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  
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  
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  
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  
11803
 
11804
        * exp_ch4.adb: Fix documentation typo
11805
 
11806
2009-04-07  Robert Dewar  
11807
 
11808
        * tbuild.ads: Minor reformatting
11809
 
11810
2009-04-07  Javier Miranda  
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  
11816
 
11817
        * g-comlin.adb: Minor reformatting
11818
 
11819
2009-04-07  Thomas Quinot  
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  
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  
11839
 
11840
        * make.adb: Minor reformatting
11841
 
11842
2009-04-07  Robert Dewar  
11843
 
11844
        * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
11845
 
11846
2009-04-07  Robert Dewar  
11847
 
11848
        * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
11849
 
11850
2009-04-07  Robert Dewar  
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  
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  
11931
 
11932
        * gnatvsn.ads: Bump version number.
11933
 
11934
2009-04-07  Thomas Quinot  
11935
 
11936
        * exp_ch3.adb: Minor rewording (comments)
11937
 
11938
2009-04-07  Robert Dewar  
11939
 
11940
        * exp_disp.adb: Minor reformatting
11941
 
11942
2009-04-07  Eric Botcazou  
11943
 
11944
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Test the
11945
        underlying type.
11946
        * gcc-interface/trans.c (lvalue_required_p): Likewise.
11947
 
11948
2009-04-07  Eric Botcazou  
11949
 
11950
        * gcc-interface/trans.c (Attribute_to_gnu) :
11951
        Do not convert the result.  Remove obsolete comment.
11952
 
11953
2009-04-07  Eric Botcazou  
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  
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) : Use void_type.
11968
        (gnat_to_gnu_entity) : Make fat and thin pointer types
11969
        artificial.
11970
        : 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) : 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  
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  
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  
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  
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  
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  
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  
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  
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  
12063
 
12064
        * gcc-interface/trans.c (gnat_to_gnu) : In range
12065
        checks processing, remove unintended TREE_TYPE walk on index type.
12066
 
12067
2009-03-01  Eric Botcazou  
12068
 
12069
        PR ada/39264
12070
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Do no
12071
        call make_packable_type on fat pointer types.
12072
        : Likewise.
12073
        : 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  
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  
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  
12093
 
12094
        PR ada/39221
12095
        * a-teioed.adb (Expand): Fix Result overflow.
12096
 
12097
2009-02-25  Laurent GUERBY  
12098
 
12099
        * gcc-interface/Makefile.in: Fix multilib handling for
12100
        sparc64-linux.
12101
 
12102
2009-02-23  Rainer Orth  
12103
 
12104
        * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
12105
 
12106
2009-02-18  H.J. Lu  
12107
 
12108
        * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
12109
 
12110
2009-02-16  Eric Botcazou  
12111
 
12112
        * gcc-interface/deftarg.c: Remove.
12113
 
12114
2009-02-10  Olivier Hainque  
12115
            Eric Botcazou  
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
        : 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):
12130
        Check for alias set conflict instead of strict equality to issue the
12131
        warning.
12132
 
12133
2009-02-09  Eric Botcazou  
12134
 
12135
        * gcc-interface/decl.c (gnat_to_gnu_entity) :
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) : Copy TYPE_NONALIASED_COMPONENT.
12139
 
12140
2009-02-08  Eric Botcazou  
12141
 
12142
        * gcc-interface/decl.c (gnat_to_gnu_entity) :
12143
        Set TYPE_NONALIASED_COMPONENT on the array type.
12144
 
12145
2009-01-31  Laurent GUERBY  
12146
 
12147
        * gcc-interface/Makefile.in: Fix mipsel linux handling.
12148
 
12149
2009-01-16  Jakub Jelinek  
12150
 
12151
        * gcc-interface/Makefile.in: Fix multilib handling for
12152
        powerpc64-linux.
12153
 
12154
2009-01-12  Eric Botcazou  
12155
 
12156
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Really strip
12157
        only useless conversions around renamed objects.
12158
 
12159
2009-01-11  Eric Botcazou  
12160
 
12161
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Put
12162
        the _Tag field before any discriminants in the field list.
12163
        (components_to_record): Remove obsolete comment.
12164
 
12165
 
12166
 
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.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.