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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [ada/] [ChangeLog-2010] - Blame information for rev 749

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 706 jeremybenn
2010-12-31  Eric Botcazou  
2
 
3
        * gcc-interface/decl.c (substitute_in_type): Do not deal with
4
        LANG_TYPE, METHOD_TYPE or OFFSET_TYPE.
5
        * gcc-interface/utils.c (handle_vector_size_attribute): Do not deal
6
        with METHOD_TYPE or OFFSET_TYPE.
7
 
8
2010-12-22  Nathan Froyd  
9
 
10
        * gcc-interface/utils.c (handle_nonnull_attribute): Use prototype_p.
11
        (handle_sentinel_attribute): Likewise.
12
 
13
2010-12-20  Ralf Wildenhues  
14
 
15
        PR bootstrap/47027
16
        * a-stwiun-shared.ads: Rewrap overlong comment line.
17
 
18
        * projects.texi: Fix typos.
19
        * gnat_rm.texi: Likewise.
20
        * gnat_ugn.texi: Likewise.
21
        * sem_util.adb: Fix typo in variable, typos in comments.
22
        * a-btgbso.adb: Fix typos in comments.
23
        * a-cbdlli.adb, a-cbhase.ads, a-cdlili.adb, a-cobove.adb,
24
        a-coinve.adb, a-convec.adb, a-direct.ads, a-strunb-shared.adb,
25
        a-strunb-shared.ads, a-stuten.ads, a-stwiun-shared.adb,
26
        a-stwiun-shared.ads, a-stzunb-shared.adb, a-stzunb-shared.ads,
27
        a-suenco.adb, a-suenst.adb, a-suewst.adb, a-suezst.adb, ali.ads,
28
        aspects.ads, atree.ads, binde.adb, bindgen.adb, checks.adb,
29
        checks.ads, einfo.ads, err_vars.ads, errout.adb, errout.ads,
30
        exp_aggr.adb, exp_attr.adb, exp_cg.adb, exp_ch3.adb,
31
        exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb,
32
        exp_dbug.ads, exp_disp.adb, exp_fixd.ads, freeze.adb,
33
        g-altive.ads, g-comlin.ads, g-excact.ads, g-mbdira.adb,
34
        g-sechas.ads, g-sehash.ads, g-sha1.ads, g-sha224.ads,
35
        g-sha256.ads, g-sha384.ads, g-sha512.ads, g-shsh32.ads,
36
        g-shsh64.ads, g-socket.adb, g-socket.ads, g-sothco.ads,
37
        gcc-interface/decl.c, gcc-interface/trans.c,
38
        gcc-interface/utils2.c, gnat1drv.adb, init.c, inline.adb,
39
        link.c, locales.c, make.adb, mingw32.h, namet.ads, osint.adb,
40
        par-ch12.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb,
41
        par-prag.adb, par.adb, par_sco.adb, prepcomp.adb,
42
        prj-conf.ads, prj-dect.adb, prj-env.adb, prj-env.ads,
43
        prj-nmsc.adb, prj-tree.ads, prj-util.ads, prj.adb, prj.ads,
44
        s-auxdec-vms-alpha.adb, s-auxdec-vms_64.ads, s-oscons-tmplt.c,
45
        s-osinte-vxworks.ads, s-osprim-mingw.adb, s-regexp.adb,
46
        s-stusta.adb, s-taprop-mingw.adb, s-taprop-solaris.adb,
47
        scn.adb, scos.ads, sem.adb, sem_aggr.adb, sem_attr.adb,
48
        sem_aux.adb, sem_aux.ads, sem_ch12.adb, sem_ch12.ads,
49
        sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb,
50
        sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_disp.adb,
51
        sem_disp.ads, sem_eval.adb, sem_intr.adb, sem_prag.adb,
52
        sem_res.adb, sem_scil.adb, sem_util.ads, sem_warn.adb,
53
        sem_warn.ads, sinfo.ads, socket.c, styleg.adb, switch.ads,
54
        sysdep.c, tb-alvxw.c, xoscons.adb: Likewise.
55
 
56
2010-12-13  Eric Botcazou  
57
 
58
        * gcc-interface/decl.c (gnat_to_gnu_entity) :
59
        Build a stub DECL for the dummy fat pointer type in the unconstrained
60
        array case.
61
        * gcc-interface/utils.c (update_pointer_to): Set the DECL_ORIGINAL_TYPE
62
        for all the variants in the fat pointer case.
63
 
64
2010-12-13  Eric Botcazou  
65
 
66
        * gcc-interface/trans.c (can_be_lower_p): New predicate.
67
        (Loop_Statement_to_gnu): Do not generate the entry condition if we know
68
        that it will be true.
69
 
70
2010-12-03  Joseph Myers  
71
 
72
        * gcc-interface/lang.opt (k8): New option.
73
 
74
2010-12-03  Alexandre Oliva  
75
 
76
        * gnatvsn.adb (Gnat_Version_String): Don't overrun Ver_Len_Max.
77
        * gnatvsn.ads (Ver_Len_Max): Bump up to 256.
78
        * g-comver.adb (Ver_Len_Max): Likewise.
79
 
80
2010-12-03  Laurynas Biveinis  
81
 
82
        * gcc-interface/decl.c (struct subst_pair_d): Remove GTY tag.
83
        (variant_desc_d): Likewise.
84
 
85
2010-12-01  Joseph Myers  
86
 
87
        * gcc-interface/misc.c (flag_compare_debug, flag_stack_check):
88
        Undefine as macros then define as variables.
89
        (gnat_post_options): Set variables from global_options.
90
 
91
2010-11-27  Eric Botcazou  
92
 
93
        PR ada/46574
94
        * gcc-interface/utils2.c (compare_elmt_bitpos): Fix typos.
95
 
96
2010-11-27  Eric Botcazou  
97
 
98
        PR ada/40777
99
        * gcc-interface/targtyps.c (get_target_double_scalar_alignment): Guard
100
        use of TARGET_64BIT macro.
101
 
102
2010-11-27  Eric Botcazou  
103
 
104
        * s-osinte-linux.ads (sigset_t): Use unsigned_char subtype directly.
105
        (unsigned_long_long_t): New modular type.
106
        (pthread_cond_t): Add alignment clause.
107
 
108
2010-11-27  Eric Botcazou  
109
 
110
        * gnatvsn.adb (Version_String): Change type to C-like array of chars.
111
        (Gnat_Version_String): Adjust to above change.
112
 
113
2010-11-18  Eric Botcazou  
114
 
115
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Also
116
        use return-by-invisible-reference if the return type is By_Reference.
117
        Tidy up and skip the processing of the return type if it is void.
118
 
119
2010-11-17  Joseph Myers  
120
 
121
        * gcc-interface/misc.c (gnat_parse_file): Take no arguments.
122
 
123
2010-11-17  Eric Botcazou  
124
 
125
        * gcc-interface/trans.c (addressable_p): Rewrite obsolete paragraph in
126
        head comment.
127
 
128
2010-11-12  Joseph Myers  
129
 
130
        * gcc-interface/Make-lang.in (ada/misc.o): Use $(OPTS_H).
131
        * gcc-interface/misc.c (gnat_handle_option): Take location_t parameter.
132
 
133
2010-11-10  Eric Botcazou  
134
 
135
        * gcc-interface/trans.c (gigi): Don't set 'pure' flag on SJLJ routines.
136
        * gcc-interface/utils2.c (compare_arrays): Add LOC parameter.  Set it
137
        directly on all the comparison expressions.
138
        (build_binary_op): Pass input_location to compare_arrays.
139
 
140
2010-11-10  Eric Botcazou  
141
 
142
        * gcc-interface/trans.c (lvalue_required_p) ): Look
143
        through it for elementary types as well.
144
        : Adjust to above change.
145
        : Likewise.
146
        (gnat_to_gnu): Do not attempt to rewrite boolean literals.
147
 
148
2010-11-10  Eric Botcazou  
149
 
150
        * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set DECL_ARTIFICIAL
151
        on the reused DECL node coming from a renamed object.
152
        Set DECL_IGNORED_P on the DECL node built for renaming entities if they
153
        don't need debug info.
154
 
155
2010-11-09  Eric Botcazou  
156
 
157
        * gcc-interface/utils.c (save_gnu_tree): Improve comments.
158
        (get_gnu_tree): Likewise.
159
 
160
2010-11-09  Eric Botcazou  
161
 
162
        * gcc-interface/decl.c (finish_fat_pointer_type): New function.
163
        (gnat_to_gnu_entity) : Use it to build the fat pointer
164
        type.
165
        : Likewise.
166
 
167
2010-11-02  Eric Botcazou  
168
 
169
        * gcc-interface/gigi.h (add_stmt_force): Declare.
170
        (add_stmt_with_node_force): Likewise.
171
        * gcc-interface/trans.c (Attribute_to_gnu): Don't set TREE_SIDE_EFFECTS
172
        on the SAVE_EXPR built for cached expressions of parameter attributes.
173
        (Subprogram_Body_to_gnu): Force evaluation of the SAVE_EXPR built for
174
        cached expressions of parameter attributes.
175
        (add_stmt_force): New function.
176
        (add_stmt_with_node_force): Likewise.
177
 
178
2010-10-27  Eric Botcazou  
179
 
180
        * gcc-interface/trans.c (gigi): Fix formatting issues.
181
        (build_raise_check): Likewise.
182
        (gnat_to_gnu): Likewise.
183
        * gcc-interface/utils2.c (build_call_raise_range): Likewise.
184
        (build_call_raise_column): Likewise.
185
 
186
2010-10-26  Robert Dewar  
187
 
188
        * exp_ch5.adb, exp_prag.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
189
        sem_dist.adb, exp_ch7.adb, exp_util.adb, exp_attr.adb, exp_ch9.adb,
190
        sem_ch10.adb, checks.adb, sem_prag.adb, par-endh.adb, sem_ch12.adb,
191
        exp_smem.adb, sem_attr.adb, exp_ch4.adb, exp_ch6.adb, exp_ch8.adb,
192
        sem_ch6.adb, exp_disp.adb, exp_aggr.adb, exp_dist.adb, sem_ch13.adb,
193
        par-ch3.adb, par-ch5.adb, exp_strm.adb, exp_ch3.adb: Minor reformatting
194
        * opt.ads: Minor comment fix.
195
 
196
2010-10-26  Vincent Celier  
197
 
198
        * gnat_ugn.texi: Document option -s for gnatlink.
199
 
200
2010-10-26  Robert Dewar  
201
 
202
        * opt.ads: Move documentation on checksum stuff here from prj-nmsc
203
        * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Move
204
        documentation on checksum versions to opt.ads.
205
 
206
2010-10-26  Vincent Celier  
207
 
208
        * opt.ads (Checksum_Accumulate_Token_Checksum): New Boolean flag,
209
        defaulted to True.
210
        (Checksum_GNAT_6_3): New name of Old_Checksums
211
        (Checksum_GNAT_5_03): New name of Old_Old_Checksums
212
        * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Adapt to new
213
        names of Opt flags.
214
        Set Checksum_Accumulate_Token_Checksum to False if GNAT version is 5.03
215
        or before.
216
        * scng.adb (Accumulate_Token_Checksum_GNAT_6_3): New name of procedure
217
        Accumulate_Token_Checksum_Old.
218
        (Accumulate_Token_Checksum_GNAT_5_03): New name of procedure
219
        Accumulate_Token_Checksum_Old_Old.
220
        (Nlit): Call Accumulate_Token_Checksum only if
221
        Opt.Checksum_Accumulate_Token_Checksum is True.
222
        (Scan): Ditto
223
 
224
2010-10-26  Robert Dewar  
225
 
226
        * sem_ch13.adb (Build_Invariant_Procedure): New calling sequence.
227
        (Build_Invariant_Procedure): Properly handle analysis of invariant
228
        expression with proper end-of-visible-decls visibility.
229
        * sem_ch13.ads (Build_Invariant_Procedure): Changed calling sequence.
230
        * sem_ch3.adb (Process_Full_View): Don't build invariant procedure
231
        (too late).
232
        (Analyze_Private_Extension_Declaration): Propagate invariant flags.
233
        * sem_ch7.adb (Analyze_Package_Specification): Build invariant
234
        procedures.
235
 
236
2010-10-26  Vincent Celier  
237
 
238
        * opt.ads (Old_Checksums, Old_Old_Checksums): New Boolean flags,
239
        defaulted to False.
240
        * prj-nmsc.adb (Process_Project_Level_Array_Attributes): When
241
        processing attribute Toolchain_Version ("Ada"), set Opt.Old_Checksums
242
        and Opt.Old_Old_Checksums depending on the GNAT version.
243
        * scng.adb (Accumulate_Token_Checksum_Old): New procedure.
244
        (Accumulate_Token_Checksum_Old_Old): New procedure.
245
        (Scan): For keywords, when Opt.Old_Checksums is True, call one of the
246
        alternative procedures Accumulate_Token_Checksum_Old or
247
        Accumulate_Token_Checksum_Old_Old, instead of Accumulate_Token_Checksum.
248
 
249
2010-10-26  Richard Kenner  
250
 
251
        * gcc-interface/utils2.c (build_compound_expr): New function.
252
        * gcc-interface/gigi.h (build_compound_expr): Declare it.
253
        * gcc-interface/trans.c (Attribute_to_gnu, call_to_gnu): Use it.
254
        (gnat_to_gnu, case N_Expression_With_Actions): Likewise.
255
 
256
2010-10-26  Javier Miranda  
257
 
258
        * sem_prag.adb (Process_Import_Or_Interface): Skip primitives of
259
        interface types when processing all the entities in the homonym chain
260
        that are declared in the same declarative part.
261
 
262
2010-10-26  Ed Schonberg  
263
 
264
        * sem_ch3.adb (Process_Range_In_Decl): If the range is part of a
265
        quantified expression, the insertion point for range checks will be
266
        arbitrarily far in the tree.
267
        * sem_ch5.adb (One_Bound): Use Insert_Actions for the declaration of
268
        the temporary that holds the value of the bounds.
269
        * sem_res.adb (Resolve_Quantified_Expressions): Disable expansion of
270
        condition until the full expression is expanded.
271
 
272
2010-10-26  Robert Dewar  
273
 
274
        * opt.ads: Comment fix.
275
        * sem_cat.adb: Treat categorization errors as warnings in GNAT Mode.
276
        * switch-c.adb: GNAT Mode does not set
277
        Treat_Categorization_Errors_As_Warnings.
278
 
279
2010-10-26  Ed Schonberg  
280
 
281
        * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve warning when an
282
        operator renames another one with a different name.
283
 
284
2010-10-26  Thomas Quinot  
285
 
286
        * exp_ch4.adb, exp_pakd.adb: Minor reformatting.
287
 
288
2010-10-26  Bob Duff  
289
 
290
        * namet.adb: Improve hash function.
291
 
292
2010-10-26  Thomas Quinot  
293
 
294
        * sem_disp.adb: Minor reformatting.
295
 
296
2010-10-26  Robert Dewar  
297
 
298
        * sem_ch3.adb, sem_ch4.adb, sem_disp.adb, switch-c.adb: Minor
299
        reformatting.
300
        * gnat_ugn.texi: Document -gnateP switch.
301
 
302
2010-10-26  Robert Dewar  
303
 
304
        * opt.ads (Treat_Categorization_Errors_As_Warnings): New flag
305
        * sem_cat.adb (Check_Categorization_Dependencies):
306
        Use Check_Categorization_Dependencies
307
        * switch-c.adb: GNAT Mode sets Treat_Categorization_Errors_As_Warnings
308
        -gnateP sets Treat_Categorization_Errors_As_Warnings
309
        * usage.adb: Add line for -gnateP switch
310
 
311
2010-10-26  Javier Miranda  
312
 
313
        * sem_ch3.adb (Add_Internal_Interface_Entities): Handle primitives
314
        inherited from the parent that cover interface primitives.
315
        (Derive_Progenitor_Subprograms): Handle primitives inherited from
316
        the parent that cover interface primitives.
317
        * sem_disp.adb (Find_Primitive_Covering_Interface): When searching in
318
        the list of primitives of the type extend the test to include inherited
319
        private primitives.
320
        * sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
321
        * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Add missing
322
        barrier to the loop searching for explicit overriding primitives.
323
        * sem_ch4.adb (Analyze_Indexed_Component_Form): Add missing barrier
324
        before accessing attribute Entity.
325
 
326
2010-10-26  Bob Duff  
327
 
328
        * make.adb: Call Namet.Finalize, so we can get statistics.
329
 
330
2010-10-26  Geert Bosch  
331
 
332
        * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use the subprogram_body
333
        node to determine wether the subprogram is a rewritten parameterized
334
        expression.
335
 
336
2010-10-26  Robert Dewar  
337
 
338
        * opt.ads: Minor code reorganization.  Alphabetize Warning switches.
339
 
340
2010-10-26  Robert Dewar  
341
 
342
        * sem_res.adb, xsinfo.adb: Minor reformatting.
343
 
344
2010-10-26  Bob Duff  
345
 
346
        * namet.adb (Finalize): More cleanup of statistics printouts.
347
 
348
2010-10-26  Robert Dewar  
349
 
350
        * ceinfo.adb: Minor reformatting.
351
 
352
2010-10-26  Javier Miranda  
353
 
354
        * sem_ch6.adb (Check_Overriding_Indicator, New_Overloaded_Entity): When
355
        setting attribute Overridden_Operation do not reference the entities
356
        generated by Derive_Subprograms but their aliased entity (which
357
        is the primitive inherited from the parent type).
358
 
359
2010-10-26  Bob Duff  
360
 
361
        * namet.adb, namet.ads: Minor cleanup.
362
 
363
2010-10-26  Arnaud Charlet  
364
 
365
        * gcc-interface/Make-lang.in: Update dependencies.
366
 
367
2010-10-26  Robert Dewar  
368
 
369
        * einfo.ads, einfo.adb (Is_Base_Type): New function, use it where
370
        appropriate.
371
        * exp_ch6.adb, exp_dbug.adb, exp_disp.adb, freeze.adb, lib-xref.adb,
372
        sem_aux.adb, sem_ch3.adb, sem_ch7.adb, sem_ch8.adb (Is_Base_Type): Use
373
        this new abstraction where appropriate.
374
 
375
2010-10-26  Ed Schonberg  
376
 
377
        * sem_ch12.adb: Code clean up.
378
 
379
2010-10-26  Paul Hilfinger  
380
 
381
        * exp_dbug.ads: Document effect of 'pragma Unchecked_Union' on
382
        debugging data.
383
 
384
2010-10-26  Ed Schonberg  
385
 
386
        * sem_util.adb (Note_Possible_Modification): If the target of an
387
        assignment is the bound variable in an iterator, the domain of
388
        iteration, i.e. array or container, is modified as well.
389
 
390
2010-10-26  Bob Duff  
391
 
392
        * Make-generated.in: Make the relevant make targets depend on
393
        ceinfo.adb and csinfo.adb.
394
        * csinfo.adb, ceinfo.adb: Make sure it raises an exception on failure,
395
        so when called from xeinfo, the failure will be noticed.
396
        * sinfo.ads: Update comments to reflect the fact that xsinfo runs csinfo
397
        * xsinfo.adb, xeinfo.adb: Run ceinfo to check for errors. Close files.
398
 
399
2010-10-26  Ed Schonberg  
400
 
401
        * exp_ch4.adb: Set properly parent field of operands of concatenation.
402
 
403
2010-10-26  Ed Schonberg  
404
 
405
        * sem_res.adb (Check_Infinite_Recursion): A recursive call within a
406
        conditional expression or a case expression should not generate an
407
        infinite recursion warning.
408
 
409
2010-10-26  Javier Miranda  
410
 
411
        * einfo.ads, einfo.adb (Is_Overriding_Operation): Removed.
412
        (Set_Is_Overriding_Operation): Removed.
413
        * sem_ch3.adb (Check_Abstract_Overriding): Remove redundant call to
414
        Is_Overriding_Operation.
415
        * exp_ch7.adb (Check_Visibly_Controlled): Remove redundant call to
416
        Is_Overriding_Operation.
417
        * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Remove redundant
418
        call to Set_Is_Overriding_Operation.
419
        * sem_util.adb (Collect_Primitive_Operations): Replace test on
420
        Is_Overriding_Operation by test on the presence of attribute
421
        Overridden_Operation.
422
        (Original_Corresponding_Operation): Remove redundant call to attribute
423
        Is_Overriding_Operation.
424
        * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove
425
        redundant call to Is_Overriding_Operation.
426
        (Verify_Overriding_Indicator): Replace several occurrences of test on
427
        Is_Overriding_Operation by test on the presence of attribute
428
        Overridden_Operation.
429
        (Check_Convention): Replace test on Is_Overriding_Operation by test on
430
        the presence of Overridden_Operation.
431
        (Check_Overriding_Indicator): Add missing decoration of attribute
432
        Overridden_Operation. Minor code cleanup.
433
        (New_Overloaded_Entity): Replace occurrence of test on
434
        Is_Overriding_Operation by test on the presence of attribute
435
        Overridden_Operation. Remove redundant setting of attribute
436
        Is_Overriding_Operation plus minor code reorganization.
437
        Add missing decoration of attribute Overridden_Operation.
438
        * sem_elim.adb (Set_Eliminated): Replace test on
439
        Is_Overriding_Operation by test on the presence of Overridden_Operation.
440
        * sem_ch8.adb (Analyze_Subprogram_Renaming): Replace test on
441
        Is_Overriding_Operation by test on the presence of
442
        Overridden_Operation. Remove a redundant test on attribute
443
        Is_Overriding_Operation.
444
        * lib-xref.adb (Generate_Reference): Replace test on
445
        Is_Overriding_Operation by test on the presence of Overridden_Operation.
446
        (Output_References): Replace test on Is_Overriding_Operation by test on
447
        the presence of Overridden_Operation.
448
        * sem_disp.adb (Override_Dispatching_Operation): Replace test on
449
        Is_Overriding_Operation by test on the presence of Overridden_Operation.
450
        Add missing decoration of attribute Overridden_Operation.
451
 
452
2010-10-26  Robert Dewar  
453
 
454
        * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Properly check
455
        RM 13.4.1(10).
456
 
457
2010-10-26  Bob Duff  
458
 
459
        * sem_res.adb (Resolve_Actuals): In case of certain
460
        internally-generated type conversions (created by OK_Convert_To, so the
461
        Conversion_OK flag is set), avoid fetching the component type when it's
462
        not really an array type, but a private type completed by an array type.
463
 
464
2010-10-26  Ed Schonberg  
465
 
466
        * sem_ch5.adb: Adjust format of error message.
467
 
468
2010-10-26  Robert Dewar  
469
 
470
        * einfo.ads, einfo.adb (OK_To_Reference): Removed, no longer used.
471
        * exp_util.adb (Side_Effect_Free): Put in safety barrier in code to
472
        detect renamings to avoid problems with invariants.
473
        * sem_ch13.adb (Replace_Type_References_Generic): New procedure
474
        (Build_Invariant_Procedure): Use Replace_Type_Reference_Generic
475
        (Build_Predicate_Function): Use Replace_Type_Reference_Generic
476
        * sem_res.adb, sem_ch8.adb, sem_ch4.adb (OK_To_Reference): Remove
477
        references, flag is no longer set.
478
 
479
2010-10-26  Vincent Celier  
480
 
481
        * prj.ads (Source_Data): New Boolean component Initialized, defaulted
482
        to False, set to True when Source_Data is completely initialized.
483
        * prj-env.adb: Minor comment fix.
484
 
485
2010-10-26  Robert Dewar  
486
 
487
        * sem_case.adb, sem_ch6.adb, sem_util.adb: Minor reformatting.
488
 
489
2010-10-26  Ed Schonberg  
490
 
491
        * sem_ch5.adb (Analyze_Iteration_Scheme): Diagnose attempt to use thew
492
        form "for X in A" when A is an array object. This form is only intended
493
        for containers.
494
        * sem_eval.adb: Fix reference to non-existing field of type conversion
495
        node.
496
        * sem_case.adb (Check_Choices): Improve error reporting for overlapping
497
        choices in case statements.
498
 
499
2010-10-26  Gary Dismukes  
500
 
501
        * exp_disp.adb (Expand_Interface_Actuals): When expanding an actual for
502
        a class-wide interface formal that involves applying a displacement
503
        conversion to the actual, check for the case of calling a build-in-place
504
        function and handle generation of the implicit BIP parameters (call
505
        Make_Build_In_Place_Call_In_Anonymous_Context).
506
        Add with and use of Exp_Ch6.
507
 
508
2010-10-26  Robert Dewar  
509
 
510
        * sem_prag.adb, sem_cat.ads: Minor reformatting.
511
 
512
2010-10-26  Sergey Rybin  
513
 
514
        * vms_data.ads: Define VMS qualifier for gnatelim '--ignore' option
515
 
516
2010-10-26  Thomas Quinot  
517
 
518
        * sem_util.adb (Has_Preelaborable_Initialization.Check_Components):
519
        For a discriminant, use Discriminant_Default_Value rather than
520
        Expression (Declaration_Node (D)).
521
 
522
2010-10-26  Geert Bosch  
523
 
524
        * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Parameterized
525
        expressions don't need a spec, even when style checks require
526
        subprograms to have one.
527
 
528
2010-10-26  Arnaud Charlet  
529
 
530
        * gnatvsn.ads: Update comments.
531
 
532
2010-10-26  Matthew Heaney  
533
 
534
        * Makefile.rtl, impunit.adb: Add bounded hashed set and bounded hashed
535
        map containers.
536
        * a-cohata.ads: Add declaration of generic package for bounded hash
537
        table types.
538
        * a-chtgbo.ads, a-chtgbo.adb, a-chtgbk.ads, a-chtgbk.adb, a-cbhase.ads,
539
        a-cbhase.adb, a-cbhama.ads, a-cbhama.adb: New files.
540
 
541
2010-10-26  Ed Schonberg  
542
 
543
        * sem_warn.adb: Improve warning message on overlapping actuals.
544
 
545
2010-10-26  Thomas Quinot  
546
 
547
        * sem_ch4.adb, exp_dist.adb: Minor reformatting.
548
 
549
2010-10-26  Vincent Celier  
550
 
551
        * makeusg.adb (Makeusg): Add lines for switches -vl, -vm and -vh.
552
 
553
2010-10-26  Robert Dewar  
554
 
555
        * exp_ch3.adb (Expand_N_Object_Declaration): Move generation of
556
        predicate check to analyzer, since too much rewriting occurs in the
557
        analyzer.
558
        * sem_ch13.adb (Build_Predicate_Function): Change calling sequence, and
559
        change the order in which things are done to fix several errors in
560
        dealing with qualification of the type name.
561
        (Build_Static_Predicate): Built static predicate after full analysis
562
        of the body. This is necessary to fix several problems.
563
        * sem_ch3.adb (Analyze_Object_Declaration): Move predicate check here
564
        from expander, since too much expansion occurs in the analyzer to leave
565
        it that late.
566
        (Analyze_Object_Declaration): Change parameter Include_Null to new name
567
        Include_Implicit in Is_Partially_Initialized_Type call.
568
        (Analyze_Subtype_Declaration): Make sure predicates are proapagated in
569
        some strange cases of internal subtype generation.
570
        * sem_util.ads, sem_util.adb (Is_Partially_Initialized_Type): Change
571
        Include_Null to Include_Implicit, now includes the case of
572
        discriminants.
573
 
574
2010-10-26  Sergey Rybin  
575
 
576
        * gnat_rm.texi: Revise the documentation for pragma Eliminate.
577
 
578
2010-10-26  Matthew Heaney  
579
 
580
        * Makefile.rtl, impunit.adb: Added bounded list container.
581
        * a-cbdlli.ads, a-cbdlli.adb: New file.
582
 
583
2010-10-25  Eric Botcazou  
584
 
585
        * gcc-interface/utils2.c: Include flags.h and remove prototypes.
586
        (build_unary_op) : When not optimizing, fold the result
587
        of the call to invert_truthvalue_loc.
588
        * gcc-interface/Make-lang.in (utils2.o): Add $(FLAGS_H).
589
 
590
2010-10-25  Eric Botcazou  
591
 
592
        * gcc-interface/utils.c (update_pointer_to): Clear TYPE_POINTER_TO and
593
        TYPE_REFERENCE_TO of the old type after redirecting its pointer and
594
        reference types.
595
 
596
2010-10-25  Eric Botcazou  
597
 
598
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not set
599
        TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
600
 
601
2010-10-25  Jose Ruiz  
602
 
603
        * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for powerpc-linux):
604
        Reorganize target pairs so that it works on linux and ElinOS.
605
 
606
2010-10-25  Pascal Obry  
607
 
608
        * adaint.c (__gnat_file_time_name_attr): Use GetFileAttributesEx to get
609
        the timestamp. A bit faster than opening/closing the file.
610
        (__gnat_stat_to_attr): Remove kludge for Windows.
611
        (__gnat_file_exists_attr): Likewise.
612
        The timestamp is now retreived using GetFileAttributesEx as faster.
613
 
614
2010-10-25  Javier Miranda  
615
 
616
        * sem_ch3.adb (Derive_Interface_Subprogram): New subprogram.
617
        (Derive_Subprograms): For abstract private types transfer to the full
618
        view entities of uncovered interface primitives. Required because if
619
        the interface primitives are left in the private part of the package
620
        they will be decorated as hidden when the analysis of the enclosing
621
        package completes (and hence the interface primitive is not visible
622
        for dispatching calls).
623
 
624
2010-10-25  Matthew Heaney  
625
 
626
        * Makefile.rtl, impunit.adb: Added bounded set and bounded map
627
        containers.
628
        * a-crbltr.ads: Added declaration of generic package for bounded tree
629
        types.
630
        * a-rbtgbo.ads, a-rbtgbo.adb, a-rbtgbk.ads, a-rbtgbk.adb, a-btgbso.ads,
631
        a-btgbso.adb, a-cborse.ads, a-cborse.adb, a-cborma.ads, a-cborma.adb:
632
        New.
633
 
634
2010-10-25  Thomas Quinot  
635
 
636
        * sem_util.adb: Minor reformatting.
637
        * usage.adb: Fix usage line for -gnatwh.
638
 
639
2010-10-25  Thomas Quinot  
640
 
641
        * sem_ch12.adb (Analyze_Package_Instantiation): For an
642
        instantiation in an RCI spec, omit package body if instantiation comes
643
        from source, even as a nested
644
        package.
645
        * exp_dist.adb (Add_Calling_Stubs_To_Declarations,
646
        *_Support.Add_Receiving_Stubs_To_Declarations): Handle the case of
647
        nested packages, package instantiations and subprogram instantiations.
648
 
649
2010-10-25  Robert Dewar  
650
 
651
        * exp_ch5.adb (Expand_Predicated_Loop): Remove code for loop through
652
        non-static predicate, since we agree not to allow this.
653
        (Expand_Predicated_Loop): Properlay handle false predicate (null
654
        list in Static_Predicate field.
655
        * sem_ch13.adb (Build_Static_Predicate): Extensive changes to clean up
656
        handling of more general predicate forms.
657
 
658
2010-10-25  Robert Dewar  
659
 
660
        * sem_ch4.adb, sem_util.adb: Minor reformatting.
661
        * sem_ch8.adb (Find_Selected_Component): Allow selection from instance
662
        of type in predicate or invariant expression.
663
 
664
2010-10-25  Pascal Obry  
665
 
666
        * adaint.c (__gnat_stat_to_attr): Can set the timestamp on Windows now.
667
        (f2t): New routine.
668
        (__gnat_stat): Rewrite Win32 version.
669
 
670
2010-10-25  Robert Dewar  
671
 
672
        * sem_warn.adb, einfo.ads, exp_ch4.adb: Minor comment fix
673
        * sem_case.adb: Comment clarification for loops through false
674
        predicates.
675
        * sem_util.adb: Minor reformatting
676
        (Check_Order_Dependence): Fix bad double blank in error message
677
 
678
2010-10-25  Ed Schonberg  
679
 
680
        * sem_ch4.adb (Analyze_Membership_Op): in Ada_2012 a membership
681
        operation can have a single alternative that is a value of the type.
682
        Rewrite operation as an equality test.
683
 
684
2010-10-25  Matthew Heaney  
685
 
686
        * Makefile.rtl, impunit.adb: Added a-cobove (bounded vector container)
687
        to lists.
688
        * a-contai.ads: Added declaration of Capacity_Error exception.
689
        * a-cobove.ads, a-cobove.adb: New files.
690
 
691
2010-10-25  Thomas Quinot  
692
 
693
        * uname.adb: Revert previous change, no longer needed after change
694
        in par-ch10.adb.
695
 
696
2010-10-25  Thomas Quinot  
697
 
698
        * scos.ads: Minor comment fix.
699
 
700
2010-10-25  Ed Schonberg  
701
 
702
        * sem_ch5.adb (Analyze_Assignment_Statement): Check dangerous order
703
        dependence.
704
        * sem_ch6.adb (Analyze_Procedure_Call_Statement): Ditto.
705
        * sem_res.adb (Analyze_Actuals): Add actual to list of actuals for
706
        current construct, for subsequent order dependence checking.
707
        (Resolve): Check order dependence on expressions that are not
708
        subexpressions.
709
        * sem_util.adb (Check_Order_Dependence): Code cleanup, to correspond
710
        to latest version of AI05-144-2.
711
        * sem_warn.adb (Warn_On_Overlapping_Actuals): Code cleanup.
712
 
713
2010-10-25  Robert Dewar  
714
 
715
        * sem_ch13.adb (Build_Static_Predicate): Moved out of
716
        Build_Predicate_Function.
717
        (Build_Static_Predicate): Complet rewrite for more general predicates
718
 
719
2010-10-25  Richard Kenner  
720
            Eric Botcazou  
721
 
722
        * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Function): Allow
723
        In Out/Out parameters for functions.
724
        * gcc-interface/trans.c (gnu_return_var_stack): New variable.
725
        (create_init_temporary): New static function.
726
        (Subprogram_Body_to_gnu): Handle In Out/Out parameters for functions.
727
        (call_to_gnu): Likewise.  Use create_init_temporary in order to create
728
        temporaries for unaligned parameters and return value.  If there is an
729
        unaligned In Out or Out parameter passed by reference, push a binding
730
        level if not already done.  If a binding level has been pushed and the
731
        call is returning a value, create the call statement.
732
        (gnat_to_gnu) : Handle In Out/Out parameters for
733
        functions.
734
 
735
2010-10-22  Ben Brosgol  
736
 
737
        * gnat_rm.texi: Add chapter on Ada 2012 support.
738
 
739
2010-10-22  Robert Dewar  
740
 
741
        * sem_ch12.adb: Minor reformatting.
742
 
743
2010-10-22  Thomas Quinot  
744
 
745
        * exp_dist.adb: Mark missing case of nested package when expanding
746
        stubs.
747
 
748
2010-10-22  Ed Schonberg  
749
 
750
        * par-ch10.adb: Discard incomplete with_clause.
751
 
752
2010-10-22  Robert Dewar  
753
 
754
        * checks.adb (Enable_Range_Check): Remove code suppressing range check
755
        if static predicate present, not needed.
756
        * exp_attr.adb (Expand_Pred_Succ): Check Suppress_Assignment_Checks flag
757
        * exp_ch3.adb (Expand_N_Object_Declaration): Check
758
        Suppress_Assignment_Checks flag.
759
        * exp_ch4.adb (Expand_N_In): Make some corrections for proper handling
760
        of ranges when predicates are present.
761
        * exp_ch5.adb (Expand_Predicated_Loop): New procedure
762
        (Expand_N_Assignment_Statement): Check Suppress_Assignment_Checks flag
763
        (Expand_N_Loop_Statement): Handle loops over predicated types
764
        * sem_case.adb (Analyze_Choices): Remove extra blank in error message.
765
        * sem_ch13.adb (Build_Predicate_Function.Add_Call): Suppress info
766
        message for inheritance if within a generic instance, not useful there!
767
        (Build_Static_Predicate): Optimize test in predicate function
768
        based on static ranges determined.
769
        * sem_ch5.adb (Analyze_Iteration_Scheme): Error for loop through
770
        subtype with non-static predicate.
771
        * sinfo.ads, sinfo.adb (Suppress_Assignment_Checks): New flag.
772
 
773
2010-10-22  Thomas Quinot  
774
 
775
        * uname.adb (Get_Unit_Name.Add_Node_Name): If encountering an error
776
        node in the unit name, propagate Program_Error to guard against
777
        cascaded errors.
778
 
779
2010-10-22  Javier Miranda  
780
 
781
        * sem_ch8.adb (Find_Selected_Component): Do not generate a subtype for
782
        selected components of dispatch table wrappers.
783
 
784
2010-10-22  Ed Schonberg  
785
 
786
        * exp_ch9.adb (Make_Initialize_Protection): A protected type that
787
        implements an interface must be treated as if it has entries, to
788
        support dispatching select statements.
789
 
790
2010-10-22  Robert Dewar  
791
 
792
        * sem_aggr.adb, sem_ch3.adb: Minor reformatting.
793
 
794
2010-10-22  Javier Miranda  
795
 
796
        * sem_aggr.adb (Resolve_Array_Aggregate.Add): If the type of the
797
        aggregate has a non standard representation the attributes 'Val and
798
        'Pos expand into function calls and the resulting expression is
799
        considered non-safe for reevaluation by the backend. Relocate it into
800
        a constant temporary to indicate to the backend that it is side
801
        effects free.
802
 
803
2010-10-22  Ed Schonberg  
804
 
805
        * sem_ch3.adb (Build_Concurrent_Derived_Type): Create declaration for
806
        derived corresponding record type only when expansion is enabled.
807
 
808
2010-10-22  Robert Dewar  
809
 
810
        * sem_case.adb, sem_attr.adb (Bad_Predicated_Subtype_Use): Change order
811
        of parameters.
812
        * sem_ch13.adb (Build_Predicate_Function): Don't give inheritance
813
        messages for generic actual subtypes.
814
        * sem_ch9.adb, sem_res.adb, sem_util.adb, sem_util.ads, sem_ch3.adb
815
        (Bad_Predicated_Subtype_Use): Use this procedure.
816
 
817
2010-10-22  Robert Dewar  
818
 
819
        * sem_ch5.adb: Minor reformatting.
820
 
821
2010-10-22  Robert Dewar  
822
 
823
        * a-except-2005.adb (Rmsg_18): New message text.
824
        * a-except.adb (Rmsg_18): New message text.
825
        * atree.adb (List25): New function
826
        (Set_List25): New procedure
827
        * atree.ads (List25): New function
828
        (Set_List25): New procedure
829
        * einfo.adb (Static_Predicate): Is now a list
830
        (OK_To_Reference): Present in all entities
831
        * einfo.ads (Static_Predicate): Is now a list
832
        (OK_To_Reference): Applies to all entities
833
        * exp_ch13.adb (Build_Predicate_Function): Moved to Sem_Ch13
834
        * sem_attr.adb (Bad_Attribute_For_Predicate): Call
835
        Bad_Predicated_Subtype_Use.
836
        * sem_case.ads, sem_case.adb: Major surgery to deal with predicated
837
        subtype case.
838
        * sem_ch13.adb (Build_Predicate_Function): Moved from Exp_Ch13 to
839
        Sem_Ch13.
840
        (Build_Static_Predicate): New procedure handles static predicates.
841
        * sem_ch3.adb (Analyze_Subtype_Declaration): Delay freeze on subtype
842
        with no constraint if ancestor subtype has predicates.
843
        (Analyze_Variant_Part): New calling sequence for Analyze_Choices
844
        * sem_ch4.adb (Junk_Operand): Don't complain about OK_To_Reference
845
        entity.
846
        (Analyze_Case_Expression): New calling sequence for Analyze_Choices
847
        * sem_ch5.adb (Analyze_Case_Statement): New calling sequence for
848
        Analyze_Choices.
849
        * sem_util.ads, sem_util.adb (Bad_Predicated_Subtype_Use): New procedure
850
        * types.ads (PE_Bad_Predicated_Generic_Type): Replaces
851
        PE_Bad_Attribute_For_Predicate.
852
        * atree.h: Add definition of List25.
853
 
854
2010-10-22  Jerome Lambourg  
855
 
856
        * gnatlink.adb (Process_Binder_File): Remove CLI-specific code, now
857
        moved to dotnet-ld.
858
        (Gnatlink): Remove CLI-specific code, moved to dotnet-ld
859
        * bindgen.adb (Gen_Object_Files_Options): Do not issue -L switches with
860
        the .NET compiler, useless and unsupported.
861
 
862
2010-10-22  Robert Dewar  
863
 
864
        * sem_util.ads (Get_Num_Lit_From_Pos): Fix errors in documentation,
865
        this returns a Node_Id for a reference to the entity, not the entity
866
        itself!
867
 
868
2010-10-22  Ed Schonberg  
869
 
870
        * sem_ch5.adb (Analyze_Iteration_Scheme): use Insert_Actions when
871
        bounds require a temporary.
872
 
873
2010-10-22  Robert Dewar  
874
 
875
        * sem_ch4.adb: Minor reformatting.
876
        * sinfo.ads: Minor comment fixes for Ada 2012 syntax.
877
 
878
2010-10-22  Robert Dewar  
879
 
880
        * par-ch5.adb: Minor reformatting.
881
        * gcc-interface/Make-lang.in: Update dependencies.
882
 
883
2010-10-22  Robert Dewar  
884
 
885
        * a-except.adb, a-except-2005.adb: Add new Rcheck entry.
886
        * exp_ch13.adb (Add_Call): Make sure subtype is marked with
887
        Has_Predicates set to True if it inherits predicates.
888
        * sem_attr.adb: Handle 'First/'Last/'Range for predicated types
889
        * types.ads (PE_Bad_Attribute_For_Predicate): New reason code
890
        * types.h: Add new Rcheck entry.
891
        * einfo.ads, einfo.adb (Static_Predicate): New field.
892
        Minor code reorganization (file float routines in proper section)
893
        Fix bad field name in comments.
894
 
895
2010-10-22  Robert Dewar  
896
 
897
        * sem_eval.adb (Subtypes_Statically_Compatible): Check null exclusion
898
        case.
899
 
900
2010-10-22  Vincent Celier  
901
 
902
        * prj-conf.adb (Get_Config_Switches): Detect if there is at least one
903
        declaration of IDE'Compiler_Command for one of the language in the main
904
        project.
905
        (Do_Autoconf): If there were at least one Compiler_Command declared and
906
        no target, invoke gprconfig with --target=all instead of the normalized
907
        host name.
908
 
909
2010-10-22  Robert Dewar  
910
 
911
        * par-ch4.adb: Update syntax in comments for Ada 2012.
912
        * sinfo.ads: Update syntax in comments for Ada 2012
913
        * par-ch3.adb (Check_Restricted_Expression): Remove "in Ada 2012 mode"
914
        from msg.
915
 
916
2010-10-22  Gary Dismukes  
917
 
918
        * sem_ch3.adb (Check_Or_Process_Discriminants): In Ada 2012, allow
919
        limited tagged types to have defaulted discriminants. Customize the
920
        error message for the Ada 2012 case.
921
        (Process_Discriminants): In Ada 2012, allow limited tagged types to have
922
        defaulted discriminants. Customize the error message for the Ada 2012
923
        case.
924
        * sem_ch6.adb (Create_Extra_Formals): Suppress creation of the extra
925
        formal for out formals of discriminated types in the case where the
926
        underlying type is a limited tagged type.
927
        * exp_attr.adb (Expand_N_Attribute_Reference, case
928
        Attribute_Constrained): Return True for 'Constrained when the
929
        underlying type of the prefix is a limited tagged type.
930
 
931
2010-10-22  Thomas Quinot  
932
 
933
        * sem_ch3.adb (Complete_Private_Subtype): The full view of the subtype
934
        may already have a rep item chain inherited from the full view of the
935
        base type, so do not overwrite it when propagating rep items from the
936
        partial view of the subtype.
937
        * sem_ch3.adb: Minor code reorganization.  Minor reformatting.
938
 
939
2010-10-22  Sergey Rybin  
940
 
941
        * gnat_ugn.texi (gnatmetric): Remove description of debug option.
942
 
943
2010-10-22  Tristan Gingold  
944
 
945
        * adaint.c (__gnat_number_of_cpus): Add implementation for VMS.
946
 
947
2010-10-22  Ed Schonberg  
948
 
949
        * par-ch5.adb: Set properly starting sloc of loop parameter.
950
 
951
2010-10-22  Ed Schonberg  
952
 
953
        * sem_util.adb (May_Be_Lvalue): An actual in a function call can be an
954
        lvalue in Ada2012, if the function has in-out parameters.
955
 
956
2010-10-22  Robert Dewar  
957
 
958
        * cstand.adb, einfo.adb, exp_attr.adb, sem_prag.adb, sem_vfpt.adb,
959
        sem_ch10.adb: Minor reformatting.
960
 
961
2010-10-22  Sergey Rybin  
962
 
963
        * gnat_ugn.texi: Remove most of the content of gnatcheck chapter.
964
 
965
2010-10-22  Ed Schonberg  
966
 
967
        * sem_attr.adb: Handle indexed P'old.
968
 
969
2010-10-22  Geert Bosch  
970
 
971
        * cstand.adb (Build_Float_Type): Set Float_Rep according to platform.
972
        * einfo.ads (Float_Rep): New attribute.
973
        (Float_Rep_Kind): Move from body. Add comments.
974
        * einfo.adb (Float_Rep_Kind): Move to spec
975
        (Float_Rep): Now a real field instead of local function.
976
        (Set_Float_Rep): New procedure to set floating point representation
977
        (Set_Vax_Float): Remove.
978
        (Write_Entity_Flags): Remove Vax_Float flag.
979
        (Write_Field10_Name): Add E_Floating_Point_Type case for Float_Rep.
980
        * exp_attr.adb (Attribute_Valid): Use case statement for representation
981
        specific processing.
982
        * sem_ch3.adb (Build_Derived_Numeric_Type,
983
        Floating_Point_Type_Declaration): Set Float_Rep instead of Vax_Float
984
        attribute.
985
        * sem_util.ads, sem_util.adb (Is_AAMP_Float): Remove.
986
        * sem_vfpt.adb (Set_D_Float, Set_F_Float, Set_G_Float, Set_IEEE_Long,
987
        Set_IEEE_Short): Set Float_Rep instead of Vax_Float attribute.
988
 
989
2010-10-22  Robert Dewar  
990
 
991
        * sprint.adb: Minor reformatting.
992
 
993
2010-10-22  Robert Dewar  
994
 
995
        * exp_ch3.adb (Expand_N_Object_Declaration): Do required predicate
996
        checks.
997
        * sem_ch3.adb (Complete_Private_Subtype): Propagate predicates to full
998
        view.
999
        * sem_ch6.adb (Invariants_Or_Predicates_Present): New name for
1000
        Invariants_Present.
1001
        (Process_PPCs): Handle predicates generating post conditions
1002
        * sem_util.adb (Is_Partially_Initialized_Type): Add
1003
        Include_Null parameter.
1004
        * sem_util.ads (Is_Partially_Initialized_Type): Add
1005
        Include_Null parameter.
1006
 
1007
2010-10-22  Sergey Rybin  
1008
 
1009
        * gnat_ugn.texi (gnatelim): Add description for '--ignore' option
1010
 
1011
2010-10-22  Thomas Quinot  
1012
 
1013
        * sem_prag.adb (Check_First_Subtype): Specialize error messages for
1014
        case where argument is not a type.
1015
 
1016
2010-10-22  Robert Dewar  
1017
 
1018
        * exp_ch5.adb, par-ch4.adb, par-ch5.adb, sem_ch5.adb, sinfo.ads: Minor
1019
        reformatting.
1020
 
1021
2010-10-22  Arnaud Charlet  
1022
 
1023
        * a-locale.adb: Minor code clean up.
1024
 
1025
2010-10-22  Thomas Quinot  
1026
 
1027
        * exp_ch4.adb: Minor code reorganization and factoring.
1028
 
1029
2010-10-22  Thomas Quinot  
1030
 
1031
        * exp_ch5.adb, sem_ch5.adb, sinfo.ads, snames.ads-tmpl, par-ch5.adb:
1032
        Minor reformatting.
1033
 
1034
2010-10-22  Geert Bosch  
1035
 
1036
        * stand.ads: Fix typo in comment.
1037
 
1038
2010-10-22  Ed Schonberg  
1039
 
1040
        * sem_ch6.adb: Enable in-out parameter for functions.
1041
 
1042
2010-10-22  Ed Schonberg  
1043
 
1044
        * sem_ch4.adb (Analyze_Quantified_Expression): Handle properly loop
1045
        iterators that are transformed into container iterators after analysis.
1046
        * exp_ch4.adb (Expand_N_Quantified_Expression): Handle properly both
1047
        iterator forms before rewriting as a loop.
1048
 
1049
2010-10-22  Brett Porter  
1050
 
1051
        * a-locale.adb, a-locale.ads, locales.c: New files.
1052
        * Makefile.rtl: Add a-locale
1053
        * gcc-interface/Makefile.in: Add locales.c
1054
 
1055
2010-10-22  Robert Dewar  
1056
 
1057
        * sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
1058
        (Is_Generic_Formal): Moved from Sem_Util to Sem_Aux.
1059
 
1060
2010-10-22  Ed Schonberg  
1061
 
1062
        * exp_ch5.adb (Expand_Iterator_Loop): New subprogram, implements new
1063
        iterator forms over arrays and containers, in loops and quantified
1064
        expressions.
1065
        * exp_util.adb (Insert_Actions): include N_Iterator_Specification.
1066
        * par-ch4.adb (P_Quantified_Expression): Handle iterator specifications.
1067
        * par-ch5.adb (P_Iterator_Specification): New subprogram. Modify
1068
        P_Iteration_Scheme to handle both loop forms.
1069
        * sem.adb: Handle N_Iterator_Specification.
1070
        * sem_ch5.adb, sem_ch5.ads (Analyze_Iterator_Specification): New
1071
        subprogram.
1072
        * sinfo.adb, sinfo.ads: New node N_Iterator_Specification.
1073
        N_Iteration_Scheme can now include an Iterator_Specification. Ditto
1074
        for N_Quantified_Expression.
1075
        * snames.ads-tmpl: Add names Cursor, Element, Element_Type, No_Element,
1076
        and Previous, to support iterators over predefined containers.
1077
        * sprint.adb: Handle N_Iterator_Specification.
1078
 
1079
2010-10-22  Thomas Quinot  
1080
 
1081
        * sem_prag.adb, sem_ch12.adb, sem_util.adb, sem_util.ads
1082
        (Is_Generic_Formal): Move from body of Sem_Ch12 to Sem_Util.
1083
        (Check_Arg_Is_Local_Name): Fix check in the case of a pragma appearing
1084
        immediately after a library unit.
1085
        (Analyze_Pragma, case Preelaborable_Initialization): Pragma may apply to
1086
        a formal derived type.
1087
 
1088
2010-10-22  Geert Bosch  
1089
 
1090
        * gcc-interface/Make-lang.in: Remove ttypef.ads
1091
        * checks.adb: Use Machine_Mantissa_Value and Machine_Radix_Value instead
1092
        of Machine_Mantissa and Machine_Radix.
1093
        * cstand.adb (P_Float_Range): Directly print the Type_Low_Bound and
1094
        Type_High_Bound of the type, instead of choosing constants from Ttypef.
1095
        (Set_Float_Bounds): Compute the bounds based on Machine_Radix_Value,
1096
        Machine_Emax_Value and Machine_Mantissa_Value instead of special-casing
1097
        each type.
1098
        * einfo.ads (Machine_Emax_Value, Machine_Emin_Value,
1099
        Machine_Mantissa_Value, Machine_Radix_Value, Model_Emin_Value,
1100
        Model_Epsilon_Value, Model_Mantissa_Value, Model_Small_Value,
1101
        Safe_Emax_Value, Safe_First_Value, Safe_Last_Value): Add new
1102
        synthesized floating point attributes.
1103
        * einfo.adb (Float_Rep): Determine the kind of floating point
1104
        representation used for a given type.
1105
        (Machine_Emax_Value, Machine_Emin_Value, Machine_Mantissa_Value,
1106
        Machine_Radix_Value): Implement based on Float_Rep_Kind of a type and
1107
        the number of digits in the type.
1108
        (Model_Emin_Value, Model_Epsilon_Value, Model_Mantissa_Value,
1109
        Model_Small_Value, Safe_Emax_Value, Safe_First_Value, Safe_Last_Value):
1110
        Implement new synthesized floating point attributes based on the various
1111
        machine attributes.
1112
        * eval_fat.ads: Remove Machine_Mantissa and Machine_Radix.
1113
        * eval_fat.adb (Machine_Mantissa, Machine_Radix): Remove. Use the
1114
        Machine_Mantissa_Value and Machine_Radix_Value functions instead.
1115
        * exp_vfpt.adb (VAXFF_Digits, VAXDF_Digits, VAXFG_Digits): Define local
1116
        constants, instead of using constants from Ttypef.
1117
        * gnat_rm.texi: Reword comments referencing Ttypef.
1118
        * sem_attr.ads: Reword comment referencing Ttypef.
1119
        * sem_attr.adb (Float_Attribute_Universal_Integer,
1120
        Float_Attribute_Universal_Real): Remove.
1121
        (Attribute_Machine_Emax, Attribute_Machine_Emin,
1122
        Attribute_Machine_Mantissa, Attribute_Model_Epsilon,
1123
        Attribute_Model_Mantissa, Attribute_Model_Small, Attribute_Safe_Emax,
1124
        Attribute_Safe_First, Attribute_Safe_Last, Model_Small_Value): Use
1125
        attributes in Einfo instead of Float_Attribute_Universal_Real and
1126
        Float_Attribute_Universal_Integer and all explicit constants.
1127
        * sem_util.ads, sem_util.adb (Real_Convert): Remove.
1128
        * sem_vfpt.adb (VAXDF_Digits, VAXFF_Digits, VAXGF_Digits, IEEEL_Digits,
1129
        IEEES_Digits): New local constants, in order to remove dependency on
1130
        Ttypef.
1131
        * tbuild.ads (Make_Float_Literal): New function.
1132
        * tbuild.adb (Make_Float_Literal): New function to create a new
1133
        N_Real_Literal, constructing it as simple as possible for best
1134
        output of constants in -gnatS.
1135
        * ttypef.ads: Remove.
1136
 
1137
2010-10-22  Robert Dewar  
1138
 
1139
        * checks.adb (Apply_Predicate_Check): Remove attempt at optimization
1140
        when subtype is the same, caused legitimate checks to be missed.
1141
        * exp_ch13.adb (Build_Predicate_Function): Use Nearest_Ancestor to get
1142
        inheritance from right entity.
1143
        * freeze.adb (Freeze_Entity): Use Nearest_Ancestor to freeze in the
1144
        derived type case if the ancestor type has predicates.
1145
        * sem_aux.ads, sem_aux.adb (Nearest_Ancestor): New function.
1146
        * sem_prag.adb (Check_Enabled): Minor code reorganization.
1147
 
1148
2010-10-22  Arnaud Charlet  
1149
 
1150
        * gcc-interface/utils.c, gcc-interface/gigi.h: Minor reformatting.
1151
 
1152
2010-10-22  Thomas Quinot  
1153
 
1154
        * einfo.ads (Declaration_Node): Clarify documentation, in particular
1155
        regarding what is returned for subprogram entities.
1156
 
1157
2010-10-22  Arnaud Charlet  
1158
 
1159
        * exp_attr.adb (Make_Range_Test): Generate a Range node instead of
1160
        explicit comparisons, generates simpler expanded code.
1161
        * a-except-2005.adb (Rcheck_06_Ext): New.
1162
        * gcc-interface/trans.c (gigi, gnat_to_gnu): Handle validity checks
1163
        like range checks.
1164
        * gcc-interface/Make-lang.in: Update dependencies.
1165
 
1166
2010-10-22  Robert Dewar  
1167
 
1168
        * sem_ch3.adb (Array_Type_Declaration): Error for subtype wi predicate
1169
        for index type
1170
        (Constrain_Index): Error of subtype wi predicate in index constraint
1171
        * sem_ch9.adb (Analyze_Entry_Declaration): Error of subtype wi
1172
        predicate in entry family.
1173
        * sem_res.adb (Resolve_Slice): Error of type wi predicate in slice.
1174
 
1175
2010-10-22  Javier Miranda  
1176
 
1177
        * sem_util.ads, sem_util.adb (Collect_Parents): New subprogram.
1178
        (Original_Corresponding_Operation): New subprogram.
1179
        (Visible_Ancestors): New subprogram.
1180
        * sem_ch6.adb (New_Overloaded_Entity): Handle new case of dispatching
1181
        operation that overrides a hidden inherited primitive.
1182
        * sem_disp.adb (Find_Hidden_Overridden_Primitive): New subprogram.
1183
        (Check_Dispatching_Operation): if the new dispatching operation
1184
        does not override a visible primtive then check if it overrides
1185
        some hidden inherited primitive.
1186
 
1187
2010-10-22  Ed Schonberg  
1188
 
1189
        * sem_ch10.adb (Analyze_With_Clause): If the parent_unit_name in a with
1190
        clause is a child unit that denotes a renaming, replace the
1191
        parent_unit_name with a reference to the renamed unit, because the
1192
        prefix is irrelevant to subsequent visibility..
1193
 
1194
2010-10-22  Robert Dewar  
1195
 
1196
        * einfo.ads, einfo.adb (Has_Predicates): Flag is now on all entities
1197
        (simplifies code).
1198
        * exp_ch13.adb (Build_Predicate_Function): Output info msgs for
1199
        inheritance.
1200
        * sem_ch13.adb (Analyze_Aspect_Specifications): Make sure we have a
1201
        freeze node for entities for which a predicate is specified.
1202
        (Analyze_Aspect_Specifications): Avoid duplicate calls
1203
        * sem_ch3.adb (Analyze_Full_Type_Declaration): Remove attempt to avoid
1204
        duplicate calls to Analye_Aspect_Specifications.
1205
 
1206
2010-10-22  Thomas Quinot  
1207
 
1208
        * a-exextr.adb, atree.ads, freeze.adb: Minor reformatting.
1209
 
1210
2010-10-21  Robert Dewar  
1211
 
1212
        * sem_ch3.adb: Minor reformatting.
1213
 
1214
2010-10-21  Thomas Quinot  
1215
 
1216
        * einfo.ads (Next_Girder_Discriminant): Remove obsolete description for
1217
        removed routine.
1218
 
1219
2010-10-21  Nicolas Roche  
1220
 
1221
        * gnatmem.adb, memroot.adb, memroot.ads, gmem.c,
1222
        gcc-interface/Makefile.in: Remove gnatmem specific files.
1223
 
1224
2010-10-21  Thomas Quinot  
1225
 
1226
        * sem_res.adb, exp_ch13.adb: Minor reformatting.
1227
 
1228
2010-10-21  Thomas Quinot  
1229
 
1230
        * sem_ch3.adb (Check_Or_Process_Discriminant): Reject illegal attempt
1231
        to provide a tagged full view as the completion of an untagged partial
1232
        view if the partial view has a discriminant with default.
1233
 
1234
2010-10-21  Arnaud Charlet  
1235
 
1236
        * gcc-interface/Make-lang.in: Update dependencies.
1237
 
1238
2010-10-21  Robert Dewar  
1239
 
1240
        * checks.ads, checks.adb (Apply_Predicate_Check): New procedure
1241
        Minor code reorganization.
1242
        * einfo.adb (Has_Predicates): Fix assertion.
1243
        * exp_ch13.adb (Build_Predicate_Function): Move from Sem_Ch13 spec to
1244
        Exp_Ch13 body.
1245
        (Expand_N_Freeze_Entity): Call build predicate function.
1246
        * exp_ch4.adb (Expand_N_Type_Conversion): Add predicate check.
1247
        * exp_ch5.adb (Expand_N_Assignment_Statement): Add predicate check.
1248
        * exp_prag.adb (Expand_Pragma_Check): Use all lower case for name of
1249
        check.
1250
        * freeze.adb (Freeze_Entity): Move building of predicate function to
1251
        Exp_Ch13.
1252
        * sem_ch13.adb (Build_Predicate_Function): Move from Sem_Ch13 to
1253
        Exp_Ch13.
1254
        * sem_ch13.ads (Build_Predicate_Function): Move from Sem_Ch13 to
1255
        Exp_Ch13.
1256
        * sem_ch3.adb (Analyze_Declarations): Remove call to build predicate
1257
        function.
1258
        * sem_res.adb (Resolve_Actuals): Apply predicate check.
1259
 
1260
2010-10-21  Robert Dewar  
1261
 
1262
        * einfo.ads, einfo.adb: Replace Predicate_Procedure by
1263
        Predicate_Functions.
1264
        * exp_ch4.adb (Expand_N_In): Handle predicates.
1265
        * exp_util.ads, exp_util.adb (Make_Predicate_Call): New function.
1266
        (Make_Predicate_Check): New function.
1267
        * freeze.adb (Freee_Entity): Build predicate function if needed.
1268
        * sem_ch13.adb (Build_Predicate_Function): New procedure.
1269
        (Analyze_Aspect_Specifications): No third argument for Predicate pragma
1270
        built from Predicate aspect.
1271
        * sem_ch13.ads (Build_Predicate_Function): New procedure.
1272
        * sem_ch3.adb: Add handling for predicates.
1273
        * sem_eval.adb (Eval_Membership_Op): Never static if predicate
1274
        functions around.
1275
        * sem_prag.adb (Analye_Pragma, case Predicate): Does not take a third
1276
        argument.
1277
 
1278
2010-10-21  Robert Dewar  
1279
 
1280
        * einfo.ads, einfo.adb: Add handling of predicates.
1281
        Rework handling of invariants.
1282
        * exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_ch6.adb: Minor changes to
1283
        handing of invariants.
1284
        * par-prag.adb: Add dummy entry for pragma Predicate
1285
        * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
1286
        Predicate aspects.
1287
        * sem_prag.adb: Add implementation of pragma Predicate.
1288
        * snames.ads-tmpl: Add entries for pragma Predicate.
1289
 
1290
2010-10-21  Robert Dewar  
1291
 
1292
        * elists.adb: Minor reformatting.
1293
 
1294
2010-10-21  Geert Bosch  
1295
 
1296
        * urealp.adb (UR_Write): Write hexadecimal constants with exponent 1 as
1297
        decimal constants, and write any others using the exponent notation.
1298
        Minor reformatting throughout
1299
        (Store_Ureal_Normalized): New function (minor code reorganization)
1300
 
1301
2010-10-21  Robert Dewar  
1302
 
1303
        * einfo.ads, xeinfo.adb: Minor reformatting.
1304
        * s-stalib.ads: Minor comment fixes.
1305
 
1306
2010-10-21  Ed Schonberg  
1307
 
1308
        * sem_ch6.adb (Enter_Overloaded_Entity): Refine warning message about
1309
        hiding, to remove noise warnings about hiding predefined operators.
1310
 
1311
2010-10-21  Emmanuel Briot  
1312
 
1313
        * g-comlin.adb (Add_Switch): Fix handling of switches with no separator
1314
        when the parameter has length 1.
1315
 
1316
2010-10-21  Jose Ruiz  
1317
 
1318
        * sem_prag.adb (Set_Ravenscar_Profile): Enforce the restrictions of no
1319
        dependence on Ada.Execution_Time.Timers,
1320
        Ada.Execution_Time.Group_Budget, and
1321
        System.Multiprocessors.Dispatching_Domains which are part of the
1322
        Ravenscar Profile.
1323
        * impunit.adb (Non_Imp_File_Names_05): Add the file "a-etgrbu" to the
1324
        list of Ada 2005 files for package Ada.Execution_Time.Group_Budgets.
1325
        (Non_Imp_File_Names_12): Add the file "s-mudido" to the list of Ada 2012
1326
        files for package System.Mutiprocessors.Dispatching_Domains.
1327
 
1328
2010-10-21  Tristan Gingold  
1329
 
1330
        * ug_words, vms_data.ads: Define the VMS qualifier for -gnateE.
1331
 
1332
2010-10-21  Thomas Quinot  
1333
 
1334
        * sem_ch3.ads (Process_Discriminants): Clarify cases where this is
1335
        called for a completion.
1336
 
1337
2010-10-21  Geert Bosch  
1338
 
1339
        * uintp.ads: Expand image buffer to have enough room for 128-bit values
1340
        * urealp.ads (UR_Write): Write constants in base 16 in hexadecimal
1341
        notation; either as fixed point literal or in canonical radix 16
1342
        floating point form.
1343
 
1344
2010-10-21  Robert Dewar  
1345
 
1346
        * a-cgaaso.ads, a-tags.ads, exp_ch3.adb, exp_attr.adb, exp_ch4.adb,
1347
        exp_ch3.ads, exp_ch7.adb, exp_ch9.adb, exp_disp.adb, exp_disp.ads,
1348
        exp_dist.adb, exp_util.adb, layout.adb, lib-xref.adb, lib.ads,
1349
        prep.adb, prj-strt.adb, s-ststop.adb, s-taskin.ads, s-tataat.ads,
1350
        sem_aggr.adb, sem_attr.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb,
1351
        sem_ch4.ads, sem_ch5.adb, sem_res.adb, sem_util.adb, einfo.adb,
1352
        g-sothco.ads, make.adb: Minor reformatting
1353
 
1354
2010-10-21  Vincent Celier  
1355
 
1356
        * vms_data.ads: Add new qualifiers /SRC_INFO= and
1357
        /UNCHECKED_SHARED_LIB_IMPORTS for GNAT COMPILE.
1358
        Correct qualifier /SRC_INFO= for GNAT MAKE
1359
 
1360
2010-10-21  Ed Schonberg  
1361
 
1362
        * exp_aggr.adb (Flatten): An association for a subtype may be an
1363
        expanded name.
1364
        (Safe_Left_Hand_Side): An unchecked conversion is part of a safe
1365
        left-hand side if the expression is.
1366
        (Is_Safe_Index): new predicate
1367
        * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Indicate that the
1368
        generated Rep_To_Pos function is a Pure_Function.
1369
 
1370
2010-10-21  Robert Dewar  
1371
 
1372
        * gnat_rm.texi: Document Invariant pragma.
1373
 
1374
2010-10-21  Javier Miranda  
1375
 
1376
        * exp_ch5.adb: Update comment.
1377
 
1378
2010-10-21  Robert Dewar  
1379
 
1380
        * sem_ch13.adb (Build_Invariant_Procedure): Remove commented out code
1381
        for interfaces, since invariants are not allowed on interfaces in any
1382
        case.
1383
 
1384
2010-10-21  Javier Miranda  
1385
 
1386
        * sem_attr.adb (Resolve_Attribute): After replacing the range attribute
1387
        node with a range expression ensure that its evaluation will not have
1388
        side effects.
1389
        * exp_ch5.adb (Expand_Assign_Array): Propagate the Parent to the
1390
        unchecked conversion node generated to handle assignment of private
1391
        types. Required to allow climbing the subtree if Insert_Action is
1392
        invoked later.
1393
 
1394
2010-10-21  Robert Dewar  
1395
 
1396
        * par-ch3.adb (P_Interface_Type_Definition): Allow for possibility of
1397
        aspect clause presence terminating the type definition.
1398
 
1399
2010-10-21  Robert Dewar  
1400
 
1401
        * exp_ch4.adb, exp_intr.adb, par-ch4.adb, scn.adb, sem_ch4.adb,
1402
        sem_res.adb, sem_util.adb, sinfo.ads, a-except-2005.adb: Minor
1403
        reformatting.
1404
        * snames.ads-tmpl: Add note on Name_Some (not a reserved keyword).
1405
 
1406
2010-10-21  Geert Bosch  
1407
 
1408
        * ttypef.ads: Further cleanup of Safe_XXX float attributes.
1409
 
1410
2010-10-19  Ed Schonberg  
1411
 
1412
        * exp_ch4.adb, exp_ch4.ads (Expand_Quantified_Expression): New procedure
1413
        * exp_util.adb (Insert_Actions): Include Quantified_Expression.
1414
        * expander.adb: Call Expand_Qualified_Expression.
1415
        * par.adb: New procedure P_Quantified_Expression. Make
1416
        P_Loop_Parameter_Specification global for use in quantified expressions.
1417
        * par-ch3.adb (P_Subtype_Mark_Resync): Allow "some" as an identifier if
1418
        version < Ada2012.
1419
        * par-ch4.adb: New procedure P_Quantified_Expression.
1420
        * par-ch5.adb: P_Loop_Parameter_Specification is now global.
1421
        * scans.adb, scans.ads: Introduce token Some. For now leave as
1422
        unreserved.
1423
        * scn.adb (Scan_Reserved_Identifier): For earlier versions of Ada,
1424
        treat Some as a regular identifier.
1425
        * sem.adb: Call Analyze_Quantified_Expression.
1426
        * sem_ch4.adb, sem_ch4.ads: New procedure Analyze_Quantified_Expression.
1427
        * sem_ch5.adb, sem_ch5.ads: Analyze_Iteration_Scheme is public, for use
1428
        in quantified expressions.
1429
        * sem_res.adb: New procedure Resolve_Qualified_Expression.
1430
        * sinfo.adb, sinfo.ads: New node N_Quantified_Expression
1431
        * snames.ads-tmpl: New name Some.
1432
        * sprint.adb: Output quantified_expression.
1433
 
1434
2010-10-19  Robert Dewar  
1435
 
1436
        * a-exexda.adb: Minor reformatting
1437
        Minor code reorganization.
1438
 
1439
2010-10-19  Robert Dewar  
1440
 
1441
        * sem_eval.adb: Minor reformatting.
1442
 
1443
2010-10-19  Tristan Gingold  
1444
 
1445
        * exp_ch4.adb (Expand_N_And_Op, Expand_N_Or_Op, Expand_N_Xor_Op): Call
1446
        Expand_Intrinsic_Call if the function is intrinsic.
1447
        * exp_intr_adb (Expand_Binary_Operator): Handle VMS case for logical
1448
        binary operator on the unsigned_quadword record.
1449
        * exp_intr.ads (Expand_Intrinsic_Call): Update comments.
1450
 
1451
2010-10-19  Geert Bosch  
1452
 
1453
        * gnat_rm.texi (pragma Float_Representation): Fix typo.
1454
 
1455
2010-10-19  Arnaud Charlet  
1456
 
1457
        * switch-c.adb (Scan_Front_End_Switches): Add handling of -gnateE.
1458
        * fe.h (Exception_Extra_Info): Declare.
1459
        * usage.adb (usage): Add -gnateE doc.
1460
        * checks.adb (Install_Null_Excluding_Check): Use better sloc.
1461
        * sem_util.adb (Insert_Explicit_Dereference): Ditto.
1462
        * gnat_ugn.texi: Document -gnateE switch.
1463
        * a-except.adb (Set_Exception_C_Msg): New parameter Column.
1464
        * a-except-2005.adb (Set_Exception_C_Msg): New parameter Column.
1465
        (Raise_Constraint_Error_Msg): Ditto.
1466
        (Image): New helper function.
1467
        (Rcheck_00_Ext, Rcheck_05_Ext, Rcheck_12_Ext): New procedure with more
1468
        detailed exception information.
1469
        Adjust calls to Set_Exception_C_Msg and Raise_Constraint_Error_Msg.
1470
        * a-exexda.adb (Set_Exception_C_Msg): New parameter Column.
1471
        * opt.ads (Exception_Extra_Info): New flag.
1472
        * gcc-interface/utils.c (gnat_raise_decls_ext): New.
1473
        * gcc-interface/utils2.c (build_call_raise_range,
1474
        build_call_raise_column): New functions.
1475
        * gcc-interface/gigi.h (exception_info_kind, gnat_raise_decls_ext,
1476
        build_call_raise_range, build_call_raise_column): Declare.
1477
        gcc-interface/trans.c (build_raise_check): New function.
1478
        (gigi): Initialize gnat_raise_decls_ext.
1479
        (gnat_to_gnu): Add initial support for -gnateE switch.
1480
        * gcc-interface/Make-lang.in: Update dependencies.
1481
 
1482
2010-10-19  Geert Bosch  
1483
 
1484
        * ttypef.ads: Change VAXDF_Last to be -VAXDF_First, as type is
1485
        symmetric.
1486
 
1487
2010-10-19  Robert Dewar  
1488
 
1489
        * atree.h (Field29): Fix incorrect definition.
1490
        * einfo.adb (Invariant_Procedure): New attribute
1491
        (Has_Invariants): New flag
1492
        (Has_Inheritable_Invariants): New flag
1493
        (OK_To_Reference): New flag
1494
        Minor code reorganization (use Next_Rep_Item function)
1495
        * einfo.ads (Invariant_Procedure): New attribute
1496
        (Has_Invariants): New flag
1497
        (Has_Inheritable_Invariants): New flag
1498
        (OK_To_Reference): New flag
1499
        * exp_ch3.adb (Expand_N_Object_Declaration): Add check for invariant
1500
        * exp_ch4.adb (Expand_N_Type_Conversion): Check invariant on type
1501
        conversion.  Minor reformatting.
1502
        * exp_util.ads, exp_util.adb (Make_Invariant_Call): New procedure.
1503
        * opt.ads (List_Inherited_Aspects): New name for List_Inherited_Pre_Post
1504
        * par-prag.adb: Add dummy entry for pragma Invariant.
1505
        * sem_ch13.adb (Build_Invariant_Procedure): New procedure
1506
        (Analyze_Aspect_Specification): Add support for Invariant aspect
1507
        * sem_ch13.ads (Build_Invariant_Procedure): New procedure
1508
        * sem_ch3.adb (Build_Derived_Type): Propagate invariant information
1509
        (Process_Full_View): Deal with invariants, building invariant procedure
1510
        Minor reformatting
1511
        * sem_ch6.adb (Process_PPCs): Add processing of invariants
1512
        * sem_ch7.adb (Analyze_Package_Specification): Build invariant
1513
        procedures.
1514
        * sem_prag.adb: Implement pragma Invariant.
1515
        * sem_res.adb (Resolve_Entity_Name): Allow type reference if
1516
        OK_To_Reference set.
1517
        * sem_warn.adb (List_Inherited_Aspects): New name for
1518
        List_Inherited_Pre_Post.
1519
        * snames.ads-tmpl: Add entries for pragma Invariant.
1520
        * treepr.adb (Print_Entity_Information): Add handling of Field29.
1521
        * usage.adb: Warning .l/.L applies to invariant as well as pre/post.
1522
 
1523
2010-10-19  Javier Miranda  
1524
 
1525
        * par-ch4.adb: Update documentation of Ada 2012 syntax rules for
1526
        membership test.
1527
 
1528
2010-10-19  Bob Duff  
1529
 
1530
        * sem_attr.adb (Eval_Attribute): Implement Max_Alignment_For_Allocation
1531
        attribute.
1532
        * exp_attr.adb (Expand_N_Attribute_Reference): Add
1533
        Attribute_Max_Alignment_For_Allocation to the case statement.
1534
        * snames.ads-tmpl (Name_Max_Alignment_For_Allocation,
1535
        Attribute_Max_Alignment_For_Allocation): New attribute name.
1536
 
1537
2010-10-19  Ed Schonberg  
1538
 
1539
        * sem_ch3.adb (OK_For_Limited_Init_In_05): a call to an access to
1540
        parameterless function appears syntactically as an explicit dereference.
1541
 
1542
2010-10-19  Thomas Quinot  
1543
 
1544
        * sem_ch8.adb, sem_ch12.adb, opt.ads, sem_ch6.adb, sem_res.adb,
1545
        i-cexten.ads, exp_disp.adb, exp_ch4.adb, exp_ch9.adb: Minor reformatting
1546
 
1547
2010-10-19  Thomas Quinot  
1548
 
1549
        * sem_util.adb (Collect_Primitive_Operations): A function with an
1550
        anonymous access result designating T is a primitive operation of T.
1551
 
1552
2010-10-19  Tristan Gingold  
1553
 
1554
        * init.c: On Alpha/VMS, only adjust PC for HPARITH.
1555
 
1556
2010-10-19  Tristan Gingold  
1557
 
1558
        * sem_attr.adb (Eval_Attribute): Handle Attribute_Ref, which can be
1559
        evaluated on VMS.
1560
 
1561
2010-10-19  Ed Schonberg  
1562
 
1563
        * sem_ch12.adb (Check_Generic_Child_Unit): Handle properly the case of
1564
        an instantiation of a renaming of the implicit generic child that
1565
        appears within an instance of its parent.
1566
 
1567
2010-10-19  Thomas Quinot  
1568
 
1569
        * exp_ch9.adb: Minor reformatting.
1570
        * einfo.adb, einfo.ads, atree.adb, atree.ads, exp_dist.adb, atree.h:
1571
        (Referenced_Object): Remove unused entity attribute.
1572
        (Direct_Primitive_Operations): Move to Elist10, this is set for all
1573
        tagged types, including synchronous ones, so can't use field15 which is
1574
        used as Storage_Size_Variable for task types and Entry_Bodies_Array for
1575
        protected types.
1576
        (Add_RACW_Primitive_Declarations_And_Bodies): Remove bogus guard
1577
        against Concurrent_Types (we must handle the case of a RACW designating
1578
        a class-wide private synchronous type).
1579
        Use Direct_Primitive_Operations, not Primitive_Operations, since we
1580
        really want the former.
1581
 
1582
2010-10-19  Bob Duff  
1583
 
1584
        * sem_ch8.adb (Pop_Scope): Change "return;" to "raise Program_Error;".
1585
 
1586
2010-10-19  Javier Miranda  
1587
 
1588
        * exp_ch4.adb (Expand_Set_Membership.Make_Cond): Add missing support
1589
        for N_Range nodes.
1590
 
1591
2010-10-19  Thomas Quinot  
1592
 
1593
        * einfo.ads, atree.ads: Minor comment fixes.
1594
 
1595
2010-10-18  Bob Duff  
1596
 
1597
        * sinfo.ads, sinfo.adb: Modify comment about adding fields to be more
1598
        correct, and to be in a more convenient order.
1599
        (Default_Storage_Pool): New field of N_Compilation_Unit_Aux, for
1600
        recording the Default_Storage_Pool for a parent library unit.
1601
        * einfo.ads (Etype): Document the case in which Etype can be Empty.
1602
        * sem_prag.adb (Pragma_Default_Storage_Pool): Analyze the new
1603
        Default_Storage_Pool pragma.
1604
        * sem.ads (Save_Default_Storage_Pool): Save area for push/pop scopes.
1605
        * gnat_ugn.texi: Document Default_Storage_Pool as a new configuration
1606
        pragma.
1607
        * freeze.adb (Freeze_Entity): When freezing an access type, take into
1608
        account any Default_Storage_Pool pragma that applies. We have to do
1609
        this at the freezing point, because up until that point, a Storage_Pool
1610
        or Storage_Size clause could occur, which should override the
1611
        Default_Storage_Pool.
1612
        * par-prag.adb: Add this pragma to the list of pragmas handled entirely
1613
        during semantics.
1614
        * sem_ch8.adb (Push_Scope, Pop_Scope): Save and restore the
1615
        Default_Storage_Pool information.
1616
        * opt.ads (Default_Pool, Default_Pool_Config): New globals for recording
1617
        currently-applicable Default_Storage_Pool pragmas.
1618
        * opt.adb: Save/restore the globals as appropriate.
1619
        * snames.ads-tmpl (Name_Default_Storage_Pool,
1620
        Pragma_Default_Storage_Pool): New pragma name.
1621
 
1622
2010-10-18  Vincent Celier  
1623
 
1624
        * make.adb (Switches_Of): Put the spec and body suffix in canonical
1625
        case.
1626
 
1627
2010-10-18  Ed Schonberg  
1628
 
1629
        * sem_ch13.adb (Analyze_Aspect_Specifications): If subprogram is at the
1630
        library level, the pre/postconditions must be treated as global
1631
        declarations, i.e. placed on the Aux_Decl nodes of the compilation unit.
1632
        * freeze.adb (Freeze_Expression): If the expression is at library level
1633
        there is no enclosing record to check.
1634
 
1635
2010-10-18  Javier Miranda  
1636
 
1637
        * sem_ch3.ads (Find_Type_Name): Add documentation.
1638
        * sem_ch3.adb (Analyze_Full_Type_Declaration): Code cleanup because the
1639
        propagation of the class-wide entity is now done by routine
1640
        Find_Type_Name to factorize this code.
1641
        (Analyze_Private_Extension_Declaration): Handle private type that
1642
        completes an incomplete type.
1643
        (Tag_Mismatch): Add error message for tag mismatch in a private type
1644
        declaration that completes an incomplete type.
1645
        (Find_Type_Name): Handle completion of incomplete type by means of
1646
        a private declaration. Generate an error if a tagged incomplete type
1647
        is completed by an untagged private type.
1648
        * sem_ch7.adb (New_Private_Type): Handle private type that completes an
1649
        incomplete type.
1650
        * einfo.ads (Full_View): Add documentation.
1651
 
1652
2010-10-18  Ed Schonberg  
1653
 
1654
        * sem_ch12.adb (Analyze_Formal_Package_Declaration): If the package is
1655
        a renaming, generate a reference for it before analyzing the renamed
1656
        entity, to prevent spurious warnings.
1657
 
1658
2010-10-18  Jose Ruiz  
1659
 
1660
        * adaint.c (__gnat_pthread_setaffinity_np,
1661
        __gnat_pthread_attr_setaffinity_np): Remove wrappers, no longer needed.
1662
        * s-osinte-linux.ads (pthread_setaffinity_np,
1663
        pthread_attr_setaffinity_np): Remove use of wrappers.
1664
        * s-taprop-linux.adb (Create_Task, Initialize): Restore check to verify
1665
        whether the affinity functionality is available in the OS.
1666
        * gcc-interface/utils.c: Set TREE_STATIC on functions only when there
1667
        are defined.
1668
 
1669
2010-10-18  Robert Dewar  
1670
 
1671
        * einfo.ads, einfo.adb: Minor reformatting.
1672
        * gnat_ugn.texi, ug_words: Add missing entries, fix typos.
1673
 
1674
2010-10-18  Emmanuel Briot  
1675
 
1676
        * g-comlin.adb (Is_In_Config): When the switch accepts either a space
1677
        or equal, we output an equal every time.
1678
 
1679
2010-10-18  Ed Schonberg  
1680
 
1681
        * sem_res.adb (Resolve_Entry_Call): Handle call to an entry family
1682
        member when pre/post conditions are present.
1683
        * exp_ch9.adb (Build_PPC_Wrapper): The PPC_Wrapper for an entry family
1684
        includes an index parameter, and the name of the enclosed entry call is
1685
        an indexed component.
1686
 
1687
2010-10-18  Robert Dewar  
1688
 
1689
        * einfo.ads, einfo.adb: Minor reformatting.
1690
 
1691
2010-10-18  Jose Ruiz  
1692
 
1693
        * adaint.c (__gnat_pthread_setaffinity_np,
1694
        __gnat_pthread_attr_setaffinity_np): Add these wrappers which check the
1695
        availability of the underlying OS functionality before calling.
1696
        * s-osinte-linux.ads (pthread_setaffinity_np,
1697
        pthread_attr_setaffinity_np): Call a wrapper instead of the OS function
1698
        to perform a check of its availability.
1699
        * s-taprop-linux.adb (Create_Task): Remove the check to verify whether
1700
        the affinity functionality is available in the OS. Now done in a wrapper
1701
        * gcc-interface/Makefile.in: Remove vmshandler.asm, unused.
1702
        * gcc-interface/Make-lang.in: Update dependencies.
1703
 
1704
2010-10-18  Robert Dewar  
1705
 
1706
        * sinfo.ads, sinfo.adb: Change Has_Pragma_CPU to Flag14 (Flag10 is
1707
        standard field).
1708
 
1709
2010-10-18  Robert Dewar  
1710
 
1711
        * s-stausa.adb, s-taprop-linux.adb, s-taprop-mingw.adb, s-tassta.ads:
1712
        Minor reformatting.
1713
 
1714
2010-10-18  Robert Dewar  
1715
 
1716
        * exp_strm.adb (Build_Elementary_Input_Call): Check
1717
        No_Default_Stream_Attributes.
1718
        (Build_Elementary_Write_Call): Check No_Default_Stream_Attributes
1719
        * s-rident.ads: Add restriction No_Default_Stream_Attributes
1720
        Put restriction No_Allocators_After_Elaboration in alpha order
1721
 
1722
2010-10-18  Jose Ruiz  
1723
 
1724
        * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add field corresponding
1725
        to the affinity when expanding the task declaration.
1726
        (Make_Task_Create_Call): Add the affinity parameter to the call to
1727
        create task.
1728
        * sem_prag.adb (Analyze_Pragma): Add the analysis for pragma CPU,
1729
        taking into account the case when it applies to a subprogram (only for
1730
        main and with static expression) or to a task.
1731
        * par_prag.adb:(Prag): Make pragma CPU a valid one.
1732
        * snames.ads-tmpl (Name_uCPU, Name_CPU): Add these new name identifiers
1733
        used by the expander for handling the affinity parameter when creating
1734
        a task.
1735
        (Pragma_Id): Add Pragma_CPU as a valid one.
1736
        * rtsfind.ads (RTU_Id): Make System_Multiprocessors accesible.
1737
        (RE_Id, RE_Unit_Table): Make the entities RE_CPU_Range and
1738
        RE_Unspecified_CPU visible.
1739
        * sinfo.ads, sinfo.adb (Has_Pragma_CPU, Set_Has_Pragma_CPU): Add these
1740
        two subprograms to set/get the flag indicating whether there is a
1741
        pragma CPU which applies to the entity.
1742
        * lib.ads, lib.adb (Unit_Record, Default_Main_CPU, Main_CPU,
1743
        Set_Main_CPU): Add the field Main_CPU to Unit_Record to store the value
1744
        of the affinity associated to the main subprogram (if any).
1745
        Default_Main_CPU is used when no affinity is set. Subprograms
1746
        Set_Main_CPU and Main_CPU are added to set/get the affinity of the main
1747
        subprogram.
1748
        * ali.ads, ali.adb (ALIs_Record): Add field Main_CPU to contain the
1749
        value of the affinity of the main subprogram.
1750
        (Scan_ALI): Get the affinity of the main subprogram (encoded as C=XX in
1751
        the M line).
1752
        * lib-writ.ads, lib-writ.adb (M_Parameters): Encode the affinity of the
1753
        main subprogram in the M (main) line using C=XX.
1754
        * lib-load.adb (Create_Dummy_Package_Unit, Load_Main_Source,
1755
        Load_Unit): Add new field Main_CPU.
1756
        * bindgen.adb (Gen_Adainit_Ada, Gen_Adainit_C): Add the code to pass
1757
        the affinity of the main subprogram to the run time.
1758
        * s-taskin.ads (Common_ATCB): Add the field Base_CPU to store the
1759
        affinity.
1760
        (Unspecified_CPU): Add this constant to identify the case when no
1761
        affinity is set for tasks.
1762
        * s-taskin.adb (Initialize_ATCB): Store the value coming from pragma
1763
        CPU in the common part of the ATCB.
1764
        (Initialize): Store the value coming from pragma CPU (for the
1765
        environment task) in the common part of the ATCB.
1766
        * s-tassta.ads, s-tassta.adb (Create_Task): Add the affinity specified
1767
        by pragma CPU to the ATCB.
1768
        * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add the affinity
1769
        specified by pragma CPU to the ATCB.
1770
        * s-tporft.adb (Register_Foreign_Thread): Add the new affinity
1771
        parameter to the call to Initialize_ATCB.
1772
        * s-taprop-linux.adb (Create_Task): Change the attributes of the thread
1773
        to include the task affinity before creation. Additionally, the
1774
        affinity selected with Task_Info is also enforced changing the
1775
        attributes at task creation time, instead of changing it after creation.
1776
        (Initialize): Change the affinity of the environment task if required
1777
        by a pragma CPU.
1778
        * s-osinte-linux.ads (pthread_setaffinity_np): Instead of using a
1779
        wrapper to check whether the function is available or not, use a weak
1780
        symbol.
1781
        (pthread_attr_setaffinity_np): Add the import of this function which is
1782
        used to change the affinity in the attributes used to create a thread.
1783
        * adaint.c (__gnat_pthread_attr_setaffinity_np): Remove this wrapper.
1784
        It was used to check whether the pthread function was available or not,
1785
        but the use of a weak symbol handles this situation in a cleaner way.
1786
        * s-taprop-mingw.adb (Create_Task, Initialize): Change the affinity of
1787
        tasks (including the environment task) if required by a pragma CPU.
1788
        * s-taprop-solaris.adb (Enter_Task): Change the affinity of tasks
1789
        (including the environment task) if required by a pragma CPU.
1790
        * s-taprop-vxworks.adb (Create_Task, Initialize): Change the affinity
1791
        of tasks (including the environment task) if required by a pragma CPU.
1792
        * init.c (__gl_main_cpu): Make this value visible to the run time. It
1793
        will pass the affinity of the environment task.
1794
 
1795
2010-10-18  Javier Miranda  
1796
 
1797
        * einfo.adb (Direct_Primitive_Operations): Complete assertion.
1798
 
1799
2010-10-18  Vincent Celier  
1800
 
1801
        * prj.ads (Source_Data): New Boolean flag In_The_Queue.
1802
 
1803
2010-10-18  Tristan Gingold  
1804
 
1805
        * s-stausa.ads: Add the Top parameter to Initialize_Analyzer.
1806
        * s-stausa.adb: Use the top parameter.  In Fill_Stack, use the
1807
        stack top if known.
1808
        * s-tassta.adb (Task_Wrapper): Call Initialize_Analyzer after Enter_Task
1809
        so that Pri_Stack_Info.Limit can be set and used.
1810
 
1811
2010-10-18  Robert Dewar  
1812
 
1813
        * einfo.ads: Minor reformatting.
1814
        * sem_res.adb (Resolve_Allocator): Add test for violating
1815
        No_Anonymous_Allocators.
1816
 
1817
2010-10-18  Robert Dewar  
1818
 
1819
        * prj-nmsc.adb, prj.adb, sem_res.adb: Minor reformatting.
1820
 
1821
2010-10-18  Ed Schonberg  
1822
 
1823
        * sem_util.adb (Insert_Explicit_Dereference): If operand is a selected
1824
        component, we generate a reference to the ultimate prefix when it is an
1825
        entity name. We must place the reference on the identifier for that
1826
        prefix, and not on the operand itself, to prevent spurious extra
1827
        references in the ali file.
1828
 
1829
2010-10-18  Vincent Celier  
1830
 
1831
        * projects.texi: Add documentation for attribute Ignore_Source_Sub_Dirs
1832
 
1833
2010-10-18  Ed Schonberg  
1834
 
1835
        * einfo.ads, einfo.adb: New attribute PPC_Wrapper for entries and entry
1836
        families. Denotes a procedure that performs pre/postcondition checks
1837
        and then performs the entry call.
1838
        * sem_res.adb (Resolve_Entry_Call): If the entry has
1839
        pre/postconditions, replace call with a call to the PPC_Wrapper of the
1840
        entry.
1841
        * exp_ch9.adb (Build_PPC_Wrapper): new procedure.
1842
        (Expand_N_Entry_Declaration, Expand_N_Protected_Type_Declaration): call
1843
        Build_PPC_Wrapper for all entries in task and protected definitions.
1844
 
1845
2010-10-18  Tristan Gingold  
1846
 
1847
        * init.c: Add __gnat_set_stack_guard_page and __gnat_set_stack_limit.
1848
        Implement stack limitation on VMS.
1849
        Minor reformatting.
1850
 
1851
2010-10-18  Vincent Celier  
1852
 
1853
        * prj.adb (Is_Compilable): Do not modify Source.Compilable until the
1854
        source record has been initialized.
1855
 
1856
2010-10-18  Robert Dewar  
1857
 
1858
        * einfo.adb: Minor code reorganization (Primitive_Operations is a
1859
        synthesized attribute routine and was in the wrong place).
1860
 
1861
2010-10-18  Tristan Gingold  
1862
 
1863
        * init.c: Indentation, and minor changes to more closely follow GNU
1864
        style rules.  Make more variable statics.
1865
 
1866
2010-10-18  Vincent Celier  
1867
 
1868
        * prj.adb (Is_Compilable): On first call for a source, cache value in
1869
        component Compilable.
1870
        * prj.ads (Source_Data): New component Compilable, to cache the value
1871
        returned by function Is_Compilable.
1872
 
1873
2010-10-18  Vincent Celier  
1874
 
1875
        * prj-attr.adb: New project level attribute Ignore_Source_Sub_Dirs.
1876
        * prj-nmsc.adb (Expand_Subdirectory_Pattern): New string list parameter
1877
        Ignore.
1878
        (Recursive_Find_Dirs): Do not consider subdirectories listed in Ignore.
1879
        (Get_Directories): Call Find_Source_Dirs with the string list
1880
        indicated by attribute Ignore_Source_Sub_Dirs.
1881
        * snames.ads-tmpl: New standard name Ignore_Source_Sub_Dirs.
1882
 
1883
2010-10-18  Javier Miranda  
1884
 
1885
        * einfo.ads, einfo.adb (Primitive_Operations): New synthesized
1886
        attribute.
1887
        (Direct_Primitive_Operations): Renaming of old Primitive_Operations.
1888
        (Set_Direct_Primitive_Operations): Renaming of old
1889
        Set_Primitive_Operations. Update documentation
1890
        * sem_ch3.adb, exp_util.adb, sem_ch7.adb, sem_ch8.adb, exp_ch3.adb:
1891
        Replace occurrences of Set_Primitive_Operations by
1892
        Set_Direct_Primitive_Operations.
1893
        * sem_cat.adb (Validate_RACW_Primitives): No action needed for tagged
1894
        concurrent types.
1895
        * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
1896
        process primitives of concurrent types.
1897
        * lib-xref.adb (Generate_Prim_Op_References): Minor code cleanup.
1898
 
1899
2010-10-18  Eric Botcazou  
1900
 
1901
        * exp_ch6.adb (Expand_N_Subprogram_Declaration): Use Freeze_Before.
1902
        (Expand_Protected_Object_Reference): Likewise.
1903
        * sem_attr.adb (Resolve_Attribute): Likewise.
1904
        * sem_ch3.adb (Analyze_Subtype_Declaration): Likewise.
1905
        * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
1906
 
1907
2010-10-18  Arnaud Charlet  
1908
 
1909
        * g-comlin.adb (Get_Switches): Prevent dereferencing null Config.
1910
 
1911
2010-10-18  Robert Dewar  
1912
 
1913
        * aspects.ads, aspects.adb: Add entries for aspects
1914
        Read/Write/Input/Output.
1915
        * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
1916
        handling aspects Read/Write/Input/Output.
1917
 
1918
2010-10-18  Robert Dewar  
1919
 
1920
        * sem_util.adb (Note_Possible_Modification): Do not give warning for
1921
        use of pragma Unmodified unless we are sure this is a modification.
1922
 
1923
2010-10-18  Tristan Gingold  
1924
 
1925
        * sysdep.c: Add __gnat_get_stack_bounds.
1926
        * s-taprop-mingw.adb Call __gnat_get_stack_bounds to set Pri_Stack_Info.
1927
 
1928
2010-10-18  Robert Dewar  
1929
 
1930
        * a-assert.ads: Fix bad name in header.
1931
        * sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch10.adb: Minor
1932
        reformatting.
1933
        * exp_aggr.adb: Fix typo in comment.
1934
 
1935
2010-10-18  Javier Miranda  
1936
 
1937
        * exp_util.adb (Side_Effect_Free): Code clean up.
1938
 
1939
2010-10-18  Ed Schonberg  
1940
 
1941
        * sem_ch8.adb (Is_Primitive_Operator_In_Use): Renamed from
1942
        Is_Primitive_Operator. When ending the scope of a use package scope, a
1943
        primitive operator remains in use if the base type has a current use
1944
        (type) clause.
1945
 
1946
2010-10-18  Javier Miranda  
1947
 
1948
        * einfo.ads (Is_Dynamic_Support): Add missing support for limited
1949
        private types whose full-view is a task type.
1950
        * sem_util.adb (Enclosing_Subprogram): Add missing support for limited
1951
        private types whose full-view is a task type.
1952
        * exp_ch7.adb (Find_Final_List): Minor code cleanup replacing code by
1953
        function Nearest_Dynamic_Scope which provides the needed functionality.
1954
 
1955
2010-10-18  Arnaud Charlet  
1956
 
1957
        * sem_prag.adb (Set_Exported): Do not generate error when exporting a
1958
        variable with an address clause in codepeer mode.
1959
 
1960
2010-10-18  Robert Dewar  
1961
 
1962
        * g-trasym-vms-ia64.adb: Minor reformatting.
1963
 
1964
2010-10-18  Thomas Quinot  
1965
 
1966
        * sem_type.adb (Covers): If either argument is Standard_Void_Type and
1967
        the other isn't, return False early.
1968
 
1969
2010-10-18  Ed Falis  
1970
 
1971
        * s-vxwext-rtp.ads, s-vxext-rtp.adb: Adapt for missing APIs for RTPs in
1972
        VxWorks Cert.
1973
 
1974
2010-10-18  Robert Dewar  
1975
 
1976
        * sem_disp.ads: Minor comment update.
1977
 
1978
2010-10-18  Robert Dewar  
1979
 
1980
        * einfo.ads, einfo.adb (Spec_PPC_List): Is now present in Entries
1981
        * sem_ch3.adb (Analyze_Declarations): Add processing for delaying
1982
        visibility analysis of precondition and postcondition pragmas (and
1983
        Pre/Post aspects).
1984
        * sem_ch6.adb (Process_PPCs): Add handling of inherited Pre'Class
1985
        aspects.
1986
        * sem_ch7.adb (Analyze_Package_Specification): Remove special handling
1987
        of pre/post conditions (no longer needed).
1988
        * sem_disp.adb (Inherit_Subprograms): Deal with interface case.
1989
        * sem_prag.adb (Analyze_PPC_In_Decl_Part): Remove analysis of message
1990
        argument, since this is now done in the main processing for
1991
        pre/postcondition pragmas when they are first seen.
1992
        (Chain_PPC): Pre'Class and Post'Class now handled properly
1993
        (Chain_PPC): Handle Pre/Post aspects for entries
1994
        (Check_Precondition_Postcondition): Handle entry declaration case
1995
        (Check_Precondition_Postcondition): Handle delay of visibility analysis
1996
        (Check_Precondition_Postcondition): Preanalyze message argument if
1997
        present.
1998
 
1999
2010-10-18  Robert Dewar  
2000
 
2001
        * g-trasym-vms-ia64.adb, prj-nmsc.adb, prj.ads: Minor reformatting.
2002
 
2003
2010-10-14  Eric Botcazou  
2004
 
2005
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Set
2006
        TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
2007
        * gcc-interface/trans.c (Identifier_to_gnu): Set TREE_THIS_NOTRAP on
2008
        the INDIRECT_REF node built for objects used by reference.
2009
        * gcc-interface/utils2.c (build_binary_op): Add short-circuit for
2010
        constant result. Set TREE_THIS_NOTRAP on ARRAY_REF and ARRAY_RANGE_REF.
2011
        (gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.
2012
 
2013
2010-10-13  Richard Henderson  
2014
 
2015
        * gcc-interface/misc.c (gnat_eh_personality): Update call to
2016
        build_personality_function.
2017
        * raise-gcc.c (PERSONALITY_FUNCTION): Change to match other languages;
2018
        use__gnat_personality_{v,sj}0.
2019
 
2020
2010-10-12  Vincent Celier  
2021
 
2022
        * prj-nmsc.adb (Add_Source): Put source in hash table Source_Files_HT
2023
        (Process_Exceptions_File_Based): Use hash table Source_Files_HT instead
2024
        of iterating through all sources of the project.
2025
        * prj.adb (Free): Reset hash table Source_Files_HT
2026
        (Reset): Reset hash table Source_Files_HT
2027
        * prj.ads (Source_Data): New component Next_With_File_Name
2028
        (Source_Files_Htable): New hash table
2029
        (Project_Tree_Data): New component Source_Files_HT
2030
 
2031
2010-10-12  Tristan Gingold  
2032
 
2033
        * g-trasym-vms-ia64.adb: Use the documented API.
2034
        * gcc-interface/Makefile.in: Always set NO_REORDER_ADAFLAGS.
2035
        * gcc-interface/Make-lang.in: Update dependencies.
2036
 
2037
2010-10-12  Thomas Quinot  
2038
 
2039
        * rtsfind.ads, exp_dist.adb, exp_dist.ads (Build_General_Calling_Stubs,
2040
        PolyORB case): Request is now a controlled type: we can declare the
2041
        request on the stack, and we do not need explicit cleanup actions
2042
        anymore.
2043
 
2044
2010-10-12  Bob Duff  
2045
 
2046
        * s-rident.ads (Profile_Info): This variable is now constant.
2047
 
2048
2010-10-12  Emmanuel Briot  
2049
 
2050
        * g-comlin.adb, g-comlin.ads (Define_Switch): Put back (unused)
2051
        parameter Separator for backward compatibility.
2052
 
2053
2010-10-12  Robert Dewar  
2054
 
2055
        * sem_ch9.adb, par-ch9.adb, impunit.adb: Minor reformatting.
2056
 
2057
2010-10-12  Vincent Celier  
2058
 
2059
        * debug.adb: Put detailed documentation for gnatmake switch -dm.
2060
 
2061
2010-10-12  Vincent Celier  
2062
 
2063
        * gnat1drv.adb: When the compiler is invoked for a spec that needs aw
2064
        body, do not generate an ALI file if neither -gnatc nor -gnatQ is used.
2065
 
2066
2010-10-12  Arnaud Charlet  
2067
 
2068
        * g-comlin.adb (Foreach_Switch): Make this procedure generic to avoid
2069
        using 'Access.
2070
 
2071
2010-10-12  Robert Dewar  
2072
 
2073
        * debug.adb: Add comment.
2074
        * gnatcmd.adb, sem_ch6.adb, switch-m.adb: Minor reformatting.
2075
 
2076
2010-10-12  Javier Miranda  
2077
 
2078
        * exp_util.adb (Side_Effect_Free): Return true for object renaming
2079
        declarations that were previously generated by Remove_Side_Effects.
2080
 
2081
2010-10-12  Emmanuel Briot  
2082
 
2083
        * xref_lib.adb (Get_Full_Type): Display "private variable" instead of
2084
        "???" when an entity is defined as "*" in the ALI file.
2085
        * g-comlin.ads, g-comlin.adb: Fix handling of null parameters.
2086
        Minor reformatting.
2087
 
2088
2010-10-12  Emmanuel Briot  
2089
 
2090
        * g-comlin.adb, g-comlin.ads (Display_Help, Getopt, Current_Section,
2091
        Set_Usage): New subprograms.
2092
        (Define_Switch): Change profile to add support for help messages and
2093
        long switches.
2094
 
2095
2010-10-12  Javier Miranda  
2096
 
2097
        * sem_ch6.adb (New_Overloaded_Entity): Add missing decoration of
2098
        attribute Overridden_Operation in predefined dispatching primitives.
2099
 
2100
2010-10-12  Emmanuel Briot  
2101
 
2102
        * g-comlin.adb, g-comlin.ads (Add_Switch): Raise an exception when a
2103
        command line configuration exists and we specify an invalid section.
2104
 
2105
2010-10-12  Robert Dewar  
2106
 
2107
        * sem_ch6.adb (Process_PPCs): Fix error in inheriting Pre'Class when no
2108
        exception messages are generated.
2109
        (Process_PPCs): Fix error in inheriting Pre'Class.
2110
 
2111
2010-10-12  Jose Ruiz  
2112
 
2113
        * gnatcmd.adb: Use response file for GNATstack.
2114
        (Check_Files): Pass the list of ci files for GNATstack using a response
2115
        file to avoid problems with command line length.
2116
        Factor out the code handling response file into a new procedure named
2117
        Add_To_Response_File.
2118
 
2119
2010-10-12  Vincent Celier  
2120
 
2121
        * debug.adb: For gnatmake, document the meaning of -dm
2122
        * make.adb (Gnatmake): If -dm is used, indicate the maximum number of
2123
        simultaneous compilations.
2124
        * switch-m.adb (Scan_Make_Switches): Allow -j0, meaning as many
2125
        simultaneous compilations as the number of processors.
2126
 
2127
2010-10-12  Joseph Myers  
2128
 
2129
        * gcc-interface/Make-lang.in (ada/misc.o): Use $(OPTIONS_H)
2130
        instead of options.h.
2131
 
2132
2010-10-12  Robert Dewar  
2133
 
2134
        * gnat_rm.texi: Clarify that 'Old can be used in preconditions and
2135
        postcondition pragmas.
2136
 
2137
2010-10-12  Robert Dewar  
2138
 
2139
        * errout.ads, erroutc.adb: The # insertion now handles from in place of
2140
        at.
2141
        * exp_prag.adb (Expand_Pragma_Check): Suppress generated default
2142
        message if new switch Exception_Locations_Suppressed is set.
2143
        (Expand_Pragma_Check): Revised wording for default message for case
2144
        of precondition or postcondition.
2145
        * namet.ads, namet.adb (Build_Location_String): New procedure.
2146
        * opt.ads (List_Inherited_Pre_Post): New flag.
2147
        * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Add call to
2148
        list inherited pre/post aspects.
2149
        * sem_ch13.adb (Analyze_Aspect_Specification): Improve generation of
2150
        messages for precondition/postcondition cases.
2151
        * sem_ch6.adb (Process_PPCs): General cleanup, and list inherited PPC's
2152
        if flag List_Inherited_Pre_Post is set True.
2153
        (Process_PPCs): Add initial handling for inherited preconditions
2154
        (List_Inherited_Pre_Post_Aspects): New procedure
2155
        * sem_ch6.ads (List_Inherited_Pre_Post_Aspects): New procedure
2156
        * sem_disp.adb (Inherited_Subprograms): New function
2157
        * sem_disp.ads (Inherited_Subprograms): New function
2158
        * sem_prag.adb (Check_Duplicate_Pragma): Clean up handling of
2159
        pre/postcondition.
2160
        (Check_Precondition_Postcondition): Check for inherited aspects
2161
        * sem_warn.adb: Process -gnatw.l/w.L setting List_Inherited_Pre_Post
2162
        * sinfo.ads, sinfo.adb (Split_PPC): New flag.
2163
        * sinput.ads, sinput.adb (Build_Location_String): New function.
2164
        * usage.adb: Add line for -gnatw.l/-gnatw.L
2165
 
2166
2010-10-12  Javier Miranda  
2167
 
2168
        * exp_util.adb (Remove_Side_Effects): Remove wrong code.
2169
 
2170
2010-10-12  Arnaud Charlet  
2171
 
2172
        * xref_lib.adb: Add handling of j/J letters.
2173
 
2174
2010-10-12  Pascal Obry  
2175
 
2176
        * adaint.c (__gnat_number_of_cpus): Add implementation for Windows.
2177
 
2178
2010-10-12  Arnaud Charlet  
2179
 
2180
        * make.adb (Globalize): New procedure.
2181
        (Compile): Set Do_Codepeer_Globalize_Step when -gnatC is used.
2182
        (Gnatmake): Call Globalize when needed.
2183
        (Process_Restrictions_Or_Restriction_Warnings): Ignore Restrictions
2184
        pragmas in CodePeer mode.
2185
        (Adjust_Global_Switches): Set No_Initialize_Scalars in CodePeer mode,
2186
        to generate simpler and consistent code.
2187
 
2188
2010-10-12  Bob Duff  
2189
 
2190
        * exp_util.adb (Remove_Side_Effects): Disable previous change,
2191
        can cause side effects to be duplicated.
2192
 
2193
2010-10-12  Robert Dewar  
2194
 
2195
        * sem_ch6.adb (Process_PPCs): Handle inherited postconditions.
2196
 
2197
2010-10-12  Arnaud Charlet  
2198
 
2199
        * exp_disp.adb (Set_All_DT_Position): Disable emit error message on
2200
        abstract inherited private operation in CodePeer mode.
2201
 
2202
2010-10-12  Thomas Quinot  
2203
 
2204
        * a-exetim.ads: Minor reformatting.
2205
        * g-socket.ads (Port_Type): Better definition corresponding to the
2206
        actual standard range.
2207
        * exp_ch5.adb: Add comment.
2208
        * sem_aux.adb: Minor reformatting.
2209
 
2210
2010-10-12  Ed Schonberg  
2211
 
2212
        * sem_ch12.adb (Copy_Generic_Node): If node is a string literal, remove
2213
        string_literal_subtype so that a new one can be constructed in the
2214
        scope of the instance.
2215
 
2216
2010-10-12  Robert Dewar  
2217
 
2218
        * exp_ch9.adb (Has_Pragma_Priority): New name for Has_Priority_Pragma
2219
        * gnat_rm.texi (pragma Suppress_All): Document new placement rules
2220
        * par-prag.adb (P_Pragma, case Suppress_All): Set
2221
        Has_Pragma_Suppress_All flag.
2222
        * sem_prag.adb (Has_Pragma_Priority): New name for Has_Priority_Pragma
2223
        (Analyze_Pragma, case Suppress_All): Remove placement check
2224
        (Process_Compilation_Unit_Pragmas): Use Has_Pragma_Suppress_All flag
2225
        * sem_prag.ads (Process_Compilation_Unit_Pragmas): Update documentation
2226
        * sinfo.adb (Has_Pragma_Suppress_All): New flag
2227
        (Has_Pragma_Priority): New name for Has_Priority_Pragma
2228
        * sinfo.ads (Has_Pragma_Suppress_All): New flag
2229
        (Has_Pragma_Priority): New name for Has_Priority_Pragma
2230
 
2231
2010-10-12  Arnaud Charlet  
2232
 
2233
        * lib-xref.ads: Mark j/J as reserved for C++ classes.
2234
 
2235
2010-10-12  Jose Ruiz  
2236
 
2237
        * a-exetim-default.ads, a-exetim-posix.adb: New.
2238
        * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for linux): Use the
2239
        POSIX Realtime support to implement CPU clocks.
2240
        (EXTRA_GNATRTL_TASKING_OBJS for linux): Add the a-exetim.o object
2241
        to the tasking library.
2242
        (THREADSLIB): Make the POSIX.1b Realtime Extensions library (librt)
2243
        available for shared libraries.
2244
        * gcc-interface/Make-lang.in: Update dependencies.
2245
 
2246
2010-10-12  Robert Dewar  
2247
 
2248
        * sem_ch13.adb (Analyze_Aspect_Specifications): For Pre/Post, break
2249
        apart expressions with AND THEN clauses into separate pragmas.
2250
        * sinput.ads, sinput.adab (Get_Logical_Line_Number_Img): New function.
2251
 
2252
2010-10-12  Robert Dewar  
2253
 
2254
        * par-ch13.adb (P_Aspect_Specifications): Fix handling of 'Class
2255
        aspects.
2256
        * sem_ch13.adb (Analyze_Aspect_Specifications): Fix bad Sloc on aspects
2257
        * sem_prag.adb (Fix_Error): Only change pragma names for pragmas from
2258
        aspects.
2259
        (Check_Optional_Identifier): Handle case of direct arguments
2260
        (Chain_PPC): Test for abstract case, giving appropriate messages
2261
        * sinfo.ads, sinfo.adb (Class_Present): Allowed on N_Pragma node
2262
 
2263
2010-10-12  Robert Dewar  
2264
 
2265
        * par-endh.adb (Check_End): Don't swallow semicolon or aspects after
2266
        END RECORD.
2267
        * sem_attr.adb (Eval_Attribute): Code clean up.
2268
 
2269
2010-10-12  Robert Dewar  
2270
 
2271
        * par-ch12.adb (P_Formal_Private_Type_Definition): Improve error
2272
        messages and recovery for case of out of order Abstract/Tagged/Private
2273
        keywords.
2274
        * par-ch3.adb (P_Type_Declaration): Improve error messages and recovery
2275
        for case of out of order Abstract/Tagged/Private keywords.
2276
 
2277
2010-10-12  Ed Schonberg  
2278
 
2279
        * inline.adb (Analyze_Inlined_Bodies): Restrict previous change to case
2280
        where child unit is main unit of compilation.
2281
 
2282
2010-10-12  Robert Dewar  
2283
 
2284
        * aspects.ads, aspects.adb (Move_Aspects): New procedure.
2285
        * atree.ads, atree.adb: (New_Copy): Does not copy aspect specifications
2286
        * sinfo.ads, par-ch3.adb, par-ch6.adb, par-ch7.adb, par-ch9.adb,
2287
        par-endh.adb, par-ch13.adb, par-ch12.adb: Modify grammar to include
2288
        aspect specifications.
2289
        Recognize aspect specifications for all cases
2290
        * par.adb: Recognize aspect specifications for all cases
2291
        * sem_ch12.ads, sem_ch12.adb (Copy_Generic_Node): Copies aspect
2292
        specifications.
2293
        * sem_ch3.adb (Analyze_Subtype_Declaration): Improve patch to freeze
2294
        generic actual types (was missing some guards before).
2295
        * sem_ch9.adb (Analyze_Single_Protected_Declaration): Copy aspects to
2296
        generated object
2297
        (Analyze_Single_Task_Declaration): Copy aspects to generated object
2298
 
2299
2010-10-12  Eric Botcazou  
2300
 
2301
        * usage.adb (usage): Adjust line for -gnatn switch.
2302
 
2303
2010-10-12  Robert Dewar  
2304
 
2305
        * sem_attr.adb (Eval_Attribute): Only leave change active for aspect
2306
        spec case.
2307
 
2308
2010-10-12  Ed Schonberg  
2309
 
2310
        * sem_ch6.adb (Analyze_Subprogram_Declaration): If this is a
2311
        declaration of a null procedure resolve the types of the profile of the
2312
        generated null body now.
2313
 
2314
2010-10-11  Robert Dewar  
2315
 
2316
        * debug.adb: Remove d.A flag to delay address clause (not needed any
2317
        more). Add d.A flag to enable tree read/write of aspect spec hash table
2318
        * sem_ch13.adb (Analyze_Aspect_Specifications): Properly delay address
2319
        clause.
2320
        (Rep_Item_Too_Late): No need for special processing for delayed rep
2321
        items (and it caused difficulties in the address case).
2322
        * tree_gen.adb: Only write aspect spec hash table if -gnatd.A is set
2323
        * tree_in.adb: Only write aspect spec hash table if -gnatd.A is set
2324
 
2325
2010-10-11  Pat Rogers  
2326
 
2327
        * gnat_ugn.texi: Minor editing.
2328
 
2329
2010-10-11  Nathan Froyd  
2330
 
2331
        * gcc-interface/utils2.c (gnat_build_constructor): Use VEC_qsort.
2332
 
2333
2010-10-11  Robert Dewar  
2334
 
2335
        * g-htable.ads (Get_First): New procedural version for Simple_HTable
2336
        (Get_Next): New procedural version for Simple_HTable
2337
        * s-htable.adb (Get_First): New procedural version for Simple_HTable
2338
        (Get_Next): New procedural version for Simple_HTable
2339
        * s-htable.ads (Get_First): New procedural version for Simple_HTable
2340
        (Get_Next): New procedural version for Simple_HTable
2341
 
2342
2010-10-11  Ed Schonberg  
2343
 
2344
        * sem_aggr.adb (Propagate_Discriminants): To gather the components of a
2345
        variant part, use the association list of the subaggregate, which
2346
        already includes the values of the needed discriminants.
2347
 
2348
2010-10-11  Robert Dewar  
2349
 
2350
        * aspects.ads, aspects.adb: Changes to accomodate aspect delay
2351
        (Tree_Write): New procedure.
2352
        * atree.ads, atree.adb: Flag3 is now Has_Aspects and applies to all
2353
        nodes.
2354
        * atree.h: Flag3 is now Has_Aspects and applies to all nodes
2355
        * debug.adb: Add debug flag gnatd.A
2356
        * einfo.adb (Has_Delayed_Aspects): New flag
2357
        (Get_Rep_Item_For_Entity): New function
2358
        * einfo.ads (Has_Delayed_Aspects): New flag
2359
        (Get_Rep_Item_For_Entity): New function
2360
        * exp_ch13.adb (Expand_N_Freeze_Entity): Insert delayed aspects into
2361
        tree.
2362
        * exp_ch3.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb: New calling
2363
        sequence for Freeze_Entity.
2364
        * freeze.ads, freeze.adb (Freeze_Entity): Takes node rather than source
2365
        ptr. All calls are changed to this new interface.
2366
        (Freeze_And_Append): Same change
2367
        (Freeze_Entity): Evaluate deferred aspects
2368
        * sem_attr.adb: New calling sequence for Freeze_Entity
2369
        (Eval_Attribute): Don't try to evaluate attributes of unfrozen types
2370
        when we are in spec expression preanalysis mode.
2371
        * sem_ch10.adb: New calling sequence for Freeze_Entity
2372
        * sem_ch11.adb: Simplify analysis of aspect specifications now that the
2373
        flag Has_Aspects applies to all nodes (no need to save aspects).
2374
        * sem_ch12.adb: Simplify analysis of aspect specifications now that the
2375
        flag Has_Aspects applies to all nodes (no need to save aspects).
2376
        * sem_ch13.adb (Analyze_Aspect_Specifications): Major rewrite to
2377
        accomodate delaying aspect evaluation to the freeze point.
2378
        (Duplicate_Clause): Simplify using Get_Rep_Item_For_Entity, and also
2379
        accomodate delayed aspects.
2380
        (Rep_Item_Too_Late): Deal with delayed aspects case
2381
        * sem_ch13.ads (Rep_Item_Too_Late): Document handling of delayed
2382
        aspects.
2383
        * sem_ch3.adb (Analyze_Subtype_Declaration): Make sure that generic
2384
        actual types are properly frozen (this is needed because of the new
2385
        check in Eval_Attribute that declines to evaluate attributes
2386
        for unfrozen types).
2387
        Simplify analysis of aspect specifications now that the flag
2388
        Has_Aspects applies to all nodes (no need to save aspects).
2389
        * sem_ch3.ads (Preanalyze_Spec_Expression): Note use for delayed
2390
        aspects.
2391
        * sem_ch5.adb: Simplify analysis of aspect specifications now that the
2392
        flag Has_Aspects applies to all nodes (no need to save aspects).
2393
        New calling sequence for Freeze_Entity.
2394
        * sem_ch9.adb, sem_ch7.adb, sem_ch6.adb: Simplify analysis of aspect
2395
        specifications now that the flag Has_Aspects applies to all nodes
2396
        (no need to save aspects).
2397
        New calling sequence for Freeze_Entity
2398
        * sem_prag.adb (Check_Duplicate_Pragma): Simplify using
2399
        Get_Rep_Item_For_Entity
2400
        (Get_Pragma_Arg): Moved to Sinfo
2401
        * sinfo.ads, sinfo.adb (Aspect_Rep_Item_: New field
2402
        (Is_Delayed_Aspect): New flag
2403
        (Next_Rep_Item): Document use for aspects
2404
        (Get_Pragma_Arg): Moved here from Sem_Prag
2405
        * sprint.adb (Sprint_Aspect_Specifications): Now called after semicolon
2406
        is output and removes semicolon (simplifies interface).
2407
        (Sprint_Node_Actual): Simplify handling of aspects now that Has_Aspects
2408
        applies to any node.
2409
        * tree_gen.adb: Write contents of Aspect_Specifications hash table
2410
        * tree_in.adb: Read and initialize Aspect_Specifications hash table
2411
        * treepr.adb (Print_Node): Print Has_Aspects flag
2412
        (Print_Node): Print Aspect_Specifications in Has_Aspects set
2413
        * xtreeprs.adb: Remove obsolete references to Flag1,2,3
2414
 
2415
2010-10-11  Robert Dewar  
2416
 
2417
        * aspects.ads, aspects.adb: Major revision of this package for 2nd
2418
        stage of aspects implementation.
2419
        * gcc-interface/Make-lang.in: Add entry for aspects.o
2420
        * gcc-interface/Makefile.in: Add aspects.o to GNATMAKE_OBJS
2421
        * par-ch13.adb (Aspect_Specifications_Present): New function
2422
        (P_Aspect_Specifications): New procedure
2423
        * par-ch3.adb (P_Type_Declaration): Handle aspect specifications
2424
        (P_Derived_Type_Def_Or_Private_Ext_Decl): Handle aspect specifications
2425
        (P_Identifier_Declarations): Handle aspect specifications
2426
        (P_Component_Items): Handle aspect specifications
2427
        (P_Subtype_Declaration): Handle aspect specifications
2428
        * par-ch6.adb (P_Subprogram): Handle aspect specifications
2429
        * par-ch9.adb (P_Entry_Declaration): Handle aspect specifications
2430
        * par.adb (Aspect_Specifications_Present): New function
2431
        (P_Aspect_Specifications): New procedure
2432
        * sem.adb (Analyze_Full_Type_Declaration): New name for
2433
        Analyze_Type_Declaration.
2434
        (Analyze_Formal_Package_Declaration): New name (add _Declaration)
2435
        (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration)
2436
        (Analyze_Protected_Type_Declaration): New name (add _Declaration)
2437
        (Analyze_Single_Protected_Declaration): New name (add _Declaration)
2438
        (Analyze_Single_Task_Declaration): New name (add _Declaration)
2439
        (Analyze_Task_Type_Declaration): New name (add _Declaration)
2440
        * sem_cat.adb (Analyze_Full_Type_Declaration): New name for
2441
        Analyze_Type_Declaration.
2442
        * sem_ch11.adb (Analyze_Exception_Declaration): Analyze aspect
2443
        specifications.
2444
        * sem_ch12.adb (Analyze_Formal_Object_Declaration): Handle aspect
2445
        specifications.
2446
        (Analyze_Formal_Package_Declaration): New name (add _Declaration)
2447
        (Analyze_Formal_Package_Declaration): Handle aspect specifications
2448
        (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration)
2449
        (Analyze_Formal_Subprogram_Declaration): Handle aspect specifications
2450
        (Analyze_Formal_Type_Declaration): Handle aspect specifications
2451
        (Analyze_Generic_Package_Declaration): Handle aspect specifications
2452
        (Analyze_Generic_Subprogram_Declaration): Handle aspect specifications
2453
        (Analyze_Package_Instantiation): Handle aspect specifications
2454
        (Analyze_Subprogram_Instantiation): Handle aspect specifications
2455
        * sem_ch12.ads (Analyze_Formal_Package_Declaration): New name (add
2456
        _Declaration).
2457
        (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration)
2458
        * sem_ch13.adb (Analyze_Aspect_Specifications): New procedure
2459
        (Duplicate_Clause): New function, calls to this function are added to
2460
        processing for all aspects.
2461
        * sem_ch13.ads (Analyze_Aspect_Specifications): New procedure
2462
        * sem_ch3.adb (Analyze_Full_Type_Declaration): New name for
2463
        Analyze_Type_Declaration.
2464
        * sem_ch3.ads (Analyze_Full_Type_Declaration): New name for
2465
        Analyze_Type_Declaration.
2466
        * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Analyze aspect
2467
        specifications.
2468
        (Analyze_Subprogram_Declaration): Analyze aspect specifications
2469
        * sem_ch7.adb (Analyze_Package_Declaration): Analyze aspect
2470
        specifications.
2471
        (Analyze_Private_Type_Declaration): Analyze aspect specifications
2472
        * sem_ch9.adb (Analyze_Protected_Type_Declaration): Analyze aspect
2473
        specifications.
2474
        (Analyze_Protected_Type_Declaration): New name (add _Declaration)
2475
        (Analyze_Single_Protected_Declaration): Analyze aspect specifications
2476
        (Analyze_Single_Protected_Declaration): New name (add _Declaration)
2477
        (Analyze_Single_Task_Declaration): Analyze aspect specifications
2478
        (Analyze_Single_Task_Declaration): New name (add _Declaration)
2479
        (Analyze_Task_Type_Declaration): Analyze aspect specifications
2480
        (Analyze_Task_Type_Declaration): New name (add _Declaration)
2481
        * sem_ch9.ads (Analyze_Protected_Type_Declaration): New name (add
2482
        _Declaration).
2483
        (Analyze_Single_Protected_Declaration): New name (add _Declaration)
2484
        (Analyze_Single_Task_Declaration): New name (add _Declaration)
2485
        (Analyze_Task_Type_Declaration): New name (add _Declaration)
2486
        * sem_prag.adb: Use Get_Pragma_Arg systematically so that we do not
2487
        have to generate unnecessary pragma argument associations (this matches
2488
        the doc).
2489
        Throughout do changes to accomodate aspect specifications, including
2490
        specializing messages, handling the case of not going through all
2491
        homonyms, and allowing for cancellation.
2492
        * sinfo.ads, sinfo.adb: Clean up obsolete documentation for Flag1,2,3
2493
        (Aspect_Cancel): New flag
2494
        (From_Aspect_Specification): New flag
2495
        (First_Aspect): Removed flag
2496
        (Last_Aspect): Removed flag
2497
        * sprint.adb (Sprint_Aspect_Specifications): New procedure
2498
        (Sprint_Node_Actual): Add calls to Sprint_Aspect_Specifications
2499
 
2500
2010-10-11  Bob Duff  
2501
 
2502
        * sem_res.adb (Resolve_Actuals): Minor change to warning messages so
2503
        they match in Ada 95, 2005, and 2012 modes, in the case where the
2504
        language didn't change. Same thing for the run-time exception message.
2505
 
2506
2010-10-11  Javier Miranda  
2507
 
2508
        * debug.adb Document that switch -gnatd.p enables the CIL verifier.
2509
 
2510
2010-10-11  Robert Dewar  
2511
 
2512
        * s-htable.adb: Minor reformatting.
2513
 
2514
2010-10-11  Javier Miranda  
2515
 
2516
        * debug.adb: Update comment.
2517
 
2518
2010-10-11  Vincent Celier  
2519
 
2520
        * gnatcmd.adb (GNATCmd): Set Opt.Unchecked_Shared_Lib_Imports to True
2521
        unconditionally as for "gnat make" the projects are not processed in
2522
        the GNAT driver.
2523
 
2524
2010-10-11  Ed Schonberg  
2525
 
2526
        * sem_ch10.ads, sem_ch10.adb (Load_Needed_Body): Add parameter to
2527
        suppress semantic analysis of the body when inlining, prior to
2528
        verifying that the body does not have a with_clause on a descendant
2529
        unit.
2530
        * inline.adb (Analyze_Inlined_Bodies): Do not inline a body if it has a
2531
        with_clause on a descendant.
2532
        (Scope_In_Main_Unit): Simplify.
2533
 
2534
2010-10-11  Robert Dewar  
2535
 
2536
        * exp_ch6.adb, freeze.adb: Minor reformatting.
2537
 
2538
2010-10-11  Vincent Celier  
2539
 
2540
        * gnatcmd.adb (GNATCmd): For all tools other than gnatmake, allow
2541
        shared library projects to import projects that are not shared library
2542
        projects.
2543
 
2544
2010-10-11  Javier Miranda  
2545
 
2546
        * debug.adb: Document that switch -gnatd.o generates the CIL listing.
2547
 
2548
2010-10-11  Arnaud Charlet  
2549
 
2550
        * sem_prag.adb (Process_Suppress_Unsuppress): Only ignore
2551
        Suppress/Unsuppress pragmas in codepeer mode on user code.
2552
 
2553
2010-10-11  Javier Miranda  
2554
 
2555
        * exp_ch6.adb (Expand_Call): For VM platforms, add missing expansion of
2556
        tag check in case of dispatching call through "=".
2557
 
2558
2010-10-11  Ed Schonberg  
2559
 
2560
        * sem_ch3.adb (Access_Subprogram_Declaration): In Ada2012 an incomplete
2561
        type is legal in the profile of any basic declaration.
2562
        * sem_ch6.adb (Analyze_Return_Type, Process_Formals): In Ada2012 an
2563
        incomplete type, including a limited view of a type, is legal in the
2564
        profile of any subprogram declaration.
2565
        If the type is tagged, its use is also legal in a body.
2566
        * sem_ch10.adb (Install_Limited_With_Clause): Do not process context
2567
        item if misplaced.
2568
        (Install_Limited_Withed_Unit): Refine legality checks when both the
2569
        limited and the non-limited view of a package are visible in the
2570
        context of a unit.
2571
        If this is not an error case, the limited view is ignored.
2572
        freeze.adb (Freeze_Entity): In Ada2012, an incomplete type is legal in
2573
        access to subprogram declarations
2574
 
2575
2010-10-11  Robert Dewar  
2576
 
2577
        * exp_ch6.adb: Code clean up.
2578
        * exp_util.adb: Minor reformatting.
2579
 
2580
2010-10-11  Arnaud Charlet  
2581
 
2582
        * sem_ch3.adb, exp_ch6.adb
2583
        (Make_Build_In_Place_Call_In_Anonymous_Context,
2584
        Make_Build_In_Place_Call_In_Assignment,
2585
        Make_Build_In_Place_Call_In_Object_Declaration): Fix calls to
2586
        Add_Task_Actuals_To_Build_In_Place_Call in case of No_Task_Hierarchy
2587
        restriction.
2588
        (Access_Definition): Add missing handling of No_Task_Hierarchy.
2589
 
2590
2010-10-11  Javier Miranda  
2591
 
2592
        * exp_util.adb (Remove_Side_Effects): No action needed for renamings of
2593
        class-wide expressions.
2594
 
2595
2010-10-11  Arnaud Charlet  
2596
 
2597
        * xr_tabls.adb, sem_res.adb: Minor reformatting
2598
 
2599
2010-10-11  Arnaud Charlet  
2600
 
2601
        * gnat_rm.texi, exp_attr.adb, sem_attr.adb, sem_attr.ads,
2602
        snames.ads-tmpl (Analyze_Attribute, Expand_N_Attribute_Reference): Add
2603
        handling of Attribute_Ref. Add missing blanks in some error messages.
2604
        (Attribute_Ref, Name_Ref): Declare.
2605
        Document 'Ref attribute.
2606
 
2607
2010-10-11  Robert Dewar  
2608
 
2609
        * sem_attr.adb: Minor reformatting.
2610
 
2611
2010-10-11  Javier Miranda  
2612
 
2613
        * sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading
2614
        package System.Aux_Dec in VM platforms.
2615
 
2616
2010-10-11  Arnaud Charlet  
2617
 
2618
        * sem_prag.adb (Process_Suppress_Unsuppress): Ignore
2619
        Suppress/Unsuppress pragmas in codepeer mode.
2620
        (Analyze_Pragma [Pragma_Suppress_All]): Do not generate error message
2621
        in codepeer mode.
2622
        * einfo.ads: Fix typo.
2623
 
2624
2010-10-11  Emmanuel Briot  
2625
 
2626
        * sinfo.adb: Use GNAT.HTable rather than System.HTable.
2627
        * prj-nmsc.adb: Minor reformatting.
2628
 
2629
2010-10-11  Thomas Quinot  
2630
 
2631
        * sem_attr.adb (Type_Key): Code simplification.
2632
 
2633
2010-10-11  Tristan Gingold  
2634
 
2635
        * gcc-interface/utils2.c (maybe_wrap_malloc): Fix crash when allocating
2636
        very large object on VMS.
2637
 
2638
2010-10-11  Javier Miranda  
2639
 
2640
        * sem_ch10.adb (Analyze_With_Clause): Add missing test to ensure
2641
        availability of attribute Instance_Spec.
2642
 
2643
2010-10-11  Arnaud Charlet  
2644
 
2645
        * gnat1drv.adb (Adjust_Global_Switches): Disable codepeer mode if
2646
        checking syntax only or in ASIS mode.
2647
 
2648
2010-10-11  Ed Schonberg  
2649
 
2650
        * sem_ch6.adb (Check_Delayed_Subprogram): Abstract subprograms may also
2651
        need a freeze node if some type in the profile has one.
2652
        * gcc-interface/trans.c (case N_Abstract_Subprogram_Declaration): If
2653
        entity has a freeze node, defer elaboration.
2654
 
2655
2010-10-11  Emmanuel Briot  
2656
 
2657
        * prj-nmsc.adb (Check_Aggregate_Project): Add support for finding all
2658
        aggregated projects.
2659
 
2660
2010-10-11  Ed Schonberg  
2661
 
2662
        * sem_res.adb (Resolve_Entry_Call): Generate 's' reference for entry
2663
        call.
2664
        * sem_ch6.adb: Diagnose additional error condition.
2665
 
2666
2010-10-11  Bob Duff  
2667
 
2668
        * par.adb (Par): Clarify wording of certain error messages.
2669
 
2670
2010-10-11  Gary Dismukes  
2671
 
2672
        * sem_disp.adb (Check_Dispatching_Operation): Revise test for warning
2673
        about nondispatching subprograms to use In_Same_List (reducing use of
2674
        Parent links).
2675
 
2676
2010-10-11  Ed Schonberg  
2677
 
2678
        * xr_tabls.adb, sem_res.adb, lib-xref.adb, lib-xref.ads: Use s for
2679
        reference in a static call.
2680
 
2681
2010-10-11  Steve Baird  
2682
 
2683
        * exp_attr.adb (Expand_N_Attribute_Reference, case Type_Key): Type_Key
2684
        attribute should always be transformed into a string literal in
2685
        Analyze_Attribute.
2686
        * par-ch4.adb: Type_Key attribute's type is String; update value of
2687
        Is_Parameterless_Attribute constant to reflect this.
2688
        * sem_attr.adb (Analyze_Attribute): Recognize Type_Key attribute and
2689
        rewrite it as a string literal (attribute value is always known
2690
        statically).
2691
        * snames.ads-tmpl: Add entries for Type_Key attribute.
2692
 
2693
2010-10-11  Ed Schonberg  
2694
 
2695
        * lib-xref.adb (Output_References): Common handling for objects and
2696
        formals of an anonymous access type.
2697
 
2698
2010-10-11  Eric Botcazou  
2699
 
2700
        * make.adb (Scan_Make_Arg): Also pass -O to both compiler and linker.
2701
 
2702
2010-10-11  Ed Schonberg  
2703
 
2704
        * sem_ch6.adb: Fix check for illegal equality declaration in Ada2012
2705
 
2706
2010-10-11  Gary Dismukes  
2707
 
2708
        * sem_disp.adb (Check_Dispatching_Operation): When testing for issuing
2709
        a warning about subprograms of a tagged type not being dispatching,
2710
        limit this to cases where the tagged type and the subprogram are
2711
        declared within the same declaration list.
2712
 
2713
2010-10-11  Jerome Lambourg  
2714
 
2715
        * projects.texi, prj-attr.adb: Add new attribute documentation_dir.
2716
 
2717
2010-10-11  Bob Duff  
2718
 
2719
        * par-ch9.adb, sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, impunit.adb,
2720
        impunit.ads, sem_ch5.adb, sem_type.adb, exp_imgv.adb, exp_util.adb,
2721
        switch-c.adb, exp_attr.adb, exp_ch9.adb, par-ch11.adb, usage.adb,
2722
        sem_ch9.adb, sem_ch10.adb, scng.adb, checks.adb, sem_prag.adb,
2723
        sem_ch12.adb, par-ch2.adb, freeze.adb, par-ch4.adb, sem_util.adb,
2724
        sem_res.adb, sem_attr.adb, par-ch6.adb, exp_ch4.adb, exp_ch6.adb,
2725
        sem_ch4.adb, exp_ch8.adb, par-ch10.adb, sem_ch6.adb, par-prag.adb,
2726
        exp_disp.adb, par-ch12.adb, sem_ch8.adb, snames.adb-tmpl, opt.ads,
2727
        exp_aggr.adb, sem_cat.adb, sem_ch13.adb, par-ch3.adb, exp_strm.adb,
2728
        exp_cg.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb: Use Ada_2005
2729
        instead of Ada_05 (Ada_Version_Type).
2730
 
2731
2010-10-11  Bob Duff  
2732
 
2733
        * sem_aggr.adb, impunit.adb, impunit.ads, switch-c.adb, usage.adb,
2734
        sem_ch10.adb, sem_prag.adb, sem_ch12.adb, par-ch4.adb, par-ch6.adb,
2735
        par-ch8.adb, exp_ch4.adb, sem_ch4.adb, sem_ch6.adb, par-prag.adb,
2736
        opt.ads, par-ch3.adb, lib-xref.adb: Use Ada_2012 instead of Ada_12
2737
        (Ada_Version_Type).
2738
 
2739
2010-10-11  Javier Miranda  
2740
 
2741
        * exp_util.adb (Safe_Prefixed_Reference): If the prefix is an explicit
2742
        dereference then do not exclude dereferences of access-to-constant
2743
        types to handle them as constant view of variables (and hence remove
2744
        side effects when required).
2745
        * sem_res.adb (Resolve_Slice): Ensure that side effects in the bounds
2746
        are properly handled.
2747
 
2748
2010-10-11  Robert Dewar  
2749
 
2750
        * sem_prag.adb, sem_aggr.adb, sprint.adb: Minor reformatting.
2751
 
2752
2010-10-11  Javier Miranda  
2753
 
2754
        * exp_ch5.ads, exp_ch6.ads (Expand_N_Extended_Return_Statement): Moved
2755
        to exp_ch6.
2756
        (Expand_N_Simple_Return_Statement): Moved to exp_ch6.
2757
        * exp_ch5.adb, exp_ch6.adb (Expand_Non_Function_Return): Moved to
2758
        exp_ch6.
2759
        (Expand_Simple_Function_Return): Move to exp_ch6.
2760
        (Expand_N_Extended_Return_Statement): Moved to exp_ch6.
2761
        (Expand_N_Simple_Return_Statement): Moved to exp_ch6.
2762
 
2763
2010-10-11  Robert Dewar  
2764
 
2765
        * snames.ads-tmpl: Add names for aspects.
2766
        * aspects.ads, aspects.adb: New.
2767
        * gcc-interface/Make-lang.in: Update dependencies.
2768
2010-10-11  Ed Schonberg  
2769
 
2770
        * exp_ch6.adb (Expand_Actuals): If an actual is the current instance of
2771
        a task type, it must be replaced with a reference to Self.
2772
 
2773
2010-10-11  Vincent Celier  
2774
 
2775
        * adaint.h: Add prototype for function __gnat_create_output_file_new.
2776
 
2777
2010-10-11  Javier Miranda  
2778
 
2779
        * sem_aggr.adb (Collect_Aggr_Bounds): Remove side effects of collected
2780
        aggregate bounds.
2781
 
2782
2010-10-11  Arnaud Charlet  
2783
 
2784
        * sem_prag.adb (Check_Interrupt_Or_Attach_Handler): Do not emit error
2785
        for AI05-0033 in CodePeer mode.
2786
 
2787
2010-10-11  Robert Dewar  
2788
 
2789
        * atree.h, atree.ads, atree.adb (Flag3): New flag (replaces Unused_1)
2790
        * csinfo.adb: Aspect_Specifications is a new special field
2791
        * einfo.adb (Flag3): New unused flag
2792
        * exp_util.adb (Insert_Actions): Add processing for
2793
        N_Aspect_Specification.
2794
        * sem.adb: Add entry for N_Aspect_Specification.
2795
        * sinfo.ads, sinfo.adb (N_Aspect_Specification): New node
2796
        (Has_Aspect_Specifications): New flag
2797
        (Permits_Aspect_Specifications): New function
2798
        (Aspect_Specifications): New function
2799
        (Set_Aspect_Specifications): New procedure
2800
        * sprint.adb (Sprint_Node): Put N_At_Clause in proper alpha order
2801
        (Sprint_Node): Add dummy entry for N_Aspect_Specification
2802
        * treepr.adb (Flag3): New flag to be listed
2803
 
2804
2010-10-11  Vincent Celier  
2805
 
2806
        * adaint.c: Minor reformatting.
2807
 
2808
2010-10-11  Robert Dewar  
2809
 
2810
        * sem_ch6.adb, s-htable.ads: Minor reformatting.
2811
 
2812
2010-10-11  Ed Schonberg  
2813
 
2814
        * sem_ch4.adb (Analyze_Selected_Component): If the selector is
2815
        invisible in an instantiation, and both the formal and the actual are
2816
        private extensions of the same type, look for the desired component in
2817
        the proper view of the parent type.
2818
 
2819
2010-10-11  Vincent Celier  
2820
 
2821
        * adaint.c (__gnat_number_of_cpus): Add implementation for Solaris,
2822
        AIX, Tru64, Darwin, IRIX and HP-UX.
2823
 
2824
2010-10-11  Robert Dewar  
2825
 
2826
        * a-textio.adb: Minor reformatting
2827
 
2828
2010-10-11  Robert Dewar  
2829
 
2830
        * a-suesen.ads, a-suenst.ads,
2831
        a-suesen.adb, a-suenst.adb,
2832
        a-suewse.adb, a-suewst.adb,
2833
        a-suewse.ads, a-suewst.ads,
2834
        a-suezse.ads, a-suezst.ads,
2835
        a-suezse.adb, a-suezst.adb: New name for string encoding packages.
2836
        * impunit.adb: New names for string encoding units
2837
        * Makefile.rtl: New names for string encoding units
2838
        * rtsfind.ads: Minor code reorganization.
2839
 
2840
2010-10-11  Ed Schonberg  
2841
 
2842
        * exp_ch5.adb: Code clean up.
2843
 
2844
2010-10-11  Ed Schonberg  
2845
 
2846
        * sem_ch6.adb (Check_Limited_Return): Specialize warning on limited
2847
        returns when in a generic context.
2848
        (Analyze_Function_Return): ditto.
2849
 
2850
2010-10-11  Robert Dewar  
2851
 
2852
        * s-multip.ads: Fix header.
2853
        * sem_ch3.adb, s-multip.adb, a-tigeli.adb: Minor reformatting.
2854
 
2855
2010-10-11  Vincent Celier  
2856
 
2857
        * Makefile.rtl: Add s-multip.
2858
        * adaint.c: New function __gnat_number_of_cpus, implemented for Linux,
2859
        defaulting to 1 for other platforms.
2860
        * adaint.h: New function __gnat_number_of_cpus.
2861
        * impunit.adb (Non_Imp_File_Names_12): New file list for Ada 2012,
2862
        with a single component "s-multip".
2863
        * impunit.ads (Kind_Of_Unit): New enumerated value Ada_12_Unit for Ada
2864
        2012.
2865
        * rtsfind.ads (RTU_Id): New enumerated value System_Multiprocessors
2866
        * s-multip.ads, s-multip.adb: New Ada 2012 package.
2867
        * sem_ch10.adb (Analyze_With_Clause): Check also Ada 2012 units.
2868
 
2869
2010-10-11  Javier Miranda  
2870
 
2871
        * a-textio.adb: Move new implementation of Get_Line to a subunit.
2872
        * a-tigeli.adb: New subunit containing the implementation of Get_Line.
2873
 
2874
2010-10-11  Ed Schonberg  
2875
 
2876
        * sem_aux.adb: Code clean up.
2877
 
2878
2010-10-11  Robert Dewar  
2879
 
2880
        * sem_ch3.adb, sem_aux.adb, sem_ch6.adb: Minor reformatting
2881
 
2882
2010-10-11  Robert Dewar  
2883
 
2884
        * einfo.adb, atree.h, atree.ads, atree.adb: Define seven new flags
2885
        Flag248-Flag254.  Define new field Field29.
2886
 
2887
2010-10-10  Olivier Hainque  
2888
            Eric Botcazou  
2889
 
2890
        * gcc-interface/lang.opt (gdwarf+): Remove.
2891
        * gcc-interface/gigi.h (get_parallel_type): Likewise
2892
        * gcc-interface/misc.c (gnat_dwarf_extensions): Likewise.
2893
        (gnat_handle_option): Remove OPT_gdwarfplus case.
2894
        (gnat_post_options): Remove setting of use_gnu_debug_info_extensions
2895
        from gnat_dwarf_extensions.
2896
        * gcc-interface/trans.c (gigi): Remove -gdwarf+ initializations.
2897
        * gcc-interface/utils.c (get_parallel_type): Remove.
2898
 
2899
2010-10-10  Eric Botcazou  
2900
 
2901
        * gcc-interface/trans.c (gnat_to_gnu) : Use
2902
        invert_truthvalue_loc instead of invert_truthvalue.
2903
        * gcc-interface/utils2.c (build_binary_op) : Likewise.
2904
        (build_unary_op) : Likewise.
2905
 
2906
2010-10-10  Eric Botcazou  
2907
 
2908
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Add
2909
        assertion on the types of the parameters.  Use KIND local variable.
2910
        : Likewise.
2911
 
2912
2010-10-10  Eric Botcazou  
2913
 
2914
        * gcc-interface/ada-tree.h (DECL_BY_DOUBLE_REF_P): New macro.
2915
        * gcc-interface/gigi.h (annotate_object): Add BY_DOUBLE_REF parameter.
2916
        * gcc-interface/decl.c (annotate_object): Likewise and handle it.
2917
        (gnat_to_gnu_entity): Adjust calls to annotate_object.
2918
        (gnat_to_gnu_param): If fat pointer types are passed by reference on
2919
        the target, pass them by explicit reference.
2920
        * gcc-interface/misc.c (default_pass_by_ref): Fix type of constant.
2921
        * gcc-interface/trans.c (Identifier_to_gnu): Do DECL_BY_DOUBLE_REF_P.
2922
        (Subprogram_Body_to_gnu): Adjust call to annotate_object.
2923
        (call_to_gnu): Handle DECL_BY_DOUBLE_REF_P.
2924
        * gcc-interface/utils.c (convert_vms_descriptor): Add BY_REF parameter
2925
        and handle it.
2926
        (build_function_stub): Iterate on the parameters of the subprogram in
2927
        lieu of on the argument types.  Adjust call to convert_vms_descriptor.
2928
 
2929
2010-10-09  Eric Botcazou  
2930
 
2931
        * gcc-interface/misc.c: Delete prototypes.
2932
        (gnat_init_options): Use local variable.
2933
        (lang_hooks): Move to the end of the file.
2934
 
2935
2010-10-08  Joseph Myers  
2936
 
2937
        * gcc-interface/misc.c (gnat_init_options_struct): New.  Split out
2938
        from gnat_init_options.
2939
        (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
2940
 
2941
2010-10-08  Ed Schonberg  
2942
 
2943
        * sem_aux.adb: Cleanup Is_Immutably_Limited_Type.
2944
 
2945
2010-10-08  Robert Dewar  
2946
 
2947
        * exp_ch3.adb: Minor reformatting.
2948
        * exp_ch5.adb: Add comment.
2949
 
2950
2010-10-08  Robert Dewar  
2951
 
2952
        * sem_prag.adb (Check_Duplicate_Pragma): Check for entity match
2953
        * gcc-interface/Make-lang.in: Update dependencies.
2954
        * einfo.ads: Minor reformatting.
2955
 
2956
2010-10-08  Ed Schonberg  
2957
 
2958
        * exp_ch5.adb, sem_ch3.adb, exp_ch7.adb, exp_util.adb, sem_aux.adb,
2959
        sem_aux.ads, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
2960
        exp_ch3.adb: Change Is_Inherently_Limited_Type to
2961
        Is_Immutably_Limited_Type to accord with new RM terminology.
2962
        * sem_aux.adb (Is_Immutably_Limited_Type): A type that is a descendant
2963
        of a formal limited private type is not immutably limited in a generic
2964
        body.
2965
 
2966
2010-10-08  Robert Dewar  
2967
 
2968
        * sem_prag.adb (Check_Duplicate_Pragma): New procedure
2969
        Add calls to this new procedure where appropriate
2970
 
2971
2010-10-08  Vincent Celier  
2972
 
2973
        * a-textio.adb (Get_Chunk): Code clean up.
2974
 
2975
2010-10-08  Robert Dewar  
2976
 
2977
        * a-strbou.ads, a-strfix.adb, a-strfix.ads, a-strsea.adb, a-strsea.ads,
2978
        a-strsup.adb, a-strsup.ads, a-strunb-shared.adb, a-strunb-shared.ads,
2979
        a-strunb.adb, a-strunb.ads, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
2980
        a-stwise.adb, a-stwise.ads, a-stwisu.adb, a-stwisu.ads,
2981
        a-stwiun-shared.adb, a-stwiun-shared.ads, a-stwiun.adb, a-stwiun.ads,
2982
        a-stzbou.ads, a-stzfix.adb, a-stzfix.ads, a-stzsea.adb, a-stzsea.ads,
2983
        a-stzsup.adb, a-stzsup.ads, a-stzunb-shared.adb, a-stzunb-shared.ads,
2984
        a-stzunb.adb, a-stzunb.ads (Find_Token): New version with From
2985
        parameter.
2986
 
2987
2010-10-08  Robert Dewar  
2988
 
2989
        * sem_cat.adb (Check_Categorization_Dependencies): Remote types
2990
        packages can depend on preleborated packages.
2991
 
2992
2010-10-08  Robert Dewar  
2993
 
2994
        * sem_prag.adb (Check_Interrupt_Or_Attach_Handler): Pragmas
2995
        Interrupt_Handler and Attach_Handler not allowed in generics.
2996
 
2997
2010-10-08  Robert Dewar  
2998
 
2999
        * ali.adb: Set Allocator_In_Body if AB parameter present on M line
3000
        * ali.ads (Allocator_In_Body): New flag
3001
        * bcheck.adb (Check_Consistent_Restrictions): Handle case of main
3002
        program violating No_Allocators_After_Elaboration restriction.
3003
        * gnatbind.adb (No_Restriction_List): Add entries for
3004
        No_Anonymous_Allocators, and No_Allocators_After_Elaboration.
3005
        * lib-load.adb: Initialize Has_Allocator flag
3006
        * lib-writ.adb: Initialize Has_Allocator flag
3007
        (M_Parameters): Set AB switch if Has_Allocator flag set
3008
        * lib-writ.ads: Document AB flag on M line
3009
        * lib.adb (Has_Allocator): New function
3010
        (Set_Has_Allocator): New procedure
3011
        * lib.ads (Has_Allocator): New function
3012
        (Set_Has_Allocator): New procedure
3013
        (Has_Allocator): New flag in Unit_Record
3014
        * sem_ch4.adb (Analyze_Allocator): Add processing for
3015
        No_Allocators_After_Elaboration.
3016
 
3017
2010-10-08  Geert Bosch  
3018
 
3019
        * a-textio.adb (Get_Line): Rewrite to use fgets instead of fgetc.
3020
 
3021
2010-10-08  Javier Miranda  
3022
 
3023
        * sem_prag.adb (Analyze_Pragma): Relax semantic rule of
3024
        Java_Constructors because in the JRE library we generate occurrences
3025
        in which the "this" parameter is not the first formal.
3026
 
3027
2010-10-08  Robert Dewar  
3028
 
3029
        * par-ch3.adb: Minor reformatting.
3030
 
3031
2010-10-08  Javier Miranda  
3032
 
3033
        * exp_disp.adb (Make_DT): Do not generate dispatch tables for CIL/Java
3034
        types.
3035
 
3036
2010-10-08  Robert Dewar  
3037
 
3038
        * par-ch8.adb (P_Use_Type_Clause): Recognize ALL keyword in Ada 2012
3039
        mode.
3040
        * sinfo.adb (Use_Type_Clause): Add All_Present flag.
3041
        * sinfo.ads (Use_Type_Clause): Add All_Present flag.
3042
        * s-rident.ads: Add entry for No_Allocators_After_Elaboration,
3043
        No_Anonymous_Allocators.
3044
 
3045
2010-10-08  Vincent Celier  
3046
 
3047
        * bindgen.adb (Gen_Restrictions_Ada): No new line after last
3048
        restriction, so that the last comma is always replaced with a left
3049
        parenthesis.
3050
 
3051
2010-10-08  Javier Miranda  
3052
 
3053
        * sem_prag.adb (Analyze_Pragma): Add specific check on the type of the
3054
        first formal of delegates.
3055
 
3056
2010-10-08  Robert Dewar  
3057
 
3058
        * sem_aggr.adb: Minor reformatting.
3059
 
3060
2010-10-08  Robert Dewar  
3061
 
3062
        * exp_imgv.adb (Expand_Image_Attribute): Handle special calling
3063
        sequence for soft hyphen for Character'Image case.
3064
        * rtsfind.ads (Image_Character_05): New entry
3065
        * s-imgcha.adb (Image_Character_05): New procedurew
3066
        * s-imgcha.ads (Image_Character_05): New procedure
3067
        * s-imgwch.adb (Image_Wide_Character): Deal with Ada 2005 soft hyphen
3068
        case.
3069
        * s-valcha.adb (Value_Character): Recognize SOFT_HYPHEN for 16#AD#
3070
        * sem_attr.adb (Eval_Attribute, case Width): Handle soft_hyphen name
3071
        properly.
3072
 
3073
2010-10-08  Robert Dewar  
3074
 
3075
        * sem_attr.adb (Eval_Attribute, case Width): Avoid ludicrous long loop
3076
        for case of Wide_[Wide_]Character.
3077
 
3078
2010-10-08  Robert Dewar  
3079
 
3080
        * exp_ch3.adb: Minor reformating
3081
        Minor code reorganization.
3082
 
3083
2010-10-08  Javier Miranda  
3084
 
3085
        * sem_prag.adb (Analyze_Pragma): Add missing checks on wrong use of
3086
        pragmas CIL_Constructor and Java_Constructor.
3087
        * exp_ch3.adb (Expand_Freeze_Record_Type): Do not generate the
3088
        predefined primitives for CIL/Java tagged types.
3089
 
3090
2010-10-08  Robert Dewar  
3091
 
3092
        * sem_ch6.adb: Minor reformatting.
3093
 
3094
2010-10-08  Robert Dewar  
3095
 
3096
        * gnat1drv.adb: Add call to Validate_Independence.
3097
        * par-prag.adb: Add dummy entries for Independent,
3098
        Independent_Componentsa.
3099
        * sem_ch13.adb (Validate_Independence): New procedure
3100
        (Initialize): Initialize address clause and independence check tables
3101
        * sem_ch13.ads (Independence_Checks): New table
3102
        (Validate_Independence): New procedure
3103
        * sem_prag.adb: Add processing for pragma Independent[_Components]
3104
        * snames.ads-tmpl: Add entries for pragma Independent[_Components]
3105
 
3106
2010-10-08  Ed Schonberg  
3107
 
3108
        * sem_aggr.adb (Propagate_Discriminants): When expanding an aggregate
3109
        component with box initialization, if the component is a variant record
3110
        use the values of the discriminants to select the proper variant for
3111
        further box initialization.
3112
 
3113
2010-10-08  Thomas Quinot  
3114
 
3115
        * xsnames.adb: Remove obsolete file.
3116
        * make.adb, sem_ch8.adb, einfo.ads: Minor reformatting.
3117
 
3118
2010-10-08  Ed Schonberg  
3119
 
3120
        * exp_aggr.adb: Complete previous change.
3121
 
3122
2010-10-08  Ed Schonberg  
3123
 
3124
        * sem_ch6.adb (Check_Return_Subtype): The subtype indication in an
3125
        extended return must match statically the return subtype of the
3126
        enclosing function if the type is an elementary type or if it is
3127
        constrained.
3128
 
3129
2010-10-08  Vincent Celier  
3130
 
3131
        * prj-nmsc.adb (Add_Source): Report all duplicate units and source file
3132
        names.  Do not report the same duplicate unit several times.
3133
        * prj.ads (Source_Data): New Boolean component Duplicate_Unit,
3134
        defaulted to False, to avoid reporting the same unit as duplicate
3135
        several times.
3136
 
3137
2010-10-08  Ed Schonberg  
3138
 
3139
        * sem_aggr.adb (Resolve_Array_Aggregate): If the expression in an
3140
        others choice is a literal, analyze it to enable later optimizations.
3141
        * exp_aggr.adb (Expand_Record_Aggregate): An aggregate with static size
3142
        and components can be handled by the backend even if it is of a limited
3143
        type.
3144
 
3145
2010-10-08  Arnaud Charlet  
3146
 
3147
        * a-rttiev.adb (task Timer): Since this package may be elaborated
3148
        before System.Interrupt, we need to call Setup_Interrupt_Mask
3149
        explicitly to ensure that this task has the proper signal mask.
3150
 
3151
2010-10-08  Robert Dewar  
3152
 
3153
        * freeze.adb (Freeze_Entity): For array case, move some processing for
3154
        pragma Pack, Component_Size clause and atomic/volatile components here
3155
        instead of trying to do the job in Sem_Ch13 and Freeze.
3156
        * layout.adb: Use new Addressable function
3157
        * sem_ch13.adb (Analyze_Attribute_Representation_Clause, case
3158
        Component_Size): Move some handling to freeze point in
3159
        Freeze.Freeze_Entity.
3160
        * sem_prag.adb (Analyze_pragma, case Pack): Move some handling to
3161
        freeze point in Freese.Freeze_Entity.
3162
        * sem_util.ads, sem_util.adb (Addressable): New function.
3163
 
3164
2010-10-08  Robert Dewar  
3165
 
3166
        * sprint.adb: Minor reformatting.
3167
 
3168
2010-10-08  Javier Miranda  
3169
 
3170
        * exp_ch4.adb (Real_Range_Check): Declare temporary as constant.
3171
 
3172
2010-10-08  Robert Dewar  
3173
 
3174
        * sem_ch3.adb: Minor reformatting.
3175
 
3176
2010-10-08  Vincent Celier  
3177
 
3178
        * ali-util.adb (Get_File_Checksum): Make sure that external_as_list is
3179
        not a reserved word.
3180
        * prj-proc.adb (Expression): Process string list external references.
3181
        * prj-strt.adb (External_Reference): Parse external_as_list external
3182
        references.
3183
        * prj-tree.ads (Expression_Kind_Of): Allowed for N_External_Value nodes
3184
        (Set_Expression_Kind_Of): Ditto
3185
        * prj.adb (Initialize): Set external_as_list as a reserved word
3186
        * projects.texi: Document new string external reference
3187
        external_as_list.
3188
        * scans.ads (Token_Type): New token Tok_External_As_List
3189
        * snames.ads-tmpl: New standard name Name_External_As_List
3190
 
3191
2010-10-08  Thomas Quinot  
3192
 
3193
        * sem_prag.adb: Minor reformatting.
3194
 
3195
2010-10-08  Ed Schonberg  
3196
 
3197
        * sem_ch3.adb (Derived_Type_Declaration): In the private part of an
3198
        instance, it is legal to derive from a non-limited actual when the
3199
        formal type is untagged limited.
3200
        * sem_ch12.adb (Instantiate_Type): For a formal private type, use
3201
        analyzed formal as Generic_Parent_Type, to simplify later checks.
3202
 
3203
2010-10-08  Ed Schonberg  
3204
 
3205
        * sem_res.adb (Insert_Default): If default value is already a
3206
        raise_constraint_error do not rewrite it as new raise node, to prevent
3207
        infinite loops in the warning removal machinery.
3208
 
3209
2010-10-08  Robert Dewar  
3210
 
3211
        * sem_util.adb, sem_prag.adb: Minor reformatting
3212
 
3213
2010-10-08  Hristian Kirtchev  
3214
 
3215
        * gnat_rm.texi: Remove the section on pragma Implemented_By_Entry.
3216
        Add section on pragma Implemented.
3217
 
3218
2010-10-08  Ed Schonberg  
3219
 
3220
        * sem_ch3.adb (Derive_Subprogram): If an abstract extension has a
3221
        concrete parent with a concrete constructor, the inherited constructor
3222
        is abstract even if the derived type is a null extension.
3223
 
3224
2010-10-08  Thomas Quinot  
3225
 
3226
        * sem_ch4.adb: Minor reformatting.
3227
 
3228
2010-10-08  Hristian Kirtchev  
3229
 
3230
        * einfo.adb: Flag 232 (formerly Implemented_By_Entry) is now unused.
3231
        (Implemented_By_Entry): Removed.
3232
        (Set_Implemented_By_Entry): Removed.
3233
        (Write_Entity_Flags): Remove the output for Implemented_By_Entry.
3234
        * einfo.ads: Remove Implemented_By_Entry and its usage in entities.
3235
        (Implemented_By_Entry): Removed along with its associated pragma.
3236
        (Set_Implemented_By_Entry): Removed along with its associated pragma.
3237
        * exp_ch9.adb: Alphabetize with and use clauses of Exp_Ch9.
3238
        (Build_Dispatching_Call_Equivalent): New routine.
3239
        (Build_Dispatching_Requeue): New routine.
3240
        (Build_Dispatching_Requeue_To_Any): New routine.
3241
        (Build_Normal_Requeue): New routine.
3242
        (Build_Skip_Statement): New routine.
3243
        (Expand_N_Requeue_Statement): Rewritten. The logic has been split into
3244
        several subroutines.
3245
        * par-prag.adb: Replace Pragma_Implemented_By_Entry by
3246
        Pragma_Implemented.
3247
        * sem_ch3.adb (Check_Abstract_Overriding): Perform checks concerning
3248
        pragma Implemented.
3249
        (Check_Pragma_Implemented): New routines.
3250
        (Inherit_Pragma_Implemented): New routine.
3251
        * sem_ch9.adb (Analyze_Requeue): Update the predicate which detects a
3252
        dispatching requeue.
3253
        * sem_prag.adb: Update array Sig_Flags by removing Implemented_By_Entry
3254
        and adding Implemented.
3255
        (Ada_2012_Pragma): New routine.
3256
        (Analyze_Pragma, case Implemented): Perform all necessary checks
3257
        concerning pragma Implemented and register the pragma as a
3258
        representation item with the procedure_LOCAL_NAME.
3259
        (Analyze_Pragma, case Implemented_By_Entry): Removed.
3260
        * sem_util.adb (Implementation_Kind): New routine.
3261
        * sem_util.ads (Implementation_Kind): New routine.
3262
        * snames.ads-tmpl: Remove Name_Implemented_By_Entry and add
3263
        Name_Implemented. Remove pragma name Pragma_Implemented_By_Entry and
3264
        add Pragma_Implemented. Add special names By_Any, By_Entry and
3265
        By_Protected_Procedure.
3266
 
3267
2010-10-08  Javier Miranda  
3268
 
3269
        * exp_ch3.adb (Expand_Freeeze_Record_Type): Code cleanup: remove local
3270
        variable Has_Static_DT by invocation of function Building_Static_DT.
3271
 
3272
2010-10-08  Vincent Celier  
3273
 
3274
        * g-dirope.adb (Remove_Dir): Do not change the current directory when
3275
        doing a recursive remove of a subdirectory.
3276
 
3277
2010-10-08  Javier Miranda  
3278
 
3279
        * exp_ch6.ad (Freeze_Subprogram): Factorize code.
3280
        * exp_disp.adb (Make_Secondary_DT): Factorize code.
3281
        (Make_DT): Factorize code.
3282
 
3283
2010-10-08  Robert Dewar  
3284
 
3285
        * sem_ch4.adb: Minor reformatting.
3286
 
3287
2010-10-08  Robert Dewar  
3288
 
3289
        * sem_ch6.adb (Check_Conformance): Check null exclusion match for full
3290
        conformance.
3291
 
3292
2010-10-08  Thomas Quinot  
3293
 
3294
        * sem_ch12.adb (Instantiate_Object): Rename Formal_Id to Gen_Obj, for
3295
        consistency with Gen_T in Instantiate_Type.
3296
        Introduce constant A_Gen_Obj to avoid repeated queries for
3297
        Defining_Identifier (Analyzed_Formal).
3298
 
3299
2010-10-08  Vincent Celier  
3300
 
3301
        * prj-nmsc.adb: Minor comment fix.
3302
 
3303
2010-10-07  Robert Dewar  
3304
 
3305
        * sem_prag.adb, sem_ch13.adb: Implement AI05-0012-1/02.
3306
        * gcc-interface/Make-lang.in: Update dependencies.
3307
 
3308
2010-10-07  Ed Schonberg  
3309
 
3310
        * sem_ch12.ad: (Instantiate_Object): For an in-out formal of a child
3311
        unit, if the type of the formal is declared in a parent unit and is not
3312
        a formal itself, the actual must be located from an enclosing parent
3313
        instance by normal visibility.
3314
 
3315
2010-10-07  Ed Schonberg  
3316
 
3317
        * sem_ch4.adb (Analyze_Allocator): In Ada 2012, a null_exclusion
3318
        indicator is illegal for an uninitialized allocator.
3319
 
3320
2010-10-07  Robert Dewar  
3321
 
3322
        * sem_prag.adb (Analyze_Attribute_Definition_Clause, case
3323
        Component_Size): Complete previous change.
3324
 
3325
2010-10-07  Vincent Celier  
3326
 
3327
        * scng.adb (Scan): Call Accumulate_Token_Checksum for Tok_Identifier,
3328
        even for keywords, to avoid having the checksum to depend on the Ada
3329
        version.
3330
 
3331
2010-10-07  Gary Dismukes  
3332
 
3333
        * sem_aggr.adb, sem_ch12.adb, sem_ch6.adb, par-ch5.adb,
3334
        exp_ch3.adb: Minor reformatting.
3335
 
3336
2010-10-07  Robert Dewar  
3337
 
3338
        * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
3339
        Component_Size): It is now illegal to give an incorrect component size
3340
        clause in the case of aliased or atomic components.
3341
        * sem_prag.adb (Analyze_Pragma, case Pack): It is now illegal to give
3342
        an effective pragma Pack in the case of aliased or atomic components.
3343
 
3344
2010-10-07  Steve Baird  
3345
 
3346
        * exp_ch4.adb (Expand_N_Allocator): Do not bypass expansion
3347
        in the case of a violation of an active No_Task_Hierarchy restriction.
3348
 
3349
2010-10-07  Ed Schonberg  
3350
 
3351
        * sem_ch12.adb (Validate_Derived_Type_Instance): If a formal derived
3352
        type is non-limited, an actual for it cannot be limited.
3353
 
3354
2010-10-07  Robert Dewar  
3355
 
3356
        * einfo.ads (No_Pool_Assigned): Update documentation.
3357
        * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
3358
        Storage_Size): We only set No_Pool_Assigned if the expression is a
3359
        static constant and zero.
3360
        * sem_res.adb (Resolve_Allocator): Allocation from empty storage pool
3361
        should be an error not a warning.
3362
 
3363
2010-10-07  Ed Schonberg  
3364
 
3365
        * exp_aggr.adb (Expand_Array_Aggregate): Recognize additional cases
3366
        where an aggregate in an assignment can be built directly into the
3367
        target, and does not require the creation of a temporary that may
3368
        overflow the stack.
3369
 
3370
2010-10-07  Ed Schonberg  
3371
 
3372
        * sem_aggr.adb (Analyze_Record_Aggregate): In Ada2012, a choice list
3373
        in a record aggregate can correspond to several components of
3374
        anonymous access types, as long as the designated subtypes match.
3375
 
3376
2010-10-07  Robert Dewar  
3377
 
3378
        * gnat_rm.texi, exp_util.adb, sinfo.adb, sinfo.ads, sem_ch12.adb,
3379
        sem.adb, gnat_ugn.texi, sem_util.ads, par-ch6.adb, targparm.ads,
3380
        restrict.adb, sem_ch6.adb, sem_ch6.ads, sprint.adb, i-c.ads: Change
3381
        spelling parametrize(d) => parameterize(d).
3382
 
3383
2010-10-07  Robert Dewar  
3384
 
3385
        * sem_ch12.adb: Add comment.
3386
        * sem_ch6.adb: Minor reformatting.
3387
 
3388
2010-10-07  Robert Dewar  
3389
 
3390
        * par-ch3.adb, par-ch6.adb, par-ch7.adb, par-ch9.adb, par-ch10.adb: Add
3391
        Pexp to Pf_Rec constants
3392
        (P_Subprogram): Expression is always enclosed in parentheses
3393
        * par.adb (Pf_Rec): add Pexp flag for parametrized expression
3394
        * sinfo.ads (N_Parametrized_Expression): Expression must be in parens
3395
 
3396
2010-10-07  Ed Schonberg  
3397
 
3398
        * sem_ch6.adb (Analyze_Subprogram_Specification): Implement Ada2012
3399
        checks on functions that return an abstract type or have a controlling
3400
        result whose designated type is an abstract type.
3401
        (Check_Private_Overriding): Implement Ada2012 checks on functions
3402
        declared in the private part, if an abstract type is involved.
3403
        * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): In Ada2012,
3404
        reject a generic function that returns an abstract type.
3405
        * exp_ch5.adb (Expand_Simple_Function_Return): in Ada2012, if a
3406
        function has a controlling access result, check that the tag of the
3407
        return value matches the designated type of the return expression.
3408
 
3409
2010-10-07  Robert Dewar  
3410
 
3411
        * par-ch6.adb: Fix error in handling of parametrized expressions.
3412
        * par-ch4.adb (P_Name): Allow qualified expression as name in Ada 2012
3413
        mode.
3414
        (P_Simple_Expression): Better message for qualified expression prefix
3415
        * s-crc32.adb: Minor reformatting.
3416
        * exp_intr.adb (Expand_Unc_Deallocation): Remove test for empty
3417
        storage pool (this test is moved to Sem_Intr).
3418
        * sem_intr.adb (Check_Intrinsic_Call): Add check for deallocation from
3419
        empty storage pool, moved here from Exp_Intr and made into error.
3420
        (Check_Intrinsic_Call): Remove assumption in generating not-null free
3421
        warning that the name of the instantiation is Free.
3422
        * sinput.adb (Tree_Read): Document use of illegal free call allowed in
3423
        GNAT mode.
3424
        * types.ads: Remove storage size clauses from big types (since we may
3425
        need to do deallocations, which are now illegal for empty pools).
3426
 
3427
2010-10-07  Sergey Rybin  
3428
 
3429
        * gnat_ugn.texi: Add missing word.
3430
 
3431
2010-10-07  Robert Dewar  
3432
 
3433
        * exp_util.adb (Insert_Actions): Add handling of
3434
        N_Parametrized_Expression.
3435
        * par-ch6.adb (P_Subprogram): Add parsing of parametrized expression
3436
        * sem.adb: Add entry for N_Parametrized_Expression
3437
        * sem_ch6.adb (Analyze_Parametrized_Expression): New procedure
3438
        * sem_ch6.ads (Analyze_Parametrized_Expression): New procedure
3439
        * sinfo.ads, sinfo.adb: Add N_Parametrized_Expression
3440
        * sprint.adb (Sprint_Node): Add handling for N_Parametrized_Expression
3441
        * par-ch4.adb: Minor reformatting.
3442
 
3443
2010-10-07  Robert Dewar  
3444
 
3445
        * scng.adb (Skip_Other_Format_Characters): New procedure
3446
        (Start_Of_Wide_Character): New procedure
3447
        (Scan): Use Start_Of_Wide_Character where appropriate
3448
        (Scan): Improve error message for other_format chars in identifier
3449
        (Scan): Allow other_format chars between tokens
3450
 
3451
2010-10-07  Javier Miranda  
3452
 
3453
        * exp_util.adb (Safe_Prefixed_Reference): When removing side effects,
3454
        Add missing support for explicit dereferences.
3455
 
3456
2010-10-07  Robert Dewar  
3457
 
3458
        * par-ch10.adb, par-ch3.adb, par.adb: Minor reformatting.
3459
 
3460
2010-10-07  Robert Dewar  
3461
 
3462
        * exp_disp.adb, exp_dist.adb, exp_util.ads, exp_util.adb,
3463
        exp_ch11.adb: Rename Full_Qualified_Name to Fully_Qualified_Name_String
3464
        * sem_util.adb, sem_util.ads (Full_Qualified_Name): Moved to
3465
        Exp_Util.Fully_Qualified_Name_String.
3466
 
3467
2010-10-07  Robert Dewar  
3468
 
3469
        * rtsfind.ads: Add entry for Ada.Real_Time.Timing_Events.Set_Handler
3470
        * sem_res.adb (Resolve_Call): A call to
3471
        Ada.Real_Time.Timing_Events.Set_Handler violates restriction
3472
        No_Relative_Delay (AI-0211).
3473
 
3474
2010-10-07  Ed Schonberg  
3475
 
3476
        * sem_ch10.adb: Small change in error message.
3477
 
3478
2010-10-07  Robert Dewar  
3479
 
3480
        * tbuild.ads: Minor reformatting.
3481
 
3482
2010-10-07  Robert Dewar  
3483
 
3484
        * gnatcmd.adb, make.adb, prj-nmsc.adb, sem_elab.adb: Minor reformatting
3485
 
3486
2010-10-07  Arnaud Charlet  
3487
 
3488
        * exp_ch11.adb (Expand_N_Exception_Declaration): Update comments.
3489
 
3490
2010-10-07  Robert Dewar  
3491
 
3492
        * sem_res.adb: Minor reformatting
3493
 
3494
2010-10-07  Olivier Ramonat  
3495
 
3496
        * gnat_ugn.texi: Minor editing.
3497
        * opt.ads: Document that scripts rely on specific formats in opt.ads
3498
 
3499
2010-10-07  Robert Dewar  
3500
 
3501
        * a-wichun.ads, a-wichun.adb (To_Lower_Case): New function
3502
        (To_Upper_Case): Fix to be inverse of To_Lower_Case
3503
        * a-zchuni.ads, a-zchuni.adb (To_Lower_Case): New function
3504
        (To_Upper_Case): Fix to be inverse of To_Lower_Case
3505
 
3506
2010-10-07  Robert Dewar  
3507
 
3508
        * a-wichha.adb, a-wichha.ads, a-zchhan.adb, a-zchhan.ads: New file.
3509
        * impunit.adb: Add entries for a-wichha/a-zchhan
3510
        * Makefile.rtl: Add entries for a-wichha/a-zchhan
3511
 
3512
2010-10-07  Vincent Celier  
3513
 
3514
        * make.adb (Check): Call Check_Source_Info_In_ALI with Project_Tree
3515
        * makeutl.adb (Check_Source_Info_In_ALI): If there is at least one
3516
        replaced source, check that none of the replaced sources are in the
3517
        dependencies.
3518
        * makeutl.ads (Check_Source_Info_In_ALI): New parameter Tree
3519
        * prj-nmsc.adb (Remove_Source): New parameter Tree. If the source is
3520
        replaced with a source with a different file name, put it in the hash
3521
        table Replaced_Sources.
3522
        (Add_Source): Call Remove_Source with Data.Tree. If there is at least
3523
        one replaced source, check if it has the same file name as the current
3524
        source; if it has, remove it from the hash table Replaced_Sources.
3525
        * prj.adb (Reset): Reset hash table Tree.Replaced_Sources
3526
        * prj.ads (Replaced_Source_HTable): New hash table
3527
        (Project_Tree_Data): New components Replaced_Sources and
3528
        Replaced_Source_Number.
3529
 
3530
2010-10-07  Ed Schonberg  
3531
 
3532
        * sem_elab.adb (Check_A_Call): After inserting elaboration check, set
3533
        proper flag to prevent a double elaboration check on the same call.
3534
        * exp_util.adb (Insert_Actions): If the enclosing node is an
3535
        Expression_With_Actions and it has been analyzed already, find
3536
        insertion point further up in the tree.
3537
 
3538
2010-10-07  Hristian Kirtchev  
3539
 
3540
        * sem_ch13.adb (Analyze_Record_Representation_Clause): Alphabetize all
3541
        local variables. Remove the general restriction which prohibits the
3542
        application of record rep clauses to Unchecked_Union types. Add Ada
3543
        2012 check to detect improper naming of an Unchecked_Union
3544
        discriminant in record rep clause.
3545
        * sem_prag.adb: Add with and use clause for Exp_Ch7.
3546
        (Analyze_Pragma): Unchecked_Union case: Propagate the Unchecked_Union
3547
        type to all invocations of Check_Component and Check_Variant.
3548
        (Check_Component): Add formal parameters UU_Typ and In_Variant_Part.
3549
        Rewritten.  Add Ada 2012 check to detect improper use of formal
3550
        private types and private extensions as component types of an
3551
        Unchecked_Union declared inside a generic body.
3552
        (Check_Variant): Add formal parameter UU_Typ. Propagate the
3553
        Unchecked_Union type to all calls of Check_Component. Signal that the
3554
        current component comes from the variant part of an Unchecked_Union
3555
        type.
3556
        (Inside_Generic_Body): New routine.
3557
 
3558
2010-10-07  Ed Schonberg  
3559
 
3560
        * exp_ch4.adb (Expand_Composite_Equality): When looking for a primitive
3561
        equality operation for a record component, verify that both formals
3562
        have the same type, and the result type is boolean.
3563
 
3564
2010-10-07  Vincent Celier  
3565
 
3566
        * gnatcmd.adb (Check_Files): When looking for the .ci file for a
3567
        binder generated file, look for both b~xxx and b__xxx as gprbuild
3568
        always uses b__ as the prefix of such files.
3569
 
3570
2010-10-07  Thomas Quinot  
3571
 
3572
        * sem_res.adb: Minor reformatting.
3573
 
3574
2010-10-07  Arnaud Charlet  
3575
 
3576
        * debug.adb: Update -gnatd.J documentation.
3577
 
3578
2010-10-07  Robert Dewar  
3579
 
3580
        * gnat_rm.texi: Document handling of invalid values
3581
        * s-utf_32.ads, s-utf_32.adb (UTF_To_Lower_Case): Fix implementation
3582
        to match new spec.
3583
        (UTF_To_Upper_Case): New function.
3584
 
3585
2010-10-07  Robert Dewar  
3586
 
3587
        * sem_attr.adb: Minor reformatting.
3588
        * einfo.ads, einfo.adb (Is_Ada_2012_Only): New flag
3589
        * itypes.adb (Create_Null_Excluding_Itype): Set Is_Ada_2012_Only flag
3590
        properly.
3591
        * lib-xref.adb (Generate_Reference): Warn on use of Ada 2012 entity in
3592
        non-Ada 2012 mode.
3593
        * opt.ads (Warn_On_Ada_2012_Compatibility): New flag
3594
        * sem_ch3.adb (Analye_Subtype_Declaration): Inherit Is_Ada_2012_Only
3595
        * sem_ch7.adb (Preserve_Full_Attributes): Preserve Is_Ada_2012_Only
3596
        flag.
3597
        * sem_prag.adb (Analyze_Pragma, case Ada_12/Ada_2012): Allow form with
3598
        argument.
3599
        * sem_type.adb (Disambiguate): Deal with Is_Ada_2012_Only.
3600
        * sem_warn.adb (Warn_On_Ada_2012_Compatibility): New flag, treated
3601
        same as 2005 flag.
3602
 
3603
2010-10-07  Javier Miranda  
3604
 
3605
        * a-tags.ads: Use new support for pragma Ada_2012 with function
3606
        Type_Is_Abstract.
3607
 
3608
2010-10-07  Ed Schonberg  
3609
 
3610
        * par-ch5.adb (P_Sequence_Of_Statements): In Ada2012 a label can end a
3611
        sequence of statements.
3612
 
3613
2010-10-07  Vincent Celier  
3614
 
3615
        * gnatcmd.adb (Check_Files): Only add a .ci files if it exists
3616
 
3617
2010-10-07  Javier Miranda  
3618
 
3619
        * a-tags.ads, a-tags.adb (Type_Is_Abstract): New subprogram.
3620
        * rtsfind.ads (RE_Type_Is_Abstract): New entity.
3621
        * exp_disp.adb (Make_DT): Initialize TSD component Type_Is_Abstract.
3622
 
3623
2010-10-07  Arnaud Charlet  
3624
 
3625
        * sem_ch12.adb (Mark_Context): Removed, no longer needed.
3626
        (Analyze_Package_Instantiation): No longer analyze systematically a
3627
        generic body in CodePeer mode.
3628
        * freeze.adb, sem_attr.adb: Update comments.
3629
 
3630
2010-10-05  Robert Dewar  
3631
 
3632
        * par-ch5.adb (Test_Statement_Required): Allow all pragmas in Ada 2012
3633
        mode.
3634
 
3635
2010-10-05  Pascal Obry  
3636
 
3637
        * gnat_rm.texi: Fix typo.
3638
 
3639
2010-10-05  Arnaud Charlet  
3640
 
3641
        * gnat_ugn.texi: Add note about identifiers with same name and
3642
        -fdump-ada-spec.
3643
 
3644
2010-10-05  Robert Dewar  
3645
 
3646
        * sem_ch4.adb: Minor reformatting.
3647
        * a-direct.ads: Minor comment update.
3648
 
3649
2010-10-05  Javier Miranda  
3650
 
3651
        * sem_ch3.adb (Add_Internal_Interface_Entities): Removing code that is
3652
        no longer required after change in New_Overloaded_Entity.
3653
        * sem_ch6.adb (New_Overloaded_Entity): Code reorganization to isolate
3654
        the fragment of code that handles derivations of interface primitives.
3655
        Add missing dependence on global variable Inside_Freezing_Actions to
3656
        ensure the correct management of internal interface entities.
3657
        * sem_ch13.adb (Analyze_Freeze_Entity): Add missing increase/decrease
3658
        of the global variable Inside_Freezing_Actions to ensure that internal
3659
        interface entities are well handled by New_Overloaded_Entity.
3660
        * sem_disp.adb (Find_Primitive_Covering_Interface): Add documentation
3661
        and complete the algorithm to catch hidden primitives derived of
3662
        private type that covers the interface.
3663
        * sem_disp.ads (Find_Primitive_Covering_Interface): Add missing
3664
        documentation.
3665
 
3666
2010-10-05  Robert Dewar  
3667
 
3668
        * prj-util.adb, prj-util.ads, prj.ads, s-vxwext-rtp.adb, sem_ch4.adb,
3669
        sem_ch7.adb, sem_res.adb, sem_type.adb: Minor reformatting.
3670
        Minor code reorganization (use Nkind_In).
3671
 
3672
2010-10-05  Ed Schonberg  
3673
 
3674
        * sem_ch10.adb (Analyze_Task_Body_Stub): Diagnose duplicate stub for
3675
        task.
3676
 
3677
2010-10-05  Vincent Celier  
3678
 
3679
        * gnatbind.adb: If the main library file is not for a suitable main
3680
        program, change the error message.
3681
 
3682
2010-10-05  Vincent Celier  
3683
 
3684
        * a-direct.ads: Minor spelling error fixes in comments.
3685
        * gnat_rm.texi: Add three entries in "Implementation Defined
3686
        Characteristics" for the interpretations of the Form parameters in
3687
        Ada.Directories.
3688
 
3689
2010-10-05  Robert Dewar  
3690
 
3691
        * exp_ch3.adb, exp_ch5.adb, exp_disp.adb, exp_dist.adb, gnatlink.adb,
3692
        makeutl.adb, par-ch6.adb, prj-dect.adb, prj-env.adb, prj-env.ads,
3693
        prj-ext.adb, prj-nmsc.adb, prj-part.adb, prj-pp.ads: Minor code
3694
        reorganization.
3695
        Minor reformatting.
3696
 
3697
2010-10-05  Ed Schonberg  
3698
 
3699
        * sem_res.adb (Check_Parameterless_Call): If the prefix of 'Address is
3700
        an explicit dereference of an access to function, the prefix is not
3701
        interpreted as a parameterless call.
3702
 
3703
2010-10-05  Ed Schonberg  
3704
 
3705
        * exp_attr.adb: For 'Read and 'Write, use full view of base type if
3706
        private.
3707
 
3708
2010-10-05  Vincent Celier  
3709
 
3710
        * make.adb (Switches_Of): Allow wild cards in index of attributes
3711
        Switches.
3712
        * prj-util.adb (Value_Of): When Allow_Wildcards is True, use the index
3713
        of the associative array as a glob regular expression.
3714
        * prj-util.ads (Value_Of (Index, In_Array)): New Boolean parameter
3715
        Allow_Wildcards, defaulted to False.
3716
        (Value_Of (Name, Attribute_Or_Array_Name)): Ditto
3717
        * projects.texi: Document that attribute Switches () may
3718
        use wild cards in the index.
3719
 
3720
2010-10-05  Robert Dewar  
3721
 
3722
        * a-direct.adb, a-direct.ads, back_end.adb, checks.adb,
3723
        einfo.adb: Minor reformatting.
3724
        * debug.adb: Remove obsolete documentation for d.Z flag.
3725
 
3726
2010-10-05  Vincent Celier  
3727
 
3728
        * vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake
3729
        switch --create-info-file=.
3730
        * gnat_ugn.texi: Add documentation for new gnatmake switch
3731
        --source-info=
3732
 
3733
2010-10-05  Ed Schonberg  
3734
 
3735
        * sem_ch3.adb: Do not elaborate type definition if syntax error.
3736
 
3737
2010-10-05  Javier Miranda  
3738
 
3739
        * sprint.adb (Sprint_Node_Actual): Improve output of subprogram bodies
3740
        to generate the full-qualified names of its corresponding spec.
3741
        This facilitates locating the corresponing body when reading
3742
        the DG output.
3743
 
3744
2010-10-05  Thomas Quinot  
3745
 
3746
        * exp_dist.adb (Make_Helper_Function_Name): For a tagged type, use
3747
        canonical name without serial number only if the helper is becoming a
3748
        primitive of the type.
3749
 
3750
2010-10-05  Javier Miranda  
3751
 
3752
        * exp_disp.adb (Make_DT): Minor code reorganization.
3753
 
3754
2010-10-05  Ed Schonberg  
3755
 
3756
        * par-ch6.adb: improve recovery with extra paren in function spec.
3757
 
3758
2010-10-05  Quentin Ochem  
3759
 
3760
        * prj-tree.ads: Project_Path is now aliased.
3761
 
3762
2010-10-05  Thomas Quinot  
3763
 
3764
        * checks.adb: Minor reformatting.
3765
 
3766
2010-10-05  Eric Botcazou  
3767
 
3768
        * mlib-tgt-specific-mingw.adb (No_Argument_List): Delete.
3769
        (Shared_Libgcc): New aliased variable.
3770
        (Shared_Libgcc_Switch): New constant.
3771
        (Build_Dynamic_Library): Pass Shared_Libgcc_Switch to the compiler
3772
        * gcc-interface/Makefile.in (gnatlib-shared-win32): Pass -shared-libgcc
3773
        to the compiler.
3774
        * gcc-interface/Make-lang.in: Update dependencies.
3775
 
3776
2010-10-05  Vincent Celier  
3777
 
3778
        * prj-part.adb (Parse_Simple_Project): When checking if a child project
3779
        imports its parent project, also look in projects being extended by
3780
        imported projects.
3781
 
3782
2010-10-05  Eric Botcazou  
3783
 
3784
        * gnat_ugn.texi: Adjust instructions in G.10 Building DLLs with GNAT.
3785
 
3786
2010-10-05  Javier Miranda  
3787
 
3788
        * exp_cg.adb (Slot_Number): Add support to handle aliased entities.
3789
        (Generate_CG_Output): Switch -gnatd.Z is no longer needed to
3790
        activate this output.
3791
 
3792
2010-10-05  Arnaud Charlet  
3793
 
3794
        * back_end.adb (Call_Back_End): Generate an error message when scil
3795
        generation is enabled, and no scil back-end (by default) is available.
3796
 
3797
2010-10-05  Javier Miranda  
3798
 
3799
        * debug.adb: Update documentation since -gnatd.Z is no longer required
3800
        to generate the call-graph information.
3801
 
3802
2010-10-05  Javier Miranda  
3803
 
3804
        * exp_ch5.adb (Expand_Simple_Function_Return): Rewrite expansion of a
3805
        runtime access check by an equivalent expansion that causes
3806
        no problems in the VM backend. The original expansion was
3807
        not good for the VM backends because when Tagged_Type_Expansion
3808
        is disabled the attribute Access_Disp_Table is not available.
3809
 
3810
2010-10-05  Ed Schonberg  
3811
 
3812
        * sem_type.adb (Covers): In a dispatching context, T1 covers T2 if T2
3813
        is class-wide and T1 is its specific type.
3814
 
3815
2010-10-05  Ed Schonberg  
3816
 
3817
        * einfo.adb: Add guard to Is_String_Type to prevent cascaded errors.
3818
 
3819
2010-10-05  Vincent Celier  
3820
 
3821
        * back_end.ads: Minor spelling error correction.
3822
 
3823
2010-10-05  Arnaud Charlet  
3824
 
3825
        * switch-c.adb, gnat1drv.adb (Scan_Front_End_Switches): Disable
3826
        warnings when -gnatC is specified here so that warnings can be
3827
        re-enabled  explicitly.
3828
        (Adjust_Global_Switches): No longer suppress warnings.
3829
 
3830
2010-10-05  Vincent Celier  
3831
 
3832
        * makeutl.adb: Minor reformatting.
3833
 
3834
2010-10-05  Ed Schonberg  
3835
 
3836
        * sem_ch4.adb: add guard in Analyze_One_Call to prevent crash when a
3837
        non-discrete type appears as an actual in a call.
3838
 
3839
2010-10-05  Vincent Celier  
3840
 
3841
        * make.adb (Scan_Make_Arg): Take into account new switch
3842
        --source-info=file.
3843
        * makeusg.adb: Add line for new switch --source-info=file.
3844
        * makeutl.ads (Source_Info_Option): New constant String for new builder
3845
        switch.
3846
        * prj-conf.adb: Put subprograms in alphabetical order
3847
        (Process_Project_And_Apply_Config): Read/write an eventual source info
3848
        file, if necessary.
3849
        * prj-nmsc.adb (Look_For_Sources.Get_Sources_From_Source_Info): New
3850
        procedure.
3851
        (Look_For_Sources): If a source info file was successfully read, get
3852
        the source data from the data read from the source info file.
3853
        * prj-util.adb (Source_Info_Table): New table
3854
        (Source_Info_Project_HTable): New hash table
3855
        (Create): New procedure
3856
        (Put (File), Put_Line): New procedures
3857
        (Write_Source_Info_File): New procedure
3858
        (Read_Source_Info_File): New procedure
3859
        (Initialize): New procedure
3860
        (Source_Info_Of): New procedure
3861
        (Next): New procedure
3862
        (Close): When file is an out file, fail if the buffer cannot be written
3863
        or if the file cannot be close successfully.
3864
        (Get_Line): Fail if file is an out file
3865
        * prj-util.ads (Create): New procedure
3866
        (Put (File), Put_Line): New procedures
3867
        (Write_Source_Info_File): New procedure
3868
        (Read_Source_Info_File): New procedure
3869
        (Source_Info_Data): New record type
3870
        (Source_Info_Iterator): New private type
3871
        (Initialize): New procedure
3872
        (Source_Info_Of): New procedure
3873
        (Next): New procedure
3874
        * prj.ads (Project_Tree_Data): New components Source_Info_File_Name and
3875
        Source_Info_File_Exists.
3876
 
3877
2010-10-05  Ed Schonberg  
3878
 
3879
        * exp_ch4.adb: Fix typo.
3880
 
3881
2010-10-05  Thomas Quinot  
3882
 
3883
        * lib-writ.adb: Minor reformatting.
3884
 
3885
2010-10-05  Javier Miranda  
3886
 
3887
        * sem_ch3.adb (Access_Definition): Remove useless code.
3888
 
3889
2010-10-05  Emmanuel Briot  
3890
 
3891
        * prj-env.adb, prj-env.ads (Set_Path): New subprogram.
3892
        (Deep_Copy): Removed, not used.
3893
 
3894
2010-10-05  Javier Miranda  
3895
 
3896
        * sem_ch3.adb (Add_Internal_Interface_Entities): Code reorganization:
3897
        move code that searches in the list of primitives of a tagged type for
3898
        the entity that will be overridden by user-defined routines.
3899
        * sem_disp.adb (Find_Primitive_Covering_Interface): Move here code
3900
        previously located in routine Add_Internal_Interface_Entities.
3901
        * sem_disp.ads (Find_Primitive_Covering_Interface): Update docs.
3902
        * sem_ch6.adb (New_Overloaded_Entity): Add missing check on
3903
        availability of attribute Alias.
3904
 
3905
2010-10-05  Ed Falis  
3906
 
3907
        * s-taprop-vxworks.adb, s-osinte-vxworks.adb, s-osinte-vxworks.ads,
3908
        s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.adb, s-vxwext-rtp.ads:
3909
        Move definition of intContext to System.OS_Interface.
3910
        Add necessary variants in System.VxWorks.Extensions.
3911
 
3912
2010-10-05  Doug Rupp  
3913
 
3914
        * s-asthan-vms-alpha.adb: On VMS, a task using
3915
        pragma AST_Entry exhibits a memory leak when the task terminates
3916
        because the vector allocated for the AST interface is not freed. Fixed
3917
        by making the vector a controlled type.
3918
 
3919
2010-10-05  Emmanuel Briot  
3920
 
3921
        * prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in
3922
        a "**" pattern properly exists, and report an error otherwise.
3923
 
3924
2010-10-05  Emmanuel Briot  
3925
 
3926
        * prj-env.ads: Use GNAT.OS_Lib rather than System.OS_Lib.
3927
 
3928
2010-10-05  Emmanuel Briot  
3929
 
3930
        * prj-nmsc.adb, prj-err.adb (Expand_Subdirectory_Pattern): New
3931
        subprogram.
3932
        Extract some code from Get_Directories, to share with the handling
3933
        of aggregate projects (for the Project_Files attributes)
3934
 
3935
2010-10-05  Emmanuel Briot  
3936
 
3937
        * gnatcmd.adb, prj-proc.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
3938
        switch-m.adb, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-env.adb,
3939
        prj-env.ads, prj-tree.adb, prj-tree.ads (Project_Search_Path): New
3940
        type.
3941
 
3942
2010-10-05  Eric Botcazou  
3943
 
3944
        * exp_ch5.adb (Make_Field_Expr): Revert previous change (removed).
3945
 
3946
2010-10-05  Emmanuel Briot  
3947
 
3948
        * prj-dect.adb, prj-nmsc.adb, prj-attr.adb, snames.ads-tmpl
3949
        (Aggregate projects): added support for parsing aggregate projects.
3950
        In particular, check the presence and value of the new attributes
3951
        related to aggregate projects, ie Project_Files, Project_Path
3952
        and External.
3953
        (Check_Attribute_Allowed, Check_Package_Allowed,
3954
        Rename_Obsolescent_Attributes): new subprogram, extracting code
3955
        from existing subprogram to keep their sizes smaller.
3956
        (Check_Aggregate_Project, Check_Abstract_Project,
3957
        Check_Missing_Sources): new subprograms
3958
        (Check): remove comments that duplicated either the name of the
3959
        following subprogram call, or the comment on that subprogram.
3960
        * prj-part.adb (Check_Extending_All_Imports): New subprogram, extracted
3961
        from Parse_Single_Project.
3962
        (Check_Aggregate_Imports): new subprogram.
3963
 
3964
2010-10-05  Vincent Celier  
3965
 
3966
        * make.adb (Check): When compiling with -gnatc, recompile if the ALI
3967
        file has not been generated for the current source, for example if it
3968
        has been generated for the spec, but we are compiling the body.
3969
 
3970
2010-10-05  Bob Duff  
3971
 
3972
        * xgnatugn.adb: Remove unused procedure.
3973
 
3974
2010-10-04  Vincent Celier  
3975
 
3976
        * a-direct.adb (Copy_File): Interpret the Form parameter and call
3977
        System.OS_Lib.Copy_File to do the work accordingly. Raise Use_Error if
3978
        the Form parameter contains an incorrect value for field preserve= or
3979
        mode=.
3980
        * a-direct.ads (Create_Directory, Create_Path): Indicate that the Form
3981
        parameter is ignored.
3982
        (Copy_File): Indicate the interpretation of the Form parameter.
3983
 
3984
2010-10-04  Vincent Celier  
3985
 
3986
        * make.adb (Gnatmake): When there are no foreign languages declared and
3987
        a main in attribute Main of the main project does not exist or is a
3988
        source of another project, fail immediately before attempting
3989
        compilation.
3990
 
3991
2010-10-04  Javier Miranda  
3992
 
3993
        * exp_disp.ads (Convert_Tag_To_Interface): New function which must be
3994
        used to convert a node referencing a tag to a class-wide interface
3995
        type.
3996
        * exp_disp.adb (Convert_Tag_To_Interface): New function.
3997
        (Expand_Interface_Conversion): Replace invocation of
3998
        Unchecked_Conversion by new function Convert_Tag_To_Interface.
3999
        (Write_DT): Add support for null primitives.
4000
        * exp_ch3.adb (Expand_N_Object_Declaration): For tagged type objects,
4001
        cleanup code that handles interface conversions and avoid unchecked
4002
        conversion of referenced tag components.
4003
        * exp_ch5.adb (Expand_N_Assignment_Statement): Code cleanup. Avoid
4004
        unrequired conversions when generating a dispatching call to _assign.
4005
        * sprint.adb (Write_Itype): Fix wrong output of not null access itypes.
4006
 
4007
2010-10-04  Ed Schonberg  
4008
 
4009
        * exp_ch4.adb (Expand_N_Op_Not): Handle properly both operands when the
4010
        parent is a binary boolean operation and the operand is an unpacked
4011
        array.
4012
        (Build_Boolean_Array_Proc_Call): If the operands are both negations,
4013
        the operands of the rewritten node are the operands of the negations,
4014
        not the negations themselves.
4015
 
4016
2010-10-04  Robert Dewar  
4017
 
4018
        * sem_ch13.adb (Set_Biased): New procedure, now used throughout, adds
4019
        name of entity to biased warning msg.
4020
        (Analyze_Enumeration_Representation_Clause): Remove attempt to use
4021
        biased rep (wrong and never worked anyway).
4022
 
4023
2010-10-04  Arnaud Charlet  
4024
 
4025
        * sem_elab.adb: Minor reformatting.
4026
 
4027
2010-10-04  Ed Schonberg  
4028
 
4029
        * exp_ch4.adb (Expand_N_Null): Handle properly the case of a subtype of
4030
        an access_to_protected subprogram type, and convert null value into
4031
        corresponding aggregate.
4032
 
4033
2010-10-04  Eric Botcazou  
4034
 
4035
        * gnat_ugn.texi: Clarify first point of 7.1.5 about pragma Inline.
4036
 
4037
2010-10-04  Eric Botcazou  
4038
 
4039
        * make.adb (Scan_Make_Arg): Pass -Oxxx switches to the linker as well.
4040
        * gnatlink.adb (Gnatlink): Filter out -Oxxx switches for CLI, RTX and
4041
        AAMP.
4042
 
4043
2010-10-04  Eric Botcazou  
4044
 
4045
        * sem_ch4.adb (Analyze_Indexed_Component_Form): Remove redundant test
4046
        for N_Operator_Symbol.
4047
        (Indicate_Name_And_Type): Likewise.
4048
        * sem_ch8.adb (Analyze_Subprogram_Renaming): Likewise.
4049
        * sem_res.adb (Resolve): Likewise.
4050
        * sem_type.adb (Add_One_Interp): Likewise.
4051
        (Disambiguate): Likewise.
4052
 
4053
2010-10-04  Vincent Celier  
4054
 
4055
        * osint.adb (Read_Library_Info_From_Full): If object timestamp is less
4056
        than ALI file timestamp, return null.
4057
 
4058
2010-10-04  Vincent Celier  
4059
 
4060
        * prj-makr.adb (Finalize): Invoke Pretty_Print with Max_Length of 79.
4061
        * prj-pp.adb (Pretty_Print): New parameter Max_Line_Length, that
4062
        replaces global constant with the same name. When a line is too long,
4063
        indent properly the next continuation line.
4064
        * prj-pp.ads (Pretty_Print): New parameter Max_Line_Length with a range
4065
        from 50 to 255, defaulted to 255, to indicate the maximum length of
4066
        lines in the project file.
4067
 
4068
2010-10-04  Eric Botcazou  
4069
 
4070
        * sem_ch7.adb (Analyze_Package_Body_Helper) : New
4071
        Check_Subprogram_Ref function and Check_Subprogram_Refs instantiation
4072
        of Traverse_Func on it to look for subprogram references in a body.
4073
        Call Check_Subprogram_Refs on the body of inlined subprograms at the
4074
        outer level and keep clearing the Is_Public flag of subprograms as long
4075
        as it returns OK.  Do not look at anything else than subprograms once
4076
        an inlined subprogram has been seen.
4077
 
4078
2010-10-04  Javier Miranda  
4079
 
4080
        * exp_cg.adb (Expand_N_Assignment_Statement): Restore tag check when
4081
        the target object is an interface.
4082
        * sem_disp.adb (Propagate_Tag): If the controlling argument is an
4083
        interface type then we generate an implicit conversion to force
4084
        displacement of the pointer to the object to reference the secondary
4085
        dispatch table associated with the interface.
4086
 
4087
2010-10-04  Robert Dewar  
4088
 
4089
        * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Set
4090
        Enumeration_Rep_Expr to point to the literal, not the identifier.
4091
        (Analyze_Enumeration_Representation_Clause): Improve error message for
4092
        size too small for enum rep value
4093
        (Analyze_Enumeration_Representation_Clause): Fix size test to use
4094
        proper size (RM_Size, not Esize).
4095
 
4096
2010-10-04  Robert Dewar  
4097
 
4098
        * s-taprop-vxworks.adb, sem_res.adb: Minor reformatting.
4099
 
4100
2010-10-04  Javier Miranda  
4101
 
4102
        * exp_cg.adb (Write_Call_Info): Code clean up.
4103
 
4104
2010-10-04  Arnaud Charlet  
4105
 
4106
        * s-taprop-mingw.adb (Create_Task): Initialize Thread_Id field to 0.
4107
 
4108
2010-10-04  Robert Dewar  
4109
 
4110
        * exp_cg.adb: Minor code reorganization
4111
        Minor reformatting.
4112
        * exp_ch5.adb, prj-nmsc.adb: Minor reformatting.
4113
 
4114
2010-10-04  Bob Duff  
4115
 
4116
        * sem_res.adb (Resolve_Type_Conversion): If a type conversion is needed
4117
        to make a qualified expression into a name (syntax-wise), then do not
4118
        consider it redundant.
4119
 
4120
2010-10-04  Thomas Quinot  
4121
 
4122
        * sem_warn.ads: Fix typo.
4123
 
4124
2010-10-04  Javier Miranda  
4125
 
4126
        * exp_cg.adb (Is_Predefined_Dispatching_Operation): Handle suffix in
4127
        TSS names.
4128
        (Write_Call_Info): Add missing support for renamed primitives.
4129
 
4130
2010-10-04  Thomas Quinot  
4131
 
4132
        * exp_ch5.adb (Make_Field_Expr): New subprogram, to factor duplicated
4133
        code between Make_Component_List_Assign and Make_Field_Assign.
4134
 
4135
2010-10-04  Vincent Celier  
4136
 
4137
        * prj-nmsc.adb (Get_Directories): For non extending projects that
4138
        declare that they have no sources, do not create a non existing object
4139
        or exec directory if builder switch -p is used.
4140
 
4141
2010-10-04  Sergey Rybin  
4142
 
4143
        * gnat_ugn.texi (gnatcheck): Change the description of the report file
4144
        format.
4145
 
4146
2010-10-04  Ed Falis  
4147
 
4148
        * s-taprop-vxworks.adb (Is_Task_Context): Import VxWorks intContext to
4149
        determine whether Set_True is called from a task or an ISR.
4150
        (Set_True): test for being in a task context before trying to
4151
        dereference Defer_Abort or Undefer_Abort.
4152
 
4153
2010-10-04  Robert Dewar  
4154
 
4155
        * sem_res.adb, sinput-l.adb: Minor reformatting.
4156
 
4157
2010-10-04  Hristian Kirtchev  
4158
 
4159
        * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate a tag
4160
        check when the target object is an interface since the expression of
4161
        the right hand side must only cover the interface.
4162
 
4163
2010-10-04  Vincent Celier  
4164
 
4165
        * frontend.adb: Set Lib.Parsing_Main_Extended_Source to True before
4166
        loading the main source, so that if it is preprocessed and -gnateG is
4167
        used, the preprocessed file is written.
4168
        * lib.ads (Analysing_Subunit_Of_Main): New global variable to indicate
4169
        if a subunit is from the main unit when it is loaded.
4170
        * sem_ch10.adb (Analyze_Proper_Body): Set Lib.Analysing_Subunit_Of_Main
4171
        to True before loading a subunit.
4172
        * sem_ch12.adb (Copy_Generic_Node): Set Lib.Analysing_Subunit_Of_Main
4173
        to True when the main is a generic unit before loading one of its
4174
        subunits.
4175
        * sinput-l.adb (Load_File): If -gnateG is used, write the preprocessed
4176
        file only for the main unit (spec, body and subunits).
4177
 
4178
2010-10-04  Vincent Celier  
4179
 
4180
        * sinput-l.adb (Load_File): Do not fail when switch -gnateG is
4181
        specified and the processed file cannot be written. Just issue a
4182
        warning and continue.
4183
 
4184
2010-10-04  Thomas Quinot  
4185
 
4186
        * sem_res.adb: Minor reformatting.
4187
 
4188
2010-10-04  Ed Schonberg  
4189
 
4190
        * sem_ch8.adb (Analyze_Subprogram_Renaming): If the renamed operation
4191
        is an overridden inherited operation, the desired operation is the
4192
        overriding one, which is the alias of the visible one.
4193
 
4194
2010-10-04  Ed Schonberg  
4195
 
4196
        * sem_ch6.adb (Find_Corresponding_Spec): Check that the wrapper body is
4197
        present before deleting from the tree, when an inherited function with
4198
        a controlling result that returns a null extension is overridden by a
4199
        later declaration or body.
4200
 
4201
2010-10-04  Gary Dismukes  
4202
 
4203
        * checks.adb: Update comment.
4204
 
4205
2010-09-30  Joseph Myers  
4206
 
4207
        * gcc-interface/misc.c (optimize, optimize_size): Undefine as macros
4208
        and define as variables.
4209
        (gnat_post_options): Set optimize and optimize_size variables.
4210
 
4211
2010-09-29  Joel Sherrill  
4212
 
4213
        * g-socket.adb: Move pragma to disable warnings in case multiple errnos
4214
        are not defined by target.
4215
 
4216
2010-09-29  Eric Botcazou  
4217
 
4218
        * gcc-interface/utils.c (handle_leaf_attribute): Fix long line.
4219
 
4220
2010-09-28  Richard Henderson  
4221
 
4222
        * gcc-interface/misc.c (gnat_eh_personality): Use
4223
        targetm.except_unwind_info.
4224
 
4225
2010-09-28  Jan Hubicka  
4226
 
4227
        * gcc-interface/utils.c (handle_leaf_attribute): New function.
4228
        (gnat_internal_attribute_tables): Add leaf.
4229
 
4230
2010-09-22  Joseph Myers  
4231
 
4232
        * gcc-interface/lang.opt (-all-warnings, -include-barrier,
4233
        -include-directory, -include-directory=, -no-standard-includes,
4234
        -no-standard-libraries): New.
4235
 
4236
2010-09-20  Eric Botcazou  
4237
 
4238
        * gcc-interface/decl.c (gnat_to_gnu_entity): Replace calls to
4239
        build_array_type with calls to build_nonshared_array_type.
4240
        (substitute_in_type): Likewise.
4241
        * gcc-interface/misc.c (LANG_HOOKS_HASH_TYPES): Delete.
4242
        (LANG_HOOKS_TYPE_HASH_EQ): Define.
4243
        (gnat_post_options): Add 'static' keyword.
4244
        (gnat_type_hash_eq): New static function.
4245
        * gcc-interface/utils.c (fntype_same_flags_p): New function.
4246
        (create_subprog_type): Call it.
4247
        (create_index_type): Call build_nonshared_range_type and tidy up.
4248
        (create_range_type): Likewise.
4249
        * gcc-interface/gigi.h (fntype_same_flags_p): Declare.
4250
 
4251
2010-09-19  Eric Botcazou  
4252
 
4253
        * gcc-interface/trans.c (gnat_pushdecl): Do not do anything special
4254
        for PARM_DECLs.
4255
        (end_subprog_body): If the body is a BIND_EXPR, make its associated
4256
        block the top-level one.
4257
        (build_function_stub): Build a statement group for the whole function.
4258
        * gcc-interface/utils.c (Subprogram_Body_to_gnu): If copy-in/copy-out
4259
        is used, create the enclosing block early and process first the OUT
4260
        parameters.
4261
 
4262
2010-09-19  Eric Botcazou  
4263
 
4264
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Do
4265
        not generate debug info for individual enumerators.
4266
 
4267
2010-09-19  Eric Botcazou  
4268
 
4269
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Use record
4270
        type instead of enumeral type as the dummy type built for the template
4271
        type of fat pointers.
4272
 
4273
2010-09-19  Eric Botcazou  
4274
 
4275
        * gcc-interface/gigi.h (get_elaboration_procedure): Declare.
4276
        (gnat_zaplevel): Likewise.
4277
        * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force global
4278
        binding level for an external constant.
4279
        : Force the local context and create a fake scope before
4280
        translating the defining expression of an external constant.
4281
        : Treat external constants at the global level explicitly for
4282
        renaming declarations.
4283
        (elaborate_expression_1): Force the variable to be static if the
4284
        expression is global.
4285
        * gcc-interface/trans.c (get_elaboration_procedure): New function.
4286
        (call_to_gnu): Use it.
4287
        (gnat_to_gnu): Likewise.
4288
        : Do not test Is_Public to force the creation of
4289
        an initialization variable.
4290
        (add_decl_expr): Discard the statement if the declaration is external.
4291
        * gcc-interface/utils.c (gnat_pushdecl): Do not put the declaration in
4292
        the current block if it is external.
4293
        (create_var_decl_1): Do not test Is_Public to set TREE_STATIC.
4294
        (gnat_zaplevel): New global function.
4295
 
4296
2010-09-19  Eric Botcazou  
4297
 
4298
        * gcc-interface/decl.c (gnat_to_gnu_entity): Explicitly test _LEVEL
4299
        variables against zero in all cases.
4300
        (rest_of_type_decl_compilation): Likewise.
4301
        * gcc-interface/trans.c (gigi): Pass properly typed constants to
4302
        create_var_decl.
4303
        (call_to_gnu): Fix formatting.
4304
        (Handled_Sequence_Of_Statements_to_gnu): Likewise.
4305
        (Exception_Handler_to_gnu_zcx): Likewise.
4306
        (gnat_to_gnu) : Short-circuit handling of
4307
        constant
4308
        expressions in presence of a freeze node.
4309
 
4310
2010-09-19  Eric Botcazou  
4311
 
4312
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Look into
4313
        expressions for external constants that are aggregates.
4314
        * gcc-interface/utils2.c (build_simple_component_ref): If the field
4315
        is an inherited component in an extension, look through the extension.
4316
 
4317
2010-09-10  Vincent Celier  
4318
 
4319
        * projects.texi: Add documentation for package extensions
4320
        Add some documentation for attributes Leading_Library_Options and
4321
        Linker'Leading_Switches.
4322
 
4323
2010-09-10  Ed Schonberg  
4324
 
4325
        * exp_util.adb (Expand_Subtype_From_Expression): When expansion is
4326
        disabled, compute subtype for all string types.
4327
 
4328
2010-09-10  Robert Dewar  
4329
 
4330
        * gnat_ugn.texi: Add documentation for -gnatw.s/S
4331
        * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
4332
        Component_Size): Implement warning on overriden size clause.
4333
        (Analyze_Record_Representation_Clause): Implement warning on overriden
4334
        size clause.
4335
        * sem_warn.ads, sem_warn.adb (Warn_On_Overridden_Size): New flag
4336
        (-gnatw.s/S).
4337
        * ug_words: Add entries for -gnatw.s/S.
4338
        * vms_data.ads, usage.adb: Add line for -gnatw.s/-gnatw.S.
4339
        * gcc-interface/Make-lang.in: Update dependencies.
4340
 
4341
2010-09-10  Vincent Celier  
4342
 
4343
        * prj-dect.adb (Parse_Package_Declaration): Allow a package to extend
4344
        a package with the same name from an imported or extended project.
4345
        * prj-proc.adb (Process_Declarative_Items): Process package extensions
4346
 
4347
2010-09-10  Bob Duff  
4348
 
4349
        * exp_ch6.adb (Expand_Call): Do not perform a null_exclusion check on
4350
        'out' parameters.
4351
 
4352
2010-09-10  Robert Dewar  
4353
 
4354
        * sem.adb: Minor reformatting.
4355
 
4356
2010-09-10  Bob Duff  
4357
 
4358
        * s-os_lib.ads, g-expect.ads: Add comments.
4359
 
4360
2010-09-10  Robert Dewar  
4361
 
4362
        * exp_ch5.adb: Minor reformatting.
4363
 
4364
2010-09-10  Thomas Quinot  
4365
 
4366
        * scos.ads: Add comments.
4367
 
4368
2010-09-10  Vincent Celier  
4369
 
4370
        * gnatcmd.adb (Get_Closure): Remove useless invocation of Close.
4371
 
4372
2010-09-10  Hristian Kirtchev  
4373
 
4374
        * exp_ch7.adb, exp_ch6.adb (Expand_Call): Establish a transient scope
4375
        for a controlled build-in-place function call which appears in an
4376
        anonymous context. The transient scope ensures that the intermediate
4377
        function result is cleaned up after the master is left.
4378
        (Make_Build_In_Place_Call_In_Anonymous_Context): Remove the creation
4379
        of the transient scope. This is now done in Exand_Call which covers
4380
        additional cases other than secondary stack release.
4381
 
4382
2010-09-10  Arnaud Charlet  
4383
 
4384
        * sem.adb (Do_Unit_And_Dependents): Add guard.
4385
 
4386
2010-09-10  Robert Dewar  
4387
 
4388
        * exp_ch5.adb: Update comments.
4389
        * exp_dist.adb: Minor reformatting.
4390
 
4391
2010-09-10  Robert Dewar  
4392
 
4393
        * sem_ch13.adb (Check_Record_Representation_Clause): Implement record
4394
        gap warnings.
4395
        * sem_warn.ads, sem_warn.adb (Warn_On_Record_Holes): New warning flag.
4396
        * usage.adb: Add lines for -gnatw.h/H
4397
        * gnat_ugn.texi: Add documentation for J519-010
4398
        Warn on record holes/gaps
4399
        * ug_words: Add entries for -gnatw.h/-gnatw.H
4400
        * vms_data.ads: Add entries for [NO]AVOIDGAPS
4401
 
4402
2010-09-10  Gary Dismukes  
4403
 
4404
        * sem_ch6.adb: Update comment.
4405
 
4406
2010-09-10  Ed Schonberg  
4407
 
4408
        * sem_ch3.adb (Build_Derived_Private_Type): Mark generated declaration
4409
        of full view analyzed after analyzing the corresponding record
4410
        declaration, to prevent spurious name conflicts with original
4411
        declaration.
4412
 
4413
2010-09-10  Jerome Lambourg  
4414
 
4415
        * sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the VM case,
4416
        just issue a warning, but continue with the normal processing.
4417
 
4418
2010-09-10  Robert Dewar  
4419
 
4420
        * exp_attr.adb, prj-nmsc.adb, sem_ch4.adb, sem_res.adb: Minor
4421
        reformatting.
4422
 
4423
2010-09-10  Thomas Quinot  
4424
 
4425
        * exp_dist.adb (Build_From_Any_Call, Build_To_Any_Call,
4426
        Build_TypeCode_Call): For a subtype inserted for the expansion of a
4427
        generic actual type, go to the underlying type of the original actual
4428
        type.
4429
 
4430
2010-09-10  Ed Schonberg  
4431
 
4432
        * exp_ch5.adb (Expand_Assign_Array_Loop): In CodePeer mode, place a
4433
        guard around the increment statement, to prevent an off-by-one-value
4434
        on the last iteration.
4435
 
4436
2010-09-10  Vincent Celier  
4437
 
4438
        * sem_aggr.adb, exp_prag.adb, sem_ch3.adb, exp_attr.adb,
4439
        sem_res.adb, sem_attr.adb, sem_elab.adb, sem_ch4.adb, exp_disp.adb,
4440
        exp_aggr.adb, exp_dist.adb: Change all mentions of "at run-time" to
4441
        "at run time" in comments and error/warning messages.
4442
 
4443
2010-09-10  Ed Schonberg  
4444
 
4445
        * exp_cg.adb: Handle properly bodies without specs.
4446
 
4447
2010-09-10  Emmanuel Briot  
4448
 
4449
        * prj-nmsc.adb (Find_Source_Dirs): When a source directory is not
4450
        present, and the user requested to either ignore this or display a
4451
        warning (as opposed to an error), we still need to register the
4452
        directory.
4453
 
4454
2010-09-10  Robert Dewar  
4455
 
4456
        * errout.adb: Remove tests of Parsing_Main_Subunit, since this test is
4457
        now done in In_Extended_Main_Source_Unit.
4458
        * errout.ads (Compiler_State[_Type]): Moved from Errout to Lib
4459
        (Parsing_Main_Subunit): Moved from Errout to Lib and renamed
4460
        as Parsing_Main_Extended_Source.
4461
        * frontend.adb: Set Parsing_Main_Extended_Source True for parsing main
4462
        unit.
4463
        * lib-load.adb (Load_Unit): Add PMES parameter
4464
        Set PMES appropriately in all calls to Load_Unit
4465
        * lib-load.ads (Load_Unit): Add PMES parameter
4466
        * lib.adb (In_Extended_Main_Source_Unit): When called with
4467
        Compiler_State set to Parsing, test new flag
4468
        Compiling_Main_Extended_Source.
4469
        * lib.ads (Compiler_State[_Type]): Moved from Errout to Lib
4470
        (Parsing_Main_Subunit): Moved from Errout to Lib and renamed
4471
        as Parsing_Main_Extended_Source
4472
        * par-load.adb (Load): Set PMES properly in call to Load_Unit
4473
 
4474
2010-09-10  Ed Schonberg  
4475
 
4476
        * exp_cg.adb: Use proper entity to handle overloads.
4477
        * sem_res.adb (Check_Parameterless_Call): An operator node without
4478
        actuals cannot be a call, and must be treated as a string.
4479
 
4480
2010-09-10  Robert Dewar  
4481
 
4482
        * frontend.adb: Minor reformatting.
4483
 
4484
2010-09-10  Robert Dewar  
4485
 
4486
        * par-ch4.adb (P_Conditional_Expression): Use P_Condition for condition
4487
        * par-ch5.adb (P_Condition): Move from body to spec
4488
        * par.adb (Ch5.P_Condition): Move from body to spec
4489
 
4490
2010-09-10  Ed Schonberg  
4491
 
4492
        * exp_cg.adb (Write_Call_Info): If a type that has been registered in
4493
        the call table is private, use its full view to generate information
4494
        on its operations.
4495
 
4496
2010-09-10  Jose Ruiz  
4497
 
4498
        * exp_cg.adb (Is_Predefined_Dispatching_Operation): When trying the
4499
        pattern matching to detect predefined primitive operations take into
4500
        account that there can be an extra suffix related to body-nested
4501
        package entities.
4502
 
4503
2010-09-10  Ed Schonberg  
4504
 
4505
        * s-pooglo.ads: Add overriding indicators.
4506
 
4507
2010-09-10  Vincent Celier  
4508
 
4509
        * vms_data.ads: Add new GNAT BIND qualifiers /32_MALLOC (for -H32) and
4510
        /64_MALLOC (for -H64).
4511
 
4512
2010-09-10  Robert Dewar  
4513
 
4514
        * errout.adb (Error_Msg_Internal): Test Parsing_Main_Subunit flag
4515
        (Error_Msg_NW): Test Parsing_Main_Subunit flag
4516
        * errout.ads (Parsing_Main_Subunit): New flag
4517
        * lib-load.adb (Load_Unit): Set Parsing_Main_Subunit flag
4518
        * par-ch6.adb: Minor style fix (remove redandant parentheses)
4519
        * par-ch9.adb: Minor style fix (remove redundant parens)
4520
        * par-load.adb: (Load): Deal with setting Parsing_Main_Subunit
4521
 
4522
2010-09-10  Vincent Celier  
4523
 
4524
        * make.adb (Create_Binder_Mapping_File): Remove procedure. Replaced by
4525
        function of the same name in Makeutl.
4526
        (Gnatmake): Call function Create_Binder_Mapping_File in Makeutl, instead
4527
        of removed procedure when creating a binder mapping file.
4528
        * makeutl.adb (Create_Binder_Mapping_File): New function. Was a
4529
        procedure in Make.
4530
        * makeutl.ads (Create_Binder_Mapping_File): New function
4531
 
4532
2010-09-10  Jose Ruiz  
4533
 
4534
        * exp_cg.adb (Is_Predefined_Dispatching_Operation): Add the "__" scope
4535
        separator when trying the pattern matching to detect predefined
4536
        primitive operations.
4537
 
4538
2010-09-10  Robert Dewar  
4539
 
4540
        * bindgen.adb, atree.adb: Minor reformatting.
4541
 
4542
2010-09-10  Ben Brosgol  
4543
 
4544
        * ug_words, gnat_ugn.texi: Revised "Transitioning to 64-Bit GNAT for
4545
        OpenVMS" section.
4546
 
4547
2010-09-10  Doug Rupp  
4548
 
4549
        * bindgen.adb: Minor comment fix for -H switch.
4550
 
4551
2010-09-10  Ed Schonberg  
4552
 
4553
        * exp_cg.adb (Register_CG_Node): Determine enclosing subprogram or
4554
        library unit now, by traversing tree before context is expanded.
4555
        (Write_Call_Info): Use enclosing unit name directly.
4556
        * exp_ch9.adb (Expand_N_Accept_Statement): Attach generated block to
4557
        tree earlier, to ensure that subsequent declarations are analyzed in a
4558
        connected structure.
4559
        * exp_intr.adb (Expand_Unc_Deallocation): Ditto for generated statement
4560
        list.
4561
 
4562
2010-09-10  Robert Dewar  
4563
 
4564
        * symbols-processing-vms-alpha.adb: Minor reformatting.
4565
 
4566
2010-09-10  Jerome Lambourg  
4567
 
4568
        * bindgen.adb (Gen_Adainit_Ada): In .NET, don't call
4569
        __gnat_install_handler in case the binder is called with -n.
4570
 
4571
2010-09-10  Ed Schonberg  
4572
 
4573
        * exp_ch6.adb (Make_Build_In_Place_In_Object_Declaration): Use proper
4574
        sloc for renaming declaration and set Comes_From_Source properly to
4575
        ensure that references are properly generated for an object declaration
4576
        that is built in place.
4577
 
4578
2010-09-10  Tristan Gingold  
4579
 
4580
        * symbols-processing-vms-alpha.adb: Allow gnatsym to work as a cross
4581
        tool.
4582
        * gcc-interface/Make-lang.in: Install gnatsym when cross compiling.
4583
        * gcc-interface/Makefile.in: gnat.hlp is now generated by
4584
        Make-generated.in
4585
 
4586
2010-09-10  Bob Duff  
4587
 
4588
        * exp_pakd.adb (Expand_Bit_Packed_Element_Set): For things like ""X(J)
4589
        := ...;", remove side effects from the right-hand side, because they
4590
        might affect the value of the left-hand side, but the left-hand side is
4591
        first READ (so we can do shifting and masking) and then written back,
4592
        which would cause the side effects to be incorrectly overwritten.
4593
 
4594
2010-09-10  Robert Dewar  
4595
 
4596
        * sem_ch4.adb: Minor reformatting.
4597
        * exp_ch6.adb: Add comment on testing limited on full type
4598
        * gnat_rm.texi: Add documentation on Pure_Function.
4599
 
4600
2010-09-10  Vincent Celier  
4601
 
4602
        * prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name
4603
        as a source of another project and of another language.
4604
 
4605
2010-09-10  Robert Dewar  
4606
 
4607
        * exp_ch3.adb (Expand_N_Object_Declaration): Defend against previous
4608
        errors.
4609
        * freeze.adb (Check_Unsigned_Type): Ditto.
4610
        * sem_aggr.adb (Resolve_Aggr_Expr): Ditto.
4611
        * sem_ch3.adb (Convert_Scalar_Bounds): Ditto.
4612
        (Set_Scalar_Range_For_Subtype): Ditto.
4613
        * sem_eval.adb (Subtypes_Statically_Match): Ditto.
4614
 
4615
2010-09-10  Robert Dewar  
4616
 
4617
        * repinfo.adb (List_Type_Info): List Small and Range for fixed-point
4618
        types.
4619
        * sprint.adb (Write_Ureal_With_Col_Check_Sloc): Use square brackets
4620
        rather than parens for fixed constants.
4621
        * sprint.ads: Use square brackets rather than parens for fixed constants
4622
        * urealp.adb (UR_Write): Use square brackets rather than parens
4623
        (UR_Write): Add Brackets argument
4624
        (UR_Write): Add many more special cases to output literals
4625
        * urealp.ads (UR_Write): Use square brackets rather than parens
4626
        (UR_Write): Add Brackets argument
4627
 
4628
2010-09-10  Robert Dewar  
4629
 
4630
        * sem_ch4.adb: Minor reformatting.
4631
 
4632
2010-09-10  Richard Guenther  
4633
 
4634
        * gcc-interface/utils.c (create_index_type): Use build_range_type.
4635
 
4636
2010-09-10  Arnaud Charlet  
4637
 
4638
        * vms_cmds.ads: New.
4639
 
4640
2010-09-10  Eric Botcazou  
4641
 
4642
        * exp_dbug.ads: Mention enhanced encoding for array types.
4643
 
4644
2010-09-10  Jerome Lambourg  
4645
 
4646
        * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Size clause are
4647
        unsupported in VM targets. Display a warning in this case.
4648
 
4649
2010-09-10  Ed Schonberg  
4650
 
4651
        * sprint.adb (Sprint_Node_Actual, case N_Derived_Type_Definition): Do
4652
        not reset Sloc when printing keyword "new".
4653
 
4654
2010-09-10  Vincent Celier  
4655
 
4656
        * gnatcmd.adb (GNATCmd): Put the command line in environment variable
4657
        GNAT_DRIVER_COMMAND_LINE.
4658
 
4659
2010-09-10  Ed Schonberg  
4660
 
4661
        * sem.adb (Do_Unit_And_Dependents): if Withed_Body is set on a context
4662
        clause, process the body at once.
4663
 
4664
2010-09-10  Ed Schonberg  
4665
 
4666
        * sem_res.adb (Resolve_Type_Conversion): Do not warn on a redundant
4667
        conversion is the expression is a qualified expression used to
4668
        disambiguate a function call.
4669
 
4670
2010-09-10  Vincent Celier  
4671
 
4672
        * prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name
4673
        as a source of another project and of another language.
4674
 
4675
2010-09-10  Robert Dewar  
4676
 
4677
        * prj-util.adb: Minor reformatting.
4678
 
4679
2010-09-10  Eric Botcazou  
4680
 
4681
        * exp_disp.adb: Minor reformatting.
4682
 
4683
2010-09-10  Arnaud Charlet  
4684
 
4685
        * sem_prag.adb (Analyze_Pragma): Ignore Inline_Always pragma in
4686
        CodePeer mode.
4687
 
4688
2010-09-10  Thomas Quinot  
4689
 
4690
        * sem_res.adb: Minor reformatting.
4691
        * exp_ch9.adb, rtsfind.ads, exp_ch4.adb, exp_ch3.adb: Do not hardcode
4692
        magic constants for task master levels (instead, reference
4693
        named numbers from System.Tasking).
4694
 
4695
2010-09-10  Eric Botcazou  
4696
 
4697
        * gnatvsn.ads (Ver_Prefix): New constant string.
4698
        * bindgen.adb (Gen_Output_File_Ada): Use it in lieu of hardcoded value.
4699
        (Gen_Output_File_C): Likewise.
4700
        * g-comver.adb (Ver_Prefix): Add cross-reference to Gnatvsn.Ver_Prefix
4701
        in comment.
4702
 
4703
2010-09-10  Ed Schonberg  
4704
 
4705
        * sem.adb (Walk_Library_Items): Do not traverse children of the main
4706
        unit, to prevent spurious circularities in the walk order.
4707
        (Depends_On_Main): Use elsewhere to prevent circularities when the body
4708
        of an ancestor of the main unit depends on a child of the main unit.
4709
 
4710
2010-09-10  Robert Dewar  
4711
 
4712
        * gnatlink.adb, prj-ext.adb, prj-util.adb, s-tporft.adb,
4713
        sem_ch3.adb: Minor reformatting.
4714
 
4715
2010-09-10  Ed Schonberg  
4716
 
4717
        * sem_ch3.adb (Derive_Subprograms): An interface primitive operation
4718
        that is a renaming must be derived like any other primitive operation,
4719
        the renamed operation is not relevant to the derivation.
4720
 
4721
2010-09-10  Robert Dewar  
4722
 
4723
        * sem_aux.ads: Add comment for Is_Inherently_Limited_Type.
4724
        * checks.adb: Minor reformatting.
4725
 
4726
2010-09-10  Robert Dewar  
4727
 
4728
        * gnat_ugn.texi: Add section on intent of style checking options.
4729
 
4730
2010-09-10  Arnaud Charlet  
4731
 
4732
        * xref_lib.adb (Get_Full_Type): Fix handling of 'a' char.
4733
 
4734
2010-09-10  Ed Schonberg  
4735
 
4736
        * sem_ch3.adb: Improve error message on derivation from class-wide type
4737
 
4738
2010-09-10  Steve Baird  
4739
 
4740
        * gnat1drv.adb (Adjust_Global_Switches): Enable Expression_With_Actions
4741
        generation when Generate_SCIL is True.
4742
 
4743
2010-09-10  Geert Bosch  
4744
 
4745
        * gnatlink.adb (Check_ Existing_Executable): New procedure for checking
4746
        validity of executable name and removing any existing executable
4747
        (Gnatlink): Call Check_Existing_Executable.
4748
 
4749
2010-09-10  Arnaud Charlet  
4750
 
4751
        * s-tporft.adb, s-taskin.ads (Register_Foreign_Thread): Move
4752
        initialization of Task_Alternate_Stack here, cleaner since in case of
4753
        ranvescar, Restricted_Ada_Task_Control_Block is not initialized
4754
        implicitly.
4755
 
4756
2010-09-10  Thomas Quinot  
4757
 
4758
        * s-fileio.adb, a-dirval.adb: Minor reformatting.
4759
 
4760
2010-09-10  Emmanuel Briot  
4761
 
4762
        * prj-util.adb (Executable_Of): Fix CE when the project does not
4763
        contain a Builder package.
4764
 
4765
2010-09-10  Vincent Celier  
4766
 
4767
        * prj-ext.adb (Initialize_Project_Path): Add /lib/gpr/
4768
        to the project path, if Prefix and Target_Name are defined.
4769
        * prj-tree.ads (Project_Node_Tree_Data): New component Target_Name
4770
 
4771
2010-09-10  Ed Schonberg  
4772
 
4773
        * checks.adb (Ensure_Valid): If the expression is a boolean expression
4774
        or short-circuit operation, do no emit a validity check: only the
4775
        elementary operands of the expression need checking.
4776
 
4777
2010-09-10  Ben Brosgol  
4778
 
4779
        * gnat_rm.texi: Document Short_Descriptors.
4780
 
4781
2010-09-10  Arnaud Charlet  
4782
 
4783
        * s-taprop-linux.adb, s-taskin.ads (Task_Alternate_Stack): Default
4784
        initialize to Null_Address.
4785
        (Enter_Task): Do not set up an alternate stack for foreign threads.
4786
 
4787
2010-09-10  Robert Dewar  
4788
 
4789
        * opt.adb (Short_Descriptors): New flag
4790
        (Short_Descriptors_Config): New flag
4791
        * opt.ads (Short_Descriptors): New flag
4792
        (Short_Descriptors_Config): New flag
4793
        * par-prag.adb: Add dummy entry for Short_Descriptors pragma
4794
        * sem_prag.adb (Set_Mechanism_Value): Deal with Short_Descriptors.
4795
        (Analyze_Pragma): Implement Short_Descriptors pragma
4796
        * snames.ads-tmpl: Add entry for Short_Descriptors pragma
4797
 
4798
2010-09-10  Emmanuel Briot  
4799
 
4800
        * prj-util.adb, prj-util.ads (Executable_Of): Take into account the
4801
        project's Executable_Suffix.
4802
 
4803
2010-09-10  Robert Dewar  
4804
 
4805
        * g-pehage.ads: Minor reformatting
4806
 
4807
        * gnat_ugn.texi: Clarifying comment on -gnatyc
4808
        * exp_ch6.adb (Expand_N_Subprogram_Body): Reset Is_Pure if limited
4809
        arguments.
4810
 
4811
2010-09-10  Tristan Gingold  
4812
 
4813
        * Make-generated.in (gnat.hlp): New rule.
4814
 
4815
2010-09-10  Emmanuel Briot  
4816
 
4817
        * prj-util.adb, prj-util.ads (Executable_Of): New parameter
4818
        Include_Suffix.
4819
 
4820
2010-09-10  Robert Dewar  
4821
 
4822
        * einfo.adb: Minor code cleanup: Add assertion to
4823
        Set_Corresponding_Protected_Entry.
4824
 
4825
2010-09-10  Bob Duff  
4826
 
4827
        * g-pehage.ads, g-pehage.adb (Produce): Add a new flag to allow sending
4828
        the output to standard output.
4829
 
4830
2010-09-09  Vincent Celier  
4831
 
4832
        * gnat_ugn.texi: Add documentation for new gnatmake switch
4833
        --create-map-file.
4834
        * make.adb (Map_File): New global variable to store the value of switch
4835
        --create-map-file.
4836
        (Gnatmake): Add switch -M to gnatlink if switch --create-map-file has
4837
        been specified.
4838
        (Scan_Make_Arg): Recognize switch --create-map-file
4839
        * makeutl.ads (Create_Map_File_Switch): New constant string for new
4840
        gnatmake and gprbuild switch --create-map-file.
4841
 
4842
2010-09-09  Robert Dewar  
4843
 
4844
        * sinput-p.ads: Minor comment update.
4845
 
4846
2010-09-09  Arnaud Charlet  
4847
 
4848
        * s-tpobop.adb, s-taenca.adb (Wait_For_Completion_With_Timeout): Reset
4849
        Entry_Call.State if needed so that the call is marked as cancelled by
4850
        Check_Pending_Actions_For_Entry_Call.
4851
        (Timed_Protected_Entry_Call): Adjust calls to Defer/Under_Abort, since
4852
        this procedure may be called from a controlled operation
4853
        (Initialize/Finalize).
4854
 
4855
2010-09-09  Vadim Godunko  
4856
 
4857
        * impunit.adb: Correct spelling of package's name in the comment.
4858
 
4859
2010-09-09  Robert Dewar  
4860
 
4861
        * gnatcmd.adb, gnatlink.adb, sem_ch12.adb, sem_eval.adb, sinput-p.adb:
4862
        Minor reformatting
4863
 
4864
2010-09-09  Robert Dewar  
4865
 
4866
        * impunit.adb: Add entry for a-izteio.
4867
        * checks.adb: Add comment.
4868
        * debug.adb, exp_disp.adb: Minor reformatting.
4869
        * exp_dbug.ads: Minor reformatting throughout (pack block comments).
4870
 
4871
2010-09-09  Ed Schonberg  
4872
 
4873
        * sem_eval.adb (Is_Same_Value): Two occurrences of the same
4874
        discriminant cannot be assumed to be the same value because they may
4875
        refer to bounds of a component of two different instances of a
4876
        discriminated type.
4877
 
4878
2010-09-09  Gary Dismukes  
4879
 
4880
        * checks.adb (Apply_Arithmetic_Overflow_Check): When converting the
4881
        operands of an operator to the type of an enclosing conversion, rewrite
4882
        the operator so the conversion can't be flagged as redundant.
4883
        Remove useless assignments to Typ and Rtyp.
4884
 
4885
2010-09-09  Eric Botcazou  
4886
 
4887
        * gnat_ugn.texi: Fix another long line.
4888
 
4889
2010-09-09  Bob Duff  
4890
 
4891
        * sem_warn.adb (Output_Reference_Error): Don't warn for renames read
4892
        but never assigned.
4893
 
4894
2010-09-09  Matthew Heaney  
4895
 
4896
        * a-convec.adb, a-coinve.adb (Clear, Delete, Delete_Last, Finalize,
4897
        Merge, Insert, Insert_Space, Move, Reserve_Capacity, Generic_Sorting,
4898
        Replace_Element, Reverse_Elements, Swap): Change exception message to
4899
        correctly indicate kind of tampering (cursor or element).
4900
        * a-cdlili.adb, a-cidlli.adb (Clear, Delete, Delete_First, Delete_Last,
4901
        Merge, Generic_Sorting, Insert, Move, Reverse_Elements, Splice,
4902
        Swap_Links, Replace_Element, Swap): Ditto.
4903
        * a-coorse.adb, a-ciorse.adb (Include, Replace, Replace_Element): Ditto
4904
        * a-coorma.adb, a-ciorma.adb (Include, Replace, Replace_Element): Ditto
4905
        * a-coormu.adb, a-ciormu.adb (Replace_Element): Ditto
4906
        * a-chtgke.adb (Delete_Key_Sans_Free, Generic_Conditional_Insert,
4907
        Generic_Replace_Element): Ditto
4908
        * a-chtgop.adb (Clear, Move, Reserve_Capacity): Ditto
4909
        * a-cohama.adb, a-cihama.adb (Delete, Include, Replace,
4910
        Replace_Element): Ditto.
4911
        * a-cohase.adb, a-cihase.adb (Delete, Difference, Intersection,
4912
        Symmetric_Difference, Union, Include, Replace): Ditto
4913
 
4914
2010-09-09  Ed Schonberg  
4915
 
4916
        * sprint.adb (Write_Id): If the parent node is an expanded name, check
4917
        that its entity_or_associated_node is an entity before writing it out.
4918
        * exp_disp.adb (Make_Tags); if a type is declared in C++ and has no
4919
        constructors, there is no need for a dispatch table pointer because the
4920
        table is fully inherited from the C++ code.
4921
 
4922
2010-09-09  Thomas Quinot  
4923
 
4924
        * projects.texi: Fix wrong identifiers on package end lines in project
4925
        files examples.
4926
        * exp_ch6.adb: Minor reformatting.
4927
 
4928
2010-09-09  Tristan Gingold  
4929
 
4930
        * gnatcmd.adb, vms_conv.ads: Extract Command_Type.
4931
 
4932
2010-09-09  Eric Botcazou  
4933
 
4934
        * gnat_ugn.texi: Fix description of -O3 optimization level.
4935
 
4936
2010-09-09  Yannick Moy  
4937
 
4938
        * a-cihama.adb, a-cohama.adb: Fix comments.
4939
 
4940
2010-09-09  Arnaud Charlet  
4941
 
4942
        * i-cexten.ads: Add comments.
4943
        (Signed_128): New type, used by some C bindings.
4944
        * debug.adb: Update comment.
4945
 
4946
2010-09-09  Sergey Rybin  
4947
 
4948
        * gnat_ugn.texi: For ASIS tools (gnatpp, gnatcheck, gnatelim,
4949
        gnatmetric and gnatstub) add a note that '-gnat05' should be used if
4950
        the tool should process Ada 2005 sources.
4951
 
4952
2010-09-09  Ed Schonberg  
4953
 
4954
        * sem_ch12.adb (Remove_Parent): If the scope containing the child
4955
        instance is a block, examine the enclosing scope to determine if it is
4956
        a parent instance.
4957
 
4958
2010-09-09  Doug Rupp  
4959
 
4960
        * sem_prag.adb (pragma Ident): Pass --identification= vice
4961
        IDENTIFICATION=
4962
        * gnatlink.adb (Linker_Options): Look for --identification= vice
4963
        IDENTIFICATION=
4964
 
4965
2010-09-09  Gary Dismukes  
4966
 
4967
        * exp_attr.adb (Expand_N_Attribute_Reference, case Attribute_Old): When
4968
        inserting and analyzing the object declaration for the temporary object
4969
        created to hold a 'Old value, push the scope for the subprogram where
4970
        the object is inserted, so that its Scope (and that of related objects)
4971
        will be set properly.
4972
 
4973
2010-09-09  Vincent Celier  
4974
 
4975
        * prj.adb (Get_Object_Directory): Return object directory display name
4976
        * adaint.c (__gnat_get_file_names_case_sensitive): When environment
4977
        variable GNAT_FILE_NAME_CASE_SENSITIVE has a value of "0" or "1",
4978
        return this value, otherwise return the default for the platform.
4979
 
4980
2010-09-09  Arnaud Charlet  
4981
 
4982
        * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
4983
        dependencies. Remove handling of gnatlbr.
4984
        Do not remove s-stratt-xdr for the run-time when installing.
4985
 
4986
2010-09-09  Robert Dewar  
4987
 
4988
        * sem_attr.adb: Minor reformatting.
4989
 
4990
2010-09-09  Thomas Quinot  
4991
 
4992
        * socket.c (__gnat_socket_ioctl): On Darwin, the req parameter is an
4993
        unsigned long, not an int.
4994
 
4995
2010-09-09  Vincent Celier  
4996
 
4997
        * make.adb, mlib-prj.adb, prj.adb, prj-nmsc.adb, mlib-tgt.adb,
4998
        prj-conf.adb, prj-env.adb: Use Display_Name instead of Name whenever
4999
        we are not checking for equality of path or file names.
5000
 
5001
2010-09-09  Ed Schonberg  
5002
 
5003
        * exp_util.adb (Remove_Side_Effects): If the expression is a packed
5004
        array reference, reset the Analyzed flag so that it is properly
5005
        expanded when the resulting object declaration is analyzed.
5006
 
5007
2010-09-09  Vincent Celier  
5008
 
5009
        * sinput-p.adb (Source_File_Is_Subunit): Return False if X is
5010
        No_Source_File.
5011
 
5012
2010-09-09  Ramon Fernandez  
5013
 
5014
        * sysdep.c: The wrSbc8548 BSP in MILS doesn't know anything about the
5015
        VX_SPE_TASK option, so disable it.
5016
 
5017
2010-09-09  Ed Schonberg  
5018
 
5019
        * sem.adb (Walk_Library_Items): Traverse context of subunits of the
5020
        main unit.
5021
        (Is_Subunit_Of_Main): Handle null nodes properly.
5022
 
5023
2010-09-09  Robert Dewar  
5024
 
5025
        * par-ch2.adb: Update comments.
5026
 
5027
2010-09-09  Ben Brosgol  
5028
 
5029
        * gnat_rm.texi: Minor wordsmithing of section on pragma Ordered.
5030
 
5031
2010-09-09  Arnaud Charlet  
5032
 
5033
        * par-ch2.adb (Scan_Pragma_Argument_Association): In CodePeer mode,
5034
        do not generate an error for compatibility with legacy code.
5035
        ignored when generating SCIL.
5036
        * sem_attr.adb (Resolve_Attribute): Ignore AI-229 in CodePeer mode.
5037
 
5038
2010-09-09  Thomas Quinot  
5039
 
5040
        * s-strxdr.adb, gnat_rm.texi, s-stratt-xdr.adb, s-stratt.ads: Rename
5041
        s-strxdr.adb to s-stratt-xdr.adb
5042
 
5043
2010-09-09  Robert Dewar  
5044
 
5045
        * ali-util.adb (Obsolescent_Check): Removed.
5046
        * gprep.adb (Obsolescent_Check): Removed.
5047
        Remove Obsolescent_Check parameter in Scng instantiation
5048
        * prj-err.adb (Obsolescent_Check): Removed.
5049
        * prj-err.ads (Obsolescent_Check): Removed.
5050
        Remove Obsolescent_Check parameter in Scng instantiation
5051
        * scans.ads (Based_Literal_Uses_Colon): New flag
5052
        * scn.adb (Obsolscent_Check_Flag): Removed
5053
        (Obsolscent_Check): Removed
5054
        (Set_Obsolescent_Check): Removed
5055
        (Post_Scan): Add handling for obsolescent features
5056
        * scn.ads (Obsolscent_Check): Removed
5057
        (Set_Obsolescent_Check): Removed
5058
        (Post_Scan): Can no longer be inlined
5059
        Remove Obsolescent_Check from instantiation of Scng
5060
        * scng.adb (Nlit): Set Based_Literal_Uses_Colon
5061
        (Nlit): Remove handling of obsolescent check
5062
        (Scan, case '%'): Remove handling of obsolescent check
5063
        (Scan, case '|'): Call Post_Scan
5064
        (Scan, case '!'): Remove handling of obsolescent check, call Post_Scan
5065
        * scng.ads Remove Obsolescent_Check argument from Scng generic
5066
        (Post_Scan): Now called for Tok_Vertical_Bar
5067
        * sinput-l.adb: Remove calls to Set_Obsolescent_Check
5068
 
5069
2010-09-09  Doug Rupp  
5070
 
5071
        * gnatlbr.adb: Removed.
5072
        * gnat_rm.texi, ug_words, gnat_ugn.texi: Remove mention of gnatlbr.
5073
 
5074
2010-09-09  Robert Dewar  
5075
 
5076
        * sem_res.adb (Resolve_Type_Conversion): Catch more cases of redundant
5077
        conversions.
5078
 
5079
2010-09-09  Vincent Celier  
5080
 
5081
        * gnatlbr.adb: Remove redundant conversions.
5082
 
5083
2010-09-09  Vincent Celier  
5084
 
5085
        * prj-proc.adb: Minor comment spelling error fix.
5086
        * osint.ads (Env_Vars_Case_Sensitive): Use function
5087
        Get_Env_Vars_Case_Sensitive, not Get_File_Names_Case_Sensitive to
5088
        compute value.
5089
 
5090
2010-09-09  Ed Schonberg  
5091
 
5092
        * sem_res.adb (Resolve_Equality_Op): Implement Ada2012 rule for
5093
        resolution of conditional expressions whose dependent expressions are
5094
        anonymous access types.
5095
 
5096
2010-09-09  Robert Dewar  
5097
 
5098
        * a-ststio.adb: Minor code reorganization.
5099
        * s-direio.adb, prj.adb, prj-nmsc.adb, sem_type.adb: Remove redundant
5100
        conversion.
5101
        * types.ads: Minor reformatting.
5102
        * binde.adb, vms_conv.adb, gnatls.adb, s-strxdr.adb, uintp.adb: Remove
5103
        redundant conversions.
5104
        * output.adb: Minor reformatting.
5105
        * sem_ch8.adb (Find_Type): Test for redundant base applies to user
5106
        types.
5107
        * opt.ads: Add pragma Ordered for Verbosity_Level.
5108
        * prj.ads: Add pragma Ordered for type Verbosity.
5109
 
5110
2010-09-09  Vincent Celier  
5111
 
5112
        * osint.adb (Canonical_Case_File_Name): Use procedure To_Lower in
5113
        System.Case_Util
5114
        (Canonical_Case_Env_Var_Name): Ditto
5115
 
5116
2010-09-09  Bob Duff  
5117
 
5118
        * g-pehage.adb (Allocate): Initialize the allocated elements of IT.
5119
 
5120
2010-09-09  Robert Dewar  
5121
 
5122
        * cstand.adb: Mark Boolean and Character types as Ordered
5123
        * einfo.adb (Has_Pragma_Ordered): New flag
5124
        * einfo.ads (Has_Pragma_Ordered): New flag
5125
        * g-calend.ads: Mark Day_Name as Ordered
5126
        * opt.ads: Mark Ada_Version_Type as Ordered
5127
        (Warn_On_Unordered_Enumeration_Type): New flag
5128
        * par-prag.adb: Add procdessing for pragma Ordered
5129
        * s-ficobl.ads (Read_File_Mode): New subtype
5130
        * s-fileio.adb: Use Read_File_Mode instead of explicit ranges
5131
        * s-taskin.ads: Mark Entry_Call_State as ordered
5132
        * sem_ch3.adb (Build_Derived_Enumeration_Type): Inherit
5133
        Has_Pragma_Ordered.
5134
        * sem_ch6.ads: Mark Conformance_Type as Ordered
5135
        * sem_prag.adb: Implement pragma Ordered
5136
        * sem_res.adb (Bad_Unordered_Enumeration_Reference): New function
5137
        (Resolve_Comparison_Op): Diagnose unordered comparison
5138
        (Resolve_Range): Diagnose unordered range
5139
        * sem_warn.adb (Warn_On_Unordered_Enumeration_Type): New flag (from
5140
        -gnatw.u/U)
5141
        * snames.ads-tmpl: Add entry for pragma Ordered
5142
        * style.ads (Check_Enumeration_Subrange): Removed
5143
        * styleg.adb (Check_Enumeration_Subrange): Removed
5144
        * styleg.ads (Check_Enumeration_Subrange): Removed
5145
        * stylesw.adb: Remove handling of -gnatyE switch
5146
        * stylesw.ads: (Style_Check_Enumeration_Subranges): Removed
5147
        * vms_data.ads: Remove -gnatyE entries
5148
        Add -gnatw.u entries
5149
        * ug_words: Entries for -gnatw.u and -gnatw.U
5150
        * gnat_ugn.texi: Document -gnatw.u/-gnatw.U switches
5151
        * gnat_rm.texi: Document pragma Ordered.
5152
        * s-tasren.adb: Avoid unnecessary comparison on unordered enumeration.
5153
        * s-tpobop.adb: Remove comparison on unordered enumeration type.
5154
 
5155
2010-09-09  Vincent Celier  
5156
 
5157
        * adaint.c: New function __gnat_get_env_vars_case_sensitive, returns 0
5158
        for VMS and Windows, and 1 for all other platforms.
5159
        * adaint.h: New function __gnat_get_env_vars_case_sensitive
5160
        * osint.ads, osint.adb (Canonical_Case_Env_Var_Name): New procedure.
5161
        * prj-ext.adb (Add): Call Canonical_Case_Env_Var_Name instead of
5162
        Canonical_Case_File_Name, as we are dealing with environment variables,
5163
        not files.
5164
 
5165
2010-09-09  Robert Dewar  
5166
 
5167
        * sem_util.adb: Minor reformatting
5168
 
5169
2010-09-09  Vincent Celier  
5170
 
5171
        * vms_data.ads: Add documentation for S_Make_Single.
5172
 
5173
2010-09-09  Ed Schonberg  
5174
 
5175
        * sem_util.adb (Same_Object): include formal parameters.
5176
 
5177
2010-09-09  Vincent Celier  
5178
 
5179
        * make.adb (Queue): New package implementing a new impementation of the
5180
        queue, taking into account the new switch --single-compile-per-obj-dir.
5181
        * makeutl.ads (Single_Compile_Per_Obj_Dir_Switch): New constant String
5182
        for gnatmake and gprbuild new switch --single-compile-per-obj-dir.
5183
        * opt.ads (One_Compilation_Per_Obj_Dir): New Boolean flag, defauted to
5184
        False.
5185
        * switch-m.adb (Scan_Make_Switches): Take into account new gnatmake
5186
        switch --single-compile-per-obj-dir.
5187
        * vms_data.ads: Add qualifier SINGLE_COMPILE_PER_OBJ_DIR for gnatmake
5188
        switch --single-compile-per-obj-dir.
5189
        * gnat_ugn.texi: Add documentation for new gnatmake switch
5190
        --single-compile-per-obj-dir.
5191
 
5192
2010-09-09  Ed Schonberg  
5193
 
5194
        * einfo.adb, einfo.ads: Clarify use of Corresponding_Protected_Entry.
5195
 
5196
2010-09-09  Javier Miranda  
5197
 
5198
        * sem_ch3.adb (Is_Progenitor): Relocated to sem_type.
5199
        (Replace_Type): Code cleanup.
5200
        * sem_type.ads, sem_type.adb (Is_Progenitor): Relocated from sem_ch3
5201
 
5202
2010-09-09  Thomas Quinot  
5203
 
5204
        * exp_ch8.adb: Minor reformatting.
5205
 
5206
2010-09-09  Ed Schonberg  
5207
 
5208
        * exp_ch9.adb, einfo.adb, einfo.ads: New attribute
5209
        Corresponding_Protected_Entry.
5210
 
5211
2010-09-09  Ed Schonberg  
5212
 
5213
        * exp_ch3.adb (Build_Untagged_Equality): Do not set alias of implicit
5214
        inequality, it is always rewritten as the negation of the corresponding
5215
        equality operation.
5216
        * exp_ch8.adb (Expand_N_Subprogram_Renaming): If the subprogram renames
5217
        the predefined equality of an untagged record, create a body at the
5218
        point of the renaming, to capture the current meaning of equality for
5219
        the type.
5220
 
5221
2010-09-09  Robert Dewar  
5222
 
5223
        * sem.adb, sem_warn.adb: Minor reformatting.
5224
 
5225
2010-09-09  Ed Schonberg  
5226
 
5227
        * sem_ch6.adb: Improve error message on untagged equality.
5228
        * sem.adb (Semantics): Include subprogram bodies that act as spec.
5229
 
5230
2010-09-09  Javier Miranda  
5231
 
5232
        * sem_ch13.adb, exp_ch13.adb: Undo previous change, unneeded.
5233
 
5234
2010-09-09  Robert Dewar  
5235
 
5236
        * sem_ch13.adb, sem_ch6.adb, exp_ch3.adb: Minor reformatting.
5237
 
5238
2010-09-09  Robert Dewar  
5239
 
5240
        * einfo.adb (Is_Aggregate_Type): New function.
5241
        * einfo.ads (Aggregate_Kind): New enumeration subtype
5242
        (Is_Aggregate_Type): New function.
5243
        * sem_type.adb (Is_Array_Class_Record_Type): Removed, replaced by
5244
        Is_Aggregate_Typea.
5245
 
5246
2010-09-09  Robert Dewar  
5247
 
5248
        * exp_ch11.adb, frontend.adb, sem_attr.adb, sem_ch10.adb, sem_ch3.adb,
5249
        sem_ch4.adb, sem_ch9.adb, sem_res.adb: Use Restriction_Check_Needed
5250
        where appropriate.
5251
        * restrict.ads, restrict.adb: Ditto.
5252
        (Restriction_Check_Needed): New function
5253
 
5254
2010-09-09  Ed Schonberg  
5255
 
5256
        * exp_ch9.ads (Find_Master_Scope): New function, extracted from
5257
        Build_Master_Entity, to find the proper scope for the master entity of
5258
        a type that may contain tasks, in the presence of transient scopes.
5259
        * exp_ch9.adb (Build_Master_Entity) Use new function.
5260
        * exp_ch3.adb (Build_Class_Wide_Master): ditto.
5261
 
5262
2010-09-09  Vincent Celier  
5263
 
5264
        * prj-attr.adb: Add new attributes Leading_Library_Options and
5265
        Linker'Leading_Switches.
5266
        * snames.ads-tmpl: Add new standard names Leading_Library_Options and
5267
        Leading_Switches.
5268
 
5269
2010-09-09  Javier Miranda  
5270
 
5271
        * sem_ch3.adb (Derive_Subprogram): The code that checks if a
5272
        dispatching primitive covers some interface primitive is incomplete.
5273
        Replace such code by the invocation of a new subprogram that provides
5274
        this functionality.
5275
        * sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
5276
        * sem_ch6.adb (Check_Missing_Return): Minor reformating
5277
        (Check_Convention): Complete if-statement conditition when reporting
5278
        errors (to avoid assertion failure).
5279
        * sem_ch13.adb (Make_Null_Procedure_Specs): This routine was previously
5280
        located in exp_ch3. Relocated inside Analyze_Freeze_Entity.
5281
        (Analyze_Freeze_Entity): Invoke routine that adds the spec of non
5282
        overridden null interface primitives.
5283
        * sem_type.adb (Is_Ancestor): If the parent of the partial view of a
5284
        private type is an interface then use the parent of its full view to
5285
        climb to its ancestor type.
5286
        * sem_disp.ads, sem_disp.adb (Covers_Some_Interface): New subprogram.
5287
        (Check_Dispatching_Operation): Extend assertion to handle wrappers of
5288
        null interface primitives.
5289
        (Is_Null_Interface_Primitive): New subprogram.
5290
        * exp_ch3.adb (Make_Null_Procedure_Specs): Removed.
5291
        (Expand_Freeze_Record_Type): Do not generate specs of null interface
5292
        subprograms because they are now generated by Analyze_Freeze_Entity.
5293
 
5294
2010-09-09  Robert Dewar  
5295
 
5296
        * a-calfor.adb, sem_ch3.adb: Minor reformatting.
5297
 
5298
2010-09-09  Robert Dewar  
5299
 
5300
        * bindgen.adb (Gen_Restrictions_Ada): Avoid explicit enumeration ranges
5301
        (Gen_Restrictions_C): Avoid explicit enumeration ranges
5302
        (Set_String_Replace): New procedure
5303
        * casing.ads (Known_Casing): New subtype declaration
5304
        * prj-attr.ads (All_Case_Insensitive_Associative_Array): New subtype
5305
        declaration
5306
        * prj-dect.adb (Parse_Attribute_Declaration): Avoid enumeration range
5307
        * prj-nmsc.adb (Check_Naming): Avoid unnecessary enumeration range
5308
        * prj-strt.adb (Attribute_Reference): Avoid enumeration range test
5309
        * prj.adb (Known_Casing): Moved to Casing spec (avoid enum range)
5310
        * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Avoid enumeration
5311
        ranges.
5312
        * sem_res.adb (Resolve_Range): Check for enumeration subrange style
5313
        rule.
5314
        * sem_type.adb (Is_Array_Class_Record_Type): New.
5315
        * style.ads (Check_Enumeration_Subrange): New procedure
5316
        * styleg.adb (Check_Enumeration_Subrange): New procedure
5317
        * styleg.ads (Check_Enumeration_Subrange): New procedure
5318
        * stylesw.adb Add handling for Style_Check_Enumeration_Subranges
5319
        * stylesw.ads (Style_Check_Enumeration_Subranges): New flag
5320
        * usage.adb: Add line for -gnatyE
5321
        * vms_data.ads: Add entries for [NO]ENUMERATION_RANGES
5322
        Add missing entry for NOBOOLEAN_OPERATORS
5323
        * gnat_ugn.texi: Add documentation for -gnatyE
5324
 
5325
2010-09-09  Robert Dewar  
5326
 
5327
        * namet.adb (Initialize): Is now a dummy procedure
5328
        (Reinitialize): New procedure
5329
        Call Reinitialize from package initialization
5330
        * namet.ads (Initialize): Is now a dummy procedure
5331
        (Reinitialize): New procedure
5332
        * clean.adb, gnat1drv.adb, gnatbind.adb, gnatcmd.adb, gnatlink.adb,
5333
        gnatls.adb, gprep.adb, make.adb, prj-makr.adb: Remove obsolete call to
5334
        Namet.Initialize.
5335
 
5336
2010-09-09  Bob Duff  
5337
 
5338
        * sem_elab.adb, s-os_lib.ads: Minor comment fixes.
5339
 
5340
2010-09-09  Robert Dewar  
5341
 
5342
        * s-bitops.adb (Raise_Error): Add exception message
5343
 
5344
2010-09-09  Robert Dewar  
5345
 
5346
        * par-ch5.adb (Test_Statement_Required): Deal with Ada 2012 allowing no
5347
        null statement after label.
5348
        * sinfo.ads: Minor comment updates.
5349
 
5350
2010-09-09  Robert Dewar  
5351
 
5352
        * nlists.ads, nlists.adb (In_Same_List): New function.
5353
        Use Node_Or_Entity_Id where appropriate.
5354
        * par-labl.adb, sem_ch6.adb, sem_type.adb: Use In_Same_List.
5355
 
5356
2010-09-09  Robert Dewar  
5357
 
5358
        * restrict.ads, restrict.adb (Check_Wide_Character_Restriction): New
5359
        procedure.
5360
        * sem_ch3.adb: Use Check_Wide_Character_Restriction
5361
        (Enumeration_Type_Declaration): Check violation of No_Wide_Characters
5362
        * sem_ch8.adb (Find_Direct_Name): Check violation of No_Wide_Characters
5363
        (Find_Expanded_Name): Check violation of No_Wide_Characters
5364
 
5365
2010-09-09  Robert Dewar  
5366
 
5367
        * par-ch5.adb: Minor reformatting.
5368
 
5369
2010-09-09  Robert Dewar  
5370
 
5371
        * prj-env.adb: Minor code reorganization.
5372
        * par-ch3.adb: Minor reformatting.
5373
        * gcc-interface/Make-lang.in: Update dependencies.
5374
 
5375
2010-09-09  Ed Schonberg  
5376
 
5377
        * exp_ch9.adb (Build_Activation_Chain_Entity): The construct enclosing
5378
        a task declaration can be an entry body.
5379
 
5380
2010-09-09  Javier Miranda  
5381
 
5382
        * exp_disp.adb (Make_DT): Decorate as "static" variables containing
5383
        tags of library level tagged types.
5384
        (Make_Tags): Disable backend optimizations about aliasing for
5385
        declarations of access to dispatch tables.
5386
 
5387
2010-09-09  Ed Schonberg  
5388
 
5389
        * sem_ch12.adb (Reset_Entity): If the entity is an itype created as a
5390
        subtype for a null-excluding access type, recover the original
5391
        subtype_mark to get the proper visibility on the original name.
5392
 
5393
2010-09-09  Ed Schonberg  
5394
 
5395
        * exp_ch3.adb (Build_Untagged_Equality): For Ada2012, new procedure to
5396
        create the primitive equality operation for an untagged record. The
5397
        operation is the predefined equality if no record component has a
5398
        user-defined equality, or if there is a user-defined equality for the
5399
        type as a whole, or when the type is derived and it has an inherited
5400
        equality. Otherwise the body of the operations is built as for tagged
5401
        types.
5402
        (Expand_Freeze_Record_Type): Call Build_Untagged_Equality when needed.
5403
        (Make_Eq_Body): New function to create the expanded body of the
5404
        equality operation for tagged and untagged records.  In both cases the
5405
        operation composes, and the primitive operation of each record
5406
        component is used to generate the equality function for the type.
5407
        * exp_ch4.adb (Expand_Composite_Equality): In Ada2012, if a component
5408
        has an abstract equality defined, replace its call with a
5409
        Raise_Program_Error.
5410
        * sem_ch6.adb (New_Overloaded_Entity): if Ada2012, verify that a
5411
        user-defined equality operator for an untagged record type does not
5412
        happen after type is frozen, and appears in the visible part if partial
5413
        view of type is not limited.
5414
 
5415
2010-09-09  Tristan Gingold  
5416
 
5417
        * gnatlbr.adb: Make Create_Directory more portable: use __gnat_mkdir.
5418
 
5419
2010-09-09  Bob Duff  
5420
 
5421
        * gnat_ugn.texi: Remove incorrect statement about -E being the default.
5422
 
5423
2010-09-09  Pascal Obry  
5424
 
5425
        * gnat_ugn.texi: Update doc on windows related topics.
5426
 
5427
2010-09-09  Geert Bosch  
5428
 
5429
        * s-fatgen.adb: Update comments.
5430
 
5431
2010-09-09  Robert Dewar  
5432
 
5433
        * par-ch4.adb (Box_Error): New procedure.
5434
 
5435
2010-09-09  Thomas Quinot  
5436
 
5437
        * sem.adb: Minor reformatting.
5438
 
5439
2010-09-09  Pascal Obry  
5440
 
5441
        * prj-env.adb: Style fix, use /and then/ and /or else/.
5442
        * gnat_ugn.texi: Fix typos.
5443
 
5444
2010-09-03  Joseph Myers  
5445
 
5446
        PR ada/45499
5447
        * gcc-interface/misc.c (gnat_init_options): Allow options with
5448
        empty canonical form.  Generate a single save_argv element from -I
5449
        options.
5450
 
5451
2010-08-30  Eric Botcazou  
5452
 
5453
        * gcc-interface/utils.c (gnat_pushdecl): Remove test for PARM_DECLs.
5454
        Attach fake PARM_DECLs to the topmost block of the function.
5455
 
5456
2010-08-30  Eric Botcazou  
5457
 
5458
        * gcc-interface/trans.c (call_to_gnu): Also force the return slot opt
5459
        for the call to a function whose return type was unconstrained.
5460
 
5461
2010-08-30  Olivier Hainque  
5462
 
5463
        * gcc-interface/decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro,
5464
        replacement for FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
5465
        (gnat_to_gnu_entity) : Use it.
5466
 
5467
2010-08-21  Eric Botcazou  
5468
 
5469
        * tracebak.c: Fix typo in comment.
5470
 
5471
2010-08-20  Nathan Froyd  
5472
 
5473
        * gcc-interface/decl.c: Use FOR_EACH_VEC_ELT.
5474
        * gcc-interface/trans.c: Likewise.
5475
        * gcc-interface/utils.c: Likewise.
5476
 
5477
2010-08-18  Eric Botcazou  
5478
 
5479
        * tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
5480
 
5481
2010-08-10  Robert Dewar  
5482
 
5483
        * sem_ch8.adb, sem_ch8.ads: Change name Write_Scopes to ws.
5484
        * sem_util.adb: Minor reformatting.
5485
 
5486
2010-08-10  Javier Miranda  
5487
 
5488
        * sem_aggr.adb (Resolve_Extension_Aggregate): Warn on the use of C++
5489
        constructors that leave the object partially initialized.
5490
        * exp_atag.ads, exp_atags.adb (Build_Inherit_CPP_Prims): New subprogram
5491
        that copies from parent of Typ the dispatch table slots of inherited
5492
        C++ primitives. It handles primary and secondary dispatch tables.
5493
        * einfo.adb (Related_Type): Moved from Node26 to Node27. Required to
5494
        use this attribute with E_Variable entities.
5495
        (Set_Is_Tag): Relax assertion to allow its use with variables that
5496
        store tags.
5497
        (Set_Related_Type): Relax assertion to allow its use with variables
5498
        that store the tag of a C++ class.
5499
        (Write_26_Field_Name): Remove Related_Type.
5500
        (Write_27_Field_Name): Add Related_Type.
5501
        * einfo.ads (Related_Type): Moved from Node26 to Node27. Available also
5502
        with E_Variable entities.
5503
        * sem_prag.adb (CPP_Constructor): Warn on duplicated occurrence of this
5504
        pragma.
5505
        * sem_util.adb (Search_Tag): Add missing support for CPP types.
5506
        (Enclosing_CPP_Parent): New subprogram.
5507
        (Has_Suffix): New subprogram.
5508
        * sem_util.ads (Enclosing_CPP_Parent): New subprogram that returns the
5509
        closest ancestor of a type that is a C++ type.
5510
        (Has_Suffix): New subprogram. Used in assertions to check the suffix of
5511
        internal entities.
5512
        * sem_attr.adb (Analyze_Access_Attribute): Check wrong use of current
5513
        instance in derivations of C++ types.
5514
        * exp_tss.adb (CPP_Init_Proc): New subprogram.
5515
        (Is_CPP_Init_Proc): New subprogram.
5516
        (Set_TSS): Handle new C++ init routines.
5517
        * exp_tss.ads (TSS_CPP_Init): New TSS name. For initialization of C++
5518
        dispatch tables.
5519
        (CPP_Init_Proc): New subprogram.
5520
        (Is_CPP_Init_Proc): New subprogram.
5521
        * exp_disp.adb (CPP_Num_Prims): New subprogram.
5522
        (Has_CPP_Constructors): New subprogram.
5523
        (Make_Secondary_DT, Make_DT): For derivations of CPP types, do not
5524
        initialize slots located in the C++ part of the dispatch table.
5525
        (Make_Tags): For CPP types declare variables used by the IP routine to
5526
        store the C++ tag values after the first invocation of the C++
5527
        constructor.
5528
        (Build_CPP_Init_DT): New subprogram.
5529
        (Set_CPP_Constructors): New implementation that builds an IP for each
5530
        CPP constructor. These IP are wrappers of the C++ constructors that,
5531
        after the first invocation of the constructor, read the C++ tags from
5532
        the object and save them locally. These copies of the C++ tags are used
5533
        by the IC routines to initialize tables of Ada derivations of CPP
5534
        types.
5535
        (Write_DT): Indicate what primitives are imported from C++
5536
        * exp_disp.ads (CPP_Num_Prims): New subprogram.
5537
        (Has_CPP_Constructors): New subprogram.
5538
        * exp_aggr.adb (Build_Record_Aggr_Code): For derivations of C++ types
5539
        invoke the IC routine to inherit the slots of the parents.
5540
        * sem_ch13.adb (Analyze_Freeze_Entity): Add new warnings on CPP types.
5541
        * exp_ch3.adb (Is_Variable_Size_Array): New subprogram.
5542
        (Is_Variable_Size_Record): Factorize code calling
5543
        Is_Variable_Size_Array.
5544
        (Build_CPP_Init_Procedure): New subprogram that builds the tree
5545
        corresponding to the procedure that initializes the C++ part of the
5546
        dispatch table of an Ada tagged type that is a derivation of a CPP
5547
        type.
5548
        (Build_Init_Procedure): Adding documentation plus code reorganization
5549
        to leave more clear the construction of the IP with C++ types.
5550
        (Expand_Freeze_Record_Type): Delay call to Set_CPP_Constructors because
5551
        it cannot be called after Make_Tags has been invoked.
5552
        (Inherit_CPP_Tag): Removed.
5553
        (Init_Secondary_Tags): For derivations of CPP types, warn on tags
5554
        located at variable offset.
5555
        * freeze.ads: Minor reformating.
5556
        * sem_ch8.adb (Write_Scopes): Add pragma export. Required to have it
5557
        available in gdb.
5558
        * gcc-interface/Make-lang.in: Update dependencies.
5559
 
5560
2010-08-10  Robert Dewar  
5561
 
5562
        * a-chahan.ads: Add comments on handling of obsolescent entries.
5563
        * opt.ads: Add Ada_2005 and Ada_2012 renamings for versions.
5564
        * restrict.adb (Check_Obsolescent_2005_Entity): New procedure.
5565
        * restrict.ads (Check_Obsolescent_2005_Entity): New procedure.
5566
        * sem_attr.adb (Analyze_Access_Attribute): Call
5567
        Check_Obsolescent_2005_Entity to check for access to obsolescent
5568
        Ada.Characters.Handling subprogram.
5569
        (Analyze_Attribute, case Class): Applying Class to untagged incomplete
5570
        type is obsolescent in Ada 2005.
5571
        (Analyze_Attribute, case Constrained): Better placement of flag when
5572
        flagged as obsolescent feature.
5573
        (Analyze_Attribute, case Storage_Size): Use with tasks is obsolescent
5574
        * sem_ch10.adb (Analyze_With_Clause): With of renamings such as Text_IO
5575
        is an obsolescent feature.
5576
        * sem_ch11.adb (Analyze_Raise_Statement): Numeric_Error is obsolescent
5577
        feature.
5578
        * sem_ch8.adb (Analyze_Subprogram_Renaming): Call
5579
        Check_Obsolescent_2005_Entity to check for renaming obsolete
5580
        Ada.Characters.Handling subprogram.
5581
        * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Check
5582
        for obsolescent restrictions in Ada 2005.
5583
        (Analyze_Pragma, case Suppress): Entity arg is obsolescent in Ada 2005
5584
        (Analyze_Pragma, case Interface): Interface is obsolescent in Ada 2005
5585
        * sem_res.adb (Resolve_Call): Call Check_Obsolescent_2005_Entity to
5586
        check for obsolescent references to Ada.Characters.Handling subprograms
5587
 
5588
2010-08-10  Robert Dewar  
5589
 
5590
        * einfo.adb, einfo.ads: Fix bad -gnatdt output for incomplete type.
5591
 
5592
2010-08-10  Robert Dewar  
5593
 
5594
        * errout.ads: Add VMS table entries for 2005, 12, 2012 switches
5595
        * par-ch4.adb: Change wording of Ada 2012 messages
5596
        * vms_data.ads: Add VMS entries for /2005, /12, /2012
5597
 
5598
2010-08-10  Robert Dewar  
5599
 
5600
        * a-suenco.adb (Convert): Fix bug in UTF-16 to UTF-8 conversion for
5601
        codes in the range 16#80#..16#7FF#.
5602
        * sem_ch10.adb: Minor reformatting.
5603
 
5604
2010-08-10  Arnaud Charlet  
5605
 
5606
        * gnat1drv.adb (Scan_Front_End_Switches): Always perform semantics and
5607
        generate ali files in CodePeer mode, so that a gnatmake -c -k will
5608
        proceed further when possible
5609
        * freeze.adb (Freeze_Static_Object): Fix thinko. Do not generate error
5610
        messages when ignoring representation clauses (-gnatI).
5611
 
5612
2010-08-10  Ed Schonberg  
5613
 
5614
        * exp_ch4.adb (Expand_N_Selected_Component): Do not attempt to
5615
        constant-fold discriminant reference if the constraint is an object
5616
        with non-static expression. Expression may contain volatile references
5617
        in the presence of renamings.
5618
 
5619
2010-08-10  Vincent Celier  
5620
 
5621
        * prj-proc.adb (Get_Attribute_Index): If Index is All_Other_Names,
5622
        returns Index.
5623
        * prj-strt.adb (Attribute_Reference): Recognize 'others' as a valid
5624
        index for an associative array where it is allowed.
5625
 
5626
2010-08-10  Thomas Quinot  
5627
 
5628
        * exp_attr.adb: Add comments.
5629
 
5630
2010-08-10  Jerome Lambourg  
5631
 
5632
        * adaint.c (__gnat_get_file_names_case_sensitive): return 0 on darwin.
5633
 
5634
2010-08-09  Nathan Froyd  
5635
 
5636
        * gcc-interface/utils.c (gnat_poplevel): Use blocks_nreverse.
5637
 
5638
2010-08-09  Eric Botcazou  
5639
 
5640
        * gcc-interface/utils.c (build_vms_descriptor32): Fix formatting.
5641
        (build_vms_descriptor): Likewise.
5642
 
5643
2010-08-08  Nathan Froyd  
5644
 
5645
        * gcc-interface/utils.c (make_descriptor_field): Add tree parameter.
5646
        (build_vms_descriptor32): Adjust calls to it for new parameter.
5647
        (build_vms_descriptor): Likewise.
5648
 
5649
2010-08-08  Nathan Froyd  
5650
 
5651
        * gcc-interface/decl.c (rec_variant):  Declare.  Declare a VEC of it.
5652
        (build_variant_list): Take and return a VEC instead of a tree.
5653
        (create_variant_part_from): Take a VEC instead of a tree for
5654
        variant_list.  Adjust accordingly.
5655
        (gnat_to_gnu_entity): Adjust for changes to previous functions.
5656
 
5657
2010-08-07  Nathan Froyd  
5658
 
5659
        * gcc-interface/decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead
5660
        of alloca.
5661
        (components_to_record): Likewise.
5662
        * gcc-interface/trans.c (gnat_to_gnu): Likewise.
5663
        * gcc-interface/utils.c (max_size): Likewise.
5664
        (build_vms_descriptor32): Likewise.
5665
        (build_vms_descriptor): Likewise.
5666
 
5667
2010-08-07  Nathan Froyd  
5668
 
5669
        * gcc-interface/decl.c (subst_pair): Declare.  Declare a VEC of it.
5670
        (build_subst_list): Return a VEC instead of a tree.
5671
        (build_variant_list): Take a VEC for subst_list.  Adjust
5672
        accordingly.
5673
        (create_field_decl_from): Likewise.
5674
        (create_variant_part_from): Likewise.
5675
        (copy_and_substitute_in_size): Likewise.
5676
        (gnat_to_gnu_entity): Adjust for new interface to build_subst_list.
5677
        Free the built vector.
5678
 
5679
2010-08-06  Eric Botcazou  
5680
 
5681
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not build an
5682
        allocator for large imported objects.
5683
 
5684
2010-08-05  Robert Dewar  
5685
 
5686
        * gnat1drv.adb: Minor reformatting.
5687
 
5688
2010-08-05  Ed Schonberg  
5689
 
5690
        * sem.adb (Do_Unit_And_Dependents): If some parent unit is an
5691
        instantiation, process its body before the spec of the main unit,
5692
        because it may contain subprograms invoked in the spec of main.
5693
        * einfo.ads: Add documention of delayed freeze.
5694
 
5695
2010-08-05  Vincent Celier  
5696
 
5697
        * prj-nmsc.adb (Process_Linker): Take into account new values for
5698
        attribute Response_File_Format.
5699
        * prj.ads (Response_File_Format): New enumeration values GCC_GNU,
5700
        GCC_Object_List and GCC_Option_List.
5701
 
5702
2010-08-05  Ed Schonberg  
5703
 
5704
        * exp_ch4.adb (Expand_N_Selected_Component): Do not constant-fold a
5705
        selected component that denotes a discriminant if it is the
5706
        discriminant of a component of an unconstrained record type.
5707
 
5708
2010-08-05  Ed Schonberg  
5709
 
5710
        * exp_util.adb (Insert_Actions): If the action appears within a
5711
        conditional expression that is already analyzed, insert action further
5712
        out.
5713
 
5714
2010-08-05  Robert Dewar  
5715
 
5716
        * exp_ch4.adb: Minor reformatting.
5717
 
5718
2010-08-05  Thomas Quinot  
5719
 
5720
        * exp_ch4.adb: Minor reformatting
5721
        * gnat1drv.adb: Minor reformatting.
5722
        Minor code reorganization (use Nkind_In).
5723
 
5724
2010-08-05  Ed Schonberg  
5725
 
5726
        * exp_util.ads, exp_util.adb (Needs_Constant_Address): New predicate to
5727
        determine whether the expression in an address clause for an
5728
        initialized object must be constant. Code moved from freeze.adb.
5729
        (Remove_Side_Effects): When the temporary is initialized with a
5730
        reference, indicate that the temporary is a constant as done in all
5731
        other cases.
5732
        * freeze.adb (Check_Address_Clause): use Needs_Constant_Address.
5733
        * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
5734
        If object does not need a constant address, remove side effects from
5735
        address expression, so it is elaborated at the point of the address
5736
        clause and not at the freeze point of the object, so that elaboration
5737
        order is respected.
5738
 
5739
2010-08-05  Vincent Celier  
5740
 
5741
        * prj.adb (Is_Compilable): Return False for header files of non Ada
5742
        languages.
5743
 
5744
2010-08-05  Emmanuel Briot  
5745
 
5746
        * prj-nmsc.adb: The Missing_Source_Files flag also considers a missing
5747
        exec directory as a warning rather than an error.
5748
 
5749
2010-08-05  Thomas Quinot  
5750
 
5751
        * sem_ch6.adb, gnat1drv.adb, exp_ch6.adb, sem_eval.adb: Minor
5752
        reformatting.
5753
 
5754
2010-08-05  Steve Baird  
5755
 
5756
        * exp_util.adb (Remove_Side_Effects): An access value which designates
5757
        a volatile object of a nonvolatile type is prohibited.
5758
        Do not call Make_Reference to construct a reference to such an object.
5759
 
5760
2010-08-05  Robert Dewar  
5761
 
5762
        * a-suezse.adb, a-suezse.ads, a-suezen.adb, a-suezen.ads: Removed.
5763
        * a-suewse.adb, a-suewse.ads, a-suesen.adb, a-suesen.ads,
5764
        a-suewen.adb, a-suewen.ads: New files.
5765
        * Makefile.rtl, impunit.adb: Update implementation of Ada 2012 string
5766
        encoding packages.
5767
        * sem_elab.adb: Minor reformatting.
5768
 
5769
2010-08-05  Arnaud Charlet  
5770
 
5771
        * sem_ch8.adb (Use_One_Type): Protect against empty scopes.
5772
        * exp_util.adb (Component_May_Be_Bit_Aligned): Prevent assert failure
5773
        in case of null Comp.
5774
 
5775
2010-08-05  Robert Dewar  
5776
 
5777
        * errout.adb, a-suewen.adb, a-suezen.adb: Minor reformatting.
5778
 
5779
2010-08-05  Gary Dismukes  
5780
 
5781
        * sem_ch4.adb (Analyze_Allocator): Flag errors on allocators of a
5782
        nested access type whose designated type has tasks or is a protected
5783
        object when the restrictions No_Task_Hierarchy or
5784
        No_Local_Protected_Objects apply. Add ??? comment.
5785
        * sem_ch9.adb (Analyze_Protected_Type): Give a warning when a protected
5786
        type is not a library-level type and No_Local_Protected_Objects applies.
5787
        (Analyze_Task_Type): Give a warning when a task type is not a
5788
        library-level type and No_Task_Hierarchy applies.
5789
 
5790
2010-08-05  Arnaud Charlet  
5791
 
5792
        * sem.adb: Minor reformatting
5793
        * sem_ch4.adb (Analyze_Reference): Disable error message in CodePeer
5794
        mode, not useful.
5795
 
5796
2010-08-04  Eric Botcazou  
5797
 
5798
        * gcc-interface/decl.c: Do not undefine IN_GCC_FRONTEND and do not
5799
        include expr.h.
5800
        (gnat_to_gnu_entity) : Force address of -1 at the tree level
5801
        for the debug-only entity.
5802
        * gcc-interface/Make-lang.in (ada/decl.o): Adjust dependencies.
5803
 
5804
2010-08-03  Joseph Myers  
5805
 
5806
        * gcc-interface/lang-specs.h: Don't pass -a options.
5807
 
5808
2010-07-28  Joseph Myers  
5809
 
5810
        * gcc-interface/misc.c (gnat_init_options): Ignore erroneous
5811
        options.  Check canonical_option_num_elements on options copied.
5812
 
5813
2010-07-27  Joseph Myers  
5814
 
5815
        * gcc-interface/misc.c (gnat_handle_option): Update prototype and
5816
        return value type.  Don't check for missing arguments here.
5817
 
5818
2010-07-27  Joseph Myers  
5819
 
5820
        * gcc-interface/misc.c (gnat_option_lang_mask): New.
5821
        (gnat_init_options): Update prototype.  Reconstruct argv array
5822
        from decoded options.
5823
 
5824
2010-07-23  Eric Botcazou  
5825
 
5826
        * gcc-interface/utils.c (update_pointer_to): In the unconstrained array
5827
        case, merge the alias set of the old pointer type.
5828
 
5829
2010-07-23  Eric Botcazou  
5830
 
5831
        * gcc-interface/utils.c (gnat_types_compatible_p): Revert latest change
5832
        and recurse only for multidimensional array types instead.
5833
 
5834
2010-07-22  Eric Botcazou  
5835
 
5836
        PR ada/44892
5837
        * gcc-interface/utils.c (convert): Fix thinko in test.
5838
        (unchecked_convert): When converting from a scalar type to a type with
5839
        a different size, pad to have the same size on both sides.
5840
 
5841
2010-07-22  Eric Botcazou  
5842
 
5843
        * gcc-interface/utils.c (gnat_types_compatible_p): Don't require strict
5844
        equality for the component type of array types.
5845
 
5846
2010-07-15  Nathan Froyd  
5847
 
5848
        * gcc-interface/decl.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
5849
        * gcc-interface/trans.c: Likewise.
5850
        * gcc-interface/utils.c: Likewise.
5851
        * gcc-interface/utils2.c: Likewise.
5852
 
5853
2010-07-13  Laurent GUERBY  
5854
 
5855
        PR bootstrap/44458
5856
        * gcc-interface/targtyps.c: Include tm_p.h.
5857
        * gcc-interface/Make-lang.in: Update dependencies.
5858
 
5859
2010-07-09  Eric Botcazou  
5860
 
5861
        * gcc-interface/trans.c (gnat_gimplify_expr) : Deal with
5862
        CALL_EXPR.
5863
 
5864
2010-07-08  Manuel López-Ibáñez  
5865
 
5866
        * gcc-interface/utils.c: Include diagnostic-core.h in every file
5867
        that includes toplev.h.
5868
 
5869
2010-07-03  Eric Botcazou  
5870
 
5871
        * gcc-interface/decl.c (gnat_to_gnu_entity) :
5872
        Branch to common code handling the alignment of discrete types.
5873
        : Likewise.
5874
        : Likewise.
5875
 
5876
2010-07-02  Eric Botcazou  
5877
 
5878
        * gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
5879
        (gnat_handle_option): Allocate only one element for gnat_argv.
5880
        (gnat_init): Do not populate gnat_argv.
5881
 
5882
2010-06-30  Manuel López-Ibáñez  
5883
 
5884
        * gcc-interface/trans.c: Do not include tree-flow.h.
5885
        * gcc-interface/Make-lang.in: Adjust dependencies.
5886
 
5887
2010-06-29  Nathan Froyd  
5888
 
5889
        * gcc-interface/gigi.h (gnat_build_constructor): Take a VEC instead
5890
        of a TREE_LIST.  Update comment.
5891
        * gcc-interface/trans.c (gigi): Build a VEC instead of a TREE_LIST.
5892
        Adjust call to gnat_build_constructor.
5893
        (Attribute_to_gnu): Likewise.
5894
        (gnat_to_gnu): Likewise.
5895
        (pos_to_constructor): Likewise.
5896
        (extract_values): Likewise.
5897
        * gcc-interface/utils.c (build_template): Likewise.
5898
        (convert_vms_descriptor64): Likewise.
5899
        (convert_vms_descriptor32): Likewise.
5900
        (convert_to_fat_pointer): Likewise.
5901
        (convert): Likewise.
5902
        (unchecked_convert): Likewise.
5903
        * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
5904
        * gcc-interface/utils2.c (build_allocator): Likewise.
5905
        (fill_vms_descriptor): Likewise.
5906
        (gnat_build_constructor): Take a VEC instead of a TREE_LIST.
5907
        (compare_elmt_bitpos): Adjust for parameters being constructor_elts
5908
        instead of TREE_LISTs.
5909
 
5910
2010-06-28  Steven Bosscher  
5911
 
5912
        * gcc-interface/misc.c: Do not include except.h.
5913
        * gcc-interface/Make-lang.in: Update dependencies.
5914
 
5915
2010-06-27  Eric Botcazou  
5916
 
5917
        * gcc-interface/trans.c: Include tree-flow.h.
5918
        (gnu_switch_label_stack): Delete.
5919
        (Case_Statement_to_gnu): Do not emit the goto at the end of a case if
5920
        its associated block cannot fall through.  Do not emit the final label
5921
        if no cases branch to it.
5922
        * gcc-interface/Make-lang.in (ada/trans.o): Add $(TREE_FLOW_H).
5923
 
5924
2010-06-23  Thomas Quinot  
5925
 
5926
        * exp_attr.adb (Expand_Access_To_Protected_Op): When rewriting a
5927
        reference to a protected subprogram outside of the protected's scope,
5928
        ensure the corresponding external subprogram is frozen before the
5929
        reference.
5930
 
5931
2010-06-23  Ed Schonberg  
5932
 
5933
        * sem_prag.adb: Fix typo in error message.
5934
        * sem.adb: Refine previous change.
5935
 
5936
2010-06-23  Robert Dewar  
5937
 
5938
        * impunit.adb, a-suewen.adb, a-suewen.ads, a-suenco.adb, a-suenco.ads,
5939
        a-suezen.adb, a-suezen.ads, a-stuten.adb, a-stuten.ads, Makefile.rtl:
5940
        Implement Ada 2012 string encoding packages.
5941
 
5942
2010-06-23  Arnaud Charlet  
5943
 
5944
        * a-stwiun-shared.adb, a-stwiun-shared.ads, a-stzunb-shared.adb,
5945
        a-stzunb-shared.ads, a-swunau-shared.adb, a-swuwti-shared.adb,
5946
        a-szunau-shared.adb, a-szuzti-shared.adb, a-strunb-shared.adb,
5947
        a-strunb-shared.ads, a-stunau-shared.adb, a-suteio-shared.adb: New
5948
        files.
5949
        * gcc-interface/Makefile.in: Enable use of above files.
5950
 
5951
2010-06-23  Ed Schonberg  
5952
 
5953
        * sem_ch13.adb (Check_Constant_Address_Clauses): Do not check legality
5954
        of address clauses if if Ignore_Rep_Clauses is active.
5955
        * freeze.adb (Check_Address_Clause): If Ignore_Rep_Clauses is active,
5956
        remove address clause from tree so that it does not reach the backend.
5957
 
5958
2010-06-23  Arnaud Charlet  
5959
 
5960
        * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]): Do not
5961
        expand 'Valid from user code in CodePeer mode, will be handled by the
5962
        back-end directly.
5963
 
5964
2010-06-23  Bob Duff  
5965
 
5966
        * g-comlin.ads: Minor comment improvements.
5967
 
5968
2010-06-23  Ed Schonberg  
5969
 
5970
        * sem_res.adb (Uses_SS): The expression that initializes a controlled
5971
        component of a record type may be a user-defined operator that is
5972
        rewritten as a function call.
5973
 
5974
2010-06-23  Bob Duff  
5975
 
5976
        * g-comlin.ads, sem_ch13.adb: Minor comment fix.
5977
 
5978
2010-06-23  Eric Botcazou  
5979
 
5980
        * exp_ch11.adb (Expand_Local_Exception_Handlers): Propagate the end
5981
        label to the new sequence of statements.  Set the sloc of the raise
5982
        statement onto the new goto statements.
5983
 
5984
2010-06-23  Robert Dewar  
5985
 
5986
        * a-stuten.ads, a-stuten.adb: New files.
5987
        * impunit.adb: Add engtry for Ada.Strings.UTF_Encoding (a-stuten.ads)
5988
        * Makefile.rtl: Add entry for a-stuten (Ada.Strings.UTF_Encoding)
5989
 
5990
2010-06-23  Robert Dewar  
5991
 
5992
        * gnat_ugn.texi: Add documentation of -gnat12 switch
5993
        Add documentation of -gnatX switch.
5994
 
5995
2010-06-23  Ed Schonberg  
5996
 
5997
        * inline.ads: Include the current Ada_Version in the info for pending
5998
        instance bodies, so that declaration and body are compiled with the
5999
        same Ada_Version.
6000
        * inline.adb: Move with_clause for Opt to spec.
6001
        * sem_ch12.adb (Analyze_Package_Instantiation,
6002
        Analyze_Subprogram_Instantiation): Save current Ada_Version in
6003
        Pending_Instantiation information.
6004
        (Instantiate_Package_Body, Instantiate_Subprogram_Body,
6005
        Inline_Package_Body): Use the Ada_Version present in the body
6006
        information.
6007
 
6008
2010-06-23  Robert Dewar  
6009
 
6010
        * usage.adb: Add documentation for -gnat12 switch.
6011
        * errout.ads: Add VMS alias entry for -gnat12 switch
6012
        * gnat_rm.texi: Add documentation for pragma Ada_12 and Ada_2012
6013
        Add documentation for pragma Extensions_Allowed.
6014
        * opt.ads: Add entry for Ada 2012 mode.
6015
        * sem_ch4.adb, par-ch3.adb, par-ch4.adb: Use new Ada 2012 mode for 2012
6016
        features.
6017
        * sem_prag.adb, par-prag.adb: Add processing for pragma Ada_12 and
6018
        Ada_2012.
6019
        * sem_ch13.adb: Add handling for Ada 2012 mode.
6020
        * snames.ads-tmpl: Add entries for pragma Ada_2012 and Ada_12.
6021
        * switch-c.adb: Add handling for -gnat12 switch.
6022
        Implement -gnat2005 and -gnat2012.
6023
        * usage.adb: Add documentation for -gnat12 switch.
6024
        * vms_data.ads: Add /12 switch for Ada 2012 mode.
6025
 
6026
2010-06-23  Arnaud Charlet  
6027
 
6028
        * exp_ch4.adb (Expand_N_Allocator): Fix potential crash when using
6029
        No_Task_Hierarchy restriction. Add comment.
6030
        * exp_ch9.adb, exp_ch3.adb: Update comments.
6031
 
6032
2010-06-23  Robert Dewar  
6033
 
6034
        * sem_ch5.adb (Process_Bounds): Remove some junk initializations.
6035
        * sem_res.adb: Add comments.
6036
        * sem_util.adb: Minor reformatting. Add comments.
6037
        Change increment on Actuals_In_Call table.
6038
        * opt.ads: Minor: add 'constant'.
6039
 
6040
2010-06-23  Javier Miranda  
6041
 
6042
        * exp_disp.adb (Make_DT): Initialize the Size_Func component of the
6043
        TSD to Null_Address if No_Dispatching_Calls is active.
6044
 
6045
2010-06-23  Vincent Celier  
6046
 
6047
        * a-comlin.ads: Indicate that use of this package is not supported
6048
        during the elaboration of an auto-initialized Stand-Alone Library.
6049
 
6050
2010-06-23  Ed Schonberg  
6051
 
6052
        * exp_util.adb (Is_Possibly_Misaligned_Object): Do not rely on an
6053
        alignment clause on a record type to determine if a component may be
6054
        misaligned. The decision must be taken in the back-end where target
6055
        alignment information is known.
6056
 
6057
2010-06-23  Arnaud Charlet  
6058
 
6059
        * gnat1drv.adb (Adjust_Global_Switches): Enable some restrictions
6060
        systematically in CodePeer mode to simplify generated code.
6061
        * restrict.adb (Check_Restriction): Do nothing in CodePeer mode.
6062
        * exp_ch4.adb (Expand_N_Allocator): Generate proper code when
6063
        No_Task_Hierarchy is set instead of crasshing.
6064
 
6065
2010-06-23  Thomas Quinot  
6066
 
6067
        * sem_util.adb: Minor code cleanup: test for proper entity instead of
6068
        testing just Chars attribute when checking whether a given scope is
6069
        System.
6070
        * exp_ch4.adb, einfo.adb: Minor reformatting.
6071
 
6072
2010-06-23  Vincent Celier  
6073
 
6074
        PR ada/44633
6075
        * switch-m.adb (Normalize_Compiler_Switches): Take into account
6076
        switches -gnatB, -gnatD=nn, -gnatG (incuding -gnatG=nn), -gnatI,
6077
        -gnatl=file, -gnatS, -gnatjnn, -gnateI=nn and -gnatWx.
6078
 
6079
2010-06-23  Ed Schonberg  
6080
 
6081
        * sem_res.adb (Resolve_Membership_Op): If left operand is a mixed mode
6082
        operation with a universal real operand, and the right operand is a
6083
        range with universal bounds, find unique fixed point that may be
6084
        candidate, and warn appropriately.
6085
 
6086
2010-06-23  Ed Schonberg  
6087
 
6088
        * sem_res.adb (Resolve_Intrinsic_Operator): Add guards to handle
6089
        properly the rare cases where VMS operators are visible through
6090
        Extend_System, but the default System is being used and Address is a
6091
        private type.
6092
        * sem_util.adb: Widen predicate Is_VMS_Operator.
6093
 
6094
2010-06-23  Vincent Celier  
6095
 
6096
        * switch-m.adb (Normalize_Compiler_Switches): Take into account -gnatC
6097
        and -gnateS.
6098
 
6099
2010-06-23  Olivier Hainque  
6100
 
6101
        * einfo.adb (Has_Foreign_Convention): Consider Intrinsic with
6102
        Interface_Name as foreign. These are GCC builtin imports for
6103
        which Ada specific processing doesn't apply.
6104
 
6105
2010-06-23  Thomas Quinot  
6106
 
6107
        * sem_ch12.adb: Minor reformatting.
6108
 
6109
2010-06-23  Ed Schonberg  
6110
 
6111
        * sem_util.adb (Is_VMS_Operator): Use scope of system extension to
6112
        determine whether an intrinsic subprogram is VMS specific.
6113
 
6114
2010-06-23  Hristian Kirtchev  
6115
 
6116
        * treepr.adb (Print_Entity_Info): Output the contents of Field28 if it
6117
        is present in the entity.
6118
 
6119
2010-06-23  Arnaud Charlet  
6120
 
6121
        * xr_tabls.adb, xref_lib.adb: Update to latest lib-xref.ads
6122
        Fix handling of parameters.
6123
        Add protection against unexpected cases.
6124
        * sem_ch6.adb (Create_Extra_Formals): Use suffix "L" instead of "A" for
6125
        access level, since "A" suffix is already used elsewhere. Similarly,
6126
        use suffix "O" instead of "C" for 'Constrained since "C" suffix is used
6127
        for xxx'Class.
6128
 
6129
2010-06-23  Thomas Quinot  
6130
 
6131
        * sem_util.adb, sem_util.ads: Minor reformatting.
6132
 
6133
2010-06-23  Vincent Celier  
6134
 
6135
        * prj.ads (Gprclean_Flags.Missing_Source_Files): Set to Error to keep
6136
        the previous behavior of gprclean when there are missing files.
6137
 
6138
2010-06-23  Ed Schonberg  
6139
 
6140
        * sem_ch12.adb (Load_Body_Of_Generic): In CodePeer mode, a missing
6141
        generic body is not a fatal error.
6142
        (Mark_Context): Handle properly names of child units.
6143
        * sem.adb (Walk_Library_Items.Do_Action): Remove assertion on
6144
        instantiations.
6145
 
6146
2010-06-23  Vincent Celier  
6147
 
6148
        * ali.adb (Scan_ALI): When ignoring R lines, do not skip the next
6149
        non-empty line.
6150
 
6151
2010-06-23  Bob Duff  
6152
 
6153
        * g-pehage.ads, g-pehage.adb: Switch default optimization mode to
6154
        Memory_Space, because CPU_Time doesn't seem to provide any significant
6155
        speed advantage in practice. Cleanup: Get rid of constant
6156
        Default_Optimization; doesn't seem to add anything. Use case
6157
        statements instead of if statements; seems cleaner.
6158
 
6159
2010-06-23  Olivier Hainque  
6160
 
6161
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Use
6162
        Wshadow instead of Wextra to guard warning on absence of internal
6163
        builtin decl for an import.  Fix use of quote in warning text.
6164
        (intrin_arglists_compatible_p): Remove processing of integer trailing
6165
        args on the Ada side.  Fix use of literal > in warning text.
6166
        (intrin_return_compatible_p): Never warn on "function imported as
6167
        procedure".  Defer the void/void case to the common type compatibility
6168
        check.
6169
        (gnat_to_gnu_param): Use void_ptr GCC type for System.Address argument
6170
        of GCC builtin imports.
6171
 
6172
2010-06-23  Olivier Hainque  
6173
 
6174
        * gcc-interface/decl.c (intrin_types_incompatible_p): New function,
6175
        helper for ...
6176
        (intrin_arglists_compatible_p, intrin_return_compatible_p): New
6177
        functions, helpers for ...
6178
        (intrin_profiles_compatible_p): New function, replacement for ...
6179
        (compatible_signatures_p): Removed.
6180
        (gnat_to_gnu_entity) : If -Wextra, warn on
6181
        attempt to bind an unregistered builtin function.  When we have
6182
        one, use it and warn on profile incompatibilities.
6183
 
6184
2010-06-23  Arnaud Charlet  
6185
 
6186
        * gcc-interface/Make-lang.in: Update dependencies.
6187
 
6188
2010-06-23  Ed Schonberg  
6189
 
6190
        * sem_util.adb (Mark_Coextensions): If the expression in the allocator
6191
        for a coextension in an object declaration is a concatenation, treat
6192
        coextension as dynamic.
6193
 
6194
2010-06-23  Javier Miranda  
6195
 
6196
        * sem_ch3.adb (Add_Internal_Interface_Entities): Ensure that the
6197
        internal entities are added to the scope of the tagged type.
6198
        (Derive_Subprograms): Do not stop derivation when we find the first
6199
        internal entity that has attribute Interface_Alias. After the change
6200
        done to Override_Dispatching_Operations it is no longer true that
6201
        these primirives are always located at the end of the list of
6202
        primitives.
6203
        * einfo.ads (Primitive_Operations): Add documentation.
6204
        * exp_disp.adb (Write_DT): Improve output adding to the name of the
6205
        primitive a prefix indicating its corresponding tagged type.
6206
        * sem_disp.adb (Override_Dispatching_Operations): If the overridden
6207
        entity covers the primitive of an interface that is not an ancestor of
6208
        this tagged type then the new primitive is added at the end of the list
6209
        of primitives.  Required to fulfill the C++ ABI.
6210
 
6211
2010-06-23  Javier Miranda  
6212
 
6213
        * atree.ads (Set_Reporting_Proc): New subprogram.
6214
        * atree.adb: Remove dependency on packages Opt and SCIL_LL.
6215
        (Allocate_Initialize_Node, Replace, Rewrite): Replace direct calls
6216
        to routines of package Scil_ll by indirect call to the registered
6217
        subprogram.
6218
        (Set_Reporting_Proc): New subprogram. Used to register a subprogram
6219
        that is invoked when a node is allocated, replaced or rewritten.
6220
        * scil_ll.adb (Copy_SCIL_Node): New routine that takes care of copying
6221
        the SCIL node. Used as argument for Set_Reporting_Proc.
6222
        (Initialize): Register Copy_SCIL_Node as the reporting routine that
6223
        is invoked by atree.
6224
 
6225
2010-06-23  Thomas Quinot  
6226
 
6227
        * sem_ch3.ads: Minor reformatting.
6228
 
6229
2010-06-23  Ed Schonberg  
6230
 
6231
        * sem_ch12.adb (Analyze_Package_Instantiation): In CodePeer mode,
6232
        always analyze the generic body and instance, because it may be needed
6233
        downstream.
6234
        (Mark_Context): Prepend the with clauses for needed generic units, so
6235
        they appear in a better order for CodePeer.
6236
        * sem_util.adb, sem_util.ads: Prototype code for AI05-0144.
6237
 
6238
2010-06-23  Emmanuel Briot  
6239
 
6240
        * prj.ads, prj-nmsc.adb (Error_Or_Warning): New subprogram.
6241
 
6242
2010-06-23  Robert Dewar  
6243
 
6244
        * g-pehage.adb, exp_ch13.adb: Minor reformatting.
6245
 
6246
2010-06-23  Thomas Quinot  
6247
 
6248
        * a-tags.ads: Fix description of TSD structure.
6249
 
6250
2010-06-23  Ed Schonberg  
6251
 
6252
        * sem_ch12.adb (Mark_Context): When indicating that the body of a
6253
        generic unit is needed prior to the unit containing an instantiation,
6254
        search recursively the context of the generic to add other generic
6255
        bodies that may be instantiated indirectly through the current instance.
6256
 
6257
2010-06-23  Robert Dewar  
6258
 
6259
        * freeze.adb: Minor reformatting.
6260
 
6261
2010-06-23  Bob Duff  
6262
 
6263
        * g-pehage.adb (Trim_Trailing_Nuls): Fix the code to match the comment.
6264
 
6265
2010-06-23  Vincent Celier  
6266
 
6267
        * make.adb (Compile_Sources): Complete previous change.
6268
 
6269
2010-06-23  Ed Schonberg  
6270
 
6271
        * sem_ch6.adb (Add_Extra_Formal): Use suffix "C" in the name of the
6272
        Constrained extra formal.
6273
 
6274
2010-06-23  Ed Schonberg  
6275
 
6276
        * exp_ch13.adb (Expand_Freeze_Actions): If validity checks and
6277
        Initialize_Scalars are enabled, compile the generated equality function
6278
        for a composite type with full checks enabled, so that validity checks
6279
        are performed on individual components.
6280
 
6281
2010-06-23  Emmanuel Briot  
6282
 
6283
        * prj.adb, prj.ads, prj-nmsc.adb (Processing_Flags): New flag
6284
        Missing_Source_Files.
6285
 
6286
2010-06-23  Robert Dewar  
6287
 
6288
        * exp_ch3.adb, exp_util.adb: Minor reformatting.
6289
 
6290
2010-06-23  Jose Ruiz  
6291
 
6292
        * a-reatim.adb, a-retide.adb: Move the initialization of the tasking
6293
        run time from Ada.Real_Time.Delays to Ada.Real_Time. This way, calls to
6294
        Clock (without delays) use a run time which is properly initialized.
6295
 
6296
2010-06-23  Vincent Celier  
6297
 
6298
        * make.adb: Do not set Check_Readonly_Files when setting Must_Compile,
6299
        when -f -u and a main is specified on the command line. However,
6300
        attempt to compile even when the ALI file is read-only when
6301
        Must_Compile is True.
6302
 
6303
2010-06-23  Thomas Quinot  
6304
 
6305
        * checks.adb, g-pehage.adb, cstand.adb: Minor code factorization.
6306
 
6307
2010-06-23  Javier Miranda  
6308
 
6309
        * sem_ch3.adb (Add_Internal_Interface_Entities): Generate internal
6310
        entities for parent types that are interfaces. Needed in generics to
6311
        handle formals that implement interfaces.
6312
        (Derive_Subprograms): Add assertion for derivation of tagged types that
6313
        do not cover interfaces. For generics, complete code that handles
6314
        derivation of type that covers interfaces because the previous
6315
        condition was weak (it required only name consistency; arguments were
6316
        not checked). Add new code to locate primitives covering interfaces
6317
        defined in generic units or instantiatons.
6318
        * sem_util.adb (Has_Interfaces): Add missing support for derived types.
6319
        * sem_ch6.adb (Check_Overriding_Indicator): Minor code cleanups.
6320
        * exp_disp.adb (Make_Select_Specific_Data_Table): Skip primitives of
6321
        interfaces that are parents of the type because they share the primary
6322
        dispatch table.
6323
        (Register_Primitive): Do not register primitives of interfaces that
6324
        are parents of the type.
6325
        * sem_ch13.adb (Analyze_Freeze_Entity): Add documentation.
6326
        * exp_cg.adb (Write_Type_Info): When displaying overriding of interface
6327
        primitives skip primitives of interfaces that are parents of the type.
6328
 
6329
2010-06-23  Ed Schonberg  
6330
 
6331
        * sem_attr.adb (Eval_Attribute): If the prefix is an array, the
6332
        attribute cannot be constant-folded if an index type is a formal type,
6333
        or is derived from one.
6334
        * checks.adb (Determine_Range): ditto.
6335
 
6336
2010-06-23  Arnaud Charlet  
6337
 
6338
        * gnat_ugn.texi, gnatxref.adb: Add support for --ext switch.
6339
 
6340
2010-06-23  Bob Duff  
6341
 
6342
        * g-pehage.ads, g-pehage.adb (Put): Fix off-by-one bug.
6343
        (Insert): Disallow nul characters.
6344
        (misc output routines): Assert no nul characters.
6345
 
6346
2010-06-23  Ed Schonberg  
6347
 
6348
        * exp_ch4.adb: Use predefined unsigned type in all cases.
6349
 
6350
2010-06-23  Bob Duff  
6351
 
6352
        * s-rannum.adb (Reset): Avoid overflow in calculation of Initiator.
6353
        * g-pehage.ads: Minor comment fixes.
6354
        * g-pehage.adb: Minor: Add some additional debugging printouts under
6355
        Verbose flag.
6356
 
6357
2010-06-23  Robert Dewar  
6358
 
6359
        * binde.adb (Better_Choice): Always prefer Pure/Preelab.
6360
        (Worse_Choice): Always prefer Pure/Preelab.
6361
 
6362
2010-06-23  Vincent Celier  
6363
 
6364
        * a-reatim.adb: Call System.OS_Primitives.Initialize during elaboration
6365
 
6366
2010-06-23  Robert Dewar  
6367
 
6368
        * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Properly handle
6369
        checking returns in generic case.
6370
        (Check_Missing_Return): New procedure.
6371
 
6372
2010-06-23  Robert Dewar  
6373
 
6374
        * bindgen.adb, switch-b.adb: Minor reformatting.
6375
 
6376
2010-06-23  Javier Miranda  
6377
 
6378
        * frontend.adb (Frontend): Add call to initialize the new package
6379
        SCIL_LL.
6380
        * exp_ch7.adb (Wrap_Transient_Expression): Remove call to
6381
        Adjust_SCIL_Node.
6382
        (Wrap_Transient_Statement): Remove call to Adjust_SCIL_Node.
6383
        * sem_ch5.adb (Analyze_Iteration_Scheme.Process_Bounds): Remove call to
6384
        Adjust_SCIL_Node.
6385
        * exp_util.adb (Insert_Actions): Remove code for
6386
        N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
6387
        (Remove_Side_Effects): Remove calls to Adjust_SCIL_Node.
6388
        * sinfo.adb (SCIL_Entity, SCIL_Tag_Value): Remove checks on
6389
        N_SCIL_Tag_Init and N_SCIL_Dispatch_Table_Object_Init in the assertion.
6390
        (SCIL_Related_Node, Set_SCIL_Related_Node): Removed.
6391
        * sinfo.ads (SCIL_Related_Node): Field removed.
6392
        (N_SCIL_Dispatch_Table_Object_Init): Node removed.
6393
        (N_SCIL_Tag_Init): Node removed.
6394
        * sem_scil.ads, sem_scil.adb (Adjust_SCIL_Node): Removed.
6395
        (Check_SCIL_Node): New implementation.
6396
        (Find_SCIL_Node): Removed.
6397
        * sem.adb (Analyze): Remove management of
6398
        N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
6399
        * sem_util.adb (Insert_Explicit_Dereference): Remove call to
6400
        Adjust_SCIL_Node.
6401
        * exp_ch4.adb (Expand_N_In): Code cleanup: remove call to
6402
        Set_SCIL_Related_Node and avoid adding the SCIL node before the
6403
        referenced node using Insert_Action because this is not longer
6404
        required.
6405
        (Expand_Short_Circuit_Operator): Remove call to SCIL node.
6406
        * exp_ch6.adb (Expand_Call): Remove call to Adjust_SCIL_Node.
6407
        * sem_ch4.adb (Analyze_Type_Conversion): Remove call to
6408
        Adjust_SCIL_Node.
6409
        * exp_disp.adb (Expand_Dispatching_Call): Minor code reorganization
6410
        because we no longer require to generate the SCIL node before the call.
6411
        (Make_DT): Remove generation of SCI_Dispatch_Table_Object_Init node.
6412
        Remove calls to Set_SCIL_Related_Node and avoid adding the SCIL
6413
        nodes before the referenced node using Insert_Action because this
6414
        is not longer required.
6415
        * atree.adb (Allocate_Initialize_Node, Replace, Rewrite): Add call to
6416
        update the SCIL_Node field.
6417
        * sprint.adb (Sprint_Node_Actual): Remove code for
6418
        N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
6419
        * treepr.adb (Print_Node): Print the SCIL node field (if available).
6420
        * exp_ch3.adb (Build_Init_Procedure): Remove generation of
6421
        SCIL_Tag_Init nodes.
6422
        * scil_ll.ads, scil_ll.adb: New files.
6423
        * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
6424
        dependencies.
6425
 
6426
2010-06-23  Robert Dewar  
6427
 
6428
        * sem_ch6.adb: Minor reformatting.
6429
 
6430
2010-06-23  Doug Rupp  
6431
 
6432
        * bindusg.adb (Display): Write -Hnn line.
6433
        * bindgen.adb (Gen_Adainit_Ada): Write Heap_Size to binder file as
6434
        necessary.
6435
        * init.c (__gl_heap_size): Rename from __gl_no_malloc_64 and change
6436
        valid values to 32 and 64.
6437
        (GNAT$NO_MALLOC_64): Recognize TRUE, 1, FALSE, and 0 in addition to
6438
        ENABLE, DISABLE as valid settings.
6439
        * switch-b.adb (Scan_Binder_Switches): Process -Hnn switch.
6440
        * opt.ads (Heap_Size): New global variable.
6441
        * gcc-interface/utils2.c (maybe_wrap_malloc): Remove mostly redundant
6442
        TARGET_MALLOC64 check. Fix comment.
6443
 
6444
2010-06-23  Robert Dewar  
6445
 
6446
        * sem_ch6.adb, exp_ch4.adb, s-rannum.ads, sem.adb, sem_ch12.adb: Minor
6447
        reformatting.  Add comments.
6448
        * errout.adb (Finalize): Properly adjust warning count when deleting
6449
        continuations.
6450
 
6451
2010-06-22  Robert Dewar  
6452
 
6453
        * errout.adb (Finalize): Set Prev pointers.
6454
        (Finalize): Delete continuations for deletion by warnings off(str).
6455
        * erroutc.ads: Add Prev pointer to error message structure.
6456
 
6457
2010-06-22  Ed Schonberg  
6458
 
6459
        * sem.adb (Do_Unit_And_Dependents): If the spec of the main unit is a
6460
        child unit, examine context of parent units to locate instantiated
6461
        generics whose bodies may be needed.
6462
        * sem_ch12.adb: (Mark_Context): if the enclosing unit does not have a
6463
        with_clause for the instantiated generic, examine the context of its
6464
        parents, to set Withed_Body flag, so that it can be visited earlier.
6465
        * exp_ch4.adb (Expand_N_Op_Not): If this is a VMS operator applied to
6466
        an unsigned type, use a type of the proper size for the intermediate
6467
        value, to prevent alignment problems on unchecked conversion.
6468
 
6469
2010-06-22  Geert Bosch  
6470
 
6471
        * s-rannum.ads Change Generator type to be self-referential to allow
6472
        Random to update its argument. Use "in" mode for the generator in the
6473
        Reset procedures to allow them to be called from the Ada.Numerics
6474
        packages without tricks.
6475
        * s-rannum.adb: Use the self-referencing argument to get write access
6476
        to the internal state of the random generator.
6477
        * a-nudira.ads: Make Generator a derived type of
6478
        System.Random_Numbers.Generator.
6479
        * a-nudira.adb: Remove use of 'Unrestricted_Access.
6480
        Put subprograms in alpha order and add headers.
6481
        * g-mbdira.ads: Change Generator type to be self-referential.
6482
        * g-mbdira.adb: Remove use of 'Unrestricted_Access.
6483
 
6484
2010-06-22  Robert Dewar  
6485
 
6486
        * freeze.adb: Minor reformatting
6487
        Minor code reorganization (use Nkind_In and Ekind_In).
6488
 
6489
2010-06-22  Bob Duff  
6490
 
6491
        * gnat1drv.adb (Gnat1drv): Remove the messages that recommend using
6492
        -gnatc when a file is compiled that we cannot generate code for, not
6493
        helpful and confusing.
6494
 
6495
2010-06-22  Vincent Celier  
6496
 
6497
        * switch-m.adb (Normalize_Compiler_Switches): Process correctly
6498
        switches -gnatknn.
6499
 
6500
2010-06-22  Paul Hilfinger  
6501
 
6502
        * s-rannum.adb: Replace constants with commented symbols.
6503
        * s-rannum.ads: Explain significance of the initial value of the data
6504
        structure.
6505
 
6506
2010-06-22  Ed Schonberg  
6507
 
6508
        * a-ngcoty.adb: Clarify comment.
6509
 
6510
2010-06-22  Gary Dismukes  
6511
 
6512
        * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Return without
6513
        expansion for indexing packed arrays with small power-of-2 component
6514
        sizes when the target is AAMP.
6515
        (Expand_Packed_Element_Reference): Return without expansion for
6516
        indexing packed arrays with small power-of-2 component sizes when the
6517
        target is AAMP.
6518
 
6519
2010-06-22  Geert Bosch  
6520
 
6521
        * exp_ch4.adb (Expand_N_In): Do not substitute a valid check for X in
6522
        Float'Range.
6523
 
6524
2010-06-22  Robert Dewar  
6525
 
6526
        * g-mbdira.adb, g-mbflra.adb, a-nuflra.adb, a-nudira.adb: Minor comment
6527
        updates.
6528
 
6529
2010-06-22  Doug Rupp  
6530
 
6531
        * system-vms.ads, system-vms-zcx.ads: Remove old unused VMS system
6532
        packages.
6533
        * system-vms_64.ads, system-vms-ia64.ads: Minor reformatting.
6534
        (pragma Ident): Add a default ident string in the private part.
6535
 
6536
2010-06-22  Robert Dewar  
6537
 
6538
        * cstand.adb: Minor reformatting.
6539
 
6540
2010-06-22  Ed Schonberg  
6541
 
6542
        * freeze.adb (Build_And_Analyze_Renamed_Body): For expansion purposes,
6543
        recognize the Shift and Rotation intrinsics that are known to the
6544
        compiler but have no interface name.
6545
 
6546
2010-06-22  Geert Bosch  
6547
 
6548
        * a-ngcoty.adb ("*"): Rewrite complex multiplication to use proper
6549
        scaling in case of overflow or NaN results.
6550
 
6551
2010-06-22  Robert Dewar  
6552
 
6553
        * cstand.adb: Complete previous change.
6554
        * g-dirope.ads: Add comment.
6555
        * s-stchop.adb, sfn_scan.adb: Minor reformatting.
6556
 
6557
2010-06-22  Ed Schonberg  
6558
 
6559
        * cstand.adb: Add tree nodes for pragma Pack on string types.
6560
 
6561
2010-06-22  Javier Miranda  
6562
 
6563
        * einfo.ads, einfo.adb (Last_Formal): New synthesized attribute.
6564
        * exp_util.adb (Find_Prim_Op): Use new attribute to locate the last
6565
        formal of a primitive.
6566
        * exp_disp.adb (Is_Predefined_Dispatching_Operation,
6567
         Is_Predefined_Dispatching_Alias): Use new attribute to locate the last
6568
        formal of a primitive.
6569
        * exp_cg.adb (Is_Predefined_Dispatching_Operation): Use new attribute
6570
        to obtain the last formal of a primitive.
6571
 
6572
2010-06-22  Geert Bosch  
6573
 
6574
        * sysdep.c, init.c, adaint.c, cstreams.c: Remove conditional code
6575
        depending on __EMX__ or MSDOS being defined.
6576
        * i-cstrea.ads, gnat_rm.texi: Remove mentions of OS/2, DOS and Xenix.
6577
        * a-excpol-abort.adb: Update comment indicating users of the file.
6578
        * xref_lib.adb, sfn_scan.adb: Remove mention of OS/2, replace NT by
6579
        Windows.
6580
        * env.c: Remove empty conditional for MSDOS.
6581
        * s-stchop.adb, g-dirope.ads, s-fileio.adb, osint.ads: Remove mention
6582
        of OS/2 in comment.
6583
 
6584
2010-06-22  Robert Dewar  
6585
 
6586
        * s-rannum.adb: Minor reformatting.
6587
 
6588
2010-06-22  Javier Miranda  
6589
 
6590
        * sem_aux.adb, sem_aux.ads, sem_util.adb, sem_util.ads, sem_elim.adb,
6591
        exp_cg.adb: Minor code reorganization: Move routine Ultimate_Alias from
6592
        package Sem_Util to package Sem_Aux.
6593
 
6594
2010-06-22  Javier Miranda  
6595
 
6596
        * exp_disp.adb (Make_Secondary_DT, Make_DT): Minor code cleanup:
6597
        remove useless restriction on imported routines when building the
6598
        dispatch tables.
6599
 
6600
2010-06-22  Robert Dewar  
6601
 
6602
        * cstand.adb (Create_Standard): Set Has_Pragma_Pack for standard string
6603
        types.
6604
 
6605
2010-06-22  Javier Miranda  
6606
 
6607
        * sem_ch4.adb (Collect_Generic_Type_Ops): Protect code that handles
6608
        generic subprogram declarations to ensure proper context. Add missing
6609
        support for generic actuals.
6610
        (Try_Primitive_Operation): Add missing support for concurrent types
6611
        that have no Corresponding_Record_Type. Required to diagnose errors
6612
        compiling
6613
        generics or when compiling with no code generation (-gnatc).
6614
        * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Do not build
6615
        the corresponding record type.
6616
        * sem_disp.ads, sem_disp.adb (Check_Dispatching_Operation): Complete
6617
        documentation. Do minimum decoration when processing a primitive of a
6618
        concurrent tagged type that covers interfaces. Required to diagnose
6619
        errors in the Object.Operation notation compiling generics or under
6620
        -gnatc.
6621
        * exp_ch9.ads, exp_ch9.adb (Build_Corresponding_Record): Add missing
6622
        propagation of attribute Interface_List to the corresponding record.
6623
        (Expand_N_Task_Type_Declaration): Code cleanup.
6624
        (Expand_N_Protected_Type_Declaration): Code cleanup.
6625
 
6626
2010-06-22  Matthew Heaney  
6627
 
6628
        * a-convec.adb, a-coinve.adb: Removed 64-bit types Int and UInt.
6629
 
6630
2010-06-22  Paul Hilfinger  
6631
 
6632
        * s-rannum.adb (Random_Float_Template): Replace with unbiased version
6633
        that is able to produce all representable floating-point numbers in the
6634
        unit interval. Remove template parameter Shift_Right, no longer used.
6635
        * gnat_rm.texi: Document the period of the pseudo-random number
6636
        generator under the description of its algorithm.
6637
        * gcc-interface/Make-lang.in: Update dependencies.
6638
 
6639
2010-06-22  Thomas Quinot  
6640
 
6641
        * exp_aggr.adb (Rewrite_Discriminant): Fix predicate used to identify
6642
        reference to discriminant (can be an expanded name as well as an
6643
        identifier).
6644
 
6645
2010-06-22  Ed Schonberg  
6646
 
6647
        * exp_ch6.adb: Clarify comment.
6648
 
6649
2010-06-22  Geert Bosch  
6650
 
6651
        * exp_imgv.adb (Expand_Image_Attribute): Treat ordinary fixed point
6652
        with decimal small as decimal types, avoiding FP arithmetic.
6653
        (Has_Decimal_Small): New function.
6654
        * einfo.ads, einfo.adb (Aft_Value): New synthesized attributed for
6655
        fixed point types.
6656
        * sem_attr.adb (Eval_Attribute): Remove Aft_Value function and update
6657
        callers to call the new function in Einfo that takes the entity as
6658
        parameter.
6659
 
6660
2010-06-22  Robert Dewar  
6661
 
6662
        * sem_ch3.adb, sem_ch8.adb: Minor reformatting.
6663
 
6664
2010-06-22  Thomas Quinot  
6665
 
6666
        * sem_elab.adb: Minor reformatting.
6667
 
6668
2010-06-22  Vincent Celier  
6669
 
6670
        * gnatsym.adb: Put the object files in the table in increasing
6671
        aphabetical order of base names.
6672
 
6673
2010-06-22  Ed Schonberg  
6674
 
6675
        * sem_ch8.adb (Set_Entity_Or_Discriminal): New procedure used by
6676
        Find_Direct_Name and Find_Expanded_Name, to replace a discriminant with
6677
        the corresponding discriminal within a record declaration.
6678
 
6679
2010-06-22  Thomas Quinot  
6680
 
6681
        * exp_aggr.adb (Rewrite_Discriminant): Rewriting must occur only for an
6682
        expression referring to a discriminal of the type of the aggregate (not
6683
        a discriminal of some other unrelated type), and the prefix in the
6684
        generated selected component must come from Lhs, not Obj.
6685
 
6686
2010-06-22  Thomas Quinot  
6687
 
6688
        * sem_ch3.adb (Build_Derived_Record_Type): Fix predicate determining
6689
        when to freeze the parent type.
6690
 
6691
2010-06-22  Robert Dewar  
6692
 
6693
        * s-rannum.adb, a-nudira.adb, types.ads, freeze.adb, sem_aggr.adb,
6694
        exp_aggr.adb: Minor reformatting.
6695
        * gnat_rm.texi: Document GNAT.MBBS_Discrete_Random and
6696
        GNAT.MBSS_Float_Random.
6697
        * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: Fix header.
6698
 
6699
2010-06-22  Paul Hilfinger  
6700
 
6701
        * a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads,
6702
        gnat_rm.texi, impunit.adb, Makefile.rtl, s-rannum.adb
6703
        (Random_Float_Template, Random): New method of creating
6704
        uniform floating-point variables that allow the creation of all machine
6705
        values in [0 .. 1).
6706
 
6707
        * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: New file.
6708
 
6709
2010-06-22  Gary Dismukes  
6710
 
6711
        * sem_ch5.adb (Analyze_Assignment): Revise test for illegal assignment
6712
        to abstract targets to check that the type is tagged and comes from
6713
        source, rather than only testing for targets of interface types. Remove
6714
        premature return.
6715
 
6716
2010-06-22  Vincent Celier  
6717
 
6718
        * vms_data.ads: Modify the declarations of qualifiers
6719
        /UNCHECKED_SHARED_LIB_IMPORTS to allow the generation of gnat.hlp
6720
        without error.
6721
 
6722
2010-06-22  Ed Schonberg  
6723
 
6724
        * exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false if
6725
        expansion is disabled.
6726
 
6727
2010-06-22  Robert Dewar  
6728
 
6729
        * makeusg.adb: Minor reformatting.
6730
 
6731
2010-06-22  Robert Dewar  
6732
 
6733
        * types.ads: (Dint): Removed, no longer used anywhere.
6734
        * uintp.adb (UI_From_CC): Use UI_From_Int, range is sufficient.
6735
        (UI_Mul): Avoid use of UI_From_Dint.
6736
        (UI_From_Dint): Removed, not used.
6737
        * uintp.ads (UI_From_Dint): Removed, not used.
6738
        (Uint_Min/Max_Simple_Mul): New constants.
6739
 
6740
2010-06-22  Vincent Celier  
6741
 
6742
        * clean.adb (Parse_Cmd_Line): Recognize switch
6743
        --unchecked-shared-lib-imports.
6744
        (Usage): Add line for switch --unchecked-shared-lib-imports
6745
        * makeusg.adb: Add line for switch --unchecked-shared-lib-imports
6746
        * makeutl.ads: (Unchecked_Shared_Lib_Imports): New constant string
6747
        moved from GPR_Util.
6748
        * switch-m.adb (Scan_Make_Switches): Recognize switch
6749
        --unchecked-shared-lib-imports.
6750
        * vms_data.ads: Add VMS qualifiers /UNCHECKED_SHARED_LIB_IMPORTS.
6751
        * gnat_ugn.texi: Add documentation for new switch
6752
        --unchecked-shared-lib-imports.  Add also documentation for --subdirs.
6753
 
6754
2010-06-22  Javier Miranda  
6755
 
6756
        * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, exp_ch6.adb,
6757
        exp_disp.adb, sem_eval.adb, exp_dist.adb lib-xref.adb: Code cleanup,
6758
        this patch replaces duplication of code that traverses the chain of
6759
        aliased primitives by a call to routine Ultimate_Alias that
6760
        provides this functionality.
6761
 
6762
2010-06-22  Arnaud Charlet  
6763
 
6764
        * fmap.adb, opt.ads, osint.adb, osint.ads, output.ads, scng.adb,
6765
        sinput-c.adb, switch-m.ads, tree_io.ads: Use simpler form of
6766
        Warnings Off/On.
6767
 
6768
2010-06-22  Thomas Quinot  
6769
 
6770
        * einfo.ads: Minor reformatting.
6771
 
6772
2010-06-22  Javier Miranda  
6773
 
6774
        * exp_disp.adb (Expand_Interface_Thunk): Do not generate thunk of
6775
        eliminated primitives.
6776
        (Make_DT): Avoid referencing eliminated primitives.
6777
        (Register_Primitive): Do not register eliminated primitives in the
6778
        dispatch table. Required to add this functionality when the program is
6779
        compiled without static dispatch tables (-gnatd.t)
6780
 
6781
2010-06-22  Emmanuel Briot  
6782
 
6783
        * fmap.adb, scng.adb, switch-m.ads, sinput-c.adb, opt.ads, output.ads,
6784
        tree_io.ads, osint.adb, osint.ads: Use configuration pragmas to prevent
6785
        warnings on use of internal GNAT units.
6786
 
6787
2010-06-22  Jose Ruiz  
6788
 
6789
        * s-taprop-vxworks.adb (Set_Priority): Update comments.
6790
 
6791
2010-06-22  Paul Hilfinger  
6792
 
6793
        * s-rannum.adb: Make stylistic change to remove mystery constant in
6794
        Extract_Value.  Image_Numeral_Length: new symbolic constant.
6795
 
6796
2010-06-22  Ed Schonberg  
6797
 
6798
        * einfo.ads, einfo.adb: Make Is_Protected_Interface,
6799
        Is_Synchronized_Interface, Is_Task_Interface into computable
6800
        predicates, to free three flags in entity nodes.
6801
        * sem_ch3.adb: Remove setting of these flags.
6802
 
6803
2010-06-22  Robert Dewar  
6804
 
6805
        * uintp.adb, osint.adb, prj-conf.adb, prj-part.adb, prj.adb: Minor
6806
        reformatting.
6807
        * s-taprop-vxworks.adb: Add comment for Set_Priority.
6808
        * impunit.adb (Map_Array): Add entries for s-htable.ads and s-crc32.ads
6809
        * projects.texi: Move @cindex to the left margin, since otherwise we
6810
        are missing entries in the index.
6811
 
6812
2010-06-22  Emmanuel Briot  
6813
 
6814
        * prj-part.adb, prj.adb, tempdir.ads, makeutl.adb: Use
6815
        packages from the GNAT hierarchy instead of System when possible.
6816
        * gcc-interface/Make-lang.in: Update dependencies.
6817
 
6818
2010-06-22  Jose Ruiz  
6819
 
6820
        * s-taprop-vxworks.adb (Set_Priority): Remove the code that was
6821
        previously in place to reorder the ready queue when a task drops its
6822
        priority due to the loss of inherited priority.
6823
 
6824
2010-06-22  Vincent Celier  
6825
 
6826
        * projects.texi: Minor spelling error fixes.
6827
        Minor reformatting.
6828
 
6829
2010-06-22  Emmanuel Briot  
6830
 
6831
        * prj-part.adb, prj-ext.adb, prj.adb, makeutl.adb, prj-conf.adb: Remove
6832
        warnings for some with clauses.
6833
 
6834
2010-06-22  Robert Dewar  
6835
 
6836
        * errout.adb (Unwind_Internal_Type): Improve handling of First_Subtype
6837
        test to catch more cases where first subtype is the results we want.
6838
        * sem_res.adb (Make_Call_Into_Operator): Don't go to First_Subtype in
6839
        error case, since Errout will now handle this correctly.
6840
        * gcc-interface/Make-lang.in: Add Sem_Aux to list of GNATBIND objects.
6841
        Update dependencies.
6842
 
6843
2010-06-22  Arnaud Charlet  
6844
 
6845
        * exp_ch4.adb (Expand_Allocator_Expression): Set Related_Node properly
6846
        when calling Make_Temporary.
6847
 
6848
2010-06-22  Ed Schonberg  
6849
 
6850
        * sem_ch3.adb (Access_Subprogram_Declaration): An anonymous access to
6851
        subprogram can be associated with an entry body.
6852
 
6853
2010-06-22  Robert Dewar  
6854
 
6855
        * scos.ads: Add note on membership test handling.
6856
 
6857
2010-06-22  Vincent Celier  
6858
 
6859
        * projects.texi: Minor spelling fixes.
6860
        Minor reformatting.
6861
 
6862
2010-06-22  Paul Hilfinger  
6863
 
6864
        * s-rannum.adb: Correct off-by-one error in Extract_Value.
6865
 
6866
2010-06-22  Vincent Celier  
6867
 
6868
        * mlib-prj.adb (Display): In non verbose mode, truncate after fourth
6869
        argument.
6870
        * mlib-utl.adb (Gcc): In non verbose mode, truncate the display of the
6871
        gcc command if it is too long.
6872
 
6873
2010-06-22  Robert Dewar  
6874
 
6875
        * errout.adb (Set_Msg_Node): Fix incorrect reference to node.
6876
 
6877
2010-06-22  Arnaud Charlet  
6878
 
6879
        * exp_ch6.adb (Expand_Actuals): Use Actual as the related node when
6880
        calling Make_Temporary.
6881
 
6882
2010-06-22  Robert Dewar  
6883
 
6884
        * sem_res.adb, sem_aux.adb, errout.adb: Minor reformatting.
6885
 
6886
2010-06-22  Ed Schonberg  
6887
 
6888
        * sem_res.adb: Additional special-case for VMS.
6889
 
6890
2010-06-22  Vincent Celier  
6891
 
6892
        * gnatsym.adb: Minor comment fix.
6893
 
6894
2010-06-22  Vincent Celier  
6895
 
6896
        * prj-nmsc.adb (Process_Naming_Scheme): Initialize Lib_Data_Table.
6897
 
6898
2010-06-22  Robert Dewar  
6899
 
6900
        * par-ch4.adb (P_Name): Recognize 'Mod attribute in Ada 95 mode
6901
        * sem_attr.adb (Attribute_05): Add Name_Mod so that 'Mod recognized in
6902
        Ada 95 mode as an implementation defined attribute.
6903
 
6904
2010-06-22  Vincent Celier  
6905
 
6906
        * bindusg.adb (Display): Update line for -R
6907
        * switch-b.adb (Scan_Binder_Switches): Allow generation of the binder
6908
        generated files when -R is used.
6909
 
6910
2010-06-22  Vincent Celier  
6911
 
6912
        * prj-nmsc.adb (Lib_Data_Table): New table.
6913
        (Check_Library_Attributes): Check if the same library name is used in
6914
        two different projects that do not extend each other.
6915
 
6916
2010-06-22  Robert Dewar  
6917
 
6918
        * lib-writ.ads, errout.adb, einfo.adb, einfo.ads: Minor reformatting.
6919
 
6920
2010-06-22  Vincent Celier  
6921
 
6922
        * adaint.c (__gnat_locate_regular_file): If a directory in the path is
6923
        empty, make it the current working directory.
6924
 
6925
2010-06-22  Thomas Quinot  
6926
 
6927
        * sem_ch3.adb (Build_Derived_Record_Type): When deriving a tagged
6928
        private type with discriminants, make sure the parent type is frozen.
6929
 
6930
2010-06-22  Eric Botcazou  
6931
 
6932
        * exp_attr.adb (Expand_N_Attribute_Reference) : Deal
6933
        with packed array references specially.
6934
        * exp_ch4.adb (Expand_N_Indexed_Component): Do not convert a reference
6935
        to a component of a bit packed array if it is the prefix of 'Bit.
6936
        * exp_pakd.ads (Expand_Packed_Bit_Reference): Declare.
6937
        * exp_pakd.adb (Expand_Packed_Bit_Reference): New procedure.  Expand a
6938
        'Bit reference, where the prefix involves a packed array reference.
6939
        (Get_Base_And_Bit_Offset): New helper, extracted from...
6940
        (Expand_Packed_Address_Reference): ...here.  Call above procedure to
6941
        get the outer object and offset expression.
6942
 
6943
2010-06-22  Thomas Quinot  
6944
 
6945
        * exp_attr.adb, lib-writ.ads, bindgen.adb: Minor reformatting.
6946
        * einfo.adb (Related_Expression, Set_Related_Expression): Add
6947
        assertions.
6948
 
6949
2010-06-22  Javier Miranda  
6950
 
6951
        * sem_ch3.adb (Add_Internal_Interface_Entities): Minor code
6952
        reorganization to properly check if the operation has been inherited as
6953
        an abstract operation.
6954
 
6955
2010-06-22  Ed Falis  
6956
 
6957
        * s-osinte-vxworks.ads: Complete previous change.
6958
 
6959
2010-06-22  Thomas Quinot  
6960
 
6961
        * sem_res.adb: Add comment.
6962
        * projects.texi, gnat_ugn.texi: Remove macro.
6963
 
6964
2010-06-22  Vincent Celier  
6965
 
6966
        * prj-attr.adb: Remove project level attribute Main_Language.
6967
 
6968
2010-06-22  Robert Dewar  
6969
 
6970
        * switch-b.adb, osint-b.adb: Minor reformatting.
6971
 
6972
2010-06-22  Pascal Obry  
6973
 
6974
        * g-socthi-mingw.adb (C_Sendmsg): Do not attempt to send data from a
6975
        vector if previous send was not fully successful. If only part of
6976
        the vector data was sent, we exit the loop.
6977
 
6978
2010-06-22  Thomas Quinot  
6979
 
6980
        * sem_res.adb (Make_Call_Into_Operator): Use First_Subtype for better
6981
        error reporting with generic types.
6982
 
6983
2010-06-22  Thomas Quinot  
6984
 
6985
        * bindgen.adb, bindusg.adb, gnatbind.adb, gnat_ugn.texi, opt.ads,
6986
        osint-b.adb, osint-b.ads, output.adb, output.ads, switch-b.adb,
6987
        vms_data.ads: Add a new command line switch -A to gnatbind to output
6988
        the list of all ALI files for the partition.
6989
 
6990
2010-06-22  Arnaud Charlet  
6991
 
6992
        * s-osinte-vxworks.ads: Fix casing.
6993
        * s-vxwext-kernel.ads, s-vxwext-rtp.ads: Complete previous
6994
        change: Interfaces.C does not provide a long_long type.
6995
 
6996
2010-06-22  Emmanuel Briot  
6997
 
6998
        * gnat_ugn.texi, projects.texi: Preprocess projects.texi for VMS and
6999
        native user's guide, since this document contains the two versions.
7000
        * gcc-interface/Make-lang.in: Update doc dependencies.
7001
 
7002
2010-06-22  Robert Dewar  
7003
 
7004
        * sem_ch3.adb: Minor reformatting.  Minor code reorganization.
7005
 
7006
2010-06-22  Emmanuel Briot  
7007
 
7008
        * gnat_ugn.texi, projects.texi: Remove toplevel menu, since we should
7009
        not build this file on its own (only through gnat_ugn.texi).
7010
        Remove macro definitions and insert simpler version in gnat_ugn.texi.
7011
 
7012
2010-06-22  Robert Dewar  
7013
 
7014
        * ali-util.ads: Minor comment update.
7015
        * g-socthi-mingw.adb: Minor reformatting.
7016
 
7017
2010-06-22  Ed Falis  
7018
 
7019
        * s-osinte-vxworks.ads: Take sigset_t definition of System.VxWorks.Ext.
7020
        * s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads: Define sigset_t
7021
        for specific versions of VxWorks.
7022
 
7023
2010-06-22  Emmanuel Briot  
7024
 
7025
        * gnat_rm.texi, gnat_ugn.texi, projects.texi: Remove all project files
7026
        related sections from user's guide and reference manual, since they
7027
        have now been merged together into a separate document (projects.texi).
7028
        This removes a lot of duplication where attributes where described
7029
        in several places.
7030
        The grammar for the project files is now in each of the sections
7031
        (packages,expressions,...) instead of being duplicates in two other
7032
        sections (one in the user's guide that contained the full grammar,
7033
        and various sections in the rm that contained extracts of the same
7034
        grammar).
7035
        Added the full list of all supported attributes, since existing lists
7036
        were incomplete
7037
        Rename "associative array" into "indexed attribute"
7038
        Remove sections that were duplicates ("External References in
7039
        Project Files" and "External Values", and "Project Extensions"
7040
        for instance). The list of valid packages in project files is now in
7041
        a single place.
7042
 
7043
2010-06-22  Ed Schonberg  
7044
 
7045
        * sem_ch3.adb (Add_Internal_Interface_Entities): If
7046
        Find_Primitive_Covering_Interface does not find the operation, it may
7047
        be because of a name conflict between the inherited operation and a
7048
        local non-overloadable name. In that case look for the operation among
7049
        the primitive operations of the type. This search must succeed
7050
        regardless of visibility.
7051
 
7052
2010-06-22  Pascal Obry  
7053
 
7054
        * g-socthi-mingw.adb: Properly honor MSG_WAITALL in recvmsg.
7055
        (C_Recvmsg): Propely honor the MSG_WAITALL flag in Windows
7056
        recvmsg emulation.
7057
 
7058
2010-06-22  Robert Dewar  
7059
 
7060
        * sem_ch4.adb (Analyze_Conditional_Expression): Defend against
7061
        malformed tree.
7062
        * sprint.adb (Sprint_Node_Actual, case N_Conditional_Expression):
7063
        Ditto.
7064
 
7065
2010-06-22  Arnaud Charlet  
7066
 
7067
        * s-intman-vxworks.ads: Code clean up.
7068
 
7069
2010-06-22  Thomas Quinot  
7070
 
7071
        * sem_res.adb (Resolve_Slice): When the prefix is an explicit
7072
        dereference, construct actual subtype of designated object to generate
7073
        proper bounds checks.
7074
 
7075
2010-06-22  Thomas Quinot  
7076
 
7077
        * ali-util.adb, ali-util.ads, gnatbind.adb (Read_ALI): Rename to
7078
        Read_Withed_ALIs, which is more descriptive.
7079
 
7080
2010-06-22  Pascal Obry  
7081
 
7082
        * g-sothco.ads: Minor reformatting.
7083
        * g-socthi-mingw.adb: Remove part of work on the C_Recvmsg and
7084
        C_Sendmsg implementation.
7085
        (C_Sendmsg): Do not use lock (not needed).
7086
        (C_Recvmsg): Likewise and also do not wait for incoming data.
7087
 
7088
2010-06-22  Ed Schonberg  
7089
 
7090
        * uintp.adb: Fix scope error in operator call.
7091
 
7092
2010-06-22  Vincent Celier  
7093
 
7094
        * makeutl.adb (Executable_Prefix_Path): on VMS, return "/gnu/".
7095
        * prj-conf.adb (Get_Or_Create_Configuration_File): On VMS, if
7096
        autoconfiguration is needed, fail indicating that no config project
7097
        file can be found, as there is no autoconfiguration on VMS.
7098
 
7099
2010-06-22  Ed Schonberg  
7100
 
7101
        * sem_res.adb (Make_Call_Into_Operator): Diagnose an incorrect scope
7102
        for an operator in a functional notation, when operands are universal.
7103
 
7104
2010-06-22  Arnaud Charlet  
7105
 
7106
        * gcc-interface/Make-lang.in: Update dependencies.
7107
 
7108
2010-06-22  Robert Dewar  
7109
 
7110
        * sem_aggr.adb (Resolve_Record_Aggregate): Do style check on component
7111
        name.
7112
        * sem_ch10.adb (Analyze_Subunit): Do style check on parent unit name.
7113
        * sem_ch8.adb (Find_Direct_Name): For non-overloadable entities, do
7114
        style check.
7115
        * sem_res.adb (Resolve_Entity_Name): Do style check for enumeration
7116
        literals.
7117
 
7118
2010-06-22  Vincent Celier  
7119
 
7120
        * make.adb (Scan_Make_Arg): No longer pass -nostdlib to the compiler as
7121
        it has no effect. Always pass -nostdlib to gnatlink, even on VMS.
7122
 
7123
2010-06-22  Pascal Obry  
7124
 
7125
        * g-socthi-mingw.adb: Fix implementation of the vectored sockets on
7126
        Windows.
7127
        (C_Recvmsg): Make sure the routine is atomic. Also fully
7128
        fill vectors in the proper order.
7129
        (C_Sendmsg): Make sure the routine is atomic.
7130
 
7131
2010-06-22  Robert Dewar  
7132
 
7133
        * sem_ch8.adb: Update comment.
7134
        * sem_res.adb: Minor code reorganization (use Ekind_In).
7135
 
7136
2010-06-22  Ed Schonberg  
7137
 
7138
        * sem_ch8.adb (Add_Implicit_Operator): If the context of the expanded
7139
        name is a call, use the number of actuals to determine whether this is
7140
        a binary or unary operator, rather than relying on later information
7141
        to resolve the overload.
7142
 
7143
2010-06-22  Robert Dewar  
7144
 
7145
        * sem_ch10.adb, sem_aggr.adb: Minor reformatting.
7146
 
7147
2010-06-22  Robert Dewar  
7148
 
7149
        * sem_ch3.adb, sem_disp.adb: Minor code fixes.
7150
        * sem_eval.adb: Minor reformatting.
7151
 
7152
2010-06-22  Vincent Celier  
7153
 
7154
        * make.adb (Scan_Make_Arg): When invoked with -nostdlib, pass -nostdlib
7155
        to gnatlink, except on Open VMS.
7156
        * osint.adb (Add_Default_Search_Dirs): Do not suppress the default
7157
        object directories if -nostdlib is used.
7158
 
7159
2010-06-22  Robert Dewar  
7160
 
7161
        * sem_util.adb (Is_Delegate): Put in proper alpha order.
7162
        * sem_eval.adb: Minor reformatting.
7163
 
7164
2010-06-22  Robert Dewar  
7165
 
7166
        * g-expect-vms.adb, sem_res.adb: Minor reformatting.
7167
        * exp_aggr.adb: Minor comment changes and reformatting.
7168
        * sem_eval.adb (Find_Universal_Operator_Type): Put in proper alpha
7169
        order.
7170
        * sem_util.ads: Add some missing pragma Inline's.
7171
 
7172
2010-06-22  Thomas Quinot  
7173
 
7174
        * sem_util.adb (Build_Actual_Subtype): Record original expression in
7175
        Related_Expression attribute of the constructed subtype.
7176
        * einfo.adb, einfo.ads (Underlying_View): Move to Node28 to free up
7177
        Node24 on types for...
7178
        (Related_Expression): Make attribute available on types as well.
7179
 
7180
2010-06-22  Gary Dismukes  
7181
 
7182
        * exp_util.adb (Find_Interface_ADT): Retrieve Designated_Type instead
7183
        of Directly_Designated_Type when the type argument is an access type.
7184
        (Find_Interface_Tag): Retrieve Designated_Type instead of
7185
        Directly_Designated_Type when the type argument is an access type.
7186
        (Has_Controlled_Coextensions): Retrieve Designated_Type instead of
7187
        Directly_Designated_Type of each access discriminant.
7188
        * sem_res.adb (Resolve_Type_Conversion): Retrieve Designated_Type
7189
        instead of Directly_Designated_Type when the operand and target types
7190
        are access types.
7191
 
7192
2010-06-22  Thomas Quinot  
7193
 
7194
        * exp_aggr.adb (Flatten): Return False if one choice is statically
7195
        known to be out of bounds.
7196
 
7197
2010-06-22  Ed Schonberg  
7198
 
7199
        * sem_res.adb (Resolve_Call): If the call is rewritten as an indexed of
7200
        a parameterless function call, preserve parentheses of original
7201
        expression, for proper handling by pretty printer.
7202
        * sem_attr.adb (Analyze_Attribute, case 'Old): Add guard to Process
7203
        procedure, to handle quietly identifiers that have no entity names.
7204
        * exp_util.adb (Get_Current_Value_Condition): If the parent of an
7205
        elsif_part is missing, it has been rewritten as a nested if, and there
7206
        is no useful information on the current value of the variable.
7207
 
7208
2010-06-22  Gary Dismukes  
7209
 
7210
        * sem_ch3.adb (Build_Discriminal): Set default scopes for newly created
7211
        discriminals to the current scope.
7212
        * sem_util.adb (Find_Body_Discriminal): Remove setting of discriminal's
7213
        scope, which could overwrite a different already set value.
7214
 
7215
2010-06-22  Ed Schonberg  
7216
 
7217
        * sem_res.adb (Valid_Conversion): If expression is a predefined
7218
        operator, use sloc of type of interpretation to improve error message
7219
        when operand is of some derived type.
7220
        * sem_eval.adb (Is_Mixed_Mode_Operand): New function, use it.
7221
 
7222
2010-06-22  Emmanuel Briot  
7223
 
7224
        * g-expect-vms.adb (Expect_Internal): No longer raises an exception, so
7225
        that it can set out parameters as well. When a process has died, reset
7226
        its Input_Fd to Invalid_Fd, so that when using multiple processes we
7227
        can find out which process has died.
7228
 
7229
2010-06-22  Thomas Quinot  
7230
 
7231
        * sem_eval.adb (Find_Universal_Operator_Type): New
7232
        subprogram to identify the operand type of an operator on universal
7233
        operands, when an explicit scope indication is present. Diagnose the
7234
        case where such a call is ambiguous.
7235
        (Eval_Arithmetic_Op, Eval_Relational_Op, Eval_Unary_Op):
7236
        Use the above to identify the operand type so it can be properly
7237
        frozen.
7238
        * sem_res.adb (Make_Call_Into_Operator): Remove bogus freeze of operand
7239
        type, done in an arbitrary, possibly incorrect type (the presence of
7240
        some numeric type in the scope is checked for legality, but when more
7241
        than one such type is in the scope, we just pick a random one, not
7242
        necessarily the expected one).
7243
        * sem_utils.ads, sem_utils.adb (Is_Universal_Numeric_Type): New utility
7244
        subprogram.
7245
 
7246
2010-06-22  Robert Dewar  
7247
 
7248
        * sem_eval.adb: Minor reformatting.
7249
 
7250
2010-06-22  Robert Dewar  
7251
 
7252
        * exp_ch4.adb (Expand_N_Conditional_Expression): Use
7253
        Expression_With_Actions to clean up the code generated when folding
7254
        constant expressions.
7255
 
7256
2010-06-22  Vincent Celier  
7257
 
7258
        * g-expect-vms.adb: Add new subprograms Free, First_Dead_Process and
7259
        Has_Process.
7260
 
7261
2010-06-22  Vincent Celier  
7262
 
7263
        * prj-nmsc.adb (Find_Sources): When a source from a multi-unit file is
7264
        found, check if it's path has aready been found, whatever its index.
7265
 
7266
2010-06-22  Robert Dewar  
7267
 
7268
        * atree.adb, gnatbind.adb: Minor reformatting.
7269
        Minor code reorganization.
7270
 
7271
2010-06-21  Robert Dewar  
7272
 
7273
        * exp_ch4.adb (Expand_N_Conditional_Expression): Fold if condition
7274
        known at compile time.
7275
 
7276
2010-06-21  Gary Dismukes  
7277
 
7278
        * atree.adb: Fix comment typo.
7279
 
7280
2010-06-21  Ed Schonberg  
7281
 
7282
        * sem_eval.adb (Test_Ambiguous_Operator): New procedure to check
7283
        whether a universal arithmetic expression in a conversion, which is
7284
        rewritten from a function call with an expanded name, is ambiguous.
7285
 
7286
2010-06-21  Vincent Celier  
7287
 
7288
        * prj-nmsc.adb (Name_Location): New Boolean component Listed, to record
7289
        source files in specified list of sources.
7290
        (Check_Package_Naming): Remove out parameters Bodies and Specs, as they
7291
        are never used.
7292
        (Add_Source): Set the Location of the new source
7293
        (Process_Exceptions_File_Based): Call Add_Source with the Location
7294
        (Get_Sources_From_File): If an exception is found, set its Listed to
7295
        True
7296
        (Find_Sources): When Source_Files is specified, if an exception is
7297
        found, set its Listed to True. Remove any exception that is not in a
7298
        specified list of sources.
7299
        * prj.ads (Source_Data): New component Location
7300
 
7301
2010-06-21  Vincent Celier  
7302
 
7303
        * gnatbind.adb (Closure_Sources): Global table, moved from block.
7304
 
7305
2010-06-21  Thomas Quinot  
7306
 
7307
        * sem_res.adb: Minor reformatting.
7308
        * atree.adb: New debugging hook "rr" for node rewrites.
7309
 
7310
2010-06-21  Robert Dewar  
7311
 
7312
        * g-expect.ads, g-expect.adb: Minor reformatting.
7313
 
7314
2010-06-21  Emmanuel Briot  
7315
 
7316
        * s-regpat.adb (Next_Pointer_Bytes): New named constant. Code clean up.
7317
 
7318
2010-06-21  Arnaud Charlet  
7319
 
7320
        * gcc-interface/Make-lang.in: Update dependencies.
7321
 
7322
2010-06-21  Thomas Quinot  
7323
 
7324
        * bindgen.ads: Update comments.
7325
 
7326
2010-06-21  Vincent Celier  
7327
 
7328
        * gnatbind.adb: Suppress dupicates when listing the sources in the
7329
        closure (switch -R).
7330
 
7331
2010-06-21  Emmanuel Briot  
7332
 
7333
        * s-regpat.adb (Link_Tail): Fix error when size of the pattern matcher
7334
        is too small.
7335
 
7336
2010-06-21  Emmanuel Briot  
7337
 
7338
        * g-expect.adb, g-expect.ads (First_Dead_Process, Free, Has_Process):
7339
        New subprograms.
7340
        (Expect_Internal): No longer raises an exception, so that it can set
7341
        out parameters as well. When a process has died, reset its Input_Fd
7342
        to Invalid_Fd, so that when using multiple processes we can find out
7343
        which process has died.
7344
 
7345
2010-06-21  Robert Dewar  
7346
 
7347
        * s-regpat.adb, s-tpoben.adb, sem_attr.adb, sem_util.adb, sem_util.ads,
7348
        checks.adb, sem_res.adb: Minor reformatting. Add comments.
7349
 
7350
2010-06-21  Ed Schonberg  
7351
 
7352
        * sem_ch6.adb (New_Overloaded_Entity): If the new entity is a
7353
        rederivation associated with a full declaration in a private part, and
7354
        there is a partial view that derives the same parent subprogram, the
7355
        new entity does not become visible. This check must be applied to
7356
        interface operations as well.
7357
 
7358
2010-06-21  Thomas Quinot  
7359
 
7360
        * checks.adb: Add comments.
7361
        * prj-nmsc.adb: Minor reformatting.
7362
 
7363
2010-06-21  Thomas Quinot  
7364
 
7365
        * sem_ch9.adb, checks.adb, sem_util.adb, sem_util.ads, sem_res.adb,
7366
        sem_attr.adb (Get_E_First_Or_Last): Use attribute references on E to
7367
        extract bounds, to ensure that we get the proper captured values,
7368
        rather than an expression that may have changed value since the point
7369
        where the subtype was elaborated.
7370
        (Find_Body_Discriminal): New utility subprogram to share code
7371
        between...
7372
        (Eval_Attribute): For the case of a subtype bound that references a
7373
        discriminant of the current concurrent type, insert appropriate
7374
        discriminal reference.
7375
        (Resolve_Entry.Actual_Index_Type.Actual_Discriminant_Ref): For a
7376
        requeue to an entry in a family in the current task, use corresponding
7377
        body discriminal.
7378
        (Analyze_Accept_Statement): Rely on expansion of attribute references
7379
        to insert proper discriminal references in range check for entry in
7380
        family.
7381
 
7382
2010-06-21  Emmanuel Briot  
7383
 
7384
        * s-regpat.adb (Compile): Fix handling of big patterns.
7385
 
7386
2010-06-21  Robert Dewar  
7387
 
7388
        * a-tifiio.adb: Minor reformatting.
7389
 
7390
2010-06-21  Pascal Obry  
7391
 
7392
        * prj-nmsc.adb (Search_Directories): Use the non-translated directory
7393
        path to open it.
7394
 
7395
2010-06-21  Javier Miranda  
7396
 
7397
        * exp_cg.adb (Write_Call_Info): Fill the component sourcename using the
7398
        external name.
7399
 
7400
2010-06-21  Ed Schonberg  
7401
 
7402
        * exp_ch4.adb (Expand_Concatenate): If an object declaration is created
7403
        to hold the result, indicate that the target of the declaration does
7404
        not need an initialization, to prevent spurious errors when
7405
        Initialize_Scalars is enabled.
7406
 
7407
2010-06-21  Ed Schonberg  
7408
 
7409
        * a-tifiio.adb (Put): In the procedure that performs I/O on a String,
7410
        Fore is not bound by line length. The Fore parameter of the internal
7411
        procedure that performs the operation is an integer.
7412
 
7413
2010-06-21  Thomas Quinot  
7414
 
7415
        * sem_res.adb, checks.adb: Minor reformatting.
7416
 
7417
2010-06-21  Emmanuel Briot  
7418
 
7419
        * s-regpat.adb (Next_Instruction, Get_Next_Offset): Removed, merged
7420
        into Get_Next.
7421
        (Insert_Operator_Before): New subprogram, avoids duplicated code
7422
        (Compile): Avoid doing two compilations when the pattern matcher ends
7423
        up being small.
7424
 
7425
2010-06-21  Emmanuel Briot  
7426
 
7427
        * s-regpat.adb: Improve debug traces
7428
        (Dump): Change output format to keep it smaller.
7429
 
7430
2010-06-21  Javier Miranda  
7431
 
7432
        * exp_cg.adb (Generate_CG_Output): Disable redirection of standard
7433
        output to the output file when this routine completes its work.
7434
 
7435
2010-06-20  Eric Botcazou  
7436
 
7437
        * gcc-interface/trans.c (Subprogram_Body_to_gnu): Use while instead of
7438
        for loop.  Call build_constructor_from_list directly in the CICO case.
7439
 
7440
2010-06-18  Ed Schonberg  
7441
 
7442
        * freeze.adb (Build_And_Analyze_Renamed_Body): If the renaming
7443
        declaration appears in the same unit and ealier than the renamed
7444
        entity, retain generated body to prevent order-of-elaboration issues in
7445
        gigi.
7446
 
7447
2010-06-18  Arnaud Charlet  
7448
 
7449
        * s-tpoben.adb: Update comments.
7450
 
7451
2010-06-18  Robert Dewar  
7452
 
7453
        * debug.adb: Minor comment change.
7454
 
7455
2010-06-18  Javier Miranda  
7456
 
7457
        * exp_cg.adb: Code clean up.
7458
        * debug.adb: Complete documentation of switch -gnatd.Z.
7459
        * gcc-interface/misc.c (callgraph_info_file): Declare.
7460
 
7461
2010-06-18  Javier Miranda  
7462
 
7463
        * exp_cg.adb (Homonym_Suffix_Length): Minor code reorganization.
7464
 
7465
2010-06-18  Thomas Quinot  
7466
 
7467
        * sprint.ads: Minor reformatting.
7468
        * output.ads: Update obsolete comment.
7469
 
7470
2010-06-18  Ed Schonberg  
7471
 
7472
        * freeze.adb (Build_And_Analyze_Renamed_Body): if the renamed entity is
7473
        an external intrinsic operation (e.g. a GCC numeric function) indicate
7474
        that the renaming entity has the same characteristics, so a call to it
7475
        is properly expanded.
7476
 
7477
2010-06-18  Javier Miranda  
7478
 
7479
        * exp_cg.adb, exp_cg.ads, exp_disp.adb, gnat1drv.adb: Add initial
7480
        support for dispatch table/callgraph info generation.
7481
        * gcc-interface/Make-lang.in: Update dependencies.
7482
 
7483
2010-06-18  Robert Dewar  
7484
 
7485
        * exp_ch6.adb: Minor reformatting.
7486
        * gnatname.adb: Add comment.
7487
 
7488
2010-06-18  Vincent Celier  
7489
 
7490
        * gnatname.adb (Scan_Args): When --and is used, make sure that the
7491
        dynamic tables in the newly allocated Argument_Data are properly
7492
        initialized.
7493
 
7494
2010-06-18  Eric Botcazou  
7495
 
7496
        * gnat1drv.adb: Fix comment.
7497
 
7498
2010-06-18  Ed Schonberg  
7499
 
7500
        * exp_ch6.adb (Expand_Inlined_Call): If the inlined subprogram is a
7501
        renaming, re-expand the call with the renamed subprogram if that one
7502
        is marked inlined as well.
7503
 
7504
2010-06-18  Gary Dismukes  
7505
 
7506
        * gnat1drv.adb (Adjust_Global_Switches): Enable
7507
        Use_Expression_With_Actions for AAMP and VM targets.
7508
 
7509
2010-06-18  Vincent Celier  
7510
 
7511
        * prj-nmsc.adb (Process_Linker): Recognize response file format GCC.
7512
 
7513
2010-06-18  Thomas Quinot  
7514
 
7515
        * exp_ch4.adb: Minor reformatting.
7516
 
7517
2010-06-18  Javier Miranda  
7518
 
7519
        * debug.ads Add documentation on -gnatd.Z.
7520
 
7521
2010-06-18  Ed Schonberg  
7522
 
7523
        * sem_elim.adb: Proper error message on improperly eliminated instances
7524
 
7525
2010-06-18  Vincent Celier  
7526
 
7527
        * prj.ads (Response_File_Format): New value GCC.
7528
 
7529
2010-06-18  Thomas Quinot  
7530
 
7531
        * gnat1drv.adb: Minor reformatting.
7532
 
7533
2010-06-18  Robert Dewar  
7534
 
7535
        * make.adb, sem_cat.adb: Minor reformatting.
7536
        * sem_eval.adb: Fix typos.
7537
 
7538
2010-06-18  Pascal Obry  
7539
 
7540
        * prj-nmsc.adb: Fix source filenames casing in debug output.
7541
 
7542
2010-06-18  Robert Dewar  
7543
 
7544
        * gnatcmd.adb: Minor reformatting.
7545
 
7546
2010-06-18  Robert Dewar  
7547
 
7548
        * sem_eval.adb (Eval_Conditional_Expression): Result is static if
7549
        condition and both sub-expressions are static (and result is selected
7550
        expression).
7551
 
7552
2010-06-18  Robert Dewar  
7553
 
7554
        * g-pehage.adb: Minor reformatting
7555
 
7556
2010-06-18  Pascal Obry  
7557
 
7558
        * prj-nmsc.adb (Search_Directories): Insert canonical filenames into
7559
        source hash table.
7560
 
7561
2010-06-18  Arnaud Charlet  
7562
 
7563
        * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
7564
        dependencies. Fix target pairs on darwin.
7565
        (gnatlib-sjlj, gnatlib-zcx): Pass THREAD_KIND.
7566
 
7567
2010-06-18  Pascal Obry  
7568
 
7569
        * make.adb, prj-nmsc.adb: Fix source filenames casing in debug output.
7570
 
7571
2010-06-18  Vincent Celier  
7572
 
7573
        * gnatcmd.adb: For gnatcheck, add -gnatec= switch for a global
7574
        configuration pragmas file and, if -U is not used, for a local one.
7575
 
7576
2010-06-18  Ed Schonberg  
7577
 
7578
        * sem_elim.adb (Check_Eliminated): Use full information on entity name
7579
        when it is given in the pragma by a selected component.
7580
        (Check_For_Eliminated_Subprogram): Do no emit error if within a
7581
        instance body that is itself within a generic unit.
7582
        * sem_ch12.adb (Analyze_Subprogram_Instance): If the subprogram is
7583
        eliminated, mark as well the anonymous subprogram that is its alias
7584
        and appears within the wrapper package.
7585
 
7586
2010-06-18  Bob Duff  
7587
 
7588
        * g-pehage.ads, g-pehage.adb (Produce): Clean up some of the code.
7589
        Raise an exception if the output file cannot be opened. Add comments.
7590
 
7591
2010-06-18  Thomas Quinot  
7592
 
7593
        * sem_cat.adb (Validate_Object_Declaration): A variable declaration is
7594
        not illegal per E.2.2(7) if it occurs in the private part of a
7595
        Remote_Types unit.
7596
 
7597
2010-06-18  Arnaud Charlet  
7598
 
7599
        * par-ch9.adb, sem_aggr.adb, sem_ch3.adb, layout.adb, sem_ch4.adb,
7600
        sem_ch5.adb, sem_mech.adb, exp_util.adb, par-ch10.adb, sem_ch6.adb,
7601
        par-ch11.adb, sem_ch7.adb, par-prag.adb, exp_disp.adb, par-ch12.adb,
7602
        sem_ch8.adb, style.adb, sem_ch9.adb, sem_ch10.adb, prep.adb,
7603
        sem_warn.adb, par-util.adb, scng.adb, sem_eval.adb, checks.adb,
7604
        sem_prag.adb, sem_ch12.adb, styleg.adb, sem_ch13.adb, par-ch3.adb,
7605
        par-tchk.adb, freeze.adb, sfn_scan.adb, par-ch4.adb, sem_util.adb,
7606
        sem_res.adb, par-ch5.adb, lib-xref.adb, sem_attr.adb, par-ch6.adb,
7607
        sem_disp.adb, prepcomp.adb, par-ch7.adb, sem_elab.adb, exp_ch4.adb,
7608
        errout.ads: Update comments. Minor reformatting.
7609
 
7610
        * g-spipat.adb, a-swunau.adb, a-swunau.ads, g-spitbo.adb,
7611
        a-szunau.adb, a-szunau.ads, a-stunau.adb, a-stunau.ads,
7612
        a-strunb.adb (Big_String. Big_String_Access): New type.
7613
 
7614
        * par-labl.adb, restrict.adb, s-osinte-hpux-dce.ads, sem_ch11.adb,
7615
        exp_pakd.adb, s-filofl.ads, par-endh.adb, exp_intr.adb, sem_cat.adb,
7616
        sem_case.adb, exp_ch11.adb, s-osinte-linux.ads: Fix copyright notices.
7617
 
7618
2010-06-18  Geert Bosch  
7619
 
7620
        * i-forbla-darwin.adb: Include -lgnala and -lm in linker options for
7621
        Darwin.
7622
 
7623
2010-06-18  Robert Dewar  
7624
 
7625
        * gnat1drv.adb (Adjust_Global_Switches): Set Use_Expression_With_Actions
7626
        true for gcc.
7627
 
7628
2010-06-18  Robert Dewar  
7629
 
7630
        * sprint.adb: Minor format change for N_Expression_With_Actions.
7631
        * repinfo.adb: Minor reformatting.
7632
 
7633
2010-06-18  Ed Schonberg  
7634
 
7635
        * sem_elim.adb (Check_Eliminated): If within a subunit, use
7636
        Defining_Entity to obtain the name of the entity in the proper body, to
7637
        properly handle both separate packages and subprograms.
7638
 
7639
2010-06-18  Emmanuel Briot  
7640
 
7641
        * prj-nmsc.adb (Check_File): New parameter Display_Path.
7642
 
7643
2010-06-18  Thomas Quinot  
7644
 
7645
        * g-socket.adb, g-socket.ads (Null_Selector): New object.
7646
 
7647
2010-06-18  Pascal Obry  
7648
 
7649
        * gnat_ugn.texi: Minor clarification.
7650
 
7651
2010-06-18  Emmanuel Briot  
7652
 
7653
        * prj-nmsc.adb (Find_Source_Dirs): Minor refactoring to avoid duplicate
7654
        code when using the project dir as the source dir.
7655
        (Search_Directories): use the normalized name for the source directory,
7656
        where symbolic names have potentially been resolved.
7657
 
7658
2010-06-18  Robert Dewar  
7659
 
7660
        * exp_ch4.adb (Expand_N_Conditional_Expression): Clear Actions field
7661
        when we create N_Expression_With_Actions node.
7662
        (Expand_Short_Circuit): Ditto.
7663
 
7664
2010-06-18  Robert Dewar  
7665
 
7666
        * exp_util.adb: Minor reformatting.
7667
 
7668
2010-06-18  Thomas Quinot  
7669
 
7670
        * types.ads: Clean up obsolete comments
7671
        * tbuild.adb: Minor reformatting.
7672
        * exp_ch5.adb, sem_intr.adb, sem_ch10.adb, rtsfind.adb, s-shasto.adb,
7673
        exp_strm.adb, aa_drive.adb: Minor reformatting.
7674
        * sem_res.adb (Is_Predefined_Operator): An operator that is an imported
7675
        intrinsic with an Interface_Name denotes an imported back-end builtin,
7676
        and must be rewritten into a call, not left in the tree as an operator,
7677
        so return False in that case.
7678
 
7679
2010-06-18  Eric Botcazou  
7680
 
7681
        * exp_util.adb (Remove_Side_Effects): Make a copy for an allocator.
7682
 
7683
2010-06-18  Robert Dewar  
7684
 
7685
        * scos.ads: Add proposed output for case expression
7686
 
7687
2010-06-18  Jose Ruiz  
7688
 
7689
        * gnat_ugn.texi: Document that, when using the RTX compiler to generate
7690
        RTSS modules, we need to use the Microsoft linker.
7691
 
7692
2010-06-18  Robert Dewar  
7693
 
7694
        * checks.adb (Safe_To_Capture_In_Parameter_Value): Deal with case
7695
        expression (cannot count on a particular branch being executed).
7696
        * exp_ch4.adb (Expand_N_Case_Expression): New procedure.
7697
        * exp_ch4.ads (Expand_N_Case_Expression): New procedure.
7698
        * exp_util.adb (Insert_Actions): Deal with proper insertion of actions
7699
        within case expression.
7700
        * expander.adb (Expand): Add call to Expand_N_Case_Expression
7701
        * par-ch4.adb Add calls to P_Case_Expression at appropriate points
7702
        (P_Case_Expression): New procedure
7703
        (P_Case_Expression_Alternative): New procedure
7704
        * par.adb (P_Case_Expression): New procedure
7705
        * par_sco.adb (Process_Decisions): Add dummy place holder entry for
7706
        N_Case_Expression.
7707
        * sem.adb (Analyze): Add call to Analyze_Case_Expression
7708
        * sem_case.ads (Analyze_Choices): Also used for case expressions now,
7709
        this is a documentation change only.
7710
        * sem_ch4.ads, sem_ch4.adb (Analyze_Case_Expression): New procedure.
7711
        * sem_ch6.adb (Fully_Conformant_Expressions): Add handling of case
7712
        expressions.
7713
        * sem_eval.ads, sem_eval.adb (Eval_Case_Expression): New procedure.
7714
        * sem_res.adb (Resolve_Case_Expression): New procedure.
7715
        * sem_scil.adb (Find_SCIL_Node): Add processing for
7716
        N_Case_Expression_Alternative.
7717
        * sinfo.ads, sinfo.adb (N_Case_Expression): New node.
7718
        (N_Case_Expression_Alternative): New node.
7719
        * sprint.adb (Sprint_Node_Actual): Add processing for new nodes
7720
        N_Case_Expression and N_Case_Expression_Alternative.
7721
 
7722
2010-06-18  Robert Dewar  
7723
 
7724
        * par-ch7.adb, sem_warn.adb, types.ads, par-ch3.adb: Minor
7725
        reformatting.
7726
        * gnat1drv.adb: Fix typo.
7727
 
7728
2010-06-18  Robert Dewar  
7729
 
7730
        * par-prag.adb (Prag, case Style_Checks): All_Checks sets gnat style
7731
        for -gnatg.
7732
        * sem_prag.adb (Analyze_Pragma, case Style_Checks): All_Checks sets
7733
        gnat style for -gnatg.
7734
        * gnat_rm.texi: Add documentation for ALL_CHECKS in GNAT mode.
7735
 
7736
2010-06-18  Thomas Quinot  
7737
 
7738
        * sem_eval.adb (Test_In_Range): New subprogram, factoring duplicated
7739
        code between...
7740
        (Is_In_Range, Is_Out_Of_Range): Reimplement in terms of call to
7741
        Test_In_Range.
7742
 
7743
2010-06-18  Robert Dewar  
7744
 
7745
        * sprint.adb: Minor change in output format for expression wi actions.
7746
        * par-ch3.adb: Minor code reorganization.  Minor reformatting.
7747
        * sem_ch5.adb: Minor comment fix.
7748
 
7749
2010-06-18  Robert Dewar  
7750
 
7751
        * debug.adb: New debug flag -gnatd.L to control
7752
        Back_End_Handles_Limited_Types.
7753
        * exp_ch4.adb (Expand_N_Conditional_Expression): Let back end handle
7754
        limited case if Back_End_Handles_Limited_Types is True.
7755
        (Expand_N_Conditional_Expression): Use N_Expression_With_Actions to
7756
        simplify expansion if Use_Expression_With_Actions is True.
7757
        * gnat1drv.adb (Adjust_Global_Switches): Set
7758
        Back_End_Handles_Limited_Types.
7759
        * opt.ads (Back_End_Handles_Limited_Types): New flag.
7760
 
7761
2010-06-18  Ed Schonberg  
7762
 
7763
        * sem_res.adb (Rewrite_Operator_As_Call): Do not rewrite user-defined
7764
        intrinsic operator if expansion is not enabled, because in an
7765
        instantiation the original operator must be present to verify the
7766
        legality of the operation.
7767
 
7768
2010-06-18  Robert Dewar  
7769
 
7770
        * exp_disp.adb, sem_ch12.adb: Minor reformatting
7771
 
7772
2010-06-18  Ed Schonberg  
7773
 
7774
        * exp_util.adb (Make_Subtype_From_Expr): If the unconstrained type is
7775
        the class-wide type for a private extension, and the completion is a
7776
        subtype, set the type of the class-wide type to the base type of the
7777
        full view.
7778
 
7779
2010-06-18  Robert Dewar  
7780
 
7781
        * g-socket.ads, sem_aggr.adb, einfo.ads, sem_elim.adb,
7782
        sem_intr.adb, sem_eval.adb: Minor reformatting
7783
 
7784
2010-06-18  Ed Schonberg  
7785
 
7786
        * sem_type.adb (Is_Ancestor): If either type is private, examine full
7787
        view.
7788
 
7789
2010-06-18  Thomas Quinot  
7790
 
7791
        * g-socket.adb, g-socket.ads (Check_Selector): Make Selector an IN
7792
        parameter rather than IN OUT.
7793
 
7794
2010-06-18  Ed Schonberg  
7795
 
7796
        * exp_ch6.adb: Add extra guard.
7797
 
7798
2010-06-18  Gary Dismukes  
7799
 
7800
        * sem_util.adb (Object_Access_Level): For Ada 2005, determine the
7801
        accessibility level of a function call from the level of the innermost
7802
        enclosing dynamic scope.
7803
        (Innermost_Master_Scope_Depth): New function to find the depth of the
7804
        nearest dynamic scope enclosing a node.
7805
 
7806
2010-06-18  Tristan Gingold  
7807
 
7808
        * adaint.c: Make ATTR_UNSET static as it is not used outside this file.
7809
 
7810
2010-06-18  Thomas Quinot  
7811
 
7812
        * g-socket.ads: Minor reformatting.
7813
 
7814
2010-06-18  Vincent Celier  
7815
 
7816
        * make.adb (Must_Compile): New Boolean global variable
7817
        (Main_On_Command_Line): New Boolean global variable
7818
        (Collect_Arguments_And_Compile): Do compile if Must_Compile is True,
7819
        even when the project is externally built.
7820
        (Start_Compile_If_Possible): Compile in -aL directories if
7821
        Check_Readonly_Files is True. Do compile if Must_Compile is True, even
7822
        when the project is externally built.
7823
        (Gnatmake): Set Must_Compile and Check_Readonly_Files to True when
7824
        invoked with -f -u and one or several mains on the command line.
7825
        (Scan_Make_Arg): Set Main_On_Command_Line to True when at least one
7826
        main is specified on the command line.
7827
 
7828
2010-06-18  Ed Schonberg  
7829
 
7830
        * sem_ch6.adb (Build_Body_For_Inline): Handle
7831
        extended_return_statements.
7832
        * exp_ch6.adb (Expand_Inlined_Call): when possible, inline a body
7833
        containing extented_return statements.
7834
        * exp_util.adb (Make_CW_Equivalent_Type): If the root type is already
7835
        constrained, do not build subtype declaration.
7836
 
7837
2010-06-18  Robert Dewar  
7838
 
7839
        * sem_res.adb (Analyze_Indexed_Component, Analyze_Selected_Component):
7840
        Warn on assigning to packed atomic component.
7841
 
7842
2010-06-18  Robert Dewar  
7843
 
7844
        * sem_util.ads: Minor reformatting
7845
        * einfo.ads, einfo.adb: Minor doc clarification (scope of decls in
7846
        Expression_With_Actions).
7847
        * snames.ads-tmpl: Minor comment fix
7848
 
7849
2010-06-18  Robert Dewar  
7850
 
7851
        * sem_prag.adb (Diagnose_Multiple_Pragmas): New procedure
7852
        (Set_Imported): Use Import_Interface_Present to control message output
7853
        * sinfo.ads, sinfo.adb (Import_Interface_Present): New flag
7854
        * gnat_rm.texi: Document that we can have pragma Import and pragma
7855
        Interface for the same subprogram.
7856
 
7857
2010-06-18  Robert Dewar  
7858
 
7859
        * lib-xref.adb (Generate_Reference): Fix bad reference to
7860
        Has_Pragma_Unreferenced (clients should always use Has_Unreferenced).
7861
 
7862
2010-06-17  Eric Botcazou  
7863
 
7864
        * gcc-interface/trans.c (set_gnu_expr_location_from_node): New static
7865
        function.
7866
        (gnat_to_gnu) : New case.
7867
        Use set_gnu_expr_location_from_node to set location information on the
7868
        result.
7869
 
7870
2010-06-17  Arnaud Charlet  
7871
 
7872
        * gcc-interface/Make-lang.in: Update dependencies.
7873
 
7874
2010-06-17  Ed Schonberg  
7875
 
7876
        * sem_util.adb (Is_Atomic_Object): Predicate does not apply to
7877
        subprograms.
7878
 
7879
2010-06-17  Robert Dewar  
7880
 
7881
        * gnat_rm.texi, gnat_ugn.texi: Clean up documentation on warning and
7882
        style check messages.
7883
        * sem_res.adb (Resolve_Call): Don't call
7884
        Check_For_Eliminated_Subprogram if we are analyzing within a spec
7885
        expression.
7886
 
7887
2010-06-17  Robert Dewar  
7888
 
7889
        * debug.adb: Add documentation for debug flags .X and .Y
7890
        * exp_ch4.adb (Expand_Short_Circuit_Operator): Use
7891
        Use_Expression_With_Actions.
7892
        * gnat1drv.adb (Adjust_Global_Switches): Set
7893
        Use_Expression_With_Actions.
7894
        * opt.ads (Use_Expression_With_Actions): New switch.
7895
 
7896
2010-06-17  Robert Dewar  
7897
 
7898
        * exp_intr.adb: Minor code reorganization (use UI_Max)
7899
        * sem_intr.adb: use underlying type to check legality.
7900
        * einfo.adb (Known_Static_Esize): False for generic types
7901
        (Known_Static_RM_Size): False for generic types
7902
        * einfo.ads (Known_Static_Esize): False for generic types
7903
        (Known_Static_RM_Size): False for generic types
7904
 
7905
2010-06-17  Robert Dewar  
7906
 
7907
        * exp_ch4.ads: Minor code reorganization (specs in alpha order).
7908
 
7909
2010-06-17  Robert Dewar  
7910
 
7911
        * debug.adb: New debug flag -gnatd.X to use Expression_With_Actions
7912
        node when expanding short circuit form with actions present for right
7913
        opnd.
7914
        * exp_ch4.adb: Minor reformatting
7915
        (Expand_Short_Circuit_Operator): Use new Expression_With_Actions node
7916
        if right opeand has actions present, and debug flag -gnatd.X is set.
7917
        * exp_util.adb (Insert_Actions): Handle case of Expression_With_Actions
7918
        node.
7919
        * nlists.adb (Prepend_List): New procedure
7920
        (Prepend_List_To): New procedure
7921
        * nlists.ads (Prepend_List): New procedure
7922
        (Prepend_List_To): New procedure
7923
        * sem.adb: Add processing for Expression_With_Actions
7924
        * sem_ch4.adb (Analyze_Expression_With_Actions): New procedure
7925
        * sem_ch4.ads (Analyze_Expression_With_Actions): New procedure
7926
        * sem_res.adb: Add processing for Expression_With_Actions.
7927
        * sem_scil.adb: Add processing for Expression_With_Actions
7928
        * sinfo.ads, sinfo.adb (N_Expression_With_Actions): New node.
7929
        * sprint.ads, sprint.adb: Add processing for Expression_With_Actions
7930
 
7931
2010-06-17  Doug Rupp  
7932
 
7933
        * sem_intr.adb (Check_Intrinsic_Operator): Check that the types
7934
        involved both have underlying integer types.
7935
        * exp_intr.adb (Expand_Binary_Operator) New subprogram to expand a call
7936
        to an intrinsic operator when the operand types or sizes are not
7937
        identical.
7938
        * s-auxdec-vms_64.ads: Revert "+" "-" ops back to Address now that
7939
        64/32 Address/Integer works.
7940
 
7941
2010-06-17  Ed Schonberg  
7942
 
7943
        * sem_ch12.adb (Mark_Context): Refine placement of Withed_Body flag, so
7944
        that it marks a unit as needed by a spec only if the corresponding
7945
        instantiation appears in that spec (and not in the corresponding body).
7946
        * sem_elim.adb (Check_Eliminated): If we are within a subunit, the name
7947
        in the pragma Eliminate has been parsed as a child unit, but the
7948
        current compilation unit is in fact the parent in which the subunit is
7949
        embedded.
7950
 
7951
2010-06-17  Vincent Celier  
7952
 
7953
        * gnat_rm.texi: Fix typo
7954
 
7955
2010-06-17  Robert Dewar  
7956
 
7957
        * sem_util.adb: Minor reformatting
7958
 
7959
2010-06-17  Ed Schonberg  
7960
 
7961
        * sem.adb (Do_Withed_Unit): if the unit in the with_clause is a generic
7962
        instance, the clause now denotes the instance body. Traverse the
7963
        corresponding spec because there may be no other dependence that will
7964
        force the traversal of its own context.
7965
 
7966
2010-06-17  Ed Schonberg  
7967
 
7968
        * sem_ch10.adb (Is_Ancestor_Unit): Subsidiary to
7969
        Install_Limited_Context_Clauses, to determine whether a limited_with in
7970
        some parent of the current unit designates some other parent, in which
7971
        case the limited_with clause must not be installed.
7972
        (In_Context): Refine test.
7973
 
7974
2010-06-17  Gary Dismukes  
7975
 
7976
        * sem_util.adb (Collect_Primitive_Operations): In the of an untagged
7977
        type with a dispatching equality operator that is overridden (for a
7978
        tagged full type), don't include the overridden equality in the list of
7979
        primitives. The overridden equality is detected by testing for an
7980
        Aliased field that references the overriding equality.
7981
 
7982
2010-06-17  Robert Dewar  
7983
 
7984
        * freeze.adb: Minor reformatting.
7985
 
7986
2010-06-17  Joel Brobecker  
7987
 
7988
        * gnat_ugn.texi: Add a section introducing gdbserver.
7989
 
7990
2010-06-17  Thomas Quinot  
7991
 
7992
        * sem_res.adb, sem_ch4.adb, s-stoele.adb, par-labl.adb: Minor
7993
        reformatting.
7994
 
7995
2010-06-17  Ed Schonberg  
7996
 
7997
        * sem_aggr.adb (Valid_Ancestor_Type): handle properly the case of a
7998
        constrained discriminated parent that is a private type.
7999
        (Analyze_Record_Aggregate): when collecting inherited discriminants,
8000
        handle properly an ancestor type that is a constrained private type.
8001
 
8002
2010-06-17  Ed Schonberg  
8003
 
8004
        * sem_util.adb (Enclosing_Subprogram): If the called subprogram is
8005
        protected, use the protected_subprogram_body only if the original
8006
        subprogram has not been eliminated.
8007
 
8008
2010-06-17  Ed Schonberg  
8009
 
8010
        * freeze.adb (Freeze_Expression): The designated type of an
8011
        access_to_suprogram type can only be frozen if all types in its profile
8012
        are fully defined.
8013
 
8014
2010-06-17  Robert Dewar  
8015
 
8016
        * par.adb: Minor comment fix
8017
        * sem_aggr.adb, sem_ch3.adb: Minor reformatting
8018
 
8019
2010-06-17  Doug Rupp  
8020
 
8021
        * s-auxdec-vms_64.ads: Revert Integer to Long_Integer change, instead
8022
        change Address to Short_Address in functions where both must be the
8023
        same size for intrinsics to work.
8024
 
8025
2010-06-17  Thomas Quinot  
8026
 
8027
        * sem_ch4.adb (Analyze_Selected_Component): A selected component may
8028
        not denote a (private) component of a protected object.
8029
 
8030
2010-06-17  Bob Duff  
8031
 
8032
        * par-labl.adb (Try_Loop): Test whether the label and the goto are in
8033
        the same list.
8034
 
8035
2010-06-17  Joel Brobecker  
8036
 
8037
        * gnat_ugn.texi: Update the documentation about GDB re: exception
8038
        catchpoints.
8039
 
8040
2010-06-17  Arnaud Charlet  
8041
 
8042
        * gnatvsn.ads: Bump to 4.6 version.
8043
 
8044
2010-06-17  Ed Schonberg  
8045
 
8046
        * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): The
8047
        designated type of the generated pointer is the type of the original
8048
        expression, not that of the function call itself, because the return
8049
        type may be an untagged  derived type and the function may be an
8050
        inherited operation.
8051
 
8052
2010-06-17  Robert Dewar  
8053
 
8054
        * exp_ch4.adb: Minor reformatting.
8055
 
8056
2010-06-17  Ed Schonberg  
8057
 
8058
        * sinfo.ads, sinfo.adb (Inherited_Discriminant): New flag on
8059
        N_Component_Association nodes, to indicate that a component association
8060
        of an extension aggregate denotes the value of a discriminant of an
8061
        ancestor type that has been constrained by the derivation.
8062
        * sem_aggr.adb (Discr_Present): use Inherited_Discriminant to prevent a
8063
        double expansion of the aggregate appearing in a context that delays
8064
        expansion, to prevent double insertion of discriminant values when the
8065
        aggregate is reanalyzed.
8066
 
8067
2010-06-17  Arnaud Charlet  
8068
 
8069
        * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not use
8070
        Allocator as the Related_Node of Return_Obj_Access in call to
8071
        Make_Temporary below as this would create a sort of infinite
8072
        "recursion".
8073
 
8074
2010-06-17  Ben Brosgol  
8075
 
8076
        * gnat_ugn.texi: Update gnatcheck doc.
8077
 
8078
2010-06-17  Ed Schonberg  
8079
 
8080
        * sem_ch3.adb (Build_Incomplete_Type_Declaration): If there is an
8081
        incomplete view of the type that is not tagged, and the full type is a
8082
        tagged extension, create class_wide type now, and warn that the
8083
        incomplete view should be tagged as well.
8084
 
8085
2010-06-17  Vincent Celier  
8086
 
8087
        * gnatcmd.adb (Non_VMS_Usage): Do not issue usage for gnat sync.
8088
        Update the last line of the usage, indicating what commands do not
8089
        accept project file switches.
8090
        * vms_conv.adb: Do not issue usage line for GNAT SYNC
8091
        * vms_data.ads: Fix errors in the qualifiers /LOGFILE and /MAIN of
8092
        GNAT ELIM.
8093
        * gnat_ugn.texi: Document the relaxed rules for library directories in
8094
        externally built library projects.
8095
 
8096
2010-06-17  Doug Rupp  
8097
 
8098
        * s-auxdec-vms_64.ads: Make boolean and arithmetic operations intrinsic
8099
        where possible.
8100
        * s-auxdec-vms-alpha.adb: Remove kludges for aforemention.
8101
        * gcc-interface/Makefile.in: Update VMS target pairs.
8102
 
8103
2010-06-17  Vasiliy Fofanov  
8104
 
8105
        * adaint.c: Reorganized in order to avoid use of GetProcessId to stay
8106
        compatible with Windows NT 4.0 which doesn't provide this function.
8107
 
8108
2010-06-17  Vincent Celier  
8109
 
8110
        * ali-util.adb (Time_Stamp_Mismatch): In Verbose mode, if there is
8111
        different timestamps but the checksum is the same, issue a short
8112
        message saying so.
8113
 
8114
2010-06-17  Arnaud Charlet  
8115
 
8116
        * s-interr.adb (Finalize): If the Abort_Task signal is set to system,
8117
        it means that we cannot reset interrupt handlers since this would
8118
        require potentially sending the abort signal to the Server_Task.
8119
 
8120
2010-06-17  Ed Schonberg  
8121
 
8122
        * exp_ch4.adb: expand NOT for VMS types.
8123
        * sem_util.adb: Use OpenVMS_On_Target for IS_VMS_Operator.
8124
 
8125
2010-06-17  Sergey Rybin  
8126
 
8127
        * vms_data.ads: Add qualifier for '--no-elim-dispatch' gnatelim option.
8128
        * gnat_ugn.texi (gnatelim): add description for --no-elim-dispatch
8129
        option.
8130
 
8131
2010-06-17  Ed Schonberg  
8132
 
8133
        * exp_ch6.adb (Expand_Call): Do not expand a call to an internal
8134
        protected operation if the subprogram has been eliminated.
8135
 
8136
2010-06-17  Vincent Celier  
8137
 
8138
        * prj-nmsc.adb (Check_Library_Attributes): Allow the different
8139
        directories associated with a library to be any directory when the
8140
        library project is externally built.
8141
 
8142
2010-06-17  Vincent Celier  
8143
 
8144
        * make.adb (Check): If switch -m is used, deallocate the memory that
8145
        may be allocated when computing the checksum.
8146
 
8147
2010-06-17  Eric Botcazou  
8148
 
8149
        * g-socthi-mingw.adb (C_Recvmsg): Add 'use type' clause for C.size_t;
8150
        (C_Sendmsg): Likewise.
8151
 
8152
2010-06-17  Thomas Quinot  
8153
 
8154
        * sem_res.adb: Update comments.
8155
 
8156
2010-06-17  Vincent Celier  
8157
 
8158
        * back_end.adb (Scan_Compiler_Arguments): Process last argument
8159
 
8160
2010-06-17  Robert Dewar  
8161
 
8162
        * exp_ch3.adb, exp_ch6.adb, exp_smem.adb, exp_util.adb: Use Ekind_In.
8163
        * layout.adb, freeze.adb: Use Make_Temporary.
8164
 
8165
2010-06-17  Jerome Lambourg  
8166
 
8167
        * exp_ch11.adb (Expand_N_Raise_Statement): Expand raise statements in
8168
        .NET/JVM normally as this is now perfectly supported by the backend.
8169
 
8170
2010-06-17  Pascal Obry  
8171
 
8172
        * gnat_rm.texi: Fix minor typo, remove duplicate blank lines.
8173
 
8174
2010-06-17  Vincent Celier  
8175
 
8176
        * make.adb (Collect_Arguments_And_Compile): Create include path file
8177
        only when -x is specified.
8178
        (Gnatmake): Ditto
8179
        * opt.ads (Use_Include_Path_File): New Boolean flag, initialized to
8180
        False.
8181
        * prj-env.adb (Set_Ada_Paths): New Boolean parameters Include_Path and
8182
        Objects_Path, defaulted to True. Only create include path file if
8183
        Include_Path is True, only create objects path file if Objects_Path is
8184
        True.
8185
        * prj-env.ads (Set_Ada_Paths): New Boolean parameters Include_Path and
8186
        Objects_Path, defaulted to True.
8187
        * switch-m.adb (Scan_Make_Switches): Set Use_Include_Path_File to True
8188
        when -x is used.
8189
 
8190
2010-06-17  Ed Schonberg  
8191
 
8192
        * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
8193
        determine whether it has the controlling type, when the formal is an
8194
        access parameter.
8195
 
8196
2010-06-17  Eric Botcazou  
8197
 
8198
        * s-crtl.ads (ssize_t): New type.
8199
        (read): Fix signature.
8200
        (write): Likewise.
8201
        * g-socthi.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
8202
        'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
8203
        (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
8204
        (C_Sendmsg): Likewise.
8205
        * g-socthi.adb (Syscall_Recvmsg): Likewise.
8206
        (Syscall_Sendmsg): Likewise.
8207
        (C_Recvmsg): Likewise.
8208
        (C_Sendmsg): Likewise.
8209
        * g-socthi-mingw.ads: Add 'with System.CRTL' clause.  Remove ssize_t
8210
        and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
8211
        (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
8212
        (C_Sendmsg): Likewise.
8213
        * g-socthi-mingw.adb (C_Recvmsg): Likewise.
8214
        (C_Sendmsg): Likewise.
8215
        * g-socthi-vms.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
8216
        'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
8217
        (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
8218
        (C_Sendmsg): Likewise.
8219
        * g-socthi-vms.adb (C_Recvmsg): Likewise.
8220
        (C_Sendmsg): Likewise.
8221
        * g-socthi-vxworks.ads Add 'with System.CRTL' clause.  Remove ssize_t
8222
        and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
8223
        (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
8224
        (C_Sendmsg): Likewise.
8225
        * g-socthi-vxworks.adb (C_Recvmsg): Likewise.
8226
        (C_Sendmsg): Likewise.
8227
        * g-sercom-linux.adb (Read): Use correct types to call 'read'.
8228
        (Write): Likewise to call 'write'.
8229
        * s-os_lib.adb (Read): Use correct type to call System.CRTL.read.
8230
        (Write): Use correct type to call System.CRTL.write.
8231
        * s-tasdeb.adb (Write): Likewise.
8232
 
8233
2010-06-17  Vincent Celier  
8234
 
8235
        * prj-proc.adb (Copy_Package_Declarations): Change argument name
8236
        Naming_Restricted to Restricted. If Restricted is True, do not copy the
8237
        value of attribute Linker_Options.
8238
 
8239
2010-06-17  Eric Botcazou  
8240
 
8241
        * gcc-interface/trans.c (push_stack, pop_stack): Delete.
8242
        (Case_Statement_to_gnu): Adjust.
8243
        (Loop_Statement_to_gnu): Likewise.
8244
        (Subprogram_Body_to_gnu): Likewise.
8245
        (Handled_Sequence_Of_Statements_to_gnu): Likewise.
8246
        (Compilation_Unit_to_gnu): Likewise.
8247
 
8248
2010-06-17  Robert Dewar  
8249
 
8250
        * exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb,
8251
        exp_sel.adb, exp_util.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb,
8252
        sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb, sem_ch9.adb,
8253
        sem_dist.adb, sem_util.adb: Use Make_Temporary
8254
        * itypes.ads, tbuild.ads: Minor comment update
8255
        * exp_ch9.adb, exp_dist.adb: Minor reformatting
8256
 
8257
2010-06-17  Thomas Quinot  
8258
 
8259
        * exp_imgv.adb, exp_ch7.ads: Minor reformatting.
8260
 
8261
2010-06-17  Robert Dewar  
8262
 
8263
        * exp_ch9.adb, exp_disp.adb, exp_dist.adb: Use Make_Temporary.
8264
 
8265
2010-06-17  Thomas Quinot  
8266
 
8267
        * sprint.adb (pg): Set Dump_Freeze_Null, to be consistent with -gnatdg.
8268
 
8269
2010-06-17  Robert Dewar  
8270
 
8271
        * exp_ch6.adb, exp_ch7.adb, exp_ch5.adb: Use Make_Temporary
8272
        * tbuild.ads (Make_Temporary): More comment updates
8273
        * tbuild.adb: Minor reformatting
8274
 
8275
2010-06-17  Robert Dewar  
8276
 
8277
        * checks.adb, exp_aggr.adb, exp_atag.adb, exp_attr.adb, exp_ch11.adb,
8278
        exp_ch3.adb, exp_ch4.adb: Minor code reorganization.
8279
        Use Make_Temporary.
8280
        * tbuild.ads, tbuild.adb (Make_Temporary): Clean up, use Entity_Id
8281
        instead of Node_Id.
8282
        (Make_Temporary): Add more extensive documentation
8283
 
8284
2010-06-17  Robert Dewar  
8285
 
8286
        * sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb,
8287
        sem_warn.adb, sem_eval.adb: Minor reformatting.  Use Ekind_In.
8288
        (Set_Slice_Subtype): Explicitly freeze the slice's itype at the point
8289
        where the slice's actions are inserted.
8290
        (Decompose_Expr): Account for possible rewriting of slice bounds
8291
        resulting from side effects suppression caused by the above freezing,
8292
        so that folding of bounds is preserved by such rewriting.
8293
 
8294
2010-06-17  Robert Dewar  
8295
 
8296
        * einfo.ads, einfo.adb (Get_Record_Representation_Clause): New
8297
        function.
8298
        * freeze.adb (Freeze_Record_Type): Add call to
8299
        Check_Record_Representation_Clause.
8300
        * sem_ch13.adb (Check_Record_Representation_Clause): New function
8301
        (Analyze_Record_Representation_Clause): Split out overlap code into
8302
        this new function.
8303
        (Check_Component_Overlap): Moved inside
8304
        Check_Record_Representation_Clause.
8305
        * sem_ch13.ads (Check_Record_Representation_Clause): New function.
8306
 
8307
2010-06-17  Robert Dewar  
8308
 
8309
        * back_end.adb, sem_res.adb, switch-c.adb, sem_scil.adb: Minor
8310
        reformatting.
8311
        * sem_attr.adb, sem_cat.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb,
8312
        sem_eval.adb: Use Ekind_In
8313
 
8314
2010-06-17  Ed Schonberg  
8315
 
8316
        * sem_ch8.adb: better error message for illegal inherited discriminant
8317
 
8318
2010-06-17  Vincent Celier  
8319
 
8320
        * bindusg.adb: Remove lines for -A and -C
8321
        * gnat_ugn.texi: Remove all documentation and examples of switches -A
8322
        and -C for gnatbind and gnatlink.
8323
        * gnatlink.adb (Usage): Remove lines for -A and -C
8324
        * switch-b.adb (Scan_Binder_Switches): Issue warning when switch -C is
8325
        specified.
8326
        * gcc-interface/Make-lang.in: Update dependencies.
8327
 
8328
2010-06-17  Vincent Celier  
8329
 
8330
        * back_end.adb (Scan_Compiler_Arguments): Put all arguments in new
8331
        local Argument_List variable Args.
8332
        * switch-c.adb (Scan_Front_End_Switches): New Argument_List argument
8333
        Args.
8334
        (Switch_Subsequently_Cancelled): New Argument_List argument Args. Look
8335
        for subsequent switches in Args.
8336
        * switch-c.ads (Scan_Front_End_Switches): New Argument_List argument
8337
        Args.
8338
        * gcc-interface/Make-lang.in: Update dependencies.
8339
 
8340
2010-06-17  Robert Dewar  
8341
 
8342
        * einfo.adb: Minor code fix, allow E_Class_Wide_Type for
8343
        Equivalent_Type to match documentation.
8344
 
8345
2010-06-17  Robert Dewar  
8346
 
8347
        * sem_ch6.adb, sem_ch7.adb: Minor reformatting.
8348
        * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_ch10.adb, sem_ch12.adb,
8349
        sem_ch4.adb, sem_ch8.adb, sem_ch13.adb: Make use of Ekind_In.
8350
 
8351
2010-06-17  Thomas Quinot  
8352
 
8353
        * sem_res.adb (Set_Slice_Subtype): Always freeze the slice's itype.
8354
 
8355
2010-06-17  Thomas Quinot  
8356
 
8357
        * freeze.adb (Freeze_Expression): Short circuit operators are valid
8358
        freeze node insertion points.
8359
 
8360
2010-06-17  Robert Dewar  
8361
 
8362
        * switch-c.ads, switch-c.adb, sem_ch13.adb: Minor reformatting.
8363
        * sem_ch12.adb: Add pragmas Assert and Check to previous change.
8364
 
8365
2010-06-17  Gary Dismukes  
8366
 
8367
        * layout.adb (Layout_Type): Broaden test for setting an array type's
8368
        Component_Size to include all scalar types, not just discrete types
8369
        (components of real types were missed).
8370
        * sem_ch3.adb (Constrain_Index): Add missing setting of First_Literal
8371
        on the itype created for an index (consistent with Make_Index and
8372
        avoids possible Assert_Failures).
8373
 
8374
2010-06-17  Robert Dewar  
8375
 
8376
        * atree.ads, atree.adb: Add 6-parameter version of Ekind_In
8377
        * einfo.adb: Minor code reformatting (use Ekind_In)
8378
 
8379
2010-06-17  Robert Dewar  
8380
 
8381
        * sem_warn.adb (Test_Ref): Abandon scan if access subprogram parameter
8382
        found.
8383
 
8384
2010-06-17  Vincent Celier  
8385
 
8386
        * back_end.adb: Minor comment updates
8387
        * switch-c.adb: Remove dependencies on gcc C sources
8388
        * gcc-interface/Make-lang.in: Add a-comlin.o to the object file list
8389
        for the compiler.
8390
 
8391
2010-06-17  Ed Schonberg  
8392
 
8393
        * sem_ch12.adb: propagate Pragma_Enabled flag to generic.
8394
        * get_scos.adb: Set C2 flag in decision entry of pragma to 'e'.
8395
        * par_sco.ads, par_sco.adb (Set_SCO_Pragma_Enabled): New procedure
8396
        Remove use of Node field in SCOs table
8397
        (Output_Header): Set 'd' to initially disable pragma entry
8398
        * put_scos.adb (Put_SCOs): New flag indicating if pragma is enabled
8399
        * scos.ads, scos.adb: Remove Node field from internal SCOs table.
8400
        Use C2 field of pragma decision header to indicate enabled.
8401
        * sem_prag.adb: Add calls to Set_SCO_Pragma_Enabled.
8402
        * gcc-interface/Make-lang.in: Update dependencies.
8403
 
8404
2010-06-17  Vincent Celier  
8405
 
8406
        * back_end.adb (Next_Arg): Moved to procedure Scan_Compiler_Arguments
8407
        (Scan_Compiler_Arguments): Call Scan_Front_End_Switches with Next_Arg
8408
        (Switch_Subsequently_Cancelled): Function moved to the body of Switch.C
8409
        * back_end.ads (Scan_Front_End_Switches): Function moved to the body of
8410
        Switch.C.
8411
        * switch-c.adb: Copied a number of global declarations from
8412
        back_end.adb.
8413
        (Len_Arg): New function copied from back_end.adb
8414
        (Switch_Subsequently_Cancelled): New function moved from back_end.adb
8415
        (Scan_Front_End_Switches): New parameter Arg_Rank used to call
8416
        Switch_Subsequently_Cancelled.
8417
        * switch-c.ads (Scan_Front_End_Switches): New parameter Arg_Rank.
8418
        * gcc-interface/Makefile.in: Add line so that shared libgnat is linked
8419
        with -lexc on Tru64.
8420
 
8421
2010-06-17  Robert Dewar  
8422
 
8423
        * prj.ads, prj.adb: Minor reformatting
8424
 
8425
2010-06-17  Thomas Quinot  
8426
 
8427
        * put_scos.adb: Do not generate a blank line in SCOs when omitting the
8428
        CP line for a disabled pragma.
8429
 
8430
2010-06-17  Emmanuel Briot  
8431
 
8432
        * prj-proc.adb, prj.adb, prj.ads (Check_Or_Set_Typed_Variable): New
8433
        subprogram.
8434
        (Process_Declarative_Item): An invalid value in an typed variable
8435
        declaration is no longer always fatal.
8436
 
8437
2010-06-16  Arnaud Charlet  
8438
 
8439
        * get_scos.adb, par_sco.adb, par_sco.ads, put_scos.adb, scos.adb,
8440
        scos.ads, exp_ch4.adb, sem_warn.adb: Code clean up, update
8441
        documentation.
8442
 
8443
2010-06-16  Javier Miranda  
8444
 
8445
        * exp_disp.adb (Expand_Dispatching_Call): Adjust the decoration of the
8446
        node referenced by the SCIL node of dispatching "=" to skip the tags
8447
        comparison.
8448
 
8449
2010-06-16  Ed Schonberg  
8450
 
8451
        * sem_ch5.adb (Analyze_Exit_Statement): Return if no enclosing loop,
8452
        to prevent cascaded errors and compilation aborts.
8453
 
8454
2010-06-16  Robert Dewar  
8455
 
8456
        * back_end.adb (Switch_Subsequently_Cancelled): New function
8457
        Move declarations to package body level to support this change
8458
        * back_end.ads (Switch_Subsequently_Cancelled): New function
8459
        * gnat_ugn.texi: Document -gnat-p switch
8460
        * switch-c.adb (Scan_Front_End_Switches): Implement -gnat-p switch
8461
        * ug_words: Add entry for -gnat-p (UNSUPPRESS_ALL)
8462
        * usage.adb: Add line for -gnat-p switch
8463
        * vms_data.ads: Add entry for UNSUPPRESS_ALL (-gnat-p)
8464
 
8465
2010-06-16  Robert Dewar  
8466
 
8467
        * sem_warn.adb (Check_Infinite_Loop_Warning): Declaration counts as
8468
        modification.
8469
 
8470
2010-06-16  Robert Dewar  
8471
 
8472
        * exp_disp.adb: Minor reformatting
8473
 
8474
2010-06-16  Ed Schonberg  
8475
 
8476
        * sem_ch3.adb (Complete_Private_Subtype): Inherit class_wide type from
8477
        base type only if it was not previously created for the partial view.
8478
 
8479
2010-06-16  Thomas Quinot  
8480
 
8481
        * tbuild.ads: Minor comment fix
8482
 
8483
2010-06-15  Nathan Froyd  
8484
 
8485
        * gcc-interface/trans.c (gnu_stack_free_list): Delete.
8486
        (gnu_except_ptr_stack): Change type to VEC.  Update comment.
8487
        (gnu_elab_proc_stack): Likewise.
8488
        (gnu_return_label_stack): Likewise.
8489
        (gnu_loop_label_stack): Likewise.
8490
        (gnu_switch_label_stack): Likewise.
8491
        (gnu_constraint_label_stack): Likewise.
8492
        (gnu_storage_error_label_stack): Likewise.
8493
        (gnu_program_error_label_stack): Likewise.
8494
        (push_exception_label_stack): Take a VEC ** instead of a tree *.
8495
        (push_stack): Likewise.  Remove unused second parameter.  Update
8496
        callers.
8497
        (pop_stack): Take a VEC * instead of a tree *.  Update callers.
8498
        (gigi): Initialize stacks as VECs.
8499
        (Identifier_to_gnu): Use VEC_last instead of TREE_VALUE.
8500
        (Case_Statement_to_gnu): Likewise.
8501
        (Subprogram_Body_to_gnu): Likewise.
8502
        (call_to_gnu): Likewise.
8503
        (Exception_Handler_to_gnu_sjlj): Likewise.
8504
        (gnat_to_gnu): Likewise.
8505
        (get_exception_label): Likewise.
8506
 
8507
2010-06-14  Ed Schonberg  
8508
 
8509
        * sem_ch3.adb (Build_Derived_Record_Type): if derived type is an
8510
        anonymous base generated when the parent is a constrained discriminated
8511
        type, propagate interface list to first subtype because it may appear
8512
        in a current instance within the extension part of the derived type
8513
        declaration, and its own subtype declaration has not been elaborated
8514
        yet.
8515
        * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
8516
        determine whether it has the controlling type.
8517
 
8518
2010-06-14  Jerome Lambourg  
8519
 
8520
        * exp_ch11.adb (Expand_N_Raise_Statement): Make sure that the explicit
8521
        raise of CE, SE and PE have the reason correctly set and are properly
8522
        expanded before stopping the expansions of .NET/JVM exceptions.
8523
 
8524
2010-06-14  Robert Dewar  
8525
 
8526
        * opt.ads (Check_Policy_List): Add some clarifying comments
8527
        * sem_prag.adb (Analyze_Pragma, case Check): Set Pragma_Enabled flag
8528
        on rewritten Assert pragma.
8529
 
8530
2010-06-14  Gary Dismukes  
8531
 
8532
        * sem_ch6.adb (Check_Overriding_Indicator): Add a special check for
8533
        controlled operations, so that they will be treated as overriding even
8534
        if the overridden subprogram is marked Is_Hidden, as long as the
8535
        overridden subprogram's parent subprogram is not hidden.
8536
 
8537
2010-06-14  Robert Dewar  
8538
 
8539
        * debug.adb: Entry for gnatw.d no longer specific for while loops
8540
        * einfo.adb (First_Exit_Statement): New attribute for E_Loop
8541
        * einfo.ads (First_Exit_Statement): New attribute for E_Loop
8542
        * sem_ch5.adb (Analyze_Loop_Statement): Check_Infinite_Loop_Warning has
8543
        new calling sequence to include test for EXIT WHEN.
8544
        (Analyze_Exit_Statement): Chain EXIT statement into exit statement
8545
        chain
8546
        * sem_warn.ads, sem_warn.adb (Check_Infinite_Loop_Warning): Now handles
8547
        EXIT WHEN case.
8548
        * sinfo.adb (Next_Exit_Statement): New attribute of N_Exit_Statement
8549
        node.
8550
        * sinfo.ads (N_Pragma): Correct comment on Sloc field (points to
8551
        PRAGMA, not to pragma identifier).
8552
        (Next_Exit_Statement): New attribute of N_Exit_Statement node
8553
 
8554
2010-06-14  Robert Dewar  
8555
 
8556
        * sem_res.adb (Resolve_Short_Circuit): Fix sloc of "assertion/check
8557
        would fail" msg.
8558
 
8559
2010-06-14  Robert Dewar  
8560
 
8561
        * par-ch2.adb (Scan_Pragma_Argument_Association): Clarify message for
8562
        missing pragma argument identifier.
8563
 
8564
2010-06-14  Robert Dewar  
8565
 
8566
        * atree.ads, atree.adb (Ekind_In): New functions.
8567
 
8568
2010-06-14  Robert Dewar  
8569
 
8570
        * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**N in stand alone context
8571
 
8572
2010-06-14  Robert Dewar  
8573
 
8574
        * usage.adb (Usage): Redo documentation of -gnatwa.
8575
 
8576
2010-06-14  Ed Schonberg  
8577
 
8578
        * sem_ch8.adb (Find_Type): The attribute 'class cannot be applied to
8579
        an untagged incomplete type that is a limited view.
8580
 
8581
2010-06-14  Sergey Rybin  
8582
 
8583
        * gnat_ugn.texi: Add description of '-cargs gcc_switches' to gnatstub
8584
        and gnatppa.
8585
 
8586
2010-06-14  Thomas Quinot  
8587
 
8588
        * exp_ch4.adb (Expand_Short_Circuit_Operator): New subprogram,
8589
        factoring duplicated code between...
8590
        (Expand_N_And_Than, Expand_N_Or_Else): Remove duplicated code.
8591
        * a-envvar.ads: Minor reformatting
8592
 
8593
2010-06-14  Arnaud Charlet  
8594
 
8595
        * ali.adb, ali.ads, lib-xref.ads: Document new '+' letter for C/C++
8596
        static entities.
8597
        (Scan_ALI): Take into account new Visibility field.
8598
        (Visibility_Kind): New type.
8599
        (Xref_Entity_Record): Replace Lib field by Visibility.
8600
 
8601
        * gcc-interface/Make-lang.in: Update dependencies.
8602
 
8603
2010-06-14  Pascal Obry  
8604
 
8605
        * raise.h: Remove unused defintions.
8606
 
8607
2010-06-14  Bob Duff  
8608
 
8609
        * par-ch10.adb (P_Subunit): If the next token after "separate(X)" is
8610
        Tok_Not or Tok_Overriding, call P_Subprogram. We had previously given
8611
        the incorrect error "proper body expected".
8612
        * par-ch6.adb (P_Subprogram): Suppress "overriding indicator not
8613
        allowed here" error in case of subunits, which was triggered by the
8614
        above change to P_Subunit.
8615
 
8616
2010-06-14  Sergey Rybin  
8617
 
8618
        * gnat_ugn.texi, vms_data.ads: Update gnatelim doc.
8619
 
8620
2010-06-14  Thomas Quinot  
8621
 
8622
        * lib-util.adb: Minor code reorganization.
8623
 
8624
2010-06-14  Robert Dewar  
8625
 
8626
        * ali.adb (Scan_ALI): Implement reading and storing of N lines
8627
        (Known_ALI_Lines): Add entry for 'N' (notes)
8628
        * ali.ads (Notes): New table to store Notes information
8629
        * alloc.ads: Add entries for Notes table
8630
        * lib-util.adb (Write_Info_Int): New procedure
8631
        (Write_Info_Slit): New procedure
8632
        (Write_Info_Uint): New procedure
8633
        * lib-util.ads (Write_Info_Int): New procedure
8634
        (Write_Info_Slit): New procedure
8635
        (Write_Info_Uint): New procedure
8636
        * lib-writ.adb (Write_Unit_Information): Output N (notes) lines
8637
        * lib-writ.ads: Update documentation for N (Notes) lines
8638
        * lib.adb (Store_Note): New procedure
8639
        * lib.ads (Notes): New table
8640
        (Store_Note): New procedure
8641
        * sem_prag.adb: Call Store_Note for affected pragmas
8642
 
8643
2010-06-14  Thomas Quinot  
8644
 
8645
        * socket.c: Fix wrong condition in #ifdef
8646
        * g-socket.adb, g-sothco.ads: Functions imported from socket.c that
8647
        take or return char* values can't use Interfaces.C.Strings.chars_ptr,
8648
        because on VMS this type is a 32-bit pointer which is not compatible
8649
        with the default for C pointers for code compiled with gcc on that
8650
        platform.
8651
 
8652
2010-06-14  Ed Schonberg  
8653
 
8654
        * sem_util (Is_VMS_Operator): New predicate to determine whether an
8655
        operator is an intrinsic operator declared in the DEC system extension.
8656
        * sem_res.adb (Resolve_Logical_Op): operation is legal on signed types
8657
        if the operator is a VMS intrinsic.
8658
        * sem_eval.adb (Eval_Logical_Op): Operation is legal and be
8659
        constant-folded if the operands are signed and the operator is a VMS
8660
        intrinsic.
8661
 
8662
2010-06-14  Robert Dewar  
8663
 
8664
        * g-socket.adb, gnatcmd.adb: Minor reformatting.
8665
 
8666
2010-06-14  Pascal Obry  
8667
 
8668
        * s-finimp.adb: Fix typo.
8669
        * raise.h: Remove duplicate blank line.
8670
 
8671
2010-06-14  Vincent Celier  
8672
 
8673
        * prj-nmsc.adb (Add_Sources): Always set the object file and the
8674
        switches file names, as the configuration of the language may change
8675
        in an extending project.
8676
        (Process_Naming_Scheme): For sources of projects that are extended, set
8677
        the configuration of the language from the highest extending project
8678
        where the language is declared.
8679
 
8680
2010-06-14  Gary Dismukes  
8681
 
8682
        * sem_res.adb (Resolve_Call): For infinite recursion check, test
8683
        whether the called subprogram is inherited from a containing
8684
        subprogram.
8685
        (Same_Or_Aliased_Subprograms): New function
8686
 
8687
2010-06-14  Ed Schonberg  
8688
 
8689
        * sem_ch8.adb (End_Use_Type): Before indicating that an operator is not
8690
        use-visible, check whether it is a primitive for more than one type.
8691
 
8692
2010-06-14  Robert Dewar  
8693
 
8694
        * sem_ch3.adb (Copy_And_Swap): Copy Has_Pragma_Unmodified flag.
8695
 
8696
        * sem_ch7.adb (Preserve_Full_Attributes): Preserve
8697
        Has_Pragma_Unmodified flag.
8698
 
8699
2010-06-14  Thomas Quinot  
8700
 
8701
        * g-sttsne-locking.adb, g-sttsne-locking.ads, g-sttsne.ads,
8702
        g-sttsne-vxworks.adb, g-sttsne-dummy.ads: Removed. Mutual exclusion is
8703
        now done in GNAT.Sockets if necessary.
8704
        * gsocket.h, g-socket.adb, g-sothco.ads (GNAT.Sockets.Get_XXX_By_YYY):
8705
        Ensure mutual exclusion for netdb operations if the target platform
8706
        requires it.
8707
        (GNAT.Sockets.Thin_Common): New binding for getXXXbyYYY, treating
8708
        struct hostent as an opaque type to improve portability.
8709
        * s-oscons-tmplt.c, socket.c: For the case of Vxworks, emulate
8710
        gethostbyYYY using proprietary VxWorks API so that a uniform interface
8711
        is available for the Ada side.
8712
        * gcc-interface/Makefile.in: Remove g-sttsne-*
8713
        * gcc-interface/Make-lang.in: Update dependencies.
8714
 
8715
2010-06-14  Vincent Celier  
8716
 
8717
        * gnatcmd.adb (Mapping_File): New function.
8718
 
8719
2010-06-14  Javier Miranda  
8720
 
8721
        * sem_ch3.adb (Derive_Subprograms): Remove over-restrictive assertion.
8722
 
8723
2010-06-14  Arnaud Charlet  
8724
 
8725
        * ali.adb: Fix typo.
8726
        * s-auxdec-vms-alpha.adb, scng.ads: Minor reformatting.
8727
 
8728
2010-06-14  Ed Schonberg  
8729
 
8730
        * sem_ch12.adb: Make Mark_Context transitive, and apply to subprogram
8731
        instances.
8732
 
8733
        * sem_ch8.adb (Find_Expanded_Name): If a candidate compilation unit in
8734
        the context does not have a homonym of the selector, emit default
8735
        error message.
8736
 
8737
2010-06-14  Robert Dewar  
8738
 
8739
        * sem.adb, sem_ch12.adb, sem_util.adb: Minor reformatting and
8740
        comment addition.
8741
 
8742
2010-06-14  Arnaud Charlet  
8743
 
8744
        * lib-xref.ads: Doc updates:
8745
         - Allocate 'Q' for #include entity kind
8746
         - Free 'Z'
8747
         - Allocate 'g' for regular macros
8748
         - Allocate 'G' for function-like macros
8749
 
8750
2010-06-14  Ed Schonberg  
8751
 
8752
        * sinfo.ads, sinfo.adb (Withed_Body): New attribute of a with_clause.
8753
        Indicates that there is an instantiation in the current unit that
8754
        loaded the body of the unit denoted by the with_clause.
8755
        * sem_ch12.adb (Mark_Context): When instanting a generic body, check
8756
        whether a with_clause in the current context denotes the unit that
8757
        holds the generic declaration, and mark the with_clause accordingly.
8758
        (Instantiate_Package_Body): call Mark_Context.
8759
        * sem.adb (Process_Bodies_In_Context): Use Withed_Body to determine
8760
        whether a given body should be traversed before the spec of the main
8761
        unit.
8762
 
8763
2010-06-14  Ed Falis  
8764
 
8765
        * sysdep.c: Fix 653 build against vThreads headers.
8766
 
8767
2010-06-14  Robert Dewar  
8768
 
8769
        * sinfo.ads: Minor reformatting.
8770
 
8771
2010-06-14  Ed Schonberg  
8772
 
8773
        * sem_ch6.adb (Analyze_Subprogram_Body): Do not check conformance when
8774
        the spec has been generated for a body without spec that carries an
8775
        Inline_Always pragma.
8776
 
8777
2010-06-14  Arnaud Charlet  
8778
 
8779
        * lib-xref.ads: Documentation change: allocate 'Z' letter to C/C++
8780
        macro.
8781
 
8782
2010-06-14  Jerome Lambourg  
8783
 
8784
        * exp_dbug.adb (Debug_Renaming_Declaration): Do not output any debug
8785
        declaration for VMs, as those are useless and might lead to duplicated
8786
        local variable names in the generated code.
8787
        * gcc-interface/Make-lang.in: Update dependencies.
8788
 
8789
2010-06-14  Robert Dewar  
8790
 
8791
        * opt.ads, sem.adb, sem_elab.adb: Minor reformatting
8792
 
8793
2010-06-14  Robert Dewar  
8794
 
8795
        * exp_aggr.adb (Has_Address_Clause): Moved to Exp_Util, and there it
8796
        is renamed as Has_Following_Address_Clause.
8797
        * exp_ch3.adb (Needs_Simple_Initialization): Add Consider_IS argument
8798
        to allow the caller to avoid Initialize_Scalars having an effect.
8799
        (Expand_N_Object_Declaration): Do not do Initialize_Scalars stuff for
8800
        scalars with an address clause specified.
8801
        * exp_ch3.ads (Needs_Simple_Initialization): Add Consider_IS argument
8802
        to allow the caller to avoid Initialize_Scalars having an effect.
8803
        * exp_util.adb (Has_Following_Address_Clause): Moved here from Exp_Aggr
8804
        (where it was called Has_Address_Clause).
8805
        * exp_util.ads (Has_Following_Address_Clause): Moved here from Exp_Aggr
8806
        (where it was called Has_Address_Clause).
8807
        * freeze.adb (Warn_Overlay): Suppress message about overlaying causing
8808
        problems for Initialize_Scalars (since we no longer initialize objects
8809
        with an address clause.
8810
 
8811
2010-06-14  Robert Dewar  
8812
 
8813
        * exp_prag.adb (Expand_Pragma_Check): Set Loc of generated code from
8814
        condition.
8815
 
8816
2010-06-14  Gary Dismukes  
8817
 
8818
        * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Debug_Info_Needed
8819
        on the entity of an implicitly generated postcondition procedure.
8820
 
8821
2010-06-14  Thomas Quinot  
8822
 
8823
        * sem_ch7.adb (Preserve_Full_Attributes): Propagate
8824
        Discriminant_Constraint elist from full view to private view.
8825
 
8826
2010-06-14  Robert Dewar  
8827
 
8828
        * sem_res.adb: Minor reformatting.
8829
 
8830
2010-06-14  Ed Schonberg  
8831
 
8832
        * sem.adb: New version of unit traversal.
8833
 
8834
        * sem_elab.adb (Check_Internal_Call): Do not place a call appearing
8835
        within a generic unit in the table of delayed calls.
8836
 
8837
2010-06-14  Robert Dewar  
8838
 
8839
        * gnatcmd.adb, sem_util.adb, exp_ch3.adb: Minor reformatting
8840
 
8841
2010-06-14  Ed Schonberg  
8842
 
8843
        * sem_ch12.adb (Save_References): If an identifier has been rewritten
8844
        during analysis as an explicit dereference, keep the reference implicit
8845
        in the generic, but preserve the entity if global. This prevents
8846
        malformed generic trees in the presence of some nested generics.
8847
 
8848
2010-06-14  Sergey Rybin  
8849
 
8850
        * gnat_ugn.texi: For the GNAT driver, clarify the effect of calling the
8851
        tool with '-files=' option. Also fix some small errors (wrong brackets)
8852
 
8853
2010-06-14  Vincent Celier  
8854
 
8855
        * gnatbind.adb: Call Scan_ALI with Directly_Scanned set to True for all
8856
        the ALI files on the command line.
8857
 
8858
        * ali.adb (Scan_ALI): Set component Directly_Scanned of the unit(s) to
8859
        the same value as the parameter of the same name.
8860
        * ali.ads (Scan_ALI): New Boolean parameter Directly_Scanned, defaulted
8861
        to False.
8862
        * bindgen.adb (Gen_Versions_Ada): Never emit version symbols for
8863
        Stand-Alone Library interfaces. When binding Stand-Alone Libraries,
8864
        emit version symbols only for the units of the library.
8865
        (Gen_Versions_C): Ditto.
8866
 
8867
2010-06-14  Gary Dismukes  
8868
 
8869
        * sem_ch4.adb: Fix typo.
8870
 
8871
2010-06-14  Vasiliy Fofanov  
8872
 
8873
        * s-oscons-tmplt.c (IOV_MAX): redefine on Tru64 and VMS since the
8874
        vector IO doesn't work at default value properly.
8875
 
8876
2010-06-14  Doug Rupp  
8877
 
8878
        * s-stoele.adb: Remove unnecessary qualification of To_Address for VMS.
8879
 
8880
2010-06-14  Vincent Celier  
8881
 
8882
        * gnatcmd.adb (Check_Files): Do not invoke the tool with all the
8883
        sources of the project if a switch -files= is used.
8884
 
8885
2010-06-14  Thomas Quinot  
8886
 
8887
        * exp_attr.adb: Minor reformatting.
8888
 
8889
2010-06-14  Gary Dismukes  
8890
 
8891
        * gnat_ugn.texi: Minor typo fixes and wording changes.
8892
 
8893
2010-06-14  Ed Schonberg  
8894
 
8895
        * sem_ch4.adb (Analyze_One_Call): If the call has been rewritten from a
8896
        prefixed form, do not re-analyze first actual, which may need an
8897
        implicit dereference.
8898
        * sem_ch6.adb (Analyze_Procedure_Call): If the call is given in
8899
        prefixed notation, the analysis will rewrite the node, and possible
8900
        errors appear in the rewritten name of the node.
8901
        * sem_res.adb: If a call is ambiguous because its first parameter is
8902
        an overloaded call, report list of candidates, to clarify ambiguity of
8903
        enclosing call.
8904
 
8905
2010-06-14  Doug Rupp  
8906
 
8907
        * s-auxdec-vms-alpha.adb: New package body implementing legacy
8908
        VAX instructions with Asm insertions.
8909
        * s-auxdec-vms_64.ads: Inline VAX queue functions
8910
        * s-stoele.adb: Resolve some ambiguities in To_Addresss with s-suxdec
8911
        that show up only on VMS.
8912
        * gcc-interface/Makefile.in: Provide translation for
8913
        s-auxdec-vms-alpha.adb.
8914
 
8915
2010-06-14  Olivier Hainque  
8916
 
8917
        * initialize.c (VxWorks section): Update comments.
8918
 
8919
2010-06-14  Robert Dewar  
8920
 
8921
        * a-convec.adb, sem_prag.adb, checks.adb: Minor reformatting.
8922
 
8923
2010-06-14  Eric Botcazou  
8924
 
8925
        * init.c: Code clean up.
8926
 
8927
2010-06-14  Ed Schonberg  
8928
 
8929
        * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): Do
8930
        not insert address clause in table for later validation if type of
8931
        entity is generic, to prevent possible spurious errors.
8932
 
8933
        * sem_ch8.adb: Code clean up.
8934
 
8935
2010-06-14  Ben Brosgol  
8936
 
8937
        * gnat_ugn.texi: Expanded @ovar macro inline to solve problem with
8938
        texi2pdf and texi2html.
8939
        Document how to change scheduling properties on HP-UX.
8940
 
8941
2010-06-14  Thomas Quinot  
8942
 
8943
        * g-socket.ads: Remove misleading comments.
8944
 
8945
2010-06-14  Jerome Lambourg  
8946
 
8947
        * sem_prag.adb (Check_Duplicated_Export_Name): Remove check for
8948
        CLI_Target as this prevents proper detection of exported names
8949
        duplicates when the exported language is different to CIL.
8950
        (Process_Interface_Name): Add check for CIL convention exports,
8951
        replacing the old one from Check_Duplicated_Export_Name.
8952
 
8953
2010-06-14  Matthew Heaney  
8954
 
8955
        * a-coinve.adb, a-convec.adb (operator "&"): Check both that new length
8956
        and new last satisfy constraints.
8957
        (Delete_Last): prevent overflow for subtraction of index values
8958
        (To_Vector): prevent overflow for addition of index values
8959
 
8960
2010-06-14  Ed Schonberg  
8961
 
8962
        * sem_ch4.adb (Complete_Object_Operation): After analyzing the
8963
        rewritten call, preserve the resulting type to prevent spurious errors,
8964
        when the call is implicitly dereferenced in the context of an in-out
8965
        actual.
8966
 
8967
        * checks.adb (Apply_Discriminant_Check): If the target of the
8968
        assignment is a renaming of a heap object, create constrained type for
8969
        it to apply check.
8970
 
8971
2010-06-14  Pascal Obry  
8972
 
8973
        * prj-proc.adb: Fix copy of object directory for extending projects.
8974
 
8975
2010-06-14  Jose Ruiz  
8976
 
8977
        * init.c (__gnat_alternate_stack): Define this space for PowerPC linux
8978
        (__gnat_install_handler, PowerPC linux): Activate the alternative
8979
        signal stack.
8980
 
8981
2010-06-13  Gerald Pfeifer  
8982
 
8983
        * gnat_rm.texi: Move to GFDL version 1.3.
8984
        * gnat-style.texi: Ditto.
8985
        * gnat_ugn.texi: Ditto.
8986
 
8987
2010-06-12  Kai Tietz  
8988
 
8989
        PR ada/43731
8990
        * gcc-interface/Makefile.in: Add rules for multilib x86/x64
8991
        mingw targets.
8992
 
8993
2010-06-11  Alexandre Oliva  
8994
 
8995
        * gcc-interface/utils.c (update_pointer_to): Initialize last.
8996
 
8997
2010-06-09  Eric Botcazou  
8998
 
8999
        * gcc-interface/ada-tree.h: Fix formatting nits.
9000
 
9001
2010-06-08  Laurynas Biveinis  
9002
 
9003
        * gcc-interface/utils.c (init_gnat_to_gnu): Use typed GC
9004
        allocation.
9005
        (init_dummy_type): Likewise.
9006
        (gnat_pushlevel): Likewise.
9007
 
9008
        * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
9009
        (Subprogram_Body_to_gnu): Likewise.
9010
        (Compilation_Unit_to_gnu): Likewise.
9011
        (start_stmt_group): Likewise.
9012
        (extract_encoding): Likewise.
9013
        (decode_name): Likewise.
9014
 
9015
        * gcc-interface/misc.c (gnat_printable_name): Likewise.
9016
 
9017
        * gcc-interface/decl.c (annotate_value): Likewise.
9018
 
9019
        * gcc-interface/ada-tree.h (struct lang_type): Add variable_size
9020
        GTY option.
9021
        (struct lang_decl): Likewise.
9022
        (SET_TYPE_LANG_SPECIFIC): Use typed GC allocation.
9023
        (SET_DECL_LANG_SPECIFIC): Likewise.
9024
 
9025
2010-06-04  Eric Botcazou  
9026
 
9027
        * gnatlink.adb (gnatlink): Remove support for -fsjlj switch.
9028
        * gcc-interface/lang-specs.h: Likewise.
9029
 
9030
2010-06-03  H.J. Lu  
9031
 
9032
        PR c++/44294
9033
        * gcc-interface/decl.c (MAX_FIXED_MODE_SIZE): Removed.
9034
 
9035
2010-06-01  Arnaud Charlet  
9036
 
9037
        * gnat_ugn.texi: Improve doc on -fdump-ada-spec, mention limitations.
9038
 
9039
2010-05-30  Eric Botcazou  
9040
 
9041
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Reuse the
9042
        TYPE_DECL of the equivalent type instead of building a new one.
9043
 
9044
2010-05-30  Eric Botcazou  
9045
 
9046
        * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust warning message.
9047
        Fix nits in comments.
9048
        * gcc-interface/misc.c (gnat_init_gcc_eh): Likewise.
9049
        * gcc-interface/trans.c (gigi): Likewise.
9050
        (Attribute_to_gnu): Likewise.
9051
        (Case_Statement_to_gnu): Likewise.
9052
        (gnat_to_gnu): Adjust warning message.
9053
        * gcc-interface/utils.c (create_var_decl_1): Fix nits in comments.
9054
        (build_vms_descriptor32): Likewise.
9055
 
9056
2010-05-27  Steven Bosscher  
9057
 
9058
        * gcc-interface/decl.c: Pretend to be a backend file by undefining
9059
        IN_GCC_FRONTEND (still need rtl.h here).
9060
 
9061
2010-05-26  Steven Bosscher  
9062
 
9063
        * gcc-interface/trans.c: Do not include rtl.h, insclude libfuncs.h.
9064
        (gigi): Adjust call to set_stack_check_libfunc.
9065
 
9066
2010-05-26  Steven Bosscher  
9067
 
9068
        * gcc-interface/utils.c: Do not include rtl.h.
9069
 
9070
2010-05-25  Steven Bosscher  
9071
 
9072
        * gcc-interface/utils.c: Do not include function.h, pointer-set.h,
9073
        and gimple.h.  Explain why rtl.h has to be included.
9074
        (handle_vector_size_attribute): Call reconstruct_complex_type directly.
9075
        * gcc-interface/targtyps.c: Do not include tm_p.h
9076
        * gcc-interface/utils2.c: Do not include flags.h.
9077
        * gcc-interface/trans.c: Do not include expr.h.  Include rtl.h instead,
9078
        and explain why it has to be included.
9079
        * gcc-interface/misc.c: Do not include expr.h, libfuncs.h, cgraph.h,
9080
        and optabs.h.
9081
        Include function.h and explain why.  Explain why except.h is included.
9082
        (enumerate_modes): Remove unused function.
9083
        * gcc-interface/gigi.h (enumerate_modes): Remove prototype.
9084
        * gcc-interface/Make-lang.in: Update dependencies.
9085
 
9086
2010-05-25  Joseph Myers  
9087
 
9088
        * gcc-interface/misc.c (internal_error_function): Add context
9089
        parameter.  Use it to access show_column flag and instead of using
9090
        global_dc.  Call warn_if_plugins.
9091
        * gcc-interface/Make-lang.in (ada/misc.o): Update dependencies.
9092
 
9093
2010-05-19  Eric Botcazou  
9094
 
9095
        * gcc-interface/misc.c (LANG_HOOKS_DEEP_UNSHARING): Redefine.
9096
        * gcc-interface/trans.c (unshare_save_expr): Delete.
9097
        (gigi): Do not unshare trees under SAVE_EXPRs here.
9098
 
9099
2010-05-18  Nathan Froyd  
9100
 
9101
        * gcc-interface/trans.c (call_to_gnu): Use build_call_vec instead of
9102
        build_call_list.
9103
        * gcc-interface/utils.c (build_function_stub): Likewise.
9104
 
9105
2010-05-16  Manuel López-Ibáñez  
9106
 
9107
        * gcc-interface/misc.c (gnat_handle_option): Remove special logic
9108
        for Wuninitialized without -O.
9109
 
9110
2010-05-16  Eric Botcazou  
9111
 
9112
        * gcc-interface/gigi.h (enum standard_datatypes): Add new value
9113
        ADT_exception_data_name_id.
9114
        (exception_data_name_id): New define.
9115
        * gcc-interface/trans.c (gigi): Initialize it.
9116
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Use the standard
9117
        exception type for standard exception definitions.  Do not make them
9118
        volatile.
9119
        : Equate fields of types associated with an exception
9120
        definition to those of the standard exception type.
9121
 
9122
2010-05-13  Andreas Schwab  
9123
 
9124
        * tracebak.c (__gnat_backtrace): Mark top_stack with ATTRIBUTE_UNUSED.
9125
 
9126
2010-05-12  Eric Botcazou  
9127
 
9128
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Tidy up
9129
        code, improve comments and fix formatting nits.
9130
 
9131
2010-05-12  Eric Botcazou  
9132
 
9133
        * gcc-interface/utils.c (update_pointer_to): Return early if the old
9134
        pointer already points to the new type.  Chain the old pointer and its
9135
        variants at the end of new pointer's chain after updating them.
9136
 
9137
2010-05-10  Eric Botcazou  
9138
 
9139
        * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables
9140
        built for interfaces.
9141
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Use
9142
        imported_p instead of Is_Imported when considering constants.
9143
        Do not promote alignment of exported objects.
9144
        : Strip all suffixes for dispatch table entities.
9145
 
9146
2010-05-08  Eric Botcazou  
9147
 
9148
        * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables.
9149
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Make imported
9150
        constants really constant.
9151
        : Strip the suffix for dispatch table entities.
9152
 
9153
2010-05-08  Eric Botcazou  
9154
 
9155
        * gcc-interface/decl.c (make_aligning_type): Declare the type.
9156
 
9157
2010-05-08  Eric Botcazou  
9158
 
9159
        * gcc-interface/decl.c (gnat_to_gnu_entity): Create variables for size
9160
        expressions of variant part of record types declared at library level.
9161
 
9162
2010-05-08  Eric Botcazou  
9163
 
9164
        * gcc-interface/gigi.h (create_field_decl): Move PACKED parameter.
9165
        * gcc-interface/utils.c (create_field_decl): Move PACKED parameter.
9166
        (rest_of_record_type_compilation): Adjust call to create_field_decl.
9167
        (make_descriptor_field): Likewise and pass correctly typed constants.
9168
        (build_unc_object_type): Likewise.
9169
        (unchecked_convert): Likewise.
9170
        * gcc-interface/decl.c (elaborate_expression_2): New static function.
9171
        (gnat_to_gnu_entity): Use it to make alignment factors explicit.
9172
        Adjust call to create_field_decl.
9173
        (make_aligning_type): Likewise.
9174
        (make_packable_type): Likewise.
9175
        (maybe_pad_type): Likewise.
9176
        (gnat_to_gnu_field): Likewise.
9177
        (components_to_record): Likewise.
9178
        (create_field_decl_from): Likewise.
9179
        (create_variant_part_from): Remove superfluous test.
9180
        * gcc-interface/trans.c (gigi): Adjust call to create_field_decl.
9181
 
9182
2010-05-08  Eric Botcazou  
9183
 
9184
        * gcc-interface/gigi.h (build_unc_object_type): Add DEBUG_INFO_P param.
9185
        (build_unc_object_type_from_ptr): Likewise.
9186
        * gcc-interface/utils.c (build_unc_object_type): Add DEBUG_INFO_P param
9187
        and pass it to create_type_decl.  Declare the type.  Simplify.
9188
        (build_unc_object_type_from_ptr): Add DEBUG_INFO_P parameter and pass
9189
        it to build_unc_object_type.
9190
        * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust to above change.
9191
        * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
9192
        (gnat_to_gnu): Likewise.
9193
        * gcc-interface/utils2.c (build_allocator): Likewise.
9194
 
9195
2010-05-07  Eric Botcazou  
9196
 
9197
        PR 40989
9198
        * gcc-interface/misc.c (gnat_handle_option): Fix long line.
9199
 
9200
2010-05-06  Rainer Orth  
9201
 
9202
        * gcc-interface/Makefile.in: Removed mips-sgi-irix5* support.
9203
 
9204
2010-05-06  Manuel López-Ibáñez  
9205
 
9206
        PR 40989
9207
        * gcc-interface/misc.c (gnat_handle_option): Add argument kind.
9208
 
9209
2010-05-02  Giuseppe Scrivano  
9210
 
9211
        * gnathtml.pl: Use 755 as mask for new directories.
9212
 
9213
2010-04-28  Eric Botcazou  
9214
 
9215
        * gcc-interface/trans.c (gnat_gimplify_expr) : Uniquize
9216
        constant constructors before taking their address.
9217
 
9218
2010-04-25  Eric Botcazou  
9219
 
9220
        * exp_dbug.ads: Fix outdated description.  Mention link between XVS
9221
        and XVZ objects.
9222
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Set
9223
        XVZ variable as unit size of XVS type.
9224
        (maybe_pad_type): Likewise.
9225
 
9226
2010-04-25  Eric Botcazou  
9227
 
9228
        * gcc-interface/trans.c (gnat_to_gnu) : Do not
9229
        use memmove if the array type is bit-packed.
9230
 
9231
2010-04-18  Eric Botcazou  
9232
 
9233
        * gcc-interface/misc.c (gnat_init): Remove second argument in call to
9234
        build_common_tree_nodes.
9235
 
9236
2010-04-18  Ozkan Sezer  
9237
 
9238
        * gsocket.h: Make sure that winsock2.h is included before windows.h.
9239
 
9240
2010-04-17  Eric Botcazou  
9241
 
9242
        * gcc-interface/utils2.c (build_unary_op) : Do not
9243
        issue warning.
9244
 
9245
2010-04-17  Eric Botcazou  
9246
 
9247
        * uintp.h (UI_Lt): Declare.
9248
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Do the size
9249
        computation in sizetype.
9250
        : Use unified handling for all index types.  Do not
9251
        generate MAX_EXPR-based expressions, only COND_EXPR-based ones.  Add
9252
        bypass for PATs.
9253
        (annotate_value): Change test for negative values.
9254
        (validate_size): Apply test for negative values on GNAT nodes.
9255
        (set_rm_size): Likewise.
9256
        * gcc-interface/misc.c (gnat_init): Set unsigned types for sizetypes.
9257
        * gcc-interface/utils.c (rest_of_record_type_compilation): Change test
9258
        for negative values.
9259
        (max_size) : Do not reassociate a COND_EXPR on the LHS.
9260
        (builtin_type_for_size): Adjust definition of signed_size_type_node.
9261
        * gcc-interface/utils2.c (compare_arrays): Optimize comparison of
9262
        lengths against zero.
9263
 
9264
2010-04-17  Eric Botcazou  
9265
 
9266
        * back-end.adb (Call_Back_End): Pass Standard_Character to gigi.
9267
        * gcc-interface/gigi.h (gigi): Add standard_character parameter.
9268
        (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
9269
        LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE,
9270
        LONG_DOUBLE_TYPE_SIZE, SIZE_TYPE): Delete.
9271
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Call
9272
        rm_size.
9273
        * gcc-interface/misc.c (gnat_init): Set signedness of char as per
9274
        flag_signed_char.  Tag sizetype with "size_type" moniker.
9275
        * gcc-interface/trans.c (gigi): Add standard_character parameter.
9276
        Remove useless built-in types.  Equate unsigned_char_type_node to
9277
        Standard.Character.  Use it instead of char_type_node throughout.
9278
        (Attribute_to_gnu): Likewise.
9279
        (gnat_to_gnu): Likewise.
9280
        * gcc-interface/utils2.c (build_call_raise): Likewise.
9281
 
9282
2010-04-17  Eric Botcazou  
9283
 
9284
        * gcc-interface/gigi.h (enum standard_datatypes): Add new values
9285
        ADT_sbitsize_one_node and ADT_sbitsize_unit_node.
9286
        (sbitsize_one_node): New macro.
9287
        (sbitsize_unit_node): Likewise.
9288
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Fix
9289
        latent bug in the computation of subrange_p.  Fold wider_p predicate.
9290
        (cannot_be_superflat_p): Use an explicitly signed 64-bit type to do
9291
        the final comparison.
9292
        (make_aligning_type): Build real negation and use sizetype throughout
9293
        the offset computation.
9294
        (maybe_pad_type): Do not issue the warning when the new size expression
9295
        is too complex.
9296
        (annotate_value) : Simplify code handling negative values.
9297
        * gcc-interface/misc.c (gnat_init): Initialize sbitsize_one_node and
9298
        sbitsize_unit_node.
9299
        * gcc-interface/trans.c (Attribute_to_gnu) : Fold
9300
        double negation.
9301
        (gnat_to_gnu) : Likewise.
9302
        * gcc-interface/utils.c (convert): Use sbitsize_unit_node.
9303
        * gcc-interface/utils2.c (compare_arrays): Compute real lengths and use
9304
        constants in sizetype.  Remove dead code and tweak comments.  Generate
9305
        equality instead of inequality comparisons for zero length tests.
9306
 
9307
2010-04-16  Eric Botcazou  
9308
 
9309
        * gcc-interface/gigi.h (gnat_init_decl_processing): Delete.
9310
        * gcc-interface/decl.c (gnat_to_gnu_entity): Constify a few variables.
9311
        : Do not create the fake PARM_DECL if no debug info is needed.
9312
        Do not create the corresponding VAR_DECL of a CONST_DECL for debugging
9313
        purposes if no debug info is needed.
9314
        Fix formatting.  Reorder and add comments.
9315
        * gcc-interface/trans.c (gnat_to_gnu) : Constify
9316
        variable and remove obsolete comment.
9317
        * gcc-interface/utils.c (convert_vms_descriptor64): Tweak comment.
9318
        (convert_vms_descriptor32): Likewise.
9319
        (convert): Remove dead code.
9320
        : Pass the field instead of its name to build
9321
        the reference to the P_ARRAY pointer.
9322
        : Likewise.
9323
        (maybe_unconstrained_array) : Likewise.
9324
        (gnat_init_decl_processing): Delete, move contents to...
9325
        * gcc-interface/misc.c (gnat_init): ...here.
9326
 
9327
2010-04-16  Eric Botcazou  
9328
 
9329
        * gcc-interface/trans.c (unchecked_conversion_nop): Handle function
9330
        calls.  Return true for conversion from a record subtype to its type.
9331
 
9332
2010-04-16  Eric Botcazou  
9333
 
9334
        * gcc-interface/decl.c (gnat_to_gnu_entity): Use boolean_type_node in
9335
        lieu of integer_type_node for boolean operations.
9336
        (choices_to_gnu): Likewise.
9337
        * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
9338
        (Loop_Statement_to_gnu): Likewise.
9339
        (establish_gnat_vms_condition_handler): Likewise.
9340
        (Exception_Handler_to_gnu_sjlj): Likewise.
9341
        (gnat_to_gnu): Likewise.
9342
        (build_unary_op_trapv): Likewise.
9343
        (build_binary_op_trapv): Likewise.
9344
        (emit_range_check): Likewise.
9345
        (emit_index_check): Likewise.
9346
        (convert_with_check): Likewise.
9347
        * gcc-interface/utils.c (convert_vms_descriptor64): Likewise.
9348
        (convert_vms_descriptor32): Likewise.
9349
        (convert_vms_descriptor): Likewise.
9350
        * gcc-interface/utils2.c (nonbinary_modular_operation): Likewise.
9351
        (compare_arrays): Use boolean instead of integer constants.
9352
        (build_binary_op) 
9353
        TRUTH_OR_EXPR, TRUTH_XOR_EXPR>: New case.  Check that the result type
9354
        is a boolean type.
9355
        : Remove obsolete assertion.
9356
        : Check that the result type is a boolean type.
9357
        : Delete.
9358
        : Check that the result type is a boolean type.
9359
        (build_unary_op): Use boolean_type_node in lieu of integer_type_node
9360
        for boolean operations.
9361
        (fill_vms_descriptor): Likewise.  Fix formatting nits.
9362
 
9363
2010-04-16  Eric Botcazou  
9364
 
9365
        * gcc-interface/ada-tree.def (LOOP_STMT): Change to 4-operand nodes.
9366
        * gcc-interface/ada-tree.h (LOOP_STMT_TOP_COND, LOOP_STMT_BOT_COND):
9367
        Merge into...
9368
        (LOOP_STMT_COND): ...this.
9369
        (LOOP_STMT_BOTTOM_COND_P): New flag.
9370
        (LOOP_STMT_TOP_UPDATE_P): Likewise.
9371
        * gcc-interface/trans.c (can_equal_min_or_max_val_p): New function.
9372
        (can_equal_min_val_p): New static inline function.
9373
        (can_equal_max_val_p): Likewise.
9374
        (Loop_Statement_to_gnu): Use build4 in lieu of build5 and adjust to
9375
        new LOOP_STMT semantics.  Use two different strategies depending on
9376
        whether optimization is enabled to translate the loop.
9377
        (gnat_gimplify_stmt) : Adjust to new LOOP_STMT semantics.
9378
 
9379
2010-04-16  Eric Botcazou  
9380
 
9381
        * uintp.adb (UI_From_Dint): Remove useless code.
9382
        (UI_From_Int): Likewise.
9383
        * uintp.h: Reorder declarations.
9384
        (UI_From_gnu): Declare.
9385
        (UI_Base): Likewise.
9386
        (Vector_Template): Likewise.
9387
        (Vector_To_Uint): Likewise.
9388
        (Uint_0): Remove.
9389
        (Uint_1): Likewise.
9390
        * gcc-interface/gigi.h: Tweak comments.
9391
        * gcc-interface/cuintp.c (UI_From_gnu): New global function.
9392
        * gcc-interface/decl.c (maybe_pad_type): Do not warn if either size
9393
        overflows.
9394
        (annotate_value) : Call UI_From_gnu.
9395
        * gcc-interface/trans.c (post_error_ne_num): Call post_error_ne.
9396
        (post_error_ne_tree): Call UI_From_gnu and post_error_ne.
9397
        * gcc-interface/utils.c (max_size) : Do not special-case
9398
        TYPE_MAX_VALUE.
9399
 
9400
2010-04-16  Eric Botcazou  
9401
 
9402
        * gcc-interface/decl.c (make_type_from_size) : Just copy
9403
        TYPE_NAME.
9404
        * gcc-interface/trans.c (smaller_packable_type_p): Rename into...
9405
        (smaller_form_type_p): ...this.  Change parameter and variable names.
9406
        (call_to_gnu): Use the nominal type of the parameter to create the
9407
        temporary if it's a smaller form of the actual type.
9408
        (addressable_p): Return false if the actual type is integral and its
9409
        size is greater than that of the expected type.
9410
 
9411
2010-04-15  Eric Botcazou  
9412
 
9413
        * gcc-interface/cuintp.c (UI_To_gnu): Fix long line.
9414
        * gcc-interface/gigi.h (MARK_VISITED): Skip objects of constant class.
9415
        (process_attributes): Delete.
9416
        (post_error_ne_num): Change parameter name.
9417
        * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force debug info
9418
        with -g3.  Remove a couple of obsolete lines.  Minor tweaks.
9419
        If type annotating mode, operate on trees to compute the adjustment to
9420
        the sizes of tagged types.  Fix long line.
9421
        (cannot_be_superflat_p): Tweak head comment.
9422
        (annotate_value): Fold local constant.
9423
        (set_rm_size): Fix long line.
9424
        * gcc-interface/trans.c (Identifier_to_gnu): Rework comments.
9425
        (Attribute_to_gnu): Fix long line.
9426
        : Remove useless assertion.
9427
        Reorder statements.  Use size_binop routine.
9428
        (Loop_Statement_to_gnu): Use build5 in lieu of build_nt.
9429
        Create local variables for the label and the test.  Tweak comments.
9430
        (Subprogram_Body_to_gnu): Reset cfun to NULL.
9431
        (Compilation_Unit_to_gnu): Use the Sloc of the Unit node.
9432
        (process_inlined_subprograms): Integrate into...
9433
        (Compilation_Unit_to_gnu): ...this.
9434
        (gnat_to_gnu): Fix long line.
9435
        (post_error_ne_num): Change parameter name.
9436
        * gcc-interface/utils.c (process_attributes): Static-ify.
9437
        : Set input_location before proceeding.
9438
        (create_type_decl): Add comment.
9439
        (create_var_decl_1): Process the attributes after adding the VAR_DECL
9440
        to the current binding level.
9441
        (create_subprog_decl): Likewise for the FUNCTION_DECL.
9442
        (end_subprog_body): Do not reset cfun to NULL.
9443
        (build_vms_descriptor32): Fix long line.
9444
        (build_vms_descriptor): Likewise.
9445
        (handle_nonnull_attribute): Likewise.
9446
        (convert_vms_descriptor64): Likewise.
9447
        * gcc-interface/utils2.c (fill_vms_descriptor): Fix long line.
9448
        (gnat_protect_expr): Fix thinko.
9449
 
9450
2010-04-15  Eric Botcazou  
9451
 
9452
        * gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions.
9453
        (gnat_to_gnu) : Restore the value of input_location
9454
        before translating the top-level node.
9455
        (lvalue_required_p) : Return 1 if !constant.
9456
        : Likewise.
9457
        : Likewise.
9458
        : Likewise.
9459
        (call_to_gnu): Remove kludge.
9460
        (gnat_to_gnu) : When not optimizing, force labels
9461
        associated with user returns to be preserved.
9462
        (gnat_to_gnu): Add special code to deal with boolean rvalues.
9463
        * gcc-interface/utils2.c (compare_arrays): Set input_location on all
9464
        comparisons.
9465
        (build_unary_op) : Call build_fold_addr_expr.
9466
        : Call build_fold_indirect_ref.
9467
 
9468
2010-04-15  Joel Sherrill  
9469
 
9470
        * g-socket.adb: A target can have multiple missing errno's.  This
9471
        will result in multiple errno's being defined as -1.  Because of this
9472
        we can not use a case but must use a series of if's to avoid
9473
        a duplicate case error in GNAT.Sockets.Resolve_Error.
9474
 
9475
2010-04-15  Eric Botcazou  
9476
 
9477
        * gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
9478
        a statement.  Otherwise, if at top-level, push the processing of the
9479
        elaboration routine.  In the misaligned case, issue the error messages
9480
        again on entry and create the temporary explicitly.  Do not issue them
9481
        for CONSTRUCTORs.
9482
        For a function call, emit the range check if necessary.
9483
        In the copy-in copy-out case, create the temporary for the return
9484
        value explicitly.
9485
        Do not unnecessarily convert by-ref parameters to the formal's type.
9486
        Remove obsolete guards in conditions.
9487
        (gnat_to_gnu) : For a function call, pass the
9488
        target to call_to_gnu in all cases.
9489
        (gnat_gimplify_expr) : Remove handling of SAVE_EXPR.
9490
        (addressable_p) : Return false if not static.
9491
        : New case.
9492
        * gcc-interface/utils2.c (build_unary_op) : Fold a compound
9493
        expression if it has unconstrained array type.
9494
        (gnat_mark_addressable) : New case.
9495
        (gnat_stabilize_reference) : Stabilize operands on an
9496
        individual basis.
9497
 
9498
2010-04-15  Eric Botcazou  
9499
 
9500
        * gcc-interface/trans.c (gigi): Do not start statement group.
9501
        (Compilation_Unit_to_gnu): Set current_function_decl to NULL.
9502
        Start statement group and push binding level here...
9503
        (gnat_to_gnu) : ...and not here.
9504
        Do not push fake contexts at top level.  Remove redundant code.
9505
        (call_to_gnu): Rename a local variable and constify another.
9506
        * gcc-interface/utils.c (gnat_pushlevel): Fix formatting nits.
9507
        (set_current_block_context): Set it as the group's block.
9508
        (gnat_init_decl_processing): Delete unrelated init code.
9509
        (end_subprog_body): Use NULL_TREE.
9510
 
9511
2010-04-15  Eric Botcazou  
9512
 
9513
        * gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force
9514
        side-effects of actual parameters before the call.
9515
 
9516
2010-04-15  Eric Botcazou  
9517
 
9518
        * gcc-interface/decl.c (validate_size): Reorder, remove obsolete test
9519
        and warning.
9520
        (set_rm_size): Reorder and remove obsolete test.
9521
 
9522
2010-04-14  Eric Botcazou  
9523
 
9524
        * gcc-interface/gigi.h: Reorder declarations and tweak comments.
9525
        (gigi): Adjust ATTRIBUTE_UNUSED markers.
9526
        * gcc-interface/gadaint.h: New file.
9527
        * gcc-interface/trans.c: Include it in lieu of adaint.h.  Reorder.
9528
        (__gnat_to_canonical_file_spec): Remove declaration.
9529
        (number_names): Delete.
9530
        (number_files): Likewise.
9531
        (gigi): Adjust.
9532
        * gcc-interface/Make-lang.in (ada/trans.o): Adjust dependencies to
9533
        above change.
9534
 
9535
2010-04-14  Eric Botcazou  
9536
 
9537
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Fix
9538
        comment.
9539
        * gcc-interface/trans.c (process_freeze_entity): Use local copy of
9540
        Ekind.  Return early for class-wide types.  Do not compute initializer
9541
        unless necessary.  Reuse the tree for an associated class-wide type
9542
        only if processing its root type.
9543
 
9544
2010-04-13  Joel Sherrill  
9545
 
9546
        * gsocket.h: Run-time can no longer be built without network
9547
        OS headers available.  Changing RTEMS GNAT build procedure to
9548
        reflect this and letting run-time build use network .h files.
9549
 
9550
2010-04-13  Duncan Sands  
9551
 
9552
        * gcc-interface/misc.c (gnat_eh_type_covers): Remove.
9553
        * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Update comment.
9554
 
9555
2010-04-13  Eric Botcazou  
9556
 
9557
        * gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.
9558
        (parent_name_id): New macro.
9559
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Use it.
9560
        * gcc-interface/trans.c (gigi): Initialize it.
9561
        (lvalue_required_p) : New case.
9562
        : Likewise.
9563
        : Likewise.
9564
        * gcc-interface/utils.c (convert): Try to properly upcast tagged types.
9565
 
9566
2010-04-13  Eric Botcazou  
9567
 
9568
        * gcc-interface/ada-tree.h (TYPE_BY_REFERENCE_P): Delete.
9569
        (DECL_CONST_ADDRESS_P): New macro.
9570
        (SET_DECL_ORIGINAL_FIELD_TO_FIELD): Likewise.
9571
        (SAME_FIELD_P): Likewise.
9572
        * gcc-interface/decl.c (constructor_address_p): New static function.
9573
        (gnat_to_gnu_entity) : Set DECL_CONST_ADDRESS_P according to
9574
        the return value of above function.
9575
        (gnat_to_gnu_entity) : Force BLKmode for all types
9576
        passed by reference.
9577
        : Likewise.
9578
        Set TREE_ADDRESSABLE on the type if it passed by reference.
9579
        (make_packable_type): Use SET_DECL_ORIGINAL_FIELD_TO_FIELD.
9580
        (create_field_decl_from): Likewise.
9581
        (substitute_in_type): Likewise.
9582
        (purpose_member_field): Use SAME_FIELD_P.
9583
        * gcc-interface/misc.c (must_pass_by_ref): Test TREE_ADDRESSABLE.
9584
        * gcc-interface/trans.c (lvalue_required_p): Add ADDRESS_OF_CONSTANT
9585
        parameter and adjust recursive calls.
9586
        : New case.
9587
        : Return 1 if the object is of a class-wide type.
9588
        Adjust calls to lvalue_required_p.  Do not return the initializer of a
9589
        DECL_CONST_ADDRESS_P constant if an lvalue is required for it.
9590
        (call_to_gnu): Delay issuing error message for a misaligned actual and
9591
        avoid the associated back-end assertion.  Test TREE_ADDRESSABLE.
9592
        (gnat_gimplify_expr) : Handle non-static constructors.
9593
        * gcc-interface/utils.c (make_dummy_type): Set TREE_ADDRESSABLE if the
9594
        type is passed by reference.
9595
        (convert) : Convert in-place in more cases.
9596
        * gcc-interface/utils2.c (build_cond_expr): Drop TYPE_BY_REFERENCE_P.
9597
        (build_simple_component_ref): Use SAME_FIELD_P.
9598
 
9599
2010-04-12  Eric Botcazou  
9600
 
9601
        * gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.
9602
        (call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling
9603
        front-end's predicate Is_By_Reference_Type.  Use consistent order and
9604
        remove ??? comment.  Use original conversion in all cases, if any.
9605
        * gcc-interface/utils.c (make_dummy_type): Minor tweak.
9606
        (convert): Use local copy in more cases.
9607
        : Remove deactivated code.
9608
        (unchecked_convert): Use a couple of local copies.
9609
 
9610
2010-04-11  Eric Botcazou  
9611
 
9612
        * gcc-interface/trans.c (lvalue_required_for_attribute_p): New static
9613
        function.
9614
        (lvalue_required_p) : Call it.
9615
        (gnat_to_gnu) : Prevent build_component_ref from
9616
        folding the result only if lvalue_required_for_attribute_p is true.
9617
        * gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly
9618
        typed constant to build_component_ref.
9619
        (unchecked_convert): Likewise.
9620
        * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
9621
        (build_allocator): Likewise.
9622
 
9623
2010-04-11  Eric Botcazou  
9624
 
9625
        * gcc-interface/utils2.c (build_cond_expr): Take the address and
9626
        dereference if the result type is passed by reference.
9627
 
9628
2010-04-11  Eric Botcazou  
9629
 
9630
        * gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.
9631
        (gnat_to_gnu) : When not optimizing, generate a
9632
        goto to the next statement.
9633
 
9634
2010-04-09  Eric Botcazou  
9635
 
9636
        * gcc-interface/gigi.h (maybe_variable): Delete.
9637
        (protect_multiple_eval): Likewise.
9638
        (maybe_stabilize_reference): Likewise.
9639
        (gnat_save_expr): Declare.
9640
        (gnat_protect_expr): Likewise.
9641
        (gnat_stabilize_reference): Likewise.
9642
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Use
9643
        gnat_stabilize_reference.
9644
        (maybe_variable): Delete.
9645
        (elaborate_expression_1): Use gnat_save_expr.
9646
        * gcc-interface/trans.c (Attribute_to_gnu): Use gnat_protect_expr.
9647
        (call_to_gnu): Pass NULL to gnat_stabilize_reference.
9648
        (gnat_to_gnu) : Use gnat_save_expr.
9649
        : Use gnat_protect_exp.
9650
        : Pass NULL to gnat_stabilize_reference.
9651
        : Use gnat_protect_expr.
9652
        Pass NULL to gnat_stabilize_reference.
9653
        (build_unary_op_trapv): Use gnat_protect_expr.
9654
        (build_binary_op_trapv): Likewise.
9655
        (emit_range_check): Likewise.
9656
        (emit_index_check): Likewise.
9657
        (convert_with_check): Likewise.
9658
        (protect_multiple_eval): Move to utils2.c file.
9659
        (maybe_stabilize_reference): Merge into...
9660
        (gnat_stabilize_reference): ...this.  Move to utils2.c file.
9661
        (gnat_stabilize_reference_1): Likewise.
9662
        * gcc-interface/utils.c (convert_to_fat_pointer): Use gnat_protect_expr
9663
        instead of protect_multiple_eval.
9664
        * gcc-interface/utils2.c (compare_arrays): Likewise.
9665
        (nonbinary_modular_operation): Likewise.
9666
        (maybe_wrap_malloc): Likewise.
9667
        (build_allocator): Likewise.
9668
        (gnat_save_expr): New function.
9669
        (gnat_protect_expr): Rename from protect_multiple_eval.  Early return
9670
        in common cases.  Propagate TREE_READONLY onto dereferences.
9671
        (gnat_stabilize_reference_1): Move from trans.c file.
9672
        (gnat_stabilize_reference): Likewise.
9673
 
9674
2010-04-09  Eric Botcazou  
9675
 
9676
        * gcc-interface/gigi.h (gnat_mark_addressable): Rename parameter.
9677
        * gcc-interface/decl.c (maybe_variable): Do not set TREE_STATIC on _REF
9678
        node.  Use the type of the operand to set TREE_READONLY.
9679
        * gcc-interface/trans.c (Identifier_to_gnu): Do not set TREE_STATIC on
9680
        _REF node.  Do not overwrite TREE_READONLY.
9681
        (call_to_gnu): Rename local variable and fix various nits.  In the
9682
        copy-in/copy-out case, build the SAVE_EXPR manually.
9683
        (convert_with_check): Call protect_multiple_eval in lieu of save_expr
9684
        and fold the computations.
9685
        (protect_multiple_eval): Always save entire fat pointers.
9686
        (maybe_stabilize_reference): Minor tweaks.
9687
        (gnat_stabilize_reference_1): Likewise.  Do not deal with tcc_constant,
9688
        tcc_type and tcc_statement.
9689
        * gcc-interface/utils.c (convert_to_fat_pointer): Call
9690
        protect_multiple_eval in lieu of save_expr.
9691
        (convert): Minor tweaks.
9692
        (maybe_unconstrained_array): Do not set TREE_STATIC on _REF node.
9693
        (builtin_type_for_size): Call gnat_type_for_size directly.
9694
        * gcc-interface/utils2.c (contains_save_expr_p): Delete.
9695
        (contains_null_expr): Likewise
9696
        (gnat_build_constructor): Do not call it.
9697
        (compare_arrays): Deal with all side-effects, use protect_multiple_eval
9698
        instead of gnat_stabilize_reference to protect the operands.
9699
        (nonbinary_modular_operation): Call protect_multiple_eval in lieu of
9700
        save_expr.
9701
        (maybe_wrap_malloc): Likewise.
9702
        (build_allocator): Likewise.
9703
        (build_unary_op) : Do not set TREE_STATIC on _REF node.
9704
        (gnat_mark_addressable): Rename parameter.
9705
 
9706
2010-04-08  Eric Botcazou  
9707
 
9708
        * gcc-interface/ada-tree.h (TYPE_RETURNS_UNCONSTRAINED_P): Rename into.
9709
        (TYPE_RETURN_UNCONSTRAINED_P): ...this.
9710
        (TYPE_RETURNS_BY_REF_P): Rename into.
9711
        (TYPE_RETURN_BY_DIRECT_REF_P): ...this.
9712
        (TYPE_RETURNS_BY_TARGET_PTR_P): Delete.
9713
        * gcc-interface/gigi.h (create_subprog_type): Adjust parameter names.
9714
        (build_return_expr): Likewise.
9715
        * gcc-interface/decl.c (gnat_to_gnu_entity) :
9716
        Rename local variables.  If the return Mechanism is By_Reference, pass
9717
        return_by_invisible_ref_p to create_subprog_type instead of toggling
9718
        TREE_ADDRESSABLE.  Test return_by_invisible_ref_p in order to annotate
9719
        the mechanism.  Use regular return for contrained types with non-static
9720
        size and return by invisible reference for unconstrained return types
9721
        with default discriminants.  Update comment.
9722
        * gcc-interface/trans.c (Subprogram_Body_to_gnu): If the function
9723
        returns by invisible reference, turn the RESULT_DECL into a pointer.
9724
        Do not handle DECL_BY_REF_P in the CICO case here.
9725
        (call_to_gnu): Remove code handling return by target pointer.  For a
9726
        function call, if the return type has non-constant size, generate the
9727
        assignment with an INIT_EXPR.
9728
        (gnat_to_gnu) : Remove dead code in the CICO case.
9729
        If the function returns by invisible reference, build the copy return
9730
        operation manually.
9731
        (add_decl_expr): Initialize the variable with an INIT_EXPR.
9732
        * gcc-interface/utils.c (create_subprog_type): Adjust parameter names.
9733
        Adjust for renaming of macros.  Copy the node only when necessary.
9734
        (create_subprog_decl): Do not toggle TREE_ADDRESSABLE on the return
9735
        type, only change DECL_BY_REFERENCE on the RETURN_DECL.
9736
        (convert_from_reference): Delete.
9737
        (is_byref_result): Likewise.
9738
        (gnat_genericize_r): Likewise.
9739
        (gnat_genericize): Likewise.
9740
        (end_subprog_body): Do not call gnat_genericize.
9741
        * gcc-interface/utils2.c (build_binary_op) : New case.
9742
        (build_return_expr): Adjust parameter names, logic and comment.
9743
 
9744
2010-04-07  Eric Botcazou  
9745
 
9746
        * exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
9747
        if the size is small enough.  Propagate the alignment if there is an
9748
        alignment clause on the original array type.
9749
        * gcc-interface/decl.c (gnat_to_gnu_entity) 
9750
        Deal with under-aligned packed array types.  Copy the size onto the
9751
        justified modular type and don't lay it out again.  Likewise for the
9752
        padding type built for other under-aligned subtypes.
9753
        * gcc-interface/utils.c (finish_record_type): Do not set a default mode
9754
        on the type.
9755
 
9756
2010-04-07  Eric Botcazou  
9757
 
9758
        * gcc-interface/decl.c (gnat_to_gnu_entity) : Set default
9759
        alignment on the RETURN type built for the Copy-In Copy-Out mechanism.
9760
 
9761
2010-04-07  Eric Botcazou  
9762
 
9763
        * gcc-interface/trans.c (call_to_gnu): In the return-by-target-ptr case
9764
        do not set the result type if there is a specified target and do not
9765
        convert the result in any cases.
9766
        (protect_multiple_eval): Make direct SAVE_EXPR for CALL_EXPR.
9767
        (maybe_stabilize_reference) : Merge with CALL_EXPR.
9768
 
9769
2010-03-10  Eric Botcazou  
9770
 
9771
        * gcc-interface/Makefile.in (SPARC/Solaris): Use sparcv8plus.
9772
 
9773
2010-02-27  Eric Botcazou  
9774
 
9775
        PR ada/42253
9776
        * gcc-interface/utils2.c (build_binary_op) : Assert that fat
9777
        pointer base types are variant of each other.  Apply special treatment
9778
        for null to fat pointer types in all cases.
9779
 
9780
2010-01-28  Pascal Obry  
9781
 
9782
        * s-win32.ads: Add some missing constants.
9783
 
9784
2010-01-28  Vincent Celier  
9785
 
9786
        * prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is
9787
        Unknown_Package.
9788
 
9789
2010-01-28  Robert Dewar  
9790
 
9791
        * gnat_rm.texi: Minor correction
9792
 
9793
2010-01-27  Pascal Obry  
9794
 
9795
        * g-awk.adb: ensure that an AWK session is reusable.
9796
 
9797
2010-01-27  Vasiliy Fofanov  
9798
 
9799
        * g-regist.adb (For_Every_Key): Fix previous change.
9800
        Minor reformatting.
9801
 
9802
2010-01-27  Thomas Quinot  
9803
 
9804
        * lib-writ.ads: Current version of spec for new N (note) ALI lines
9805
 
9806
2010-01-27  Yannick Moy  
9807
 
9808
        * a-cdlili.adb (Insert): Correct exception message when cursor
9809
        designates wrong list.
9810
 
9811
2010-01-27  Vincent Celier  
9812
 
9813
        * gnatcmd.adb: When there is only one main specified, the package
9814
        support Switches (
) and attribute Switches is specified for the
9815
        main, use these switches, instead of Default_Switches ("Ada").
9816
 
9817
2010-01-27  Robert Dewar  
9818
 
9819
        * sem_prag.adb, par-prag.adb, snames.ads-tmpl: pragma Dimension initial
9820
        implementation.
9821
        * exp_disp.adb: Minor reformatting
9822
 
9823
2010-01-27  Tristan Gingold  
9824
 
9825
        * seh_init.c: Use __ImageBase instead of _ImageBase.
9826
 
9827
2010-01-27  Javier Miranda  
9828
 
9829
        * exp_disp.ads, exp_disp.adb (Expand_Interface_Thunk): Modify the
9830
        profile of interface thunks. The type of the controlling formal is now
9831
        the covered interface type (instead of the target tagged type).
9832
 
9833
2010-01-27  Sergey Rybin  
9834
 
9835
        * gnat_rm.texi, gnat_ugn.texi: Update gnatcheck doc.
9836
 
9837
2010-01-27  Robert Dewar  
9838
 
9839
        * sinput.ads, sinput.adb (Sloc_Range): Applies to all nodes, formal
9840
        changed from Expr to N.
9841
 
9842
2010-01-26  Thomas Quinot  
9843
 
9844
        * gnat_ugn.texi: Adjust documentation of -gnatz switches.
9845
        * usage.adb: Replace line for -gnatz with two lines for -gnatzc and
9846
        -gnatzr.
9847
 
9848
2010-01-26  Vincent Celier  
9849
 
9850
        * prj-attr.adb: Add new attribute Library_Install_Name_Option
9851
        Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
9852
        * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
9853
        attributes Run_Path_Option and Library_Install_Name_Option.
9854
        * prj.ads (Project_Configuration): Replace component
9855
        Run_Path_Origin_Supported with component Run_Path_Origin. Add new
9856
        component Library_Install_Name_Option.
9857
        * snames.ads-tmpl: Add new standard name Library_Install_Name_Option
9858
        Replace Run_Path_Origin_Supported with Run_Path_Origin
9859
 
9860
2010-01-26  Ed Schonberg  
9861
 
9862
        * sem_ch8.adb (Use_One_Package): Within an instance, an actual package
9863
        is not hidden by a homograph declared in another actual package.
9864
 
9865
2010-01-26  Robert Dewar  
9866
 
9867
        * par_sco.adb (Traverse_Declarations_Or_Statements): Only generate
9868
        decisions for pragmas Assert, Check, Precondition, Postcondition if
9869
        -gnata set.
9870
        * scos.ads: Update comments.
9871
        * get_scos.adb, put_scos.adb: Minor fix to code reading statement SCOs.
9872
        Also remove obsolete code for CT (exit point) SCOs.
9873
 
9874
2010-01-26  Thomas Quinot  
9875
 
9876
        * switch-c.adb: Fix handling of -gnatz*
9877
 
9878
2010-01-26  Robert Dewar  
9879
 
9880
        * par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W
9881
        qualifiers for FOR/WHILE loops
9882
        * scos.ads: Use separate type letters F/W for for/while loops
9883
 
9884
2010-01-26  Robert Dewar  
9885
 
9886
        * get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple
9887
        entries per line, one for each statement in the sequence).
9888
        * par_sco.adb (Traverse_Declarations_Or_Statements): Increase array
9889
        size from 100 to 10_000 for SC_Array to avoid any real possibility of
9890
        overflow. Output decisions in for loops.
9891
        Exclude labels from CS lines.
9892
        * scos.ads: Clarify that label is not included in the entry point
9893
 
9894
2010-01-26  Robert Dewar  
9895
 
9896
        * par_sco.adb (Traverse_Declarations_Or_Statments): Implement new
9897
        format of statement sequence SCO entries (one location/statement).
9898
        * put_scos.adb (Put_SCOs): Implement new format of CS lines
9899
        * scos.ads: Update comments.
9900
        * sem_eval.adb: Minor reformatting.
9901
 
9902
2010-01-26  Robert Dewar  
9903
 
9904
        * par_sco.ads, par_sco.adb (Set_Statement_Entry): New handling of exits
9905
        (Extend_Statement_Sequence): New procedures
9906
        (Traverse_Declarations_Or_Statements): New handling for exits.
9907
 
9908
2010-01-26  Robert Dewar  
9909
 
9910
        * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
9911
        Case.
9912
 
9913
2010-01-26  Robert Dewar  
9914
 
9915
        * par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
9916
        * scos.ads: Clarify handling of logical operators
9917
 
9918
2010-01-26  Arnaud Charlet  
9919
 
9920
        * s-tpoben.adb: Update comments.
9921
 
9922
2010-01-26  Robert Dewar  
9923
 
9924
        * freeze.adb (Set_Small_Size): Don't set size if alignment clause
9925
        present.
9926
 
9927
2010-01-26  Robert Dewar  
9928
 
9929
        * scos.ads: Clean up documentation, remove obsolete XOR references
9930
2010-01-26  Vincent Celier  
9931
 
9932
        * gnat_ugn.texi: Complete documentation on the restrictions for
9933
        combined options in -gnatxxx switches.
9934
        Fix typo.
9935
 
9936
2010-01-26  Arnaud Charlet  
9937
 
9938
        * s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from
9939
        a controlled operation, abort is already deferred at this point, so we
9940
        need to use Defer_Abort_Nestable.
9941
 
9942
2010-01-26  Vincent Celier  
9943
 
9944
        * prj-conf.adb (Get_Config_Switches): Check for a default language for
9945
        a project extending a project with no languages.
9946
 
9947
2010-01-26  Vincent Celier  
9948
 
9949
        * switch-c.adb (Scan_Front_End_Switches): Take into account options
9950
        that follow -gnatef.
9951
        Allow -gnateG to be followed by other options.
9952
 
9953
2010-01-26  Robert Dewar  
9954
 
9955
        * s-commun.ads, s-osprim-mingw.adb, s-stchop-vxworks.adb, sem_aggr.adb,
9956
        s-vxwext.adb, sem_ch10.adb, sem_eval.adb, sem_prag.adb: Minor
9957
        reformatting.
9958
 
9959
2010-01-26  Vasiliy Fofanov  
9960
 
9961
        * g-regist.adb, g-regist.ads (For_Every_Key): New generic procedure
9962
        that allows to iterate over all subkeys of a key.
9963
 
9964
2010-01-26  Ed Falis  
9965
 
9966
        * sysdep.c: enable NFS for VxWorks MILS
9967
        * env.c: enable __gnat_environ for VxWorks MILS
9968
        * gcc-interface/Makefile.in: Add VxWorks MILS target pairs.
9969
 
9970
2010-01-25  Bob Duff  
9971
 
9972
        * sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
9973
        is an internally-generated positional aggregate, and the bounds are
9974
        already correctly set. We don't want to overwrite those bounds with
9975
        bounds determined by context.
9976
 
9977
2010-01-25  Robert Dewar  
9978
 
9979
        * g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
9980
        exp_ch9.adb, g-sechas.ads: Minor reformatting.
9981
 
9982
2010-01-25  Thomas Quinot  
9983
 
9984
        * s-commun.adb (Last_Index): Count must be converted to SEO (a signed
9985
        integer type) before subtracting 1, otherwise the computation may wrap
9986
        (because size_t is modular) and cause the conversion to fail.
9987
 
9988
2010-01-25  Ed Falis  
9989
 
9990
        * sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
9991
 
9992
2010-01-25  Vincent Celier  
9993
 
9994
        * prj-attr.adb: New attribute Run_Path_Origin_Required
9995
        * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
9996
        attribute Run_Path_Origin_Required.
9997
        * prj.ads (Project_Configuration): New component
9998
        Run_Path_Origin_Supported.
9999
        * snames.ads-tmpl: New standard name Run_Path_Origin_Required
10000
 
10001
2010-01-25  Ed Schonberg  
10002
 
10003
        * sem_aggr.adb (Resolve_Array_Aggregate): If the bounds in a choice
10004
        have errors, do not continue resolution of the aggregate.
10005
        * sem_eval.adb (Eval_Indexed_Component): Do not attempt to evaluate if
10006
        the array type indicates an error.
10007
 
10008
2010-01-25  Bob Duff  
10009
 
10010
        * sinfo.ads: Minor comment fixes.
10011
 
10012
2010-01-25  Bob Duff  
10013
 
10014
        * exp_ch4.adb, exp_aggr.adb: Minor comment fixes and code clean up.
10015
 
10016
2010-01-25  Arnaud Charlet  
10017
 
10018
        * gnatvsn.ads (Current_Year): Update.
10019
 
10020
2010-01-25  Florian Villoing  
10021
 
10022
        * gnat_ugn.texi: Fix typo.
10023
 
10024
2010-01-25  Thomas Quinot  
10025
 
10026
        * scos.ads: Update specification.
10027
 
10028
2010-01-25  Ed Schonberg  
10029
 
10030
        * sem_ch6.adb (Process_PPCs): If a postcondition is present and the
10031
        enclosing subprogram has no previous spec, attach postcondition
10032
        procedure to the defining entity for the body.
10033
 
10034
2010-01-25  Ed Schonberg  
10035
 
10036
        * exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to
10037
        initialization procedure of the ancestor part of an extension aggregate
10038
        if it is an interface type.
10039
 
10040
2010-01-25  Vincent Celier  
10041
 
10042
        * gnatlink.adb (Process_Binder_File): The directory for the shared
10043
        version of libgcc in the run path options is found in the subdirectory
10044
        indicated by __gnat_default_libgcc_subdir.
10045
        * link.c: Declare new const char * __gnat_default_libgcc_subdir for
10046
        each platform.
10047
 
10048
2010-01-25  Ed Schonberg  
10049
 
10050
        * sem_prag.adb: More flexible pragma Annotate.
10051
 
10052
2010-01-22  Eric Botcazou  
10053
 
10054
        * system-linux-armel.ads (Stack_Check_Probes): Set to True.
10055
        * system-linux-armeb.ads (Stack_Check_Probes): Likewise.
10056
 
10057
2010-01-18  Eric Botcazou  
10058
 
10059
        * gcc-interface/utils.c (create_var_decl_1): Fix formatting nits.
10060
 
10061
2010-01-18  Jan Hubicka  
10062
 
10063
        PR middle-end/42068
10064
        * gcc-interface/utils.c (create_var_decl_1): Do not set COMMON flag for
10065
        unit local variables.
10066
 
10067
2010-01-17  Laurent GUERBY  
10068
 
10069
        * gcc-interface/Makefile.in: Fix typo in arm*-*-linux-gnueabi.
10070
 
10071
2010-01-11  Mikael Pettersson  
10072
 
10073
        * gcc-interface/Makefile.in: Add arm*-*-linux-gnueabi.
10074
        * system-linux-armeb.ads, system-linux-armel.ads: New files.
10075
 
10076
2010-01-09  Simon Wright  
10077
 
10078
        PR ada/42626
10079
        * gcc-interface/Makefile.in (gnatlib-shared-darwin): Add missing
10080
        end-quote.
10081
 
10082
 
10083
 
10084
Copyright (C) 2010 Free Software Foundation, Inc.
10085
 
10086
Copying and distribution of this file, with or without modification,
10087
are permitted in any medium without royalty provided the copyright
10088
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.