OSDN Git Service

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