OSDN Git Service

b1a8da7cdd44c5b0b295ff9359bc883f1fb5c836
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2010-11-18  Eric Botcazou  <ebotcazou@adacore.com>
2
3         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Also
4         use return-by-invisible-reference if the return type is By_Reference.
5         Tidy up and skip the processing of the return type if it is void.
6
7 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
8
9         * gcc-interface/misc.c (gnat_parse_file): Take no arguments.
10
11 2010-11-17  Eric Botcazou  <ebotcazou@adacore.com>
12
13         * gcc-interface/trans.c (addressable_p): Rewrite obsolete paragraph in
14         head comment.
15
16 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
17
18         * gcc-interface/Make-lang.in (ada/misc.o): Use $(OPTS_H).
19         * gcc-interface/misc.c (gnat_handle_option): Take location_t parameter.
20
21 2010-11-10  Eric Botcazou  <ebotcazou@adacore.com>
22
23         * gcc-interface/trans.c (gigi): Don't set 'pure' flag on SJLJ routines.
24         * gcc-interface/utils2.c (compare_arrays): Add LOC parameter.  Set it
25         directly on all the comparison expressions.
26         (build_binary_op): Pass input_location to compare_arrays.
27
28 2010-11-10  Eric Botcazou  <ebotcazou@adacore.com>
29
30         * gcc-interface/trans.c (lvalue_required_p) <N_Type_Conversion>): Look
31         through it for elementary types as well.
32         <N_Unchecked_Type_Conversion>: Adjust to above change.
33         <N_Allocator>: Likewise.
34         (gnat_to_gnu): Do not attempt to rewrite boolean literals.
35
36 2010-11-10  Eric Botcazou  <ebotcazou@adacore.com>
37
38         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set DECL_ARTIFICIAL
39         on the reused DECL node coming from a renamed object.
40         Set DECL_IGNORED_P on the DECL node built for renaming entities if they
41         don't need debug info.
42
43 2010-11-09  Eric Botcazou  <ebotcazou@adacore.com>
44
45         * gcc-interface/utils.c (save_gnu_tree): Improve comments.
46         (get_gnu_tree): Likewise.
47
48 2010-11-09  Eric Botcazou  <ebotcazou@adacore.com>
49
50         * gcc-interface/decl.c (finish_fat_pointer_type): New function.
51         (gnat_to_gnu_entity) <E_Array_Type>: Use it to build the fat pointer
52         type.
53         <E_Access_Type>: Likewise.
54
55 2010-11-02  Eric Botcazou  <ebotcazou@adacore.com>
56
57         * gcc-interface/gigi.h (add_stmt_force): Declare.
58         (add_stmt_with_node_force): Likewise.
59         * gcc-interface/trans.c (Attribute_to_gnu): Don't set TREE_SIDE_EFFECTS
60         on the SAVE_EXPR built for cached expressions of parameter attributes.
61         (Subprogram_Body_to_gnu): Force evaluation of the SAVE_EXPR built for
62         cached expressions of parameter attributes.
63         (add_stmt_force): New function.
64         (add_stmt_with_node_force): Likewise.
65
66 2010-10-27  Eric Botcazou  <ebotcazou@adacore.com>
67
68         * gcc-interface/trans.c (gigi): Fix formatting issues.
69         (build_raise_check): Likewise.
70         (gnat_to_gnu): Likewise.
71         * gcc-interface/utils2.c (build_call_raise_range): Likewise.
72         (build_call_raise_column): Likewise.
73
74 2010-10-26  Robert Dewar  <dewar@adacore.com>
75
76         * exp_ch5.adb, exp_prag.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
77         sem_dist.adb, exp_ch7.adb, exp_util.adb, exp_attr.adb, exp_ch9.adb,
78         sem_ch10.adb, checks.adb, sem_prag.adb, par-endh.adb, sem_ch12.adb,
79         exp_smem.adb, sem_attr.adb, exp_ch4.adb, exp_ch6.adb, exp_ch8.adb,
80         sem_ch6.adb, exp_disp.adb, exp_aggr.adb, exp_dist.adb, sem_ch13.adb,
81         par-ch3.adb, par-ch5.adb, exp_strm.adb, exp_ch3.adb: Minor reformatting
82         * opt.ads: Minor comment fix.
83
84 2010-10-26  Vincent Celier  <celier@adacore.com>
85
86         * gnat_ugn.texi: Document option -s for gnatlink.
87
88 2010-10-26  Robert Dewar  <dewar@adacore.com>
89
90         * opt.ads: Move documentation on checksum stuff here from prj-nmsc
91         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Move
92         documentation on checksum versions to opt.ads.
93
94 2010-10-26  Vincent Celier  <celier@adacore.com>
95
96         * opt.ads (Checksum_Accumulate_Token_Checksum): New Boolean flag,
97         defaulted to True.
98         (Checksum_GNAT_6_3): New name of Old_Checksums
99         (Checksum_GNAT_5_03): New name of Old_Old_Checksums
100         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Adapt to new
101         names of Opt flags.
102         Set Checksum_Accumulate_Token_Checksum to False if GNAT version is 5.03
103         or before.
104         * scng.adb (Accumulate_Token_Checksum_GNAT_6_3): New name of procedure
105         Accumulate_Token_Checksum_Old.
106         (Accumulate_Token_Checksum_GNAT_5_03): New name of procedure
107         Accumulate_Token_Checksum_Old_Old.
108         (Nlit): Call Accumulate_Token_Checksum only if
109         Opt.Checksum_Accumulate_Token_Checksum is True.
110         (Scan): Ditto
111
112 2010-10-26  Robert Dewar  <dewar@adacore.com>
113
114         * sem_ch13.adb (Build_Invariant_Procedure): New calling sequence.
115         (Build_Invariant_Procedure): Properly handle analysis of invariant
116         expression with proper end-of-visible-decls visibility.
117         * sem_ch13.ads (Build_Invariant_Procedure): Changed calling sequence.
118         * sem_ch3.adb (Process_Full_View): Don't build invariant procedure
119         (too late).
120         (Analyze_Private_Extension_Declaration): Propagate invariant flags.
121         * sem_ch7.adb (Analyze_Package_Specification): Build invariant
122         procedures.
123
124 2010-10-26  Vincent Celier  <celier@adacore.com>
125
126         * opt.ads (Old_Checksums, Old_Old_Checksums): New Boolean flags,
127         defaulted to False.
128         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): When
129         processing attribute Toolchain_Version ("Ada"), set Opt.Old_Checksums
130         and Opt.Old_Old_Checksums depending on the GNAT version.
131         * scng.adb (Accumulate_Token_Checksum_Old): New procedure.
132         (Accumulate_Token_Checksum_Old_Old): New procedure.
133         (Scan): For keywords, when Opt.Old_Checksums is True, call one of the
134         alternative procedures Accumulate_Token_Checksum_Old or
135         Accumulate_Token_Checksum_Old_Old, instead of Accumulate_Token_Checksum.
136
137 2010-10-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
138
139         * gcc-interface/utils2.c (build_compound_expr): New function.
140         * gcc-interface/gigi.h (build_compound_expr): Declare it.
141         * gcc-interface/trans.c (Attribute_to_gnu, call_to_gnu): Use it.
142         (gnat_to_gnu, case N_Expression_With_Actions): Likewise. 
143
144 2010-10-26  Javier Miranda  <miranda@adacore.com>
145
146         * sem_prag.adb (Process_Import_Or_Interface): Skip primitives of
147         interface types when processing all the entities in the homonym chain
148         that are declared in the same declarative part.
149
150 2010-10-26  Ed Schonberg  <schonberg@adacore.com>
151
152         * sem_ch3.adb (Process_Range_In_Decl): If the range is part of a
153         quantified expression, the insertion point for range checks will be
154         arbitrarily far in the tree.
155         * sem_ch5.adb (One_Bound): Use Insert_Actions for the declaration of
156         the temporary that holds the value of the bounds.
157         * sem_res.adb (Resolve_Quantified_Expressions): Disable expansion of
158         condition until the full expression is expanded.
159
160 2010-10-26  Robert Dewar  <dewar@adacore.com>
161
162         * opt.ads: Comment fix.
163         * sem_cat.adb: Treat categorization errors as warnings in GNAT Mode.
164         * switch-c.adb: GNAT Mode does not set
165         Treat_Categorization_Errors_As_Warnings.
166
167 2010-10-26  Ed Schonberg  <schonberg@adacore.com>
168
169         * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve warning when an
170         operator renames another one with a different name.
171
172 2010-10-26  Thomas Quinot  <quinot@adacore.com>
173
174         * exp_ch4.adb, exp_pakd.adb: Minor reformatting.
175
176 2010-10-26  Bob Duff  <duff@adacore.com>
177
178         * namet.adb: Improve hash function.
179
180 2010-10-26  Thomas Quinot  <quinot@adacore.com>
181
182         * sem_disp.adb: Minor reformatting.
183
184 2010-10-26  Robert Dewar  <dewar@adacore.com>
185
186         * sem_ch3.adb, sem_ch4.adb, sem_disp.adb, switch-c.adb: Minor
187         reformatting.
188         * gnat_ugn.texi: Document -gnateP switch.
189
190 2010-10-26  Robert Dewar  <dewar@adacore.com>
191
192         * opt.ads (Treat_Categorization_Errors_As_Warnings): New flag
193         * sem_cat.adb (Check_Categorization_Dependencies):
194         Use Check_Categorization_Dependencies
195         * switch-c.adb: GNAT Mode sets Treat_Categorization_Errors_As_Warnings
196         -gnateP sets Treat_Categorization_Errors_As_Warnings
197         * usage.adb: Add line for -gnateP switch
198
199 2010-10-26  Javier Miranda  <miranda@adacore.com>
200
201         * sem_ch3.adb (Add_Internal_Interface_Entities): Handle primitives
202         inherited from the parent that cover interface primitives.
203         (Derive_Progenitor_Subprograms): Handle primitives inherited from
204         the parent that cover interface primitives.
205         * sem_disp.adb (Find_Primitive_Covering_Interface): When searching in
206         the list of primitives of the type extend the test to include inherited
207         private primitives.
208         * sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
209         * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Add missing
210         barrier to the loop searching for explicit overriding primitives.
211         * sem_ch4.adb (Analyze_Indexed_Component_Form): Add missing barrier
212         before accessing attribute Entity.
213
214 2010-10-26  Bob Duff  <duff@adacore.com>
215
216         * make.adb: Call Namet.Finalize, so we can get statistics.
217
218 2010-10-26  Geert Bosch  <bosch@adacore.com>
219
220         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use the subprogram_body
221         node to determine wether the subprogram is a rewritten parameterized
222         expression.
223
224 2010-10-26  Robert Dewar  <dewar@adacore.com>
225
226         * opt.ads: Minor code reorganization.  Alphabetize Warning switches.
227
228 2010-10-26  Robert Dewar  <dewar@adacore.com>
229
230         * sem_res.adb, xsinfo.adb: Minor reformatting.
231
232 2010-10-26  Bob Duff  <duff@adacore.com>
233
234         * namet.adb (Finalize): More cleanup of statistics printouts.
235
236 2010-10-26  Robert Dewar  <dewar@adacore.com>
237
238         * ceinfo.adb: Minor reformatting.
239
240 2010-10-26  Javier Miranda  <miranda@adacore.com>
241
242         * sem_ch6.adb (Check_Overriding_Indicator, New_Overloaded_Entity): When
243         setting attribute Overridden_Operation do not reference the entities
244         generated by Derive_Subprograms but their aliased entity (which
245         is the primitive inherited from the parent type).
246
247 2010-10-26  Bob Duff  <duff@adacore.com>
248
249         * namet.adb, namet.ads: Minor cleanup.
250
251 2010-10-26  Arnaud Charlet  <charlet@adacore.com>
252
253         * gcc-interface/Make-lang.in: Update dependencies.
254
255 2010-10-26  Robert Dewar  <dewar@adacore.com>
256
257         * einfo.ads, einfo.adb (Is_Base_Type): New function, use it where
258         appropriate.
259         * exp_ch6.adb, exp_dbug.adb, exp_disp.adb, freeze.adb, lib-xref.adb,
260         sem_aux.adb, sem_ch3.adb, sem_ch7.adb, sem_ch8.adb (Is_Base_Type): Use
261         this new abstraction where appropriate.
262
263 2010-10-26  Ed Schonberg  <schonberg@adacore.com>
264
265         * sem_ch12.adb: Code clean up.
266
267 2010-10-26  Paul Hilfinger  <hilfinger@adacore.com>
268
269         * exp_dbug.ads: Document effect of 'pragma Unchecked_Union' on
270         debugging data.
271
272 2010-10-26  Ed Schonberg  <schonberg@adacore.com>
273
274         * sem_util.adb (Note_Possible_Modification): If the target of an
275         assignment is the bound variable in an iterator, the domain of
276         iteration, i.e. array or container, is modified as well.
277
278 2010-10-26  Bob Duff  <duff@adacore.com>
279
280         * Make-generated.in: Make the relevant make targets depend on
281         ceinfo.adb and csinfo.adb.
282         * csinfo.adb, ceinfo.adb: Make sure it raises an exception on failure,
283         so when called from xeinfo, the failure will be noticed.
284         * sinfo.ads: Update comments to reflect the fact that xsinfo runs csinfo
285         * xsinfo.adb, xeinfo.adb: Run ceinfo to check for errors. Close files.
286
287 2010-10-26  Ed Schonberg  <schonberg@adacore.com>
288
289         * exp_ch4.adb: Set properly parent field of operands of concatenation.
290
291 2010-10-26  Ed Schonberg  <schonberg@adacore.com>
292
293         * sem_res.adb (Check_Infinite_Recursion): A recursive call within a
294         conditional expression or a case expression should not generate an
295         infinite recursion warning.
296
297 2010-10-26  Javier Miranda  <miranda@adacore.com>
298
299         * einfo.ads, einfo.adb (Is_Overriding_Operation): Removed.
300         (Set_Is_Overriding_Operation): Removed.
301         * sem_ch3.adb (Check_Abstract_Overriding): Remove redundant call to
302         Is_Overriding_Operation.
303         * exp_ch7.adb (Check_Visibly_Controlled): Remove redundant call to
304         Is_Overriding_Operation.
305         * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Remove redundant
306         call to Set_Is_Overriding_Operation.
307         * sem_util.adb (Collect_Primitive_Operations): Replace test on
308         Is_Overriding_Operation by test on the presence of attribute
309         Overridden_Operation.
310         (Original_Corresponding_Operation): Remove redundant call to attribute
311         Is_Overriding_Operation.
312         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove
313         redundant call to Is_Overriding_Operation.
314         (Verify_Overriding_Indicator): Replace several occurrences of test on
315         Is_Overriding_Operation by test on the presence of attribute
316         Overridden_Operation.
317         (Check_Convention): Replace test on Is_Overriding_Operation by test on
318         the presence of Overridden_Operation.
319         (Check_Overriding_Indicator): Add missing decoration of attribute
320         Overridden_Operation. Minor code cleanup.
321         (New_Overloaded_Entity): Replace occurrence of test on
322         Is_Overriding_Operation by test on the presence of attribute
323         Overridden_Operation. Remove redundant setting of attribute
324         Is_Overriding_Operation plus minor code reorganization.
325         Add missing decoration of attribute Overridden_Operation.
326         * sem_elim.adb (Set_Eliminated): Replace test on
327         Is_Overriding_Operation by test on the presence of Overridden_Operation.
328         * sem_ch8.adb (Analyze_Subprogram_Renaming): Replace test on
329         Is_Overriding_Operation by test on the presence of
330         Overridden_Operation. Remove a redundant test on attribute
331         Is_Overriding_Operation. 
332         * lib-xref.adb (Generate_Reference): Replace test on
333         Is_Overriding_Operation by test on the presence of Overridden_Operation.
334         (Output_References): Replace test on Is_Overriding_Operation by test on
335         the presence of Overridden_Operation.
336         * sem_disp.adb (Override_Dispatching_Operation): Replace test on
337         Is_Overriding_Operation by test on the presence of Overridden_Operation.
338         Add missing decoration of attribute Overridden_Operation.
339
340 2010-10-26  Robert Dewar  <dewar@adacore.com>
341
342         * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Properly check
343         RM 13.4.1(10).
344
345 2010-10-26  Bob Duff  <duff@adacore.com>
346
347         * sem_res.adb (Resolve_Actuals): In case of certain
348         internally-generated type conversions (created by OK_Convert_To, so the
349         Conversion_OK flag is set), avoid fetching the component type when it's
350         not really an array type, but a private type completed by an array type.
351
352 2010-10-26  Ed Schonberg  <schonberg@adacore.com>
353
354         * sem_ch5.adb: Adjust format of error message.
355
356 2010-10-26  Robert Dewar  <dewar@adacore.com>
357
358         * einfo.ads, einfo.adb (OK_To_Reference): Removed, no longer used.
359         * exp_util.adb (Side_Effect_Free): Put in safety barrier in code to
360         detect renamings to avoid problems with invariants.
361         * sem_ch13.adb (Replace_Type_References_Generic): New procedure
362         (Build_Invariant_Procedure): Use Replace_Type_Reference_Generic
363         (Build_Predicate_Function): Use Replace_Type_Reference_Generic
364         * sem_res.adb, sem_ch8.adb, sem_ch4.adb (OK_To_Reference): Remove
365         references, flag is no longer set.
366
367 2010-10-26  Vincent Celier  <celier@adacore.com>
368
369         * prj.ads (Source_Data): New Boolean component Initialized, defaulted
370         to False, set to True when Source_Data is completely initialized.
371         * prj-env.adb: Minor comment fix.
372
373 2010-10-26  Robert Dewar  <dewar@adacore.com>
374
375         * sem_case.adb, sem_ch6.adb, sem_util.adb: Minor reformatting.
376
377 2010-10-26  Ed Schonberg  <schonberg@adacore.com>
378
379         * sem_ch5.adb (Analyze_Iteration_Scheme): Diagnose attempt to use thew
380         form "for X in A" when A is an array object. This form is only intended
381         for containers.
382         * sem_eval.adb: Fix reference to non-existing field of type conversion
383         node.
384         * sem_case.adb (Check_Choices): Improve error reporting for overlapping
385         choices in case statements.
386
387 2010-10-26  Gary Dismukes  <dismukes@adacore.com>
388
389         * exp_disp.adb (Expand_Interface_Actuals): When expanding an actual for
390         a class-wide interface formal that involves applying a displacement
391         conversion to the actual, check for the case of calling a build-in-place
392         function and handle generation of the implicit BIP parameters (call
393         Make_Build_In_Place_Call_In_Anonymous_Context).
394         Add with and use of Exp_Ch6.
395
396 2010-10-26  Robert Dewar  <dewar@adacore.com>
397
398         * sem_prag.adb, sem_cat.ads: Minor reformatting.
399
400 2010-10-26  Sergey Rybin  <rybin@adacore.com>
401
402         * vms_data.ads: Define VMS qualifier for gnatelim '--ignore' option
403
404 2010-10-26  Thomas Quinot  <quinot@adacore.com>
405
406         * sem_util.adb (Has_Preelaborable_Initialization.Check_Components):
407         For a discriminant, use Discriminant_Default_Value rather than
408         Expression (Declaration_Node (D)).
409
410 2010-10-26  Geert Bosch  <bosch@adacore.com>
411
412         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Parameterized
413         expressions don't need a spec, even when style checks require
414         subprograms to have one.
415
416 2010-10-26  Arnaud Charlet  <charlet@adacore.com>
417
418         * gnatvsn.ads: Update comments.
419
420 2010-10-26  Matthew Heaney  <heaney@adacore.com>
421
422         * Makefile.rtl, impunit.adb: Add bounded hashed set and bounded hashed
423         map containers.
424         * a-cohata.ads: Add declaration of generic package for bounded hash
425         table types.
426         * a-chtgbo.ads, a-chtgbo.adb, a-chtgbk.ads, a-chtgbk.adb, a-cbhase.ads,
427         a-cbhase.adb, a-cbhama.ads, a-cbhama.adb: New files.
428
429 2010-10-26  Ed Schonberg  <schonberg@adacore.com>
430
431         * sem_warn.adb: Improve warning message on overlapping actuals.
432
433 2010-10-26  Thomas Quinot  <quinot@adacore.com>
434
435         * sem_ch4.adb, exp_dist.adb: Minor reformatting.
436
437 2010-10-26  Vincent Celier  <celier@adacore.com>
438
439         * makeusg.adb (Makeusg): Add lines for switches -vl, -vm and -vh.
440
441 2010-10-26  Robert Dewar  <dewar@adacore.com>
442
443         * exp_ch3.adb (Expand_N_Object_Declaration): Move generation of
444         predicate check to analyzer, since too much rewriting occurs in the
445         analyzer.
446         * sem_ch13.adb (Build_Predicate_Function): Change calling sequence, and
447         change the order in which things are done to fix several errors in
448         dealing with qualification of the type name.
449         (Build_Static_Predicate): Built static predicate after full analysis
450         of the body. This is necessary to fix several problems.
451         * sem_ch3.adb (Analyze_Object_Declaration): Move predicate check here
452         from expander, since too much expansion occurs in the analyzer to leave
453         it that late.
454         (Analyze_Object_Declaration): Change parameter Include_Null to new name
455         Include_Implicit in Is_Partially_Initialized_Type call.
456         (Analyze_Subtype_Declaration): Make sure predicates are proapagated in
457         some strange cases of internal subtype generation.
458         * sem_util.ads, sem_util.adb (Is_Partially_Initialized_Type): Change
459         Include_Null to Include_Implicit, now includes the case of
460         discriminants.
461
462 2010-10-26  Sergey Rybin  <rybin@adacore.com>
463
464         * gnat_rm.texi: Revise the documentation for pragma Eliminate. 
465
466 2010-10-26  Matthew Heaney  <heaney@adacore.com>
467
468         * Makefile.rtl, impunit.adb: Added bounded list container.
469         * a-cbdlli.ads, a-cbdlli.adb: New file.
470
471 2010-10-25  Eric Botcazou  <ebotcazou@adacore.com>
472
473         * gcc-interface/utils2.c: Include flags.h and remove prototypes.
474         (build_unary_op) <TRUTH_NOT_EXPR>: When not optimizing, fold the result
475         of the call to invert_truthvalue_loc.
476         * gcc-interface/Make-lang.in (utils2.o): Add $(FLAGS_H).
477
478 2010-10-25  Eric Botcazou  <ebotcazou@adacore.com>
479
480         * gcc-interface/utils.c (update_pointer_to): Clear TYPE_POINTER_TO and
481         TYPE_REFERENCE_TO of the old type after redirecting its pointer and
482         reference types.
483
484 2010-10-25  Eric Botcazou  <ebotcazou@adacore.com>
485
486         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not set
487         TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
488
489 2010-10-25  Jose Ruiz  <ruiz@adacore.com>
490
491         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for powerpc-linux):
492         Reorganize target pairs so that it works on linux and ElinOS.
493
494 2010-10-25  Pascal Obry  <obry@adacore.com>
495         
496         * adaint.c (__gnat_file_time_name_attr): Use GetFileAttributesEx to get
497         the timestamp. A bit faster than opening/closing the file.
498         (__gnat_stat_to_attr): Remove kludge for Windows.
499         (__gnat_file_exists_attr): Likewise.
500         The timestamp is now retreived using GetFileAttributesEx as faster.
501
502 2010-10-25  Javier Miranda  <miranda@adacore.com>
503
504         * sem_ch3.adb (Derive_Interface_Subprogram): New subprogram.
505         (Derive_Subprograms): For abstract private types transfer to the full
506         view entities of uncovered interface primitives. Required because if
507         the interface primitives are left in the private part of the package
508         they will be decorated as hidden when the analysis of the enclosing
509         package completes (and hence the interface primitive is not visible
510         for dispatching calls).
511
512 2010-10-25  Matthew Heaney  <heaney@adacore.com>
513
514         * Makefile.rtl, impunit.adb: Added bounded set and bounded map
515         containers.
516         * a-crbltr.ads: Added declaration of generic package for bounded tree
517         types.
518         * a-rbtgbo.ads, a-rbtgbo.adb, a-rbtgbk.ads, a-rbtgbk.adb, a-btgbso.ads,
519         a-btgbso.adb, a-cborse.ads, a-cborse.adb, a-cborma.ads, a-cborma.adb:
520         New.
521
522 2010-10-25  Thomas Quinot  <quinot@adacore.com>
523
524         * sem_util.adb: Minor reformatting.
525         * usage.adb: Fix usage line for -gnatwh.
526
527 2010-10-25  Thomas Quinot  <quinot@adacore.com>
528
529         * sem_ch12.adb (Analyze_Package_Instantiation): For an
530         instantiation in an RCI spec, omit package body if instantiation comes
531         from source, even as a nested
532         package.
533         * exp_dist.adb (Add_Calling_Stubs_To_Declarations,
534         *_Support.Add_Receiving_Stubs_To_Declarations): Handle the case of
535         nested packages, package instantiations and subprogram instantiations.
536
537 2010-10-25  Robert Dewar  <dewar@adacore.com>
538
539         * exp_ch5.adb (Expand_Predicated_Loop): Remove code for loop through
540         non-static predicate, since we agree not to allow this.
541         (Expand_Predicated_Loop): Properlay handle false predicate (null
542         list in Static_Predicate field.
543         * sem_ch13.adb (Build_Static_Predicate): Extensive changes to clean up
544         handling of more general predicate forms.
545
546 2010-10-25  Robert Dewar  <dewar@adacore.com>
547
548         * sem_ch4.adb, sem_util.adb: Minor reformatting.
549         * sem_ch8.adb (Find_Selected_Component): Allow selection from instance
550         of type in predicate or invariant expression.
551
552 2010-10-25  Pascal Obry  <obry@adacore.com>
553
554         * adaint.c (__gnat_stat_to_attr): Can set the timestamp on Windows now.
555         (f2t): New routine.
556         (__gnat_stat): Rewrite Win32 version.
557
558 2010-10-25  Robert Dewar  <dewar@adacore.com>
559
560         * sem_warn.adb, einfo.ads, exp_ch4.adb: Minor comment fix
561         * sem_case.adb: Comment clarification for loops through false
562         predicates.
563         * sem_util.adb: Minor reformatting
564         (Check_Order_Dependence): Fix bad double blank in error message
565
566 2010-10-25  Ed Schonberg  <schonberg@adacore.com>
567
568         * sem_ch4.adb (Analyze_Membership_Op): in Ada_2012 a membership
569         operation can have a single alternative that is a value of the type.
570         Rewrite operation as an equality test.
571
572 2010-10-25  Matthew Heaney  <heaney@adacore.com>
573
574         * Makefile.rtl, impunit.adb: Added a-cobove (bounded vector container)
575         to lists.
576         * a-contai.ads: Added declaration of Capacity_Error exception.
577         * a-cobove.ads, a-cobove.adb: New files.
578
579 2010-10-25  Thomas Quinot  <quinot@adacore.com>
580
581         * uname.adb: Revert previous change, no longer needed after change
582         in par-ch10.adb.
583
584 2010-10-25  Thomas Quinot  <quinot@adacore.com>
585
586         * scos.ads: Minor comment fix.
587
588 2010-10-25  Ed Schonberg  <schonberg@adacore.com>
589
590         * sem_ch5.adb (Analyze_Assignment_Statement): Check dangerous order
591         dependence.
592         * sem_ch6.adb (Analyze_Procedure_Call_Statement): Ditto.
593         * sem_res.adb (Analyze_Actuals): Add actual to list of actuals for
594         current construct, for subsequent order dependence checking.
595         (Resolve): Check order dependence on expressions that are not
596         subexpressions.
597         * sem_util.adb (Check_Order_Dependence): Code cleanup, to correspond
598         to latest version of AI05-144-2.
599         * sem_warn.adb (Warn_On_Overlapping_Actuals): Code cleanup.
600
601 2010-10-25  Robert Dewar  <dewar@adacore.com>
602
603         * sem_ch13.adb (Build_Static_Predicate): Moved out of
604         Build_Predicate_Function.
605         (Build_Static_Predicate): Complet rewrite for more general predicates
606
607 2010-10-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
608             Eric Botcazou  <ebotcazou@adacore.com>
609
610         * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Function): Allow
611         In Out/Out parameters for functions.
612         * gcc-interface/trans.c (gnu_return_var_stack): New variable.
613         (create_init_temporary): New static function.
614         (Subprogram_Body_to_gnu): Handle In Out/Out parameters for functions.
615         (call_to_gnu): Likewise.  Use create_init_temporary in order to create
616         temporaries for unaligned parameters and return value.  If there is an
617         unaligned In Out or Out parameter passed by reference, push a binding
618         level if not already done.  If a binding level has been pushed and the
619         call is returning a value, create the call statement.
620         (gnat_to_gnu) <N_Return_Statement>: Handle In Out/Out parameters for
621         functions.
622
623 2010-10-22  Ben Brosgol  <brosgol@adacore.com>
624
625         * gnat_rm.texi: Add chapter on Ada 2012 support.
626
627 2010-10-22  Robert Dewar  <dewar@adacore.com>
628
629         * sem_ch12.adb: Minor reformatting.
630
631 2010-10-22  Thomas Quinot  <quinot@adacore.com>
632
633         * exp_dist.adb: Mark missing case of nested package when expanding
634         stubs.
635
636 2010-10-22  Ed Schonberg  <schonberg@adacore.com>
637
638         * par-ch10.adb: Discard incomplete with_clause.
639
640 2010-10-22  Robert Dewar  <dewar@adacore.com>
641
642         * checks.adb (Enable_Range_Check): Remove code suppressing range check
643         if static predicate present, not needed.
644         * exp_attr.adb (Expand_Pred_Succ): Check Suppress_Assignment_Checks flag
645         * exp_ch3.adb (Expand_N_Object_Declaration): Check
646         Suppress_Assignment_Checks flag.
647         * exp_ch4.adb (Expand_N_In): Make some corrections for proper handling
648         of ranges when predicates are present.
649         * exp_ch5.adb (Expand_Predicated_Loop): New procedure
650         (Expand_N_Assignment_Statement): Check Suppress_Assignment_Checks flag
651         (Expand_N_Loop_Statement): Handle loops over predicated types
652         * sem_case.adb (Analyze_Choices): Remove extra blank in error message.
653         * sem_ch13.adb (Build_Predicate_Function.Add_Call): Suppress info
654         message for inheritance if within a generic instance, not useful there!
655         (Build_Static_Predicate): Optimize test in predicate function
656         based on static ranges determined.
657         * sem_ch5.adb (Analyze_Iteration_Scheme): Error for loop through
658         subtype with non-static predicate.
659         * sinfo.ads, sinfo.adb (Suppress_Assignment_Checks): New flag.
660
661 2010-10-22  Thomas Quinot  <quinot@adacore.com>
662
663         * uname.adb (Get_Unit_Name.Add_Node_Name): If encountering an error
664         node in the unit name, propagate Program_Error to guard against
665         cascaded errors.
666
667 2010-10-22  Javier Miranda  <miranda@adacore.com>
668
669         * sem_ch8.adb (Find_Selected_Component): Do not generate a subtype for
670         selected components of dispatch table wrappers.
671
672 2010-10-22  Ed Schonberg  <schonberg@adacore.com>
673
674         * exp_ch9.adb (Make_Initialize_Protection): A protected type that
675         implements an interface must be treated as if it has entries, to
676         support dispatching select statements.
677
678 2010-10-22  Robert Dewar  <dewar@adacore.com>
679
680         * sem_aggr.adb, sem_ch3.adb: Minor reformatting.
681
682 2010-10-22  Javier Miranda  <miranda@adacore.com>
683
684         * sem_aggr.adb (Resolve_Array_Aggregate.Add): If the type of the
685         aggregate has a non standard representation the attributes 'Val and
686         'Pos expand into function calls and the resulting expression is
687         considered non-safe for reevaluation by the backend. Relocate it into
688         a constant temporary to indicate to the backend that it is side
689         effects free.
690
691 2010-10-22  Ed Schonberg  <schonberg@adacore.com>
692
693         * sem_ch3.adb (Build_Concurrent_Derived_Type): Create declaration for
694         derived corresponding record type only when expansion is enabled.
695
696 2010-10-22  Robert Dewar  <dewar@adacore.com>
697
698         * sem_case.adb, sem_attr.adb (Bad_Predicated_Subtype_Use): Change order
699         of parameters.
700         * sem_ch13.adb (Build_Predicate_Function): Don't give inheritance
701         messages for generic actual subtypes.
702         * sem_ch9.adb, sem_res.adb, sem_util.adb, sem_util.ads, sem_ch3.adb
703         (Bad_Predicated_Subtype_Use): Use this procedure.
704
705 2010-10-22  Robert Dewar  <dewar@adacore.com>
706
707         * sem_ch5.adb: Minor reformatting.
708
709 2010-10-22  Robert Dewar  <dewar@adacore.com>
710
711         * a-except-2005.adb (Rmsg_18): New message text.
712         * a-except.adb (Rmsg_18): New message text.
713         * atree.adb (List25): New function
714         (Set_List25): New procedure
715         * atree.ads (List25): New function
716         (Set_List25): New procedure
717         * einfo.adb (Static_Predicate): Is now a list
718         (OK_To_Reference): Present in all entities
719         * einfo.ads (Static_Predicate): Is now a list
720         (OK_To_Reference): Applies to all entities
721         * exp_ch13.adb (Build_Predicate_Function): Moved to Sem_Ch13
722         * sem_attr.adb (Bad_Attribute_For_Predicate): Call
723         Bad_Predicated_Subtype_Use.
724         * sem_case.ads, sem_case.adb: Major surgery to deal with predicated
725         subtype case.
726         * sem_ch13.adb (Build_Predicate_Function): Moved from Exp_Ch13 to
727         Sem_Ch13.
728         (Build_Static_Predicate): New procedure handles static predicates.
729         * sem_ch3.adb (Analyze_Subtype_Declaration): Delay freeze on subtype
730         with no constraint if ancestor subtype has predicates.
731         (Analyze_Variant_Part): New calling sequence for Analyze_Choices
732         * sem_ch4.adb (Junk_Operand): Don't complain about OK_To_Reference
733         entity.
734         (Analyze_Case_Expression): New calling sequence for Analyze_Choices
735         * sem_ch5.adb (Analyze_Case_Statement): New calling sequence for
736         Analyze_Choices.
737         * sem_util.ads, sem_util.adb (Bad_Predicated_Subtype_Use): New procedure
738         * types.ads (PE_Bad_Predicated_Generic_Type): Replaces
739         PE_Bad_Attribute_For_Predicate.
740         * atree.h: Add definition of List25.
741
742 2010-10-22  Jerome Lambourg  <lambourg@adacore.com>
743
744         * gnatlink.adb (Process_Binder_File): Remove CLI-specific code, now
745         moved to dotnet-ld.
746         (Gnatlink): Remove CLI-specific code, moved to dotnet-ld
747         * bindgen.adb (Gen_Object_Files_Options): Do not issue -L switches with
748         the .NET compiler, useless and unsupported.
749
750 2010-10-22  Robert Dewar  <dewar@adacore.com>
751
752         * sem_util.ads (Get_Num_Lit_From_Pos): Fix errors in documentation,
753         this returns a Node_Id for a reference to the entity, not the entity
754         itself!
755
756 2010-10-22  Ed Schonberg  <schonberg@adacore.com>
757
758         * sem_ch5.adb (Analyze_Iteration_Scheme): use Insert_Actions when
759         bounds require a temporary.
760
761 2010-10-22  Robert Dewar  <dewar@adacore.com>
762
763         * sem_ch4.adb: Minor reformatting.
764         * sinfo.ads: Minor comment fixes for Ada 2012 syntax.
765
766 2010-10-22  Robert Dewar  <dewar@adacore.com>
767
768         * par-ch5.adb: Minor reformatting.
769         * gcc-interface/Make-lang.in: Update dependencies.
770
771 2010-10-22  Robert Dewar  <dewar@adacore.com>
772
773         * a-except.adb, a-except-2005.adb: Add new Rcheck entry.
774         * exp_ch13.adb (Add_Call): Make sure subtype is marked with
775         Has_Predicates set to True if it inherits predicates.
776         * sem_attr.adb: Handle 'First/'Last/'Range for predicated types
777         * types.ads (PE_Bad_Attribute_For_Predicate): New reason code
778         * types.h: Add new Rcheck entry.
779         * einfo.ads, einfo.adb (Static_Predicate): New field.
780         Minor code reorganization (file float routines in proper section)
781         Fix bad field name in comments.
782
783 2010-10-22  Robert Dewar  <dewar@adacore.com>
784
785         * sem_eval.adb (Subtypes_Statically_Compatible): Check null exclusion
786         case.
787
788 2010-10-22  Vincent Celier  <celier@adacore.com>
789
790         * prj-conf.adb (Get_Config_Switches): Detect if there is at least one
791         declaration of IDE'Compiler_Command for one of the language in the main
792         project.
793         (Do_Autoconf): If there were at least one Compiler_Command declared and
794         no target, invoke gprconfig with --target=all instead of the normalized
795         host name.
796
797 2010-10-22  Robert Dewar  <dewar@adacore.com>
798
799         * par-ch4.adb: Update syntax in comments for Ada 2012.
800         * sinfo.ads: Update syntax in comments for Ada 2012
801         * par-ch3.adb (Check_Restricted_Expression): Remove "in Ada 2012 mode"
802         from msg.
803
804 2010-10-22  Gary Dismukes  <dismukes@adacore.com>
805
806         * sem_ch3.adb (Check_Or_Process_Discriminants): In Ada 2012, allow
807         limited tagged types to have defaulted discriminants. Customize the
808         error message for the Ada 2012 case.
809         (Process_Discriminants): In Ada 2012, allow limited tagged types to have
810         defaulted discriminants. Customize the error message for the Ada 2012
811         case.
812         * sem_ch6.adb (Create_Extra_Formals): Suppress creation of the extra
813         formal for out formals of discriminated types in the case where the
814         underlying type is a limited tagged type.
815         * exp_attr.adb (Expand_N_Attribute_Reference, case
816         Attribute_Constrained): Return True for 'Constrained when the
817         underlying type of the prefix is a limited tagged type.
818
819 2010-10-22  Thomas Quinot  <quinot@adacore.com>
820
821         * sem_ch3.adb (Complete_Private_Subtype): The full view of the subtype
822         may already have a rep item chain inherited from the full view of the
823         base type, so do not overwrite it when propagating rep items from the
824         partial view of the subtype.
825         * sem_ch3.adb: Minor code reorganization.  Minor reformatting.
826
827 2010-10-22  Sergey Rybin  <rybin@adacore.com>
828
829         * gnat_ugn.texi (gnatmetric): Remove description of debug option.
830
831 2010-10-22  Tristan Gingold  <gingold@adacore.com>
832
833         * adaint.c (__gnat_number_of_cpus): Add implementation for VMS.
834
835 2010-10-22  Ed Schonberg  <schonberg@adacore.com>
836
837         * par-ch5.adb: Set properly starting sloc of loop parameter.
838
839 2010-10-22  Ed Schonberg  <schonberg@adacore.com>
840
841         * sem_util.adb (May_Be_Lvalue): An actual in a function call can be an
842         lvalue in Ada2012, if the function has in-out parameters.
843
844 2010-10-22  Robert Dewar  <dewar@adacore.com>
845
846         * cstand.adb, einfo.adb, exp_attr.adb, sem_prag.adb, sem_vfpt.adb,
847         sem_ch10.adb: Minor reformatting.
848
849 2010-10-22  Sergey Rybin  <rybin@adacore.com>
850
851         * gnat_ugn.texi: Remove most of the content of gnatcheck chapter.
852
853 2010-10-22  Ed Schonberg  <schonberg@adacore.com>
854
855         * sem_attr.adb: Handle indexed P'old.
856
857 2010-10-22  Geert Bosch  <bosch@adacore.com>
858
859         * cstand.adb (Build_Float_Type): Set Float_Rep according to platform.
860         * einfo.ads (Float_Rep): New attribute.
861         (Float_Rep_Kind): Move from body. Add comments.
862         * einfo.adb (Float_Rep_Kind): Move to spec
863         (Float_Rep): Now a real field instead of local function.
864         (Set_Float_Rep): New procedure to set floating point representation
865         (Set_Vax_Float): Remove.
866         (Write_Entity_Flags): Remove Vax_Float flag.
867         (Write_Field10_Name): Add E_Floating_Point_Type case for Float_Rep.
868         * exp_attr.adb (Attribute_Valid): Use case statement for representation
869         specific processing.
870         * sem_ch3.adb (Build_Derived_Numeric_Type,
871         Floating_Point_Type_Declaration): Set Float_Rep instead of Vax_Float
872         attribute.
873         * sem_util.ads, sem_util.adb (Is_AAMP_Float): Remove.
874         * sem_vfpt.adb (Set_D_Float, Set_F_Float, Set_G_Float, Set_IEEE_Long,
875         Set_IEEE_Short): Set Float_Rep instead of Vax_Float attribute.
876
877 2010-10-22  Robert Dewar  <dewar@adacore.com>
878
879         * sprint.adb: Minor reformatting.
880
881 2010-10-22  Robert Dewar  <dewar@adacore.com>
882
883         * exp_ch3.adb (Expand_N_Object_Declaration): Do required predicate
884         checks.
885         * sem_ch3.adb (Complete_Private_Subtype): Propagate predicates to full
886         view.
887         * sem_ch6.adb (Invariants_Or_Predicates_Present): New name for
888         Invariants_Present.
889         (Process_PPCs): Handle predicates generating post conditions
890         * sem_util.adb (Is_Partially_Initialized_Type): Add
891         Include_Null parameter.
892         * sem_util.ads (Is_Partially_Initialized_Type): Add
893         Include_Null parameter.
894
895 2010-10-22  Sergey Rybin  <rybin@adacore.com>
896
897         * gnat_ugn.texi (gnatelim): Add description for '--ignore' option
898
899 2010-10-22  Thomas Quinot  <quinot@adacore.com>
900
901         * sem_prag.adb (Check_First_Subtype): Specialize error messages for
902         case where argument is not a type.
903
904 2010-10-22  Robert Dewar  <dewar@adacore.com>
905
906         * exp_ch5.adb, par-ch4.adb, par-ch5.adb, sem_ch5.adb, sinfo.ads: Minor
907         reformatting.
908
909 2010-10-22  Arnaud Charlet  <charlet@adacore.com>
910
911         * a-locale.adb: Minor code clean up.
912
913 2010-10-22  Thomas Quinot  <quinot@adacore.com>
914
915         * exp_ch4.adb: Minor code reorganization and factoring.
916
917 2010-10-22  Thomas Quinot  <quinot@adacore.com>
918
919         * exp_ch5.adb, sem_ch5.adb, sinfo.ads, snames.ads-tmpl, par-ch5.adb:
920         Minor reformatting.
921
922 2010-10-22  Geert Bosch  <bosch@adacore.com>
923
924         * stand.ads: Fix typo in comment.
925
926 2010-10-22  Ed Schonberg  <schonberg@adacore.com>
927
928         * sem_ch6.adb: Enable in-out parameter for functions.
929
930 2010-10-22  Ed Schonberg  <schonberg@adacore.com>
931
932         * sem_ch4.adb (Analyze_Quantified_Expression): Handle properly loop
933         iterators that are transformed into container iterators after analysis.
934         * exp_ch4.adb (Expand_N_Quantified_Expression): Handle properly both
935         iterator forms before rewriting as a loop.
936
937 2010-10-22  Brett Porter  <porter@adacore.com>
938
939         * a-locale.adb, a-locale.ads, locales.c: New files.
940         * Makefile.rtl: Add a-locale
941         * gcc-interface/Makefile.in: Add locales.c
942
943 2010-10-22  Robert Dewar  <dewar@adacore.com>
944
945         * sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
946         (Is_Generic_Formal): Moved from Sem_Util to Sem_Aux.
947
948 2010-10-22  Ed Schonberg  <schonberg@adacore.com>
949
950         * exp_ch5.adb (Expand_Iterator_Loop): New subprogram, implements new
951         iterator forms over arrays and containers, in loops and quantified
952         expressions.
953         * exp_util.adb (Insert_Actions): include N_Iterator_Specification.
954         * par-ch4.adb (P_Quantified_Expression): Handle iterator specifications.
955         * par-ch5.adb (P_Iterator_Specification): New subprogram. Modify
956         P_Iteration_Scheme to handle both loop forms.
957         * sem.adb: Handle N_Iterator_Specification.
958         * sem_ch5.adb, sem_ch5.ads (Analyze_Iterator_Specification): New
959         subprogram.
960         * sinfo.adb, sinfo.ads: New node N_Iterator_Specification.
961         N_Iteration_Scheme can now include an Iterator_Specification. Ditto
962         for N_Quantified_Expression.
963         * snames.ads-tmpl: Add names Cursor, Element, Element_Type, No_Element,
964         and Previous, to support iterators over predefined containers.
965         * sprint.adb: Handle N_Iterator_Specification.
966
967 2010-10-22  Thomas Quinot  <quinot@adacore.com>
968
969         * sem_prag.adb, sem_ch12.adb, sem_util.adb, sem_util.ads
970         (Is_Generic_Formal): Move from body of Sem_Ch12 to Sem_Util.
971         (Check_Arg_Is_Local_Name): Fix check in the case of a pragma appearing
972         immediately after a library unit.
973         (Analyze_Pragma, case Preelaborable_Initialization): Pragma may apply to
974         a formal derived type.
975
976 2010-10-22  Geert Bosch  <bosch@adacore.com>
977
978         * gcc-interface/Make-lang.in: Remove ttypef.ads
979         * checks.adb: Use Machine_Mantissa_Value and Machine_Radix_Value instead
980         of Machine_Mantissa and Machine_Radix.
981         * cstand.adb (P_Float_Range): Directly print the Type_Low_Bound and
982         Type_High_Bound of the type, instead of choosing constants from Ttypef.
983         (Set_Float_Bounds): Compute the bounds based on Machine_Radix_Value,
984         Machine_Emax_Value and Machine_Mantissa_Value instead of special-casing
985         each type.
986         * einfo.ads (Machine_Emax_Value, Machine_Emin_Value,
987         Machine_Mantissa_Value, Machine_Radix_Value, Model_Emin_Value,
988         Model_Epsilon_Value, Model_Mantissa_Value, Model_Small_Value,
989         Safe_Emax_Value, Safe_First_Value, Safe_Last_Value): Add new
990         synthesized floating point attributes.
991         * einfo.adb (Float_Rep): Determine the kind of floating point
992         representation used for a given type.
993         (Machine_Emax_Value, Machine_Emin_Value, Machine_Mantissa_Value,
994         Machine_Radix_Value): Implement based on Float_Rep_Kind of a type and
995         the number of digits in the type.
996         (Model_Emin_Value, Model_Epsilon_Value, Model_Mantissa_Value,
997         Model_Small_Value, Safe_Emax_Value, Safe_First_Value, Safe_Last_Value):
998         Implement new synthesized floating point attributes based on the various
999         machine attributes.
1000         * eval_fat.ads: Remove Machine_Mantissa and Machine_Radix.
1001         * eval_fat.adb (Machine_Mantissa, Machine_Radix): Remove. Use the
1002         Machine_Mantissa_Value and Machine_Radix_Value functions instead.
1003         * exp_vfpt.adb (VAXFF_Digits, VAXDF_Digits, VAXFG_Digits): Define local
1004         constants, instead of using constants from Ttypef.
1005         * gnat_rm.texi: Reword comments referencing Ttypef.
1006         * sem_attr.ads: Reword comment referencing Ttypef.
1007         * sem_attr.adb (Float_Attribute_Universal_Integer,
1008         Float_Attribute_Universal_Real): Remove.
1009         (Attribute_Machine_Emax, Attribute_Machine_Emin,
1010         Attribute_Machine_Mantissa, Attribute_Model_Epsilon,
1011         Attribute_Model_Mantissa, Attribute_Model_Small, Attribute_Safe_Emax,
1012         Attribute_Safe_First, Attribute_Safe_Last, Model_Small_Value): Use
1013         attributes in Einfo instead of Float_Attribute_Universal_Real and
1014         Float_Attribute_Universal_Integer and all explicit constants.
1015         * sem_util.ads, sem_util.adb (Real_Convert): Remove.
1016         * sem_vfpt.adb (VAXDF_Digits, VAXFF_Digits, VAXGF_Digits, IEEEL_Digits,
1017         IEEES_Digits): New local constants, in order to remove dependency on
1018         Ttypef.
1019         * tbuild.ads (Make_Float_Literal): New function.
1020         * tbuild.adb (Make_Float_Literal): New function to create a new
1021         N_Real_Literal, constructing it as simple as possible for best
1022         output of constants in -gnatS.
1023         * ttypef.ads: Remove.
1024
1025 2010-10-22  Robert Dewar  <dewar@adacore.com>
1026
1027         * checks.adb (Apply_Predicate_Check): Remove attempt at optimization
1028         when subtype is the same, caused legitimate checks to be missed.
1029         * exp_ch13.adb (Build_Predicate_Function): Use Nearest_Ancestor to get
1030         inheritance from right entity.
1031         * freeze.adb (Freeze_Entity): Use Nearest_Ancestor to freeze in the
1032         derived type case if the ancestor type has predicates.
1033         * sem_aux.ads, sem_aux.adb (Nearest_Ancestor): New function.
1034         * sem_prag.adb (Check_Enabled): Minor code reorganization.
1035
1036 2010-10-22  Arnaud Charlet  <charlet@adacore.com>
1037
1038         * gcc-interface/utils.c, gcc-interface/gigi.h: Minor reformatting.
1039
1040 2010-10-22  Thomas Quinot  <quinot@adacore.com>
1041
1042         * einfo.ads (Declaration_Node): Clarify documentation, in particular
1043         regarding what is returned for subprogram entities.
1044
1045 2010-10-22  Arnaud Charlet  <charlet@adacore.com>
1046
1047         * exp_attr.adb (Make_Range_Test): Generate a Range node instead of
1048         explicit comparisons, generates simpler expanded code.
1049         * a-except-2005.adb (Rcheck_06_Ext): New.
1050         * gcc-interface/trans.c (gigi, gnat_to_gnu): Handle validity checks
1051         like range checks.
1052         * gcc-interface/Make-lang.in: Update dependencies.
1053
1054 2010-10-22  Robert Dewar  <dewar@adacore.com>
1055
1056         * sem_ch3.adb (Array_Type_Declaration): Error for subtype wi predicate
1057         for index type
1058         (Constrain_Index): Error of subtype wi predicate in index constraint
1059         * sem_ch9.adb (Analyze_Entry_Declaration): Error of subtype wi
1060         predicate in entry family.
1061         * sem_res.adb (Resolve_Slice): Error of type wi predicate in slice.
1062
1063 2010-10-22  Javier Miranda  <miranda@adacore.com>
1064
1065         * sem_util.ads, sem_util.adb (Collect_Parents): New subprogram.
1066         (Original_Corresponding_Operation): New subprogram.
1067         (Visible_Ancestors): New subprogram.
1068         * sem_ch6.adb (New_Overloaded_Entity): Handle new case of dispatching
1069         operation that overrides a hidden inherited primitive.
1070         * sem_disp.adb (Find_Hidden_Overridden_Primitive): New subprogram.
1071         (Check_Dispatching_Operation): if the new dispatching operation
1072         does not override a visible primtive then check if it overrides
1073         some hidden inherited primitive.
1074
1075 2010-10-22  Ed Schonberg  <schonberg@adacore.com>
1076
1077         * sem_ch10.adb (Analyze_With_Clause): If the parent_unit_name in a with
1078         clause is a child unit that denotes a renaming, replace the
1079         parent_unit_name with a reference to the renamed unit, because the
1080         prefix is irrelevant to subsequent visibility..
1081
1082 2010-10-22  Robert Dewar  <dewar@adacore.com>
1083
1084         * einfo.ads, einfo.adb (Has_Predicates): Flag is now on all entities
1085         (simplifies code).
1086         * exp_ch13.adb (Build_Predicate_Function): Output info msgs for
1087         inheritance.
1088         * sem_ch13.adb (Analyze_Aspect_Specifications): Make sure we have a
1089         freeze node for entities for which a predicate is specified.
1090         (Analyze_Aspect_Specifications): Avoid duplicate calls
1091         * sem_ch3.adb (Analyze_Full_Type_Declaration): Remove attempt to avoid
1092         duplicate calls to Analye_Aspect_Specifications.
1093
1094 2010-10-22  Thomas Quinot  <quinot@adacore.com>
1095
1096         * a-exextr.adb, atree.ads, freeze.adb: Minor reformatting.
1097
1098 2010-10-21  Robert Dewar  <dewar@adacore.com>
1099
1100         * sem_ch3.adb: Minor reformatting.
1101
1102 2010-10-21  Thomas Quinot  <quinot@adacore.com>
1103
1104         * einfo.ads (Next_Girder_Discriminant): Remove obsolete description for
1105         removed routine.
1106
1107 2010-10-21  Nicolas Roche  <roche@adacore.com>
1108
1109         * gnatmem.adb, memroot.adb, memroot.ads, gmem.c,
1110         gcc-interface/Makefile.in: Remove gnatmem specific files.
1111
1112 2010-10-21  Thomas Quinot  <quinot@adacore.com>
1113
1114         * sem_res.adb, exp_ch13.adb: Minor reformatting.
1115
1116 2010-10-21  Thomas Quinot  <quinot@adacore.com>
1117
1118         * sem_ch3.adb (Check_Or_Process_Discriminant): Reject illegal attempt
1119         to provide a tagged full view as the completion of an untagged partial
1120         view if the partial view has a discriminant with default.
1121
1122 2010-10-21  Arnaud Charlet  <charlet@adacore.com>
1123
1124         * gcc-interface/Make-lang.in: Update dependencies.
1125
1126 2010-10-21  Robert Dewar  <dewar@adacore.com>
1127
1128         * checks.ads, checks.adb (Apply_Predicate_Check): New procedure
1129         Minor code reorganization.
1130         * einfo.adb (Has_Predicates): Fix assertion.
1131         * exp_ch13.adb (Build_Predicate_Function): Move from Sem_Ch13 spec to
1132         Exp_Ch13 body.
1133         (Expand_N_Freeze_Entity): Call build predicate function.
1134         * exp_ch4.adb (Expand_N_Type_Conversion): Add predicate check.
1135         * exp_ch5.adb (Expand_N_Assignment_Statement): Add predicate check.
1136         * exp_prag.adb (Expand_Pragma_Check): Use all lower case for name of
1137         check.
1138         * freeze.adb (Freeze_Entity): Move building of predicate function to
1139         Exp_Ch13.
1140         * sem_ch13.adb (Build_Predicate_Function): Move from Sem_Ch13 to
1141         Exp_Ch13.
1142         * sem_ch13.ads (Build_Predicate_Function): Move from Sem_Ch13 to
1143         Exp_Ch13.
1144         * sem_ch3.adb (Analyze_Declarations): Remove call to build predicate
1145         function.
1146         * sem_res.adb (Resolve_Actuals): Apply predicate check.
1147
1148 2010-10-21  Robert Dewar  <dewar@adacore.com>
1149
1150         * einfo.ads, einfo.adb: Replace Predicate_Procedure by
1151         Predicate_Functions.
1152         * exp_ch4.adb (Expand_N_In): Handle predicates.
1153         * exp_util.ads, exp_util.adb (Make_Predicate_Call): New function.
1154         (Make_Predicate_Check): New function.
1155         * freeze.adb (Freee_Entity): Build predicate function if needed.
1156         * sem_ch13.adb (Build_Predicate_Function): New procedure.
1157         (Analyze_Aspect_Specifications): No third argument for Predicate pragma
1158         built from Predicate aspect.
1159         * sem_ch13.ads (Build_Predicate_Function): New procedure.
1160         * sem_ch3.adb: Add handling for predicates.
1161         * sem_eval.adb (Eval_Membership_Op): Never static if predicate
1162         functions around.
1163         * sem_prag.adb (Analye_Pragma, case Predicate): Does not take a third
1164         argument.
1165
1166 2010-10-21  Robert Dewar  <dewar@adacore.com>
1167
1168         * einfo.ads, einfo.adb: Add handling of predicates.
1169         Rework handling of invariants.
1170         * exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_ch6.adb: Minor changes to
1171         handing of invariants.
1172         * par-prag.adb: Add dummy entry for pragma Predicate
1173         * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
1174         Predicate aspects.
1175         * sem_prag.adb: Add implementation of pragma Predicate.
1176         * snames.ads-tmpl: Add entries for pragma Predicate.
1177
1178 2010-10-21  Robert Dewar  <dewar@adacore.com>
1179
1180         * elists.adb: Minor reformatting.
1181
1182 2010-10-21  Geert Bosch  <bosch@adacore.com>
1183
1184         * urealp.adb (UR_Write): Write hexadecimal constants with exponent 1 as
1185         decimal constants, and write any others using the exponent notation.
1186         Minor reformatting throughout
1187         (Store_Ureal_Normalized): New function (minor code reorganization)
1188
1189 2010-10-21  Robert Dewar  <dewar@adacore.com>
1190
1191         * einfo.ads, xeinfo.adb: Minor reformatting.
1192         * s-stalib.ads: Minor comment fixes.
1193
1194 2010-10-21  Ed Schonberg  <schonberg@adacore.com>
1195
1196         * sem_ch6.adb (Enter_Overloaded_Entity): Refine warning message about
1197         hiding, to remove noise warnings about hiding predefined operators.
1198
1199 2010-10-21  Emmanuel Briot  <briot@adacore.com>
1200
1201         * g-comlin.adb (Add_Switch): Fix handling of switches with no separator
1202         when the parameter has length 1.
1203
1204 2010-10-21  Jose Ruiz  <ruiz@adacore.com>
1205
1206         * sem_prag.adb (Set_Ravenscar_Profile): Enforce the restrictions of no
1207         dependence on Ada.Execution_Time.Timers,
1208         Ada.Execution_Time.Group_Budget, and
1209         System.Multiprocessors.Dispatching_Domains which are part of the
1210         Ravenscar Profile.
1211         * impunit.adb (Non_Imp_File_Names_05): Add the file "a-etgrbu" to the
1212         list of Ada 2005 files for package Ada.Execution_Time.Group_Budgets.
1213         (Non_Imp_File_Names_12): Add the file "s-mudido" to the list of Ada 2012
1214         files for package System.Mutiprocessors.Dispatching_Domains.
1215
1216 2010-10-21  Tristan Gingold  <gingold@adacore.com>
1217
1218         * ug_words, vms_data.ads: Define the VMS qualifier for -gnateE.
1219
1220 2010-10-21  Thomas Quinot  <quinot@adacore.com>
1221
1222         * sem_ch3.ads (Process_Discriminants): Clarify cases where this is
1223         called for a completion.
1224
1225 2010-10-21  Geert Bosch  <bosch@adacore.com>
1226
1227         * uintp.ads: Expand image buffer to have enough room for 128-bit values
1228         * urealp.ads (UR_Write): Write constants in base 16 in hexadecimal
1229         notation; either as fixed point literal or in canonical radix 16
1230         floating point form.
1231
1232 2010-10-21  Robert Dewar  <dewar@adacore.com>
1233
1234         * a-cgaaso.ads, a-tags.ads, exp_ch3.adb, exp_attr.adb, exp_ch4.adb,
1235         exp_ch3.ads, exp_ch7.adb, exp_ch9.adb, exp_disp.adb, exp_disp.ads,
1236         exp_dist.adb, exp_util.adb, layout.adb, lib-xref.adb, lib.ads,
1237         prep.adb, prj-strt.adb, s-ststop.adb, s-taskin.ads, s-tataat.ads,
1238         sem_aggr.adb, sem_attr.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb,
1239         sem_ch4.ads, sem_ch5.adb, sem_res.adb, sem_util.adb, einfo.adb,
1240         g-sothco.ads, make.adb: Minor reformatting
1241
1242 2010-10-21  Vincent Celier  <celier@adacore.com>
1243
1244         * vms_data.ads: Add new qualifiers /SRC_INFO= and
1245         /UNCHECKED_SHARED_LIB_IMPORTS for GNAT COMPILE.
1246         Correct qualifier /SRC_INFO= for GNAT MAKE
1247
1248 2010-10-21  Ed Schonberg  <schonberg@adacore.com>
1249
1250         * exp_aggr.adb (Flatten): An association for a subtype may be an
1251         expanded name.
1252         (Safe_Left_Hand_Side): An unchecked conversion is part of a safe
1253         left-hand side if the expression is.
1254         (Is_Safe_Index): new predicate
1255         * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Indicate that the
1256         generated Rep_To_Pos function is a Pure_Function.
1257
1258 2010-10-21  Robert Dewar  <dewar@adacore.com>
1259
1260         * gnat_rm.texi: Document Invariant pragma.
1261
1262 2010-10-21  Javier Miranda  <miranda@adacore.com>
1263
1264         * exp_ch5.adb: Update comment.
1265
1266 2010-10-21  Robert Dewar  <dewar@adacore.com>
1267
1268         * sem_ch13.adb (Build_Invariant_Procedure): Remove commented out code
1269         for interfaces, since invariants are not allowed on interfaces in any
1270         case.
1271
1272 2010-10-21  Javier Miranda  <miranda@adacore.com>
1273
1274         * sem_attr.adb (Resolve_Attribute): After replacing the range attribute
1275         node with a range expression ensure that its evaluation will not have
1276         side effects.
1277         * exp_ch5.adb (Expand_Assign_Array): Propagate the Parent to the
1278         unchecked conversion node generated to handle assignment of private
1279         types. Required to allow climbing the subtree if Insert_Action is
1280         invoked later.
1281
1282 2010-10-21  Robert Dewar  <dewar@adacore.com>
1283
1284         * par-ch3.adb (P_Interface_Type_Definition): Allow for possibility of
1285         aspect clause presence terminating the type definition.
1286
1287 2010-10-21  Robert Dewar  <dewar@adacore.com>
1288
1289         * exp_ch4.adb, exp_intr.adb, par-ch4.adb, scn.adb, sem_ch4.adb,
1290         sem_res.adb, sem_util.adb, sinfo.ads, a-except-2005.adb: Minor
1291         reformatting.
1292         * snames.ads-tmpl: Add note on Name_Some (not a reserved keyword).
1293
1294 2010-10-21  Geert Bosch  <bosch@adacore.com>
1295
1296         * ttypef.ads: Further cleanup of Safe_XXX float attributes.
1297
1298 2010-10-19  Ed Schonberg  <schonberg@adacore.com>
1299
1300         * exp_ch4.adb, exp_ch4.ads (Expand_Quantified_Expression): New procedure
1301         * exp_util.adb (Insert_Actions): Include Quantified_Expression.
1302         * expander.adb: Call Expand_Qualified_Expression.
1303         * par.adb: New procedure P_Quantified_Expression. Make
1304         P_Loop_Parameter_Specification global for use in quantified expressions.
1305         * par-ch3.adb (P_Subtype_Mark_Resync): Allow "some" as an identifier if
1306         version < Ada2012.
1307         * par-ch4.adb: New procedure P_Quantified_Expression.
1308         * par-ch5.adb: P_Loop_Parameter_Specification is now global.
1309         * scans.adb, scans.ads: Introduce token Some. For now leave as
1310         unreserved.
1311         * scn.adb (Scan_Reserved_Identifier): For earlier versions of Ada,
1312         treat Some as a regular identifier.
1313         * sem.adb: Call Analyze_Quantified_Expression.
1314         * sem_ch4.adb, sem_ch4.ads: New procedure Analyze_Quantified_Expression.
1315         * sem_ch5.adb, sem_ch5.ads: Analyze_Iteration_Scheme is public, for use
1316         in quantified expressions.
1317         * sem_res.adb: New procedure Resolve_Qualified_Expression.
1318         * sinfo.adb, sinfo.ads: New node N_Quantified_Expression
1319         * snames.ads-tmpl: New name Some.
1320         * sprint.adb: Output quantified_expression.
1321
1322 2010-10-19  Robert Dewar  <dewar@adacore.com>
1323
1324         * a-exexda.adb: Minor reformatting
1325         Minor code reorganization.
1326
1327 2010-10-19  Robert Dewar  <dewar@adacore.com>
1328
1329         * sem_eval.adb: Minor reformatting.
1330
1331 2010-10-19  Tristan Gingold  <gingold@adacore.com>
1332
1333         * exp_ch4.adb (Expand_N_And_Op, Expand_N_Or_Op, Expand_N_Xor_Op): Call
1334         Expand_Intrinsic_Call if the function is intrinsic.
1335         * exp_intr_adb (Expand_Binary_Operator): Handle VMS case for logical
1336         binary operator on the unsigned_quadword record.
1337         * exp_intr.ads (Expand_Intrinsic_Call): Update comments.
1338
1339 2010-10-19  Geert Bosch  <bosch@adacore.com>
1340
1341         * gnat_rm.texi (pragma Float_Representation): Fix typo.
1342
1343 2010-10-19  Arnaud Charlet  <charlet@adacore.com>
1344
1345         * switch-c.adb (Scan_Front_End_Switches): Add handling of -gnateE.
1346         * fe.h (Exception_Extra_Info): Declare.
1347         * usage.adb (usage): Add -gnateE doc.
1348         * checks.adb (Install_Null_Excluding_Check): Use better sloc.
1349         * sem_util.adb (Insert_Explicit_Dereference): Ditto.
1350         * gnat_ugn.texi: Document -gnateE switch.
1351         * a-except.adb (Set_Exception_C_Msg): New parameter Column.
1352         * a-except-2005.adb (Set_Exception_C_Msg): New parameter Column.
1353         (Raise_Constraint_Error_Msg): Ditto.
1354         (Image): New helper function.
1355         (Rcheck_00_Ext, Rcheck_05_Ext, Rcheck_12_Ext): New procedure with more
1356         detailed exception information.
1357         Adjust calls to Set_Exception_C_Msg and Raise_Constraint_Error_Msg.
1358         * a-exexda.adb (Set_Exception_C_Msg): New parameter Column.
1359         * opt.ads (Exception_Extra_Info): New flag.
1360         * gcc-interface/utils.c (gnat_raise_decls_ext): New.
1361         * gcc-interface/utils2.c (build_call_raise_range,
1362         build_call_raise_column): New functions.
1363         * gcc-interface/gigi.h (exception_info_kind, gnat_raise_decls_ext,
1364         build_call_raise_range, build_call_raise_column): Declare.
1365         gcc-interface/trans.c (build_raise_check): New function.
1366         (gigi): Initialize gnat_raise_decls_ext.
1367         (gnat_to_gnu): Add initial support for -gnateE switch.
1368         * gcc-interface/Make-lang.in: Update dependencies.
1369
1370 2010-10-19  Geert Bosch  <bosch@adacore.com>
1371
1372         * ttypef.ads: Change VAXDF_Last to be -VAXDF_First, as type is
1373         symmetric.
1374
1375 2010-10-19  Robert Dewar  <dewar@adacore.com>
1376
1377         * atree.h (Field29): Fix incorrect definition.
1378         * einfo.adb (Invariant_Procedure): New attribute
1379         (Has_Invariants): New flag
1380         (Has_Inheritable_Invariants): New flag
1381         (OK_To_Reference): New flag
1382         Minor code reorganization (use Next_Rep_Item function)
1383         * einfo.ads (Invariant_Procedure): New attribute
1384         (Has_Invariants): New flag
1385         (Has_Inheritable_Invariants): New flag
1386         (OK_To_Reference): New flag
1387         * exp_ch3.adb (Expand_N_Object_Declaration): Add check for invariant
1388         * exp_ch4.adb (Expand_N_Type_Conversion): Check invariant on type
1389         conversion.  Minor reformatting.
1390         * exp_util.ads, exp_util.adb (Make_Invariant_Call): New procedure.
1391         * opt.ads (List_Inherited_Aspects): New name for List_Inherited_Pre_Post
1392         * par-prag.adb: Add dummy entry for pragma Invariant.
1393         * sem_ch13.adb (Build_Invariant_Procedure): New procedure
1394         (Analyze_Aspect_Specification): Add support for Invariant aspect
1395         * sem_ch13.ads (Build_Invariant_Procedure): New procedure
1396         * sem_ch3.adb (Build_Derived_Type): Propagate invariant information
1397         (Process_Full_View): Deal with invariants, building invariant procedure
1398         Minor reformatting
1399         * sem_ch6.adb (Process_PPCs): Add processing of invariants
1400         * sem_ch7.adb (Analyze_Package_Specification): Build invariant
1401         procedures.
1402         * sem_prag.adb: Implement pragma Invariant.
1403         * sem_res.adb (Resolve_Entity_Name): Allow type reference if
1404         OK_To_Reference set.
1405         * sem_warn.adb (List_Inherited_Aspects): New name for
1406         List_Inherited_Pre_Post.
1407         * snames.ads-tmpl: Add entries for pragma Invariant.
1408         * treepr.adb (Print_Entity_Information): Add handling of Field29.
1409         * usage.adb: Warning .l/.L applies to invariant as well as pre/post.
1410
1411 2010-10-19  Javier Miranda  <miranda@adacore.com>
1412
1413         * par-ch4.adb: Update documentation of Ada 2012 syntax rules for
1414         membership test.
1415
1416 2010-10-19  Bob Duff  <duff@adacore.com>
1417
1418         * sem_attr.adb (Eval_Attribute): Implement Max_Alignment_For_Allocation
1419         attribute.
1420         * exp_attr.adb (Expand_N_Attribute_Reference): Add
1421         Attribute_Max_Alignment_For_Allocation to the case statement.
1422         * snames.ads-tmpl (Name_Max_Alignment_For_Allocation,
1423         Attribute_Max_Alignment_For_Allocation): New attribute name.
1424
1425 2010-10-19  Ed Schonberg  <schonberg@adacore.com>
1426
1427         * sem_ch3.adb (OK_For_Limited_Init_In_05): a call to an access to
1428         parameterless function appears syntactically as an explicit dereference.
1429
1430 2010-10-19  Thomas Quinot  <quinot@adacore.com>
1431
1432         * sem_ch8.adb, sem_ch12.adb, opt.ads, sem_ch6.adb, sem_res.adb,
1433         i-cexten.ads, exp_disp.adb, exp_ch4.adb, exp_ch9.adb: Minor reformatting
1434
1435 2010-10-19  Thomas Quinot  <quinot@adacore.com>
1436
1437         * sem_util.adb (Collect_Primitive_Operations): A function with an
1438         anonymous access result designating T is a primitive operation of T.
1439
1440 2010-10-19  Tristan Gingold  <gingold@adacore.com>
1441
1442         * init.c: On Alpha/VMS, only adjust PC for HPARITH.
1443
1444 2010-10-19  Tristan Gingold  <gingold@adacore.com>
1445
1446         * sem_attr.adb (Eval_Attribute): Handle Attribute_Ref, which can be
1447         evaluated on VMS.
1448
1449 2010-10-19  Ed Schonberg  <schonberg@adacore.com>
1450
1451         * sem_ch12.adb (Check_Generic_Child_Unit): Handle properly the case of
1452         an instantiation of a renaming of the implicit generic child that
1453         appears within an instance of its parent.
1454
1455 2010-10-19  Thomas Quinot  <quinot@adacore.com>
1456
1457         * exp_ch9.adb: Minor reformatting.
1458         * einfo.adb, einfo.ads, atree.adb, atree.ads, exp_dist.adb, atree.h:
1459         (Referenced_Object): Remove unused entity attribute.
1460         (Direct_Primitive_Operations): Move to Elist10, this is set for all
1461         tagged types, including synchronous ones, so can't use field15 which is
1462         used as Storage_Size_Variable for task types and Entry_Bodies_Array for
1463         protected types.
1464         (Add_RACW_Primitive_Declarations_And_Bodies): Remove bogus guard
1465         against Concurrent_Types (we must handle the case of a RACW designating
1466         a class-wide private synchronous type).
1467         Use Direct_Primitive_Operations, not Primitive_Operations, since we
1468         really want the former.
1469
1470 2010-10-19  Bob Duff  <duff@adacore.com>
1471
1472         * sem_ch8.adb (Pop_Scope): Change "return;" to "raise Program_Error;".
1473
1474 2010-10-19  Javier Miranda  <miranda@adacore.com>
1475
1476         * exp_ch4.adb (Expand_Set_Membership.Make_Cond): Add missing support
1477         for N_Range nodes.
1478
1479 2010-10-19  Thomas Quinot  <quinot@adacore.com>
1480
1481         * einfo.ads, atree.ads: Minor comment fixes.
1482
1483 2010-10-18  Bob Duff  <duff@adacore.com>
1484
1485         * sinfo.ads, sinfo.adb: Modify comment about adding fields to be more
1486         correct, and to be in a more convenient order.
1487         (Default_Storage_Pool): New field of N_Compilation_Unit_Aux, for
1488         recording the Default_Storage_Pool for a parent library unit.
1489         * einfo.ads (Etype): Document the case in which Etype can be Empty.
1490         * sem_prag.adb (Pragma_Default_Storage_Pool): Analyze the new
1491         Default_Storage_Pool pragma.
1492         * sem.ads (Save_Default_Storage_Pool): Save area for push/pop scopes.
1493         * gnat_ugn.texi: Document Default_Storage_Pool as a new configuration
1494         pragma.
1495         * freeze.adb (Freeze_Entity): When freezing an access type, take into
1496         account any Default_Storage_Pool pragma that applies. We have to do
1497         this at the freezing point, because up until that point, a Storage_Pool
1498         or Storage_Size clause could occur, which should override the
1499         Default_Storage_Pool.
1500         * par-prag.adb: Add this pragma to the list of pragmas handled entirely
1501         during semantics.
1502         * sem_ch8.adb (Push_Scope, Pop_Scope): Save and restore the
1503         Default_Storage_Pool information.
1504         * opt.ads (Default_Pool, Default_Pool_Config): New globals for recording
1505         currently-applicable Default_Storage_Pool pragmas.
1506         * opt.adb: Save/restore the globals as appropriate.
1507         * snames.ads-tmpl (Name_Default_Storage_Pool,
1508         Pragma_Default_Storage_Pool): New pragma name.
1509
1510 2010-10-18  Vincent Celier  <celier@adacore.com>
1511
1512         * make.adb (Switches_Of): Put the spec and body suffix in canonical
1513         case.
1514
1515 2010-10-18  Ed Schonberg  <schonberg@adacore.com>
1516
1517         * sem_ch13.adb (Analyze_Aspect_Specifications): If subprogram is at the
1518         library level, the pre/postconditions must be treated as global
1519         declarations, i.e. placed on the Aux_Decl nodes of the compilation unit.
1520         * freeze.adb (Freeze_Expression): If the expression is at library level
1521         there is no enclosing record to check.
1522
1523 2010-10-18  Javier Miranda  <miranda@adacore.com>
1524
1525         * sem_ch3.ads (Find_Type_Name): Add documentation.
1526         * sem_ch3.adb (Analyze_Full_Type_Declaration): Code cleanup because the
1527         propagation of the class-wide entity is now done by routine
1528         Find_Type_Name to factorize this code.
1529         (Analyze_Private_Extension_Declaration): Handle private type that
1530         completes an incomplete type.
1531         (Tag_Mismatch): Add error message for tag mismatch in a private type
1532         declaration that completes an incomplete type.
1533         (Find_Type_Name): Handle completion of incomplete type by means of
1534         a private declaration. Generate an error if a tagged incomplete type
1535         is completed by an untagged private type.
1536         * sem_ch7.adb (New_Private_Type): Handle private type that completes an
1537         incomplete type.
1538         * einfo.ads (Full_View): Add documentation.
1539
1540 2010-10-18  Ed Schonberg  <schonberg@adacore.com>
1541
1542         * sem_ch12.adb (Analyze_Formal_Package_Declaration): If the package is
1543         a renaming, generate a reference for it before analyzing the renamed
1544         entity, to prevent spurious warnings.
1545
1546 2010-10-18  Jose Ruiz  <ruiz@adacore.com>
1547
1548         * adaint.c (__gnat_pthread_setaffinity_np,
1549         __gnat_pthread_attr_setaffinity_np): Remove wrappers, no longer needed.
1550         * s-osinte-linux.ads (pthread_setaffinity_np,
1551         pthread_attr_setaffinity_np): Remove use of wrappers.
1552         * s-taprop-linux.adb (Create_Task, Initialize): Restore check to verify
1553         whether the affinity functionality is available in the OS.
1554         * gcc-interface/utils.c: Set TREE_STATIC on functions only when there
1555         are defined.
1556
1557 2010-10-18  Robert Dewar  <dewar@adacore.com>
1558
1559         * einfo.ads, einfo.adb: Minor reformatting.
1560         * gnat_ugn.texi, ug_words: Add missing entries, fix typos.
1561
1562 2010-10-18  Emmanuel Briot  <briot@adacore.com>
1563
1564         * g-comlin.adb (Is_In_Config): When the switch accepts either a space
1565         or equal, we output an equal every time.
1566
1567 2010-10-18  Ed Schonberg  <schonberg@adacore.com>
1568
1569         * sem_res.adb (Resolve_Entry_Call): Handle call to an entry family
1570         member when pre/post conditions are present.
1571         * exp_ch9.adb (Build_PPC_Wrapper): The PPC_Wrapper for an entry family
1572         includes an index parameter, and the name of the enclosed entry call is
1573         an indexed component.
1574
1575 2010-10-18  Robert Dewar  <dewar@adacore.com>
1576
1577         * einfo.ads, einfo.adb: Minor reformatting.
1578
1579 2010-10-18  Jose Ruiz  <ruiz@adacore.com>
1580
1581         * adaint.c (__gnat_pthread_setaffinity_np,
1582         __gnat_pthread_attr_setaffinity_np): Add these wrappers which check the
1583         availability of the underlying OS functionality before calling.
1584         * s-osinte-linux.ads (pthread_setaffinity_np,
1585         pthread_attr_setaffinity_np): Call a wrapper instead of the OS function
1586         to perform a check of its availability.
1587         * s-taprop-linux.adb (Create_Task): Remove the check to verify whether
1588         the affinity functionality is available in the OS. Now done in a wrapper
1589         * gcc-interface/Makefile.in: Remove vmshandler.asm, unused.
1590         * gcc-interface/Make-lang.in: Update dependencies.
1591
1592 2010-10-18  Robert Dewar  <dewar@adacore.com>
1593
1594         * sinfo.ads, sinfo.adb: Change Has_Pragma_CPU to Flag14 (Flag10 is
1595         standard field).
1596
1597 2010-10-18  Robert Dewar  <dewar@adacore.com>
1598
1599         * s-stausa.adb, s-taprop-linux.adb, s-taprop-mingw.adb, s-tassta.ads:
1600         Minor reformatting.
1601
1602 2010-10-18  Robert Dewar  <dewar@adacore.com>
1603
1604         * exp_strm.adb (Build_Elementary_Input_Call): Check
1605         No_Default_Stream_Attributes.
1606         (Build_Elementary_Write_Call): Check No_Default_Stream_Attributes
1607         * s-rident.ads: Add restriction No_Default_Stream_Attributes
1608         Put restriction No_Allocators_After_Elaboration in alpha order
1609
1610 2010-10-18  Jose Ruiz  <ruiz@adacore.com>
1611
1612         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add field corresponding
1613         to the affinity when expanding the task declaration.
1614         (Make_Task_Create_Call): Add the affinity parameter to the call to
1615         create task.
1616         * sem_prag.adb (Analyze_Pragma): Add the analysis for pragma CPU,
1617         taking into account the case when it applies to a subprogram (only for
1618         main and with static expression) or to a task.
1619         * par_prag.adb:(Prag): Make pragma CPU a valid one.
1620         * snames.ads-tmpl (Name_uCPU, Name_CPU): Add these new name identifiers
1621         used by the expander for handling the affinity parameter when creating
1622         a task.
1623         (Pragma_Id): Add Pragma_CPU as a valid one.
1624         * rtsfind.ads (RTU_Id): Make System_Multiprocessors accesible.
1625         (RE_Id, RE_Unit_Table): Make the entities RE_CPU_Range and
1626         RE_Unspecified_CPU visible.
1627         * sinfo.ads, sinfo.adb (Has_Pragma_CPU, Set_Has_Pragma_CPU): Add these
1628         two subprograms to set/get the flag indicating whether there is a
1629         pragma CPU which applies to the entity.
1630         * lib.ads, lib.adb (Unit_Record, Default_Main_CPU, Main_CPU,
1631         Set_Main_CPU): Add the field Main_CPU to Unit_Record to store the value
1632         of the affinity associated to the main subprogram (if any).
1633         Default_Main_CPU is used when no affinity is set. Subprograms
1634         Set_Main_CPU and Main_CPU are added to set/get the affinity of the main
1635         subprogram.
1636         * ali.ads, ali.adb (ALIs_Record): Add field Main_CPU to contain the
1637         value of the affinity of the main subprogram.
1638         (Scan_ALI): Get the affinity of the main subprogram (encoded as C=XX in
1639         the M line).
1640         * lib-writ.ads, lib-writ.adb (M_Parameters): Encode the affinity of the
1641         main subprogram in the M (main) line using C=XX.
1642         * lib-load.adb (Create_Dummy_Package_Unit, Load_Main_Source,
1643         Load_Unit): Add new field Main_CPU.
1644         * bindgen.adb (Gen_Adainit_Ada, Gen_Adainit_C): Add the code to pass
1645         the affinity of the main subprogram to the run time.
1646         * s-taskin.ads (Common_ATCB): Add the field Base_CPU to store the
1647         affinity.
1648         (Unspecified_CPU): Add this constant to identify the case when no
1649         affinity is set for tasks.
1650         * s-taskin.adb (Initialize_ATCB): Store the value coming from pragma
1651         CPU in the common part of the ATCB.
1652         (Initialize): Store the value coming from pragma CPU (for the
1653         environment task) in the common part of the ATCB.
1654         * s-tassta.ads, s-tassta.adb (Create_Task): Add the affinity specified
1655         by pragma CPU to the ATCB.
1656         * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add the affinity
1657         specified by pragma CPU to the ATCB.
1658         * s-tporft.adb (Register_Foreign_Thread): Add the new affinity
1659         parameter to the call to Initialize_ATCB.
1660         * s-taprop-linux.adb (Create_Task): Change the attributes of the thread
1661         to include the task affinity before creation. Additionally, the
1662         affinity selected with Task_Info is also enforced changing the
1663         attributes at task creation time, instead of changing it after creation.
1664         (Initialize): Change the affinity of the environment task if required
1665         by a pragma CPU.
1666         * s-osinte-linux.ads (pthread_setaffinity_np): Instead of using a
1667         wrapper to check whether the function is available or not, use a weak
1668         symbol.
1669         (pthread_attr_setaffinity_np): Add the import of this function which is
1670         used to change the affinity in the attributes used to create a thread.
1671         * adaint.c (__gnat_pthread_attr_setaffinity_np): Remove this wrapper.
1672         It was used to check whether the pthread function was available or not,
1673         but the use of a weak symbol handles this situation in a cleaner way.
1674         * s-taprop-mingw.adb (Create_Task, Initialize): Change the affinity of
1675         tasks (including the environment task) if required by a pragma CPU.
1676         * s-taprop-solaris.adb (Enter_Task): Change the affinity of tasks
1677         (including the environment task) if required by a pragma CPU.
1678         * s-taprop-vxworks.adb (Create_Task, Initialize): Change the affinity
1679         of tasks (including the environment task) if required by a pragma CPU.
1680         * init.c (__gl_main_cpu): Make this value visible to the run time. It
1681         will pass the affinity of the environment task.
1682
1683 2010-10-18  Javier Miranda  <miranda@adacore.com>
1684
1685         * einfo.adb (Direct_Primitive_Operations): Complete assertion.
1686
1687 2010-10-18  Vincent Celier  <celier@adacore.com>
1688
1689         * prj.ads (Source_Data): New Boolean flag In_The_Queue.
1690
1691 2010-10-18  Tristan Gingold  <gingold@adacore.com>
1692
1693         * s-stausa.ads: Add the Top parameter to Initialize_Analyzer.
1694         * s-stausa.adb: Use the top parameter.  In Fill_Stack, use the
1695         stack top if known.
1696         * s-tassta.adb (Task_Wrapper): Call Initialize_Analyzer after Enter_Task
1697         so that Pri_Stack_Info.Limit can be set and used.
1698
1699 2010-10-18  Robert Dewar  <dewar@adacore.com>
1700
1701         * einfo.ads: Minor reformatting.
1702         * sem_res.adb (Resolve_Allocator): Add test for violating
1703         No_Anonymous_Allocators.
1704
1705 2010-10-18  Robert Dewar  <dewar@adacore.com>
1706
1707         * prj-nmsc.adb, prj.adb, sem_res.adb: Minor reformatting.
1708
1709 2010-10-18  Ed Schonberg  <schonberg@adacore.com>
1710
1711         * sem_util.adb (Insert_Explicit_Dereference): If operand is a selected
1712         component, we generate a reference to the ultimate prefix when it is an
1713         entity name. We must place the reference on the identifier for that
1714         prefix, and not on the operand itself, to prevent spurious extra
1715         references in the ali file.
1716
1717 2010-10-18  Vincent Celier  <celier@adacore.com>
1718
1719         * projects.texi: Add documentation for attribute Ignore_Source_Sub_Dirs
1720
1721 2010-10-18  Ed Schonberg  <schonberg@adacore.com>
1722
1723         * einfo.ads, einfo.adb: New attribute PPC_Wrapper for entries and entry
1724         families. Denotes a procedure that performs pre/postcondition checks
1725         and then performs the entry call.
1726         * sem_res.adb (Resolve_Entry_Call): If the entry has
1727         pre/postconditions, replace call with a call to the PPC_Wrapper of the
1728         entry.
1729         * exp_ch9.adb (Build_PPC_Wrapper): new procedure.
1730         (Expand_N_Entry_Declaration, Expand_N_Protected_Type_Declaration): call
1731         Build_PPC_Wrapper for all entries in task and protected definitions.
1732
1733 2010-10-18  Tristan Gingold  <gingold@adacore.com>
1734
1735         * init.c: Add __gnat_set_stack_guard_page and __gnat_set_stack_limit.
1736         Implement stack limitation on VMS.
1737         Minor reformatting.
1738
1739 2010-10-18  Vincent Celier  <celier@adacore.com>
1740
1741         * prj.adb (Is_Compilable): Do not modify Source.Compilable until the
1742         source record has been initialized.
1743
1744 2010-10-18  Robert Dewar  <dewar@adacore.com>
1745
1746         * einfo.adb: Minor code reorganization (Primitive_Operations is a
1747         synthesized attribute routine and was in the wrong place).
1748
1749 2010-10-18  Tristan Gingold  <gingold@adacore.com>
1750
1751         * init.c: Indentation, and minor changes to more closely follow GNU
1752         style rules.  Make more variable statics.
1753
1754 2010-10-18  Vincent Celier  <celier@adacore.com>
1755
1756         * prj.adb (Is_Compilable): On first call for a source, cache value in
1757         component Compilable.
1758         * prj.ads (Source_Data): New component Compilable, to cache the value
1759         returned by function Is_Compilable.
1760
1761 2010-10-18  Vincent Celier  <celier@adacore.com>
1762
1763         * prj-attr.adb: New project level attribute Ignore_Source_Sub_Dirs.
1764         * prj-nmsc.adb (Expand_Subdirectory_Pattern): New string list parameter
1765         Ignore.
1766         (Recursive_Find_Dirs): Do not consider subdirectories listed in Ignore.
1767         (Get_Directories): Call Find_Source_Dirs with the string list
1768         indicated by attribute Ignore_Source_Sub_Dirs.
1769         * snames.ads-tmpl: New standard name Ignore_Source_Sub_Dirs.
1770
1771 2010-10-18  Javier Miranda  <miranda@adacore.com>
1772
1773         * einfo.ads, einfo.adb (Primitive_Operations): New synthesized
1774         attribute.
1775         (Direct_Primitive_Operations): Renaming of old Primitive_Operations.
1776         (Set_Direct_Primitive_Operations): Renaming of old
1777         Set_Primitive_Operations. Update documentation
1778         * sem_ch3.adb, exp_util.adb, sem_ch7.adb, sem_ch8.adb, exp_ch3.adb:
1779         Replace occurrences of Set_Primitive_Operations by
1780         Set_Direct_Primitive_Operations.
1781         * sem_cat.adb (Validate_RACW_Primitives): No action needed for tagged
1782         concurrent types.
1783         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
1784         process primitives of concurrent types.
1785         * lib-xref.adb (Generate_Prim_Op_References): Minor code cleanup.
1786
1787 2010-10-18  Eric Botcazou  <ebotcazou@adacore.com>
1788
1789         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Use Freeze_Before.
1790         (Expand_Protected_Object_Reference): Likewise.
1791         * sem_attr.adb (Resolve_Attribute): Likewise.
1792         * sem_ch3.adb (Analyze_Subtype_Declaration): Likewise.
1793         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
1794
1795 2010-10-18  Arnaud Charlet  <charlet@adacore.com>
1796
1797         * g-comlin.adb (Get_Switches): Prevent dereferencing null Config.
1798
1799 2010-10-18  Robert Dewar  <dewar@adacore.com>
1800
1801         * aspects.ads, aspects.adb: Add entries for aspects
1802         Read/Write/Input/Output.
1803         * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
1804         handling aspects Read/Write/Input/Output.
1805
1806 2010-10-18  Robert Dewar  <dewar@adacore.com>
1807
1808         * sem_util.adb (Note_Possible_Modification): Do not give warning for
1809         use of pragma Unmodified unless we are sure this is a modification.
1810
1811 2010-10-18  Tristan Gingold  <gingold@adacore.com>
1812
1813         * sysdep.c: Add __gnat_get_stack_bounds.
1814         * s-taprop-mingw.adb Call __gnat_get_stack_bounds to set Pri_Stack_Info.
1815
1816 2010-10-18  Robert Dewar  <dewar@adacore.com>
1817
1818         * a-assert.ads: Fix bad name in header.
1819         * sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch10.adb: Minor
1820         reformatting.
1821         * exp_aggr.adb: Fix typo in comment.
1822
1823 2010-10-18  Javier Miranda  <miranda@adacore.com>
1824
1825         * exp_util.adb (Side_Effect_Free): Code clean up.
1826
1827 2010-10-18  Ed Schonberg  <schonberg@adacore.com>
1828
1829         * sem_ch8.adb (Is_Primitive_Operator_In_Use): Renamed from
1830         Is_Primitive_Operator. When ending the scope of a use package scope, a
1831         primitive operator remains in use if the base type has a current use
1832         (type) clause.
1833
1834 2010-10-18  Javier Miranda  <miranda@adacore.com>
1835
1836         * einfo.ads (Is_Dynamic_Support): Add missing support for limited
1837         private types whose full-view is a task type.
1838         * sem_util.adb (Enclosing_Subprogram): Add missing support for limited
1839         private types whose full-view is a task type.
1840         * exp_ch7.adb (Find_Final_List): Minor code cleanup replacing code by
1841         function Nearest_Dynamic_Scope which provides the needed functionality.
1842
1843 2010-10-18  Arnaud Charlet  <charlet@adacore.com>
1844
1845         * sem_prag.adb (Set_Exported): Do not generate error when exporting a
1846         variable with an address clause in codepeer mode.
1847
1848 2010-10-18  Robert Dewar  <dewar@adacore.com>
1849
1850         * g-trasym-vms-ia64.adb: Minor reformatting.
1851
1852 2010-10-18  Thomas Quinot  <quinot@adacore.com>
1853
1854         * sem_type.adb (Covers): If either argument is Standard_Void_Type and
1855         the other isn't, return False early.
1856
1857 2010-10-18  Ed Falis  <falis@adacore.com>
1858
1859         * s-vxwext-rtp.ads, s-vxext-rtp.adb: Adapt for missing APIs for RTPs in
1860         VxWorks Cert.
1861
1862 2010-10-18  Robert Dewar  <dewar@adacore.com>
1863
1864         * sem_disp.ads: Minor comment update.
1865
1866 2010-10-18  Robert Dewar  <dewar@adacore.com>
1867
1868         * einfo.ads, einfo.adb (Spec_PPC_List): Is now present in Entries
1869         * sem_ch3.adb (Analyze_Declarations): Add processing for delaying
1870         visibility analysis of precondition and postcondition pragmas (and
1871         Pre/Post aspects).
1872         * sem_ch6.adb (Process_PPCs): Add handling of inherited Pre'Class
1873         aspects.
1874         * sem_ch7.adb (Analyze_Package_Specification): Remove special handling
1875         of pre/post conditions (no longer needed).
1876         * sem_disp.adb (Inherit_Subprograms): Deal with interface case.
1877         * sem_prag.adb (Analyze_PPC_In_Decl_Part): Remove analysis of message
1878         argument, since this is now done in the main processing for
1879         pre/postcondition pragmas when they are first seen.
1880         (Chain_PPC): Pre'Class and Post'Class now handled properly
1881         (Chain_PPC): Handle Pre/Post aspects for entries
1882         (Check_Precondition_Postcondition): Handle entry declaration case
1883         (Check_Precondition_Postcondition): Handle delay of visibility analysis
1884         (Check_Precondition_Postcondition): Preanalyze message argument if
1885         present.
1886
1887 2010-10-18  Robert Dewar  <dewar@adacore.com>
1888
1889         * g-trasym-vms-ia64.adb, prj-nmsc.adb, prj.ads: Minor reformatting.
1890
1891 2010-10-14  Eric Botcazou  <ebotcazou@adacore.com>
1892
1893         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set
1894         TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
1895         * gcc-interface/trans.c (Identifier_to_gnu): Set TREE_THIS_NOTRAP on
1896         the INDIRECT_REF node built for objects used by reference.
1897         * gcc-interface/utils2.c (build_binary_op): Add short-circuit for
1898         constant result. Set TREE_THIS_NOTRAP on ARRAY_REF and ARRAY_RANGE_REF.
1899         (gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.
1900
1901 2010-10-13  Richard Henderson  <rth@redhat.com>
1902
1903         * gcc-interface/misc.c (gnat_eh_personality): Update call to
1904         build_personality_function.
1905         * raise-gcc.c (PERSONALITY_FUNCTION): Change to match other languages;
1906         use__gnat_personality_{v,sj}0.
1907
1908 2010-10-12  Vincent Celier  <celier@adacore.com>
1909
1910         * prj-nmsc.adb (Add_Source): Put source in hash table Source_Files_HT
1911         (Process_Exceptions_File_Based): Use hash table Source_Files_HT instead
1912         of iterating through all sources of the project.
1913         * prj.adb (Free): Reset hash table Source_Files_HT
1914         (Reset): Reset hash table Source_Files_HT
1915         * prj.ads (Source_Data): New component Next_With_File_Name
1916         (Source_Files_Htable): New hash table
1917         (Project_Tree_Data): New component Source_Files_HT
1918
1919 2010-10-12  Tristan Gingold  <gingold@adacore.com>
1920
1921         * g-trasym-vms-ia64.adb: Use the documented API.
1922         * gcc-interface/Makefile.in: Always set NO_REORDER_ADAFLAGS.
1923         * gcc-interface/Make-lang.in: Update dependencies.
1924
1925 2010-10-12  Thomas Quinot  <quinot@adacore.com>
1926
1927         * rtsfind.ads, exp_dist.adb, exp_dist.ads (Build_General_Calling_Stubs,
1928         PolyORB case): Request is now a controlled type: we can declare the
1929         request on the stack, and we do not need explicit cleanup actions
1930         anymore.
1931
1932 2010-10-12  Bob Duff  <duff@adacore.com>
1933
1934         * s-rident.ads (Profile_Info): This variable is now constant.
1935
1936 2010-10-12  Emmanuel Briot  <briot@adacore.com>
1937
1938         * g-comlin.adb, g-comlin.ads (Define_Switch): Put back (unused)
1939         parameter Separator for backward compatibility.
1940
1941 2010-10-12  Robert Dewar  <dewar@adacore.com>
1942
1943         * sem_ch9.adb, par-ch9.adb, impunit.adb: Minor reformatting.
1944
1945 2010-10-12  Vincent Celier  <celier@adacore.com>
1946
1947         * debug.adb: Put detailed documentation for gnatmake switch -dm.
1948
1949 2010-10-12  Vincent Celier  <celier@adacore.com>
1950
1951         * gnat1drv.adb: When the compiler is invoked for a spec that needs aw
1952         body, do not generate an ALI file if neither -gnatc nor -gnatQ is used.
1953
1954 2010-10-12  Arnaud Charlet  <charlet@adacore.com>
1955
1956         * g-comlin.adb (Foreach_Switch): Make this procedure generic to avoid
1957         using 'Access.
1958
1959 2010-10-12  Robert Dewar  <dewar@adacore.com>
1960
1961         * debug.adb: Add comment.
1962         * gnatcmd.adb, sem_ch6.adb, switch-m.adb: Minor reformatting.
1963
1964 2010-10-12  Javier Miranda  <miranda@adacore.com>
1965
1966         * exp_util.adb (Side_Effect_Free): Return true for object renaming
1967         declarations that were previously generated by Remove_Side_Effects.
1968
1969 2010-10-12  Emmanuel Briot  <briot@adacore.com>
1970
1971         * xref_lib.adb (Get_Full_Type): Display "private variable" instead of
1972         "???" when an entity is defined as "*" in the ALI file.
1973         * g-comlin.ads, g-comlin.adb: Fix handling of null parameters.
1974         Minor reformatting.
1975
1976 2010-10-12  Emmanuel Briot  <briot@adacore.com>
1977
1978         * g-comlin.adb, g-comlin.ads (Display_Help, Getopt, Current_Section,
1979         Set_Usage): New subprograms.
1980         (Define_Switch): Change profile to add support for help messages and
1981         long switches.
1982
1983 2010-10-12  Javier Miranda  <miranda@adacore.com>
1984
1985         * sem_ch6.adb (New_Overloaded_Entity): Add missing decoration of
1986         attribute Overridden_Operation in predefined dispatching primitives. 
1987
1988 2010-10-12  Emmanuel Briot  <briot@adacore.com>
1989
1990         * g-comlin.adb, g-comlin.ads (Add_Switch): Raise an exception when a
1991         command line configuration exists and we specify an invalid section.
1992
1993 2010-10-12  Robert Dewar  <dewar@adacore.com>
1994
1995         * sem_ch6.adb (Process_PPCs): Fix error in inheriting Pre'Class when no
1996         exception messages are generated.
1997         (Process_PPCs): Fix error in inheriting Pre'Class.
1998
1999 2010-10-12  Jose Ruiz  <ruiz@adacore.com>
2000
2001         * gnatcmd.adb: Use response file for GNATstack.
2002         (Check_Files): Pass the list of ci files for GNATstack using a response
2003         file to avoid problems with command line length.
2004         Factor out the code handling response file into a new procedure named
2005         Add_To_Response_File.
2006
2007 2010-10-12  Vincent Celier  <celier@adacore.com>
2008
2009         * debug.adb: For gnatmake, document the meaning of -dm
2010         * make.adb (Gnatmake): If -dm is used, indicate the maximum number of
2011         simultaneous compilations.
2012         * switch-m.adb (Scan_Make_Switches): Allow -j0, meaning as many
2013         simultaneous compilations as the number of processors.
2014
2015 2010-10-12  Joseph Myers  <joseph@codesourcery.com>
2016
2017         * gcc-interface/Make-lang.in (ada/misc.o): Use $(OPTIONS_H)
2018         instead of options.h.
2019
2020 2010-10-12  Robert Dewar  <dewar@adacore.com>
2021
2022         * gnat_rm.texi: Clarify that 'Old can be used in preconditions and
2023         postcondition pragmas.
2024
2025 2010-10-12  Robert Dewar  <dewar@adacore.com>
2026
2027         * errout.ads, erroutc.adb: The # insertion now handles from in place of
2028         at.
2029         * exp_prag.adb (Expand_Pragma_Check): Suppress generated default
2030         message if new switch Exception_Locations_Suppressed is set.
2031         (Expand_Pragma_Check): Revised wording for default message for case
2032         of precondition or postcondition.
2033         * namet.ads, namet.adb (Build_Location_String): New procedure.
2034         * opt.ads (List_Inherited_Pre_Post): New flag.
2035         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Add call to
2036         list inherited pre/post aspects.
2037         * sem_ch13.adb (Analyze_Aspect_Specification): Improve generation of
2038         messages for precondition/postcondition cases.
2039         * sem_ch6.adb (Process_PPCs): General cleanup, and list inherited PPC's
2040         if flag List_Inherited_Pre_Post is set True.
2041         (Process_PPCs): Add initial handling for inherited preconditions
2042         (List_Inherited_Pre_Post_Aspects): New procedure
2043         * sem_ch6.ads (List_Inherited_Pre_Post_Aspects): New procedure
2044         * sem_disp.adb (Inherited_Subprograms): New function
2045         * sem_disp.ads (Inherited_Subprograms): New function
2046         * sem_prag.adb (Check_Duplicate_Pragma): Clean up handling of
2047         pre/postcondition.
2048         (Check_Precondition_Postcondition): Check for inherited aspects
2049         * sem_warn.adb: Process -gnatw.l/w.L setting List_Inherited_Pre_Post
2050         * sinfo.ads, sinfo.adb (Split_PPC): New flag.
2051         * sinput.ads, sinput.adb (Build_Location_String): New function.
2052         * usage.adb: Add line for -gnatw.l/-gnatw.L
2053
2054 2010-10-12  Javier Miranda  <miranda@adacore.com>
2055
2056         * exp_util.adb (Remove_Side_Effects): Remove wrong code.
2057
2058 2010-10-12  Arnaud Charlet  <charlet@adacore.com>
2059
2060         * xref_lib.adb: Add handling of j/J letters.
2061
2062 2010-10-12  Pascal Obry  <obry@adacore.com>
2063
2064         * adaint.c (__gnat_number_of_cpus): Add implementation for Windows.
2065
2066 2010-10-12  Arnaud Charlet  <charlet@adacore.com>
2067
2068         * make.adb (Globalize): New procedure.
2069         (Compile): Set Do_Codepeer_Globalize_Step when -gnatC is used.
2070         (Gnatmake): Call Globalize when needed.
2071         (Process_Restrictions_Or_Restriction_Warnings): Ignore Restrictions
2072         pragmas in CodePeer mode.
2073         (Adjust_Global_Switches): Set No_Initialize_Scalars in CodePeer mode,
2074         to generate simpler and consistent code.
2075
2076 2010-10-12  Bob Duff  <duff@adacore.com>
2077
2078         * exp_util.adb (Remove_Side_Effects): Disable previous change,
2079         can cause side effects to be duplicated.
2080
2081 2010-10-12  Robert Dewar  <dewar@adacore.com>
2082
2083         * sem_ch6.adb (Process_PPCs): Handle inherited postconditions.
2084
2085 2010-10-12  Arnaud Charlet  <charlet@adacore.com>
2086
2087         * exp_disp.adb (Set_All_DT_Position): Disable emit error message on
2088         abstract inherited private operation in CodePeer mode.
2089
2090 2010-10-12  Thomas Quinot  <quinot@adacore.com>
2091
2092         * a-exetim.ads: Minor reformatting.
2093         * g-socket.ads (Port_Type): Better definition corresponding to the
2094         actual standard range.
2095         * exp_ch5.adb: Add comment.
2096         * sem_aux.adb: Minor reformatting.
2097
2098 2010-10-12  Ed Schonberg  <schonberg@adacore.com>
2099
2100         * sem_ch12.adb (Copy_Generic_Node): If node is a string literal, remove
2101         string_literal_subtype so that a new one can be constructed in the
2102         scope of the instance.
2103
2104 2010-10-12  Robert Dewar  <dewar@adacore.com>
2105
2106         * exp_ch9.adb (Has_Pragma_Priority): New name for Has_Priority_Pragma
2107         * gnat_rm.texi (pragma Suppress_All): Document new placement rules
2108         * par-prag.adb (P_Pragma, case Suppress_All): Set
2109         Has_Pragma_Suppress_All flag.
2110         * sem_prag.adb (Has_Pragma_Priority): New name for Has_Priority_Pragma
2111         (Analyze_Pragma, case Suppress_All): Remove placement check
2112         (Process_Compilation_Unit_Pragmas): Use Has_Pragma_Suppress_All flag
2113         * sem_prag.ads (Process_Compilation_Unit_Pragmas): Update documentation
2114         * sinfo.adb (Has_Pragma_Suppress_All): New flag
2115         (Has_Pragma_Priority): New name for Has_Priority_Pragma
2116         * sinfo.ads (Has_Pragma_Suppress_All): New flag
2117         (Has_Pragma_Priority): New name for Has_Priority_Pragma
2118
2119 2010-10-12  Arnaud Charlet  <charlet@adacore.com>
2120
2121         * lib-xref.ads: Mark j/J as reserved for C++ classes.
2122
2123 2010-10-12  Jose Ruiz  <ruiz@adacore.com>
2124
2125         * a-exetim-default.ads, a-exetim-posix.adb: New.
2126         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for linux): Use the
2127         POSIX Realtime support to implement CPU clocks.
2128         (EXTRA_GNATRTL_TASKING_OBJS for linux): Add the a-exetim.o object
2129         to the tasking library.
2130         (THREADSLIB): Make the POSIX.1b Realtime Extensions library (librt)
2131         available for shared libraries.
2132         * gcc-interface/Make-lang.in: Update dependencies.
2133
2134 2010-10-12  Robert Dewar  <dewar@adacore.com>
2135
2136         * sem_ch13.adb (Analyze_Aspect_Specifications): For Pre/Post, break
2137         apart expressions with AND THEN clauses into separate pragmas.
2138         * sinput.ads, sinput.adab (Get_Logical_Line_Number_Img): New function.
2139
2140 2010-10-12  Robert Dewar  <dewar@adacore.com>
2141
2142         * par-ch13.adb (P_Aspect_Specifications): Fix handling of 'Class
2143         aspects.
2144         * sem_ch13.adb (Analyze_Aspect_Specifications): Fix bad Sloc on aspects
2145         * sem_prag.adb (Fix_Error): Only change pragma names for pragmas from
2146         aspects.
2147         (Check_Optional_Identifier): Handle case of direct arguments
2148         (Chain_PPC): Test for abstract case, giving appropriate messages
2149         * sinfo.ads, sinfo.adb (Class_Present): Allowed on N_Pragma node
2150
2151 2010-10-12  Robert Dewar  <dewar@adacore.com>
2152
2153         * par-endh.adb (Check_End): Don't swallow semicolon or aspects after
2154         END RECORD.
2155         * sem_attr.adb (Eval_Attribute): Code clean up.
2156
2157 2010-10-12  Robert Dewar  <dewar@adacore.com>
2158
2159         * par-ch12.adb (P_Formal_Private_Type_Definition): Improve error
2160         messages and recovery for case of out of order Abstract/Tagged/Private
2161         keywords.
2162         * par-ch3.adb (P_Type_Declaration): Improve error messages and recovery
2163         for case of out of order Abstract/Tagged/Private keywords.
2164
2165 2010-10-12  Ed Schonberg  <schonberg@adacore.com>
2166
2167         * inline.adb (Analyze_Inlined_Bodies): Restrict previous change to case
2168         where child unit is main unit of compilation.
2169
2170 2010-10-12  Robert Dewar  <dewar@adacore.com>
2171
2172         * aspects.ads, aspects.adb (Move_Aspects): New procedure.
2173         * atree.ads, atree.adb: (New_Copy): Does not copy aspect specifications
2174         * sinfo.ads, par-ch3.adb, par-ch6.adb, par-ch7.adb, par-ch9.adb,
2175         par-endh.adb, par-ch13.adb, par-ch12.adb: Modify grammar to include
2176         aspect specifications.
2177         Recognize aspect specifications for all cases
2178         * par.adb: Recognize aspect specifications for all cases
2179         * sem_ch12.ads, sem_ch12.adb (Copy_Generic_Node): Copies aspect
2180         specifications.
2181         * sem_ch3.adb (Analyze_Subtype_Declaration): Improve patch to freeze
2182         generic actual types (was missing some guards before).
2183         * sem_ch9.adb (Analyze_Single_Protected_Declaration): Copy aspects to
2184         generated object
2185         (Analyze_Single_Task_Declaration): Copy aspects to generated object
2186
2187 2010-10-12  Eric Botcazou  <ebotcazou@adacore.com>
2188
2189         * usage.adb (usage): Adjust line for -gnatn switch.
2190
2191 2010-10-12  Robert Dewar  <dewar@adacore.com>
2192
2193         * sem_attr.adb (Eval_Attribute): Only leave change active for aspect
2194         spec case.
2195
2196 2010-10-12  Ed Schonberg  <schonberg@adacore.com>
2197
2198         * sem_ch6.adb (Analyze_Subprogram_Declaration): If this is a
2199         declaration of a null procedure resolve the types of the profile of the
2200         generated null body now.
2201
2202 2010-10-11  Robert Dewar  <dewar@adacore.com>
2203
2204         * debug.adb: Remove d.A flag to delay address clause (not needed any
2205         more). Add d.A flag to enable tree read/write of aspect spec hash table
2206         * sem_ch13.adb (Analyze_Aspect_Specifications): Properly delay address
2207         clause.
2208         (Rep_Item_Too_Late): No need for special processing for delayed rep
2209         items (and it caused difficulties in the address case).
2210         * tree_gen.adb: Only write aspect spec hash table if -gnatd.A is set
2211         * tree_in.adb: Only write aspect spec hash table if -gnatd.A is set
2212
2213 2010-10-11  Pat Rogers  <rogers@adacore.com>
2214
2215         * gnat_ugn.texi: Minor editing.
2216
2217 2010-10-11  Nathan Froyd  <froydnj@codesourcery.com>
2218
2219         * gcc-interface/utils2.c (gnat_build_constructor): Use VEC_qsort.
2220
2221 2010-10-11  Robert Dewar  <dewar@adacore.com>
2222
2223         * g-htable.ads (Get_First): New procedural version for Simple_HTable
2224         (Get_Next): New procedural version for Simple_HTable
2225         * s-htable.adb (Get_First): New procedural version for Simple_HTable
2226         (Get_Next): New procedural version for Simple_HTable
2227         * s-htable.ads (Get_First): New procedural version for Simple_HTable
2228         (Get_Next): New procedural version for Simple_HTable
2229
2230 2010-10-11  Ed Schonberg  <schonberg@adacore.com>
2231
2232         * sem_aggr.adb (Propagate_Discriminants): To gather the components of a
2233         variant part, use the association list of the subaggregate, which
2234         already includes the values of the needed discriminants.
2235
2236 2010-10-11  Robert Dewar  <dewar@adacore.com>
2237
2238         * aspects.ads, aspects.adb: Changes to accomodate aspect delay
2239         (Tree_Write): New procedure.
2240         * atree.ads, atree.adb: Flag3 is now Has_Aspects and applies to all
2241         nodes.
2242         * atree.h: Flag3 is now Has_Aspects and applies to all nodes
2243         * debug.adb: Add debug flag gnatd.A
2244         * einfo.adb (Has_Delayed_Aspects): New flag
2245         (Get_Rep_Item_For_Entity): New function
2246         * einfo.ads (Has_Delayed_Aspects): New flag
2247         (Get_Rep_Item_For_Entity): New function
2248         * exp_ch13.adb (Expand_N_Freeze_Entity): Insert delayed aspects into
2249         tree.
2250         * exp_ch3.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb: New calling
2251         sequence for Freeze_Entity.
2252         * freeze.ads, freeze.adb (Freeze_Entity): Takes node rather than source
2253         ptr. All calls are changed to this new interface.
2254         (Freeze_And_Append): Same change
2255         (Freeze_Entity): Evaluate deferred aspects
2256         * sem_attr.adb: New calling sequence for Freeze_Entity
2257         (Eval_Attribute): Don't try to evaluate attributes of unfrozen types
2258         when we are in spec expression preanalysis mode.
2259         * sem_ch10.adb: New calling sequence for Freeze_Entity
2260         * sem_ch11.adb: Simplify analysis of aspect specifications now that the
2261         flag Has_Aspects applies to all nodes (no need to save aspects).
2262         * sem_ch12.adb: Simplify analysis of aspect specifications now that the
2263         flag Has_Aspects applies to all nodes (no need to save aspects).
2264         * sem_ch13.adb (Analyze_Aspect_Specifications): Major rewrite to
2265         accomodate delaying aspect evaluation to the freeze point.
2266         (Duplicate_Clause): Simplify using Get_Rep_Item_For_Entity, and also
2267         accomodate delayed aspects.
2268         (Rep_Item_Too_Late): Deal with delayed aspects case
2269         * sem_ch13.ads (Rep_Item_Too_Late): Document handling of delayed
2270         aspects.
2271         * sem_ch3.adb (Analyze_Subtype_Declaration): Make sure that generic
2272         actual types are properly frozen (this is needed because of the new
2273         check in Eval_Attribute that declines to evaluate attributes
2274         for unfrozen types).
2275         Simplify analysis of aspect specifications now that the flag
2276         Has_Aspects applies to all nodes (no need to save aspects).
2277         * sem_ch3.ads (Preanalyze_Spec_Expression): Note use for delayed
2278         aspects.
2279         * sem_ch5.adb: Simplify analysis of aspect specifications now that the
2280         flag Has_Aspects applies to all nodes (no need to save aspects).
2281         New calling sequence for Freeze_Entity.
2282         * sem_ch9.adb, sem_ch7.adb, sem_ch6.adb: Simplify analysis of aspect
2283         specifications now that the flag Has_Aspects applies to all nodes
2284         (no need to save aspects).
2285         New calling sequence for Freeze_Entity
2286         * sem_prag.adb (Check_Duplicate_Pragma): Simplify using
2287         Get_Rep_Item_For_Entity
2288         (Get_Pragma_Arg): Moved to Sinfo
2289         * sinfo.ads, sinfo.adb (Aspect_Rep_Item_: New field
2290         (Is_Delayed_Aspect): New flag
2291         (Next_Rep_Item): Document use for aspects
2292         (Get_Pragma_Arg): Moved here from Sem_Prag
2293         * sprint.adb (Sprint_Aspect_Specifications): Now called after semicolon
2294         is output and removes semicolon (simplifies interface).
2295         (Sprint_Node_Actual): Simplify handling of aspects now that Has_Aspects
2296         applies to any node.
2297         * tree_gen.adb: Write contents of Aspect_Specifications hash table
2298         * tree_in.adb: Read and initialize Aspect_Specifications hash table
2299         * treepr.adb (Print_Node): Print Has_Aspects flag
2300         (Print_Node): Print Aspect_Specifications in Has_Aspects set
2301         * xtreeprs.adb: Remove obsolete references to Flag1,2,3
2302
2303 2010-10-11  Robert Dewar  <dewar@adacore.com>
2304
2305         * aspects.ads, aspects.adb: Major revision of this package for 2nd
2306         stage of aspects implementation.
2307         * gcc-interface/Make-lang.in: Add entry for aspects.o
2308         * gcc-interface/Makefile.in: Add aspects.o to GNATMAKE_OBJS
2309         * par-ch13.adb (Aspect_Specifications_Present): New function
2310         (P_Aspect_Specifications): New procedure
2311         * par-ch3.adb (P_Type_Declaration): Handle aspect specifications
2312         (P_Derived_Type_Def_Or_Private_Ext_Decl): Handle aspect specifications
2313         (P_Identifier_Declarations): Handle aspect specifications
2314         (P_Component_Items): Handle aspect specifications
2315         (P_Subtype_Declaration): Handle aspect specifications
2316         * par-ch6.adb (P_Subprogram): Handle aspect specifications
2317         * par-ch9.adb (P_Entry_Declaration): Handle aspect specifications
2318         * par.adb (Aspect_Specifications_Present): New function
2319         (P_Aspect_Specifications): New procedure
2320         * sem.adb (Analyze_Full_Type_Declaration): New name for
2321         Analyze_Type_Declaration.
2322         (Analyze_Formal_Package_Declaration): New name (add _Declaration)
2323         (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration)
2324         (Analyze_Protected_Type_Declaration): New name (add _Declaration)
2325         (Analyze_Single_Protected_Declaration): New name (add _Declaration)
2326         (Analyze_Single_Task_Declaration): New name (add _Declaration)
2327         (Analyze_Task_Type_Declaration): New name (add _Declaration)
2328         * sem_cat.adb (Analyze_Full_Type_Declaration): New name for
2329         Analyze_Type_Declaration.
2330         * sem_ch11.adb (Analyze_Exception_Declaration): Analyze aspect
2331         specifications.
2332         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Handle aspect
2333         specifications.
2334         (Analyze_Formal_Package_Declaration): New name (add _Declaration)
2335         (Analyze_Formal_Package_Declaration): Handle aspect specifications
2336         (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration)
2337         (Analyze_Formal_Subprogram_Declaration): Handle aspect specifications
2338         (Analyze_Formal_Type_Declaration): Handle aspect specifications
2339         (Analyze_Generic_Package_Declaration): Handle aspect specifications
2340         (Analyze_Generic_Subprogram_Declaration): Handle aspect specifications
2341         (Analyze_Package_Instantiation): Handle aspect specifications
2342         (Analyze_Subprogram_Instantiation): Handle aspect specifications
2343         * sem_ch12.ads (Analyze_Formal_Package_Declaration): New name (add
2344         _Declaration).
2345         (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration)
2346         * sem_ch13.adb (Analyze_Aspect_Specifications): New procedure
2347         (Duplicate_Clause): New function, calls to this function are added to
2348         processing for all aspects.
2349         * sem_ch13.ads (Analyze_Aspect_Specifications): New procedure
2350         * sem_ch3.adb (Analyze_Full_Type_Declaration): New name for
2351         Analyze_Type_Declaration.
2352         * sem_ch3.ads (Analyze_Full_Type_Declaration): New name for
2353         Analyze_Type_Declaration.
2354         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Analyze aspect
2355         specifications.
2356         (Analyze_Subprogram_Declaration): Analyze aspect specifications
2357         * sem_ch7.adb (Analyze_Package_Declaration): Analyze aspect
2358         specifications.
2359         (Analyze_Private_Type_Declaration): Analyze aspect specifications
2360         * sem_ch9.adb (Analyze_Protected_Type_Declaration): Analyze aspect
2361         specifications.
2362         (Analyze_Protected_Type_Declaration): New name (add _Declaration)
2363         (Analyze_Single_Protected_Declaration): Analyze aspect specifications
2364         (Analyze_Single_Protected_Declaration): New name (add _Declaration)
2365         (Analyze_Single_Task_Declaration): Analyze aspect specifications
2366         (Analyze_Single_Task_Declaration): New name (add _Declaration)
2367         (Analyze_Task_Type_Declaration): Analyze aspect specifications
2368         (Analyze_Task_Type_Declaration): New name (add _Declaration)
2369         * sem_ch9.ads (Analyze_Protected_Type_Declaration): New name (add
2370         _Declaration).
2371         (Analyze_Single_Protected_Declaration): New name (add _Declaration)
2372         (Analyze_Single_Task_Declaration): New name (add _Declaration)
2373         (Analyze_Task_Type_Declaration): New name (add _Declaration)
2374         * sem_prag.adb: Use Get_Pragma_Arg systematically so that we do not
2375         have to generate unnecessary pragma argument associations (this matches
2376         the doc).
2377         Throughout do changes to accomodate aspect specifications, including
2378         specializing messages, handling the case of not going through all
2379         homonyms, and allowing for cancellation.
2380         * sinfo.ads, sinfo.adb: Clean up obsolete documentation for Flag1,2,3
2381         (Aspect_Cancel): New flag
2382         (From_Aspect_Specification): New flag
2383         (First_Aspect): Removed flag
2384         (Last_Aspect): Removed flag
2385         * sprint.adb (Sprint_Aspect_Specifications): New procedure
2386         (Sprint_Node_Actual): Add calls to Sprint_Aspect_Specifications
2387
2388 2010-10-11  Bob Duff  <duff@adacore.com>
2389
2390         * sem_res.adb (Resolve_Actuals): Minor change to warning messages so
2391         they match in Ada 95, 2005, and 2012 modes, in the case where the
2392         language didn't change. Same thing for the run-time exception message.
2393
2394 2010-10-11  Javier Miranda  <miranda@adacore.com>
2395
2396         * debug.adb Document that switch -gnatd.p enables the CIL verifier.
2397
2398 2010-10-11  Robert Dewar  <dewar@adacore.com>
2399
2400         * s-htable.adb: Minor reformatting.
2401
2402 2010-10-11  Javier Miranda  <miranda@adacore.com>
2403
2404         * debug.adb: Update comment.
2405
2406 2010-10-11  Vincent Celier  <celier@adacore.com>
2407
2408         * gnatcmd.adb (GNATCmd): Set Opt.Unchecked_Shared_Lib_Imports to True
2409         unconditionally as for "gnat make" the projects are not processed in
2410         the GNAT driver.
2411
2412 2010-10-11  Ed Schonberg  <schonberg@adacore.com>
2413
2414         * sem_ch10.ads, sem_ch10.adb (Load_Needed_Body): Add parameter to
2415         suppress semantic analysis of the body when inlining, prior to
2416         verifying that the body does not have a with_clause on a descendant
2417         unit.
2418         * inline.adb (Analyze_Inlined_Bodies): Do not inline a body if it has a
2419         with_clause on a descendant. 
2420         (Scope_In_Main_Unit): Simplify.
2421
2422 2010-10-11  Robert Dewar  <dewar@adacore.com>
2423
2424         * exp_ch6.adb, freeze.adb: Minor reformatting.
2425
2426 2010-10-11  Vincent Celier  <celier@adacore.com>
2427
2428         * gnatcmd.adb (GNATCmd): For all tools other than gnatmake, allow
2429         shared library projects to import projects that are not shared library
2430         projects.
2431
2432 2010-10-11  Javier Miranda  <miranda@adacore.com>
2433
2434         * debug.adb: Document that switch -gnatd.o generates the CIL listing.
2435
2436 2010-10-11  Arnaud Charlet  <charlet@adacore.com>
2437
2438         * sem_prag.adb (Process_Suppress_Unsuppress): Only ignore
2439         Suppress/Unsuppress pragmas in codepeer mode on user code.
2440
2441 2010-10-11  Javier Miranda  <miranda@adacore.com>
2442
2443         * exp_ch6.adb (Expand_Call): For VM platforms, add missing expansion of
2444         tag check in case of dispatching call through "=".
2445
2446 2010-10-11  Ed Schonberg  <schonberg@adacore.com>
2447
2448         * sem_ch3.adb (Access_Subprogram_Declaration): In Ada2012 an incomplete
2449         type is legal in the profile of any basic declaration.
2450         * sem_ch6.adb (Analyze_Return_Type, Process_Formals): In Ada2012 an
2451         incomplete type, including a limited view of a type, is legal in the
2452         profile of any subprogram declaration.
2453         If the type is tagged, its use is also legal in a body.
2454         * sem_ch10.adb (Install_Limited_With_Clause): Do not process context
2455         item if misplaced.
2456         (Install_Limited_Withed_Unit): Refine legality checks when both the
2457         limited and the non-limited view of a package are visible in the
2458         context of a unit.
2459         If this is not an error case, the limited view is ignored.
2460         freeze.adb (Freeze_Entity): In Ada2012, an incomplete type is legal in
2461         access to subprogram declarations
2462
2463 2010-10-11  Robert Dewar  <dewar@adacore.com>
2464
2465         * exp_ch6.adb: Code clean up.
2466         * exp_util.adb: Minor reformatting.
2467
2468 2010-10-11  Arnaud Charlet  <charlet@adacore.com>
2469
2470         * sem_ch3.adb, exp_ch6.adb
2471         (Make_Build_In_Place_Call_In_Anonymous_Context,
2472         Make_Build_In_Place_Call_In_Assignment,
2473         Make_Build_In_Place_Call_In_Object_Declaration): Fix calls to
2474         Add_Task_Actuals_To_Build_In_Place_Call in case of No_Task_Hierarchy
2475         restriction.
2476         (Access_Definition): Add missing handling of No_Task_Hierarchy.
2477
2478 2010-10-11  Javier Miranda  <miranda@adacore.com>
2479
2480         * exp_util.adb (Remove_Side_Effects): No action needed for renamings of
2481         class-wide expressions.
2482
2483 2010-10-11  Arnaud Charlet  <charlet@adacore.com>
2484
2485         * xr_tabls.adb, sem_res.adb: Minor reformatting
2486
2487 2010-10-11  Arnaud Charlet  <charlet@adacore.com>
2488
2489         * gnat_rm.texi, exp_attr.adb, sem_attr.adb, sem_attr.ads,
2490         snames.ads-tmpl (Analyze_Attribute, Expand_N_Attribute_Reference): Add
2491         handling of Attribute_Ref. Add missing blanks in some error messages.
2492         (Attribute_Ref, Name_Ref): Declare.
2493         Document 'Ref attribute.
2494
2495 2010-10-11  Robert Dewar  <dewar@adacore.com>
2496
2497         * sem_attr.adb: Minor reformatting.
2498
2499 2010-10-11  Javier Miranda  <miranda@adacore.com>
2500
2501         * sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading
2502         package System.Aux_Dec in VM platforms.
2503
2504 2010-10-11  Arnaud Charlet  <charlet@adacore.com>
2505
2506         * sem_prag.adb (Process_Suppress_Unsuppress): Ignore
2507         Suppress/Unsuppress pragmas in codepeer mode.
2508         (Analyze_Pragma [Pragma_Suppress_All]): Do not generate error message
2509         in codepeer mode.
2510         * einfo.ads: Fix typo.
2511
2512 2010-10-11  Emmanuel Briot  <briot@adacore.com>
2513
2514         * sinfo.adb: Use GNAT.HTable rather than System.HTable.
2515         * prj-nmsc.adb: Minor reformatting.
2516
2517 2010-10-11  Thomas Quinot  <quinot@adacore.com>
2518
2519         * sem_attr.adb (Type_Key): Code simplification.
2520
2521 2010-10-11  Tristan Gingold  <gingold@adacore.com>
2522
2523         * gcc-interface/utils2.c (maybe_wrap_malloc): Fix crash when allocating
2524         very large object on VMS.
2525
2526 2010-10-11  Javier Miranda  <miranda@adacore.com>
2527
2528         * sem_ch10.adb (Analyze_With_Clause): Add missing test to ensure
2529         availability of attribute Instance_Spec.
2530
2531 2010-10-11  Arnaud Charlet  <charlet@adacore.com>
2532
2533         * gnat1drv.adb (Adjust_Global_Switches): Disable codepeer mode if
2534         checking syntax only or in ASIS mode.
2535
2536 2010-10-11  Ed Schonberg  <schonberg@adacore.com>
2537
2538         * sem_ch6.adb (Check_Delayed_Subprogram): Abstract subprograms may also
2539         need a freeze node if some type in the profile has one.
2540         * gcc-interface/trans.c (case N_Abstract_Subprogram_Declaration): If
2541         entity has a freeze node, defer elaboration.
2542
2543 2010-10-11  Emmanuel Briot  <briot@adacore.com>
2544
2545         * prj-nmsc.adb (Check_Aggregate_Project): Add support for finding all
2546         aggregated projects.
2547
2548 2010-10-11  Ed Schonberg  <schonberg@adacore.com>
2549
2550         * sem_res.adb (Resolve_Entry_Call): Generate 's' reference for entry
2551         call.
2552         * sem_ch6.adb: Diagnose additional error condition.
2553
2554 2010-10-11  Bob Duff  <duff@adacore.com>
2555
2556         * par.adb (Par): Clarify wording of certain error messages.
2557
2558 2010-10-11  Gary Dismukes  <dismukes@adacore.com>
2559
2560         * sem_disp.adb (Check_Dispatching_Operation): Revise test for warning
2561         about nondispatching subprograms to use In_Same_List (reducing use of
2562         Parent links).
2563
2564 2010-10-11  Ed Schonberg  <schonberg@adacore.com>
2565
2566         * xr_tabls.adb, sem_res.adb, lib-xref.adb, lib-xref.ads: Use s for
2567         reference in a static call.
2568
2569 2010-10-11  Steve Baird  <baird@adacore.com>
2570
2571         * exp_attr.adb (Expand_N_Attribute_Reference, case Type_Key): Type_Key
2572         attribute should always be transformed into a string literal in
2573         Analyze_Attribute.
2574         * par-ch4.adb: Type_Key attribute's type is String; update value of
2575         Is_Parameterless_Attribute constant to reflect this.
2576         * sem_attr.adb (Analyze_Attribute): Recognize Type_Key attribute and
2577         rewrite it as a string literal (attribute value is always known
2578         statically).
2579         * snames.ads-tmpl: Add entries for Type_Key attribute.
2580
2581 2010-10-11  Ed Schonberg  <schonberg@adacore.com>
2582
2583         * lib-xref.adb (Output_References): Common handling for objects and
2584         formals of an anonymous access type.
2585
2586 2010-10-11  Eric Botcazou  <ebotcazou@adacore.com>
2587
2588         * make.adb (Scan_Make_Arg): Also pass -O to both compiler and linker.
2589
2590 2010-10-11  Ed Schonberg  <schonberg@adacore.com>
2591
2592         * sem_ch6.adb: Fix check for illegal equality declaration in Ada2012
2593
2594 2010-10-11  Gary Dismukes  <dismukes@adacore.com>
2595
2596         * sem_disp.adb (Check_Dispatching_Operation): When testing for issuing
2597         a warning about subprograms of a tagged type not being dispatching,
2598         limit this to cases where the tagged type and the subprogram are
2599         declared within the same declaration list.
2600
2601 2010-10-11  Jerome Lambourg  <lambourg@adacore.com>
2602
2603         * projects.texi, prj-attr.adb: Add new attribute documentation_dir.
2604
2605 2010-10-11  Bob Duff  <duff@adacore.com>
2606
2607         * par-ch9.adb, sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, impunit.adb,
2608         impunit.ads, sem_ch5.adb, sem_type.adb, exp_imgv.adb, exp_util.adb,
2609         switch-c.adb, exp_attr.adb, exp_ch9.adb, par-ch11.adb, usage.adb,
2610         sem_ch9.adb, sem_ch10.adb, scng.adb, checks.adb, sem_prag.adb,
2611         sem_ch12.adb, par-ch2.adb, freeze.adb, par-ch4.adb, sem_util.adb,
2612         sem_res.adb, sem_attr.adb, par-ch6.adb, exp_ch4.adb, exp_ch6.adb,
2613         sem_ch4.adb, exp_ch8.adb, par-ch10.adb, sem_ch6.adb, par-prag.adb,
2614         exp_disp.adb, par-ch12.adb, sem_ch8.adb, snames.adb-tmpl, opt.ads,
2615         exp_aggr.adb, sem_cat.adb, sem_ch13.adb, par-ch3.adb, exp_strm.adb,
2616         exp_cg.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb: Use Ada_2005
2617         instead of Ada_05 (Ada_Version_Type).
2618
2619 2010-10-11  Bob Duff  <duff@adacore.com>
2620
2621         * sem_aggr.adb, impunit.adb, impunit.ads, switch-c.adb, usage.adb,
2622         sem_ch10.adb, sem_prag.adb, sem_ch12.adb, par-ch4.adb, par-ch6.adb,
2623         par-ch8.adb, exp_ch4.adb, sem_ch4.adb, sem_ch6.adb, par-prag.adb,
2624         opt.ads, par-ch3.adb, lib-xref.adb: Use Ada_2012 instead of Ada_12
2625         (Ada_Version_Type).
2626
2627 2010-10-11  Javier Miranda  <miranda@adacore.com>
2628
2629         * exp_util.adb (Safe_Prefixed_Reference): If the prefix is an explicit
2630         dereference then do not exclude dereferences of access-to-constant
2631         types to handle them as constant view of variables (and hence remove
2632         side effects when required).
2633         * sem_res.adb (Resolve_Slice): Ensure that side effects in the bounds
2634         are properly handled.
2635
2636 2010-10-11  Robert Dewar  <dewar@adacore.com>
2637
2638         * sem_prag.adb, sem_aggr.adb, sprint.adb: Minor reformatting.
2639
2640 2010-10-11  Javier Miranda  <miranda@adacore.com>
2641
2642         * exp_ch5.ads, exp_ch6.ads (Expand_N_Extended_Return_Statement): Moved
2643         to exp_ch6.
2644         (Expand_N_Simple_Return_Statement): Moved to exp_ch6.
2645         * exp_ch5.adb, exp_ch6.adb (Expand_Non_Function_Return): Moved to
2646         exp_ch6.
2647         (Expand_Simple_Function_Return): Move to exp_ch6.
2648         (Expand_N_Extended_Return_Statement): Moved to exp_ch6.
2649         (Expand_N_Simple_Return_Statement): Moved to exp_ch6.
2650
2651 2010-10-11  Robert Dewar  <dewar@adacore.com>
2652
2653         * snames.ads-tmpl: Add names for aspects.
2654         * aspects.ads, aspects.adb: New.
2655         * gcc-interface/Make-lang.in: Update dependencies.
2656 2010-10-11  Ed Schonberg  <schonberg@adacore.com>
2657
2658         * exp_ch6.adb (Expand_Actuals): If an actual is the current instance of
2659         a task type, it must be replaced with a reference to Self.
2660
2661 2010-10-11  Vincent Celier  <celier@adacore.com>
2662
2663         * adaint.h: Add prototype for function __gnat_create_output_file_new.
2664
2665 2010-10-11  Javier Miranda  <miranda@adacore.com>
2666
2667         * sem_aggr.adb (Collect_Aggr_Bounds): Remove side effects of collected
2668         aggregate bounds.
2669
2670 2010-10-11  Arnaud Charlet  <charlet@adacore.com>
2671
2672         * sem_prag.adb (Check_Interrupt_Or_Attach_Handler): Do not emit error
2673         for AI05-0033 in CodePeer mode.
2674
2675 2010-10-11  Robert Dewar  <dewar@adacore.com>
2676
2677         * atree.h, atree.ads, atree.adb (Flag3): New flag (replaces Unused_1)
2678         * csinfo.adb: Aspect_Specifications is a new special field
2679         * einfo.adb (Flag3): New unused flag
2680         * exp_util.adb (Insert_Actions): Add processing for
2681         N_Aspect_Specification.
2682         * sem.adb: Add entry for N_Aspect_Specification.
2683         * sinfo.ads, sinfo.adb (N_Aspect_Specification): New node
2684         (Has_Aspect_Specifications): New flag
2685         (Permits_Aspect_Specifications): New function
2686         (Aspect_Specifications): New function
2687         (Set_Aspect_Specifications): New procedure
2688         * sprint.adb (Sprint_Node): Put N_At_Clause in proper alpha order
2689         (Sprint_Node): Add dummy entry for N_Aspect_Specification
2690         * treepr.adb (Flag3): New flag to be listed
2691
2692 2010-10-11  Vincent Celier  <celier@adacore.com>
2693
2694         * adaint.c: Minor reformatting.
2695
2696 2010-10-11  Robert Dewar  <dewar@adacore.com>
2697
2698         * sem_ch6.adb, s-htable.ads: Minor reformatting.
2699
2700 2010-10-11  Ed Schonberg  <schonberg@adacore.com>
2701
2702         * sem_ch4.adb (Analyze_Selected_Component): If the selector is
2703         invisible in an instantiation, and both the formal and the actual are
2704         private extensions of the same type, look for the desired component in
2705         the proper view of the parent type.
2706
2707 2010-10-11  Vincent Celier  <celier@adacore.com>
2708
2709         * adaint.c (__gnat_number_of_cpus): Add implementation for Solaris,
2710         AIX, Tru64, Darwin, IRIX and HP-UX.
2711
2712 2010-10-11  Robert Dewar  <dewar@adacore.com>
2713
2714         * a-textio.adb: Minor reformatting
2715
2716 2010-10-11  Robert Dewar  <dewar@adacore.com>
2717
2718         * a-suesen.ads, a-suenst.ads,
2719         a-suesen.adb, a-suenst.adb,
2720         a-suewse.adb, a-suewst.adb,
2721         a-suewse.ads, a-suewst.ads,
2722         a-suezse.ads, a-suezst.ads,
2723         a-suezse.adb, a-suezst.adb: New name for string encoding packages.
2724         * impunit.adb: New names for string encoding units
2725         * Makefile.rtl: New names for string encoding units
2726         * rtsfind.ads: Minor code reorganization.
2727
2728 2010-10-11  Ed Schonberg  <schonberg@adacore.com>
2729
2730         * exp_ch5.adb: Code clean up.
2731
2732 2010-10-11  Ed Schonberg  <schonberg@adacore.com>
2733
2734         * sem_ch6.adb (Check_Limited_Return): Specialize warning on limited
2735         returns when in a generic context.
2736         (Analyze_Function_Return): ditto.
2737
2738 2010-10-11  Robert Dewar  <dewar@adacore.com>
2739
2740         * s-multip.ads: Fix header.
2741         * sem_ch3.adb, s-multip.adb, a-tigeli.adb: Minor reformatting.
2742
2743 2010-10-11  Vincent Celier  <celier@adacore.com>
2744
2745         * Makefile.rtl: Add s-multip.
2746         * adaint.c: New function __gnat_number_of_cpus, implemented for Linux,
2747         defaulting to 1 for other platforms.
2748         * adaint.h: New function __gnat_number_of_cpus.
2749         * impunit.adb (Non_Imp_File_Names_12): New file list for Ada 2012,
2750         with a single component "s-multip".
2751         * impunit.ads (Kind_Of_Unit): New enumerated value Ada_12_Unit for Ada
2752         2012.
2753         * rtsfind.ads (RTU_Id): New enumerated value System_Multiprocessors
2754         * s-multip.ads, s-multip.adb: New Ada 2012 package.
2755         * sem_ch10.adb (Analyze_With_Clause): Check also Ada 2012 units.
2756
2757 2010-10-11  Javier Miranda  <miranda@adacore.com>
2758
2759         * a-textio.adb: Move new implementation of Get_Line to a subunit.
2760         * a-tigeli.adb: New subunit containing the implementation of Get_Line.
2761
2762 2010-10-11  Ed Schonberg  <schonberg@adacore.com>
2763
2764         * sem_aux.adb: Code clean up.
2765
2766 2010-10-11  Robert Dewar  <dewar@adacore.com>
2767
2768         * sem_ch3.adb, sem_aux.adb, sem_ch6.adb: Minor reformatting
2769
2770 2010-10-11  Robert Dewar  <dewar@adacore.com>
2771
2772         * einfo.adb, atree.h, atree.ads, atree.adb: Define seven new flags
2773         Flag248-Flag254.  Define new field Field29.
2774
2775 2010-10-10  Olivier Hainque  <hainque@adacore.com>
2776             Eric Botcazou  <ebotcazou@adacore.com>
2777
2778         * gcc-interface/lang.opt (gdwarf+): Remove.
2779         * gcc-interface/gigi.h (get_parallel_type): Likewise
2780         * gcc-interface/misc.c (gnat_dwarf_extensions): Likewise.
2781         (gnat_handle_option): Remove OPT_gdwarfplus case.
2782         (gnat_post_options): Remove setting of use_gnu_debug_info_extensions
2783         from gnat_dwarf_extensions.
2784         * gcc-interface/trans.c (gigi): Remove -gdwarf+ initializations.
2785         * gcc-interface/utils.c (get_parallel_type): Remove.
2786
2787 2010-10-10  Eric Botcazou  <ebotcazou@adacore.com>
2788
2789         * gcc-interface/trans.c (gnat_to_gnu) <N_Not_In>: Use
2790         invert_truthvalue_loc instead of invert_truthvalue.
2791         * gcc-interface/utils2.c (build_binary_op) <NE_EXPR>: Likewise.
2792         (build_unary_op) <TRUTH_NOT_EXPR>: Likewise.
2793
2794 2010-10-10  Eric Botcazou  <ebotcazou@adacore.com>
2795
2796         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
2797         assertion on the types of the parameters.  Use KIND local variable.
2798         <E_Incomplete_Type>: Likewise.
2799
2800 2010-10-10  Eric Botcazou  <ebotcazou@adacore.com>
2801
2802         * gcc-interface/ada-tree.h (DECL_BY_DOUBLE_REF_P): New macro.
2803         * gcc-interface/gigi.h (annotate_object): Add BY_DOUBLE_REF parameter.
2804         * gcc-interface/decl.c (annotate_object): Likewise and handle it.
2805         (gnat_to_gnu_entity): Adjust calls to annotate_object.
2806         (gnat_to_gnu_param): If fat pointer types are passed by reference on
2807         the target, pass them by explicit reference.
2808         * gcc-interface/misc.c (default_pass_by_ref): Fix type of constant.
2809         * gcc-interface/trans.c (Identifier_to_gnu): Do DECL_BY_DOUBLE_REF_P.
2810         (Subprogram_Body_to_gnu): Adjust call to annotate_object.
2811         (call_to_gnu): Handle DECL_BY_DOUBLE_REF_P.
2812         * gcc-interface/utils.c (convert_vms_descriptor): Add BY_REF parameter
2813         and handle it.
2814         (build_function_stub): Iterate on the parameters of the subprogram in
2815         lieu of on the argument types.  Adjust call to convert_vms_descriptor.
2816
2817 2010-10-09  Eric Botcazou  <ebotcazou@adacore.com>
2818
2819         * gcc-interface/misc.c: Delete prototypes.
2820         (gnat_init_options): Use local variable.
2821         (lang_hooks): Move to the end of the file.
2822
2823 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
2824
2825         * gcc-interface/misc.c (gnat_init_options_struct): New.  Split out
2826         from gnat_init_options.
2827         (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
2828
2829 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
2830
2831         * sem_aux.adb: Cleanup Is_Immutably_Limited_Type.
2832
2833 2010-10-08  Robert Dewar  <dewar@adacore.com>
2834
2835         * exp_ch3.adb: Minor reformatting.
2836         * exp_ch5.adb: Add comment.
2837
2838 2010-10-08  Robert Dewar  <dewar@adacore.com>
2839
2840         * sem_prag.adb (Check_Duplicate_Pragma): Check for entity match
2841         * gcc-interface/Make-lang.in: Update dependencies.
2842         * einfo.ads: Minor reformatting.
2843
2844 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
2845
2846         * exp_ch5.adb, sem_ch3.adb, exp_ch7.adb, exp_util.adb, sem_aux.adb,
2847         sem_aux.ads, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
2848         exp_ch3.adb: Change Is_Inherently_Limited_Type to
2849         Is_Immutably_Limited_Type to accord with new RM terminology.
2850         * sem_aux.adb (Is_Immutably_Limited_Type): A type that is a descendant
2851         of a formal limited private type is not immutably limited in a generic
2852         body.
2853
2854 2010-10-08  Robert Dewar  <dewar@adacore.com>
2855
2856         * sem_prag.adb (Check_Duplicate_Pragma): New procedure
2857         Add calls to this new procedure where appropriate
2858
2859 2010-10-08  Vincent Celier  <celier@adacore.com>
2860
2861         * a-textio.adb (Get_Chunk): Code clean up.
2862
2863 2010-10-08  Robert Dewar  <dewar@adacore.com>
2864
2865         * a-strbou.ads, a-strfix.adb, a-strfix.ads, a-strsea.adb, a-strsea.ads,
2866         a-strsup.adb, a-strsup.ads, a-strunb-shared.adb, a-strunb-shared.ads,
2867         a-strunb.adb, a-strunb.ads, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
2868         a-stwise.adb, a-stwise.ads, a-stwisu.adb, a-stwisu.ads,
2869         a-stwiun-shared.adb, a-stwiun-shared.ads, a-stwiun.adb, a-stwiun.ads,
2870         a-stzbou.ads, a-stzfix.adb, a-stzfix.ads, a-stzsea.adb, a-stzsea.ads,
2871         a-stzsup.adb, a-stzsup.ads, a-stzunb-shared.adb, a-stzunb-shared.ads,
2872         a-stzunb.adb, a-stzunb.ads (Find_Token): New version with From
2873         parameter.
2874
2875 2010-10-08  Robert Dewar  <dewar@adacore.com>
2876
2877         * sem_cat.adb (Check_Categorization_Dependencies): Remote types
2878         packages can depend on preleborated packages.
2879
2880 2010-10-08  Robert Dewar  <dewar@adacore.com>
2881
2882         * sem_prag.adb (Check_Interrupt_Or_Attach_Handler): Pragmas
2883         Interrupt_Handler and Attach_Handler not allowed in generics.
2884
2885 2010-10-08  Robert Dewar  <dewar@adacore.com>
2886
2887         * ali.adb: Set Allocator_In_Body if AB parameter present on M line
2888         * ali.ads (Allocator_In_Body): New flag
2889         * bcheck.adb (Check_Consistent_Restrictions): Handle case of main
2890         program violating No_Allocators_After_Elaboration restriction.
2891         * gnatbind.adb (No_Restriction_List): Add entries for
2892         No_Anonymous_Allocators, and No_Allocators_After_Elaboration.
2893         * lib-load.adb: Initialize Has_Allocator flag
2894         * lib-writ.adb: Initialize Has_Allocator flag
2895         (M_Parameters): Set AB switch if Has_Allocator flag set
2896         * lib-writ.ads: Document AB flag on M line
2897         * lib.adb (Has_Allocator): New function
2898         (Set_Has_Allocator): New procedure
2899         * lib.ads (Has_Allocator): New function
2900         (Set_Has_Allocator): New procedure
2901         (Has_Allocator): New flag in Unit_Record
2902         * sem_ch4.adb (Analyze_Allocator): Add processing for
2903         No_Allocators_After_Elaboration.
2904
2905 2010-10-08  Geert Bosch  <bosch@adacore.com>
2906
2907         * a-textio.adb (Get_Line): Rewrite to use fgets instead of fgetc.
2908
2909 2010-10-08  Javier Miranda  <miranda@adacore.com>
2910
2911         * sem_prag.adb (Analyze_Pragma): Relax semantic rule of
2912         Java_Constructors because in the JRE library we generate occurrences
2913         in which the "this" parameter is not the first formal.
2914
2915 2010-10-08  Robert Dewar  <dewar@adacore.com>
2916
2917         * par-ch3.adb: Minor reformatting.
2918
2919 2010-10-08  Javier Miranda  <miranda@adacore.com>
2920
2921         * exp_disp.adb (Make_DT): Do not generate dispatch tables for CIL/Java
2922         types.
2923
2924 2010-10-08  Robert Dewar  <dewar@adacore.com>
2925
2926         * par-ch8.adb (P_Use_Type_Clause): Recognize ALL keyword in Ada 2012
2927         mode.
2928         * sinfo.adb (Use_Type_Clause): Add All_Present flag.
2929         * sinfo.ads (Use_Type_Clause): Add All_Present flag.
2930         * s-rident.ads: Add entry for No_Allocators_After_Elaboration,
2931         No_Anonymous_Allocators.
2932
2933 2010-10-08  Vincent Celier  <celier@adacore.com>
2934
2935         * bindgen.adb (Gen_Restrictions_Ada): No new line after last
2936         restriction, so that the last comma is always replaced with a left
2937         parenthesis.
2938
2939 2010-10-08  Javier Miranda  <miranda@adacore.com>
2940
2941         * sem_prag.adb (Analyze_Pragma): Add specific check on the type of the
2942         first formal of delegates.
2943
2944 2010-10-08  Robert Dewar  <dewar@adacore.com>
2945
2946         * sem_aggr.adb: Minor reformatting.
2947
2948 2010-10-08  Robert Dewar  <dewar@adacore.com>
2949
2950         * exp_imgv.adb (Expand_Image_Attribute): Handle special calling
2951         sequence for soft hyphen for Character'Image case.
2952         * rtsfind.ads (Image_Character_05): New entry
2953         * s-imgcha.adb (Image_Character_05): New procedurew
2954         * s-imgcha.ads (Image_Character_05): New procedure
2955         * s-imgwch.adb (Image_Wide_Character): Deal with Ada 2005 soft hyphen
2956         case.
2957         * s-valcha.adb (Value_Character): Recognize SOFT_HYPHEN for 16#AD#
2958         * sem_attr.adb (Eval_Attribute, case Width): Handle soft_hyphen name
2959         properly.
2960
2961 2010-10-08  Robert Dewar  <dewar@adacore.com>
2962
2963         * sem_attr.adb (Eval_Attribute, case Width): Avoid ludicrous long loop
2964         for case of Wide_[Wide_]Character.
2965
2966 2010-10-08  Robert Dewar  <dewar@adacore.com>
2967
2968         * exp_ch3.adb: Minor reformating
2969         Minor code reorganization.
2970
2971 2010-10-08  Javier Miranda  <miranda@adacore.com>
2972
2973         * sem_prag.adb (Analyze_Pragma): Add missing checks on wrong use of
2974         pragmas CIL_Constructor and Java_Constructor.
2975         * exp_ch3.adb (Expand_Freeze_Record_Type): Do not generate the
2976         predefined primitives for CIL/Java tagged types.
2977
2978 2010-10-08  Robert Dewar  <dewar@adacore.com>
2979
2980         * sem_ch6.adb: Minor reformatting.
2981
2982 2010-10-08  Robert Dewar  <dewar@adacore.com>
2983
2984         * gnat1drv.adb: Add call to Validate_Independence.
2985         * par-prag.adb: Add dummy entries for Independent,
2986         Independent_Componentsa.
2987         * sem_ch13.adb (Validate_Independence): New procedure
2988         (Initialize): Initialize address clause and independence check tables
2989         * sem_ch13.ads (Independence_Checks): New table
2990         (Validate_Independence): New procedure
2991         * sem_prag.adb: Add processing for pragma Independent[_Components]
2992         * snames.ads-tmpl: Add entries for pragma Independent[_Components]
2993
2994 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
2995
2996         * sem_aggr.adb (Propagate_Discriminants): When expanding an aggregate
2997         component with box initialization, if the component is a variant record
2998         use the values of the discriminants to select the proper variant for
2999         further box initialization.
3000
3001 2010-10-08  Thomas Quinot  <quinot@adacore.com>
3002
3003         * xsnames.adb: Remove obsolete file.
3004         * make.adb, sem_ch8.adb, einfo.ads: Minor reformatting.
3005
3006 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
3007
3008         * exp_aggr.adb: Complete previous change.
3009
3010 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
3011
3012         * sem_ch6.adb (Check_Return_Subtype): The subtype indication in an
3013         extended return must match statically the return subtype of the
3014         enclosing function if the type is an elementary type or if it is
3015         constrained.
3016
3017 2010-10-08  Vincent Celier  <celier@adacore.com>
3018
3019         * prj-nmsc.adb (Add_Source): Report all duplicate units and source file
3020         names.  Do not report the same duplicate unit several times.
3021         * prj.ads (Source_Data): New Boolean component Duplicate_Unit,
3022         defaulted to False, to avoid reporting the same unit as duplicate
3023         several times.
3024
3025 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
3026
3027         * sem_aggr.adb (Resolve_Array_Aggregate): If the expression in an
3028         others choice is a literal, analyze it to enable later optimizations.
3029         * exp_aggr.adb (Expand_Record_Aggregate): An aggregate with static size
3030         and components can be handled by the backend even if it is of a limited
3031         type.
3032
3033 2010-10-08  Arnaud Charlet  <charlet@adacore.com>
3034
3035         * a-rttiev.adb (task Timer): Since this package may be elaborated
3036         before System.Interrupt, we need to call Setup_Interrupt_Mask
3037         explicitly to ensure that this task has the proper signal mask.
3038
3039 2010-10-08  Robert Dewar  <dewar@adacore.com>
3040
3041         * freeze.adb (Freeze_Entity): For array case, move some processing for
3042         pragma Pack, Component_Size clause and atomic/volatile components here
3043         instead of trying to do the job in Sem_Ch13 and Freeze.
3044         * layout.adb: Use new Addressable function
3045         * sem_ch13.adb (Analyze_Attribute_Representation_Clause, case
3046         Component_Size): Move some handling to freeze point in
3047         Freeze.Freeze_Entity.
3048         * sem_prag.adb (Analyze_pragma, case Pack): Move some handling to
3049         freeze point in Freese.Freeze_Entity.
3050         * sem_util.ads, sem_util.adb (Addressable): New function.
3051
3052 2010-10-08  Robert Dewar  <dewar@adacore.com>
3053
3054         * sprint.adb: Minor reformatting.
3055
3056 2010-10-08  Javier Miranda  <miranda@adacore.com>
3057
3058         * exp_ch4.adb (Real_Range_Check): Declare temporary as constant.
3059
3060 2010-10-08  Robert Dewar  <dewar@adacore.com>
3061
3062         * sem_ch3.adb: Minor reformatting.
3063
3064 2010-10-08  Vincent Celier  <celier@adacore.com>
3065
3066         * ali-util.adb (Get_File_Checksum): Make sure that external_as_list is
3067         not a reserved word.
3068         * prj-proc.adb (Expression): Process string list external references.
3069         * prj-strt.adb (External_Reference): Parse external_as_list external
3070         references.
3071         * prj-tree.ads (Expression_Kind_Of): Allowed for N_External_Value nodes
3072         (Set_Expression_Kind_Of): Ditto
3073         * prj.adb (Initialize): Set external_as_list as a reserved word
3074         * projects.texi: Document new string external reference
3075         external_as_list.
3076         * scans.ads (Token_Type): New token Tok_External_As_List
3077         * snames.ads-tmpl: New standard name Name_External_As_List
3078
3079 2010-10-08  Thomas Quinot  <quinot@adacore.com>
3080
3081         * sem_prag.adb: Minor reformatting.
3082
3083 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
3084
3085         * sem_ch3.adb (Derived_Type_Declaration): In the private part of an
3086         instance, it is legal to derive from a non-limited actual when the
3087         formal type is untagged limited.
3088         * sem_ch12.adb (Instantiate_Type): For a formal private type, use
3089         analyzed formal as Generic_Parent_Type, to simplify later checks.
3090
3091 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
3092
3093         * sem_res.adb (Insert_Default): If default value is already a
3094         raise_constraint_error do not rewrite it as new raise node, to prevent
3095         infinite loops in the warning removal machinery.
3096
3097 2010-10-08  Robert Dewar  <dewar@adacore.com>
3098
3099         * sem_util.adb, sem_prag.adb: Minor reformatting
3100
3101 2010-10-08  Hristian Kirtchev  <kirtchev@adacore.com>
3102
3103         * gnat_rm.texi: Remove the section on pragma Implemented_By_Entry.
3104         Add section on pragma Implemented.
3105
3106 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
3107
3108         * sem_ch3.adb (Derive_Subprogram): If an abstract extension has a
3109         concrete parent with a concrete constructor, the inherited constructor
3110         is abstract even if the derived type is a null extension.
3111
3112 2010-10-08  Thomas Quinot  <quinot@adacore.com>
3113
3114         * sem_ch4.adb: Minor reformatting.
3115
3116 2010-10-08  Hristian Kirtchev  <kirtchev@adacore.com>
3117
3118         * einfo.adb: Flag 232 (formerly Implemented_By_Entry) is now unused.
3119         (Implemented_By_Entry): Removed.
3120         (Set_Implemented_By_Entry): Removed.
3121         (Write_Entity_Flags): Remove the output for Implemented_By_Entry.
3122         * einfo.ads: Remove Implemented_By_Entry and its usage in entities.
3123         (Implemented_By_Entry): Removed along with its associated pragma.
3124         (Set_Implemented_By_Entry): Removed along with its associated pragma.
3125         * exp_ch9.adb: Alphabetize with and use clauses of Exp_Ch9.
3126         (Build_Dispatching_Call_Equivalent): New routine.
3127         (Build_Dispatching_Requeue): New routine.
3128         (Build_Dispatching_Requeue_To_Any): New routine.
3129         (Build_Normal_Requeue): New routine.
3130         (Build_Skip_Statement): New routine.
3131         (Expand_N_Requeue_Statement): Rewritten. The logic has been split into
3132         several subroutines.
3133         * par-prag.adb: Replace Pragma_Implemented_By_Entry by
3134         Pragma_Implemented.
3135         * sem_ch3.adb (Check_Abstract_Overriding): Perform checks concerning
3136         pragma Implemented.
3137         (Check_Pragma_Implemented): New routines.
3138         (Inherit_Pragma_Implemented): New routine.
3139         * sem_ch9.adb (Analyze_Requeue): Update the predicate which detects a
3140         dispatching requeue.
3141         * sem_prag.adb: Update array Sig_Flags by removing Implemented_By_Entry
3142         and adding Implemented.
3143         (Ada_2012_Pragma): New routine.
3144         (Analyze_Pragma, case Implemented): Perform all necessary checks
3145         concerning pragma Implemented and register the pragma as a
3146         representation item with the procedure_LOCAL_NAME.
3147         (Analyze_Pragma, case Implemented_By_Entry): Removed.
3148         * sem_util.adb (Implementation_Kind): New routine.
3149         * sem_util.ads (Implementation_Kind): New routine.
3150         * snames.ads-tmpl: Remove Name_Implemented_By_Entry and add
3151         Name_Implemented. Remove pragma name Pragma_Implemented_By_Entry and
3152         add Pragma_Implemented. Add special names By_Any, By_Entry and
3153         By_Protected_Procedure.
3154
3155 2010-10-08  Javier Miranda  <miranda@adacore.com>
3156
3157         * exp_ch3.adb (Expand_Freeeze_Record_Type): Code cleanup: remove local
3158         variable Has_Static_DT by invocation of function Building_Static_DT.
3159
3160 2010-10-08  Vincent Celier  <celier@adacore.com>
3161
3162         * g-dirope.adb (Remove_Dir): Do not change the current directory when
3163         doing a recursive remove of a subdirectory.
3164
3165 2010-10-08  Javier Miranda  <miranda@adacore.com>
3166
3167         * exp_ch6.ad (Freeze_Subprogram): Factorize code.
3168         * exp_disp.adb (Make_Secondary_DT): Factorize code.
3169         (Make_DT): Factorize code.
3170
3171 2010-10-08  Robert Dewar  <dewar@adacore.com>
3172
3173         * sem_ch4.adb: Minor reformatting.
3174
3175 2010-10-08  Robert Dewar  <dewar@adacore.com>
3176
3177         * sem_ch6.adb (Check_Conformance): Check null exclusion match for full
3178         conformance.
3179
3180 2010-10-08  Thomas Quinot  <quinot@adacore.com>
3181
3182         * sem_ch12.adb (Instantiate_Object): Rename Formal_Id to Gen_Obj, for
3183         consistency with Gen_T in Instantiate_Type.
3184         Introduce constant A_Gen_Obj to avoid repeated queries for
3185         Defining_Identifier (Analyzed_Formal).
3186
3187 2010-10-08  Vincent Celier  <celier@adacore.com>
3188
3189         * prj-nmsc.adb: Minor comment fix.
3190
3191 2010-10-07  Robert Dewar  <dewar@adacore.com>
3192
3193         * sem_prag.adb, sem_ch13.adb: Implement AI05-0012-1/02.
3194         * gcc-interface/Make-lang.in: Update dependencies.
3195
3196 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
3197
3198         * sem_ch12.ad: (Instantiate_Object): For an in-out formal of a child
3199         unit, if the type of the formal is declared in a parent unit and is not
3200         a formal itself, the actual must be located from an enclosing parent
3201         instance by normal visibility.
3202
3203 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
3204
3205         * sem_ch4.adb (Analyze_Allocator): In Ada 2012, a null_exclusion
3206         indicator is illegal for an uninitialized allocator.
3207
3208 2010-10-07  Robert Dewar  <dewar@adacore.com>
3209
3210         * sem_prag.adb (Analyze_Attribute_Definition_Clause, case
3211         Component_Size): Complete previous change.
3212
3213 2010-10-07  Vincent Celier  <celier@adacore.com>
3214
3215         * scng.adb (Scan): Call Accumulate_Token_Checksum for Tok_Identifier,
3216         even for keywords, to avoid having the checksum to depend on the Ada
3217         version.
3218
3219 2010-10-07  Gary Dismukes  <dismukes@adacore.com>
3220
3221         * sem_aggr.adb, sem_ch12.adb, sem_ch6.adb, par-ch5.adb,
3222         exp_ch3.adb: Minor reformatting.
3223
3224 2010-10-07  Robert Dewar  <dewar@adacore.com>
3225
3226         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
3227         Component_Size): It is now illegal to give an incorrect component size
3228         clause in the case of aliased or atomic components.
3229         * sem_prag.adb (Analyze_Pragma, case Pack): It is now illegal to give
3230         an effective pragma Pack in the case of aliased or atomic components.
3231
3232 2010-10-07  Steve Baird  <baird@adacore.com>
3233
3234         * exp_ch4.adb (Expand_N_Allocator): Do not bypass expansion
3235         in the case of a violation of an active No_Task_Hierarchy restriction.
3236
3237 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
3238
3239         * sem_ch12.adb (Validate_Derived_Type_Instance): If a formal derived
3240         type is non-limited, an actual for it cannot be limited.
3241
3242 2010-10-07  Robert Dewar  <dewar@adacore.com>
3243
3244         * einfo.ads (No_Pool_Assigned): Update documentation.
3245         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
3246         Storage_Size): We only set No_Pool_Assigned if the expression is a
3247         static constant and zero.
3248         * sem_res.adb (Resolve_Allocator): Allocation from empty storage pool
3249         should be an error not a warning.
3250
3251 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
3252
3253         * exp_aggr.adb (Expand_Array_Aggregate): Recognize additional cases
3254         where an aggregate in an assignment can be built directly into the
3255         target, and does not require the creation of a temporary that may
3256         overflow the stack.
3257
3258 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
3259
3260         * sem_aggr.adb (Analyze_Record_Aggregate): In Ada2012, a choice list
3261         in a record aggregate can correspond to several components of
3262         anonymous access types, as long as the designated subtypes match.
3263
3264 2010-10-07  Robert Dewar  <dewar@adacore.com>
3265
3266         * gnat_rm.texi, exp_util.adb, sinfo.adb, sinfo.ads, sem_ch12.adb,
3267         sem.adb, gnat_ugn.texi, sem_util.ads, par-ch6.adb, targparm.ads,
3268         restrict.adb, sem_ch6.adb, sem_ch6.ads, sprint.adb, i-c.ads: Change
3269         spelling parametrize(d) => parameterize(d).
3270
3271 2010-10-07  Robert Dewar  <dewar@adacore.com>
3272
3273         * sem_ch12.adb: Add comment.
3274         * sem_ch6.adb: Minor reformatting.
3275
3276 2010-10-07  Robert Dewar  <dewar@adacore.com>
3277
3278         * par-ch3.adb, par-ch6.adb, par-ch7.adb, par-ch9.adb, par-ch10.adb: Add
3279         Pexp to Pf_Rec constants
3280         (P_Subprogram): Expression is always enclosed in parentheses
3281         * par.adb (Pf_Rec): add Pexp flag for parametrized expression
3282         * sinfo.ads (N_Parametrized_Expression): Expression must be in parens
3283
3284 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
3285
3286         * sem_ch6.adb (Analyze_Subprogram_Specification): Implement Ada2012
3287         checks on functions that return an abstract type or have a controlling
3288         result whose designated type is an abstract type.
3289         (Check_Private_Overriding): Implement Ada2012 checks on functions
3290         declared in the private part, if an abstract type is involved.
3291         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): In Ada2012,
3292         reject a generic function that returns an abstract type.
3293         * exp_ch5.adb (Expand_Simple_Function_Return): in Ada2012, if a
3294         function has a controlling access result, check that the tag of the
3295         return value matches the designated type of the return expression.
3296
3297 2010-10-07  Robert Dewar  <dewar@adacore.com>
3298
3299         * par-ch6.adb: Fix error in handling of parametrized expressions.
3300         * par-ch4.adb (P_Name): Allow qualified expression as name in Ada 2012
3301         mode.
3302         (P_Simple_Expression): Better message for qualified expression prefix
3303         * s-crc32.adb: Minor reformatting.
3304         * exp_intr.adb (Expand_Unc_Deallocation): Remove test for empty
3305         storage pool (this test is moved to Sem_Intr).
3306         * sem_intr.adb (Check_Intrinsic_Call): Add check for deallocation from
3307         empty storage pool, moved here from Exp_Intr and made into error.
3308         (Check_Intrinsic_Call): Remove assumption in generating not-null free
3309         warning that the name of the instantiation is Free.
3310         * sinput.adb (Tree_Read): Document use of illegal free call allowed in
3311         GNAT mode.
3312         * types.ads: Remove storage size clauses from big types (since we may
3313         need to do deallocations, which are now illegal for empty pools).
3314
3315 2010-10-07  Sergey Rybin  <rybin@adacore.com>
3316
3317         * gnat_ugn.texi: Add missing word.
3318
3319 2010-10-07  Robert Dewar  <dewar@adacore.com>
3320
3321         * exp_util.adb (Insert_Actions): Add handling of
3322         N_Parametrized_Expression.
3323         * par-ch6.adb (P_Subprogram): Add parsing of parametrized expression
3324         * sem.adb: Add entry for N_Parametrized_Expression
3325         * sem_ch6.adb (Analyze_Parametrized_Expression): New procedure
3326         * sem_ch6.ads (Analyze_Parametrized_Expression): New procedure
3327         * sinfo.ads, sinfo.adb: Add N_Parametrized_Expression
3328         * sprint.adb (Sprint_Node): Add handling for N_Parametrized_Expression
3329         * par-ch4.adb: Minor reformatting.
3330
3331 2010-10-07  Robert Dewar  <dewar@adacore.com>
3332
3333         * scng.adb (Skip_Other_Format_Characters): New procedure
3334         (Start_Of_Wide_Character): New procedure
3335         (Scan): Use Start_Of_Wide_Character where appropriate
3336         (Scan): Improve error message for other_format chars in identifier
3337         (Scan): Allow other_format chars between tokens
3338
3339 2010-10-07  Javier Miranda  <miranda@adacore.com>
3340
3341         * exp_util.adb (Safe_Prefixed_Reference): When removing side effects,
3342         Add missing support for explicit dereferences.
3343
3344 2010-10-07  Robert Dewar  <dewar@adacore.com>
3345
3346         * par-ch10.adb, par-ch3.adb, par.adb: Minor reformatting.
3347
3348 2010-10-07  Robert Dewar  <dewar@adacore.com>
3349
3350         * exp_disp.adb, exp_dist.adb, exp_util.ads, exp_util.adb,
3351         exp_ch11.adb: Rename Full_Qualified_Name to Fully_Qualified_Name_String
3352         * sem_util.adb, sem_util.ads (Full_Qualified_Name): Moved to
3353         Exp_Util.Fully_Qualified_Name_String.
3354
3355 2010-10-07  Robert Dewar  <dewar@adacore.com>
3356
3357         * rtsfind.ads: Add entry for Ada.Real_Time.Timing_Events.Set_Handler
3358         * sem_res.adb (Resolve_Call): A call to
3359         Ada.Real_Time.Timing_Events.Set_Handler violates restriction
3360         No_Relative_Delay (AI-0211).
3361
3362 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
3363
3364         * sem_ch10.adb: Small change in error message.
3365
3366 2010-10-07  Robert Dewar  <dewar@adacore.com>
3367
3368         * tbuild.ads: Minor reformatting.
3369
3370 2010-10-07  Robert Dewar  <dewar@adacore.com>
3371
3372         * gnatcmd.adb, make.adb, prj-nmsc.adb, sem_elab.adb: Minor reformatting
3373
3374 2010-10-07  Arnaud Charlet  <charlet@adacore.com>
3375
3376         * exp_ch11.adb (Expand_N_Exception_Declaration): Update comments.
3377
3378 2010-10-07  Robert Dewar  <dewar@adacore.com>
3379
3380         * sem_res.adb: Minor reformatting
3381
3382 2010-10-07  Olivier Ramonat  <ramonat@adacore.com>
3383
3384         * gnat_ugn.texi: Minor editing.
3385         * opt.ads: Document that scripts rely on specific formats in opt.ads
3386
3387 2010-10-07  Robert Dewar  <dewar@adacore.com>
3388
3389         * a-wichun.ads, a-wichun.adb (To_Lower_Case): New function
3390         (To_Upper_Case): Fix to be inverse of To_Lower_Case
3391         * a-zchuni.ads, a-zchuni.adb (To_Lower_Case): New function
3392         (To_Upper_Case): Fix to be inverse of To_Lower_Case
3393
3394 2010-10-07  Robert Dewar  <dewar@adacore.com>
3395
3396         * a-wichha.adb, a-wichha.ads, a-zchhan.adb, a-zchhan.ads: New file.
3397         * impunit.adb: Add entries for a-wichha/a-zchhan
3398         * Makefile.rtl: Add entries for a-wichha/a-zchhan
3399
3400 2010-10-07  Vincent Celier  <celier@adacore.com>
3401
3402         * make.adb (Check): Call Check_Source_Info_In_ALI with Project_Tree
3403         * makeutl.adb (Check_Source_Info_In_ALI): If there is at least one
3404         replaced source, check that none of the replaced sources are in the
3405         dependencies.
3406         * makeutl.ads (Check_Source_Info_In_ALI): New parameter Tree
3407         * prj-nmsc.adb (Remove_Source): New parameter Tree. If the source is
3408         replaced with a source with a different file name, put it in the hash
3409         table Replaced_Sources.
3410         (Add_Source): Call Remove_Source with Data.Tree. If there is at least
3411         one replaced source, check if it has the same file name as the current
3412         source; if it has, remove it from the hash table Replaced_Sources.
3413         * prj.adb (Reset): Reset hash table Tree.Replaced_Sources
3414         * prj.ads (Replaced_Source_HTable): New hash table
3415         (Project_Tree_Data): New components Replaced_Sources and
3416         Replaced_Source_Number.
3417
3418 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
3419
3420         * sem_elab.adb (Check_A_Call): After inserting elaboration check, set
3421         proper flag to prevent a double elaboration check on the same call.
3422         * exp_util.adb (Insert_Actions): If the enclosing node is an
3423         Expression_With_Actions and it has been analyzed already, find
3424         insertion point further up in the tree.
3425
3426 2010-10-07  Hristian Kirtchev  <kirtchev@adacore.com>
3427
3428         * sem_ch13.adb (Analyze_Record_Representation_Clause): Alphabetize all
3429         local variables. Remove the general restriction which prohibits the
3430         application of record rep clauses to Unchecked_Union types. Add Ada
3431         2012 check to detect improper naming of an Unchecked_Union
3432         discriminant in record rep clause.
3433         * sem_prag.adb: Add with and use clause for Exp_Ch7.
3434         (Analyze_Pragma): Unchecked_Union case: Propagate the Unchecked_Union
3435         type to all invocations of Check_Component and Check_Variant.
3436         (Check_Component): Add formal parameters UU_Typ and In_Variant_Part.
3437         Rewritten.  Add Ada 2012 check to detect improper use of formal
3438         private types and private extensions as component types of an
3439         Unchecked_Union declared inside a generic body.
3440         (Check_Variant): Add formal parameter UU_Typ. Propagate the
3441         Unchecked_Union type to all calls of Check_Component. Signal that the
3442         current component comes from the variant part of an Unchecked_Union
3443         type.
3444         (Inside_Generic_Body): New routine.
3445
3446 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
3447
3448         * exp_ch4.adb (Expand_Composite_Equality): When looking for a primitive
3449         equality operation for a record component, verify that both formals
3450         have the same type, and the result type is boolean.
3451
3452 2010-10-07  Vincent Celier  <celier@adacore.com>
3453
3454         * gnatcmd.adb (Check_Files): When looking for the .ci file for a
3455         binder generated file, look for both b~xxx and b__xxx as gprbuild
3456         always uses b__ as the prefix of such files.
3457
3458 2010-10-07  Thomas Quinot  <quinot@adacore.com>
3459
3460         * sem_res.adb: Minor reformatting.
3461
3462 2010-10-07  Arnaud Charlet  <charlet@adacore.com>
3463
3464         * debug.adb: Update -gnatd.J documentation.
3465
3466 2010-10-07  Robert Dewar  <dewar@adacore.com>
3467
3468         * gnat_rm.texi: Document handling of invalid values
3469         * s-utf_32.ads, s-utf_32.adb (UTF_To_Lower_Case): Fix implementation
3470         to match new spec.
3471         (UTF_To_Upper_Case): New function.
3472
3473 2010-10-07  Robert Dewar  <dewar@adacore.com>
3474
3475         * sem_attr.adb: Minor reformatting.
3476         * einfo.ads, einfo.adb (Is_Ada_2012_Only): New flag
3477         * itypes.adb (Create_Null_Excluding_Itype): Set Is_Ada_2012_Only flag
3478         properly.
3479         * lib-xref.adb (Generate_Reference): Warn on use of Ada 2012 entity in
3480         non-Ada 2012 mode.
3481         * opt.ads (Warn_On_Ada_2012_Compatibility): New flag
3482         * sem_ch3.adb (Analye_Subtype_Declaration): Inherit Is_Ada_2012_Only
3483         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Is_Ada_2012_Only
3484         flag.
3485         * sem_prag.adb (Analyze_Pragma, case Ada_12/Ada_2012): Allow form with
3486         argument.
3487         * sem_type.adb (Disambiguate): Deal with Is_Ada_2012_Only.
3488         * sem_warn.adb (Warn_On_Ada_2012_Compatibility): New flag, treated
3489         same as 2005 flag.
3490
3491 2010-10-07  Javier Miranda  <miranda@adacore.com>
3492
3493         * a-tags.ads: Use new support for pragma Ada_2012 with function
3494         Type_Is_Abstract.
3495
3496 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
3497
3498         * par-ch5.adb (P_Sequence_Of_Statements): In Ada2012 a label can end a
3499         sequence of statements.
3500
3501 2010-10-07  Vincent Celier  <celier@adacore.com>
3502
3503         * gnatcmd.adb (Check_Files): Only add a .ci files if it exists
3504
3505 2010-10-07  Javier Miranda  <miranda@adacore.com>
3506
3507         * a-tags.ads, a-tags.adb (Type_Is_Abstract): New subprogram.
3508         * rtsfind.ads (RE_Type_Is_Abstract): New entity.
3509         * exp_disp.adb (Make_DT): Initialize TSD component Type_Is_Abstract.
3510
3511 2010-10-07  Arnaud Charlet  <charlet@adacore.com>
3512
3513         * sem_ch12.adb (Mark_Context): Removed, no longer needed.
3514         (Analyze_Package_Instantiation): No longer analyze systematically a
3515         generic body in CodePeer mode.
3516         * freeze.adb, sem_attr.adb: Update comments.
3517
3518 2010-10-05  Robert Dewar  <dewar@adacore.com>
3519
3520         * par-ch5.adb (Test_Statement_Required): Allow all pragmas in Ada 2012
3521         mode.
3522
3523 2010-10-05  Pascal Obry  <obry@adacore.com>
3524
3525         * gnat_rm.texi: Fix typo.
3526
3527 2010-10-05  Arnaud Charlet  <charlet@adacore.com>
3528
3529         * gnat_ugn.texi: Add note about identifiers with same name and
3530         -fdump-ada-spec.
3531
3532 2010-10-05  Robert Dewar  <dewar@adacore.com>
3533
3534         * sem_ch4.adb: Minor reformatting.
3535         * a-direct.ads: Minor comment update.
3536
3537 2010-10-05  Javier Miranda  <miranda@adacore.com>
3538
3539         * sem_ch3.adb (Add_Internal_Interface_Entities): Removing code that is
3540         no longer required after change in New_Overloaded_Entity.
3541         * sem_ch6.adb (New_Overloaded_Entity): Code reorganization to isolate
3542         the fragment of code that handles derivations of interface primitives.
3543         Add missing dependence on global variable Inside_Freezing_Actions to
3544         ensure the correct management of internal interface entities.
3545         * sem_ch13.adb (Analyze_Freeze_Entity): Add missing increase/decrease
3546         of the global variable Inside_Freezing_Actions to ensure that internal
3547         interface entities are well handled by New_Overloaded_Entity.
3548         * sem_disp.adb (Find_Primitive_Covering_Interface): Add documentation
3549         and complete the algorithm to catch hidden primitives derived of
3550         private type that covers the interface.
3551         * sem_disp.ads (Find_Primitive_Covering_Interface): Add missing
3552         documentation.
3553
3554 2010-10-05  Robert Dewar  <dewar@adacore.com>
3555
3556         * prj-util.adb, prj-util.ads, prj.ads, s-vxwext-rtp.adb, sem_ch4.adb,
3557         sem_ch7.adb, sem_res.adb, sem_type.adb: Minor reformatting.
3558         Minor code reorganization (use Nkind_In).
3559
3560 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
3561
3562         * sem_ch10.adb (Analyze_Task_Body_Stub): Diagnose duplicate stub for
3563         task.
3564
3565 2010-10-05  Vincent Celier  <celier@adacore.com>
3566
3567         * gnatbind.adb: If the main library file is not for a suitable main
3568         program, change the error message.
3569
3570 2010-10-05  Vincent Celier  <celier@adacore.com>
3571
3572         * a-direct.ads: Minor spelling error fixes in comments.
3573         * gnat_rm.texi: Add three entries in "Implementation Defined
3574         Characteristics" for the interpretations of the Form parameters in
3575         Ada.Directories.
3576
3577 2010-10-05  Robert Dewar  <dewar@adacore.com>
3578
3579         * exp_ch3.adb, exp_ch5.adb, exp_disp.adb, exp_dist.adb, gnatlink.adb,
3580         makeutl.adb, par-ch6.adb, prj-dect.adb, prj-env.adb, prj-env.ads,
3581         prj-ext.adb, prj-nmsc.adb, prj-part.adb, prj-pp.ads: Minor code
3582         reorganization.
3583         Minor reformatting.
3584
3585 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
3586
3587         * sem_res.adb (Check_Parameterless_Call): If the prefix of 'Address is
3588         an explicit dereference of an access to function, the prefix is not
3589         interpreted as a parameterless call.
3590
3591 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
3592
3593         * exp_attr.adb: For 'Read and 'Write, use full view of base type if
3594         private.
3595
3596 2010-10-05  Vincent Celier  <celier@adacore.com>
3597
3598         * make.adb (Switches_Of): Allow wild cards in index of attributes
3599         Switches.
3600         * prj-util.adb (Value_Of): When Allow_Wildcards is True, use the index
3601         of the associative array as a glob regular expression.
3602         * prj-util.ads (Value_Of (Index, In_Array)): New Boolean parameter
3603         Allow_Wildcards, defaulted to False.
3604         (Value_Of (Name, Attribute_Or_Array_Name)): Ditto
3605         * projects.texi: Document that attribute Switches (<file name>) may
3606         use wild cards in the index.
3607
3608 2010-10-05  Robert Dewar  <dewar@adacore.com>
3609
3610         * a-direct.adb, a-direct.ads, back_end.adb, checks.adb,
3611         einfo.adb: Minor reformatting.
3612         * debug.adb: Remove obsolete documentation for d.Z flag.
3613
3614 2010-10-05  Vincent Celier  <celier@adacore.com>
3615
3616         * vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake
3617         switch --create-info-file=.
3618         * gnat_ugn.texi: Add documentation for new gnatmake switch
3619         --source-info=
3620
3621 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
3622
3623         * sem_ch3.adb: Do not elaborate type definition if syntax error.
3624
3625 2010-10-05  Javier Miranda  <miranda@adacore.com>
3626
3627         * sprint.adb (Sprint_Node_Actual): Improve output of subprogram bodies
3628         to generate the full-qualified names of its corresponding spec.
3629         This facilitates locating the corresponing body when reading
3630         the DG output.
3631
3632 2010-10-05  Thomas Quinot  <quinot@adacore.com>
3633
3634         * exp_dist.adb (Make_Helper_Function_Name): For a tagged type, use
3635         canonical name without serial number only if the helper is becoming a
3636         primitive of the type.
3637
3638 2010-10-05  Javier Miranda  <miranda@adacore.com>
3639
3640         * exp_disp.adb (Make_DT): Minor code reorganization.
3641
3642 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
3643
3644         * par-ch6.adb: improve recovery with extra paren in function spec.
3645
3646 2010-10-05  Quentin Ochem  <ochem@adacore.com>
3647
3648         * prj-tree.ads: Project_Path is now aliased.
3649
3650 2010-10-05  Thomas Quinot  <quinot@adacore.com>
3651
3652         * checks.adb: Minor reformatting.
3653
3654 2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
3655
3656         * mlib-tgt-specific-mingw.adb (No_Argument_List): Delete.
3657         (Shared_Libgcc): New aliased variable.
3658         (Shared_Libgcc_Switch): New constant.
3659         (Build_Dynamic_Library): Pass Shared_Libgcc_Switch to the compiler
3660         * gcc-interface/Makefile.in (gnatlib-shared-win32): Pass -shared-libgcc
3661         to the compiler.
3662         * gcc-interface/Make-lang.in: Update dependencies.
3663         
3664 2010-10-05  Vincent Celier  <celier@adacore.com>
3665
3666         * prj-part.adb (Parse_Simple_Project): When checking if a child project
3667         imports its parent project, also look in projects being extended by
3668         imported projects.
3669
3670 2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
3671
3672         * gnat_ugn.texi: Adjust instructions in G.10 Building DLLs with GNAT.
3673
3674 2010-10-05  Javier Miranda  <miranda@adacore.com>
3675
3676         * exp_cg.adb (Slot_Number): Add support to handle aliased entities.
3677         (Generate_CG_Output): Switch -gnatd.Z is no longer needed to
3678         activate this output.
3679
3680 2010-10-05  Arnaud Charlet  <charlet@adacore.com>
3681
3682         * back_end.adb (Call_Back_End): Generate an error message when scil
3683         generation is enabled, and no scil back-end (by default) is available.
3684
3685 2010-10-05  Javier Miranda  <miranda@adacore.com>
3686
3687         * debug.adb: Update documentation since -gnatd.Z is no longer required
3688         to generate the call-graph information.
3689
3690 2010-10-05  Javier Miranda  <miranda@adacore.com>
3691
3692         * exp_ch5.adb (Expand_Simple_Function_Return): Rewrite expansion of a
3693         runtime access check by an equivalent expansion that causes
3694         no problems in the VM backend. The original expansion was
3695         not good for the VM backends because when Tagged_Type_Expansion
3696         is disabled the attribute Access_Disp_Table is not available.
3697
3698 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
3699
3700         * sem_type.adb (Covers): In a dispatching context, T1 covers T2 if T2
3701         is class-wide and T1 is its specific type.
3702
3703 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
3704
3705         * einfo.adb: Add guard to Is_String_Type to prevent cascaded errors.
3706
3707 2010-10-05  Vincent Celier  <celier@adacore.com>
3708
3709         * back_end.ads: Minor spelling error correction.
3710
3711 2010-10-05  Arnaud Charlet  <charlet@adacore.com>
3712
3713         * switch-c.adb, gnat1drv.adb (Scan_Front_End_Switches): Disable
3714         warnings when -gnatC is specified here so that warnings can be
3715         re-enabled  explicitly.
3716         (Adjust_Global_Switches): No longer suppress warnings.
3717
3718 2010-10-05  Vincent Celier  <celier@adacore.com>
3719
3720         * makeutl.adb: Minor reformatting.
3721
3722 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
3723
3724         * sem_ch4.adb: add guard in Analyze_One_Call to prevent crash when a
3725         non-discrete type appears as an actual in a call.
3726
3727 2010-10-05  Vincent Celier  <celier@adacore.com>
3728
3729         * make.adb (Scan_Make_Arg): Take into account new switch
3730         --source-info=file.
3731         * makeusg.adb: Add line for new switch --source-info=file.
3732         * makeutl.ads (Source_Info_Option): New constant String for new builder
3733         switch.
3734         * prj-conf.adb: Put subprograms in alphabetical order
3735         (Process_Project_And_Apply_Config): Read/write an eventual source info
3736         file, if necessary.
3737         * prj-nmsc.adb (Look_For_Sources.Get_Sources_From_Source_Info): New
3738         procedure.
3739         (Look_For_Sources): If a source info file was successfully read, get
3740         the source data from the data read from the source info file.
3741         * prj-util.adb (Source_Info_Table): New table
3742         (Source_Info_Project_HTable): New hash table
3743         (Create): New procedure
3744         (Put (File), Put_Line): New procedures
3745         (Write_Source_Info_File): New procedure
3746         (Read_Source_Info_File): New procedure
3747         (Initialize): New procedure
3748         (Source_Info_Of): New procedure
3749         (Next): New procedure
3750         (Close): When file is an out file, fail if the buffer cannot be written
3751         or if the file cannot be close successfully.
3752         (Get_Line): Fail if file is an out file
3753         * prj-util.ads (Create): New procedure
3754         (Put (File), Put_Line): New procedures
3755         (Write_Source_Info_File): New procedure
3756         (Read_Source_Info_File): New procedure
3757         (Source_Info_Data): New record type
3758         (Source_Info_Iterator): New private type
3759         (Initialize): New procedure
3760         (Source_Info_Of): New procedure
3761         (Next): New procedure
3762         * prj.ads (Project_Tree_Data): New components Source_Info_File_Name and
3763         Source_Info_File_Exists.
3764
3765 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
3766
3767         * exp_ch4.adb: Fix typo.
3768
3769 2010-10-05  Thomas Quinot  <quinot@adacore.com>
3770
3771         * lib-writ.adb: Minor reformatting.
3772
3773 2010-10-05  Javier Miranda  <miranda@adacore.com>
3774
3775         * sem_ch3.adb (Access_Definition): Remove useless code.
3776
3777 2010-10-05  Emmanuel Briot  <briot@adacore.com>
3778
3779         * prj-env.adb, prj-env.ads (Set_Path): New subprogram.
3780         (Deep_Copy): Removed, not used.
3781
3782 2010-10-05  Javier Miranda  <miranda@adacore.com>
3783
3784         * sem_ch3.adb (Add_Internal_Interface_Entities): Code reorganization:
3785         move code that searches in the list of primitives of a tagged type for
3786         the entity that will be overridden by user-defined routines.
3787         * sem_disp.adb (Find_Primitive_Covering_Interface): Move here code
3788         previously located in routine Add_Internal_Interface_Entities.
3789         * sem_disp.ads (Find_Primitive_Covering_Interface): Update docs.
3790         * sem_ch6.adb (New_Overloaded_Entity): Add missing check on
3791         availability of attribute Alias.
3792
3793 2010-10-05  Ed Falis  <falis@adacore.com>
3794
3795         * s-taprop-vxworks.adb, s-osinte-vxworks.adb, s-osinte-vxworks.ads,
3796         s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.adb, s-vxwext-rtp.ads:
3797         Move definition of intContext to System.OS_Interface.
3798         Add necessary variants in System.VxWorks.Extensions.
3799
3800 2010-10-05  Doug Rupp  <rupp@adacore.com>
3801
3802         * s-asthan-vms-alpha.adb: On VMS, a task using
3803         pragma AST_Entry exhibits a memory leak when the task terminates
3804         because the vector allocated for the AST interface is not freed. Fixed
3805         by making the vector a controlled type.
3806
3807 2010-10-05  Emmanuel Briot  <briot@adacore.com>
3808
3809         * prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in
3810         a "**" pattern properly exists, and report an error otherwise.
3811
3812 2010-10-05  Emmanuel Briot  <briot@adacore.com>
3813
3814         * prj-env.ads: Use GNAT.OS_Lib rather than System.OS_Lib.
3815
3816 2010-10-05  Emmanuel Briot  <briot@adacore.com>
3817
3818         * prj-nmsc.adb, prj-err.adb (Expand_Subdirectory_Pattern): New
3819         subprogram.
3820         Extract some code from Get_Directories, to share with the handling
3821         of aggregate projects (for the Project_Files attributes)
3822
3823 2010-10-05  Emmanuel Briot  <briot@adacore.com>
3824
3825         * gnatcmd.adb, prj-proc.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
3826         switch-m.adb, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-env.adb,
3827         prj-env.ads, prj-tree.adb, prj-tree.ads (Project_Search_Path): New
3828         type.
3829
3830 2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
3831
3832         * exp_ch5.adb (Make_Field_Expr): Revert previous change (removed).
3833
3834 2010-10-05  Emmanuel Briot  <briot@adacore.com>
3835
3836         * prj-dect.adb, prj-nmsc.adb, prj-attr.adb, snames.ads-tmpl
3837         (Aggregate projects): added support for parsing aggregate projects.
3838         In particular, check the presence and value of the new attributes
3839         related to aggregate projects, ie Project_Files, Project_Path
3840         and External.
3841         (Check_Attribute_Allowed, Check_Package_Allowed,
3842         Rename_Obsolescent_Attributes): new subprogram, extracting code
3843         from existing subprogram to keep their sizes smaller.
3844         (Check_Aggregate_Project, Check_Abstract_Project,
3845         Check_Missing_Sources): new subprograms
3846         (Check): remove comments that duplicated either the name of the
3847         following subprogram call, or the comment on that subprogram.
3848         * prj-part.adb (Check_Extending_All_Imports): New subprogram, extracted
3849         from Parse_Single_Project.
3850         (Check_Aggregate_Imports): new subprogram.
3851
3852 2010-10-05  Vincent Celier  <celier@adacore.com>
3853
3854         * make.adb (Check): When compiling with -gnatc, recompile if the ALI
3855         file has not been generated for the current source, for example if it
3856         has been generated for the spec, but we are compiling the body.
3857
3858 2010-10-05  Bob Duff  <duff@adacore.com>
3859
3860         * xgnatugn.adb: Remove unused procedure.
3861
3862 2010-10-04  Vincent Celier  <celier@adacore.com>
3863
3864         * a-direct.adb (Copy_File): Interpret the Form parameter and call
3865         System.OS_Lib.Copy_File to do the work accordingly. Raise Use_Error if
3866         the Form parameter contains an incorrect value for field preserve= or
3867         mode=.
3868         * a-direct.ads (Create_Directory, Create_Path): Indicate that the Form
3869         parameter is ignored.
3870         (Copy_File): Indicate the interpretation of the Form parameter.
3871
3872 2010-10-04  Vincent Celier  <celier@adacore.com>
3873
3874         * make.adb (Gnatmake): When there are no foreign languages declared and
3875         a main in attribute Main of the main project does not exist or is a
3876         source of another project, fail immediately before attempting
3877         compilation.
3878
3879 2010-10-04  Javier Miranda  <miranda@adacore.com>
3880
3881         * exp_disp.ads (Convert_Tag_To_Interface): New function which must be
3882         used to convert a node referencing a tag to a class-wide interface
3883         type.
3884         * exp_disp.adb (Convert_Tag_To_Interface): New function.
3885         (Expand_Interface_Conversion): Replace invocation of
3886         Unchecked_Conversion by new function Convert_Tag_To_Interface.
3887         (Write_DT): Add support for null primitives.
3888         * exp_ch3.adb (Expand_N_Object_Declaration): For tagged type objects,
3889         cleanup code that handles interface conversions and avoid unchecked
3890         conversion of referenced tag components.
3891         * exp_ch5.adb (Expand_N_Assignment_Statement): Code cleanup. Avoid
3892         unrequired conversions when generating a dispatching call to _assign.
3893         * sprint.adb (Write_Itype): Fix wrong output of not null access itypes.
3894
3895 2010-10-04  Ed Schonberg  <schonberg@adacore.com>
3896
3897         * exp_ch4.adb (Expand_N_Op_Not): Handle properly both operands when the
3898         parent is a binary boolean operation and the operand is an unpacked
3899         array.
3900         (Build_Boolean_Array_Proc_Call): If the operands are both negations,
3901         the operands of the rewritten node are the operands of the negations,
3902         not the negations themselves.
3903
3904 2010-10-04  Robert Dewar  <dewar@adacore.com>
3905
3906         * sem_ch13.adb (Set_Biased): New procedure, now used throughout, adds
3907         name of entity to biased warning msg.
3908         (Analyze_Enumeration_Representation_Clause): Remove attempt to use
3909         biased rep (wrong and never worked anyway).
3910
3911 2010-10-04  Arnaud Charlet  <charlet@adacore.com>
3912
3913         * sem_elab.adb: Minor reformatting.
3914
3915 2010-10-04  Ed Schonberg  <schonberg@adacore.com>
3916
3917         * exp_ch4.adb (Expand_N_Null): Handle properly the case of a subtype of
3918         an access_to_protected subprogram type, and convert null value into
3919         corresponding aggregate.
3920
3921 2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
3922
3923         * gnat_ugn.texi: Clarify first point of 7.1.5 about pragma Inline.
3924
3925 2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
3926
3927         * make.adb (Scan_Make_Arg): Pass -Oxxx switches to the linker as well.
3928         * gnatlink.adb (Gnatlink): Filter out -Oxxx switches for CLI, RTX and
3929         AAMP.
3930
3931 2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
3932
3933         * sem_ch4.adb (Analyze_Indexed_Component_Form): Remove redundant test
3934         for N_Operator_Symbol.
3935         (Indicate_Name_And_Type): Likewise.
3936         * sem_ch8.adb (Analyze_Subprogram_Renaming): Likewise.
3937         * sem_res.adb (Resolve): Likewise.