OSDN Git Service

2010-10-08 Robert Dewar <dewar@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2010-10-08  Robert Dewar  <dewar@adacore.com>
2
3         * sem_ch6.adb: Minor reformatting.
4
5 2010-10-08  Robert Dewar  <dewar@adacore.com>
6
7         * gnat1drv.adb: Add call to Validate_Independence.
8         * par-prag.adb: Add dummy entries for Independent,
9         Independent_Componentsa.
10         * sem_ch13.adb (Validate_Independence): New procedure
11         (Initialize): Initialize address clause and independence check tables
12         * sem_ch13.ads (Independence_Checks): New table
13         (Validate_Independence): New procedure
14         * sem_prag.adb: Add processing for pragma Independent[_Components]
15         * snames.ads-tmpl: Add entries for pragma Independent[_Components]
16
17 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
18
19         * sem_aggr.adb (Propagate_Discriminants): When expanding an aggregate
20         component with box initialization, if the component is a variant record
21         use the values of the discriminants to select the proper variant for
22         further box initialization.
23
24 2010-10-08  Thomas Quinot  <quinot@adacore.com>
25
26         * xsnames.adb: Remove obsolete file.
27         * make.adb, sem_ch8.adb, einfo.ads: Minor reformatting.
28
29 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
30
31         * exp_aggr.adb: Complete previous change.
32
33 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
34
35         * sem_ch6.adb (Check_Return_Subtype): The subtype indication in an
36         extended return must match statically the return subtype of the
37         enclosing function if the type is an elementary type or if it is
38         constrained.
39
40 2010-10-08  Vincent Celier  <celier@adacore.com>
41
42         * prj-nmsc.adb (Add_Source): Report all duplicate units and source file
43         names.  Do not report the same duplicate unit several times.
44         * prj.ads (Source_Data): New Boolean component Duplicate_Unit,
45         defaulted to False, to avoid reporting the same unit as duplicate
46         several times.
47
48 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
49
50         * sem_aggr.adb (Resolve_Array_Aggregate): If the expression in an
51         others choice is a literal analyze it now to enable later optimizations.
52         * exp_aggr.adb (Expand_Record_Aggregate): An aggregate with static size
53         and components can be handled by the backend even if it is of a limited
54         type.
55
56 2010-10-08  Arnaud Charlet  <charlet@adacore.com>
57
58         * a-rttiev.adb (task Timer): Since this package may be elaborated
59         before System.Interrupt, we need to call Setup_Interrupt_Mask
60         explicitly to ensure that this task has the proper signal mask.
61
62 2010-10-08  Robert Dewar  <dewar@adacore.com>
63
64         * freeze.adb (Freeze_Entity): For array case, move some processing for
65         pragma Pack, Component_Size clause and atomic/volatile components here
66         instead of trying to do the job in Sem_Ch13 and Freeze.
67         * layout.adb: Use new Addressable function
68         * sem_ch13.adb (Analyze_Attribute_Representation_Clause, case
69         Component_Size): Move some handling to freeze point in
70         Freeze.Freeze_Entity.
71         * sem_prag.adb (Analyze_pragma, case Pack): Move some handling to
72         freeze point in Freese.Freeze_Entity.
73         * sem_util.ads, sem_util.adb (Addressable): New function.
74
75 2010-10-08  Robert Dewar  <dewar@adacore.com>
76
77         * sprint.adb: Minor reformatting.
78
79 2010-10-08  Javier Miranda  <miranda@adacore.com>
80
81         * exp_ch4.adb (Real_Range_Check): Declare temporary as constant.
82
83 2010-10-08  Robert Dewar  <dewar@adacore.com>
84
85         * sem_ch3.adb: Minor reformatting.
86
87 2010-10-08  Vincent Celier  <celier@adacore.com>
88
89         * ali-util.adb (Get_File_Checksum): Make sure that external_as_list is
90         not a reserved word.
91         * prj-proc.adb (Expression): Process string list external references.
92         * prj-strt.adb (External_Reference): Parse external_as_list external
93         references.
94         * prj-tree.ads (Expression_Kind_Of): Allowed for N_External_Value nodes
95         (Set_Expression_Kind_Of): Ditto
96         * prj.adb (Initialize): Set external_as_list as a reserved word
97         * projects.texi: Document new string external reference external_as_list
98         * scans.ads (Token_Type): New token Tok_External_As_List
99         * snames.ads-tmpl: New standard name Name_External_As_List
100
101 2010-10-08  Thomas Quinot  <quinot@adacore.com>
102
103         * sem_prag.adb: Minor reformatting.
104
105 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
106
107         * sem_ch3.adb (Derived_Type_Declaration): In the private part of an
108         instance, it is legal to derive from a non-limited actual when the
109         formal type is untagged limited.
110         * sem_ch12.adb (Instantiate_Type): For a formal private type, use
111         analyzed formal as Generic_Parent_Type, to simplify later checks.
112
113 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
114
115         * sem_res.adb (Insert_Default): If default value is already a
116         raise_constraint_error do not rewrite it as new raise node, to prevent
117         infinite loops in the warning removal machinery.
118
119 2010-10-08  Robert Dewar  <dewar@adacore.com>
120
121         * sem_util.adb, sem_prag.adb: Minor reformatting
122
123 2010-10-08  Hristian Kirtchev  <kirtchev@adacore.com>
124
125         * gnat_rm.texi: Remove the section on pragma Implemented_By_Entry.
126         Add section on pragma Implemented.
127
128 2010-10-08  Ed Schonberg  <schonberg@adacore.com>
129
130         * sem_ch3.adb (Derive_Subprogram): If an abstract extension has a
131         concrete parent with a concrete constructor, the inherited constructor
132         is abstract even if the derived type is a null extension.
133
134 2010-10-08  Thomas Quinot  <quinot@adacore.com>
135
136         * sem_ch4.adb: Minor reformatting.
137
138 2010-10-08  Hristian Kirtchev  <kirtchev@adacore.com>
139
140         * einfo.adb: Flag 232 (formerly Implemented_By_Entry) is now unused.
141         (Implemented_By_Entry): Removed.
142         (Set_Implemented_By_Entry): Removed.
143         (Write_Entity_Flags): Remove the output for Implemented_By_Entry.
144         * einfo.ads: Remove flag Implemented_By_Entry and its usage in entities.
145         (Implemented_By_Entry): Removed along with its associated pragma Inline.
146         (Set_Implemented_By_Entry): Removed along with its associated pragma
147         Inline.
148         * exp_ch9.adb: Alphabetize with and use clauses of Exp_Ch9.
149         (Build_Dispatching_Call_Equivalent): New routine.
150         (Build_Dispatching_Requeue): New routine.
151         (Build_Dispatching_Requeue_To_Any): New routine.
152         (Build_Normal_Requeue): New routine.
153         (Build_Skip_Statement): New routine.
154         (Expand_N_Requeue_Statement): Rewritten. The logic has been split into
155         several subroutines.
156         * par-prag.adb: Replace Pragma_Implemented_By_Entry by
157         Pragma_Implemented.
158         * sem_ch3.adb (Check_Abstract_Overriding): Perform checks concerning
159         pragma Implemented.
160         (Check_Pragma_Implemented): New routines.
161         (Inherit_Pragma_Implemented): New routine.
162         * sem_ch9.adb (Analyze_Requeue): Update the predicate which detects a
163         dispatching requeue.
164         * sem_prag.adb: Update array Sig_Flags by removing Implemented_By_Entry
165         and adding Implemented.
166         (Ada_2012_Pragma): New routine.
167         (Analyze_Pragma, case Implemented): Perform all necessary checks
168         concerning pragma Implemented and register the pragma as a
169         representation item with the procedure_LOCAL_NAME.
170         (Analyze_Pragma, case Implemented_By_Entry): Removed.
171         * sem_util.adb (Implementation_Kind): New routine.
172         * sem_util.ads (Implementation_Kind): New routine.
173         * snames.ads-tmpl: Remove Name_Implemented_By_Entry and add
174         Name_Implemented. Remove pragma name Pragma_Implemented_By_Entry and
175         add Pragma_Implemented. Add special names By_Any, By_Entry and
176         By_Protected_Procedure.
177
178 2010-10-08  Javier Miranda  <miranda@adacore.com>
179
180         * exp_ch3.adb (Expand_Freeeze_Record_Type): Code cleanup: remove local
181         variable Has_Static_DT by invocation of function Building_Static_DT.
182
183 2010-10-08  Vincent Celier  <celier@adacore.com>
184
185         * g-dirope.adb (Remove_Dir): Do not change the current directory when
186         doing a recursive remove of a subdirectory.
187
188 2010-10-08  Javier Miranda  <miranda@adacore.com>
189
190         * exp_ch6.ad (Freeze_Subprogram): Factorize code.
191         * exp_disp.adb (Make_Secondary_DT): Factorize code.
192         (Make_DT): Factorize code.
193
194 2010-10-08  Robert Dewar  <dewar@adacore.com>
195
196         * sem_ch4.adb: Minor reformatting.
197
198 2010-10-08  Robert Dewar  <dewar@adacore.com>
199
200         * sem_ch6.adb (Check_Conformance): Check null exclusion match for full
201         conformance.
202
203 2010-10-08  Thomas Quinot  <quinot@adacore.com>
204
205         * sem_ch12.adb (Instantiate_Object): Rename Formal_Id to Gen_Obj, for
206         consistency with Gen_T in Instantiate_Type.
207         Introduce constant A_Gen_Obj to avoid repeated queries for
208         Defining_Identifier (Analyzed_Formal).
209
210 2010-10-08  Vincent Celier  <celier@adacore.com>
211
212         * prj-nmsc.adb: Minor comment fix.
213
214 2010-10-07  Robert Dewar  <dewar@adacore.com>
215
216         * sem_prag.adb, sem_ch13.adb: Implement AI05-0012-1/02.
217         * gcc-interface/Make-lang.in: Update dependencies.
218
219 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
220
221         * sem_ch12.ad: (Instantiate_Object): For an in-out formal of a child
222         unit, if the type of the formal is declared in a parent unit and is not
223         a formal itself, the actual must be located from an enclosing parent
224         instance by normal visibility.
225
226 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
227
228         * sem_ch4.adb (Analyze_Allocator): In Ada 2012, a null_exclusion
229         indicator is illegal for an uninitialized allocator.
230
231 2010-10-07  Robert Dewar  <dewar@adacore.com>
232
233         * sem_prag.adb (Analyze_Attribute_Definition_Clause, case
234         Component_Size): Complete previous change.
235
236 2010-10-07  Vincent Celier  <celier@adacore.com>
237
238         * scng.adb (Scan): Call Accumulate_Token_Checksum for Tok_Identifier,
239         even for keywords, to avoid having the checksum to depend on the Ada
240         version.
241
242 2010-10-07  Gary Dismukes  <dismukes@adacore.com>
243
244         * sem_aggr.adb, sem_ch12.adb, sem_ch6.adb, par-ch5.adb,
245         exp_ch3.adb: Minor reformatting.
246
247 2010-10-07  Robert Dewar  <dewar@adacore.com>
248
249         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
250         Component_Size): It is now illegal to give an incorrect component size
251         clause in the case of aliased or atomic components.
252         * sem_prag.adb (Analyze_Pragma, case Pack): It is now illegal to give
253         an effective pragma Pack in the case of aliased or atomic components.
254
255 2010-10-07  Steve Baird  <baird@adacore.com>
256
257         * exp_ch4.adb (Expand_N_Allocator): Do not bypass expansion
258         in the case of a violation of an active No_Task_Hierarchy restriction.
259
260 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
261
262         * sem_ch12.adb (Validate_Derived_Type_Instance): If a formal derived
263         type is non-limited, an actual for it cannot be limited.
264
265 2010-10-07  Robert Dewar  <dewar@adacore.com>
266
267         * einfo.ads (No_Pool_Assigned): Update documentation.
268         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
269         Storage_Size): We only set No_Pool_Assigned if the expression is a
270         static constant and zero.
271         * sem_res.adb (Resolve_Allocator): Allocation from empty storage pool
272         should be an error not a warning.
273
274 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
275
276         * exp_aggr.adb (Expand_Array_Aggregate): Recognize additional cases
277         where an aggregate in an assignment can be built directly into the
278         target, and does not require the creation of a temporary that may
279         overflow the stack.
280
281 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
282
283         * sem_aggr.adb (Analyze_Record_Aggregate): In Ada2012, a choice list
284         in a record aggregate can correspond to several components of
285         anonymous access types, as long as the designated subtypes match.
286
287 2010-10-07  Robert Dewar  <dewar@adacore.com>
288
289         * gnat_rm.texi, exp_util.adb, sinfo.adb, sinfo.ads, sem_ch12.adb,
290         sem.adb, gnat_ugn.texi, sem_util.ads, par-ch6.adb, targparm.ads,
291         restrict.adb, sem_ch6.adb, sem_ch6.ads, sprint.adb, i-c.ads: Change
292         spelling parametrize(d) => parameterize(d).
293
294 2010-10-07  Robert Dewar  <dewar@adacore.com>
295
296         * sem_ch12.adb: Add comment.
297         * sem_ch6.adb: Minor reformatting.
298
299 2010-10-07  Robert Dewar  <dewar@adacore.com>
300
301         * par-ch3.adb, par-ch6.adb, par-ch7.adb, par-ch9.adb, par-ch10.adb: Add
302         Pexp to Pf_Rec constants
303         (P_Subprogram): Expression is always enclosed in parentheses
304         * par.adb (Pf_Rec): add Pexp flag for parametrized expression
305         * sinfo.ads (N_Parametrized_Expression): Expression must be in parens
306
307 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
308
309         * sem_ch6.adb (Analyze_Subprogram_Specification): Implement Ada2012
310         checks on functions that return an abstract type or have a controlling
311         result whose designated type is an abstract type.
312         (Check_Private_Overriding): Implement Ada2012 checks on functions
313         declared in the private part, if an abstract type is involved.
314         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): In Ada2012,
315         reject a generic function that returns an abstract type.
316         * exp_ch5.adb (Expand_Simple_Function_Return): in Ada2012, if a
317         function has a controlling access result, check that the tag of the
318         return value matches the designated type of the return expression.
319
320 2010-10-07  Robert Dewar  <dewar@adacore.com>
321
322         * par-ch6.adb: Fix error in handling of parametrized expressions.
323         * par-ch4.adb (P_Name): Allow qualified expression as name in Ada 2012
324         mode.
325         (P_Simple_Expression): Better message for qualified expression prefix
326         * s-crc32.adb: Minor reformatting.
327         * exp_intr.adb (Expand_Unc_Deallocation): Remove test for empty
328         storage pool (this test is moved to Sem_Intr).
329         * sem_intr.adb (Check_Intrinsic_Call): Add check for deallocation from
330         empty storage pool, moved here from Exp_Intr and made into error.
331         (Check_Intrinsic_Call): Remove assumption in generating not-null free
332         warning that the name of the instantiation is Free.
333         * sinput.adb (Tree_Read): Document use of illegal free call allowed in
334         GNAT mode.
335         * types.ads: Remove storage size clauses from big types (since we may
336         need to do deallocations, which are now illegal for empty pools).
337
338 2010-10-07  Sergey Rybin  <rybin@adacore.com>
339
340         * gnat_ugn.texi: Add missing word.
341
342 2010-10-07  Robert Dewar  <dewar@adacore.com>
343
344         * exp_util.adb (Insert_Actions): Add handling of
345         N_Parametrized_Expression.
346         * par-ch6.adb (P_Subprogram): Add parsing of parametrized expression
347         * sem.adb: Add entry for N_Parametrized_Expression
348         * sem_ch6.adb (Analyze_Parametrized_Expression): New procedure
349         * sem_ch6.ads (Analyze_Parametrized_Expression): New procedure
350         * sinfo.ads, sinfo.adb: Add N_Parametrized_Expression
351         * sprint.adb (Sprint_Node): Add handling for N_Parametrized_Expression
352         * par-ch4.adb: Minor reformatting.
353
354 2010-10-07  Robert Dewar  <dewar@adacore.com>
355
356         * scng.adb (Skip_Other_Format_Characters): New procedure
357         (Start_Of_Wide_Character): New procedure
358         (Scan): Use Start_Of_Wide_Character where appropriate
359         (Scan): Improve error message for other_format chars in identifier
360         (Scan): Allow other_format chars between tokens
361
362 2010-10-07  Javier Miranda  <miranda@adacore.com>
363
364         * exp_util.adb (Safe_Prefixed_Reference): When removing side effects,
365         Add missing support for explicit dereferences.
366
367 2010-10-07  Robert Dewar  <dewar@adacore.com>
368
369         * par-ch10.adb, par-ch3.adb, par.adb: Minor reformatting.
370
371 2010-10-07  Robert Dewar  <dewar@adacore.com>
372
373         * exp_disp.adb, exp_dist.adb, exp_util.ads, exp_util.adb,
374         exp_ch11.adb: Rename Full_Qualified_Name to Fully_Qualified_Name_String
375         * sem_util.adb, sem_util.ads (Full_Qualified_Name): Moved to
376         Exp_Util.Fully_Qualified_Name_String.
377
378 2010-10-07  Robert Dewar  <dewar@adacore.com>
379
380         * rtsfind.ads: Add entry for Ada.Real_Time.Timing_Events.Set_Handler
381         * sem_res.adb (Resolve_Call): A call to
382         Ada.Real_Time.Timing_Events.Set_Handler violates restriction
383         No_Relative_Delay (AI-0211).
384
385 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
386
387         * sem_ch10.adb: Small change in error message.
388
389 2010-10-07  Robert Dewar  <dewar@adacore.com>
390
391         * tbuild.ads: Minor reformatting.
392
393 2010-10-07  Robert Dewar  <dewar@adacore.com>
394
395         * gnatcmd.adb, make.adb, prj-nmsc.adb, sem_elab.adb: Minor reformatting
396
397 2010-10-07  Arnaud Charlet  <charlet@adacore.com>
398
399         * exp_ch11.adb (Expand_N_Exception_Declaration): Update comments.
400
401 2010-10-07  Robert Dewar  <dewar@adacore.com>
402
403         * sem_res.adb: Minor reformatting
404
405 2010-10-07  Olivier Ramonat  <ramonat@adacore.com>
406
407         * gnat_ugn.texi: Minor editing.
408         * opt.ads: Document that scripts rely on specific formats in opt.ads
409
410 2010-10-07  Robert Dewar  <dewar@adacore.com>
411
412         * a-wichun.ads, a-wichun.adb (To_Lower_Case): New function
413         (To_Upper_Case): Fix to be inverse of To_Lower_Case
414         * a-zchuni.ads, a-zchuni.adb (To_Lower_Case): New function
415         (To_Upper_Case): Fix to be inverse of To_Lower_Case
416
417 2010-10-07  Robert Dewar  <dewar@adacore.com>
418
419         * a-wichha.adb, a-wichha.ads, a-zchhan.adb, a-zchhan.ads: New file.
420         * impunit.adb: Add entries for a-wichha/a-zchhan
421         * Makefile.rtl: Add entries for a-wichha/a-zchhan
422
423 2010-10-07  Vincent Celier  <celier@adacore.com>
424
425         * make.adb (Check): Call Check_Source_Info_In_ALI with Project_Tree
426         * makeutl.adb (Check_Source_Info_In_ALI): If there is at least one
427         replaced source, check that none of the replaced sources are in the
428         dependencies.
429         * makeutl.ads (Check_Source_Info_In_ALI): New parameter Tree
430         * prj-nmsc.adb (Remove_Source): New parameter Tree. If the source is
431         replaced with a source with a different file name, put it in the hash
432         table Replaced_Sources.
433         (Add_Source): Call Remove_Source with Data.Tree. If there is at least
434         one replaced source, check if it has the same file name as the current
435         source; if it has, remove it from the hash table Replaced_Sources.
436         * prj.adb (Reset): Reset hash table Tree.Replaced_Sources
437         * prj.ads (Replaced_Source_HTable): New hash table
438         (Project_Tree_Data): New components Replaced_Sources and
439         Replaced_Source_Number.
440
441 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
442
443         * sem_elab.adb (Check_A_Call): After inserting elaboration check, set
444         proper flag to prevent a double elaboration check on the same call.
445         * exp_util.adb (Insert_Actions): If the enclosing node is an
446         Expression_With_Actions and it has been analyzed already, find
447         insertion point further up in the tree.
448
449 2010-10-07  Hristian Kirtchev  <kirtchev@adacore.com>
450
451         * sem_ch13.adb (Analyze_Record_Representation_Clause): Alphabetize all
452         local variables. Remove the general restriction which prohibits the
453         application of record rep clauses to Unchecked_Union types. Add Ada
454         2012 check to detect improper naming of an Unchecked_Union
455         discriminant in record rep clause.
456         * sem_prag.adb: Add with and use clause for Exp_Ch7.
457         (Analyze_Pragma): Unchecked_Union case: Propagate the Unchecked_Union
458         type to all invocations of Check_Component and Check_Variant.
459         (Check_Component): Add formal parameters UU_Typ and In_Variant_Part.
460         Rewritten.  Add Ada 2012 check to detect improper use of formal
461         private types and private extensions as component types of an
462         Unchecked_Union declared inside a generic body.
463         (Check_Variant): Add formal parameter UU_Typ. Propagate the
464         Unchecked_Union type to all calls of Check_Component. Signal that the
465         current component comes from the variant part of an Unchecked_Union
466         type.
467         (Inside_Generic_Body): New routine.
468
469 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
470
471         * exp_ch4.adb (Expand_Composite_Equality): When looking for a primitive
472         equality operation for a record component, verify that both formals
473         have the same type, and the result type is boolean.
474
475 2010-10-07  Vincent Celier  <celier@adacore.com>
476
477         * gnatcmd.adb (Check_Files): When looking for the .ci file for a
478         binder generated file, look for both b~xxx and b__xxx as gprbuild
479         always uses b__ as the prefix of such files.
480
481 2010-10-07  Thomas Quinot  <quinot@adacore.com>
482
483         * sem_res.adb: Minor reformatting.
484
485 2010-10-07  Arnaud Charlet  <charlet@adacore.com>
486
487         * debug.adb: Update -gnatd.J documentation.
488
489 2010-10-07  Robert Dewar  <dewar@adacore.com>
490
491         * gnat_rm.texi: Document handling of invalid values
492         * s-utf_32.ads, s-utf_32.adb (UTF_To_Lower_Case): Fix implementation
493         to match new spec.
494         (UTF_To_Upper_Case): New function.
495
496 2010-10-07  Robert Dewar  <dewar@adacore.com>
497
498         * sem_attr.adb: Minor reformatting.
499         * einfo.ads, einfo.adb (Is_Ada_2012_Only): New flag
500         * itypes.adb (Create_Null_Excluding_Itype): Set Is_Ada_2012_Only flag
501         properly.
502         * lib-xref.adb (Generate_Reference): Warn on use of Ada 2012 entity in
503         non-Ada 2012 mode.
504         * opt.ads (Warn_On_Ada_2012_Compatibility): New flag
505         * sem_ch3.adb (Analye_Subtype_Declaration): Inherit Is_Ada_2012_Only
506         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Is_Ada_2012_Only
507         flag.
508         * sem_prag.adb (Analyze_Pragma, case Ada_12/Ada_2012): Allow form with
509         argument.
510         * sem_type.adb (Disambiguate): Deal with Is_Ada_2012_Only.
511         * sem_warn.adb (Warn_On_Ada_2012_Compatibility): New flag, treated
512         same as 2005 flag.
513
514 2010-10-07  Javier Miranda  <miranda@adacore.com>
515
516         * a-tags.ads: Use new support for pragma Ada_2012 with function
517         Type_Is_Abstract.
518
519 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
520
521         * par-ch5.adb (P_Sequence_Of_Statements): In Ada2012 a label can end a
522         sequence of statements.
523
524 2010-10-07  Vincent Celier  <celier@adacore.com>
525
526         * gnatcmd.adb (Check_Files): Only add a .ci files if it exists
527
528 2010-10-07  Javier Miranda  <miranda@adacore.com>
529
530         * a-tags.ads, a-tags.adb (Type_Is_Abstract): New subprogram.
531         * rtsfind.ads (RE_Type_Is_Abstract): New entity.
532         * exp_disp.adb (Make_DT): Initialize TSD component Type_Is_Abstract.
533
534 2010-10-07  Arnaud Charlet  <charlet@adacore.com>
535
536         * sem_ch12.adb (Mark_Context): Removed, no longer needed.
537         (Analyze_Package_Instantiation): No longer analyze systematically a
538         generic body in CodePeer mode.
539         * freeze.adb, sem_attr.adb: Update comments.
540
541 2010-10-05  Robert Dewar  <dewar@adacore.com>
542
543         * par-ch5.adb (Test_Statement_Required): Allow all pragmas in Ada 2012
544         mode.
545
546 2010-10-05  Pascal Obry  <obry@adacore.com>
547
548         * gnat_rm.texi: Fix typo.
549
550 2010-10-05  Arnaud Charlet  <charlet@adacore.com>
551
552         * gnat_ugn.texi: Add note about identifiers with same name and
553         -fdump-ada-spec.
554
555 2010-10-05  Robert Dewar  <dewar@adacore.com>
556
557         * sem_ch4.adb: Minor reformatting.
558         * a-direct.ads: Minor comment update.
559
560 2010-10-05  Javier Miranda  <miranda@adacore.com>
561
562         * sem_ch3.adb (Add_Internal_Interface_Entities): Removing code that is
563         no longer required after change in New_Overloaded_Entity.
564         * sem_ch6.adb (New_Overloaded_Entity): Code reorganization to isolate
565         the fragment of code that handles derivations of interface primitives.
566         Add missing dependence on global variable Inside_Freezing_Actions to
567         ensure the correct management of internal interface entities.
568         * sem_ch13.adb (Analyze_Freeze_Entity): Add missing increase/decrease
569         of the global variable Inside_Freezing_Actions to ensure that internal
570         interface entities are well handled by New_Overloaded_Entity.
571         * sem_disp.adb (Find_Primitive_Covering_Interface): Add documentation
572         and complete the algorithm to catch hidden primitives derived of
573         private type that covers the interface.
574         * sem_disp.ads (Find_Primitive_Covering_Interface): Add missing
575         documentation.
576
577 2010-10-05  Robert Dewar  <dewar@adacore.com>
578
579         * prj-util.adb, prj-util.ads, prj.ads, s-vxwext-rtp.adb, sem_ch4.adb,
580         sem_ch7.adb, sem_res.adb, sem_type.adb: Minor reformatting.
581         Minor code reorganization (use Nkind_In).
582
583 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
584
585         * sem_ch10.adb (Analyze_Task_Body_Stub): Diagnose duplicate stub for
586         task.
587
588 2010-10-05  Vincent Celier  <celier@adacore.com>
589
590         * gnatbind.adb: If the main library file is not for a suitable main
591         program, change the error message.
592
593 2010-10-05  Vincent Celier  <celier@adacore.com>
594
595         * a-direct.ads: Minor spelling error fixes in comments.
596         * gnat_rm.texi: Add three entries in "Implementation Defined
597         Characteristics" for the interpretations of the Form parameters in
598         Ada.Directories.
599
600 2010-10-05  Robert Dewar  <dewar@adacore.com>
601
602         * exp_ch3.adb, exp_ch5.adb, exp_disp.adb, exp_dist.adb, gnatlink.adb,
603         makeutl.adb, par-ch6.adb, prj-dect.adb, prj-env.adb, prj-env.ads,
604         prj-ext.adb, prj-nmsc.adb, prj-part.adb, prj-pp.ads: Minor code
605         reorganization.
606         Minor reformatting.
607
608 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
609
610         * sem_res.adb (Check_Parameterless_Call): If the prefix of 'Address is
611         an explicit dereference of an access to function, the prefix is not
612         interpreted as a parameterless call.
613
614 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
615
616         * exp_attr.adb: For 'Read and 'Write, use full view of base type if
617         private.
618
619 2010-10-05  Vincent Celier  <celier@adacore.com>
620
621         * make.adb (Switches_Of): Allow wild cards in index of attributes
622         Switches.
623         * prj-util.adb (Value_Of): When Allow_Wildcards is True, use the index
624         of the associative array as a glob regular expression.
625         * prj-util.ads (Value_Of (Index, In_Array)): New Boolean parameter
626         Allow_Wildcards, defaulted to False.
627         (Value_Of (Name, Attribute_Or_Array_Name)): Ditto
628         * projects.texi: Document that attribute Switches (<file name>) may
629         use wild cards in the index.
630
631 2010-10-05  Robert Dewar  <dewar@adacore.com>
632
633         * a-direct.adb, a-direct.ads, back_end.adb, checks.adb,
634         einfo.adb: Minor reformatting.
635         * debug.adb: Remove obsolete documentation for d.Z flag.
636
637 2010-10-05  Vincent Celier  <celier@adacore.com>
638
639         * vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake
640         switch --create-info-file=.
641         * gnat_ugn.texi: Add documentation for new gnatmake switch
642         --source-info=
643
644 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
645
646         * sem_ch3.adb: Do not elaborate type definition if syntax error.
647
648 2010-10-05  Javier Miranda  <miranda@adacore.com>
649
650         * sprint.adb (Sprint_Node_Actual): Improve output of subprogram bodies
651         to generate the full-qualified names of its corresponding spec.
652         This facilitates locating the corresponing body when reading
653         the DG output.
654
655 2010-10-05  Thomas Quinot  <quinot@adacore.com>
656
657         * exp_dist.adb (Make_Helper_Function_Name): For a tagged type, use
658         canonical name without serial number only if the helper is becoming a
659         primitive of the type.
660
661 2010-10-05  Javier Miranda  <miranda@adacore.com>
662
663         * exp_disp.adb (Make_DT): Minor code reorganization.
664
665 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
666
667         * par-ch6.adb: improve recovery with extra paren in function spec.
668
669 2010-10-05  Quentin Ochem  <ochem@adacore.com>
670
671         * prj-tree.ads: Project_Path is now aliased.
672
673 2010-10-05  Thomas Quinot  <quinot@adacore.com>
674
675         * checks.adb: Minor reformatting.
676
677 2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
678
679         * mlib-tgt-specific-mingw.adb (No_Argument_List): Delete.
680         (Shared_Libgcc): New aliased variable.
681         (Shared_Libgcc_Switch): New constant.
682         (Build_Dynamic_Library): Pass Shared_Libgcc_Switch to the compiler
683         * gcc-interface/Makefile.in (gnatlib-shared-win32): Pass -shared-libgcc
684         to the compiler.
685         * gcc-interface/Make-lang.in: Update dependencies.
686         
687 2010-10-05  Vincent Celier  <celier@adacore.com>
688
689         * prj-part.adb (Parse_Simple_Project): When checking if a child project
690         imports its parent project, also look in projects being extended by
691         imported projects.
692
693 2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
694
695         * gnat_ugn.texi: Adjust instructions in G.10 Building DLLs with GNAT.
696
697 2010-10-05  Javier Miranda  <miranda@adacore.com>
698
699         * exp_cg.adb (Slot_Number): Add support to handle aliased entities.
700         (Generate_CG_Output): Switch -gnatd.Z is no longer needed to
701         activate this output.
702
703 2010-10-05  Arnaud Charlet  <charlet@adacore.com>
704
705         * back_end.adb (Call_Back_End): Generate an error message when scil
706         generation is enabled, and no scil back-end (by default) is available.
707
708 2010-10-05  Javier Miranda  <miranda@adacore.com>
709
710         * debug.adb: Update documentation because -gnatd.Z is no longer required
711         to generate the call-graph information.
712
713 2010-10-05  Javier Miranda  <miranda@adacore.com>
714
715         * exp_ch5.adb (Expand_Simple_Function_Return): Rewrite expansion of a
716         runtime access check by an equivalent expansion that causes
717         no problems in the VM backend. The original expansion was
718         not good for the VM backends because when Tagged_Type_Expansion
719         is disabled the attribute Access_Disp_Table is not available.
720
721 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
722
723         * sem_type.adb (Covers): In a dispatching context, T1 covers T2 if T2
724         is class-wide and T1 is its specific type.
725
726 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
727
728         * einfo.adb: Add guard to Is_String_Type to prevent cascaded errors.
729
730 2010-10-05  Vincent Celier  <celier@adacore.com>
731
732         * back_end.ads: Minor spelling error correction.
733
734 2010-10-05  Arnaud Charlet  <charlet@adacore.com>
735
736         * switch-c.adb, gnat1drv.adb (Scan_Front_End_Switches): Disable
737         warnings when -gnatC is specified here so that warnings can be
738         re-enabled  explicitly.
739         (Adjust_Global_Switches): No longer suppress warnings.
740
741 2010-10-05  Vincent Celier  <celier@adacore.com>
742
743         * makeutl.adb: Minor reformatting.
744
745 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
746
747         * sem_ch4.adb: add guard in Analyze_One_Call to prevent crash when a
748         non-discrete type appears as an actual in a call.
749
750 2010-10-05  Vincent Celier  <celier@adacore.com>
751
752         * make.adb (Scan_Make_Arg): Take into account new switch
753         --source-info=file.
754         * makeusg.adb: Add line for new switch --source-info=file.
755         * makeutl.ads (Source_Info_Option): New constant String for new builder
756         switch.
757         * prj-conf.adb: Put subprograms in alphabetical order
758         (Process_Project_And_Apply_Config): Read/write an eventual source info
759         file, if necessary.
760         * prj-nmsc.adb (Look_For_Sources.Get_Sources_From_Source_Info): New
761         procedure.
762         (Look_For_Sources): If a source info file was successfully read, get the
763         source data from the data read from the source info file.
764         * prj-util.adb (Source_Info_Table): New table
765         (Source_Info_Project_HTable): New hash table
766         (Create): New procedure
767         (Put (File), Put_Line): New procedures
768         (Write_Source_Info_File): New procedure
769         (Read_Source_Info_File): New procedure
770         (Initialize): New procedure
771         (Source_Info_Of): New procedure
772         (Next): New procedure
773         (Close): When file is an out file, fail if the buffer cannot be written
774         or if the file cannot be close successfully.
775         (Get_Line): Fail if file is an out file
776         * prj-util.ads (Create): New procedure
777         (Put (File), Put_Line): New procedures
778         (Write_Source_Info_File): New procedure
779         (Read_Source_Info_File): New procedure
780         (Source_Info_Data): New record type
781         (Source_Info_Iterator): New private type
782         (Initialize): New procedure
783         (Source_Info_Of): New procedure
784         (Next): New procedure
785         * prj.ads (Project_Tree_Data): New components Source_Info_File_Name and
786         Source_Info_File_Exists.
787
788 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
789
790         * exp_ch4.adb: Fix typo.
791
792 2010-10-05  Thomas Quinot  <quinot@adacore.com>
793
794         * lib-writ.adb: Minor reformatting.
795
796 2010-10-05  Javier Miranda  <miranda@adacore.com>
797
798         * sem_ch3.adb (Access_Definition): Remove useless code.
799
800 2010-10-05  Emmanuel Briot  <briot@adacore.com>
801
802         * prj-env.adb, prj-env.ads (Set_Path): New subprogram.
803         (Deep_Copy): Removed, not used.
804
805 2010-10-05  Javier Miranda  <miranda@adacore.com>
806
807         * sem_ch3.adb (Add_Internal_Interface_Entities): Code reorganization:
808         move code that searches in the list of primitives of a tagged type for
809         the entity that will be overridden by user-defined routines.
810         * sem_disp.adb (Find_Primitive_Covering_Interface): Move here code
811         previously located in routine Add_Internal_Interface_Entities.
812         * sem_disp.ads (Find_Primitive_Covering_Interface): Update documentation
813         * sem_ch6.adb (New_Overloaded_Entity): Add missing check on
814         availability of attribute Alias.
815
816 2010-10-05  Ed Falis  <falis@adacore.com>
817
818         * s-taprop-vxworks.adb, s-osinte-vxworks.adb, s-osinte-vxworks.ads,
819         s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.adb, s-vxwext-rtp.ads:
820         Move definition of intContext to System.OS_Interface.
821         Add necessary variants in System.VxWorks.Extensions.
822
823 2010-10-05  Doug Rupp  <rupp@adacore.com>
824
825         * s-asthan-vms-alpha.adb: On VMS, a task using
826         pragma AST_Entry exhibits a memory leak when the task terminates
827         because the vector allocated for the AST interface is not freed. Fixed
828         by making the vector a controlled type.
829
830 2010-10-05  Emmanuel Briot  <briot@adacore.com>
831
832         * prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in
833         a "**" pattern properly exists, and report an error otherwise.
834
835 2010-10-05  Emmanuel Briot  <briot@adacore.com>
836
837         * prj-env.ads: Use GNAT.OS_Lib rather than System.OS_Lib.
838
839 2010-10-05  Emmanuel Briot  <briot@adacore.com>
840
841         * prj-nmsc.adb, prj-err.adb (Expand_Subdirectory_Pattern): New
842         subprogram.
843         Extract some code from Get_Directories, to share with the handling
844         of aggregate projects (for the Project_Files attributes)
845
846 2010-10-05  Emmanuel Briot  <briot@adacore.com>
847
848         * gnatcmd.adb, prj-proc.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
849         switch-m.adb, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-env.adb,
850         prj-env.ads, prj-tree.adb, prj-tree.ads (Project_Search_Path): New type.
851
852 2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
853
854         * exp_ch5.adb (Make_Field_Expr): Revert previous change (removed).
855
856 2010-10-05  Emmanuel Briot  <briot@adacore.com>
857
858         * prj-dect.adb, prj-nmsc.adb, prj-attr.adb, snames.ads-tmpl
859         (Aggregate projects): added support for parsing aggregate projects.
860         In particular, check the presence and value of the new attributes
861         related to aggregate projects, ie Project_Files, Project_Path
862         and External.
863         (Check_Attribute_Allowed, Check_Package_Allowed,
864         Rename_Obsolescent_Attributes): new subprogram, extracting code
865         from existing subprogram to keep their sizes smaller.
866         (Check_Aggregate_Project, Check_Abstract_Project,
867         Check_Missing_Sources): new subprograms
868         (Check): remove comments that duplicated either the name of the
869         following subprogram call, or the comment on that subprogram.
870         * prj-part.adb (Check_Extending_All_Imports): New subprogram, extracted
871         from Parse_Single_Project.
872         (Check_Aggregate_Imports): new subprogram.
873
874 2010-10-05  Vincent Celier  <celier@adacore.com>
875
876         * make.adb (Check): When compiling with -gnatc, recompile if the ALI
877         file has not been generated for the current source, for example if it
878         has been generated for the spec, but we are compiling the body.
879
880 2010-10-05  Bob Duff  <duff@adacore.com>
881
882         * xgnatugn.adb: Remove unused procedure.
883
884 2010-10-04  Vincent Celier  <celier@adacore.com>
885
886         * a-direct.adb (Copy_File): Interpret the Form parameter and call
887         System.OS_Lib.Copy_File to do the work accordingly. Raise Use_Error if
888         the Form parameter contains an incorrect value for field preserve= or
889         mode=.
890         * a-direct.ads (Create_Directory, Create_Path): Indicate that the Form
891         parameter is ignored.
892         (Copy_File): Indicate the interpretation of the Form parameter.
893
894 2010-10-04  Vincent Celier  <celier@adacore.com>
895
896         * make.adb (Gnatmake): When there are no foreign languages declared and
897         a main in attribute Main of the main project does not exist or is a
898         source of another project, fail immediately before attempting
899         compilation.
900
901 2010-10-04  Javier Miranda  <miranda@adacore.com>
902
903         * exp_disp.ads (Convert_Tag_To_Interface): New function which must be
904         used to convert a node referencing a tag to a class-wide interface type.
905         * exp_disp.adb (Convert_Tag_To_Interface): New function.
906         (Expand_Interface_Conversion): Replace invocation of
907         Unchecked_Conversion by new function Convert_Tag_To_Interface.
908         (Write_DT): Add support for null primitives.
909         * exp_ch3.adb (Expand_N_Object_Declaration): For tagged type objects,
910         cleanup code that handles interface conversions and avoid unchecked
911         conversion of referenced tag components.
912         * exp_ch5.adb (Expand_N_Assignment_Statement): Code cleanup. Avoid
913         unrequired conversions when generating a dispatching call to _assign.
914         * sprint.adb (Write_Itype): Fix wrong output of not null access itypes.
915
916 2010-10-04  Ed Schonberg  <schonberg@adacore.com>
917
918         * exp_ch4.adb (Expand_N_Op_Not): Handle properly both operands when the
919         parent is a binary boolean operation and the operand is an unpacked
920         array.
921         (Build_Boolean_Array_Proc_Call): If the operands are both negations, the
922         operands of the rewritten node are the operands of the negations, not
923         the negations themselves.
924
925 2010-10-04  Robert Dewar  <dewar@adacore.com>
926
927         * sem_ch13.adb (Set_Biased): New procedure, now used throughout, adds
928         name of entity to biased warning msg.
929         (Analyze_Enumeration_Representation_Clause): Remove attempt to use
930         biased rep (wrong and never worked anyway).
931
932 2010-10-04  Arnaud Charlet  <charlet@adacore.com>
933
934         * sem_elab.adb: Minor reformatting.
935
936 2010-10-04  Ed Schonberg  <schonberg@adacore.com>
937
938         * exp_ch4.adb (Expand_N_Null): Handle properly the case of a subtype of
939         an access_to_protected subprogram type, and convert null value into
940         corresponding aggregate.
941
942 2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
943
944         * gnat_ugn.texi: Clarify first point of 7.1.5 about pragma Inline.
945
946 2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
947
948         * make.adb (Scan_Make_Arg): Pass -Oxxx switches to the linker as well.
949         * gnatlink.adb (Gnatlink): Filter out -Oxxx switches for CLI, RTX and
950         AAMP.
951
952 2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
953
954         * sem_ch4.adb (Analyze_Indexed_Component_Form): Remove redundant test
955         for N_Operator_Symbol.
956         (Indicate_Name_And_Type): Likewise.
957         * sem_ch8.adb (Analyze_Subprogram_Renaming): Likewise.
958         * sem_res.adb (Resolve): Likewise.
959         * sem_type.adb (Add_One_Interp): Likewise.
960         (Disambiguate): Likewise.
961         
962 2010-10-04  Vincent Celier  <celier@adacore.com>
963
964         * osint.adb (Read_Library_Info_From_Full): If object timestamp is less
965         than ALI file timestamp, return null.
966
967 2010-10-04  Vincent Celier  <celier@adacore.com>
968
969         * prj-makr.adb (Finalize): Invoke Pretty_Print with Max_Length set to 79
970         * prj-pp.adb (Pretty_Print): New parameter Max_Line_Length, that
971         replaces global constant with the same name. When a line is too long,
972         indent properly the next continuation line.
973         * prj-pp.ads (Pretty_Print): New parameter Max_Line_Length with a range
974         from 50 to 255, defaulted to 255, to indicate the maximum length of
975         lines in the project file.
976
977 2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
978
979         * sem_ch7.adb (Analyze_Package_Body_Helper) <Has_Referencer>: New
980         Check_Subprogram_Ref function and Check_Subprogram_Refs instantiation
981         of Traverse_Func on it to look for subprogram references in a body.
982         Call Check_Subprogram_Refs on the body of inlined subprograms at the
983         outer level and keep clearing the Is_Public flag of subprograms as long
984         as it returns OK.  Do not look at anything else than subprograms once
985         an inlined subprogram has been seen.
986
987 2010-10-04  Javier Miranda  <miranda@adacore.com>
988
989         * exp_cg.adb (Expand_N_Assignment_Statement): Restore tag check when
990         the target object is an interface.
991         * sem_disp.adb (Propagate_Tag): If the controlling argument is an
992         interface type then we generate an implicit conversion to force
993         displacement of the pointer to the object to reference the secondary
994         dispatch table associated with the interface.
995
996 2010-10-04  Robert Dewar  <dewar@adacore.com>
997
998         * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Set
999         Enumeration_Rep_Expr to point to the literal, not the identifier.
1000         (Analyze_Enumeration_Representation_Clause): Improve error message for
1001         size too small for enum rep value
1002         (Analyze_Enumeration_Representation_Clause): Fix size test to use proper
1003         size (RM_Size, not Esize).
1004
1005 2010-10-04  Robert Dewar  <dewar@adacore.com>
1006
1007         * s-taprop-vxworks.adb, sem_res.adb: Minor reformatting.
1008
1009 2010-10-04  Javier Miranda  <miranda@adacore.com>
1010
1011         * exp_cg.adb (Write_Call_Info): Code clean up.
1012
1013 2010-10-04  Arnaud Charlet  <charlet@adacore.com>
1014
1015         * s-taprop-mingw.adb (Create_Task): Initialize Thread_Id field to 0.
1016
1017 2010-10-04  Robert Dewar  <dewar@adacore.com>
1018
1019         * exp_cg.adb: Minor code reorganization
1020         Minor reformatting.
1021         * exp_ch5.adb, prj-nmsc.adb: Minor reformatting.
1022
1023 2010-10-04  Bob Duff  <duff@adacore.com>
1024
1025         * sem_res.adb (Resolve_Type_Conversion): If a type conversion is needed
1026         to make a qualified expression into a name (syntax-wise), then do not
1027         consider it redundant.
1028
1029 2010-10-04  Thomas Quinot  <quinot@adacore.com>
1030
1031         * sem_warn.ads: Fix typo.
1032
1033 2010-10-04  Javier Miranda  <miranda@adacore.com>
1034
1035         * exp_cg.adb (Is_Predefined_Dispatching_Operation): Handle suffix in
1036         TSS names.
1037         (Write_Call_Info): Add missing support for renamed primitives.
1038
1039 2010-10-04  Thomas Quinot  <quinot@adacore.com>
1040
1041         * exp_ch5.adb (Make_Field_Expr): New subprogram, to factor duplicated
1042         code between Make_Component_List_Assign and Make_Field_Assign.
1043
1044 2010-10-04  Vincent Celier  <celier@adacore.com>
1045
1046         * prj-nmsc.adb (Get_Directories): For non extending projects that
1047         declare that they have no sources, do not create a non existing object
1048         or exec directory if builder switch -p is used.
1049
1050 2010-10-04  Sergey Rybin  <rybin@adacore.com>
1051
1052         * gnat_ugn.texi (gnatcheck): Change the description of the report file
1053         format.
1054
1055 2010-10-04  Ed Falis  <falis@adacore.com>
1056
1057         * s-taprop-vxworks.adb (Is_Task_Context): Import VxWorks intContext to
1058         determine whether Set_True is called from a task or an ISR.
1059         (Set_True): test for being in a task context before trying to
1060         dereference Defer_Abort or Undefer_Abort.
1061
1062 2010-10-04  Robert Dewar  <dewar@adacore.com>
1063
1064         * sem_res.adb, sinput-l.adb: Minor reformatting.
1065
1066 2010-10-04  Hristian Kirtchev  <kirtchev@adacore.com>
1067
1068         * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate a tag
1069         check when the target object is an interface since the expression of
1070         the right hand side must only cover the interface.
1071
1072 2010-10-04  Vincent Celier  <celier@adacore.com>
1073
1074         * frontend.adb: Set Lib.Parsing_Main_Extended_Source to True before
1075         loading the main source, so that if it is preprocessed and -gnateG is
1076         used, the preprocessed file is written.
1077         * lib.ads (Analysing_Subunit_Of_Main): New global variable to indicate
1078         if a subunit is from the main unit when it is loaded.
1079         * sem_ch10.adb (Analyze_Proper_Body): Set Lib.Analysing_Subunit_Of_Main
1080         to True before loading a subunit.
1081         * sem_ch12.adb (Copy_Generic_Node): Set Lib.Analysing_Subunit_Of_Main
1082         to True when the main is a generic unit before loading one of its
1083         subunits.
1084         * sinput-l.adb (Load_File): If -gnateG is used, write the preprocessed
1085         file only for the main unit (spec, body and subunits).
1086
1087 2010-10-04  Vincent Celier  <celier@adacore.com>
1088
1089         * sinput-l.adb (Load_File): Do not fail when switch -gnateG is
1090         specified and the processed file cannot be written. Just issue a
1091         warning and continue.
1092
1093 2010-10-04  Thomas Quinot  <quinot@adacore.com>
1094
1095         * sem_res.adb: Minor reformatting.
1096
1097 2010-10-04  Ed Schonberg  <schonberg@adacore.com>
1098
1099         * sem_ch8.adb (Analyze_Subprogram_Renaming): If the renamed operation
1100         is an overridden inherited operation, the desired operation is the
1101         overriding one, which is the alias of the visible one.
1102
1103 2010-10-04  Ed Schonberg  <schonberg@adacore.com>
1104
1105         * sem_ch6.adb (Find_Corresponding_Spec): Check that the wrapper body is
1106         present before deleting from the tree, when an inherited function with
1107         a controlling result that returns a null extension is overridden by a
1108         later declaration or body.
1109
1110 2010-10-04  Gary Dismukes  <dismukes@adacore.com>
1111
1112         * checks.adb: Update comment.
1113
1114 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
1115
1116         * gcc-interface/misc.c (optimize, optimize_size): Undefine as macros
1117         and define as variables.
1118         (gnat_post_options): Set optimize and optimize_size variables.
1119
1120 2010-09-29  Joel Sherrill  <joel.sherrill@oarcorp.com>
1121
1122         * g-socket.adb: Move pragma to disable warnings in case multiple errnos
1123         are not defined by target.
1124
1125 2010-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1126
1127         * gcc-interface/utils.c (handle_leaf_attribute): Fix long line.
1128
1129 2010-09-28  Richard Henderson  <rth@redhat.com>
1130
1131         * gcc-interface/misc.c (gnat_eh_personality): Use
1132         targetm.except_unwind_info.
1133
1134 2010-09-28  Jan Hubicka  <jh@suse.cz>
1135
1136         * gcc-interface/utils.c (handle_leaf_attribute): New function.
1137         (gnat_internal_attribute_tables): Add leaf.
1138
1139 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
1140
1141         * gcc-interface/lang.opt (-all-warnings, -include-barrier,
1142         -include-directory, -include-directory=, -no-standard-includes,
1143         -no-standard-libraries): New.
1144
1145 2010-09-20  Eric Botcazou  <ebotcazou@adacore.com>
1146
1147         * gcc-interface/decl.c (gnat_to_gnu_entity): Replace calls to
1148         build_array_type with calls to build_nonshared_array_type.
1149         (substitute_in_type): Likewise.
1150         * gcc-interface/misc.c (LANG_HOOKS_HASH_TYPES): Delete.
1151         (LANG_HOOKS_TYPE_HASH_EQ): Define.
1152         (gnat_post_options): Add 'static' keyword.
1153         (gnat_type_hash_eq): New static function.
1154         * gcc-interface/utils.c (fntype_same_flags_p): New function.
1155         (create_subprog_type): Call it.
1156         (create_index_type): Call build_nonshared_range_type and tidy up.
1157         (create_range_type): Likewise.
1158         * gcc-interface/gigi.h (fntype_same_flags_p): Declare.
1159
1160 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
1161
1162         * gcc-interface/trans.c (gnat_pushdecl): Do not do anything special
1163         for PARM_DECLs.
1164         (end_subprog_body): If the body is a BIND_EXPR, make its associated
1165         block the top-level one.
1166         (build_function_stub): Build a statement group for the whole function.
1167         * gcc-interface/utils.c (Subprogram_Body_to_gnu): If copy-in/copy-out
1168         is used, create the enclosing block early and process first the OUT
1169         parameters.
1170
1171 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
1172
1173         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: Do
1174         not generate debug info for individual enumerators.
1175
1176 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
1177
1178         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Use record
1179         type instead of enumeral type as the dummy type built for the template
1180         type of fat pointers.
1181
1182 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
1183
1184         * gcc-interface/gigi.h (get_elaboration_procedure): Declare.
1185         (gnat_zaplevel): Likewise.
1186         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force global
1187         binding level for an external constant.
1188         <E_Constant>: Force the local context and create a fake scope before
1189         translating the defining expression of an external constant.
1190         <object>: Treat external constants at the global level explicitly for
1191         renaming declarations.
1192         (elaborate_expression_1): Force the variable to be static if the
1193         expression is global.
1194         * gcc-interface/trans.c (get_elaboration_procedure): New function.
1195         (call_to_gnu): Use it.
1196         (gnat_to_gnu): Likewise.
1197         <N_Object_Declaration>: Do not test Is_Public to force the creation of
1198         an initialization variable.
1199         (add_decl_expr): Discard the statement if the declaration is external.
1200         * gcc-interface/utils.c (gnat_pushdecl): Do not put the declaration in
1201         the current block if it is external.
1202         (create_var_decl_1): Do not test Is_Public to set TREE_STATIC.
1203         (gnat_zaplevel): New global function.
1204
1205 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
1206
1207         * gcc-interface/decl.c (gnat_to_gnu_entity): Explicitly test _LEVEL
1208         variables against zero in all cases.
1209         (rest_of_type_decl_compilation): Likewise.
1210         * gcc-interface/trans.c (gigi): Pass properly typed constants to
1211         create_var_decl.
1212         (call_to_gnu): Fix formatting.
1213         (Handled_Sequence_Of_Statements_to_gnu): Likewise.
1214         (Exception_Handler_to_gnu_zcx): Likewise.
1215         (gnat_to_gnu) <N_Object_Declaration>: Short-circuit handling of
1216         constant
1217         expressions in presence of a freeze node.
1218
1219 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
1220
1221         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Look into
1222         expressions for external constants that are aggregates.
1223         * gcc-interface/utils2.c (build_simple_component_ref): If the field
1224         is an inherited component in an extension, look through the extension.
1225
1226 2010-09-10  Vincent Celier  <celier@adacore.com>
1227
1228         * projects.texi: Add documentation for package extensions
1229         Add some documentation for attributes Leading_Library_Options and
1230         Linker'Leading_Switches.
1231
1232 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1233
1234         * exp_util.adb (Expand_Subtype_From_Expression): When expansion is
1235         disabled, compute subtype for all string types.
1236
1237 2010-09-10  Robert Dewar  <dewar@adacore.com>
1238
1239         * gnat_ugn.texi: Add documentation for -gnatw.s/S
1240         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
1241         Component_Size): Implement warning on overriden size clause.
1242         (Analyze_Record_Representation_Clause): Implement warning on overriden
1243         size clause.
1244         * sem_warn.ads, sem_warn.adb (Warn_On_Overridden_Size): New flag
1245         (-gnatw.s/S).
1246         * ug_words: Add entries for -gnatw.s/S.
1247         * vms_data.ads, usage.adb: Add line for -gnatw.s/-gnatw.S.
1248         * gcc-interface/Make-lang.in: Update dependencies.
1249
1250 2010-09-10  Vincent Celier  <celier@adacore.com>
1251
1252         * prj-dect.adb (Parse_Package_Declaration): Allow a package to extend
1253         a package with the same name from an imported or extended project.
1254         * prj-proc.adb (Process_Declarative_Items): Process package extensions
1255
1256 2010-09-10  Bob Duff  <duff@adacore.com>
1257
1258         * exp_ch6.adb (Expand_Call): Do not perform a null_exclusion check on
1259         'out' parameters.
1260
1261 2010-09-10  Robert Dewar  <dewar@adacore.com>
1262
1263         * sem.adb: Minor reformatting.
1264
1265 2010-09-10  Bob Duff  <duff@adacore.com>
1266
1267         * s-os_lib.ads, g-expect.ads: Add comments.
1268
1269 2010-09-10  Robert Dewar  <dewar@adacore.com>
1270
1271         * exp_ch5.adb: Minor reformatting.
1272
1273 2010-09-10  Thomas Quinot  <quinot@adacore.com>
1274
1275         * scos.ads: Add comments.
1276
1277 2010-09-10  Vincent Celier  <celier@adacore.com>
1278
1279         * gnatcmd.adb (Get_Closure): Remove useless invocation of Close.
1280
1281 2010-09-10  Hristian Kirtchev  <kirtchev@adacore.com>
1282
1283         * exp_ch7.adb, exp_ch6.adb (Expand_Call): Establish a transient scope
1284         for a controlled build-in-place function call which appears in an
1285         anonymous context. The transient scope ensures that the intermediate
1286         function result is cleaned up after the master is left.
1287         (Make_Build_In_Place_Call_In_Anonymous_Context): Remove the creation
1288         of the transient scope. This is now done in Exand_Call which covers
1289         additional cases other than secondary stack release.
1290
1291 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
1292
1293         * sem.adb (Do_Unit_And_Dependents): Add guard.
1294
1295 2010-09-10  Robert Dewar  <dewar@adacore.com>
1296
1297         * exp_ch5.adb: Update comments.
1298         * exp_dist.adb: Minor reformatting.
1299
1300 2010-09-10  Robert Dewar  <dewar@adacore.com>
1301
1302         * sem_ch13.adb (Check_Record_Representation_Clause): Implement record
1303         gap warnings.
1304         * sem_warn.ads, sem_warn.adb (Warn_On_Record_Holes): New warning flag.
1305         * usage.adb: Add lines for -gnatw.h/H
1306         * gnat_ugn.texi: Add documentation for J519-010
1307         Warn on record holes/gaps
1308         * ug_words: Add entries for -gnatw.h/-gnatw.H
1309         * vms_data.ads: Add entries for [NO]AVOIDGAPS
1310
1311 2010-09-10  Gary Dismukes  <dismukes@adacore.com>
1312
1313         * sem_ch6.adb: Update comment.
1314
1315 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1316
1317         * sem_ch3.adb (Build_Derived_Private_Type): Mark generated declaration
1318         of full view analyzed after analyzing the corresponding record
1319         declaration, to prevent spurious name conflicts with original
1320         declaration.
1321
1322 2010-09-10  Jerome Lambourg  <lambourg@adacore.com>
1323
1324         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the VM case,
1325         just issue a warning, but continue with the normal processing.
1326
1327 2010-09-10  Robert Dewar  <dewar@adacore.com>
1328
1329         * exp_attr.adb, prj-nmsc.adb, sem_ch4.adb, sem_res.adb: Minor
1330         reformatting.
1331
1332 2010-09-10  Thomas Quinot  <quinot@adacore.com>
1333
1334         * exp_dist.adb (Build_From_Any_Call, Build_To_Any_Call,
1335         Build_TypeCode_Call): For a subtype inserted for the expansion of a
1336         generic actual type, go to the underlying type of the original actual
1337         type.
1338
1339 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1340
1341         * exp_ch5.adb (Expand_Assign_Array_Loop): In CodePeer mode, place a
1342         guard around the increment statement, to prevent an off-by-one-value
1343         on the last iteration.
1344
1345 2010-09-10  Vincent Celier  <celier@adacore.com>
1346
1347         * sem_aggr.adb, exp_prag.adb, sem_ch3.adb, exp_attr.adb,
1348         sem_res.adb, sem_attr.adb, sem_elab.adb, sem_ch4.adb, exp_disp.adb,
1349         exp_aggr.adb, exp_dist.adb: Change all mentions of "at run-time" to
1350         "at run time" in comments and error/warning messages.
1351
1352 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1353
1354         * exp_cg.adb: Handle properly bodies without specs.
1355
1356 2010-09-10  Emmanuel Briot  <briot@adacore.com>
1357
1358         * prj-nmsc.adb (Find_Source_Dirs): When a source directory is not
1359         present, and the user requested to either ignore this or display a
1360         warning (as opposed to an error), we still need to register the
1361         directory.
1362
1363 2010-09-10  Robert Dewar  <dewar@adacore.com>
1364
1365         * errout.adb: Remove tests of Parsing_Main_Subunit, since this test is
1366         now done in In_Extended_Main_Source_Unit.
1367         * errout.ads (Compiler_State[_Type]): Moved from Errout to Lib
1368         (Parsing_Main_Subunit): Moved from Errout to Lib and renamed
1369         as Parsing_Main_Extended_Source.
1370         * frontend.adb: Set Parsing_Main_Extended_Source True for parsing main
1371         unit.
1372         * lib-load.adb (Load_Unit): Add PMES parameter
1373         Set PMES appropriately in all calls to Load_Unit
1374         * lib-load.ads (Load_Unit): Add PMES parameter
1375         * lib.adb (In_Extended_Main_Source_Unit): When called with
1376         Compiler_State set to Parsing, test new flag
1377         Compiling_Main_Extended_Source.
1378         * lib.ads (Compiler_State[_Type]): Moved from Errout to Lib
1379         (Parsing_Main_Subunit): Moved from Errout to Lib and renamed
1380         as Parsing_Main_Extended_Source
1381         * par-load.adb (Load): Set PMES properly in call to Load_Unit
1382
1383 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1384
1385         * exp_cg.adb: Use proper entity to handle overloads.
1386         * sem_res.adb (Check_Parameterless_Call): An operator node without
1387         actuals cannot be a call, and must be treated as a string.
1388
1389 2010-09-10  Robert Dewar  <dewar@adacore.com>
1390
1391         * frontend.adb: Minor reformatting.
1392
1393 2010-09-10  Robert Dewar  <dewar@adacore.com>
1394
1395         * par-ch4.adb (P_Conditional_Expression): Use P_Condition for condition
1396         * par-ch5.adb (P_Condition): Move from body to spec
1397         * par.adb (Ch5.P_Condition): Move from body to spec
1398
1399 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1400
1401         * exp_cg.adb (Write_Call_Info): If a type that has been registered in
1402         the call table is private, use its full view to generate information
1403         on its operations.
1404
1405 2010-09-10  Jose Ruiz  <ruiz@adacore.com>
1406
1407         * exp_cg.adb (Is_Predefined_Dispatching_Operation): When trying the
1408         pattern matching to detect predefined primitive operations take into
1409         account that there can be an extra suffix related to body-nested
1410         package entities.
1411
1412 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1413
1414         * s-pooglo.ads: Add overriding indicators.
1415
1416 2010-09-10  Vincent Celier  <celier@adacore.com>
1417
1418         * vms_data.ads: Add new GNAT BIND qualifiers /32_MALLOC (for -H32) and
1419         /64_MALLOC (for -H64).
1420
1421 2010-09-10  Robert Dewar  <dewar@adacore.com>
1422
1423         * errout.adb (Error_Msg_Internal): Test Parsing_Main_Subunit flag
1424         (Error_Msg_NW): Test Parsing_Main_Subunit flag
1425         * errout.ads (Parsing_Main_Subunit): New flag
1426         * lib-load.adb (Load_Unit): Set Parsing_Main_Subunit flag
1427         * par-ch6.adb: Minor style fix (remove redandant parentheses)
1428         * par-ch9.adb: Minor style fix (remove redundant parens)
1429         * par-load.adb: (Load): Deal with setting Parsing_Main_Subunit
1430
1431 2010-09-10  Vincent Celier  <celier@adacore.com>
1432
1433         * make.adb (Create_Binder_Mapping_File): Remove procedure. Replaced by
1434         function of the same name in Makeutl.
1435         (Gnatmake): Call function Create_Binder_Mapping_File in Makeutl, instead
1436         of removed procedure when creating a binder mapping file.
1437         * makeutl.adb (Create_Binder_Mapping_File): New function. Was a
1438         procedure in Make.
1439         * makeutl.ads (Create_Binder_Mapping_File): New function
1440
1441 2010-09-10  Jose Ruiz  <ruiz@adacore.com>
1442
1443         * exp_cg.adb (Is_Predefined_Dispatching_Operation): Add the "__" scope
1444         separator when trying the pattern matching to detect predefined
1445         primitive operations.
1446
1447 2010-09-10  Robert Dewar  <dewar@adacore.com>
1448
1449         * bindgen.adb, atree.adb: Minor reformatting.
1450
1451 2010-09-10  Ben Brosgol  <brosgol@adacore.com>
1452
1453         * ug_words, gnat_ugn.texi: Revised "Transitioning to 64-Bit GNAT for
1454         OpenVMS" section.
1455
1456 2010-09-10  Doug Rupp  <rupp@adacore.com>
1457
1458         * bindgen.adb: Minor comment fix for -H switch.
1459
1460 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1461
1462         * exp_cg.adb (Register_CG_Node): Determine enclosing subprogram or
1463         library unit now, by traversing tree before context is expanded.
1464         (Write_Call_Info): Use enclosing unit name directly.
1465         * exp_ch9.adb (Expand_N_Accept_Statement): Attach generated block to
1466         tree earlier, to ensure that subsequent declarations are analyzed in a
1467         connected structure.
1468         * exp_intr.adb (Expand_Unc_Deallocation): Ditto for generated statement
1469         list.
1470
1471 2010-09-10  Robert Dewar  <dewar@adacore.com>
1472
1473         * symbols-processing-vms-alpha.adb: Minor reformatting.
1474
1475 2010-09-10  Jerome Lambourg  <lambourg@adacore.com>
1476
1477         * bindgen.adb (Gen_Adainit_Ada): In .NET, don't call
1478         __gnat_install_handler in case the binder is called with -n.
1479
1480 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1481
1482         * exp_ch6.adb (Make_Build_In_Place_In_Object_Declaration): Use proper
1483         sloc for renaming declaration and set Comes_From_Source properly to
1484         ensure that references are properly generated for an object declaration
1485         that is built in place.
1486
1487 2010-09-10  Tristan Gingold  <gingold@adacore.com>
1488
1489         * symbols-processing-vms-alpha.adb: Allow gnatsym to work as a cross
1490         tool.
1491         * gcc-interface/Make-lang.in: Install gnatsym when cross compiling.
1492         * gcc-interface/Makefile.in: gnat.hlp is now generated by
1493         Make-generated.in
1494
1495 2010-09-10  Bob Duff  <duff@adacore.com>
1496
1497         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): For things like ""X(J)
1498         := ...;", remove side effects from the right-hand side, because they
1499         might affect the value of the left-hand side, but the left-hand side is
1500         first READ (so we can do shifting and masking) and then written back,
1501         which would cause the side effects to be incorrectly overwritten.
1502
1503 2010-09-10  Robert Dewar  <dewar@adacore.com>
1504
1505         * sem_ch4.adb: Minor reformatting.
1506         * exp_ch6.adb: Add comment on testing limited on full type
1507         * gnat_rm.texi: Add documentation on Pure_Function.
1508
1509 2010-09-10  Vincent Celier  <celier@adacore.com>
1510
1511         * prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name
1512         as a source of another project and of another language.
1513
1514 2010-09-10  Robert Dewar  <dewar@adacore.com>
1515
1516         * exp_ch3.adb (Expand_N_Object_Declaration): Defend against previous
1517         errors.
1518         * freeze.adb (Check_Unsigned_Type): Ditto.
1519         * sem_aggr.adb (Resolve_Aggr_Expr): Ditto.
1520         * sem_ch3.adb (Convert_Scalar_Bounds): Ditto.
1521         (Set_Scalar_Range_For_Subtype): Ditto.
1522         * sem_eval.adb (Subtypes_Statically_Match): Ditto.
1523
1524 2010-09-10  Robert Dewar  <dewar@adacore.com>
1525
1526         * repinfo.adb (List_Type_Info): List Small and Range for fixed-point
1527         types.
1528         * sprint.adb (Write_Ureal_With_Col_Check_Sloc): Use square brackets
1529         rather than parens for fixed constants.
1530         * sprint.ads: Use square brackets rather than parens for fixed constants
1531         * urealp.adb (UR_Write): Use square brackets rather than parens
1532         (UR_Write): Add Brackets argument
1533         (UR_Write): Add many more special cases to output literals
1534         * urealp.ads (UR_Write): Use square brackets rather than parens
1535         (UR_Write): Add Brackets argument
1536
1537 2010-09-10  Robert Dewar  <dewar@adacore.com>
1538
1539         * sem_ch4.adb: Minor reformatting.
1540
1541 2010-09-10  Richard Guenther  <rguenther@suse.de>
1542
1543         * gcc-interface/utils.c (create_index_type): Use build_range_type.
1544
1545 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
1546
1547         * vms_cmds.ads: New.
1548
1549 2010-09-10  Eric Botcazou  <ebotcazou@adacore.com>
1550
1551         * exp_dbug.ads: Mention enhanced encoding for array types.
1552
1553 2010-09-10  Jerome Lambourg  <lambourg@adacore.com>
1554
1555         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Size clause are
1556         unsupported in VM targets. Display a warning in this case.
1557
1558 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1559
1560         * sprint.adb (Sprint_Node_Actual, case N_Derived_Type_Definition): Do
1561         not reset Sloc when printing keyword "new".
1562
1563 2010-09-10  Vincent Celier  <celier@adacore.com>
1564
1565         * gnatcmd.adb (GNATCmd): Put the command line in environment variable
1566         GNAT_DRIVER_COMMAND_LINE.
1567
1568 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1569
1570         * sem.adb (Do_Unit_And_Dependents): if Withed_Body is set on a context
1571         clause, process the body at once.
1572
1573 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1574
1575         * sem_res.adb (Resolve_Type_Conversion): Do not warn on a redundant
1576         conversion is the expression is a qualified expression used to
1577         disambiguate a function call.
1578
1579 2010-09-10  Vincent Celier  <celier@adacore.com>
1580
1581         * prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name
1582         as a source of another project and of another language.
1583
1584 2010-09-10  Robert Dewar  <dewar@adacore.com>
1585
1586         * prj-util.adb: Minor reformatting.
1587
1588 2010-09-10  Eric Botcazou  <ebotcazou@adacore.com>
1589
1590         * exp_disp.adb: Minor reformatting.
1591
1592 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
1593
1594         * sem_prag.adb (Analyze_Pragma): Ignore Inline_Always pragma in
1595         CodePeer mode.
1596
1597 2010-09-10  Thomas Quinot  <quinot@adacore.com>
1598
1599         * sem_res.adb: Minor reformatting.
1600         * exp_ch9.adb, rtsfind.ads, exp_ch4.adb, exp_ch3.adb: Do not hardcode
1601         magic constants for task master levels (instead, reference
1602         named numbers from System.Tasking).
1603
1604 2010-09-10  Eric Botcazou  <ebotcazou@adacore.com>
1605
1606         * gnatvsn.ads (Ver_Prefix): New constant string.
1607         * bindgen.adb (Gen_Output_File_Ada): Use it in lieu of hardcoded value.
1608         (Gen_Output_File_C): Likewise.
1609         * g-comver.adb (Ver_Prefix): Add cross-reference to Gnatvsn.Ver_Prefix
1610         in comment.
1611         
1612 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1613
1614         * sem.adb (Walk_Library_Items): Do not traverse children of the main
1615         unit, to prevent spurious circularities in the walk order.
1616         (Depends_On_Main): Use elsewhere to prevent circularities when the body
1617         of an ancestor of the main unit depends on a child of the main unit.
1618
1619 2010-09-10  Robert Dewar  <dewar@adacore.com>
1620
1621         * gnatlink.adb, prj-ext.adb, prj-util.adb, s-tporft.adb,
1622         sem_ch3.adb: Minor reformatting.
1623
1624 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1625
1626         * sem_ch3.adb (Derive_Subprograms): An interface primitive operation
1627         that is a renaming must be derived like any other primitive operation,
1628         the renamed operation is not relevant to the derivation.
1629
1630 2010-09-10  Robert Dewar  <dewar@adacore.com>
1631
1632         * sem_aux.ads: Add comment for Is_Inherently_Limited_Type.
1633         * checks.adb: Minor reformatting.
1634
1635 2010-09-10  Robert Dewar  <dewar@adacore.com>
1636
1637         * gnat_ugn.texi: Add section on intent of style checking options.
1638
1639 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
1640
1641         * xref_lib.adb (Get_Full_Type): Fix handling of 'a' char.
1642
1643 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1644
1645         * sem_ch3.adb: Improve error message on derivation from class-wide type
1646
1647 2010-09-10  Steve Baird  <baird@adacore.com>
1648
1649         * gnat1drv.adb (Adjust_Global_Switches): Enable Expression_With_Actions
1650         generation when Generate_SCIL is True.
1651
1652 2010-09-10  Geert Bosch  <bosch@adacore.com>
1653
1654         * gnatlink.adb (Check_ Existing_Executable): New procedure for checking
1655         validity of executable name and removing any existing executable
1656         (Gnatlink): Call Check_Existing_Executable.
1657
1658 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
1659
1660         * s-tporft.adb, s-taskin.ads (Register_Foreign_Thread): Move
1661         initialization of Task_Alternate_Stack here, cleaner since in case of
1662         ranvescar, Restricted_Ada_Task_Control_Block is not initialized
1663         implicitly.
1664
1665 2010-09-10  Thomas Quinot  <quinot@adacore.com>
1666
1667         * s-fileio.adb, a-dirval.adb: Minor reformatting.
1668
1669 2010-09-10  Emmanuel Briot  <briot@adacore.com>
1670
1671         * prj-util.adb (Executable_Of): Fix CE when the project does not
1672         contain a Builder package.
1673
1674 2010-09-10  Vincent Celier  <celier@adacore.com>
1675
1676         * prj-ext.adb (Initialize_Project_Path): Add <prefix>/lib/gpr/<target>
1677         to the project path, if Prefix and Target_Name are defined.
1678         * prj-tree.ads (Project_Node_Tree_Data): New component Target_Name
1679
1680 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1681
1682         * checks.adb (Ensure_Valid): If the expression is a boolean expression
1683         or short-circuit operation, do no emit a validity check: only the
1684         elementary operands of the expression need checking.
1685
1686 2010-09-10  Ben Brosgol  <brosgol@adacore.com>
1687
1688         * gnat_rm.texi: Document Short_Descriptors.
1689
1690 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
1691
1692         * s-taprop-linux.adb, s-taskin.ads (Task_Alternate_Stack): Default
1693         initialize to Null_Address.
1694         (Enter_Task): Do not set up an alternate stack for foreign threads.
1695
1696 2010-09-10  Robert Dewar  <dewar@adacore.com>
1697
1698         * opt.adb (Short_Descriptors): New flag
1699         (Short_Descriptors_Config): New flag
1700         * opt.ads (Short_Descriptors): New flag
1701         (Short_Descriptors_Config): New flag
1702         * par-prag.adb: Add dummy entry for Short_Descriptors pragma
1703         * sem_prag.adb (Set_Mechanism_Value): Deal with Short_Descriptors pragma
1704         (Analyze_Pragma): Implement Short_Descriptors pragma
1705         * snames.ads-tmpl: Add entry for Short_Descriptors pragma
1706
1707 2010-09-10  Emmanuel Briot  <briot@adacore.com>
1708
1709         * prj-util.adb, prj-util.ads (Executable_Of): Take into account the
1710         project's Executable_Suffix.
1711
1712 2010-09-10  Robert Dewar  <dewar@adacore.com>
1713
1714         * g-pehage.ads: Minor reformatting
1715
1716         * gnat_ugn.texi: Clarifying comment on -gnatyc
1717         * exp_ch6.adb (Expand_N_Subprogram_Body): Reset Is_Pure if limited
1718         arguments.
1719
1720 2010-09-10  Tristan Gingold  <gingold@adacore.com>
1721
1722         * Make-generated.in (gnat.hlp): New rule.
1723
1724 2010-09-10  Emmanuel Briot  <briot@adacore.com>
1725
1726         * prj-util.adb, prj-util.ads (Executable_Of): New parameter
1727         Include_Suffix.
1728
1729 2010-09-10  Robert Dewar  <dewar@adacore.com>
1730
1731         * einfo.adb: Minor code cleanup: Add assertion to
1732         Set_Corresponding_Protected_Entry.
1733
1734 2010-09-10  Bob Duff  <duff@adacore.com>
1735
1736         * g-pehage.ads, g-pehage.adb (Produce): Add a new flag to allow sending
1737         the output to standard output.
1738
1739 2010-09-09  Vincent Celier  <celier@adacore.com>
1740
1741         * gnat_ugn.texi: Add documentation for new gnatmake switch
1742         --create-map-file.
1743         * make.adb (Map_File): New global variable to store the value of switch
1744         --create-map-file.
1745         (Gnatmake): Add switch -M to gnatlink if buider switch --create-map-file
1746         has been specified.
1747         (Scan_Make_Arg): Recognize switch --create-map-file
1748         * makeutl.ads (Create_Map_File_Switch): New constant string for new
1749         gnatmake and gprbuild switch --create-map-file.
1750
1751 2010-09-09  Robert Dewar  <dewar@adacore.com>
1752
1753         * sinput-p.ads: Minor comment update.
1754
1755 2010-09-09  Arnaud Charlet  <charlet@adacore.com>
1756
1757         * s-tpobop.adb, s-taenca.adb (Wait_For_Completion_With_Timeout): Reset
1758         Entry_Call.State if needed so that the call is marked as cancelled by
1759         Check_Pending_Actions_For_Entry_Call.
1760         (Timed_Protected_Entry_Call): Adjust calls to Defer/Under_Abort, since
1761         this procedure may be called from a controlled operation
1762         (Initialize/Finalize).
1763
1764 2010-09-09  Vadim Godunko  <godunko@adacore.com>
1765
1766         * impunit.adb: Correct spelling of package's name in the comment.
1767
1768 2010-09-09  Robert Dewar  <dewar@adacore.com>
1769
1770         * gnatcmd.adb, gnatlink.adb, sem_ch12.adb, sem_eval.adb, sinput-p.adb:
1771         Minor reformatting
1772
1773 2010-09-09  Robert Dewar  <dewar@adacore.com>
1774
1775         * impunit.adb: Add entry for a-izteio.
1776         * checks.adb: Add comment.
1777         * debug.adb, exp_disp.adb: Minor reformatting.
1778         * exp_dbug.ads: Minor reformatting throughout (pack block comments).
1779
1780 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1781
1782         * sem_eval.adb (Is_Same_Value): Two occurrences of the same
1783         discriminant cannot be assumed to be the same value because they may
1784         refer to bounds of a component of two different instances of a
1785         discriminated type.
1786
1787 2010-09-09  Gary Dismukes  <dismukes@adacore.com>
1788
1789         * checks.adb (Apply_Arithmetic_Overflow_Check): When converting the
1790         operands of an operator to the type of an enclosing conversion, rewrite
1791         the operator so the conversion can't be flagged as redundant.
1792         Remove useless assignments to Typ and Rtyp.
1793
1794 2010-09-09  Eric Botcazou  <ebotcazou@adacore.com>
1795
1796         * gnat_ugn.texi: Fix another long line.
1797
1798 2010-09-09  Bob Duff  <duff@adacore.com>
1799
1800         * sem_warn.adb (Output_Reference_Error): Don't warn for renames read
1801         but never assigned.
1802
1803 2010-09-09  Matthew Heaney  <heaney@adacore.com>
1804
1805         * a-convec.adb, a-coinve.adb (Clear, Delete, Delete_Last, Finalize,
1806         Merge, Insert, Insert_Space, Move, Reserve_Capacity, Generic_Sorting,
1807         Replace_Element, Reverse_Elements, Swap): Change exception message to
1808         correctly indicate kind of tampering (cursor or element).
1809         * a-cdlili.adb, a-cidlli.adb (Clear, Delete, Delete_First, Delete_Last,
1810         Merge, Generic_Sorting, Insert, Move, Reverse_Elements, Splice,
1811         Swap_Links, Replace_Element, Swap): Ditto.
1812         * a-coorse.adb, a-ciorse.adb (Include, Replace, Replace_Element): Ditto
1813         * a-coorma.adb, a-ciorma.adb (Include, Replace, Replace_Element): Ditto
1814         * a-coormu.adb, a-ciormu.adb (Replace_Element): Ditto
1815         * a-chtgke.adb (Delete_Key_Sans_Free, Generic_Conditional_Insert,
1816         Generic_Replace_Element): Ditto
1817         * a-chtgop.adb (Clear, Move, Reserve_Capacity): Ditto
1818         * a-cohama.adb, a-cihama.adb (Delete, Include, Replace,
1819         Replace_Element): Ditto.
1820         * a-cohase.adb, a-cihase.adb (Delete, Difference, Intersection,
1821         Symmetric_Difference, Union, Include, Replace): Ditto
1822
1823 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1824
1825         * sprint.adb (Write_Id): If the parent node is an expanded name, check
1826         that its entity_or_associated_node is an entity before writing it out.
1827         * exp_disp.adb (Make_Tags); if a type is declared in C++ and has no
1828         constructors, there is no need for a dispatch table pointer because the
1829         table is fully inherited from the C++ code.
1830
1831 2010-09-09  Thomas Quinot  <quinot@adacore.com>
1832
1833         * projects.texi: Fix wrong identifiers on package end lines in project
1834         files examples.
1835         * exp_ch6.adb: Minor reformatting.
1836
1837 2010-09-09  Tristan Gingold  <gingold@adacore.com>
1838
1839         * gnatcmd.adb, vms_conv.ads: Extract Command_Type.
1840
1841 2010-09-09  Eric Botcazou  <ebotcazou@adacore.com>
1842
1843         * gnat_ugn.texi: Fix description of -O3 optimization level.
1844
1845 2010-09-09  Yannick Moy  <moy@adacore.com>
1846
1847         * a-cihama.adb, a-cohama.adb: Fix comments.
1848
1849 2010-09-09  Arnaud Charlet  <charlet@adacore.com>
1850
1851         * i-cexten.ads: Add comments.
1852         (Signed_128): New type, used by some C bindings.
1853         * debug.adb: Update comment.
1854
1855 2010-09-09  Sergey Rybin  <rybin@adacore.com>
1856
1857         * gnat_ugn.texi: For ASIS tools (gnatpp, gnatcheck, gnatelim,
1858         gnatmetric and gnatstub) add a note that '-gnat05' should be used if
1859         the tool should process Ada 2005 sources.
1860
1861 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1862
1863         * sem_ch12.adb (Remove_Parent): If the scope containing the child
1864         instance is a block, examine the enclosing scope to determine if it is
1865         a parent instance.
1866
1867 2010-09-09  Doug Rupp  <rupp@adacore.com>
1868
1869         * sem_prag.adb (pragma Ident): Pass --identification= vice 
1870         IDENTIFICATION=
1871         * gnatlink.adb (Linker_Options): Look for --identification= vice 
1872         IDENTIFICATION=
1873
1874 2010-09-09  Gary Dismukes  <dismukes@adacore.com>
1875
1876         * exp_attr.adb (Expand_N_Attribute_Reference, case Attribute_Old): When
1877         inserting and analyzing the object declaration for the temporary object
1878         created to hold a 'Old value, push the scope for the subprogram where
1879         the object is inserted, so that its Scope (and that of related objects)
1880         will be set properly.
1881
1882 2010-09-09  Vincent Celier  <celier@adacore.com>
1883
1884         * prj.adb (Get_Object_Directory): Return object directory display name
1885         * adaint.c (__gnat_get_file_names_case_sensitive): When environment
1886         variable GNAT_FILE_NAME_CASE_SENSITIVE has a value of "0" or "1",
1887         return this value, otherwise return the default for the platform.
1888
1889 2010-09-09  Arnaud Charlet  <charlet@adacore.com>
1890
1891         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
1892         dependencies. Remove handling of gnatlbr.
1893         Do not remove s-stratt-xdr for the run-time when installing.
1894
1895 2010-09-09  Robert Dewar  <dewar@adacore.com>
1896
1897         * sem_attr.adb: Minor reformatting.
1898
1899 2010-09-09  Thomas Quinot  <quinot@adacore.com>
1900
1901         * socket.c (__gnat_socket_ioctl): On Darwin, the req parameter is an
1902         unsigned long, not an int.
1903
1904 2010-09-09  Vincent Celier  <celier@adacore.com>
1905
1906         * make.adb, mlib-prj.adb, prj.adb, prj-nmsc.adb, mlib-tgt.adb,
1907         prj-conf.adb, prj-env.adb: Use Display_Name instead of Name whenever
1908         we are not checking for equality of path or file names.
1909
1910 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1911
1912         * exp_util.adb (Remove_Side_Effects): If the expression is a packed
1913         array reference, reset the Analyzed flag so that it is properly
1914         expanded when the resulting object declaration is analyzed.
1915
1916 2010-09-09  Vincent Celier  <celier@adacore.com>
1917
1918         * sinput-p.adb (Source_File_Is_Subunit): Return False if X is
1919         No_Source_File.
1920
1921 2010-09-09  Ramon Fernandez  <fernandez@adacore.com>
1922
1923         * sysdep.c: The wrSbc8548 BSP in MILS doesn't know anything about the
1924         VX_SPE_TASK option, so disable it.
1925
1926 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1927
1928         * sem.adb (Walk_Library_Items): Traverse context of subunits of the
1929         main unit.
1930         (Is_Subunit_Of_Main): Handle null nodes properly.
1931
1932 2010-09-09  Robert Dewar  <dewar@adacore.com>
1933
1934         * par-ch2.adb: Update comments.
1935
1936 2010-09-09  Ben Brosgol  <brosgol@adacore.com>
1937
1938         * gnat_rm.texi: Minor wordsmithing of section on pragma Ordered.
1939
1940 2010-09-09  Arnaud Charlet  <charlet@adacore.com>
1941
1942         * par-ch2.adb (Scan_Pragma_Argument_Association): In CodePeer mode,
1943         do not generate an error for compatibility with legacy code.
1944         ignored when generating SCIL.
1945         * sem_attr.adb (Resolve_Attribute): Ignore AI-229 in CodePeer mode.
1946
1947 2010-09-09  Thomas Quinot  <quinot@adacore.com>
1948
1949         * s-strxdr.adb, gnat_rm.texi, s-stratt-xdr.adb, s-stratt.ads: Rename
1950         s-strxdr.adb to s-stratt-xdr.adb
1951
1952 2010-09-09  Robert Dewar  <dewar@adacore.com>
1953
1954         * ali-util.adb (Obsolescent_Check): Removed.
1955         * gprep.adb (Obsolescent_Check): Removed.
1956         Remove Obsolescent_Check parameter in Scng instantiation
1957         * prj-err.adb (Obsolescent_Check): Removed.
1958         * prj-err.ads (Obsolescent_Check): Removed.
1959         Remove Obsolescent_Check parameter in Scng instantiation
1960         * scans.ads (Based_Literal_Uses_Colon): New flag
1961         * scn.adb (Obsolscent_Check_Flag): Removed
1962         (Obsolscent_Check): Removed
1963         (Set_Obsolescent_Check): Removed
1964         (Post_Scan): Add handling for obsolescent features
1965         * scn.ads (Obsolscent_Check): Removed
1966         (Set_Obsolescent_Check): Removed
1967         (Post_Scan): Can no longer be inlined
1968         Remove Obsolescent_Check from instantiation of Scng
1969         * scng.adb (Nlit): Set Based_Literal_Uses_Colon
1970         (Nlit): Remove handling of obsolescent check
1971         (Scan, case '%'): Remove handling of obsolescent check
1972         (Scan, case '|'): Call Post_Scan
1973         (Scan, case '!'): Remove handling of obsolescent check, call Post_Scan
1974         * scng.ads Remove Obsolescent_Check argument from Scng generic
1975         (Post_Scan): Now called for Tok_Vertical_Bar
1976         * sinput-l.adb: Remove calls to Set_Obsolescent_Check
1977
1978 2010-09-09  Doug Rupp  <rupp@adacore.com>
1979
1980         * gnatlbr.adb: Removed.
1981         * gnat_rm.texi, ug_words, gnat_ugn.texi: Remove mention of gnatlbr.
1982
1983 2010-09-09  Robert Dewar  <dewar@adacore.com>
1984
1985         * sem_res.adb (Resolve_Type_Conversion): Catch more cases of redundant
1986         conversions.
1987
1988 2010-09-09  Vincent Celier  <celier@adacore.com>
1989
1990         * gnatlbr.adb: Remove redundant conversions.
1991
1992 2010-09-09  Vincent Celier  <celier@adacore.com>
1993
1994         * prj-proc.adb: Minor comment spelling error fix.
1995         * osint.ads (Env_Vars_Case_Sensitive): Use function
1996         Get_Env_Vars_Case_Sensitive, not Get_File_Names_Case_Sensitive to
1997         compute value.
1998
1999 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
2000
2001         * sem_res.adb (Resolve_Equality_Op): Implement Ada2012 rule for
2002         resolution of conditional expressions whose dependent expressions are
2003         anonymous access types.
2004
2005 2010-09-09  Robert Dewar  <dewar@adacore.com>
2006
2007         * a-ststio.adb: Minor code reorganization.
2008         * s-direio.adb, prj.adb, prj-nmsc.adb, sem_type.adb: Remove redundant
2009         conversion.
2010         * types.ads: Minor reformatting.
2011         * binde.adb, vms_conv.adb, gnatls.adb, s-strxdr.adb, uintp.adb: Remove
2012         redundant conversions.
2013         * output.adb: Minor reformatting.
2014         * sem_ch8.adb (Find_Type): Test for redundant base applies to user
2015         types.
2016         * opt.ads: Add pragma Ordered for Verbosity_Level.
2017         * prj.ads: Add pragma Ordered for type Verbosity.
2018
2019 2010-09-09  Vincent Celier  <celier@adacore.com>
2020
2021         * osint.adb (Canonical_Case_File_Name): Use procedure To_Lower in
2022         System.Case_Util
2023         (Canonical_Case_Env_Var_Name): Ditto
2024
2025 2010-09-09  Bob Duff  <duff@adacore.com>
2026
2027         * g-pehage.adb (Allocate): Initialize the allocated elements of IT.
2028
2029 2010-09-09  Robert Dewar  <dewar@adacore.com>
2030
2031         * cstand.adb: Mark Boolean and Character types as Ordered
2032         * einfo.adb (Has_Pragma_Ordered): New flag
2033         * einfo.ads (Has_Pragma_Ordered): New flag
2034         * g-calend.ads: Mark Day_Name as Ordered
2035         * opt.ads: Mark Ada_Version_Type as Ordered
2036         (Warn_On_Unordered_Enumeration_Type): New flag
2037         * par-prag.adb: Add procdessing for pragma Ordered
2038         * s-ficobl.ads (Read_File_Mode): New subtype
2039         * s-fileio.adb: Use Read_File_Mode instead of explicit ranges
2040         * s-taskin.ads: Mark Entry_Call_State as ordered
2041         * sem_ch3.adb (Build_Derived_Enumeration_Type): Inherit
2042         Has_Pragma_Ordered.
2043         * sem_ch6.ads: Mark Conformance_Type as Ordered
2044         * sem_prag.adb: Implement pragma Ordered
2045         * sem_res.adb (Bad_Unordered_Enumeration_Reference): New function
2046         (Resolve_Comparison_Op): Diagnose unordered comparison
2047         (Resolve_Range): Diagnose unordered range
2048         * sem_warn.adb (Warn_On_Unordered_Enumeration_Type): New flag (from
2049         -gnatw.u/U)
2050         * snames.ads-tmpl: Add entry for pragma Ordered
2051         * style.ads (Check_Enumeration_Subrange): Removed
2052         * styleg.adb (Check_Enumeration_Subrange): Removed
2053         * styleg.ads (Check_Enumeration_Subrange): Removed
2054         * stylesw.adb: Remove handling of -gnatyE switch
2055         * stylesw.ads: (Style_Check_Enumeration_Subranges): Removed
2056         * vms_data.ads: Remove -gnatyE entries
2057         Add -gnatw.u entries
2058         * ug_words: Entries for -gnatw.u and -gnatw.U
2059         * gnat_ugn.texi: Document -gnatw.u/-gnatw.U switches
2060         * gnat_rm.texi: Document pragma Ordered.
2061         * s-tasren.adb: Avoid unnecessary comparison on unordered enumeration.
2062         * s-tpobop.adb: Remove comparison on unordered enumeration type.
2063
2064 2010-09-09  Vincent Celier  <celier@adacore.com>
2065
2066         * adaint.c: New function __gnat_get_env_vars_case_sensitive, returns 0
2067         for VMS and Windows, and 1 for all other platforms.
2068         * adaint.h: New function __gnat_get_env_vars_case_sensitive
2069         * osint.ads, osint.adb (Canonical_Case_Env_Var_Name): New procedure.
2070         * prj-ext.adb (Add): Call Canonical_Case_Env_Var_Name instead of
2071         Canonical_Case_File_Name, as we are dealing with environment variables,
2072         not files.
2073
2074 2010-09-09  Robert Dewar  <dewar@adacore.com>
2075
2076         * sem_util.adb: Minor reformatting
2077
2078 2010-09-09  Vincent Celier  <celier@adacore.com>
2079
2080         * vms_data.ads: Add documentation for S_Make_Single.
2081
2082 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
2083
2084         * sem_util.adb (Same_Object): include formal parameters.
2085
2086 2010-09-09  Vincent Celier  <celier@adacore.com>
2087
2088         * make.adb (Queue): New package implementing a new impementation of the
2089         queue, taking into account the new switch --single-compile-per-obj-dir.
2090         * makeutl.ads (Single_Compile_Per_Obj_Dir_Switch): New constant String
2091         for gnatmake and gprbuild new switch --single-compile-per-obj-dir.
2092         * opt.ads (One_Compilation_Per_Obj_Dir): New Boolean flag, defauted to
2093         False.
2094         * switch-m.adb (Scan_Make_Switches): Take into account new gnatmake
2095         switch --single-compile-per-obj-dir.
2096         * vms_data.ads: Add qualifier SINGLE_COMPILE_PER_OBJ_DIR for gnatmake
2097         switch --single-compile-per-obj-dir.
2098         * gnat_ugn.texi: Add documentation for new gnatmake switch
2099         --single-compile-per-obj-dir.
2100
2101 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
2102
2103         * einfo.adb, einfo.ads: Clarify use of Corresponding_Protected_Entry.
2104
2105 2010-09-09  Javier Miranda  <miranda@adacore.com>
2106
2107         * sem_ch3.adb (Is_Progenitor): Relocated to sem_type.
2108         (Replace_Type): Code cleanup.
2109         * sem_type.ads, sem_type.adb (Is_Progenitor): Relocated from sem_ch3
2110
2111 2010-09-09  Thomas Quinot  <quinot@adacore.com>
2112
2113         * exp_ch8.adb: Minor reformatting.
2114
2115 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
2116
2117         * exp_ch9.adb, einfo.adb, einfo.ads: New attribute
2118         Corresponding_Protected_Entry.
2119
2120 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
2121
2122         * exp_ch3.adb (Build_Untagged_Equality): Do not set alias of implicit
2123         inequality, it is always rewritten as the negation of the corresponding
2124         equality operation.
2125         * exp_ch8.adb (Expand_N_Subprogram_Renaming): If the subprogram renames
2126         the predefined equality of an untagged record, create a body at the
2127         point of the renaming, to capture the current meaning of equality for
2128         the type.
2129
2130 2010-09-09  Robert Dewar  <dewar@adacore.com>
2131
2132         * sem.adb, sem_warn.adb: Minor reformatting.
2133
2134 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
2135
2136         * sem_ch6.adb: Improve error message on untagged equality.
2137         * sem.adb (Semantics): Include subprogram bodies that act as spec.
2138
2139 2010-09-09  Javier Miranda  <miranda@adacore.com>
2140
2141         * sem_ch13.adb, exp_ch13.adb: Undo previous change, unneeded.
2142
2143 2010-09-09  Robert Dewar  <dewar@adacore.com>
2144
2145         * sem_ch13.adb, sem_ch6.adb, exp_ch3.adb: Minor reformatting.
2146
2147 2010-09-09  Robert Dewar  <dewar@adacore.com>
2148
2149         * einfo.adb (Is_Aggregate_Type): New function.
2150         * einfo.ads (Aggregate_Kind): New enumeration subtype
2151         (Is_Aggregate_Type): New function.
2152         * sem_type.adb (Is_Array_Class_Record_Type): Removed, replaced by
2153         Is_Aggregate_Typea.
2154
2155 2010-09-09  Robert Dewar  <dewar@adacore.com>
2156
2157         * exp_ch11.adb, frontend.adb, sem_attr.adb, sem_ch10.adb, sem_ch3.adb,
2158         sem_ch4.adb, sem_ch9.adb, sem_res.adb: Use Restriction_Check_Needed
2159         where appropriate.
2160         * restrict.ads, restrict.adb: Ditto.
2161         (Restriction_Check_Needed): New function
2162
2163 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
2164
2165         * exp_ch9.ads (Find_Master_Scope): New function, extracted from
2166         Build_Master_Entity, to find the proper scope for the master entity of
2167         a type that may contain tasks, in the presence of transient scopes.
2168         * exp_ch9.adb (Build_Master_Entity) Use new function.
2169         * exp_ch3.adb (Build_Class_Wide_Master): ditto.
2170
2171 2010-09-09  Vincent Celier  <celier@adacore.com>
2172
2173         * prj-attr.adb: Add new attributes Leading_Library_Options and
2174         Linker'Leading_Switches.
2175         * snames.ads-tmpl: Add new standard names Leading_Library_Options and
2176         Leading_Switches.
2177
2178 2010-09-09  Javier Miranda  <miranda@adacore.com>
2179
2180         * sem_ch3.adb (Derive_Subprogram): The code that checks if a
2181         dispatching primitive covers some interface primitive is incomplete.
2182         Replace such code by the invocation of a new subprogram that provides
2183         this functionality.
2184         * sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
2185         * sem_ch6.adb (Check_Missing_Return): Minor reformating
2186         (Check_Convention): Complete if-statement conditition when reporting
2187         errors (to avoid assertion failure).
2188         * sem_ch13.adb (Make_Null_Procedure_Specs): This routine was previously
2189         located in exp_ch3. Relocated inside Analyze_Freeze_Entity.
2190         (Analyze_Freeze_Entity): Invoke routine that adds the spec of non
2191         overridden null interface primitives.
2192         * sem_type.adb (Is_Ancestor): If the parent of the partial view of a
2193         private type is an interface then use the parent of its full view to
2194         climb to its ancestor type.
2195         * sem_disp.ads, sem_disp.adb (Covers_Some_Interface): New subprogram.
2196         (Check_Dispatching_Operation): Extend assertion to handle wrappers of
2197         null interface primitives.
2198         (Is_Null_Interface_Primitive): New subprogram.
2199         * exp_ch3.adb (Make_Null_Procedure_Specs): Removed.
2200         (Expand_Freeze_Record_Type): Do not generate specs of null interface
2201         subprograms because they are now generated by Analyze_Freeze_Entity.
2202
2203 2010-09-09  Robert Dewar  <dewar@adacore.com>
2204
2205         * a-calfor.adb, sem_ch3.adb: Minor reformatting.
2206
2207 2010-09-09  Robert Dewar  <dewar@adacore.com>
2208
2209         * bindgen.adb (Gen_Restrictions_Ada): Avoid explicit enumeration ranges
2210         (Gen_Restrictions_C): Avoid explicit enumeration ranges
2211         (Set_String_Replace): New procedure
2212         * casing.ads (Known_Casing): New subtype declaration
2213         * prj-attr.ads (All_Case_Insensitive_Associative_Array): New subtype
2214         declaration
2215         * prj-dect.adb (Parse_Attribute_Declaration): Avoid enumeration range
2216         * prj-nmsc.adb (Check_Naming): Avoid unnecessary enumeration range
2217         * prj-strt.adb (Attribute_Reference): Avoid enumeration range test
2218         * prj.adb (Known_Casing): Moved to Casing spec (avoid enum range)
2219         * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Avoid enumeration
2220         ranges
2221         * sem_res.adb (Resolve_Range): Check for enumeration subrange style rule
2222         * sem_type.adb (Is_Array_Class_Record_Type): New.
2223         * style.ads (Check_Enumeration_Subrange): New procedure
2224         * styleg.adb (Check_Enumeration_Subrange): New procedure
2225         * styleg.ads (Check_Enumeration_Subrange): New procedure
2226         * stylesw.adb Add handling for Style_Check_Enumeration_Subranges
2227         * stylesw.ads (Style_Check_Enumeration_Subranges): New flag
2228         * usage.adb: Add line for -gnatyE
2229         * vms_data.ads: Add entries for [NO]ENUMERATION_RANGES
2230         Add missing entry for NOBOOLEAN_OPERATORS
2231         * gnat_ugn.texi: Add documentation for -gnatyE
2232
2233 2010-09-09  Robert Dewar  <dewar@adacore.com>
2234
2235         * namet.adb (Initialize): Is now a dummy procedure
2236         (Reinitialize): New procedure
2237         Call Reinitialize from package initialization
2238         * namet.ads (Initialize): Is now a dummy procedure
2239         (Reinitialize): New procedure
2240         * clean.adb, gnat1drv.adb, gnatbind.adb, gnatcmd.adb, gnatlink.adb,
2241         gnatls.adb, gprep.adb, make.adb, prj-makr.adb: Remove obsolete call to
2242         Namet.Initialize.
2243
2244 2010-09-09  Bob Duff  <duff@adacore.com>
2245
2246         * sem_elab.adb, s-os_lib.ads: Minor comment fixes.
2247
2248 2010-09-09  Robert Dewar  <dewar@adacore.com>
2249
2250         * s-bitops.adb (Raise_Error): Add exception message
2251
2252 2010-09-09  Robert Dewar  <dewar@adacore.com>
2253
2254         * par-ch5.adb (Test_Statement_Required): Deal with Ada 2012 allowing no
2255         null statement after label.
2256         * sinfo.ads: Minor comment updates.
2257
2258 2010-09-09  Robert Dewar  <dewar@adacore.com>
2259
2260         * nlists.ads, nlists.adb (In_Same_List): New function.
2261         Use Node_Or_Entity_Id where appropriate.
2262         * par-labl.adb, sem_ch6.adb, sem_type.adb: Use In_Same_List.
2263
2264 2010-09-09  Robert Dewar  <dewar@adacore.com>
2265
2266         * restrict.ads, restrict.adb (Check_Wide_Character_Restriction): New
2267         procedure.
2268         * sem_ch3.adb: Use Check_Wide_Character_Restriction
2269         (Enumeration_Type_Declaration): Check violation of No_Wide_Characters
2270         * sem_ch8.adb (Find_Direct_Name): Check violation of No_Wide_Characters
2271         (Find_Expanded_Name): Check violation of No_Wide_Characters
2272
2273 2010-09-09  Robert Dewar  <dewar@adacore.com>
2274
2275         * par-ch5.adb: Minor reformatting.
2276
2277 2010-09-09  Robert Dewar  <dewar@adacore.com>
2278
2279         * prj-env.adb: Minor code reorganization.
2280         * par-ch3.adb: Minor reformatting.
2281         * gcc-interface/Make-lang.in: Update dependencies.
2282
2283 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
2284
2285         * exp_ch9.adb (Build_Activation_Chain_Entity): The construct enclosing
2286         a task declaration can be an entry body.
2287
2288 2010-09-09  Javier Miranda  <miranda@adacore.com>
2289
2290         * exp_disp.adb (Make_DT): Decorate as "static" variables containing
2291         tags of library level tagged types.
2292         (Make_Tags): Disable backend optimizations about aliasing for
2293         declarations of access to dispatch tables.
2294
2295 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
2296
2297         * sem_ch12.adb (Reset_Entity): If the entity is an itype created as a
2298         subtype for a null-excluding access type, recover the original
2299         subtype_mark to get the proper visibility on the original name.
2300
2301 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
2302
2303         * exp_ch3.adb (Build_Untagged_Equality): For Ada2012, new procedure to
2304         create the primitive equality operation for an untagged record. The
2305         operation is the predefined equality if no record component has a
2306         user-defined equality, or if there is a user-defined equality for the
2307         type as a whole, or when the type is derived and it has an inherited
2308         equality. Otherwise the body of the operations is built as for tagged
2309         types.
2310         (Expand_Freeze_Record_Type): Call Build_Untagged_Equality when needed.
2311         (Make_Eq_Body): New function to create the expanded body of the equality
2312         operation for tagged and untagged records.  In both cases the operation
2313         composes, and the primitive operation of each record component is used
2314         to generate the equality function for the type.
2315         * exp_ch4.adb (Expand_Composite_Equality): In Ada2012, if a component
2316         has an abstract equality defined, replace its call with a
2317         Raise_Program_Error.
2318         * sem_ch6.adb (New_Overloaded_Entity): if Ada2012, verify that a
2319         user-defined equality operator for an untagged record type does not
2320         happen after type is frozen, and appears in the visible part if partial
2321         view of type is not limited.
2322
2323 2010-09-09  Tristan Gingold  <gingold@adacore.com>
2324
2325         * gnatlbr.adb: Make Create_Directory more portable: use __gnat_mkdir.
2326
2327 2010-09-09  Bob Duff  <duff@adacore.com>
2328
2329         * gnat_ugn.texi: Remove incorrect statement about -E being the default.
2330
2331 2010-09-09  Pascal Obry  <obry@adacore.com>
2332
2333         * gnat_ugn.texi: Update doc on windows related topics.
2334
2335 2010-09-09  Geert Bosch  <bosch@adacore.com>
2336
2337         * s-fatgen.adb: Update comments.
2338
2339 2010-09-09  Robert Dewar  <dewar@adacore.com>
2340
2341         * par-ch4.adb (Box_Error): New procedure.
2342
2343 2010-09-09  Thomas Quinot  <quinot@adacore.com>
2344
2345         * sem.adb: Minor reformatting.
2346
2347 2010-09-09  Pascal Obry  <obry@adacore.com>
2348
2349         * prj-env.adb: Style fix, use /and then/ and /or else/.
2350         * gnat_ugn.texi: Fix typos.
2351
2352 2010-09-03  Joseph Myers  <joseph@codesourcery.com>
2353
2354         PR ada/45499
2355         * gcc-interface/misc.c (gnat_init_options): Allow options with
2356         empty canonical form.  Generate a single save_argv element from -I
2357         options.
2358
2359 2010-08-30  Eric Botcazou  <ebotcazou@adacore.com>
2360
2361         * gcc-interface/utils.c (gnat_pushdecl): Remove test for PARM_DECLs.
2362         Attach fake PARM_DECLs to the topmost block of the function.
2363
2364 2010-08-30  Eric Botcazou  <ebotcazou@adacore.com>
2365
2366         * gcc-interface/trans.c (call_to_gnu): Also force the return slot opt
2367         for the call to a function whose return type was unconstrained.
2368
2369 2010-08-30  Olivier Hainque  <hainque@adacore.com>
2370
2371         * gcc-interface/decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro,
2372         replacement for FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
2373         (gnat_to_gnu_entity) <case ..., E_Procedure>: Use it.
2374
2375 2010-08-21  Eric Botcazou  <ebotcazou@adacore.com>
2376
2377         * tracebak.c: Fix typo in comment.
2378
2379 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
2380
2381         * gcc-interface/decl.c: Use FOR_EACH_VEC_ELT.
2382         * gcc-interface/trans.c: Likewise.
2383         * gcc-interface/utils.c: Likewise.
2384
2385 2010-08-18  Eric Botcazou  <ebotcazou@adacore.com>
2386
2387         * tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
2388
2389 2010-08-10  Robert Dewar  <dewar@adacore.com>
2390
2391         * sem_ch8.adb, sem_ch8.ads: Change name Write_Scopes to ws.
2392         * sem_util.adb: Minor reformatting.
2393
2394 2010-08-10  Javier Miranda  <miranda@adacore.com>
2395
2396         * sem_aggr.adb (Resolve_Extension_Aggregate): Warn on the use of C++
2397         constructors that leave the object partially initialized.
2398         * exp_atag.ads, exp_atags.adb (Build_Inherit_CPP_Prims): New subprogram
2399         that copies from parent of Typ the dispatch table slots of inherited
2400         C++ primitives. It handles primary and secondary dispatch tables.
2401         * einfo.adb (Related_Type): Moved from Node26 to Node27. Required to
2402         use this attribute with E_Variable entities.
2403         (Set_Is_Tag): Relax assertion to allow its use with variables that
2404         store tags.
2405         (Set_Related_Type): Relax assertion to allow its use with variables
2406         that store the tag of a C++ class.
2407         (Write_26_Field_Name): Remove Related_Type.
2408         (Write_27_Field_Name): Add Related_Type.
2409         * einfo.ads (Related_Type): Moved from Node26 to Node27. Available also
2410         with E_Variable entities.
2411         * sem_prag.adb (CPP_Constructor): Warn on duplicated occurrence of this
2412         pragma.
2413         * sem_util.adb (Search_Tag): Add missing support for CPP types.
2414         (Enclosing_CPP_Parent): New subprogram.
2415         (Has_Suffix): New subprogram.
2416         * sem_util.ads (Enclosing_CPP_Parent): New subprogram that returns the
2417         closest ancestor of a type that is a C++ type.
2418         (Has_Suffix): New subprogram. Used in assertions to check the suffix of
2419         internal entities.
2420         * sem_attr.adb (Analyze_Access_Attribute): Check wrong use of current
2421         instance in derivations of C++ types.
2422         * exp_tss.adb (CPP_Init_Proc): New subprogram.
2423         (Is_CPP_Init_Proc): New subprogram.
2424         (Set_TSS): Handle new C++ init routines.
2425         * exp_tss.ads (TSS_CPP_Init): New TSS name. For initialization of C++
2426         dispatch tables.
2427         (CPP_Init_Proc): New subprogram.
2428         (Is_CPP_Init_Proc): New subprogram.
2429         * exp_disp.adb (CPP_Num_Prims): New subprogram.
2430         (Has_CPP_Constructors): New subprogram.
2431         (Make_Secondary_DT, Make_DT): For derivations of CPP types, do not
2432         initialize slots located in the C++ part of the dispatch table.
2433         (Make_Tags): For CPP types declare variables used by the IP routine to
2434         store the C++ tag values after the first invocation of the C++
2435         constructor.
2436         (Build_CPP_Init_DT): New subprogram.
2437         (Set_CPP_Constructors): New implementation that builds an IP for each
2438         CPP constructor. These IP are wrappers of the C++ constructors that,
2439         after the first invocation of the constructor, read the C++ tags from
2440         the object and save them locally. These copies of the C++ tags are used
2441         by the IC routines to initialize tables of Ada derivations of CPP types.
2442         (Write_DT): Indicate what primitives are imported from C++
2443         * exp_disp.ads (CPP_Num_Prims): New subprogram.
2444         (Has_CPP_Constructors): New subprogram.
2445         * exp_aggr.adb (Build_Record_Aggr_Code): For derivations of C++ types
2446         invoke the IC routine to inherit the slots of the parents.
2447         * sem_ch13.adb (Analyze_Freeze_Entity): Add new warnings on CPP types.
2448         * exp_ch3.adb (Is_Variable_Size_Array): New subprogram.
2449         (Is_Variable_Size_Record): Factorize code calling
2450         Is_Variable_Size_Array.
2451         (Build_CPP_Init_Procedure): New subprogram that builds the tree
2452         corresponding to the procedure that initializes the C++ part of the
2453         dispatch table of an Ada tagged type that is a derivation of a CPP type.
2454         (Build_Init_Procedure): Adding documentation plus code reorganization to
2455         leave more clear the construction of the IP with C++ types.
2456         (Expand_Freeze_Record_Type): Delay call to Set_CPP_Constructors because
2457         it cannot be called after Make_Tags has been invoked.
2458         (Inherit_CPP_Tag): Removed.
2459         (Init_Secondary_Tags): For derivations of CPP types, warn on tags
2460         located at variable offset.
2461         * freeze.ads: Minor reformating.
2462         * sem_ch8.adb (Write_Scopes): Add pragma export. Required to have it
2463         available in gdb.
2464         * gcc-interface/Make-lang.in: Update dependencies.
2465
2466 2010-08-10  Robert Dewar  <dewar@adacore.com>
2467
2468         * a-chahan.ads: Add comments on handling of obsolescent entries.
2469         * opt.ads: Add Ada_2005 and Ada_2012 renamings for versions.
2470         * restrict.adb (Check_Obsolescent_2005_Entity): New procedure.
2471         * restrict.ads (Check_Obsolescent_2005_Entity): New procedure.
2472         * sem_attr.adb (Analyze_Access_Attribute): Call
2473         Check_Obsolescent_2005_Entity to check for access to obsolescent
2474         Ada.Characters.Handling subprogram.
2475         (Analyze_Attribute, case Class): Applying Class to untagged incomplete
2476         type is obsolescent in Ada 2005.
2477         (Analyze_Attribute, case Constrained): Better placement of flag when
2478         flagged as obsolescent feature.
2479         (Analyze_Attribute, case Storage_Size): Use with tasks is obsolescent
2480         * sem_ch10.adb (Analyze_With_Clause): With of renamings such as Text_IO
2481         is an obsolescent feature.
2482         * sem_ch11.adb (Analyze_Raise_Statement): Numeric_Error is obsolescent
2483         feature.
2484         * sem_ch8.adb (Analyze_Subprogram_Renaming): Call
2485         Check_Obsolescent_2005_Entity to check for renaming obsolete
2486         Ada.Characters.Handling subprogram.
2487         * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Check
2488         for obsolescent restrictions in Ada 2005.
2489         (Analyze_Pragma, case Suppress): Entity arg is obsolescent in Ada 2005
2490         (Analyze_Pragma, case Interface): Interface is obsolescent in Ada 2005
2491         * sem_res.adb (Resolve_Call): Call Check_Obsolescent_2005_Entity to
2492         check for obsolescent references to Ada.Characters.Handling subprograms
2493
2494 2010-08-10  Robert Dewar  <dewar@adacore.com>
2495
2496         * einfo.adb, einfo.ads: Fix bad -gnatdt output for incomplete type.
2497
2498 2010-08-10  Robert Dewar  <dewar@adacore.com>
2499
2500         * errout.ads: Add VMS table entries for 2005, 12, 2012 switches
2501         * par-ch4.adb: Change wording of Ada 2012 messages
2502         * vms_data.ads: Add VMS entries for /2005, /12, /2012
2503
2504 2010-08-10  Robert Dewar  <dewar@adacore.com>
2505
2506         * a-suenco.adb (Convert): Fix bug in UTF-16 to UTF-8 conversion for
2507         codes in the range 16#80#..16#7FF#.
2508         * sem_ch10.adb: Minor reformatting.
2509
2510 2010-08-10  Arnaud Charlet  <charlet@adacore.com>
2511
2512         * gnat1drv.adb (Scan_Front_End_Switches): Always perform semantics and
2513         generate ali files in CodePeer mode, so that a gnatmake -c -k will
2514         proceed further when possible
2515         * freeze.adb (Freeze_Static_Object): Fix thinko. Do not generate error
2516         messages when ignoring representation clauses (-gnatI).
2517
2518 2010-08-10  Ed Schonberg  <schonberg@adacore.com>
2519
2520         * exp_ch4.adb (Expand_N_Selected_Component): Do not attempt to
2521         constant-fold discriminant reference if the constraint is an object
2522         with non-static expression. Expression may contain volatile references
2523         in the presence of renamings.
2524
2525 2010-08-10  Vincent Celier  <celier@adacore.com>
2526
2527         * prj-proc.adb (Get_Attribute_Index): If Index is All_Other_Names,
2528         returns Index.
2529         * prj-strt.adb (Attribute_Reference): Recognize 'others' as a valid
2530         index for an associative array where it is allowed.
2531
2532 2010-08-10  Thomas Quinot  <quinot@adacore.com>
2533
2534         * exp_attr.adb: Add comments.
2535
2536 2010-08-10  Jerome Lambourg  <lambourg@adacore.com>
2537
2538         * adaint.c (__gnat_get_file_names_case_sensitive): return 0 on darwin.
2539
2540 2010-08-09  Nathan Froyd  <froydnj@codesourcery.com>
2541
2542         * gcc-interface/utils.c (gnat_poplevel): Use blocks_nreverse.
2543
2544 2010-08-09  Eric Botcazou  <ebotcazou@adacore.com>
2545
2546         * gcc-interface/utils.c (build_vms_descriptor32): Fix formatting.
2547         (build_vms_descriptor): Likewise.
2548
2549 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2550
2551         * gcc-interface/utils.c (make_descriptor_field): Add tree parameter.
2552         (build_vms_descriptor32): Adjust calls to it for new parameter.
2553         (build_vms_descriptor): Likewise.
2554
2555 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2556
2557         * gcc-interface/decl.c (rec_variant):  Declare.  Declare a VEC of it.
2558         (build_variant_list): Take and return a VEC instead of a tree.
2559         (create_variant_part_from): Take a VEC instead of a tree for
2560         variant_list.  Adjust accordingly.
2561         (gnat_to_gnu_entity): Adjust for changes to previous functions.
2562
2563 2010-08-07  Nathan Froyd  <froydnj@codesourcery.com>
2564
2565         * gcc-interface/decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead
2566         of alloca.
2567         (components_to_record): Likewise.
2568         * gcc-interface/trans.c (gnat_to_gnu): Likewise.
2569         * gcc-interface/utils.c (max_size): Likewise.
2570         (build_vms_descriptor32): Likewise.
2571         (build_vms_descriptor): Likewise.
2572
2573 2010-08-07  Nathan Froyd  <froydnj@codesourcery.com>
2574
2575         * gcc-interface/decl.c (subst_pair): Declare.  Declare a VEC of it.
2576         (build_subst_list): Return a VEC instead of a tree.
2577         (build_variant_list): Take a VEC for subst_list.  Adjust
2578         accordingly.
2579         (create_field_decl_from): Likewise.
2580         (create_variant_part_from): Likewise.
2581         (copy_and_substitute_in_size): Likewise.
2582         (gnat_to_gnu_entity): Adjust for new interface to build_subst_list.
2583         Free the built vector.
2584
2585 2010-08-06  Eric Botcazou  <ebotcazou@adacore.com>
2586
2587         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not build an
2588         allocator for large imported objects.
2589
2590 2010-08-05  Robert Dewar  <dewar@adacore.com>
2591
2592         * gnat1drv.adb: Minor reformatting.
2593
2594 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
2595
2596         * sem.adb (Do_Unit_And_Dependents): If some parent unit is an
2597         instantiation, process its body before the spec of the main unit,
2598         because it may contain subprograms invoked in the spec of main.
2599         * einfo.ads: Add documention of delayed freeze.
2600
2601 2010-08-05  Vincent Celier  <celier@adacore.com>
2602
2603         * prj-nmsc.adb (Process_Linker): Take into account new values for
2604         attribute Response_File_Format.
2605         * prj.ads (Response_File_Format): New enumeration values GCC_GNU,
2606         GCC_Object_List and GCC_Option_List.
2607
2608 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
2609
2610         * exp_ch4.adb (Expand_N_Selected_Component): Do not constant-fold a
2611         selected component that denotes a discriminant if it is the
2612         discriminant of a component of an unconstrained record type.
2613
2614 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
2615
2616         * exp_util.adb (Insert_Actions): If the action appears within a
2617         conditional expression that is already analyzed, insert action further
2618         out.
2619
2620 2010-08-05  Robert Dewar  <dewar@adacore.com>
2621
2622         * exp_ch4.adb: Minor reformatting.
2623
2624 2010-08-05  Thomas Quinot  <quinot@adacore.com>
2625
2626         * exp_ch4.adb: Minor reformatting
2627         * gnat1drv.adb: Minor reformatting.
2628         Minor code reorganization (use Nkind_In).
2629
2630 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
2631
2632         * exp_util.ads, exp_util.adb (Needs_Constant_Address): New predicate to
2633         determine whether the expression in an address clause for an
2634         initialized object must be constant. Code moved from freeze.adb.
2635         (Remove_Side_Effects): When the temporary is initialized with a
2636         reference, indicate that the temporary is a constant as done in all
2637         other cases.
2638         * freeze.adb (Check_Address_Clause): use Needs_Constant_Address.
2639         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
2640         If object does not need a constant address, remove side effects from
2641         address expression, so it is elaborated at the point of the address
2642         clause and not at the freeze point of the object, so that elaboration
2643         order is respected.
2644
2645 2010-08-05  Vincent Celier  <celier@adacore.com>
2646
2647         * prj.adb (Is_Compilable): Return False for header files of non Ada
2648         languages.
2649
2650 2010-08-05  Emmanuel Briot  <briot@adacore.com>
2651
2652         * prj-nmsc.adb: The Missing_Source_Files flag also considers a missing
2653         exec directory as a warning rather than an error.
2654
2655 2010-08-05  Thomas Quinot  <quinot@adacore.com>
2656
2657         * sem_ch6.adb, gnat1drv.adb, exp_ch6.adb, sem_eval.adb: Minor
2658         reformatting.
2659
2660 2010-08-05  Steve Baird  <baird@adacore.com>
2661
2662         * exp_util.adb (Remove_Side_Effects): An access value which designates
2663         a volatile object of a nonvolatile type is prohibited.
2664         Do not call Make_Reference to construct a reference to such an object.
2665
2666 2010-08-05  Robert Dewar  <dewar@adacore.com>
2667
2668         * a-suezse.adb, a-suezse.ads, a-suezen.adb, a-suezen.ads: Removed.
2669         * a-suewse.adb, a-suewse.ads, a-suesen.adb, a-suesen.ads,
2670         a-suewen.adb, a-suewen.ads: New files.
2671         * Makefile.rtl, impunit.adb: Update implementation of Ada 2012 string
2672         encoding packages.
2673         * sem_elab.adb: Minor reformatting.
2674
2675 2010-08-05  Arnaud Charlet  <charlet@adacore.com>
2676
2677         * sem_ch8.adb (Use_One_Type): Protect against empty scopes.
2678         * exp_util.adb (Component_May_Be_Bit_Aligned): Prevent assert failure
2679         in case of null Comp.
2680
2681 2010-08-05  Robert Dewar  <dewar@adacore.com>
2682
2683         * errout.adb, a-suewen.adb, a-suezen.adb: Minor reformatting.
2684
2685 2010-08-05  Gary Dismukes  <dismukes@adacore.com>
2686
2687         * sem_ch4.adb (Analyze_Allocator): Flag errors on allocators of a
2688         nested access type whose designated type has tasks or is a protected
2689         object when the restrictions No_Task_Hierarchy or
2690         No_Local_Protected_Objects apply. Add ??? comment.
2691         * sem_ch9.adb (Analyze_Protected_Type): Give a warning when a protected
2692         type is not a library-level type and No_Local_Protected_Objects applies.
2693         (Analyze_Task_Type): Give a warning when a task type is not a
2694         library-level type and No_Task_Hierarchy applies.
2695
2696 2010-08-05  Arnaud Charlet  <charlet@adacore.com>
2697
2698         * sem.adb: Minor reformatting
2699         * sem_ch4.adb (Analyze_Reference): Disable error message in CodePeer
2700         mode, not useful.
2701
2702 2010-08-04  Eric Botcazou  <ebotcazou@adacore.com>
2703
2704         * gcc-interface/decl.c: Do not undefine IN_GCC_FRONTEND and do not
2705         include expr.h.
2706         (gnat_to_gnu_entity) <object>: Force address of -1 at the tree level
2707         for the debug-only entity.
2708         * gcc-interface/Make-lang.in (ada/decl.o): Adjust dependencies.
2709
2710 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
2711
2712         * gcc-interface/lang-specs.h: Don't pass -a options.
2713
2714 2010-07-28  Joseph Myers  <joseph@codesourcery.com>
2715
2716         * gcc-interface/misc.c (gnat_init_options): Ignore erroneous
2717         options.  Check canonical_option_num_elements on options copied.
2718
2719 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2720
2721         * gcc-interface/misc.c (gnat_handle_option): Update prototype and
2722         return value type.  Don't check for missing arguments here.
2723
2724 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2725
2726         * gcc-interface/misc.c (gnat_option_lang_mask): New.
2727         (gnat_init_options): Update prototype.  Reconstruct argv array
2728         from decoded options.
2729
2730 2010-07-23  Eric Botcazou  <ebotcazou@adacore.com>
2731
2732         * gcc-interface/utils.c (update_pointer_to): In the unconstrained array
2733         case, merge the alias set of the old pointer type.
2734
2735 2010-07-23  Eric Botcazou  <ebotcazou@adacore.com>
2736
2737         * gcc-interface/utils.c (gnat_types_compatible_p): Revert latest change
2738         and recurse only for multidimensional array types instead.
2739
2740 2010-07-22  Eric Botcazou  <ebotcazou@adacore.com>
2741
2742         PR ada/44892
2743         * gcc-interface/utils.c (convert): Fix thinko in test.
2744         (unchecked_convert): When converting from a scalar type to a type with
2745         a different size, pad to have the same size on both sides.
2746
2747 2010-07-22  Eric Botcazou  <ebotcazou@adacore.com>
2748
2749         * gcc-interface/utils.c (gnat_types_compatible_p): Don't require strict
2750         equality for the component type of array types.
2751
2752 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
2753
2754         * gcc-interface/decl.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
2755         * gcc-interface/trans.c: Likewise.
2756         * gcc-interface/utils.c: Likewise.
2757         * gcc-interface/utils2.c: Likewise.
2758
2759 2010-07-13  Laurent GUERBY  <laurent@guerby.net>
2760
2761         PR bootstrap/44458
2762         * gcc-interface/targtyps.c: Include tm_p.h.
2763         * gcc-interface/Make-lang.in: Update dependencies.
2764
2765 2010-07-09  Eric Botcazou  <ebotcazou@adacore.com>
2766
2767         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
2768         CALL_EXPR.
2769
2770 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2771
2772         * gcc-interface/utils.c: Include diagnostic-core.h in every file
2773         that includes toplev.h.
2774
2775 2010-07-03  Eric Botcazou  <ebotcazou@adacore.com>
2776
2777         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
2778         Branch to common code handling the alignment of discrete types.
2779         <E_Signed_Integer_Type>: Likewise.
2780         <E_Modular_Integer_Type>: Likewise.
2781
2782 2010-07-02  Eric Botcazou  <ebotcazou@adacore.com>
2783
2784         * gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
2785         (gnat_handle_option): Allocate only one element for gnat_argv.
2786         (gnat_init): Do not populate gnat_argv.
2787
2788 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2789
2790         * gcc-interface/trans.c: Do not include tree-flow.h.
2791         * gcc-interface/Make-lang.in: Adjust dependencies.
2792
2793 2010-06-29  Nathan Froyd  <froydnj@codesourcery.com>
2794
2795         * gcc-interface/gigi.h (gnat_build_constructor): Take a VEC instead
2796         of a TREE_LIST.  Update comment.
2797         * gcc-interface/trans.c (gigi): Build a VEC instead of a TREE_LIST.
2798         Adjust call to gnat_build_constructor.
2799         (Attribute_to_gnu): Likewise.
2800         (gnat_to_gnu): Likewise.
2801         (pos_to_constructor): Likewise.
2802         (extract_values): Likewise.
2803         * gcc-interface/utils.c (build_template): Likewise.
2804         (convert_vms_descriptor64): Likewise.
2805         (convert_vms_descriptor32): Likewise.
2806         (convert_to_fat_pointer): Likewise.
2807         (convert): Likewise.
2808         (unchecked_convert): Likewise.
2809         * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
2810         * gcc-interface/utils2.c (build_allocator): Likewise.
2811         (fill_vms_descriptor): Likewise.
2812         (gnat_build_constructor): Take a VEC instead of a TREE_LIST.
2813         (compare_elmt_bitpos): Adjust for parameters being constructor_elts
2814         instead of TREE_LISTs.
2815
2816 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
2817
2818         * gcc-interface/misc.c: Do not include except.h.
2819         * gcc-interface/Make-lang.in: Update dependencies.
2820
2821 2010-06-27  Eric Botcazou  <ebotcazou@adacore.com>
2822
2823         * gcc-interface/trans.c: Include tree-flow.h.
2824         (gnu_switch_label_stack): Delete.
2825         (Case_Statement_to_gnu): Do not emit the goto at the end of a case if
2826         its associated block cannot fall through.  Do not emit the final label
2827         if no cases branch to it.
2828         * gcc-interface/Make-lang.in (ada/trans.o): Add $(TREE_FLOW_H).
2829
2830 2010-06-23  Thomas Quinot  <quinot@adacore.com>
2831
2832         * exp_attr.adb (Expand_Access_To_Protected_Op): When rewriting a
2833         reference to a protected subprogram outside of the protected's scope,
2834         ensure the corresponding external subprogram is frozen before the
2835         reference.
2836
2837 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2838
2839         * sem_prag.adb: Fix typo in error message.
2840         * sem.adb: Refine previous change.
2841
2842 2010-06-23  Robert Dewar  <dewar@adacore.com>
2843
2844         * impunit.adb, a-suewen.adb, a-suewen.ads, a-suenco.adb, a-suenco.ads,
2845         a-suezen.adb, a-suezen.ads, a-stuten.adb, a-stuten.ads, Makefile.rtl:
2846         Implement Ada 2012 string encoding packages.
2847
2848 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
2849
2850         * a-stwiun-shared.adb, a-stwiun-shared.ads, a-stzunb-shared.adb,
2851         a-stzunb-shared.ads, a-swunau-shared.adb, a-swuwti-shared.adb,
2852         a-szunau-shared.adb, a-szuzti-shared.adb, a-strunb-shared.adb,
2853         a-strunb-shared.ads, a-stunau-shared.adb, a-suteio-shared.adb: New
2854         files.
2855         * gcc-interface/Makefile.in: Enable use of above files.
2856
2857 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2858
2859         * sem_ch13.adb (Check_Constant_Address_Clauses): Do not check legality
2860         of address clauses if if Ignore_Rep_Clauses is active.
2861         * freeze.adb (Check_Address_Clause): If Ignore_Rep_Clauses is active,
2862         remove address clause from tree so that it does not reach the backend.
2863
2864 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
2865
2866         * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]): Do not
2867         expand 'Valid from user code in CodePeer mode, will be handled by the
2868         back-end directly.
2869
2870 2010-06-23  Bob Duff  <duff@adacore.com>
2871
2872         * g-comlin.ads: Minor comment improvements.
2873
2874 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2875
2876         * sem_res.adb (Uses_SS): The expression that initializes a controlled
2877         component of a record type may be a user-defined operator that is
2878         rewritten as a function call.
2879
2880 2010-06-23  Bob Duff  <duff@adacore.com>
2881
2882         * g-comlin.ads, sem_ch13.adb: Minor comment fix.
2883
2884 2010-06-23  Eric Botcazou  <ebotcazou@adacore.com>
2885
2886         * exp_ch11.adb (Expand_Local_Exception_Handlers): Propagate the end
2887         label to the new sequence of statements.  Set the sloc of the raise
2888         statement onto the new goto statements.
2889
2890 2010-06-23  Robert Dewar  <dewar@adacore.com>
2891
2892         * a-stuten.ads, a-stuten.adb: New files.
2893         * impunit.adb: Add engtry for Ada.Strings.UTF_Encoding (a-stuten.ads)
2894         * Makefile.rtl: Add entry for a-stuten (Ada.Strings.UTF_Encoding)
2895
2896 2010-06-23  Robert Dewar  <dewar@adacore.com>
2897
2898         * gnat_ugn.texi: Add documentation of -gnat12 switch
2899         Add documentation of -gnatX switch.
2900
2901 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2902
2903         * inline.ads: Include the current Ada_Version in the info for pending
2904         instance bodies, so that declaration and body are compiled with the
2905         same Ada_Version.
2906         * inline.adb: Move with_clause for Opt to spec.
2907         * sem_ch12.adb (Analyze_Package_Instantiation,
2908         Analyze_Subprogram_Instantiation): Save current Ada_Version in
2909         Pending_Instantiation information.
2910         (Instantiate_Package_Body, Instantiate_Subprogram_Body,
2911         Inline_Package_Body): Use the Ada_Version present in the body
2912         information.
2913
2914 2010-06-23  Robert Dewar  <dewar@adacore.com>
2915
2916         * usage.adb: Add documentation for -gnat12 switch.
2917         * errout.ads: Add VMS alias entry for -gnat12 switch
2918         * gnat_rm.texi: Add documentation for pragma Ada_12 and Ada_2012
2919         Add documentation for pragma Extensions_Allowed.
2920         * opt.ads: Add entry for Ada 2012 mode.
2921         * sem_ch4.adb, par-ch3.adb, par-ch4.adb: Use new Ada 2012 mode for 2012
2922         features.
2923         * sem_prag.adb, par-prag.adb: Add processing for pragma Ada_12 and
2924         Ada_2012.
2925         * sem_ch13.adb: Add handling for Ada 2012 mode.
2926         * snames.ads-tmpl: Add entries for pragma Ada_2012 and Ada_12.
2927         * switch-c.adb: Add handling for -gnat12 switch.
2928         Implement -gnat2005 and -gnat2012.
2929         * usage.adb: Add documentation for -gnat12 switch.
2930         * vms_data.ads: Add /12 switch for Ada 2012 mode.
2931
2932 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
2933
2934         * exp_ch4.adb (Expand_N_Allocator): Fix potential crash when using
2935         No_Task_Hierarchy restriction. Add comment.
2936         * exp_ch9.adb, exp_ch3.adb: Update comments.
2937
2938 2010-06-23  Robert Dewar  <dewar@adacore.com>
2939
2940         * sem_ch5.adb (Process_Bounds): Remove some junk initializations.
2941         * sem_res.adb: Add comments.
2942         * sem_util.adb: Minor reformatting. Add comments.
2943         Change increment on Actuals_In_Call table.
2944         * opt.ads: Minor: add 'constant'.
2945
2946 2010-06-23  Javier Miranda  <miranda@adacore.com>
2947
2948         * exp_disp.adb (Make_DT): Initialize the Size_Func component of the
2949         TSD to Null_Address if No_Dispatching_Calls is active.
2950
2951 2010-06-23  Vincent Celier  <celier@adacore.com>
2952
2953         * a-comlin.ads: Indicate that use of this package is not supported
2954         during the elaboration of an auto-initialized Stand-Alone Library.
2955
2956 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2957
2958         * exp_util.adb (Is_Possibly_Misaligned_Object): Do not rely on an
2959         alignment clause on a record type to determine if a component may be
2960         misaligned. The decision must be taken in the back-end where target
2961         alignment information is known.
2962
2963 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
2964
2965         * gnat1drv.adb (Adjust_Global_Switches): Enable some restrictions
2966         systematically in CodePeer mode to simplify generated code.
2967         * restrict.adb (Check_Restriction): Do nothing in CodePeer mode.
2968         * exp_ch4.adb (Expand_N_Allocator): Generate proper code when
2969         No_Task_Hierarchy is set instead of crasshing.
2970
2971 2010-06-23  Thomas Quinot  <quinot@adacore.com>
2972
2973         * sem_util.adb: Minor code cleanup: test for proper entity instead of
2974         testing just Chars attribute when checking whether a given scope is
2975         System.
2976         * exp_ch4.adb, einfo.adb: Minor reformatting.
2977
2978 2010-06-23  Vincent Celier  <celier@adacore.com>
2979
2980         PR ada/44633
2981         * switch-m.adb (Normalize_Compiler_Switches): Take into account
2982         switches -gnatB, -gnatD=nn, -gnatG (incuding -gnatG=nn), -gnatI,
2983         -gnatl=file, -gnatS, -gnatjnn, -gnateI=nn and -gnatWx.
2984
2985 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2986
2987         * sem_res.adb (Resolve_Membership_Op): If left operand is a mixed mode
2988         operation with a universal real operand, and the right operand is a
2989         range with universal bounds, find unique fixed point that may be
2990         candidate, and warn appropriately.
2991
2992 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2993
2994         * sem_res.adb (Resolve_Intrinsic_Operator): Add guards to handle
2995         properly the rare cases where VMS operators are visible through
2996         Extend_System, but the default System is being used and Address is a
2997         private type.
2998         * sem_util.adb: Widen predicate Is_VMS_Operator.
2999
3000 2010-06-23  Vincent Celier  <celier@adacore.com>
3001
3002         * switch-m.adb (Normalize_Compiler_Switches): Take into account -gnatC
3003         and -gnateS.
3004
3005 2010-06-23  Olivier Hainque  <hainque@adacore.com>
3006
3007         * einfo.adb (Has_Foreign_Convention): Consider Intrinsic with
3008         Interface_Name as foreign. These are GCC builtin imports for
3009         which Ada specific processing doesn't apply.
3010
3011 2010-06-23  Thomas Quinot  <quinot@adacore.com>
3012
3013         * sem_ch12.adb: Minor reformatting.
3014
3015 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
3016
3017         * sem_util.adb (Is_VMS_Operator): Use scope of system extension to
3018         determine whether an intrinsic subprogram is VMS specific.
3019
3020 2010-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
3021
3022         * treepr.adb (Print_Entity_Info): Output the contents of Field28 if it
3023         is present in the entity.
3024
3025 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
3026
3027         * xr_tabls.adb, xref_lib.adb: Update to latest lib-xref.ads
3028         Fix handling of parameters.
3029         Add protection against unexpected cases.
3030         * sem_ch6.adb (Create_Extra_Formals): Use suffix "L" instead of "A" for
3031         access level, since "A" suffix is already used elsewhere. Similarly,
3032         use suffix "O" instead of "C" for 'Constrained since "C" suffix is used
3033         for xxx'Class.
3034
3035 2010-06-23  Thomas Quinot  <quinot@adacore.com>
3036
3037         * sem_util.adb, sem_util.ads: Minor reformatting.
3038
3039 2010-06-23  Vincent Celier  <celier@adacore.com>
3040
3041         * prj.ads (Gprclean_Flags.Missing_Source_Files): Set to Error to keep
3042         the previous behavior of gprclean when there are missing files.
3043
3044 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
3045
3046         * sem_ch12.adb (Load_Body_Of_Generic): In CodePeer mode, a missing
3047         generic body is not a fatal error.
3048         (Mark_Context): Handle properly names of child units.
3049         * sem.adb (Walk_Library_Items.Do_Action): Remove assertion on
3050         instantiations.
3051
3052 2010-06-23  Vincent Celier  <celier@adacore.com>
3053
3054         * ali.adb (Scan_ALI): When ignoring R lines, do not skip the next
3055         non-empty line.
3056
3057 2010-06-23  Bob Duff  <duff@adacore.com>
3058
3059         * g-pehage.ads, g-pehage.adb: Switch default optimization mode to
3060         Memory_Space, because CPU_Time doesn't seem to provide any significant
3061         speed advantage in practice. Cleanup: Get rid of constant
3062         Default_Optimization; doesn't seem to add anything. Use case
3063         statements instead of if statements; seems cleaner.
3064
3065 2010-06-23  Olivier Hainque  <hainque@adacore.com>
3066
3067         * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Procedure>: Use
3068         Wshadow instead of Wextra to guard warning on absence of internal
3069         builtin decl for an import.  Fix use of quote in warning text.
3070         (intrin_arglists_compatible_p): Remove processing of integer trailing
3071         args on the Ada side.  Fix use of literal > in warning text.
3072         (intrin_return_compatible_p): Never warn on "function imported as
3073         procedure".  Defer the void/void case to the common type compatibility
3074         check.
3075         (gnat_to_gnu_param): Use void_ptr GCC type for System.Address argument
3076         of GCC builtin imports.
3077
3078 2010-06-23  Olivier Hainque  <hainque@adacore.com>
3079
3080         * gcc-interface/decl.c (intrin_types_incompatible_p): New function,
3081         helper for ...
3082         (intrin_arglists_compatible_p, intrin_return_compatible_p): New
3083         functions, helpers for ...
3084         (intrin_profiles_compatible_p): New function, replacement for ...
3085         (compatible_signatures_p): Removed.
3086         (gnat_to_gnu_entity) <case E_Procedure>: If -Wextra, warn on
3087         attempt to bind an unregistered builtin function.  When we have
3088         one, use it and warn on profile incompatibilities.
3089
3090 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
3091
3092         * gcc-interface/Make-lang.in: Update dependencies.
3093
3094 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
3095
3096         * sem_util.adb (Mark_Coextensions): If the expression in the allocator
3097         for a coextension in an object declaration is a concatenation, treat
3098         coextension as dynamic.
3099
3100 2010-06-23  Javier Miranda  <miranda@adacore.com>
3101
3102         * sem_ch3.adb (Add_Internal_Interface_Entities): Ensure that the
3103         internal entities are added to the scope of the tagged type.
3104         (Derive_Subprograms): Do not stop derivation when we find the first
3105         internal entity that has attribute Interface_Alias. After the change
3106         done to Override_Dispatching_Operations it is no longer true that
3107         these primirives are always located at the end of the list of
3108         primitives.
3109         * einfo.ads (Primitive_Operations): Add documentation.
3110         * exp_disp.adb (Write_DT): Improve output adding to the name of the
3111         primitive a prefix indicating its corresponding tagged type.
3112         * sem_disp.adb (Override_Dispatching_Operations): If the overridden
3113         entity covers the primitive of an interface that is not an ancestor of
3114         this tagged type then the new primitive is added at the end of the list
3115         of primitives.  Required to fulfill the C++ ABI.
3116
3117 2010-06-23  Javier Miranda  <miranda@adacore.com>
3118
3119         * atree.ads (Set_Reporting_Proc): New subprogram.
3120         * atree.adb: Remove dependency on packages Opt and SCIL_LL.
3121         (Allocate_Initialize_Node, Replace, Rewrite): Replace direct calls
3122         to routines of package Scil_ll by indirect call to the registered
3123         subprogram.
3124         (Set_Reporting_Proc): New subprogram. Used to register a subprogram
3125         that is invoked when a node is allocated, replaced or rewritten.
3126         * scil_ll.adb (Copy_SCIL_Node): New routine that takes care of copying
3127         the SCIL node. Used as argument for Set_Reporting_Proc.
3128         (Initialize): Register Copy_SCIL_Node as the reporting routine that
3129         is invoked by atree.
3130
3131 2010-06-23  Thomas Quinot  <quinot@adacore.com>
3132
3133         * sem_ch3.ads: Minor reformatting.
3134
3135 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
3136
3137         * sem_ch12.adb (Analyze_Package_Instantiation): In CodePeer mode,
3138         always analyze the generic body and instance, because it may be needed
3139         downstream.
3140         (Mark_Context): Prepend the with clauses for needed generic units, so
3141         they appear in a better order for CodePeer.
3142         * sem_util.adb, sem_util.ads: Prototype code for AI05-0144.
3143
3144 2010-06-23  Emmanuel Briot  <briot@adacore.com>
3145
3146         * prj.ads, prj-nmsc.adb (Error_Or_Warning): New subprogram.
3147
3148 2010-06-23  Robert Dewar  <dewar@adacore.com>
3149
3150         * g-pehage.adb, exp_ch13.adb: Minor reformatting.
3151
3152 2010-06-23  Thomas Quinot  <quinot@adacore.com>
3153
3154         * a-tags.ads: Fix description of TSD structure.
3155
3156 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
3157
3158         * sem_ch12.adb (Mark_Context): When indicating that the body of a
3159         generic unit is needed prior to the unit containing an instantiation,
3160         search recursively the context of the generic to add other generic
3161         bodies that may be instantiated indirectly through the current instance.
3162
3163 2010-06-23  Robert Dewar  <dewar@adacore.com>
3164
3165         * freeze.adb: Minor reformatting.
3166
3167 2010-06-23  Bob Duff  <duff@adacore.com>
3168
3169         * g-pehage.adb (Trim_Trailing_Nuls): Fix the code to match the comment.
3170
3171 2010-06-23  Vincent Celier  <celier@adacore.com>
3172
3173         * make.adb (Compile_Sources): Complete previous change.
3174
3175 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
3176
3177         * sem_ch6.adb (Add_Extra_Formal): Use suffix "C" in the name of the
3178         Constrained extra formal.
3179
3180 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
3181
3182         * exp_ch13.adb (Expand_Freeze_Actions): If validity checks and
3183         Initialize_Scalars are enabled, compile the generated equality function
3184         for a composite type with full checks enabled, so that validity checks
3185         are performed on individual components.
3186
3187 2010-06-23  Emmanuel Briot  <briot@adacore.com>
3188
3189         * prj.adb, prj.ads, prj-nmsc.adb (Processing_Flags): New flag
3190         Missing_Source_Files.
3191
3192 2010-06-23  Robert Dewar  <dewar@adacore.com>
3193
3194         * exp_ch3.adb, exp_util.adb: Minor reformatting.
3195
3196 2010-06-23  Jose Ruiz  <ruiz@adacore.com>
3197
3198         * a-reatim.adb, a-retide.adb: Move the initialization of the tasking
3199         run time from Ada.Real_Time.Delays to Ada.Real_Time. This way, calls to
3200         Clock (without delays) use a run time which is properly initialized.
3201
3202 2010-06-23  Vincent Celier  <celier@adacore.com>
3203
3204         * make.adb: Do not set Check_Readonly_Files when setting Must_Compile,
3205         when -f -u and a main is specified on the command line. However,
3206         attempt to compile even when the ALI file is read-only when
3207         Must_Compile is True.
3208
3209 2010-06-23  Thomas Quinot  <quinot@adacore.com>
3210
3211         * checks.adb, g-pehage.adb, cstand.adb: Minor code factorization.
3212
3213 2010-06-23  Javier Miranda  <miranda@adacore.com>
3214
3215         * sem_ch3.adb (Add_Internal_Interface_Entities): Generate internal
3216         entities for parent types that are interfaces. Needed in generics to
3217         handle formals that implement interfaces.
3218         (Derive_Subprograms): Add assertion for derivation of tagged types that
3219         do not cover interfaces. For generics, complete code that handles
3220         derivation of type that covers interfaces because the previous
3221         condition was weak (it required only name consistency; arguments were
3222         not checked). Add new code to locate primitives covering interfaces
3223         defined in generic units or instantiatons.
3224         * sem_util.adb (Has_Interfaces): Add missing support for derived types.
3225         * sem_ch6.adb (Check_Overriding_Indicator): Minor code cleanups.
3226         * exp_disp.adb (Make_Select_Specific_Data_Table): Skip primitives of
3227         interfaces that are parents of the type because they share the primary
3228         dispatch table.
3229         (Register_Primitive): Do not register primitives of interfaces that
3230         are parents of the type.
3231         * sem_ch13.adb (Analyze_Freeze_Entity): Add documentation.
3232         * exp_cg.adb (Write_Type_Info): When displaying overriding of interface
3233         primitives skip primitives of interfaces that are parents of the type.
3234
3235 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
3236
3237         * sem_attr.adb (Eval_Attribute): If the prefix is an array, the
3238         attribute cannot be constant-folded if an index type is a formal type,
3239         or is derived from one.
3240         * checks.adb (Determine_Range): ditto.
3241
3242 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
3243
3244         * gnat_ugn.texi, gnatxref.adb: Add support for --ext switch.
3245
3246 2010-06-23  Bob Duff  <duff@adacore.com>
3247
3248         * g-pehage.ads, g-pehage.adb (Put): Fix off-by-one bug.
3249         (Insert): Disallow nul characters.
3250         (misc output routines): Assert no nul characters.
3251
3252 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
3253
3254         * exp_ch4.adb: Use predefined unsigned type in all cases.
3255
3256 2010-06-23  Bob Duff  <duff@adacore.com>
3257
3258         * s-rannum.adb (Reset): Avoid overflow in calculation of Initiator.
3259         * g-pehage.ads: Minor comment fixes.
3260         * g-pehage.adb: Minor: Add some additional debugging printouts under
3261         Verbose flag.
3262
3263 2010-06-23  Robert Dewar  <dewar@adacore.com>
3264
3265         * binde.adb (Better_Choice): Always prefer Pure/Preelab.
3266         (Worse_Choice): Always prefer Pure/Preelab.
3267
3268 2010-06-23  Vincent Celier  <celier@adacore.com>
3269
3270         * a-reatim.adb: Call System.OS_Primitives.Initialize during elaboration
3271
3272 2010-06-23  Robert Dewar  <dewar@adacore.com>
3273
3274         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Properly handle
3275         checking returns in generic case.
3276         (Check_Missing_Return): New procedure.
3277
3278 2010-06-23  Robert Dewar  <dewar@adacore.com>
3279
3280         * bindgen.adb, switch-b.adb: Minor reformatting.
3281
3282 2010-06-23  Javier Miranda  <miranda@adacore.com>
3283
3284         * frontend.adb (Frontend): Add call to initialize the new package
3285         SCIL_LL.
3286         * exp_ch7.adb (Wrap_Transient_Expression): Remove call to
3287         Adjust_SCIL_Node.
3288         (Wrap_Transient_Statement): Remove call to Adjust_SCIL_Node.
3289         * sem_ch5.adb (Analyze_Iteration_Scheme.Process_Bounds): Remove call to
3290         Adjust_SCIL_Node.
3291         * exp_util.adb (Insert_Actions): Remove code for
3292         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
3293         (Remove_Side_Effects): Remove calls to Adjust_SCIL_Node.
3294         * sinfo.adb (SCIL_Entity, SCIL_Tag_Value): Remove checks on
3295         N_SCIL_Tag_Init and N_SCIL_Dispatch_Table_Object_Init in the assertion.
3296         (SCIL_Related_Node, Set_SCIL_Related_Node): Removed.
3297         * sinfo.ads (SCIL_Related_Node): Field removed.
3298         (N_SCIL_Dispatch_Table_Object_Init): Node removed.
3299         (N_SCIL_Tag_Init): Node removed.
3300         * sem_scil.ads, sem_scil.adb (Adjust_SCIL_Node): Removed.
3301         (Check_SCIL_Node): New implementation.
3302         (Find_SCIL_Node): Removed.
3303         * sem.adb (Analyze): Remove management of
3304         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
3305         * sem_util.adb (Insert_Explicit_Dereference): Remove call to
3306         Adjust_SCIL_Node.
3307         * exp_ch4.adb (Expand_N_In): Code cleanup: remove call to
3308         Set_SCIL_Related_Node and avoid adding the SCIL node before the
3309         referenced node using Insert_Action because this is not longer required.
3310         (Expand_Short_Circuit_Operator): Remove call to SCIL node.
3311         * exp_ch6.adb (Expand_Call): Remove call to Adjust_SCIL_Node.
3312         * sem_ch4.adb (Analyze_Type_Conversion): Remove call to Adjust_SCIL_Node
3313         * exp_disp.adb (Expand_Dispatching_Call): Minor code reorganization
3314         because we no longer require to generate the SCIL node before the call.
3315         (Make_DT): Remove generation of SCI_Dispatch_Table_Object_Init node.
3316         Remove calls to Set_SCIL_Related_Node and avoid adding the SCIL
3317         nodes before the referenced node using Insert_Action because this
3318         is not longer required.
3319         * atree.adb (Allocate_Initialize_Node, Replace, Rewrite): Add call to
3320         update the SCIL_Node field.
3321         * sprint.adb (Sprint_Node_Actual): Remove code for
3322         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
3323         * treepr.adb (Print_Node): Print the SCIL node field (if available).
3324         * exp_ch3.adb (Build_Init_Procedure): Remove generation of
3325         SCIL_Tag_Init nodes.
3326         * scil_ll.ads, scil_ll.adb: New files.
3327         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
3328         dependencies.
3329
3330 2010-06-23  Robert Dewar  <dewar@adacore.com>
3331
3332         * sem_ch6.adb: Minor reformatting.
3333
3334 2010-06-23  Doug Rupp  <rupp@adacore.com>
3335
3336         * bindusg.adb (Display): Write -Hnn line.
3337         * bindgen.adb (Gen_Adainit_Ada): Write Heap_Size to binder file as 
3338         necessary.
3339         * init.c (__gl_heap_size): Rename from __gl_no_malloc_64 and change
3340         valid values to 32 and 64.
3341         (GNAT$NO_MALLOC_64): Recognize TRUE, 1, FALSE, and 0 in addition to
3342         ENABLE, DISABLE as valid settings.
3343         * switch-b.adb (Scan_Binder_Switches): Process -Hnn switch.
3344         * opt.ads (Heap_Size): New global variable.
3345         * gcc-interface/utils2.c (maybe_wrap_malloc): Remove mostly redundant 
3346         TARGET_MALLOC64 check. Fix comment.
3347
3348 2010-06-23  Robert Dewar  <dewar@adacore.com>
3349
3350         * sem_ch6.adb, exp_ch4.adb, s-rannum.ads, sem.adb, sem_ch12.adb: Minor
3351         reformatting.  Add comments.
3352         * errout.adb (Finalize): Properly adjust warning count when deleting
3353         continuations.
3354
3355 2010-06-22  Robert Dewar  <dewar@adacore.com>
3356
3357         * errout.adb (Finalize): Set Prev pointers.
3358         (Finalize): Delete continuations for deletion by warnings off(str).
3359         * erroutc.ads: Add Prev pointer to error message structure.
3360
3361 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3362
3363         * sem.adb (Do_Unit_And_Dependents): If the spec of the main unit is a
3364         child unit, examine context of parent units to locate instantiated
3365         generics whose bodies may be needed. 
3366         * sem_ch12.adb: (Mark_Context): if the enclosing unit does not have a
3367         with_clause for the instantiated generic, examine the context of its
3368         parents, to set Withed_Body flag, so that it can be visited earlier.
3369         * exp_ch4.adb (Expand_N_Op_Not): If this is a VMS operator applied to
3370         an unsigned type, use a type of the proper size for the intermediate
3371         value, to prevent alignment problems on unchecked conversion.
3372
3373 2010-06-22  Geert Bosch  <bosch@adacore.com>
3374
3375         * s-rannum.ads Change Generator type to be self-referential to allow
3376         Random to update its argument. Use "in" mode for the generator in the
3377         Reset procedures to allow them to be called from the Ada.Numerics
3378         packages without tricks.
3379         * s-rannum.adb: Use the self-referencing argument to get write access
3380         to the internal state of the random generator.
3381         * a-nudira.ads: Make Generator a derived type of
3382         System.Random_Numbers.Generator.
3383         * a-nudira.adb: Remove use of 'Unrestricted_Access.
3384         Put subprograms in alpha order and add headers.
3385         * g-mbdira.ads: Change Generator type to be self-referential.
3386         * g-mbdira.adb: Remove use of 'Unrestricted_Access.
3387
3388 2010-06-22  Robert Dewar  <dewar@adacore.com>
3389
3390         * freeze.adb: Minor reformatting
3391         Minor code reorganization (use Nkind_In and Ekind_In).
3392
3393 2010-06-22  Bob Duff  <duff@adacore.com>
3394
3395         * gnat1drv.adb (Gnat1drv): Remove the messages that recommend using 
3396         -gnatc when a file is compiled that we cannot generate code for, not
3397         helpful and confusing.
3398
3399 2010-06-22  Vincent Celier  <celier@adacore.com>
3400
3401         * switch-m.adb (Normalize_Compiler_Switches): Process correctly