OSDN Git Service

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