OSDN Git Service

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