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_ch4.adb: Minor reformatting.
4
5 2010-10-08  Robert Dewar  <dewar@adacore.com>
6
7         * sem_ch6.adb (Check_Conformance): Check null exclusion match for full
8         conformance.
9
10 2010-10-08  Thomas Quinot  <quinot@adacore.com>
11
12         * sem_ch12.adb (Instantiate_Object): Rename Formal_Id to Gen_Obj, for
13         consistency with Gen_T in Instantiate_Type.
14         Introduce constant A_Gen_Obj to avoid repeated queries for
15         Defining_Identifier (Analyzed_Formal).
16
17 2010-10-08  Vincent Celier  <celier@adacore.com>
18
19         * prj-nmsc.adb: Minor comment fix.
20
21 2010-10-07  Robert Dewar  <dewar@adacore.com>
22
23         * sem_prag.adb, sem_ch13.adb: Implement AI05-0012-1/02.
24         * gcc-interface/Make-lang.in: Update dependencies.
25
26 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
27
28         * sem_ch12.ad: (Instantiate_Object): For an in-out formal of a child
29         unit, if the type of the formal is declared in a parent unit and is not
30         a formal itself, the actual must be located from an enclosing parent
31         instance by normal visibility.
32
33 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
34
35         * sem_ch4.adb (Analyze_Allocator): In Ada 2012, a null_exclusion
36         indicator is illegal for an uninitialized allocator.
37
38 2010-10-07  Robert Dewar  <dewar@adacore.com>
39
40         * sem_prag.adb (Analyze_Attribute_Definition_Clause, case
41         Component_Size): Complete previous change.
42
43 2010-10-07  Vincent Celier  <celier@adacore.com>
44
45         * scng.adb (Scan): Call Accumulate_Token_Checksum for Tok_Identifier,
46         even for keywords, to avoid having the checksum to depend on the Ada
47         version.
48
49 2010-10-07  Gary Dismukes  <dismukes@adacore.com>
50
51         * sem_aggr.adb, sem_ch12.adb, sem_ch6.adb, par-ch5.adb,
52         exp_ch3.adb: Minor reformatting.
53
54 2010-10-07  Robert Dewar  <dewar@adacore.com>
55
56         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
57         Component_Size): It is now illegal to give an incorrect component size
58         clause in the case of aliased or atomic components.
59         * sem_prag.adb (Analyze_Pragma, case Pack): It is now illegal to give
60         an effective pragma Pack in the case of aliased or atomic components.
61
62 2010-10-07  Steve Baird  <baird@adacore.com>
63
64         * exp_ch4.adb (Expand_N_Allocator): Do not bypass expansion
65         in the case of a violation of an active No_Task_Hierarchy restriction.
66
67 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
68
69         * sem_ch12.adb (Validate_Derived_Type_Instance): If a formal derived
70         type is non-limited, an actual for it cannot be limited.
71
72 2010-10-07  Robert Dewar  <dewar@adacore.com>
73
74         * einfo.ads (No_Pool_Assigned): Update documentation.
75         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
76         Storage_Size): We only set No_Pool_Assigned if the expression is a
77         static constant and zero.
78         * sem_res.adb (Resolve_Allocator): Allocation from empty storage pool
79         should be an error not a warning.
80
81 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
82
83         * exp_aggr.adb (Expand_Array_Aggregate): Recognize additional cases
84         where an aggregate in an assignment can be built directly into the
85         target, and does not require the creation of a temporary that may
86         overflow the stack.
87
88 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
89
90         * sem_aggr.adb (Analyze_Record_Aggregate): In Ada2012, a choice list
91         in a record aggregate can correspond to several components of
92         anonymous access types, as long as the designated subtypes match.
93
94 2010-10-07  Robert Dewar  <dewar@adacore.com>
95
96         * gnat_rm.texi, exp_util.adb, sinfo.adb, sinfo.ads, sem_ch12.adb,
97         sem.adb, gnat_ugn.texi, sem_util.ads, par-ch6.adb, targparm.ads,
98         restrict.adb, sem_ch6.adb, sem_ch6.ads, sprint.adb, i-c.ads: Change
99         spelling parametrize(d) => parameterize(d).
100
101 2010-10-07  Robert Dewar  <dewar@adacore.com>
102
103         * sem_ch12.adb: Add comment.
104         * sem_ch6.adb: Minor reformatting.
105
106 2010-10-07  Robert Dewar  <dewar@adacore.com>
107
108         * par-ch3.adb, par-ch6.adb, par-ch7.adb, par-ch9.adb, par-ch10.adb: Add
109         Pexp to Pf_Rec constants
110         (P_Subprogram): Expression is always enclosed in parentheses
111         * par.adb (Pf_Rec): add Pexp flag for parametrized expression
112         * sinfo.ads (N_Parametrized_Expression): Expression must be in parens
113
114 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
115
116         * sem_ch6.adb (Analyze_Subprogram_Specification): Implement Ada2012
117         checks on functions that return an abstract type or have a controlling
118         result whose designated type is an abstract type.
119         (Check_Private_Overriding): Implement Ada2012 checks on functions
120         declared in the private part, if an abstract type is involved.
121         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): In Ada2012,
122         reject a generic function that returns an abstract type.
123         * exp_ch5.adb (Expand_Simple_Function_Return): in Ada2012, if a
124         function has a controlling access result, check that the tag of the
125         return value matches the designated type of the return expression.
126
127 2010-10-07  Robert Dewar  <dewar@adacore.com>
128
129         * par-ch6.adb: Fix error in handling of parametrized expressions.
130         * par-ch4.adb (P_Name): Allow qualified expression as name in Ada 2012
131         mode.
132         (P_Simple_Expression): Better message for qualified expression prefix
133         * s-crc32.adb: Minor reformatting.
134         * exp_intr.adb (Expand_Unc_Deallocation): Remove test for empty
135         storage pool (this test is moved to Sem_Intr).
136         * sem_intr.adb (Check_Intrinsic_Call): Add check for deallocation from
137         empty storage pool, moved here from Exp_Intr and made into error.
138         (Check_Intrinsic_Call): Remove assumption in generating not-null free
139         warning that the name of the instantiation is Free.
140         * sinput.adb (Tree_Read): Document use of illegal free call allowed in
141         GNAT mode.
142         * types.ads: Remove storage size clauses from big types (since we may
143         need to do deallocations, which are now illegal for empty pools).
144
145 2010-10-07  Sergey Rybin  <rybin@adacore.com>
146
147         * gnat_ugn.texi: Add missing word.
148
149 2010-10-07  Robert Dewar  <dewar@adacore.com>
150
151         * exp_util.adb (Insert_Actions): Add handling of
152         N_Parametrized_Expression.
153         * par-ch6.adb (P_Subprogram): Add parsing of parametrized expression
154         * sem.adb: Add entry for N_Parametrized_Expression
155         * sem_ch6.adb (Analyze_Parametrized_Expression): New procedure
156         * sem_ch6.ads (Analyze_Parametrized_Expression): New procedure
157         * sinfo.ads, sinfo.adb: Add N_Parametrized_Expression
158         * sprint.adb (Sprint_Node): Add handling for N_Parametrized_Expression
159         * par-ch4.adb: Minor reformatting.
160
161 2010-10-07  Robert Dewar  <dewar@adacore.com>
162
163         * scng.adb (Skip_Other_Format_Characters): New procedure
164         (Start_Of_Wide_Character): New procedure
165         (Scan): Use Start_Of_Wide_Character where appropriate
166         (Scan): Improve error message for other_format chars in identifier
167         (Scan): Allow other_format chars between tokens
168
169 2010-10-07  Javier Miranda  <miranda@adacore.com>
170
171         * exp_util.adb (Safe_Prefixed_Reference): When removing side effects,
172         Add missing support for explicit dereferences.
173
174 2010-10-07  Robert Dewar  <dewar@adacore.com>
175
176         * par-ch10.adb, par-ch3.adb, par.adb: Minor reformatting.
177
178 2010-10-07  Robert Dewar  <dewar@adacore.com>
179
180         * exp_disp.adb, exp_dist.adb, exp_util.ads, exp_util.adb,
181         exp_ch11.adb: Rename Full_Qualified_Name to Fully_Qualified_Name_String
182         * sem_util.adb, sem_util.ads (Full_Qualified_Name): Moved to
183         Exp_Util.Fully_Qualified_Name_String.
184
185 2010-10-07  Robert Dewar  <dewar@adacore.com>
186
187         * rtsfind.ads: Add entry for Ada.Real_Time.Timing_Events.Set_Handler
188         * sem_res.adb (Resolve_Call): A call to
189         Ada.Real_Time.Timing_Events.Set_Handler violates restriction
190         No_Relative_Delay (AI-0211).
191
192 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
193
194         * sem_ch10.adb: Small change in error message.
195
196 2010-10-07  Robert Dewar  <dewar@adacore.com>
197
198         * tbuild.ads: Minor reformatting.
199
200 2010-10-07  Robert Dewar  <dewar@adacore.com>
201
202         * gnatcmd.adb, make.adb, prj-nmsc.adb, sem_elab.adb: Minor reformatting
203
204 2010-10-07  Arnaud Charlet  <charlet@adacore.com>
205
206         * exp_ch11.adb (Expand_N_Exception_Declaration): Update comments.
207
208 2010-10-07  Robert Dewar  <dewar@adacore.com>
209
210         * sem_res.adb: Minor reformatting
211
212 2010-10-07  Olivier Ramonat  <ramonat@adacore.com>
213
214         * gnat_ugn.texi: Minor editing.
215         * opt.ads: Document that scripts rely on specific formats in opt.ads
216
217 2010-10-07  Robert Dewar  <dewar@adacore.com>
218
219         * a-wichun.ads, a-wichun.adb (To_Lower_Case): New function
220         (To_Upper_Case): Fix to be inverse of To_Lower_Case
221         * a-zchuni.ads, a-zchuni.adb (To_Lower_Case): New function
222         (To_Upper_Case): Fix to be inverse of To_Lower_Case
223
224 2010-10-07  Robert Dewar  <dewar@adacore.com>
225
226         * a-wichha.adb, a-wichha.ads, a-zchhan.adb, a-zchhan.ads: New file.
227         * impunit.adb: Add entries for a-wichha/a-zchhan
228         * Makefile.rtl: Add entries for a-wichha/a-zchhan
229
230 2010-10-07  Vincent Celier  <celier@adacore.com>
231
232         * make.adb (Check): Call Check_Source_Info_In_ALI with Project_Tree
233         * makeutl.adb (Check_Source_Info_In_ALI): If there is at least one
234         replaced source, check that none of the replaced sources are in the
235         dependencies.
236         * makeutl.ads (Check_Source_Info_In_ALI): New parameter Tree
237         * prj-nmsc.adb (Remove_Source): New parameter Tree. If the source is
238         replaced with a source with a different file name, put it in the hash
239         table Replaced_Sources.
240         (Add_Source): Call Remove_Source with Data.Tree. If there is at least
241         one replaced source, check if it has the same file name as the current
242         source; if it has, remove it from the hash table Replaced_Sources.
243         * prj.adb (Reset): Reset hash table Tree.Replaced_Sources
244         * prj.ads (Replaced_Source_HTable): New hash table
245         (Project_Tree_Data): New components Replaced_Sources and
246         Replaced_Source_Number.
247
248 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
249
250         * sem_elab.adb (Check_A_Call): After inserting elaboration check, set
251         proper flag to prevent a double elaboration check on the same call.
252         * exp_util.adb (Insert_Actions): If the enclosing node is an
253         Expression_With_Actions and it has been analyzed already, find
254         insertion point further up in the tree.
255
256 2010-10-07  Hristian Kirtchev  <kirtchev@adacore.com>
257
258         * sem_ch13.adb (Analyze_Record_Representation_Clause): Alphabetize all
259         local variables. Remove the general restriction which prohibits the
260         application of record rep clauses to Unchecked_Union types. Add Ada
261         2012 check to detect improper naming of an Unchecked_Union
262         discriminant in record rep clause.
263         * sem_prag.adb: Add with and use clause for Exp_Ch7.
264         (Analyze_Pragma): Unchecked_Union case: Propagate the Unchecked_Union
265         type to all invocations of Check_Component and Check_Variant.
266         (Check_Component): Add formal parameters UU_Typ and In_Variant_Part.
267         Rewritten.  Add Ada 2012 check to detect improper use of formal
268         private types and private extensions as component types of an
269         Unchecked_Union declared inside a generic body.
270         (Check_Variant): Add formal parameter UU_Typ. Propagate the
271         Unchecked_Union type to all calls of Check_Component. Signal that the
272         current component comes from the variant part of an Unchecked_Union
273         type.
274         (Inside_Generic_Body): New routine.
275
276 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
277
278         * exp_ch4.adb (Expand_Composite_Equality): When looking for a primitive
279         equality operation for a record component, verify that both formals
280         have the same type, and the result type is boolean.
281
282 2010-10-07  Vincent Celier  <celier@adacore.com>
283
284         * gnatcmd.adb (Check_Files): When looking for the .ci file for a
285         binder generated file, look for both b~xxx and b__xxx as gprbuild
286         always uses b__ as the prefix of such files.
287
288 2010-10-07  Thomas Quinot  <quinot@adacore.com>
289
290         * sem_res.adb: Minor reformatting.
291
292 2010-10-07  Arnaud Charlet  <charlet@adacore.com>
293
294         * debug.adb: Update -gnatd.J documentation.
295
296 2010-10-07  Robert Dewar  <dewar@adacore.com>
297
298         * gnat_rm.texi: Document handling of invalid values
299         * s-utf_32.ads, s-utf_32.adb (UTF_To_Lower_Case): Fix implementation
300         to match new spec.
301         (UTF_To_Upper_Case): New function.
302
303 2010-10-07  Robert Dewar  <dewar@adacore.com>
304
305         * sem_attr.adb: Minor reformatting.
306         * einfo.ads, einfo.adb (Is_Ada_2012_Only): New flag
307         * itypes.adb (Create_Null_Excluding_Itype): Set Is_Ada_2012_Only flag
308         properly.
309         * lib-xref.adb (Generate_Reference): Warn on use of Ada 2012 entity in
310         non-Ada 2012 mode.
311         * opt.ads (Warn_On_Ada_2012_Compatibility): New flag
312         * sem_ch3.adb (Analye_Subtype_Declaration): Inherit Is_Ada_2012_Only
313         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Is_Ada_2012_Only
314         flag.
315         * sem_prag.adb (Analyze_Pragma, case Ada_12/Ada_2012): Allow form with
316         argument.
317         * sem_type.adb (Disambiguate): Deal with Is_Ada_2012_Only.
318         * sem_warn.adb (Warn_On_Ada_2012_Compatibility): New flag, treated
319         same as 2005 flag.
320
321 2010-10-07  Javier Miranda  <miranda@adacore.com>
322
323         * a-tags.ads: Use new support for pragma Ada_2012 with function
324         Type_Is_Abstract.
325
326 2010-10-07  Ed Schonberg  <schonberg@adacore.com>
327
328         * par-ch5.adb (P_Sequence_Of_Statements): In Ada2012 a label can end a
329         sequence of statements.
330
331 2010-10-07  Vincent Celier  <celier@adacore.com>
332
333         * gnatcmd.adb (Check_Files): Only add a .ci files if it exists
334
335 2010-10-07  Javier Miranda  <miranda@adacore.com>
336
337         * a-tags.ads, a-tags.adb (Type_Is_Abstract): New subprogram.
338         * rtsfind.ads (RE_Type_Is_Abstract): New entity.
339         * exp_disp.adb (Make_DT): Initialize TSD component Type_Is_Abstract.
340
341 2010-10-07  Arnaud Charlet  <charlet@adacore.com>
342
343         * sem_ch12.adb (Mark_Context): Removed, no longer needed.
344         (Analyze_Package_Instantiation): No longer analyze systematically a
345         generic body in CodePeer mode.
346         * freeze.adb, sem_attr.adb: Update comments.
347
348 2010-10-05  Robert Dewar  <dewar@adacore.com>
349
350         * par-ch5.adb (Test_Statement_Required): Allow all pragmas in Ada 2012
351         mode.
352
353 2010-10-05  Pascal Obry  <obry@adacore.com>
354
355         * gnat_rm.texi: Fix typo.
356
357 2010-10-05  Arnaud Charlet  <charlet@adacore.com>
358
359         * gnat_ugn.texi: Add note about identifiers with same name and
360         -fdump-ada-spec.
361
362 2010-10-05  Robert Dewar  <dewar@adacore.com>
363
364         * sem_ch4.adb: Minor reformatting.
365         * a-direct.ads: Minor comment update.
366
367 2010-10-05  Javier Miranda  <miranda@adacore.com>
368
369         * sem_ch3.adb (Add_Internal_Interface_Entities): Removing code that is
370         no longer required after change in New_Overloaded_Entity.
371         * sem_ch6.adb (New_Overloaded_Entity): Code reorganization to isolate
372         the fragment of code that handles derivations of interface primitives.
373         Add missing dependence on global variable Inside_Freezing_Actions to
374         ensure the correct management of internal interface entities.
375         * sem_ch13.adb (Analyze_Freeze_Entity): Add missing increase/decrease
376         of the global variable Inside_Freezing_Actions to ensure that internal
377         interface entities are well handled by New_Overloaded_Entity.
378         * sem_disp.adb (Find_Primitive_Covering_Interface): Add documentation
379         and complete the algorithm to catch hidden primitives derived of
380         private type that covers the interface.
381         * sem_disp.ads (Find_Primitive_Covering_Interface): Add missing
382         documentation.
383
384 2010-10-05  Robert Dewar  <dewar@adacore.com>
385
386         * prj-util.adb, prj-util.ads, prj.ads, s-vxwext-rtp.adb, sem_ch4.adb,
387         sem_ch7.adb, sem_res.adb, sem_type.adb: Minor reformatting.
388         Minor code reorganization (use Nkind_In).
389
390 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
391
392         * sem_ch10.adb (Analyze_Task_Body_Stub): Diagnose duplicate stub for
393         task.
394
395 2010-10-05  Vincent Celier  <celier@adacore.com>
396
397         * gnatbind.adb: If the main library file is not for a suitable main
398         program, change the error message.
399
400 2010-10-05  Vincent Celier  <celier@adacore.com>
401
402         * a-direct.ads: Minor spelling error fixes in comments.
403         * gnat_rm.texi: Add three entries in "Implementation Defined
404         Characteristics" for the interpretations of the Form parameters in
405         Ada.Directories.
406
407 2010-10-05  Robert Dewar  <dewar@adacore.com>
408
409         * exp_ch3.adb, exp_ch5.adb, exp_disp.adb, exp_dist.adb, gnatlink.adb,
410         makeutl.adb, par-ch6.adb, prj-dect.adb, prj-env.adb, prj-env.ads,
411         prj-ext.adb, prj-nmsc.adb, prj-part.adb, prj-pp.ads: Minor code
412         reorganization.
413         Minor reformatting.
414
415 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
416
417         * sem_res.adb (Check_Parameterless_Call): If the prefix of 'Address is
418         an explicit dereference of an access to function, the prefix is not
419         interpreted as a parameterless call.
420
421 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
422
423         * exp_attr.adb: For 'Read and 'Write, use full view of base type if
424         private.
425
426 2010-10-05  Vincent Celier  <celier@adacore.com>
427
428         * make.adb (Switches_Of): Allow wild cards in index of attributes
429         Switches.
430         * prj-util.adb (Value_Of): When Allow_Wildcards is True, use the index
431         of the associative array as a glob regular expression.
432         * prj-util.ads (Value_Of (Index, In_Array)): New Boolean parameter
433         Allow_Wildcards, defaulted to False.
434         (Value_Of (Name, Attribute_Or_Array_Name)): Ditto
435         * projects.texi: Document that attribute Switches (<file name>) may
436         use wild cards in the index.
437
438 2010-10-05  Robert Dewar  <dewar@adacore.com>
439
440         * a-direct.adb, a-direct.ads, back_end.adb, checks.adb,
441         einfo.adb: Minor reformatting.
442         * debug.adb: Remove obsolete documentation for d.Z flag.
443
444 2010-10-05  Vincent Celier  <celier@adacore.com>
445
446         * vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake
447         switch --create-info-file=.
448         * gnat_ugn.texi: Add documentation for new gnatmake switch
449         --source-info=
450
451 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
452
453         * sem_ch3.adb: Do not elaborate type definition if syntax error.
454
455 2010-10-05  Javier Miranda  <miranda@adacore.com>
456
457         * sprint.adb (Sprint_Node_Actual): Improve output of subprogram bodies
458         to generate the full-qualified names of its corresponding spec.
459         This facilitates locating the corresponing body when reading
460         the DG output.
461
462 2010-10-05  Thomas Quinot  <quinot@adacore.com>
463
464         * exp_dist.adb (Make_Helper_Function_Name): For a tagged type, use
465         canonical name without serial number only if the helper is becoming a
466         primitive of the type.
467
468 2010-10-05  Javier Miranda  <miranda@adacore.com>
469
470         * exp_disp.adb (Make_DT): Minor code reorganization.
471
472 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
473
474         * par-ch6.adb: improve recovery with extra paren in function spec.
475
476 2010-10-05  Quentin Ochem  <ochem@adacore.com>
477
478         * prj-tree.ads: Project_Path is now aliased.
479
480 2010-10-05  Thomas Quinot  <quinot@adacore.com>
481
482         * checks.adb: Minor reformatting.
483
484 2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
485
486         * mlib-tgt-specific-mingw.adb (No_Argument_List): Delete.
487         (Shared_Libgcc): New aliased variable.
488         (Shared_Libgcc_Switch): New constant.
489         (Build_Dynamic_Library): Pass Shared_Libgcc_Switch to the compiler
490         * gcc-interface/Makefile.in (gnatlib-shared-win32): Pass -shared-libgcc
491         to the compiler.
492         * gcc-interface/Make-lang.in: Update dependencies.
493         
494 2010-10-05  Vincent Celier  <celier@adacore.com>
495
496         * prj-part.adb (Parse_Simple_Project): When checking if a child project
497         imports its parent project, also look in projects being extended by
498         imported projects.
499
500 2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
501
502         * gnat_ugn.texi: Adjust instructions in G.10 Building DLLs with GNAT.
503
504 2010-10-05  Javier Miranda  <miranda@adacore.com>
505
506         * exp_cg.adb (Slot_Number): Add support to handle aliased entities.
507         (Generate_CG_Output): Switch -gnatd.Z is no longer needed to
508         activate this output.
509
510 2010-10-05  Arnaud Charlet  <charlet@adacore.com>
511
512         * back_end.adb (Call_Back_End): Generate an error message when scil
513         generation is enabled, and no scil back-end (by default) is available.
514
515 2010-10-05  Javier Miranda  <miranda@adacore.com>
516
517         * debug.adb: Update documentation because -gnatd.Z is no longer required
518         to generate the call-graph information.
519
520 2010-10-05  Javier Miranda  <miranda@adacore.com>
521
522         * exp_ch5.adb (Expand_Simple_Function_Return): Rewrite expansion of a
523         runtime access check by an equivalent expansion that causes
524         no problems in the VM backend. The original expansion was
525         not good for the VM backends because when Tagged_Type_Expansion
526         is disabled the attribute Access_Disp_Table is not available.
527
528 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
529
530         * sem_type.adb (Covers): In a dispatching context, T1 covers T2 if T2
531         is class-wide and T1 is its specific type.
532
533 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
534
535         * einfo.adb: Add guard to Is_String_Type to prevent cascaded errors.
536
537 2010-10-05  Vincent Celier  <celier@adacore.com>
538
539         * back_end.ads: Minor spelling error correction.
540
541 2010-10-05  Arnaud Charlet  <charlet@adacore.com>
542
543         * switch-c.adb, gnat1drv.adb (Scan_Front_End_Switches): Disable
544         warnings when -gnatC is specified here so that warnings can be
545         re-enabled  explicitly.
546         (Adjust_Global_Switches): No longer suppress warnings.
547
548 2010-10-05  Vincent Celier  <celier@adacore.com>
549
550         * makeutl.adb: Minor reformatting.
551
552 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
553
554         * sem_ch4.adb: add guard in Analyze_One_Call to prevent crash when a
555         non-discrete type appears as an actual in a call.
556
557 2010-10-05  Vincent Celier  <celier@adacore.com>
558
559         * make.adb (Scan_Make_Arg): Take into account new switch
560         --source-info=file.
561         * makeusg.adb: Add line for new switch --source-info=file.
562         * makeutl.ads (Source_Info_Option): New constant String for new builder
563         switch.
564         * prj-conf.adb: Put subprograms in alphabetical order
565         (Process_Project_And_Apply_Config): Read/write an eventual source info
566         file, if necessary.
567         * prj-nmsc.adb (Look_For_Sources.Get_Sources_From_Source_Info): New
568         procedure.
569         (Look_For_Sources): If a source info file was successfully read, get the
570         source data from the data read from the source info file.
571         * prj-util.adb (Source_Info_Table): New table
572         (Source_Info_Project_HTable): New hash table
573         (Create): New procedure
574         (Put (File), Put_Line): New procedures
575         (Write_Source_Info_File): New procedure
576         (Read_Source_Info_File): New procedure
577         (Initialize): New procedure
578         (Source_Info_Of): New procedure
579         (Next): New procedure
580         (Close): When file is an out file, fail if the buffer cannot be written
581         or if the file cannot be close successfully.
582         (Get_Line): Fail if file is an out file
583         * prj-util.ads (Create): New procedure
584         (Put (File), Put_Line): New procedures
585         (Write_Source_Info_File): New procedure
586         (Read_Source_Info_File): New procedure
587         (Source_Info_Data): New record type
588         (Source_Info_Iterator): New private type
589         (Initialize): New procedure
590         (Source_Info_Of): New procedure
591         (Next): New procedure
592         * prj.ads (Project_Tree_Data): New components Source_Info_File_Name and
593         Source_Info_File_Exists.
594
595 2010-10-05  Ed Schonberg  <schonberg@adacore.com>
596
597         * exp_ch4.adb: Fix typo.
598
599 2010-10-05  Thomas Quinot  <quinot@adacore.com>
600
601         * lib-writ.adb: Minor reformatting.
602
603 2010-10-05  Javier Miranda  <miranda@adacore.com>
604
605         * sem_ch3.adb (Access_Definition): Remove useless code.
606
607 2010-10-05  Emmanuel Briot  <briot@adacore.com>
608
609         * prj-env.adb, prj-env.ads (Set_Path): New subprogram.
610         (Deep_Copy): Removed, not used.
611
612 2010-10-05  Javier Miranda  <miranda@adacore.com>
613
614         * sem_ch3.adb (Add_Internal_Interface_Entities): Code reorganization:
615         move code that searches in the list of primitives of a tagged type for
616         the entity that will be overridden by user-defined routines.
617         * sem_disp.adb (Find_Primitive_Covering_Interface): Move here code
618         previously located in routine Add_Internal_Interface_Entities.
619         * sem_disp.ads (Find_Primitive_Covering_Interface): Update documentation
620         * sem_ch6.adb (New_Overloaded_Entity): Add missing check on
621         availability of attribute Alias.
622
623 2010-10-05  Ed Falis  <falis@adacore.com>
624
625         * s-taprop-vxworks.adb, s-osinte-vxworks.adb, s-osinte-vxworks.ads,
626         s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.adb, s-vxwext-rtp.ads:
627         Move definition of intContext to System.OS_Interface.
628         Add necessary variants in System.VxWorks.Extensions.
629
630 2010-10-05  Doug Rupp  <rupp@adacore.com>
631
632         * s-asthan-vms-alpha.adb: On VMS, a task using
633         pragma AST_Entry exhibits a memory leak when the task terminates
634         because the vector allocated for the AST interface is not freed. Fixed
635         by making the vector a controlled type.
636
637 2010-10-05  Emmanuel Briot  <briot@adacore.com>
638
639         * prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in
640         a "**" pattern properly exists, and report an error otherwise.
641
642 2010-10-05  Emmanuel Briot  <briot@adacore.com>
643
644         * prj-env.ads: Use GNAT.OS_Lib rather than System.OS_Lib.
645
646 2010-10-05  Emmanuel Briot  <briot@adacore.com>
647
648         * prj-nmsc.adb, prj-err.adb (Expand_Subdirectory_Pattern): New
649         subprogram.
650         Extract some code from Get_Directories, to share with the handling
651         of aggregate projects (for the Project_Files attributes)
652
653 2010-10-05  Emmanuel Briot  <briot@adacore.com>
654
655         * gnatcmd.adb, prj-proc.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
656         switch-m.adb, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-env.adb,
657         prj-env.ads, prj-tree.adb, prj-tree.ads (Project_Search_Path): New type.
658
659 2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
660
661         * exp_ch5.adb (Make_Field_Expr): Revert previous change (removed).
662
663 2010-10-05  Emmanuel Briot  <briot@adacore.com>
664
665         * prj-dect.adb, prj-nmsc.adb, prj-attr.adb, snames.ads-tmpl
666         (Aggregate projects): added support for parsing aggregate projects.
667         In particular, check the presence and value of the new attributes
668         related to aggregate projects, ie Project_Files, Project_Path
669         and External.
670         (Check_Attribute_Allowed, Check_Package_Allowed,
671         Rename_Obsolescent_Attributes): new subprogram, extracting code
672         from existing subprogram to keep their sizes smaller.
673         (Check_Aggregate_Project, Check_Abstract_Project,
674         Check_Missing_Sources): new subprograms
675         (Check): remove comments that duplicated either the name of the
676         following subprogram call, or the comment on that subprogram.
677         * prj-part.adb (Check_Extending_All_Imports): New subprogram, extracted
678         from Parse_Single_Project.
679         (Check_Aggregate_Imports): new subprogram.
680
681 2010-10-05  Vincent Celier  <celier@adacore.com>
682
683         * make.adb (Check): When compiling with -gnatc, recompile if the ALI
684         file has not been generated for the current source, for example if it
685         has been generated for the spec, but we are compiling the body.
686
687 2010-10-05  Bob Duff  <duff@adacore.com>
688
689         * xgnatugn.adb: Remove unused procedure.
690
691 2010-10-04  Vincent Celier  <celier@adacore.com>
692
693         * a-direct.adb (Copy_File): Interpret the Form parameter and call
694         System.OS_Lib.Copy_File to do the work accordingly. Raise Use_Error if
695         the Form parameter contains an incorrect value for field preserve= or
696         mode=.
697         * a-direct.ads (Create_Directory, Create_Path): Indicate that the Form
698         parameter is ignored.
699         (Copy_File): Indicate the interpretation of the Form parameter.
700
701 2010-10-04  Vincent Celier  <celier@adacore.com>
702
703         * make.adb (Gnatmake): When there are no foreign languages declared and
704         a main in attribute Main of the main project does not exist or is a
705         source of another project, fail immediately before attempting
706         compilation.
707
708 2010-10-04  Javier Miranda  <miranda@adacore.com>
709
710         * exp_disp.ads (Convert_Tag_To_Interface): New function which must be
711         used to convert a node referencing a tag to a class-wide interface type.
712         * exp_disp.adb (Convert_Tag_To_Interface): New function.
713         (Expand_Interface_Conversion): Replace invocation of
714         Unchecked_Conversion by new function Convert_Tag_To_Interface.
715         (Write_DT): Add support for null primitives.
716         * exp_ch3.adb (Expand_N_Object_Declaration): For tagged type objects,
717         cleanup code that handles interface conversions and avoid unchecked
718         conversion of referenced tag components.
719         * exp_ch5.adb (Expand_N_Assignment_Statement): Code cleanup. Avoid
720         unrequired conversions when generating a dispatching call to _assign.
721         * sprint.adb (Write_Itype): Fix wrong output of not null access itypes.
722
723 2010-10-04  Ed Schonberg  <schonberg@adacore.com>
724
725         * exp_ch4.adb (Expand_N_Op_Not): Handle properly both operands when the
726         parent is a binary boolean operation and the operand is an unpacked
727         array.
728         (Build_Boolean_Array_Proc_Call): If the operands are both negations, the
729         operands of the rewritten node are the operands of the negations, not
730         the negations themselves.
731
732 2010-10-04  Robert Dewar  <dewar@adacore.com>
733
734         * sem_ch13.adb (Set_Biased): New procedure, now used throughout, adds
735         name of entity to biased warning msg.
736         (Analyze_Enumeration_Representation_Clause): Remove attempt to use
737         biased rep (wrong and never worked anyway).
738
739 2010-10-04  Arnaud Charlet  <charlet@adacore.com>
740
741         * sem_elab.adb: Minor reformatting.
742
743 2010-10-04  Ed Schonberg  <schonberg@adacore.com>
744
745         * exp_ch4.adb (Expand_N_Null): Handle properly the case of a subtype of
746         an access_to_protected subprogram type, and convert null value into
747         corresponding aggregate.
748
749 2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
750
751         * gnat_ugn.texi: Clarify first point of 7.1.5 about pragma Inline.
752
753 2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
754
755         * make.adb (Scan_Make_Arg): Pass -Oxxx switches to the linker as well.
756         * gnatlink.adb (Gnatlink): Filter out -Oxxx switches for CLI, RTX and
757         AAMP.
758
759 2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
760
761         * sem_ch4.adb (Analyze_Indexed_Component_Form): Remove redundant test
762         for N_Operator_Symbol.
763         (Indicate_Name_And_Type): Likewise.
764         * sem_ch8.adb (Analyze_Subprogram_Renaming): Likewise.
765         * sem_res.adb (Resolve): Likewise.
766         * sem_type.adb (Add_One_Interp): Likewise.
767         (Disambiguate): Likewise.
768         
769 2010-10-04  Vincent Celier  <celier@adacore.com>
770
771         * osint.adb (Read_Library_Info_From_Full): If object timestamp is less
772         than ALI file timestamp, return null.
773
774 2010-10-04  Vincent Celier  <celier@adacore.com>
775
776         * prj-makr.adb (Finalize): Invoke Pretty_Print with Max_Length set to 79
777         * prj-pp.adb (Pretty_Print): New parameter Max_Line_Length, that
778         replaces global constant with the same name. When a line is too long,
779         indent properly the next continuation line.
780         * prj-pp.ads (Pretty_Print): New parameter Max_Line_Length with a range
781         from 50 to 255, defaulted to 255, to indicate the maximum length of
782         lines in the project file.
783
784 2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
785
786         * sem_ch7.adb (Analyze_Package_Body_Helper) <Has_Referencer>: New
787         Check_Subprogram_Ref function and Check_Subprogram_Refs instantiation
788         of Traverse_Func on it to look for subprogram references in a body.
789         Call Check_Subprogram_Refs on the body of inlined subprograms at the
790         outer level and keep clearing the Is_Public flag of subprograms as long
791         as it returns OK.  Do not look at anything else than subprograms once
792         an inlined subprogram has been seen.
793
794 2010-10-04  Javier Miranda  <miranda@adacore.com>
795
796         * exp_cg.adb (Expand_N_Assignment_Statement): Restore tag check when
797         the target object is an interface.
798         * sem_disp.adb (Propagate_Tag): If the controlling argument is an
799         interface type then we generate an implicit conversion to force
800         displacement of the pointer to the object to reference the secondary
801         dispatch table associated with the interface.
802
803 2010-10-04  Robert Dewar  <dewar@adacore.com>
804
805         * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Set
806         Enumeration_Rep_Expr to point to the literal, not the identifier.
807         (Analyze_Enumeration_Representation_Clause): Improve error message for
808         size too small for enum rep value
809         (Analyze_Enumeration_Representation_Clause): Fix size test to use proper
810         size (RM_Size, not Esize).
811
812 2010-10-04  Robert Dewar  <dewar@adacore.com>
813
814         * s-taprop-vxworks.adb, sem_res.adb: Minor reformatting.
815
816 2010-10-04  Javier Miranda  <miranda@adacore.com>
817
818         * exp_cg.adb (Write_Call_Info): Code clean up.
819
820 2010-10-04  Arnaud Charlet  <charlet@adacore.com>
821
822         * s-taprop-mingw.adb (Create_Task): Initialize Thread_Id field to 0.
823
824 2010-10-04  Robert Dewar  <dewar@adacore.com>
825
826         * exp_cg.adb: Minor code reorganization
827         Minor reformatting.
828         * exp_ch5.adb, prj-nmsc.adb: Minor reformatting.
829
830 2010-10-04  Bob Duff  <duff@adacore.com>
831
832         * sem_res.adb (Resolve_Type_Conversion): If a type conversion is needed
833         to make a qualified expression into a name (syntax-wise), then do not
834         consider it redundant.
835
836 2010-10-04  Thomas Quinot  <quinot@adacore.com>
837
838         * sem_warn.ads: Fix typo.
839
840 2010-10-04  Javier Miranda  <miranda@adacore.com>
841
842         * exp_cg.adb (Is_Predefined_Dispatching_Operation): Handle suffix in
843         TSS names.
844         (Write_Call_Info): Add missing support for renamed primitives.
845
846 2010-10-04  Thomas Quinot  <quinot@adacore.com>
847
848         * exp_ch5.adb (Make_Field_Expr): New subprogram, to factor duplicated
849         code between Make_Component_List_Assign and Make_Field_Assign.
850
851 2010-10-04  Vincent Celier  <celier@adacore.com>
852
853         * prj-nmsc.adb (Get_Directories): For non extending projects that
854         declare that they have no sources, do not create a non existing object
855         or exec directory if builder switch -p is used.
856
857 2010-10-04  Sergey Rybin  <rybin@adacore.com>
858
859         * gnat_ugn.texi (gnatcheck): Change the description of the report file
860         format.
861
862 2010-10-04  Ed Falis  <falis@adacore.com>
863
864         * s-taprop-vxworks.adb (Is_Task_Context): Import VxWorks intContext to
865         determine whether Set_True is called from a task or an ISR.
866         (Set_True): test for being in a task context before trying to
867         dereference Defer_Abort or Undefer_Abort.
868
869 2010-10-04  Robert Dewar  <dewar@adacore.com>
870
871         * sem_res.adb, sinput-l.adb: Minor reformatting.
872
873 2010-10-04  Hristian Kirtchev  <kirtchev@adacore.com>
874
875         * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate a tag
876         check when the target object is an interface since the expression of
877         the right hand side must only cover the interface.
878
879 2010-10-04  Vincent Celier  <celier@adacore.com>
880
881         * frontend.adb: Set Lib.Parsing_Main_Extended_Source to True before
882         loading the main source, so that if it is preprocessed and -gnateG is
883         used, the preprocessed file is written.
884         * lib.ads (Analysing_Subunit_Of_Main): New global variable to indicate
885         if a subunit is from the main unit when it is loaded.
886         * sem_ch10.adb (Analyze_Proper_Body): Set Lib.Analysing_Subunit_Of_Main
887         to True before loading a subunit.
888         * sem_ch12.adb (Copy_Generic_Node): Set Lib.Analysing_Subunit_Of_Main
889         to True when the main is a generic unit before loading one of its
890         subunits.
891         * sinput-l.adb (Load_File): If -gnateG is used, write the preprocessed
892         file only for the main unit (spec, body and subunits).
893
894 2010-10-04  Vincent Celier  <celier@adacore.com>
895
896         * sinput-l.adb (Load_File): Do not fail when switch -gnateG is
897         specified and the processed file cannot be written. Just issue a
898         warning and continue.
899
900 2010-10-04  Thomas Quinot  <quinot@adacore.com>
901
902         * sem_res.adb: Minor reformatting.
903
904 2010-10-04  Ed Schonberg  <schonberg@adacore.com>
905
906         * sem_ch8.adb (Analyze_Subprogram_Renaming): If the renamed operation
907         is an overridden inherited operation, the desired operation is the
908         overriding one, which is the alias of the visible one.
909
910 2010-10-04  Ed Schonberg  <schonberg@adacore.com>
911
912         * sem_ch6.adb (Find_Corresponding_Spec): Check that the wrapper body is
913         present before deleting from the tree, when an inherited function with
914         a controlling result that returns a null extension is overridden by a
915         later declaration or body.
916
917 2010-10-04  Gary Dismukes  <dismukes@adacore.com>
918
919         * checks.adb: Update comment.
920
921 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
922
923         * gcc-interface/misc.c (optimize, optimize_size): Undefine as macros
924         and define as variables.
925         (gnat_post_options): Set optimize and optimize_size variables.
926
927 2010-09-29  Joel Sherrill  <joel.sherrill@oarcorp.com>
928
929         * g-socket.adb: Move pragma to disable warnings in case multiple errnos
930         are not defined by target.
931
932 2010-09-29  Eric Botcazou  <ebotcazou@adacore.com>
933
934         * gcc-interface/utils.c (handle_leaf_attribute): Fix long line.
935
936 2010-09-28  Richard Henderson  <rth@redhat.com>
937
938         * gcc-interface/misc.c (gnat_eh_personality): Use
939         targetm.except_unwind_info.
940
941 2010-09-28  Jan Hubicka  <jh@suse.cz>
942
943         * gcc-interface/utils.c (handle_leaf_attribute): New function.
944         (gnat_internal_attribute_tables): Add leaf.
945
946 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
947
948         * gcc-interface/lang.opt (-all-warnings, -include-barrier,
949         -include-directory, -include-directory=, -no-standard-includes,
950         -no-standard-libraries): New.
951
952 2010-09-20  Eric Botcazou  <ebotcazou@adacore.com>
953
954         * gcc-interface/decl.c (gnat_to_gnu_entity): Replace calls to
955         build_array_type with calls to build_nonshared_array_type.
956         (substitute_in_type): Likewise.
957         * gcc-interface/misc.c (LANG_HOOKS_HASH_TYPES): Delete.
958         (LANG_HOOKS_TYPE_HASH_EQ): Define.
959         (gnat_post_options): Add 'static' keyword.
960         (gnat_type_hash_eq): New static function.
961         * gcc-interface/utils.c (fntype_same_flags_p): New function.
962         (create_subprog_type): Call it.
963         (create_index_type): Call build_nonshared_range_type and tidy up.
964         (create_range_type): Likewise.
965         * gcc-interface/gigi.h (fntype_same_flags_p): Declare.
966
967 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
968
969         * gcc-interface/trans.c (gnat_pushdecl): Do not do anything special
970         for PARM_DECLs.
971         (end_subprog_body): If the body is a BIND_EXPR, make its associated
972         block the top-level one.
973         (build_function_stub): Build a statement group for the whole function.
974         * gcc-interface/utils.c (Subprogram_Body_to_gnu): If copy-in/copy-out
975         is used, create the enclosing block early and process first the OUT
976         parameters.
977
978 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
979
980         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: Do
981         not generate debug info for individual enumerators.
982
983 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
984
985         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Use record
986         type instead of enumeral type as the dummy type built for the template
987         type of fat pointers.
988
989 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
990
991         * gcc-interface/gigi.h (get_elaboration_procedure): Declare.
992         (gnat_zaplevel): Likewise.
993         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force global
994         binding level for an external constant.
995         <E_Constant>: Force the local context and create a fake scope before
996         translating the defining expression of an external constant.
997         <object>: Treat external constants at the global level explicitly for
998         renaming declarations.
999         (elaborate_expression_1): Force the variable to be static if the
1000         expression is global.
1001         * gcc-interface/trans.c (get_elaboration_procedure): New function.
1002         (call_to_gnu): Use it.
1003         (gnat_to_gnu): Likewise.
1004         <N_Object_Declaration>: Do not test Is_Public to force the creation of
1005         an initialization variable.
1006         (add_decl_expr): Discard the statement if the declaration is external.
1007         * gcc-interface/utils.c (gnat_pushdecl): Do not put the declaration in
1008         the current block if it is external.
1009         (create_var_decl_1): Do not test Is_Public to set TREE_STATIC.
1010         (gnat_zaplevel): New global function.
1011
1012 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
1013
1014         * gcc-interface/decl.c (gnat_to_gnu_entity): Explicitly test _LEVEL
1015         variables against zero in all cases.
1016         (rest_of_type_decl_compilation): Likewise.
1017         * gcc-interface/trans.c (gigi): Pass properly typed constants to
1018         create_var_decl.
1019         (call_to_gnu): Fix formatting.
1020         (Handled_Sequence_Of_Statements_to_gnu): Likewise.
1021         (Exception_Handler_to_gnu_zcx): Likewise.
1022         (gnat_to_gnu) <N_Object_Declaration>: Short-circuit handling of
1023         constant
1024         expressions in presence of a freeze node.
1025
1026 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
1027
1028         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Look into
1029         expressions for external constants that are aggregates.
1030         * gcc-interface/utils2.c (build_simple_component_ref): If the field
1031         is an inherited component in an extension, look through the extension.
1032
1033 2010-09-10  Vincent Celier  <celier@adacore.com>
1034
1035         * projects.texi: Add documentation for package extensions
1036         Add some documentation for attributes Leading_Library_Options and
1037         Linker'Leading_Switches.
1038
1039 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1040
1041         * exp_util.adb (Expand_Subtype_From_Expression): When expansion is
1042         disabled, compute subtype for all string types.
1043
1044 2010-09-10  Robert Dewar  <dewar@adacore.com>
1045
1046         * gnat_ugn.texi: Add documentation for -gnatw.s/S
1047         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
1048         Component_Size): Implement warning on overriden size clause.
1049         (Analyze_Record_Representation_Clause): Implement warning on overriden
1050         size clause.
1051         * sem_warn.ads, sem_warn.adb (Warn_On_Overridden_Size): New flag
1052         (-gnatw.s/S).
1053         * ug_words: Add entries for -gnatw.s/S.
1054         * vms_data.ads, usage.adb: Add line for -gnatw.s/-gnatw.S.
1055         * gcc-interface/Make-lang.in: Update dependencies.
1056
1057 2010-09-10  Vincent Celier  <celier@adacore.com>
1058
1059         * prj-dect.adb (Parse_Package_Declaration): Allow a package to extend
1060         a package with the same name from an imported or extended project.
1061         * prj-proc.adb (Process_Declarative_Items): Process package extensions
1062
1063 2010-09-10  Bob Duff  <duff@adacore.com>
1064
1065         * exp_ch6.adb (Expand_Call): Do not perform a null_exclusion check on
1066         'out' parameters.
1067
1068 2010-09-10  Robert Dewar  <dewar@adacore.com>
1069
1070         * sem.adb: Minor reformatting.
1071
1072 2010-09-10  Bob Duff  <duff@adacore.com>
1073
1074         * s-os_lib.ads, g-expect.ads: Add comments.
1075
1076 2010-09-10  Robert Dewar  <dewar@adacore.com>
1077
1078         * exp_ch5.adb: Minor reformatting.
1079
1080 2010-09-10  Thomas Quinot  <quinot@adacore.com>
1081
1082         * scos.ads: Add comments.
1083
1084 2010-09-10  Vincent Celier  <celier@adacore.com>
1085
1086         * gnatcmd.adb (Get_Closure): Remove useless invocation of Close.
1087
1088 2010-09-10  Hristian Kirtchev  <kirtchev@adacore.com>
1089
1090         * exp_ch7.adb, exp_ch6.adb (Expand_Call): Establish a transient scope
1091         for a controlled build-in-place function call which appears in an
1092         anonymous context. The transient scope ensures that the intermediate
1093         function result is cleaned up after the master is left.
1094         (Make_Build_In_Place_Call_In_Anonymous_Context): Remove the creation
1095         of the transient scope. This is now done in Exand_Call which covers
1096         additional cases other than secondary stack release.
1097
1098 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
1099
1100         * sem.adb (Do_Unit_And_Dependents): Add guard.
1101
1102 2010-09-10  Robert Dewar  <dewar@adacore.com>
1103
1104         * exp_ch5.adb: Update comments.
1105         * exp_dist.adb: Minor reformatting.
1106
1107 2010-09-10  Robert Dewar  <dewar@adacore.com>
1108
1109         * sem_ch13.adb (Check_Record_Representation_Clause): Implement record
1110         gap warnings.
1111         * sem_warn.ads, sem_warn.adb (Warn_On_Record_Holes): New warning flag.
1112         * usage.adb: Add lines for -gnatw.h/H
1113         * gnat_ugn.texi: Add documentation for J519-010
1114         Warn on record holes/gaps
1115         * ug_words: Add entries for -gnatw.h/-gnatw.H
1116         * vms_data.ads: Add entries for [NO]AVOIDGAPS
1117
1118 2010-09-10  Gary Dismukes  <dismukes@adacore.com>
1119
1120         * sem_ch6.adb: Update comment.
1121
1122 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1123
1124         * sem_ch3.adb (Build_Derived_Private_Type): Mark generated declaration
1125         of full view analyzed after analyzing the corresponding record
1126         declaration, to prevent spurious name conflicts with original
1127         declaration.
1128
1129 2010-09-10  Jerome Lambourg  <lambourg@adacore.com>
1130
1131         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the VM case,
1132         just issue a warning, but continue with the normal processing.
1133
1134 2010-09-10  Robert Dewar  <dewar@adacore.com>
1135
1136         * exp_attr.adb, prj-nmsc.adb, sem_ch4.adb, sem_res.adb: Minor
1137         reformatting.
1138
1139 2010-09-10  Thomas Quinot  <quinot@adacore.com>
1140
1141         * exp_dist.adb (Build_From_Any_Call, Build_To_Any_Call,
1142         Build_TypeCode_Call): For a subtype inserted for the expansion of a
1143         generic actual type, go to the underlying type of the original actual
1144         type.
1145
1146 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1147
1148         * exp_ch5.adb (Expand_Assign_Array_Loop): In CodePeer mode, place a
1149         guard around the increment statement, to prevent an off-by-one-value
1150         on the last iteration.
1151
1152 2010-09-10  Vincent Celier  <celier@adacore.com>
1153
1154         * sem_aggr.adb, exp_prag.adb, sem_ch3.adb, exp_attr.adb,
1155         sem_res.adb, sem_attr.adb, sem_elab.adb, sem_ch4.adb, exp_disp.adb,
1156         exp_aggr.adb, exp_dist.adb: Change all mentions of "at run-time" to
1157         "at run time" in comments and error/warning messages.
1158
1159 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1160
1161         * exp_cg.adb: Handle properly bodies without specs.
1162
1163 2010-09-10  Emmanuel Briot  <briot@adacore.com>
1164
1165         * prj-nmsc.adb (Find_Source_Dirs): When a source directory is not
1166         present, and the user requested to either ignore this or display a
1167         warning (as opposed to an error), we still need to register the
1168         directory.
1169
1170 2010-09-10  Robert Dewar  <dewar@adacore.com>
1171
1172         * errout.adb: Remove tests of Parsing_Main_Subunit, since this test is
1173         now done in In_Extended_Main_Source_Unit.
1174         * errout.ads (Compiler_State[_Type]): Moved from Errout to Lib
1175         (Parsing_Main_Subunit): Moved from Errout to Lib and renamed
1176         as Parsing_Main_Extended_Source.
1177         * frontend.adb: Set Parsing_Main_Extended_Source True for parsing main
1178         unit.
1179         * lib-load.adb (Load_Unit): Add PMES parameter
1180         Set PMES appropriately in all calls to Load_Unit
1181         * lib-load.ads (Load_Unit): Add PMES parameter
1182         * lib.adb (In_Extended_Main_Source_Unit): When called with
1183         Compiler_State set to Parsing, test new flag
1184         Compiling_Main_Extended_Source.
1185         * lib.ads (Compiler_State[_Type]): Moved from Errout to Lib
1186         (Parsing_Main_Subunit): Moved from Errout to Lib and renamed
1187         as Parsing_Main_Extended_Source
1188         * par-load.adb (Load): Set PMES properly in call to Load_Unit
1189
1190 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1191
1192         * exp_cg.adb: Use proper entity to handle overloads.
1193         * sem_res.adb (Check_Parameterless_Call): An operator node without
1194         actuals cannot be a call, and must be treated as a string.
1195
1196 2010-09-10  Robert Dewar  <dewar@adacore.com>
1197
1198         * frontend.adb: Minor reformatting.
1199
1200 2010-09-10  Robert Dewar  <dewar@adacore.com>
1201
1202         * par-ch4.adb (P_Conditional_Expression): Use P_Condition for condition
1203         * par-ch5.adb (P_Condition): Move from body to spec
1204         * par.adb (Ch5.P_Condition): Move from body to spec
1205
1206 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1207
1208         * exp_cg.adb (Write_Call_Info): If a type that has been registered in
1209         the call table is private, use its full view to generate information
1210         on its operations.
1211
1212 2010-09-10  Jose Ruiz  <ruiz@adacore.com>
1213
1214         * exp_cg.adb (Is_Predefined_Dispatching_Operation): When trying the
1215         pattern matching to detect predefined primitive operations take into
1216         account that there can be an extra suffix related to body-nested
1217         package entities.
1218
1219 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1220
1221         * s-pooglo.ads: Add overriding indicators.
1222
1223 2010-09-10  Vincent Celier  <celier@adacore.com>
1224
1225         * vms_data.ads: Add new GNAT BIND qualifiers /32_MALLOC (for -H32) and
1226         /64_MALLOC (for -H64).
1227
1228 2010-09-10  Robert Dewar  <dewar@adacore.com>
1229
1230         * errout.adb (Error_Msg_Internal): Test Parsing_Main_Subunit flag
1231         (Error_Msg_NW): Test Parsing_Main_Subunit flag
1232         * errout.ads (Parsing_Main_Subunit): New flag
1233         * lib-load.adb (Load_Unit): Set Parsing_Main_Subunit flag
1234         * par-ch6.adb: Minor style fix (remove redandant parentheses)
1235         * par-ch9.adb: Minor style fix (remove redundant parens)
1236         * par-load.adb: (Load): Deal with setting Parsing_Main_Subunit
1237
1238 2010-09-10  Vincent Celier  <celier@adacore.com>
1239
1240         * make.adb (Create_Binder_Mapping_File): Remove procedure. Replaced by
1241         function of the same name in Makeutl.
1242         (Gnatmake): Call function Create_Binder_Mapping_File in Makeutl, instead
1243         of removed procedure when creating a binder mapping file.
1244         * makeutl.adb (Create_Binder_Mapping_File): New function. Was a
1245         procedure in Make.
1246         * makeutl.ads (Create_Binder_Mapping_File): New function
1247
1248 2010-09-10  Jose Ruiz  <ruiz@adacore.com>
1249
1250         * exp_cg.adb (Is_Predefined_Dispatching_Operation): Add the "__" scope
1251         separator when trying the pattern matching to detect predefined
1252         primitive operations.
1253
1254 2010-09-10  Robert Dewar  <dewar@adacore.com>
1255
1256         * bindgen.adb, atree.adb: Minor reformatting.
1257
1258 2010-09-10  Ben Brosgol  <brosgol@adacore.com>
1259
1260         * ug_words, gnat_ugn.texi: Revised "Transitioning to 64-Bit GNAT for
1261         OpenVMS" section.
1262
1263 2010-09-10  Doug Rupp  <rupp@adacore.com>
1264
1265         * bindgen.adb: Minor comment fix for -H switch.
1266
1267 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1268
1269         * exp_cg.adb (Register_CG_Node): Determine enclosing subprogram or
1270         library unit now, by traversing tree before context is expanded.
1271         (Write_Call_Info): Use enclosing unit name directly.
1272         * exp_ch9.adb (Expand_N_Accept_Statement): Attach generated block to
1273         tree earlier, to ensure that subsequent declarations are analyzed in a
1274         connected structure.
1275         * exp_intr.adb (Expand_Unc_Deallocation): Ditto for generated statement
1276         list.
1277
1278 2010-09-10  Robert Dewar  <dewar@adacore.com>
1279
1280         * symbols-processing-vms-alpha.adb: Minor reformatting.
1281
1282 2010-09-10  Jerome Lambourg  <lambourg@adacore.com>
1283
1284         * bindgen.adb (Gen_Adainit_Ada): In .NET, don't call
1285         __gnat_install_handler in case the binder is called with -n.
1286
1287 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1288
1289         * exp_ch6.adb (Make_Build_In_Place_In_Object_Declaration): Use proper
1290         sloc for renaming declaration and set Comes_From_Source properly to
1291         ensure that references are properly generated for an object declaration
1292         that is built in place.
1293
1294 2010-09-10  Tristan Gingold  <gingold@adacore.com>
1295
1296         * symbols-processing-vms-alpha.adb: Allow gnatsym to work as a cross
1297         tool.
1298         * gcc-interface/Make-lang.in: Install gnatsym when cross compiling.
1299         * gcc-interface/Makefile.in: gnat.hlp is now generated by
1300         Make-generated.in
1301
1302 2010-09-10  Bob Duff  <duff@adacore.com>
1303
1304         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): For things like ""X(J)
1305         := ...;", remove side effects from the right-hand side, because they
1306         might affect the value of the left-hand side, but the left-hand side is
1307         first READ (so we can do shifting and masking) and then written back,
1308         which would cause the side effects to be incorrectly overwritten.
1309
1310 2010-09-10  Robert Dewar  <dewar@adacore.com>
1311
1312         * sem_ch4.adb: Minor reformatting.
1313         * exp_ch6.adb: Add comment on testing limited on full type
1314         * gnat_rm.texi: Add documentation on Pure_Function.
1315
1316 2010-09-10  Vincent Celier  <celier@adacore.com>
1317
1318         * prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name
1319         as a source of another project and of another language.
1320
1321 2010-09-10  Robert Dewar  <dewar@adacore.com>
1322
1323         * exp_ch3.adb (Expand_N_Object_Declaration): Defend against previous
1324         errors.
1325         * freeze.adb (Check_Unsigned_Type): Ditto.
1326         * sem_aggr.adb (Resolve_Aggr_Expr): Ditto.
1327         * sem_ch3.adb (Convert_Scalar_Bounds): Ditto.
1328         (Set_Scalar_Range_For_Subtype): Ditto.
1329         * sem_eval.adb (Subtypes_Statically_Match): Ditto.
1330
1331 2010-09-10  Robert Dewar  <dewar@adacore.com>
1332
1333         * repinfo.adb (List_Type_Info): List Small and Range for fixed-point
1334         types.
1335         * sprint.adb (Write_Ureal_With_Col_Check_Sloc): Use square brackets
1336         rather than parens for fixed constants.
1337         * sprint.ads: Use square brackets rather than parens for fixed constants
1338         * urealp.adb (UR_Write): Use square brackets rather than parens
1339         (UR_Write): Add Brackets argument
1340         (UR_Write): Add many more special cases to output literals
1341         * urealp.ads (UR_Write): Use square brackets rather than parens
1342         (UR_Write): Add Brackets argument
1343
1344 2010-09-10  Robert Dewar  <dewar@adacore.com>
1345
1346         * sem_ch4.adb: Minor reformatting.
1347
1348 2010-09-10  Richard Guenther  <rguenther@suse.de>
1349
1350         * gcc-interface/utils.c (create_index_type): Use build_range_type.
1351
1352 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
1353
1354         * vms_cmds.ads: New.
1355
1356 2010-09-10  Eric Botcazou  <ebotcazou@adacore.com>
1357
1358         * exp_dbug.ads: Mention enhanced encoding for array types.
1359
1360 2010-09-10  Jerome Lambourg  <lambourg@adacore.com>
1361
1362         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Size clause are
1363         unsupported in VM targets. Display a warning in this case.
1364
1365 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1366
1367         * sprint.adb (Sprint_Node_Actual, case N_Derived_Type_Definition): Do
1368         not reset Sloc when printing keyword "new".
1369
1370 2010-09-10  Vincent Celier  <celier@adacore.com>
1371
1372         * gnatcmd.adb (GNATCmd): Put the command line in environment variable
1373         GNAT_DRIVER_COMMAND_LINE.
1374
1375 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1376
1377         * sem.adb (Do_Unit_And_Dependents): if Withed_Body is set on a context
1378         clause, process the body at once.
1379
1380 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1381
1382         * sem_res.adb (Resolve_Type_Conversion): Do not warn on a redundant
1383         conversion is the expression is a qualified expression used to
1384         disambiguate a function call.
1385
1386 2010-09-10  Vincent Celier  <celier@adacore.com>
1387
1388         * prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name
1389         as a source of another project and of another language.
1390
1391 2010-09-10  Robert Dewar  <dewar@adacore.com>
1392
1393         * prj-util.adb: Minor reformatting.
1394
1395 2010-09-10  Eric Botcazou  <ebotcazou@adacore.com>
1396
1397         * exp_disp.adb: Minor reformatting.
1398
1399 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
1400
1401         * sem_prag.adb (Analyze_Pragma): Ignore Inline_Always pragma in
1402         CodePeer mode.
1403
1404 2010-09-10  Thomas Quinot  <quinot@adacore.com>
1405
1406         * sem_res.adb: Minor reformatting.
1407         * exp_ch9.adb, rtsfind.ads, exp_ch4.adb, exp_ch3.adb: Do not hardcode
1408         magic constants for task master levels (instead, reference
1409         named numbers from System.Tasking).
1410
1411 2010-09-10  Eric Botcazou  <ebotcazou@adacore.com>
1412
1413         * gnatvsn.ads (Ver_Prefix): New constant string.
1414         * bindgen.adb (Gen_Output_File_Ada): Use it in lieu of hardcoded value.
1415         (Gen_Output_File_C): Likewise.
1416         * g-comver.adb (Ver_Prefix): Add cross-reference to Gnatvsn.Ver_Prefix
1417         in comment.
1418         
1419 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1420
1421         * sem.adb (Walk_Library_Items): Do not traverse children of the main
1422         unit, to prevent spurious circularities in the walk order.
1423         (Depends_On_Main): Use elsewhere to prevent circularities when the body
1424         of an ancestor of the main unit depends on a child of the main unit.
1425
1426 2010-09-10  Robert Dewar  <dewar@adacore.com>
1427
1428         * gnatlink.adb, prj-ext.adb, prj-util.adb, s-tporft.adb,
1429         sem_ch3.adb: Minor reformatting.
1430
1431 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1432
1433         * sem_ch3.adb (Derive_Subprograms): An interface primitive operation
1434         that is a renaming must be derived like any other primitive operation,
1435         the renamed operation is not relevant to the derivation.
1436
1437 2010-09-10  Robert Dewar  <dewar@adacore.com>
1438
1439         * sem_aux.ads: Add comment for Is_Inherently_Limited_Type.
1440         * checks.adb: Minor reformatting.
1441
1442 2010-09-10  Robert Dewar  <dewar@adacore.com>
1443
1444         * gnat_ugn.texi: Add section on intent of style checking options.
1445
1446 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
1447
1448         * xref_lib.adb (Get_Full_Type): Fix handling of 'a' char.
1449
1450 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1451
1452         * sem_ch3.adb: Improve error message on derivation from class-wide type
1453
1454 2010-09-10  Steve Baird  <baird@adacore.com>
1455
1456         * gnat1drv.adb (Adjust_Global_Switches): Enable Expression_With_Actions
1457         generation when Generate_SCIL is True.
1458
1459 2010-09-10  Geert Bosch  <bosch@adacore.com>
1460
1461         * gnatlink.adb (Check_ Existing_Executable): New procedure for checking
1462         validity of executable name and removing any existing executable
1463         (Gnatlink): Call Check_Existing_Executable.
1464
1465 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
1466
1467         * s-tporft.adb, s-taskin.ads (Register_Foreign_Thread): Move
1468         initialization of Task_Alternate_Stack here, cleaner since in case of
1469         ranvescar, Restricted_Ada_Task_Control_Block is not initialized
1470         implicitly.
1471
1472 2010-09-10  Thomas Quinot  <quinot@adacore.com>
1473
1474         * s-fileio.adb, a-dirval.adb: Minor reformatting.
1475
1476 2010-09-10  Emmanuel Briot  <briot@adacore.com>
1477
1478         * prj-util.adb (Executable_Of): Fix CE when the project does not
1479         contain a Builder package.
1480
1481 2010-09-10  Vincent Celier  <celier@adacore.com>
1482
1483         * prj-ext.adb (Initialize_Project_Path): Add <prefix>/lib/gpr/<target>
1484         to the project path, if Prefix and Target_Name are defined.
1485         * prj-tree.ads (Project_Node_Tree_Data): New component Target_Name
1486
1487 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
1488
1489         * checks.adb (Ensure_Valid): If the expression is a boolean expression
1490         or short-circuit operation, do no emit a validity check: only the
1491         elementary operands of the expression need checking.
1492
1493 2010-09-10  Ben Brosgol  <brosgol@adacore.com>
1494
1495         * gnat_rm.texi: Document Short_Descriptors.
1496
1497 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
1498
1499         * s-taprop-linux.adb, s-taskin.ads (Task_Alternate_Stack): Default
1500         initialize to Null_Address.
1501         (Enter_Task): Do not set up an alternate stack for foreign threads.
1502
1503 2010-09-10  Robert Dewar  <dewar@adacore.com>
1504
1505         * opt.adb (Short_Descriptors): New flag
1506         (Short_Descriptors_Config): New flag
1507         * opt.ads (Short_Descriptors): New flag
1508         (Short_Descriptors_Config): New flag
1509         * par-prag.adb: Add dummy entry for Short_Descriptors pragma
1510         * sem_prag.adb (Set_Mechanism_Value): Deal with Short_Descriptors pragma
1511         (Analyze_Pragma): Implement Short_Descriptors pragma
1512         * snames.ads-tmpl: Add entry for Short_Descriptors pragma
1513
1514 2010-09-10  Emmanuel Briot  <briot@adacore.com>
1515
1516         * prj-util.adb, prj-util.ads (Executable_Of): Take into account the
1517         project's Executable_Suffix.
1518
1519 2010-09-10  Robert Dewar  <dewar@adacore.com>
1520
1521         * g-pehage.ads: Minor reformatting
1522
1523         * gnat_ugn.texi: Clarifying comment on -gnatyc
1524         * exp_ch6.adb (Expand_N_Subprogram_Body): Reset Is_Pure if limited
1525         arguments.
1526
1527 2010-09-10  Tristan Gingold  <gingold@adacore.com>
1528
1529         * Make-generated.in (gnat.hlp): New rule.
1530
1531 2010-09-10  Emmanuel Briot  <briot@adacore.com>
1532
1533         * prj-util.adb, prj-util.ads (Executable_Of): New parameter
1534         Include_Suffix.
1535
1536 2010-09-10  Robert Dewar  <dewar@adacore.com>
1537
1538         * einfo.adb: Minor code cleanup: Add assertion to
1539         Set_Corresponding_Protected_Entry.
1540
1541 2010-09-10  Bob Duff  <duff@adacore.com>
1542
1543         * g-pehage.ads, g-pehage.adb (Produce): Add a new flag to allow sending
1544         the output to standard output.
1545
1546 2010-09-09  Vincent Celier  <celier@adacore.com>
1547
1548         * gnat_ugn.texi: Add documentation for new gnatmake switch
1549         --create-map-file.
1550         * make.adb (Map_File): New global variable to store the value of switch
1551         --create-map-file.
1552         (Gnatmake): Add switch -M to gnatlink if buider switch --create-map-file
1553         has been specified.
1554         (Scan_Make_Arg): Recognize switch --create-map-file
1555         * makeutl.ads (Create_Map_File_Switch): New constant string for new
1556         gnatmake and gprbuild switch --create-map-file.
1557
1558 2010-09-09  Robert Dewar  <dewar@adacore.com>
1559
1560         * sinput-p.ads: Minor comment update.
1561
1562 2010-09-09  Arnaud Charlet  <charlet@adacore.com>
1563
1564         * s-tpobop.adb, s-taenca.adb (Wait_For_Completion_With_Timeout): Reset
1565         Entry_Call.State if needed so that the call is marked as cancelled by
1566         Check_Pending_Actions_For_Entry_Call.
1567         (Timed_Protected_Entry_Call): Adjust calls to Defer/Under_Abort, since
1568         this procedure may be called from a controlled operation
1569         (Initialize/Finalize).
1570
1571 2010-09-09  Vadim Godunko  <godunko@adacore.com>
1572
1573         * impunit.adb: Correct spelling of package's name in the comment.
1574
1575 2010-09-09  Robert Dewar  <dewar@adacore.com>
1576
1577         * gnatcmd.adb, gnatlink.adb, sem_ch12.adb, sem_eval.adb, sinput-p.adb:
1578         Minor reformatting
1579
1580 2010-09-09  Robert Dewar  <dewar@adacore.com>
1581
1582         * impunit.adb: Add entry for a-izteio.
1583         * checks.adb: Add comment.
1584         * debug.adb, exp_disp.adb: Minor reformatting.
1585         * exp_dbug.ads: Minor reformatting throughout (pack block comments).
1586
1587 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1588
1589         * sem_eval.adb (Is_Same_Value): Two occurrences of the same
1590         discriminant cannot be assumed to be the same value because they may
1591         refer to bounds of a component of two different instances of a
1592         discriminated type.
1593
1594 2010-09-09  Gary Dismukes  <dismukes@adacore.com>
1595
1596         * checks.adb (Apply_Arithmetic_Overflow_Check): When converting the
1597         operands of an operator to the type of an enclosing conversion, rewrite
1598         the operator so the conversion can't be flagged as redundant.
1599         Remove useless assignments to Typ and Rtyp.
1600
1601 2010-09-09  Eric Botcazou  <ebotcazou@adacore.com>
1602
1603         * gnat_ugn.texi: Fix another long line.
1604
1605 2010-09-09  Bob Duff  <duff@adacore.com>
1606
1607         * sem_warn.adb (Output_Reference_Error): Don't warn for renames read
1608         but never assigned.
1609
1610 2010-09-09  Matthew Heaney  <heaney@adacore.com>
1611
1612         * a-convec.adb, a-coinve.adb (Clear, Delete, Delete_Last, Finalize,
1613         Merge, Insert, Insert_Space, Move, Reserve_Capacity, Generic_Sorting,
1614         Replace_Element, Reverse_Elements, Swap): Change exception message to
1615         correctly indicate kind of tampering (cursor or element).
1616         * a-cdlili.adb, a-cidlli.adb (Clear, Delete, Delete_First, Delete_Last,
1617         Merge, Generic_Sorting, Insert, Move, Reverse_Elements, Splice,
1618         Swap_Links, Replace_Element, Swap): Ditto.
1619         * a-coorse.adb, a-ciorse.adb (Include, Replace, Replace_Element): Ditto
1620         * a-coorma.adb, a-ciorma.adb (Include, Replace, Replace_Element): Ditto
1621         * a-coormu.adb, a-ciormu.adb (Replace_Element): Ditto
1622         * a-chtgke.adb (Delete_Key_Sans_Free, Generic_Conditional_Insert,
1623         Generic_Replace_Element): Ditto
1624         * a-chtgop.adb (Clear, Move, Reserve_Capacity): Ditto
1625         * a-cohama.adb, a-cihama.adb (Delete, Include, Replace,
1626         Replace_Element): Ditto.
1627         * a-cohase.adb, a-cihase.adb (Delete, Difference, Intersection,
1628         Symmetric_Difference, Union, Include, Replace): Ditto
1629
1630 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1631
1632         * sprint.adb (Write_Id): If the parent node is an expanded name, check
1633         that its entity_or_associated_node is an entity before writing it out.
1634         * exp_disp.adb (Make_Tags); if a type is declared in C++ and has no
1635         constructors, there is no need for a dispatch table pointer because the
1636         table is fully inherited from the C++ code.
1637
1638 2010-09-09  Thomas Quinot  <quinot@adacore.com>
1639
1640         * projects.texi: Fix wrong identifiers on package end lines in project
1641         files examples.
1642         * exp_ch6.adb: Minor reformatting.
1643
1644 2010-09-09  Tristan Gingold  <gingold@adacore.com>
1645
1646         * gnatcmd.adb, vms_conv.ads: Extract Command_Type.
1647
1648 2010-09-09  Eric Botcazou  <ebotcazou@adacore.com>
1649
1650         * gnat_ugn.texi: Fix description of -O3 optimization level.
1651
1652 2010-09-09  Yannick Moy  <moy@adacore.com>
1653
1654         * a-cihama.adb, a-cohama.adb: Fix comments.
1655
1656 2010-09-09  Arnaud Charlet  <charlet@adacore.com>
1657
1658         * i-cexten.ads: Add comments.
1659         (Signed_128): New type, used by some C bindings.
1660         * debug.adb: Update comment.
1661
1662 2010-09-09  Sergey Rybin  <rybin@adacore.com>
1663
1664         * gnat_ugn.texi: For ASIS tools (gnatpp, gnatcheck, gnatelim,
1665         gnatmetric and gnatstub) add a note that '-gnat05' should be used if
1666         the tool should process Ada 2005 sources.
1667
1668 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1669
1670         * sem_ch12.adb (Remove_Parent): If the scope containing the child
1671         instance is a block, examine the enclosing scope to determine if it is
1672         a parent instance.
1673
1674 2010-09-09  Doug Rupp  <rupp@adacore.com>
1675
1676         * sem_prag.adb (pragma Ident): Pass --identification= vice 
1677         IDENTIFICATION=
1678         * gnatlink.adb (Linker_Options): Look for --identification= vice 
1679         IDENTIFICATION=
1680
1681 2010-09-09  Gary Dismukes  <dismukes@adacore.com>
1682
1683         * exp_attr.adb (Expand_N_Attribute_Reference, case Attribute_Old): When
1684         inserting and analyzing the object declaration for the temporary object
1685         created to hold a 'Old value, push the scope for the subprogram where
1686         the object is inserted, so that its Scope (and that of related objects)
1687         will be set properly.
1688
1689 2010-09-09  Vincent Celier  <celier@adacore.com>
1690
1691         * prj.adb (Get_Object_Directory): Return object directory display name
1692         * adaint.c (__gnat_get_file_names_case_sensitive): When environment
1693         variable GNAT_FILE_NAME_CASE_SENSITIVE has a value of "0" or "1",
1694         return this value, otherwise return the default for the platform.
1695
1696 2010-09-09  Arnaud Charlet  <charlet@adacore.com>
1697
1698         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
1699         dependencies. Remove handling of gnatlbr.
1700         Do not remove s-stratt-xdr for the run-time when installing.
1701
1702 2010-09-09  Robert Dewar  <dewar@adacore.com>
1703
1704         * sem_attr.adb: Minor reformatting.
1705
1706 2010-09-09  Thomas Quinot  <quinot@adacore.com>
1707
1708         * socket.c (__gnat_socket_ioctl): On Darwin, the req parameter is an
1709         unsigned long, not an int.
1710
1711 2010-09-09  Vincent Celier  <celier@adacore.com>
1712
1713         * make.adb, mlib-prj.adb, prj.adb, prj-nmsc.adb, mlib-tgt.adb,
1714         prj-conf.adb, prj-env.adb: Use Display_Name instead of Name whenever
1715         we are not checking for equality of path or file names.
1716
1717 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1718
1719         * exp_util.adb (Remove_Side_Effects): If the expression is a packed
1720         array reference, reset the Analyzed flag so that it is properly
1721         expanded when the resulting object declaration is analyzed.
1722
1723 2010-09-09  Vincent Celier  <celier@adacore.com>
1724
1725         * sinput-p.adb (Source_File_Is_Subunit): Return False if X is
1726         No_Source_File.
1727
1728 2010-09-09  Ramon Fernandez  <fernandez@adacore.com>
1729
1730         * sysdep.c: The wrSbc8548 BSP in MILS doesn't know anything about the
1731         VX_SPE_TASK option, so disable it.
1732
1733 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1734
1735         * sem.adb (Walk_Library_Items): Traverse context of subunits of the
1736         main unit.
1737         (Is_Subunit_Of_Main): Handle null nodes properly.
1738
1739 2010-09-09  Robert Dewar  <dewar@adacore.com>
1740
1741         * par-ch2.adb: Update comments.
1742
1743 2010-09-09  Ben Brosgol  <brosgol@adacore.com>
1744
1745         * gnat_rm.texi: Minor wordsmithing of section on pragma Ordered.
1746
1747 2010-09-09  Arnaud Charlet  <charlet@adacore.com>
1748
1749         * par-ch2.adb (Scan_Pragma_Argument_Association): In CodePeer mode,
1750         do not generate an error for compatibility with legacy code.
1751         ignored when generating SCIL.
1752         * sem_attr.adb (Resolve_Attribute): Ignore AI-229 in CodePeer mode.
1753
1754 2010-09-09  Thomas Quinot  <quinot@adacore.com>
1755
1756         * s-strxdr.adb, gnat_rm.texi, s-stratt-xdr.adb, s-stratt.ads: Rename
1757         s-strxdr.adb to s-stratt-xdr.adb
1758
1759 2010-09-09  Robert Dewar  <dewar@adacore.com>
1760
1761         * ali-util.adb (Obsolescent_Check): Removed.
1762         * gprep.adb (Obsolescent_Check): Removed.
1763         Remove Obsolescent_Check parameter in Scng instantiation
1764         * prj-err.adb (Obsolescent_Check): Removed.
1765         * prj-err.ads (Obsolescent_Check): Removed.
1766         Remove Obsolescent_Check parameter in Scng instantiation
1767         * scans.ads (Based_Literal_Uses_Colon): New flag
1768         * scn.adb (Obsolscent_Check_Flag): Removed
1769         (Obsolscent_Check): Removed
1770         (Set_Obsolescent_Check): Removed
1771         (Post_Scan): Add handling for obsolescent features
1772         * scn.ads (Obsolscent_Check): Removed
1773         (Set_Obsolescent_Check): Removed
1774         (Post_Scan): Can no longer be inlined
1775         Remove Obsolescent_Check from instantiation of Scng
1776         * scng.adb (Nlit): Set Based_Literal_Uses_Colon
1777         (Nlit): Remove handling of obsolescent check
1778         (Scan, case '%'): Remove handling of obsolescent check
1779         (Scan, case '|'): Call Post_Scan
1780         (Scan, case '!'): Remove handling of obsolescent check, call Post_Scan
1781         * scng.ads Remove Obsolescent_Check argument from Scng generic
1782         (Post_Scan): Now called for Tok_Vertical_Bar
1783         * sinput-l.adb: Remove calls to Set_Obsolescent_Check
1784
1785 2010-09-09  Doug Rupp  <rupp@adacore.com>
1786
1787         * gnatlbr.adb: Removed.
1788         * gnat_rm.texi, ug_words, gnat_ugn.texi: Remove mention of gnatlbr.
1789
1790 2010-09-09  Robert Dewar  <dewar@adacore.com>
1791
1792         * sem_res.adb (Resolve_Type_Conversion): Catch more cases of redundant
1793         conversions.
1794
1795 2010-09-09  Vincent Celier  <celier@adacore.com>
1796
1797         * gnatlbr.adb: Remove redundant conversions.
1798
1799 2010-09-09  Vincent Celier  <celier@adacore.com>
1800
1801         * prj-proc.adb: Minor comment spelling error fix.
1802         * osint.ads (Env_Vars_Case_Sensitive): Use function
1803         Get_Env_Vars_Case_Sensitive, not Get_File_Names_Case_Sensitive to
1804         compute value.
1805
1806 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1807
1808         * sem_res.adb (Resolve_Equality_Op): Implement Ada2012 rule for
1809         resolution of conditional expressions whose dependent expressions are
1810         anonymous access types.
1811
1812 2010-09-09  Robert Dewar  <dewar@adacore.com>
1813
1814         * a-ststio.adb: Minor code reorganization.
1815         * s-direio.adb, prj.adb, prj-nmsc.adb, sem_type.adb: Remove redundant
1816         conversion.
1817         * types.ads: Minor reformatting.
1818         * binde.adb, vms_conv.adb, gnatls.adb, s-strxdr.adb, uintp.adb: Remove
1819         redundant conversions.
1820         * output.adb: Minor reformatting.
1821         * sem_ch8.adb (Find_Type): Test for redundant base applies to user
1822         types.
1823         * opt.ads: Add pragma Ordered for Verbosity_Level.
1824         * prj.ads: Add pragma Ordered for type Verbosity.
1825
1826 2010-09-09  Vincent Celier  <celier@adacore.com>
1827
1828         * osint.adb (Canonical_Case_File_Name): Use procedure To_Lower in
1829         System.Case_Util
1830         (Canonical_Case_Env_Var_Name): Ditto
1831
1832 2010-09-09  Bob Duff  <duff@adacore.com>
1833
1834         * g-pehage.adb (Allocate): Initialize the allocated elements of IT.
1835
1836 2010-09-09  Robert Dewar  <dewar@adacore.com>
1837
1838         * cstand.adb: Mark Boolean and Character types as Ordered
1839         * einfo.adb (Has_Pragma_Ordered): New flag
1840         * einfo.ads (Has_Pragma_Ordered): New flag
1841         * g-calend.ads: Mark Day_Name as Ordered
1842         * opt.ads: Mark Ada_Version_Type as Ordered
1843         (Warn_On_Unordered_Enumeration_Type): New flag
1844         * par-prag.adb: Add procdessing for pragma Ordered
1845         * s-ficobl.ads (Read_File_Mode): New subtype
1846         * s-fileio.adb: Use Read_File_Mode instead of explicit ranges
1847         * s-taskin.ads: Mark Entry_Call_State as ordered
1848         * sem_ch3.adb (Build_Derived_Enumeration_Type): Inherit
1849         Has_Pragma_Ordered.
1850         * sem_ch6.ads: Mark Conformance_Type as Ordered
1851         * sem_prag.adb: Implement pragma Ordered
1852         * sem_res.adb (Bad_Unordered_Enumeration_Reference): New function
1853         (Resolve_Comparison_Op): Diagnose unordered comparison
1854         (Resolve_Range): Diagnose unordered range
1855         * sem_warn.adb (Warn_On_Unordered_Enumeration_Type): New flag (from
1856         -gnatw.u/U)
1857         * snames.ads-tmpl: Add entry for pragma Ordered
1858         * style.ads (Check_Enumeration_Subrange): Removed
1859         * styleg.adb (Check_Enumeration_Subrange): Removed
1860         * styleg.ads (Check_Enumeration_Subrange): Removed
1861         * stylesw.adb: Remove handling of -gnatyE switch
1862         * stylesw.ads: (Style_Check_Enumeration_Subranges): Removed
1863         * vms_data.ads: Remove -gnatyE entries
1864         Add -gnatw.u entries
1865         * ug_words: Entries for -gnatw.u and -gnatw.U
1866         * gnat_ugn.texi: Document -gnatw.u/-gnatw.U switches
1867         * gnat_rm.texi: Document pragma Ordered.
1868         * s-tasren.adb: Avoid unnecessary comparison on unordered enumeration.
1869         * s-tpobop.adb: Remove comparison on unordered enumeration type.
1870
1871 2010-09-09  Vincent Celier  <celier@adacore.com>
1872
1873         * adaint.c: New function __gnat_get_env_vars_case_sensitive, returns 0
1874         for VMS and Windows, and 1 for all other platforms.
1875         * adaint.h: New function __gnat_get_env_vars_case_sensitive
1876         * osint.ads, osint.adb (Canonical_Case_Env_Var_Name): New procedure.
1877         * prj-ext.adb (Add): Call Canonical_Case_Env_Var_Name instead of
1878         Canonical_Case_File_Name, as we are dealing with environment variables,
1879         not files.
1880
1881 2010-09-09  Robert Dewar  <dewar@adacore.com>
1882
1883         * sem_util.adb: Minor reformatting
1884
1885 2010-09-09  Vincent Celier  <celier@adacore.com>
1886
1887         * vms_data.ads: Add documentation for S_Make_Single.
1888
1889 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1890
1891         * sem_util.adb (Same_Object): include formal parameters.
1892
1893 2010-09-09  Vincent Celier  <celier@adacore.com>
1894
1895         * make.adb (Queue): New package implementing a new impementation of the
1896         queue, taking into account the new switch --single-compile-per-obj-dir.
1897         * makeutl.ads (Single_Compile_Per_Obj_Dir_Switch): New constant String
1898         for gnatmake and gprbuild new switch --single-compile-per-obj-dir.
1899         * opt.ads (One_Compilation_Per_Obj_Dir): New Boolean flag, defauted to
1900         False.
1901         * switch-m.adb (Scan_Make_Switches): Take into account new gnatmake
1902         switch --single-compile-per-obj-dir.
1903         * vms_data.ads: Add qualifier SINGLE_COMPILE_PER_OBJ_DIR for gnatmake
1904         switch --single-compile-per-obj-dir.
1905         * gnat_ugn.texi: Add documentation for new gnatmake switch
1906         --single-compile-per-obj-dir.
1907
1908 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1909
1910         * einfo.adb, einfo.ads: Clarify use of Corresponding_Protected_Entry.
1911
1912 2010-09-09  Javier Miranda  <miranda@adacore.com>
1913
1914         * sem_ch3.adb (Is_Progenitor): Relocated to sem_type.
1915         (Replace_Type): Code cleanup.
1916         * sem_type.ads, sem_type.adb (Is_Progenitor): Relocated from sem_ch3
1917
1918 2010-09-09  Thomas Quinot  <quinot@adacore.com>
1919
1920         * exp_ch8.adb: Minor reformatting.
1921
1922 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1923
1924         * exp_ch9.adb, einfo.adb, einfo.ads: New attribute
1925         Corresponding_Protected_Entry.
1926
1927 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1928
1929         * exp_ch3.adb (Build_Untagged_Equality): Do not set alias of implicit
1930         inequality, it is always rewritten as the negation of the corresponding
1931         equality operation.
1932         * exp_ch8.adb (Expand_N_Subprogram_Renaming): If the subprogram renames
1933         the predefined equality of an untagged record, create a body at the
1934         point of the renaming, to capture the current meaning of equality for
1935         the type.
1936
1937 2010-09-09  Robert Dewar  <dewar@adacore.com>
1938
1939         * sem.adb, sem_warn.adb: Minor reformatting.
1940
1941 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1942
1943         * sem_ch6.adb: Improve error message on untagged equality.
1944         * sem.adb (Semantics): Include subprogram bodies that act as spec.
1945
1946 2010-09-09  Javier Miranda  <miranda@adacore.com>
1947
1948         * sem_ch13.adb, exp_ch13.adb: Undo previous change, unneeded.
1949
1950 2010-09-09  Robert Dewar  <dewar@adacore.com>
1951
1952         * sem_ch13.adb, sem_ch6.adb, exp_ch3.adb: Minor reformatting.
1953
1954 2010-09-09  Robert Dewar  <dewar@adacore.com>
1955
1956         * einfo.adb (Is_Aggregate_Type): New function.
1957         * einfo.ads (Aggregate_Kind): New enumeration subtype
1958         (Is_Aggregate_Type): New function.
1959         * sem_type.adb (Is_Array_Class_Record_Type): Removed, replaced by
1960         Is_Aggregate_Typea.
1961
1962 2010-09-09  Robert Dewar  <dewar@adacore.com>
1963
1964         * exp_ch11.adb, frontend.adb, sem_attr.adb, sem_ch10.adb, sem_ch3.adb,
1965         sem_ch4.adb, sem_ch9.adb, sem_res.adb: Use Restriction_Check_Needed
1966         where appropriate.
1967         * restrict.ads, restrict.adb: Ditto.
1968         (Restriction_Check_Needed): New function
1969
1970 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1971
1972         * exp_ch9.ads (Find_Master_Scope): New function, extracted from
1973         Build_Master_Entity, to find the proper scope for the master entity of
1974         a type that may contain tasks, in the presence of transient scopes.
1975         * exp_ch9.adb (Build_Master_Entity) Use new function.
1976         * exp_ch3.adb (Build_Class_Wide_Master): ditto.
1977
1978 2010-09-09  Vincent Celier  <celier@adacore.com>
1979
1980         * prj-attr.adb: Add new attributes Leading_Library_Options and
1981         Linker'Leading_Switches.
1982         * snames.ads-tmpl: Add new standard names Leading_Library_Options and
1983         Leading_Switches.
1984
1985 2010-09-09  Javier Miranda  <miranda@adacore.com>
1986
1987         * sem_ch3.adb (Derive_Subprogram): The code that checks if a
1988         dispatching primitive covers some interface primitive is incomplete.
1989         Replace such code by the invocation of a new subprogram that provides
1990         this functionality.
1991         * sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
1992         * sem_ch6.adb (Check_Missing_Return): Minor reformating
1993         (Check_Convention): Complete if-statement conditition when reporting
1994         errors (to avoid assertion failure).
1995         * sem_ch13.adb (Make_Null_Procedure_Specs): This routine was previously
1996         located in exp_ch3. Relocated inside Analyze_Freeze_Entity.
1997         (Analyze_Freeze_Entity): Invoke routine that adds the spec of non
1998         overridden null interface primitives.
1999         * sem_type.adb (Is_Ancestor): If the parent of the partial view of a
2000         private type is an interface then use the parent of its full view to
2001         climb to its ancestor type.
2002         * sem_disp.ads, sem_disp.adb (Covers_Some_Interface): New subprogram.
2003         (Check_Dispatching_Operation): Extend assertion to handle wrappers of
2004         null interface primitives.
2005         (Is_Null_Interface_Primitive): New subprogram.
2006         * exp_ch3.adb (Make_Null_Procedure_Specs): Removed.
2007         (Expand_Freeze_Record_Type): Do not generate specs of null interface
2008         subprograms because they are now generated by Analyze_Freeze_Entity.
2009
2010 2010-09-09  Robert Dewar  <dewar@adacore.com>
2011
2012         * a-calfor.adb, sem_ch3.adb: Minor reformatting.
2013
2014 2010-09-09  Robert Dewar  <dewar@adacore.com>
2015
2016         * bindgen.adb (Gen_Restrictions_Ada): Avoid explicit enumeration ranges
2017         (Gen_Restrictions_C): Avoid explicit enumeration ranges
2018         (Set_String_Replace): New procedure
2019         * casing.ads (Known_Casing): New subtype declaration
2020         * prj-attr.ads (All_Case_Insensitive_Associative_Array): New subtype
2021         declaration
2022         * prj-dect.adb (Parse_Attribute_Declaration): Avoid enumeration range
2023         * prj-nmsc.adb (Check_Naming): Avoid unnecessary enumeration range
2024         * prj-strt.adb (Attribute_Reference): Avoid enumeration range test
2025         * prj.adb (Known_Casing): Moved to Casing spec (avoid enum range)
2026         * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Avoid enumeration
2027         ranges
2028         * sem_res.adb (Resolve_Range): Check for enumeration subrange style rule
2029         * sem_type.adb (Is_Array_Class_Record_Type): New.
2030         * style.ads (Check_Enumeration_Subrange): New procedure
2031         * styleg.adb (Check_Enumeration_Subrange): New procedure
2032         * styleg.ads (Check_Enumeration_Subrange): New procedure
2033         * stylesw.adb Add handling for Style_Check_Enumeration_Subranges
2034         * stylesw.ads (Style_Check_Enumeration_Subranges): New flag
2035         * usage.adb: Add line for -gnatyE
2036         * vms_data.ads: Add entries for [NO]ENUMERATION_RANGES
2037         Add missing entry for NOBOOLEAN_OPERATORS
2038         * gnat_ugn.texi: Add documentation for -gnatyE
2039
2040 2010-09-09  Robert Dewar  <dewar@adacore.com>
2041
2042         * namet.adb (Initialize): Is now a dummy procedure
2043         (Reinitialize): New procedure
2044         Call Reinitialize from package initialization
2045         * namet.ads (Initialize): Is now a dummy procedure
2046         (Reinitialize): New procedure
2047         * clean.adb, gnat1drv.adb, gnatbind.adb, gnatcmd.adb, gnatlink.adb,
2048         gnatls.adb, gprep.adb, make.adb, prj-makr.adb: Remove obsolete call to
2049         Namet.Initialize.
2050
2051 2010-09-09  Bob Duff  <duff@adacore.com>
2052
2053         * sem_elab.adb, s-os_lib.ads: Minor comment fixes.
2054
2055 2010-09-09  Robert Dewar  <dewar@adacore.com>
2056
2057         * s-bitops.adb (Raise_Error): Add exception message
2058
2059 2010-09-09  Robert Dewar  <dewar@adacore.com>
2060
2061         * par-ch5.adb (Test_Statement_Required): Deal with Ada 2012 allowing no
2062         null statement after label.
2063         * sinfo.ads: Minor comment updates.
2064
2065 2010-09-09  Robert Dewar  <dewar@adacore.com>
2066
2067         * nlists.ads, nlists.adb (In_Same_List): New function.
2068         Use Node_Or_Entity_Id where appropriate.
2069         * par-labl.adb, sem_ch6.adb, sem_type.adb: Use In_Same_List.
2070
2071 2010-09-09  Robert Dewar  <dewar@adacore.com>
2072
2073         * restrict.ads, restrict.adb (Check_Wide_Character_Restriction): New
2074         procedure.
2075         * sem_ch3.adb: Use Check_Wide_Character_Restriction
2076         (Enumeration_Type_Declaration): Check violation of No_Wide_Characters
2077         * sem_ch8.adb (Find_Direct_Name): Check violation of No_Wide_Characters
2078         (Find_Expanded_Name): Check violation of No_Wide_Characters
2079
2080 2010-09-09  Robert Dewar  <dewar@adacore.com>
2081
2082         * par-ch5.adb: Minor reformatting.
2083
2084 2010-09-09  Robert Dewar  <dewar@adacore.com>
2085
2086         * prj-env.adb: Minor code reorganization.
2087         * par-ch3.adb: Minor reformatting.
2088         * gcc-interface/Make-lang.in: Update dependencies.
2089
2090 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
2091
2092         * exp_ch9.adb (Build_Activation_Chain_Entity): The construct enclosing
2093         a task declaration can be an entry body.
2094
2095 2010-09-09  Javier Miranda  <miranda@adacore.com>
2096
2097         * exp_disp.adb (Make_DT): Decorate as "static" variables containing
2098         tags of library level tagged types.
2099         (Make_Tags): Disable backend optimizations about aliasing for
2100         declarations of access to dispatch tables.
2101
2102 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
2103
2104         * sem_ch12.adb (Reset_Entity): If the entity is an itype created as a
2105         subtype for a null-excluding access type, recover the original
2106         subtype_mark to get the proper visibility on the original name.
2107
2108 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
2109
2110         * exp_ch3.adb (Build_Untagged_Equality): For Ada2012, new procedure to
2111         create the primitive equality operation for an untagged record. The
2112         operation is the predefined equality if no record component has a
2113         user-defined equality, or if there is a user-defined equality for the
2114         type as a whole, or when the type is derived and it has an inherited
2115         equality. Otherwise the body of the operations is built as for tagged
2116         types.
2117         (Expand_Freeze_Record_Type): Call Build_Untagged_Equality when needed.
2118         (Make_Eq_Body): New function to create the expanded body of the equality
2119         operation for tagged and untagged records.  In both cases the operation
2120         composes, and the primitive operation of each record component is used
2121         to generate the equality function for the type.
2122         * exp_ch4.adb (Expand_Composite_Equality): In Ada2012, if a component
2123         has an abstract equality defined, replace its call with a
2124         Raise_Program_Error.
2125         * sem_ch6.adb (New_Overloaded_Entity): if Ada2012, verify that a
2126         user-defined equality operator for an untagged record type does not
2127         happen after type is frozen, and appears in the visible part if partial
2128         view of type is not limited.
2129
2130 2010-09-09  Tristan Gingold  <gingold@adacore.com>
2131
2132         * gnatlbr.adb: Make Create_Directory more portable: use __gnat_mkdir.
2133
2134 2010-09-09  Bob Duff  <duff@adacore.com>
2135
2136         * gnat_ugn.texi: Remove incorrect statement about -E being the default.
2137
2138 2010-09-09  Pascal Obry  <obry@adacore.com>
2139
2140         * gnat_ugn.texi: Update doc on windows related topics.
2141
2142 2010-09-09  Geert Bosch  <bosch@adacore.com>
2143
2144         * s-fatgen.adb: Update comments.
2145
2146 2010-09-09  Robert Dewar  <dewar@adacore.com>
2147
2148         * par-ch4.adb (Box_Error): New procedure.
2149
2150 2010-09-09  Thomas Quinot  <quinot@adacore.com>
2151
2152         * sem.adb: Minor reformatting.
2153
2154 2010-09-09  Pascal Obry  <obry@adacore.com>
2155
2156         * prj-env.adb: Style fix, use /and then/ and /or else/.
2157         * gnat_ugn.texi: Fix typos.
2158
2159 2010-09-03  Joseph Myers  <joseph@codesourcery.com>
2160
2161         PR ada/45499
2162         * gcc-interface/misc.c (gnat_init_options): Allow options with
2163         empty canonical form.  Generate a single save_argv element from -I
2164         options.
2165
2166 2010-08-30  Eric Botcazou  <ebotcazou@adacore.com>
2167
2168         * gcc-interface/utils.c (gnat_pushdecl): Remove test for PARM_DECLs.
2169         Attach fake PARM_DECLs to the topmost block of the function.
2170
2171 2010-08-30  Eric Botcazou  <ebotcazou@adacore.com>
2172
2173         * gcc-interface/trans.c (call_to_gnu): Also force the return slot opt
2174         for the call to a function whose return type was unconstrained.
2175
2176 2010-08-30  Olivier Hainque  <hainque@adacore.com>
2177
2178         * gcc-interface/decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro,
2179         replacement for FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
2180         (gnat_to_gnu_entity) <case ..., E_Procedure>: Use it.
2181
2182 2010-08-21  Eric Botcazou  <ebotcazou@adacore.com>
2183
2184         * tracebak.c: Fix typo in comment.
2185
2186 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
2187
2188         * gcc-interface/decl.c: Use FOR_EACH_VEC_ELT.
2189         * gcc-interface/trans.c: Likewise.
2190         * gcc-interface/utils.c: Likewise.
2191
2192 2010-08-18  Eric Botcazou  <ebotcazou@adacore.com>
2193
2194         * tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
2195
2196 2010-08-10  Robert Dewar  <dewar@adacore.com>
2197
2198         * sem_ch8.adb, sem_ch8.ads: Change name Write_Scopes to ws.
2199         * sem_util.adb: Minor reformatting.
2200
2201 2010-08-10  Javier Miranda  <miranda@adacore.com>
2202
2203         * sem_aggr.adb (Resolve_Extension_Aggregate): Warn on the use of C++
2204         constructors that leave the object partially initialized.
2205         * exp_atag.ads, exp_atags.adb (Build_Inherit_CPP_Prims): New subprogram
2206         that copies from parent of Typ the dispatch table slots of inherited
2207         C++ primitives. It handles primary and secondary dispatch tables.
2208         * einfo.adb (Related_Type): Moved from Node26 to Node27. Required to
2209         use this attribute with E_Variable entities.
2210         (Set_Is_Tag): Relax assertion to allow its use with variables that
2211         store tags.
2212         (Set_Related_Type): Relax assertion to allow its use with variables
2213         that store the tag of a C++ class.
2214         (Write_26_Field_Name): Remove Related_Type.
2215         (Write_27_Field_Name): Add Related_Type.
2216         * einfo.ads (Related_Type): Moved from Node26 to Node27. Available also
2217         with E_Variable entities.
2218         * sem_prag.adb (CPP_Constructor): Warn on duplicated occurrence of this
2219         pragma.
2220         * sem_util.adb (Search_Tag): Add missing support for CPP types.
2221         (Enclosing_CPP_Parent): New subprogram.
2222         (Has_Suffix): New subprogram.
2223         * sem_util.ads (Enclosing_CPP_Parent): New subprogram that returns the
2224         closest ancestor of a type that is a C++ type.
2225         (Has_Suffix): New subprogram. Used in assertions to check the suffix of
2226         internal entities.
2227         * sem_attr.adb (Analyze_Access_Attribute): Check wrong use of current
2228         instance in derivations of C++ types.
2229         * exp_tss.adb (CPP_Init_Proc): New subprogram.
2230         (Is_CPP_Init_Proc): New subprogram.
2231         (Set_TSS): Handle new C++ init routines.
2232         * exp_tss.ads (TSS_CPP_Init): New TSS name. For initialization of C++
2233         dispatch tables.
2234         (CPP_Init_Proc): New subprogram.
2235         (Is_CPP_Init_Proc): New subprogram.
2236         * exp_disp.adb (CPP_Num_Prims): New subprogram.
2237         (Has_CPP_Constructors): New subprogram.
2238         (Make_Secondary_DT, Make_DT): For derivations of CPP types, do not
2239         initialize slots located in the C++ part of the dispatch table.
2240         (Make_Tags): For CPP types declare variables used by the IP routine to
2241         store the C++ tag values after the first invocation of the C++
2242         constructor.
2243         (Build_CPP_Init_DT): New subprogram.
2244         (Set_CPP_Constructors): New implementation that builds an IP for each
2245         CPP constructor. These IP are wrappers of the C++ constructors that,
2246         after the first invocation of the constructor, read the C++ tags from
2247         the object and save them locally. These copies of the C++ tags are used
2248         by the IC routines to initialize tables of Ada derivations of CPP types.
2249         (Write_DT): Indicate what primitives are imported from C++
2250         * exp_disp.ads (CPP_Num_Prims): New subprogram.
2251         (Has_CPP_Constructors): New subprogram.
2252         * exp_aggr.adb (Build_Record_Aggr_Code): For derivations of C++ types
2253         invoke the IC routine to inherit the slots of the parents.
2254         * sem_ch13.adb (Analyze_Freeze_Entity): Add new warnings on CPP types.
2255         * exp_ch3.adb (Is_Variable_Size_Array): New subprogram.
2256         (Is_Variable_Size_Record): Factorize code calling
2257         Is_Variable_Size_Array.
2258         (Build_CPP_Init_Procedure): New subprogram that builds the tree
2259         corresponding to the procedure that initializes the C++ part of the
2260         dispatch table of an Ada tagged type that is a derivation of a CPP type.
2261         (Build_Init_Procedure): Adding documentation plus code reorganization to
2262         leave more clear the construction of the IP with C++ types.
2263         (Expand_Freeze_Record_Type): Delay call to Set_CPP_Constructors because
2264         it cannot be called after Make_Tags has been invoked.
2265         (Inherit_CPP_Tag): Removed.
2266         (Init_Secondary_Tags): For derivations of CPP types, warn on tags
2267         located at variable offset.
2268         * freeze.ads: Minor reformating.
2269         * sem_ch8.adb (Write_Scopes): Add pragma export. Required to have it
2270         available in gdb.
2271         * gcc-interface/Make-lang.in: Update dependencies.
2272
2273 2010-08-10  Robert Dewar  <dewar@adacore.com>
2274
2275         * a-chahan.ads: Add comments on handling of obsolescent entries.
2276         * opt.ads: Add Ada_2005 and Ada_2012 renamings for versions.
2277         * restrict.adb (Check_Obsolescent_2005_Entity): New procedure.
2278         * restrict.ads (Check_Obsolescent_2005_Entity): New procedure.
2279         * sem_attr.adb (Analyze_Access_Attribute): Call
2280         Check_Obsolescent_2005_Entity to check for access to obsolescent
2281         Ada.Characters.Handling subprogram.
2282         (Analyze_Attribute, case Class): Applying Class to untagged incomplete
2283         type is obsolescent in Ada 2005.
2284         (Analyze_Attribute, case Constrained): Better placement of flag when
2285         flagged as obsolescent feature.
2286         (Analyze_Attribute, case Storage_Size): Use with tasks is obsolescent
2287         * sem_ch10.adb (Analyze_With_Clause): With of renamings such as Text_IO
2288         is an obsolescent feature.
2289         * sem_ch11.adb (Analyze_Raise_Statement): Numeric_Error is obsolescent
2290         feature.
2291         * sem_ch8.adb (Analyze_Subprogram_Renaming): Call
2292         Check_Obsolescent_2005_Entity to check for renaming obsolete
2293         Ada.Characters.Handling subprogram.
2294         * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Check
2295         for obsolescent restrictions in Ada 2005.
2296         (Analyze_Pragma, case Suppress): Entity arg is obsolescent in Ada 2005
2297         (Analyze_Pragma, case Interface): Interface is obsolescent in Ada 2005
2298         * sem_res.adb (Resolve_Call): Call Check_Obsolescent_2005_Entity to
2299         check for obsolescent references to Ada.Characters.Handling subprograms
2300
2301 2010-08-10  Robert Dewar  <dewar@adacore.com>
2302
2303         * einfo.adb, einfo.ads: Fix bad -gnatdt output for incomplete type.
2304
2305 2010-08-10  Robert Dewar  <dewar@adacore.com>
2306
2307         * errout.ads: Add VMS table entries for 2005, 12, 2012 switches
2308         * par-ch4.adb: Change wording of Ada 2012 messages
2309         * vms_data.ads: Add VMS entries for /2005, /12, /2012
2310
2311 2010-08-10  Robert Dewar  <dewar@adacore.com>
2312
2313         * a-suenco.adb (Convert): Fix bug in UTF-16 to UTF-8 conversion for
2314         codes in the range 16#80#..16#7FF#.
2315         * sem_ch10.adb: Minor reformatting.
2316
2317 2010-08-10  Arnaud Charlet  <charlet@adacore.com>
2318
2319         * gnat1drv.adb (Scan_Front_End_Switches): Always perform semantics and
2320         generate ali files in CodePeer mode, so that a gnatmake -c -k will
2321         proceed further when possible
2322         * freeze.adb (Freeze_Static_Object): Fix thinko. Do not generate error
2323         messages when ignoring representation clauses (-gnatI).
2324
2325 2010-08-10  Ed Schonberg  <schonberg@adacore.com>
2326
2327         * exp_ch4.adb (Expand_N_Selected_Component): Do not attempt to
2328         constant-fold discriminant reference if the constraint is an object
2329         with non-static expression. Expression may contain volatile references
2330         in the presence of renamings.
2331
2332 2010-08-10  Vincent Celier  <celier@adacore.com>
2333
2334         * prj-proc.adb (Get_Attribute_Index): If Index is All_Other_Names,
2335         returns Index.
2336         * prj-strt.adb (Attribute_Reference): Recognize 'others' as a valid
2337         index for an associative array where it is allowed.
2338
2339 2010-08-10  Thomas Quinot  <quinot@adacore.com>
2340
2341         * exp_attr.adb: Add comments.
2342
2343 2010-08-10  Jerome Lambourg  <lambourg@adacore.com>
2344
2345         * adaint.c (__gnat_get_file_names_case_sensitive): return 0 on darwin.
2346
2347 2010-08-09  Nathan Froyd  <froydnj@codesourcery.com>
2348
2349         * gcc-interface/utils.c (gnat_poplevel): Use blocks_nreverse.
2350
2351 2010-08-09  Eric Botcazou  <ebotcazou@adacore.com>
2352
2353         * gcc-interface/utils.c (build_vms_descriptor32): Fix formatting.
2354         (build_vms_descriptor): Likewise.
2355
2356 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2357
2358         * gcc-interface/utils.c (make_descriptor_field): Add tree parameter.
2359         (build_vms_descriptor32): Adjust calls to it for new parameter.
2360         (build_vms_descriptor): Likewise.
2361
2362 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
2363
2364         * gcc-interface/decl.c (rec_variant):  Declare.  Declare a VEC of it.
2365         (build_variant_list): Take and return a VEC instead of a tree.
2366         (create_variant_part_from): Take a VEC instead of a tree for
2367         variant_list.  Adjust accordingly.
2368         (gnat_to_gnu_entity): Adjust for changes to previous functions.
2369
2370 2010-08-07  Nathan Froyd  <froydnj@codesourcery.com>
2371
2372         * gcc-interface/decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead
2373         of alloca.
2374         (components_to_record): Likewise.
2375         * gcc-interface/trans.c (gnat_to_gnu): Likewise.
2376         * gcc-interface/utils.c (max_size): Likewise.
2377         (build_vms_descriptor32): Likewise.
2378         (build_vms_descriptor): Likewise.
2379
2380 2010-08-07  Nathan Froyd  <froydnj@codesourcery.com>
2381
2382         * gcc-interface/decl.c (subst_pair): Declare.  Declare a VEC of it.
2383         (build_subst_list): Return a VEC instead of a tree.
2384         (build_variant_list): Take a VEC for subst_list.  Adjust
2385         accordingly.
2386         (create_field_decl_from): Likewise.
2387         (create_variant_part_from): Likewise.
2388         (copy_and_substitute_in_size): Likewise.
2389         (gnat_to_gnu_entity): Adjust for new interface to build_subst_list.
2390         Free the built vector.
2391
2392 2010-08-06  Eric Botcazou  <ebotcazou@adacore.com>
2393
2394         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not build an
2395         allocator for large imported objects.
2396
2397 2010-08-05  Robert Dewar  <dewar@adacore.com>
2398
2399         * gnat1drv.adb: Minor reformatting.
2400
2401 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
2402
2403         * sem.adb (Do_Unit_And_Dependents): If some parent unit is an
2404         instantiation, process its body before the spec of the main unit,
2405         because it may contain subprograms invoked in the spec of main.
2406         * einfo.ads: Add documention of delayed freeze.
2407
2408 2010-08-05  Vincent Celier  <celier@adacore.com>
2409
2410         * prj-nmsc.adb (Process_Linker): Take into account new values for
2411         attribute Response_File_Format.
2412         * prj.ads (Response_File_Format): New enumeration values GCC_GNU,
2413         GCC_Object_List and GCC_Option_List.
2414
2415 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
2416
2417         * exp_ch4.adb (Expand_N_Selected_Component): Do not constant-fold a
2418         selected component that denotes a discriminant if it is the
2419         discriminant of a component of an unconstrained record type.
2420
2421 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
2422
2423         * exp_util.adb (Insert_Actions): If the action appears within a
2424         conditional expression that is already analyzed, insert action further
2425         out.
2426
2427 2010-08-05  Robert Dewar  <dewar@adacore.com>
2428
2429         * exp_ch4.adb: Minor reformatting.
2430
2431 2010-08-05  Thomas Quinot  <quinot@adacore.com>
2432
2433         * exp_ch4.adb: Minor reformatting
2434         * gnat1drv.adb: Minor reformatting.
2435         Minor code reorganization (use Nkind_In).
2436
2437 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
2438
2439         * exp_util.ads, exp_util.adb (Needs_Constant_Address): New predicate to
2440         determine whether the expression in an address clause for an
2441         initialized object must be constant. Code moved from freeze.adb.
2442         (Remove_Side_Effects): When the temporary is initialized with a
2443         reference, indicate that the temporary is a constant as done in all
2444         other cases.
2445         * freeze.adb (Check_Address_Clause): use Needs_Constant_Address.
2446         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
2447         If object does not need a constant address, remove side effects from
2448         address expression, so it is elaborated at the point of the address
2449         clause and not at the freeze point of the object, so that elaboration
2450         order is respected.
2451
2452 2010-08-05  Vincent Celier  <celier@adacore.com>
2453
2454         * prj.adb (Is_Compilable): Return False for header files of non Ada
2455         languages.
2456
2457 2010-08-05  Emmanuel Briot  <briot@adacore.com>
2458
2459         * prj-nmsc.adb: The Missing_Source_Files flag also considers a missing
2460         exec directory as a warning rather than an error.
2461
2462 2010-08-05  Thomas Quinot  <quinot@adacore.com>
2463
2464         * sem_ch6.adb, gnat1drv.adb, exp_ch6.adb, sem_eval.adb: Minor
2465         reformatting.
2466
2467 2010-08-05  Steve Baird  <baird@adacore.com>
2468
2469         * exp_util.adb (Remove_Side_Effects): An access value which designates
2470         a volatile object of a nonvolatile type is prohibited.
2471         Do not call Make_Reference to construct a reference to such an object.
2472
2473 2010-08-05  Robert Dewar  <dewar@adacore.com>
2474
2475         * a-suezse.adb, a-suezse.ads, a-suezen.adb, a-suezen.ads: Removed.
2476         * a-suewse.adb, a-suewse.ads, a-suesen.adb, a-suesen.ads,
2477         a-suewen.adb, a-suewen.ads: New files.
2478         * Makefile.rtl, impunit.adb: Update implementation of Ada 2012 string
2479         encoding packages.
2480         * sem_elab.adb: Minor reformatting.
2481
2482 2010-08-05  Arnaud Charlet  <charlet@adacore.com>
2483
2484         * sem_ch8.adb (Use_One_Type): Protect against empty scopes.
2485         * exp_util.adb (Component_May_Be_Bit_Aligned): Prevent assert failure
2486         in case of null Comp.
2487
2488 2010-08-05  Robert Dewar  <dewar@adacore.com>
2489
2490         * errout.adb, a-suewen.adb, a-suezen.adb: Minor reformatting.
2491
2492 2010-08-05  Gary Dismukes  <dismukes@adacore.com>
2493
2494         * sem_ch4.adb (Analyze_Allocator): Flag errors on allocators of a
2495         nested access type whose designated type has tasks or is a protected
2496         object when the restrictions No_Task_Hierarchy or
2497         No_Local_Protected_Objects apply. Add ??? comment.
2498         * sem_ch9.adb (Analyze_Protected_Type): Give a warning when a protected
2499         type is not a library-level type and No_Local_Protected_Objects applies.
2500         (Analyze_Task_Type): Give a warning when a task type is not a
2501         library-level type and No_Task_Hierarchy applies.
2502
2503 2010-08-05  Arnaud Charlet  <charlet@adacore.com>
2504
2505         * sem.adb: Minor reformatting
2506         * sem_ch4.adb (Analyze_Reference): Disable error message in CodePeer
2507         mode, not useful.
2508
2509 2010-08-04  Eric Botcazou  <ebotcazou@adacore.com>
2510
2511         * gcc-interface/decl.c: Do not undefine IN_GCC_FRONTEND and do not
2512         include expr.h.
2513         (gnat_to_gnu_entity) <object>: Force address of -1 at the tree level
2514         for the debug-only entity.
2515         * gcc-interface/Make-lang.in (ada/decl.o): Adjust dependencies.
2516
2517 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
2518
2519         * gcc-interface/lang-specs.h: Don't pass -a options.
2520
2521 2010-07-28  Joseph Myers  <joseph@codesourcery.com>
2522
2523         * gcc-interface/misc.c (gnat_init_options): Ignore erroneous
2524         options.  Check canonical_option_num_elements on options copied.
2525
2526 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2527
2528         * gcc-interface/misc.c (gnat_handle_option): Update prototype and
2529         return value type.  Don't check for missing arguments here.
2530
2531 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
2532
2533         * gcc-interface/misc.c (gnat_option_lang_mask): New.
2534         (gnat_init_options): Update prototype.  Reconstruct argv array
2535         from decoded options.
2536
2537 2010-07-23  Eric Botcazou  <ebotcazou@adacore.com>
2538
2539         * gcc-interface/utils.c (update_pointer_to): In the unconstrained array
2540         case, merge the alias set of the old pointer type.
2541
2542 2010-07-23  Eric Botcazou  <ebotcazou@adacore.com>
2543
2544         * gcc-interface/utils.c (gnat_types_compatible_p): Revert latest change
2545         and recurse only for multidimensional array types instead.
2546
2547 2010-07-22  Eric Botcazou  <ebotcazou@adacore.com>
2548
2549         PR ada/44892
2550         * gcc-interface/utils.c (convert): Fix thinko in test.
2551         (unchecked_convert): When converting from a scalar type to a type with
2552         a different size, pad to have the same size on both sides.
2553
2554 2010-07-22  Eric Botcazou  <ebotcazou@adacore.com>
2555
2556         * gcc-interface/utils.c (gnat_types_compatible_p): Don't require strict
2557         equality for the component type of array types.
2558
2559 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
2560
2561         * gcc-interface/decl.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
2562         * gcc-interface/trans.c: Likewise.
2563         * gcc-interface/utils.c: Likewise.
2564         * gcc-interface/utils2.c: Likewise.
2565
2566 2010-07-13  Laurent GUERBY  <laurent@guerby.net>
2567
2568         PR bootstrap/44458
2569         * gcc-interface/targtyps.c: Include tm_p.h.
2570         * gcc-interface/Make-lang.in: Update dependencies.
2571
2572 2010-07-09  Eric Botcazou  <ebotcazou@adacore.com>
2573
2574         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
2575         CALL_EXPR.
2576
2577 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2578
2579         * gcc-interface/utils.c: Include diagnostic-core.h in every file
2580         that includes toplev.h.
2581
2582 2010-07-03  Eric Botcazou  <ebotcazou@adacore.com>
2583
2584         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
2585         Branch to common code handling the alignment of discrete types.
2586         <E_Signed_Integer_Type>: Likewise.
2587         <E_Modular_Integer_Type>: Likewise.
2588
2589 2010-07-02  Eric Botcazou  <ebotcazou@adacore.com>
2590
2591         * gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
2592         (gnat_handle_option): Allocate only one element for gnat_argv.
2593         (gnat_init): Do not populate gnat_argv.
2594
2595 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2596
2597         * gcc-interface/trans.c: Do not include tree-flow.h.
2598         * gcc-interface/Make-lang.in: Adjust dependencies.
2599
2600 2010-06-29  Nathan Froyd  <froydnj@codesourcery.com>
2601
2602         * gcc-interface/gigi.h (gnat_build_constructor): Take a VEC instead
2603         of a TREE_LIST.  Update comment.
2604         * gcc-interface/trans.c (gigi): Build a VEC instead of a TREE_LIST.
2605         Adjust call to gnat_build_constructor.
2606         (Attribute_to_gnu): Likewise.
2607         (gnat_to_gnu): Likewise.
2608         (pos_to_constructor): Likewise.
2609         (extract_values): Likewise.
2610         * gcc-interface/utils.c (build_template): Likewise.
2611         (convert_vms_descriptor64): Likewise.
2612         (convert_vms_descriptor32): Likewise.
2613         (convert_to_fat_pointer): Likewise.
2614         (convert): Likewise.
2615         (unchecked_convert): Likewise.
2616         * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
2617         * gcc-interface/utils2.c (build_allocator): Likewise.
2618         (fill_vms_descriptor): Likewise.
2619         (gnat_build_constructor): Take a VEC instead of a TREE_LIST.
2620         (compare_elmt_bitpos): Adjust for parameters being constructor_elts
2621         instead of TREE_LISTs.
2622
2623 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
2624
2625         * gcc-interface/misc.c: Do not include except.h.
2626         * gcc-interface/Make-lang.in: Update dependencies.
2627
2628 2010-06-27  Eric Botcazou  <ebotcazou@adacore.com>
2629
2630         * gcc-interface/trans.c: Include tree-flow.h.
2631         (gnu_switch_label_stack): Delete.
2632         (Case_Statement_to_gnu): Do not emit the goto at the end of a case if
2633         its associated block cannot fall through.  Do not emit the final label
2634         if no cases branch to it.
2635         * gcc-interface/Make-lang.in (ada/trans.o): Add $(TREE_FLOW_H).
2636
2637 2010-06-23  Thomas Quinot  <quinot@adacore.com>
2638
2639         * exp_attr.adb (Expand_Access_To_Protected_Op): When rewriting a
2640         reference to a protected subprogram outside of the protected's scope,
2641         ensure the corresponding external subprogram is frozen before the
2642         reference.
2643
2644 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2645
2646         * sem_prag.adb: Fix typo in error message.
2647         * sem.adb: Refine previous change.
2648
2649 2010-06-23  Robert Dewar  <dewar@adacore.com>
2650
2651         * impunit.adb, a-suewen.adb, a-suewen.ads, a-suenco.adb, a-suenco.ads,
2652         a-suezen.adb, a-suezen.ads, a-stuten.adb, a-stuten.ads, Makefile.rtl:
2653         Implement Ada 2012 string encoding packages.
2654
2655 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
2656
2657         * a-stwiun-shared.adb, a-stwiun-shared.ads, a-stzunb-shared.adb,
2658         a-stzunb-shared.ads, a-swunau-shared.adb, a-swuwti-shared.adb,
2659         a-szunau-shared.adb, a-szuzti-shared.adb, a-strunb-shared.adb,
2660         a-strunb-shared.ads, a-stunau-shared.adb, a-suteio-shared.adb: New
2661         files.
2662         * gcc-interface/Makefile.in: Enable use of above files.
2663
2664 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2665
2666         * sem_ch13.adb (Check_Constant_Address_Clauses): Do not check legality
2667         of address clauses if if Ignore_Rep_Clauses is active.
2668         * freeze.adb (Check_Address_Clause): If Ignore_Rep_Clauses is active,
2669         remove address clause from tree so that it does not reach the backend.
2670
2671 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
2672
2673         * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]): Do not
2674         expand 'Valid from user code in CodePeer mode, will be handled by the
2675         back-end directly.
2676
2677 2010-06-23  Bob Duff  <duff@adacore.com>
2678
2679         * g-comlin.ads: Minor comment improvements.
2680
2681 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2682
2683         * sem_res.adb (Uses_SS): The expression that initializes a controlled
2684         component of a record type may be a user-defined operator that is
2685         rewritten as a function call.
2686
2687 2010-06-23  Bob Duff  <duff@adacore.com>
2688
2689         * g-comlin.ads, sem_ch13.adb: Minor comment fix.
2690
2691 2010-06-23  Eric Botcazou  <ebotcazou@adacore.com>
2692
2693         * exp_ch11.adb (Expand_Local_Exception_Handlers): Propagate the end
2694         label to the new sequence of statements.  Set the sloc of the raise
2695         statement onto the new goto statements.
2696
2697 2010-06-23  Robert Dewar  <dewar@adacore.com>
2698
2699         * a-stuten.ads, a-stuten.adb: New files.
2700         * impunit.adb: Add engtry for Ada.Strings.UTF_Encoding (a-stuten.ads)
2701         * Makefile.rtl: Add entry for a-stuten (Ada.Strings.UTF_Encoding)
2702
2703 2010-06-23  Robert Dewar  <dewar@adacore.com>
2704
2705         * gnat_ugn.texi: Add documentation of -gnat12 switch
2706         Add documentation of -gnatX switch.
2707
2708 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2709
2710         * inline.ads: Include the current Ada_Version in the info for pending
2711         instance bodies, so that declaration and body are compiled with the
2712         same Ada_Version.
2713         * inline.adb: Move with_clause for Opt to spec.
2714         * sem_ch12.adb (Analyze_Package_Instantiation,
2715         Analyze_Subprogram_Instantiation): Save current Ada_Version in
2716         Pending_Instantiation information.
2717         (Instantiate_Package_Body, Instantiate_Subprogram_Body,
2718         Inline_Package_Body): Use the Ada_Version present in the body
2719         information.
2720
2721 2010-06-23  Robert Dewar  <dewar@adacore.com>
2722
2723         * usage.adb: Add documentation for -gnat12 switch.
2724         * errout.ads: Add VMS alias entry for -gnat12 switch
2725         * gnat_rm.texi: Add documentation for pragma Ada_12 and Ada_2012
2726         Add documentation for pragma Extensions_Allowed.
2727         * opt.ads: Add entry for Ada 2012 mode.
2728         * sem_ch4.adb, par-ch3.adb, par-ch4.adb: Use new Ada 2012 mode for 2012
2729         features.
2730         * sem_prag.adb, par-prag.adb: Add processing for pragma Ada_12 and
2731         Ada_2012.
2732         * sem_ch13.adb: Add handling for Ada 2012 mode.
2733         * snames.ads-tmpl: Add entries for pragma Ada_2012 and Ada_12.
2734         * switch-c.adb: Add handling for -gnat12 switch.
2735         Implement -gnat2005 and -gnat2012.
2736         * usage.adb: Add documentation for -gnat12 switch.
2737         * vms_data.ads: Add /12 switch for Ada 2012 mode.
2738
2739 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
2740
2741         * exp_ch4.adb (Expand_N_Allocator): Fix potential crash when using
2742         No_Task_Hierarchy restriction. Add comment.
2743         * exp_ch9.adb, exp_ch3.adb: Update comments.
2744
2745 2010-06-23  Robert Dewar  <dewar@adacore.com>
2746
2747         * sem_ch5.adb (Process_Bounds): Remove some junk initializations.
2748         * sem_res.adb: Add comments.
2749         * sem_util.adb: Minor reformatting. Add comments.
2750         Change increment on Actuals_In_Call table.
2751         * opt.ads: Minor: add 'constant'.
2752
2753 2010-06-23  Javier Miranda  <miranda@adacore.com>
2754
2755         * exp_disp.adb (Make_DT): Initialize the Size_Func component of the
2756         TSD to Null_Address if No_Dispatching_Calls is active.
2757
2758 2010-06-23  Vincent Celier  <celier@adacore.com>
2759
2760         * a-comlin.ads: Indicate that use of this package is not supported
2761         during the elaboration of an auto-initialized Stand-Alone Library.
2762
2763 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2764
2765         * exp_util.adb (Is_Possibly_Misaligned_Object): Do not rely on an
2766         alignment clause on a record type to determine if a component may be
2767         misaligned. The decision must be taken in the back-end where target
2768         alignment information is known.
2769
2770 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
2771
2772         * gnat1drv.adb (Adjust_Global_Switches): Enable some restrictions
2773         systematically in CodePeer mode to simplify generated code.
2774         * restrict.adb (Check_Restriction): Do nothing in CodePeer mode.
2775         * exp_ch4.adb (Expand_N_Allocator): Generate proper code when
2776         No_Task_Hierarchy is set instead of crasshing.
2777
2778 2010-06-23  Thomas Quinot  <quinot@adacore.com>
2779
2780         * sem_util.adb: Minor code cleanup: test for proper entity instead of
2781         testing just Chars attribute when checking whether a given scope is
2782         System.
2783         * exp_ch4.adb, einfo.adb: Minor reformatting.
2784
2785 2010-06-23  Vincent Celier  <celier@adacore.com>
2786
2787         PR ada/44633
2788         * switch-m.adb (Normalize_Compiler_Switches): Take into account
2789         switches -gnatB, -gnatD=nn, -gnatG (incuding -gnatG=nn), -gnatI,
2790         -gnatl=file, -gnatS, -gnatjnn, -gnateI=nn and -gnatWx.
2791
2792 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2793
2794         * sem_res.adb (Resolve_Membership_Op): If left operand is a mixed mode
2795         operation with a universal real operand, and the right operand is a
2796         range with universal bounds, find unique fixed point that may be
2797         candidate, and warn appropriately.
2798
2799 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2800
2801         * sem_res.adb (Resolve_Intrinsic_Operator): Add guards to handle
2802         properly the rare cases where VMS operators are visible through
2803         Extend_System, but the default System is being used and Address is a
2804         private type.
2805         * sem_util.adb: Widen predicate Is_VMS_Operator.
2806
2807 2010-06-23  Vincent Celier  <celier@adacore.com>
2808
2809         * switch-m.adb (Normalize_Compiler_Switches): Take into account -gnatC
2810         and -gnateS.
2811
2812 2010-06-23  Olivier Hainque  <hainque@adacore.com>
2813
2814         * einfo.adb (Has_Foreign_Convention): Consider Intrinsic with
2815         Interface_Name as foreign. These are GCC builtin imports for
2816         which Ada specific processing doesn't apply.
2817
2818 2010-06-23  Thomas Quinot  <quinot@adacore.com>
2819
2820         * sem_ch12.adb: Minor reformatting.
2821
2822 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2823
2824         * sem_util.adb (Is_VMS_Operator): Use scope of system extension to
2825         determine whether an intrinsic subprogram is VMS specific.
2826
2827 2010-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
2828
2829         * treepr.adb (Print_Entity_Info): Output the contents of Field28 if it
2830         is present in the entity.
2831
2832 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
2833
2834         * xr_tabls.adb, xref_lib.adb: Update to latest lib-xref.ads
2835         Fix handling of parameters.
2836         Add protection against unexpected cases.
2837         * sem_ch6.adb (Create_Extra_Formals): Use suffix "L" instead of "A" for
2838         access level, since "A" suffix is already used elsewhere. Similarly,
2839         use suffix "O" instead of "C" for 'Constrained since "C" suffix is used
2840         for xxx'Class.
2841
2842 2010-06-23  Thomas Quinot  <quinot@adacore.com>
2843
2844         * sem_util.adb, sem_util.ads: Minor reformatting.
2845
2846 2010-06-23  Vincent Celier  <celier@adacore.com>
2847
2848         * prj.ads (Gprclean_Flags.Missing_Source_Files): Set to Error to keep
2849         the previous behavior of gprclean when there are missing files.
2850
2851 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2852
2853         * sem_ch12.adb (Load_Body_Of_Generic): In CodePeer mode, a missing
2854         generic body is not a fatal error.
2855         (Mark_Context): Handle properly names of child units.
2856         * sem.adb (Walk_Library_Items.Do_Action): Remove assertion on
2857         instantiations.
2858
2859 2010-06-23  Vincent Celier  <celier@adacore.com>
2860
2861         * ali.adb (Scan_ALI): When ignoring R lines, do not skip the next
2862         non-empty line.
2863
2864 2010-06-23  Bob Duff  <duff@adacore.com>
2865
2866         * g-pehage.ads, g-pehage.adb: Switch default optimization mode to
2867         Memory_Space, because CPU_Time doesn't seem to provide any significant
2868         speed advantage in practice. Cleanup: Get rid of constant
2869         Default_Optimization; doesn't seem to add anything. Use case
2870         statements instead of if statements; seems cleaner.
2871
2872 2010-06-23  Olivier Hainque  <hainque@adacore.com>
2873
2874         * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Procedure>: Use
2875         Wshadow instead of Wextra to guard warning on absence of internal
2876         builtin decl for an import.  Fix use of quote in warning text.
2877         (intrin_arglists_compatible_p): Remove processing of integer trailing
2878         args on the Ada side.  Fix use of literal > in warning text.
2879         (intrin_return_compatible_p): Never warn on "function imported as
2880         procedure".  Defer the void/void case to the common type compatibility
2881         check.
2882         (gnat_to_gnu_param): Use void_ptr GCC type for System.Address argument
2883         of GCC builtin imports.
2884
2885 2010-06-23  Olivier Hainque  <hainque@adacore.com>
2886
2887         * gcc-interface/decl.c (intrin_types_incompatible_p): New function,
2888         helper for ...
2889         (intrin_arglists_compatible_p, intrin_return_compatible_p): New
2890         functions, helpers for ...
2891         (intrin_profiles_compatible_p): New function, replacement for ...
2892         (compatible_signatures_p): Removed.
2893         (gnat_to_gnu_entity) <case E_Procedure>: If -Wextra, warn on
2894         attempt to bind an unregistered builtin function.  When we have
2895         one, use it and warn on profile incompatibilities.
2896
2897 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
2898
2899         * gcc-interface/Make-lang.in: Update dependencies.
2900
2901 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2902
2903         * sem_util.adb (Mark_Coextensions): If the expression in the allocator
2904         for a coextension in an object declaration is a concatenation, treat
2905         coextension as dynamic.
2906
2907 2010-06-23  Javier Miranda  <miranda@adacore.com>
2908
2909         * sem_ch3.adb (Add_Internal_Interface_Entities): Ensure that the
2910         internal entities are added to the scope of the tagged type.
2911         (Derive_Subprograms): Do not stop derivation when we find the first
2912         internal entity that has attribute Interface_Alias. After the change
2913         done to Override_Dispatching_Operations it is no longer true that
2914         these primirives are always located at the end of the list of
2915         primitives.
2916         * einfo.ads (Primitive_Operations): Add documentation.
2917         * exp_disp.adb (Write_DT): Improve output adding to the name of the
2918         primitive a prefix indicating its corresponding tagged type.
2919         * sem_disp.adb (Override_Dispatching_Operations): If the overridden
2920         entity covers the primitive of an interface that is not an ancestor of
2921         this tagged type then the new primitive is added at the end of the list
2922         of primitives.  Required to fulfill the C++ ABI.
2923
2924 2010-06-23  Javier Miranda  <miranda@adacore.com>
2925
2926         * atree.ads (Set_Reporting_Proc): New subprogram.
2927         * atree.adb: Remove dependency on packages Opt and SCIL_LL.
2928         (Allocate_Initialize_Node, Replace, Rewrite): Replace direct calls
2929         to routines of package Scil_ll by indirect call to the registered
2930         subprogram.
2931         (Set_Reporting_Proc): New subprogram. Used to register a subprogram
2932         that is invoked when a node is allocated, replaced or rewritten.
2933         * scil_ll.adb (Copy_SCIL_Node): New routine that takes care of copying
2934         the SCIL node. Used as argument for Set_Reporting_Proc.
2935         (Initialize): Register Copy_SCIL_Node as the reporting routine that
2936         is invoked by atree.
2937
2938 2010-06-23  Thomas Quinot  <quinot@adacore.com>
2939
2940         * sem_ch3.ads: Minor reformatting.
2941
2942 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2943
2944         * sem_ch12.adb (Analyze_Package_Instantiation): In CodePeer mode,
2945         always analyze the generic body and instance, because it may be needed
2946         downstream.
2947         (Mark_Context): Prepend the with clauses for needed generic units, so
2948         they appear in a better order for CodePeer.
2949         * sem_util.adb, sem_util.ads: Prototype code for AI05-0144.
2950
2951 2010-06-23  Emmanuel Briot  <briot@adacore.com>
2952
2953         * prj.ads, prj-nmsc.adb (Error_Or_Warning): New subprogram.
2954
2955 2010-06-23  Robert Dewar  <dewar@adacore.com>
2956
2957         * g-pehage.adb, exp_ch13.adb: Minor reformatting.
2958
2959 2010-06-23  Thomas Quinot  <quinot@adacore.com>
2960
2961         * a-tags.ads: Fix description of TSD structure.
2962
2963 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2964
2965         * sem_ch12.adb (Mark_Context): When indicating that the body of a
2966         generic unit is needed prior to the unit containing an instantiation,
2967         search recursively the context of the generic to add other generic
2968         bodies that may be instantiated indirectly through the current instance.
2969
2970 2010-06-23  Robert Dewar  <dewar@adacore.com>
2971
2972         * freeze.adb: Minor reformatting.
2973
2974 2010-06-23  Bob Duff  <duff@adacore.com>
2975
2976         * g-pehage.adb (Trim_Trailing_Nuls): Fix the code to match the comment.
2977
2978 2010-06-23  Vincent Celier  <celier@adacore.com>
2979
2980         * make.adb (Compile_Sources): Complete previous change.
2981
2982 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2983
2984         * sem_ch6.adb (Add_Extra_Formal): Use suffix "C" in the name of the
2985         Constrained extra formal.
2986
2987 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2988
2989         * exp_ch13.adb (Expand_Freeze_Actions): If validity checks and
2990         Initialize_Scalars are enabled, compile the generated equality function
2991         for a composite type with full checks enabled, so that validity checks
2992         are performed on individual components.
2993
2994 2010-06-23  Emmanuel Briot  <briot@adacore.com>
2995
2996         * prj.adb, prj.ads, prj-nmsc.adb (Processing_Flags): New flag
2997         Missing_Source_Files.
2998
2999 2010-06-23  Robert Dewar  <dewar@adacore.com>
3000
3001         * exp_ch3.adb, exp_util.adb: Minor reformatting.
3002
3003 2010-06-23  Jose Ruiz  <ruiz@adacore.com>
3004
3005         * a-reatim.adb, a-retide.adb: Move the initialization of the tasking
3006         run time from Ada.Real_Time.Delays to Ada.Real_Time. This way, calls to
3007         Clock (without delays) use a run time which is properly initialized.
3008
3009 2010-06-23  Vincent Celier  <celier@adacore.com>
3010
3011         * make.adb: Do not set Check_Readonly_Files when setting Must_Compile,
3012         when -f -u and a main is specified on the command line. However,
3013         attempt to compile even when the ALI file is read-only when
3014         Must_Compile is True.
3015
3016 2010-06-23  Thomas Quinot  <quinot@adacore.com>
3017
3018         * checks.adb, g-pehage.adb, cstand.adb: Minor code factorization.
3019
3020 2010-06-23  Javier Miranda  <miranda@adacore.com>
3021
3022         * sem_ch3.adb (Add_Internal_Interface_Entities): Generate internal
3023         entities for parent types that are interfaces. Needed in generics to
3024         handle formals that implement interfaces.
3025         (Derive_Subprograms): Add assertion for derivation of tagged types that
3026         do not cover interfaces. For generics, complete code that handles
3027         derivation of type that covers interfaces because the previous
3028         condition was weak (it required only name consistency; arguments were
3029         not checked). Add new code to locate primitives covering interfaces
3030         defined in generic units or instantiatons.
3031         * sem_util.adb (Has_Interfaces): Add missing support for derived types.
3032         * sem_ch6.adb (Check_Overriding_Indicator): Minor code cleanups.
3033         * exp_disp.adb (Make_Select_Specific_Data_Table): Skip primitives of
3034         interfaces that are parents of the type because they share the primary
3035         dispatch table.
3036         (Register_Primitive): Do not register primitives of interfaces that
3037         are parents of the type.
3038         * sem_ch13.adb (Analyze_Freeze_Entity): Add documentation.
3039         * exp_cg.adb (Write_Type_Info): When displaying overriding of interface
3040         primitives skip primitives of interfaces that are parents of the type.
3041
3042 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
3043
3044         * sem_attr.adb (Eval_Attribute): If the prefix is an array, the
3045         attribute cannot be constant-folded if an index type is a formal type,
3046         or is derived from one.
3047         * checks.adb (Determine_Range): ditto.
3048
3049 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
3050
3051         * gnat_ugn.texi, gnatxref.adb: Add support for --ext switch.
3052
3053 2010-06-23  Bob Duff  <duff@adacore.com>
3054
3055         * g-pehage.ads, g-pehage.adb (Put): Fix off-by-one bug.
3056         (Insert): Disallow nul characters.
3057         (misc output routines): Assert no nul characters.
3058
3059 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
3060
3061         * exp_ch4.adb: Use predefined unsigned type in all cases.
3062
3063 2010-06-23  Bob Duff  <duff@adacore.com>
3064
3065         * s-rannum.adb (Reset): Avoid overflow in calculation of Initiator.
3066         * g-pehage.ads: Minor comment fixes.
3067         * g-pehage.adb: Minor: Add some additional debugging printouts under
3068         Verbose flag.
3069
3070 2010-06-23  Robert Dewar  <dewar@adacore.com>
3071
3072         * binde.adb (Better_Choice): Always prefer Pure/Preelab.
3073         (Worse_Choice): Always prefer Pure/Preelab.
3074
3075 2010-06-23  Vincent Celier  <celier@adacore.com>
3076
3077         * a-reatim.adb: Call System.OS_Primitives.Initialize during elaboration
3078
3079 2010-06-23  Robert Dewar  <dewar@adacore.com>
3080
3081         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Properly handle
3082         checking returns in generic case.
3083         (Check_Missing_Return): New procedure.
3084
3085 2010-06-23  Robert Dewar  <dewar@adacore.com>
3086
3087         * bindgen.adb, switch-b.adb: Minor reformatting.
3088
3089 2010-06-23  Javier Miranda  <miranda@adacore.com>
3090
3091         * frontend.adb (Frontend): Add call to initialize the new package
3092         SCIL_LL.
3093         * exp_ch7.adb (Wrap_Transient_Expression): Remove call to
3094         Adjust_SCIL_Node.
3095         (Wrap_Transient_Statement): Remove call to Adjust_SCIL_Node.
3096         * sem_ch5.adb (Analyze_Iteration_Scheme.Process_Bounds): Remove call to
3097         Adjust_SCIL_Node.
3098         * exp_util.adb (Insert_Actions): Remove code for
3099         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
3100         (Remove_Side_Effects): Remove calls to Adjust_SCIL_Node.
3101         * sinfo.adb (SCIL_Entity, SCIL_Tag_Value): Remove checks on
3102         N_SCIL_Tag_Init and N_SCIL_Dispatch_Table_Object_Init in the assertion.
3103         (SCIL_Related_Node, Set_SCIL_Related_Node): Removed.
3104         * sinfo.ads (SCIL_Related_Node): Field removed.
3105         (N_SCIL_Dispatch_Table_Object_Init): Node removed.
3106         (N_SCIL_Tag_Init): Node removed.
3107         * sem_scil.ads, sem_scil.adb (Adjust_SCIL_Node): Removed.
3108         (Check_SCIL_Node): New implementation.
3109         (Find_SCIL_Node): Removed.
3110         * sem.adb (Analyze): Remove management of
3111         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
3112         * sem_util.adb (Insert_Explicit_Dereference): Remove call to
3113         Adjust_SCIL_Node.
3114         * exp_ch4.adb (Expand_N_In): Code cleanup: remove call to
3115         Set_SCIL_Related_Node and avoid adding the SCIL node before the
3116         referenced node using Insert_Action because this is not longer required.
3117         (Expand_Short_Circuit_Operator): Remove call to SCIL node.
3118         * exp_ch6.adb (Expand_Call): Remove call to Adjust_SCIL_Node.
3119         * sem_ch4.adb (Analyze_Type_Conversion): Remove call to Adjust_SCIL_Node
3120         * exp_disp.adb (Expand_Dispatching_Call): Minor code reorganization
3121         because we no longer require to generate the SCIL node before the call.
3122         (Make_DT): Remove generation of SCI_Dispatch_Table_Object_Init node.
3123         Remove calls to Set_SCIL_Related_Node and avoid adding the SCIL
3124         nodes before the referenced node using Insert_Action because this
3125         is not longer required.
3126         * atree.adb (Allocate_Initialize_Node, Replace, Rewrite): Add call to
3127         update the SCIL_Node field.
3128         * sprint.adb (Sprint_Node_Actual): Remove code for
3129         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
3130         * treepr.adb (Print_Node): Print the SCIL node field (if available).
3131         * exp_ch3.adb (Build_Init_Procedure): Remove generation of
3132         SCIL_Tag_Init nodes.
3133         * scil_ll.ads, scil_ll.adb: New files.
3134         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
3135         dependencies.
3136
3137 2010-06-23  Robert Dewar  <dewar@adacore.com>
3138
3139         * sem_ch6.adb: Minor reformatting.
3140
3141 2010-06-23  Doug Rupp  <rupp@adacore.com>
3142
3143         * bindusg.adb (Display): Write -Hnn line.
3144         * bindgen.adb (Gen_Adainit_Ada): Write Heap_Size to binder file as 
3145         necessary.
3146         * init.c (__gl_heap_size): Rename from __gl_no_malloc_64 and change
3147         valid values to 32 and 64.
3148         (GNAT$NO_MALLOC_64): Recognize TRUE, 1, FALSE, and 0 in addition to
3149         ENABLE, DISABLE as valid settings.
3150         * switch-b.adb (Scan_Binder_Switches): Process -Hnn switch.
3151         * opt.ads (Heap_Size): New global variable.
3152         * gcc-interface/utils2.c (maybe_wrap_malloc): Remove mostly redundant 
3153         TARGET_MALLOC64 check. Fix comment.
3154
3155 2010-06-23  Robert Dewar  <dewar@adacore.com>
3156
3157         * sem_ch6.adb, exp_ch4.adb, s-rannum.ads, sem.adb, sem_ch12.adb: Minor
3158         reformatting.  Add comments.
3159         * errout.adb (Finalize): Properly adjust warning count when deleting
3160         continuations.
3161
3162 2010-06-22  Robert Dewar  <dewar@adacore.com>
3163
3164         * errout.adb (Finalize): Set Prev pointers.
3165         (Finalize): Delete continuations for deletion by warnings off(str).
3166         * erroutc.ads: Add Prev pointer to error message structure.
3167
3168 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3169
3170         * sem.adb (Do_Unit_And_Dependents): If the spec of the main unit is a
3171         child unit, examine context of parent units to locate instantiated
3172         generics whose bodies may be needed. 
3173         * sem_ch12.adb: (Mark_Context): if the enclosing unit does not have a
3174         with_clause for the instantiated generic, examine the context of its
3175         parents, to set Withed_Body flag, so that it can be visited earlier.
3176         * exp_ch4.adb (Expand_N_Op_Not): If this is a VMS operator applied to
3177         an unsigned type, use a type of the proper size for the intermediate
3178         value, to prevent alignment problems on unchecked conversion.
3179
3180 2010-06-22  Geert Bosch  <bosch@adacore.com>
3181
3182         * s-rannum.ads Change Generator type to be self-referential to allow
3183         Random to update its argument. Use "in" mode for the generator in the
3184         Reset procedures to allow them to be called from the Ada.Numerics
3185         packages without tricks.
3186         * s-rannum.adb: Use the self-referencing argument to get write access
3187         to the internal state of the random generator.
3188         * a-nudira.ads: Make Generator a derived type of
3189         System.Random_Numbers.Generator.
3190         * a-nudira.adb: Remove use of 'Unrestricted_Access.
3191         Put subprograms in alpha order and add headers.
3192         * g-mbdira.ads: Change Generator type to be self-referential.
3193         * g-mbdira.adb: Remove use of 'Unrestricted_Access.
3194
3195 2010-06-22  Robert Dewar  <dewar@adacore.com>
3196
3197         * freeze.adb: Minor reformatting
3198         Minor code reorganization (use Nkind_In and Ekind_In).
3199
3200 2010-06-22  Bob Duff  <duff@adacore.com>
3201
3202         * gnat1drv.adb (Gnat1drv): Remove the messages that recommend using 
3203         -gnatc when a file is compiled that we cannot generate code for, not
3204         helpful and confusing.
3205
3206 2010-06-22  Vincent Celier  <celier@adacore.com>
3207
3208         * switch-m.adb (Normalize_Compiler_Switches): Process correctly
3209         switches -gnatknn.
3210
3211 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
3212
3213         * s-rannum.adb: Replace constants with commented symbols.
3214         * s-rannum.ads: Explain significance of the initial value of the data
3215         structure.
3216
3217 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3218
3219         * a-ngcoty.adb: Clarify comment.
3220
3221 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
3222
3223         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Return without
3224         expansion for indexing packed arrays with small power-of-2 component
3225         sizes when the target is AAMP.
3226         (Expand_Packed_Element_Reference): Return without expansion for
3227         indexing packed arrays with small power-of-2 component sizes when the
3228         target is AAMP.
3229
3230 2010-06-22  Geert Bosch  <bosch@adacore.com>
3231
3232         * exp_ch4.adb (Expand_N_In): Do not substitute a valid check for X in
3233         Float'Range.
3234
3235 2010-06-22  Robert Dewar  <dewar@adacore.com>
3236
3237         * g-mbdira.adb, g-mbflra.adb, a-nuflra.adb, a-nudira.adb: Minor comment
3238         updates.
3239
3240 2010-06-22  Doug Rupp  <rupp@adacore.com>
3241
3242         * system-vms.ads, system-vms-zcx.ads: Remove old unused VMS system
3243         packages.
3244         * system-vms_64.ads, system-vms-ia64.ads: Minor reformatting.
3245         (pragma Ident): Add a default ident string in the private part.
3246
3247 2010-06-22  Robert Dewar  <dewar@adacore.com>
3248
3249         * cstand.adb: Minor reformatting.
3250
3251 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3252
3253         * freeze.adb (Build_And_Analyze_Renamed_Body): For expansion purposes,
3254         recognize the Shift and Rotation intrinsics that are known to the
3255         compiler but have no interface name.
3256
3257 2010-06-22  Geert Bosch  <bosch@adacore.com>
3258
3259         * a-ngcoty.adb ("*"): Rewrite complex multiplication to use proper
3260         scaling in case of overflow or NaN results.
3261
3262 2010-06-22  Robert Dewar  <dewar@adacore.com>
3263
3264         * cstand.adb: Complete previous change.
3265         * g-dirope.ads: Add comment.
3266         * s-stchop.adb, sfn_scan.adb: Minor reformatting.
3267
3268 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3269
3270         * cstand.adb: Add tree nodes for pragma Pack on string types.
3271
3272 2010-06-22  Javier Miranda  <miranda@adacore.com>
3273
3274         * einfo.ads, einfo.adb (Last_Formal): New synthesized attribute.
3275         * exp_util.adb (Find_Prim_Op): Use new attribute to locate the last
3276         formal of a primitive.
3277         * exp_disp.adb (Is_Predefined_Dispatching_Operation,
3278          Is_Predefined_Dispatching_Alias): Use new attribute to locate the last
3279         formal of a primitive.
3280         * exp_cg.adb (Is_Predefined_Dispatching_Operation): Use new attribute
3281         to obtain the last formal of a primitive.
3282
3283 2010-06-22  Geert Bosch  <bosch@adacore.com>
3284
3285         * sysdep.c, init.c, adaint.c, cstreams.c: Remove conditional code
3286         depending on __EMX__ or MSDOS being defined.
3287         * i-cstrea.ads, gnat_rm.texi: Remove mentions of OS/2, DOS and Xenix.
3288         * a-excpol-abort.adb: Update comment indicating users of the file.
3289         * xref_lib.adb, sfn_scan.adb: Remove mention of OS/2, replace NT by
3290         Windows.
3291         * env.c: Remove empty conditional for MSDOS.
3292         * s-stchop.adb, g-dirope.ads, s-fileio.adb, osint.ads: Remove mention
3293         of OS/2 in comment.
3294
3295 2010-06-22  Robert Dewar  <dewar@adacore.com>
3296
3297         * s-rannum.adb: Minor reformatting.
3298
3299 2010-06-22  Javier Miranda  <miranda@adacore.com>
3300
3301         * sem_aux.adb, sem_aux.ads, sem_util.adb, sem_util.ads, sem_elim.adb,
3302         exp_cg.adb: Minor code reorganization: Move routine Ultimate_Alias from
3303         package Sem_Util to package Sem_Aux.
3304
3305 2010-06-22  Javier Miranda  <miranda@adacore.com>
3306
3307         * exp_disp.adb (Make_Secondary_DT, Make_DT): Minor code cleanup:
3308         remove useless restriction on imported routines when building the
3309         dispatch tables.
3310
3311 2010-06-22  Robert Dewar  <dewar@adacore.com>
3312
3313         * cstand.adb (Create_Standard): Set Has_Pragma_Pack for standard string
3314         types.
3315
3316 2010-06-22  Javier Miranda  <miranda@adacore.com>
3317
3318         * sem_ch4.adb (Collect_Generic_Type_Ops): Protect code that handles
3319         generic subprogram declarations to ensure proper context. Add missing
3320         support for generic actuals.
3321         (Try_Primitive_Operation): Add missing support for concurrent types that
3322         have no Corresponding_Record_Type. Required to diagnose errors compiling
3323         generics or when compiling with no code generation (-gnatc).
3324         * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Do not build
3325         the corresponding record type.
3326         * sem_disp.ads, sem_disp.adb (Check_Dispatching_Operation): Complete
3327         documentation. Do minimum decoration when processing a primitive of a
3328         concurrent tagged type that covers interfaces. Required to diagnose
3329         errors in the Object.Operation notation compiling generics or under
3330         -gnatc.
3331         * exp_ch9.ads, exp_ch9.adb (Build_Corresponding_Record): Add missing
3332         propagation of attribute Interface_List to the corresponding record.
3333         (Expand_N_Task_Type_Declaration): Code cleanup.
3334         (Expand_N_Protected_Type_Declaration): Code cleanup.
3335
3336 2010-06-22  Matthew Heaney  <heaney@adacore.com>
3337
3338         * a-convec.adb, a-coinve.adb: Removed 64-bit types Int and UInt.
3339
3340 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
3341
3342         * s-rannum.adb (Random_Float_Template): Replace with unbiased version
3343         that is able to produce all representable floating-point numbers in the
3344         unit interval. Remove template parameter Shift_Right, no longer used.
3345         * gnat_rm.texi: Document the period of the pseudo-random number
3346         generator under the description of its algorithm.
3347         * gcc-interface/Make-lang.in: Update dependencies.
3348
3349 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3350
3351         * exp_aggr.adb (Rewrite_Discriminant): Fix predicate used to identify
3352         reference to discriminant (can be an expanded name as well as an
3353         identifier).
3354
3355 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3356
3357         * exp_ch6.adb: Clarify comment.
3358
3359 2010-06-22  Geert Bosch  <bosch@adacore.com>
3360
3361         * exp_imgv.adb (Expand_Image_Attribute): Treat ordinary fixed point
3362         with decimal small as decimal types, avoiding floating-point arithmetic.
3363         (Has_Decimal_Small): New function.
3364         * einfo.ads, einfo.adb (Aft_Value): New synthesized attributed for
3365         fixed point types.
3366         * sem_attr.adb (Eval_Attribute): Remove Aft_Value function and update
3367         callers to call the new function in Einfo that takes the entity as
3368         parameter.
3369
3370 2010-06-22  Robert Dewar  <dewar@adacore.com>
3371
3372         * sem_ch3.adb, sem_ch8.adb: Minor reformatting.
3373
3374 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3375
3376         * sem_elab.adb: Minor reformatting.
3377
3378 2010-06-22  Vincent Celier  <celier@adacore.com>
3379
3380         * gnatsym.adb: Put the object files in the table in increasing
3381         aphabetical order of base names.
3382
3383 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3384
3385         * sem_ch8.adb (Set_Entity_Or_Discriminal): New procedure used by
3386         Find_Direct_Name and Find_Expanded_Name, to replace a discriminant with
3387         the corresponding discriminal within a record declaration.
3388
3389 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3390
3391         * exp_aggr.adb (Rewrite_Discriminant): Rewriting must occur only for an
3392         expression referring to a discriminal of the type of the aggregate (not
3393         a discriminal of some other unrelated type), and the prefix in the
3394         generated selected component must come from Lhs, not Obj.
3395
3396 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3397
3398         * sem_ch3.adb (Build_Derived_Record_Type): Fix predicate determining
3399         when to freeze the parent type.
3400
3401 2010-06-22  Robert Dewar  <dewar@adacore.com>
3402
3403         * s-rannum.adb, a-nudira.adb, types.ads, freeze.adb, sem_aggr.adb,
3404         exp_aggr.adb: Minor reformatting.
3405         * gnat_rm.texi: Document GNAT.MBBS_Discrete_Random and
3406         GNAT.MBSS_Float_Random.
3407         * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: Fix header.
3408
3409 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
3410
3411         * a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads,
3412         gnat_rm.texi, impunit.adb, Makefile.rtl, s-rannum.adb
3413         (Random_Float_Template, Random): New method of creating
3414         uniform floating-point variables that allow the creation of all machine
3415         values in [0 .. 1).  
3416
3417         * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: New file.
3418
3419 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
3420
3421         * sem_ch5.adb (Analyze_Assignment): Revise test for illegal assignment
3422         to abstract targets to check that the type is tagged and comes from
3423         source, rather than only testing for targets of interface types. Remove
3424         premature return.
3425
3426 2010-06-22  Vincent Celier  <celier@adacore.com>
3427
3428         * vms_data.ads: Modify the declarations of qualifiers
3429         /UNCHECKED_SHARED_LIB_IMPORTS to allow the generation of gnat.hlp
3430         without error.
3431
3432 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3433
3434         * exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false if
3435         expansion is disabled.
3436
3437 2010-06-22  Robert Dewar  <dewar@adacore.com>
3438
3439         * makeusg.adb: Minor reformatting.
3440
3441 2010-06-22  Robert Dewar  <dewar@adacore.com>
3442
3443         * types.ads: (Dint): Removed, no longer used anywhere.
3444         * uintp.adb (UI_From_CC): Use UI_From_Int, range is sufficient.
3445         (UI_Mul): Avoid use of UI_From_Dint.
3446         (UI_From_Dint): Removed, not used.
3447         * uintp.ads (UI_From_Dint): Removed, not used.
3448         (Uint_Min/Max_Simple_Mul): New constants.
3449
3450 2010-06-22  Vincent Celier  <celier@adacore.com>
3451
3452         * clean.adb (Parse_Cmd_Line): Recognize switch
3453         --unchecked-shared-lib-imports.
3454         (Usage): Add line for switch --unchecked-shared-lib-imports
3455         * makeusg.adb: Add line for switch --unchecked-shared-lib-imports
3456         * makeutl.ads: (Unchecked_Shared_Lib_Imports): New constant string
3457         moved from GPR_Util.
3458         * switch-m.adb (Scan_Make_Switches): Recognize switch
3459         --unchecked-shared-lib-imports.
3460         * vms_data.ads: Add VMS qualifiers /UNCHECKED_SHARED_LIB_IMPORTS.
3461         * gnat_ugn.texi: Add documentation for new switch
3462         --unchecked-shared-lib-imports.  Add also documentation for --subdirs.
3463
3464 2010-06-22  Javier Miranda  <miranda@adacore.com>
3465
3466         * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, exp_ch6.adb,
3467         exp_disp.adb, sem_eval.adb, exp_dist.adb lib-xref.adb: Code cleanup,
3468         this patch replaces duplication of code that traverses the chain of
3469         aliased primitives by a call to routine Ultimate_Alias that
3470         provides this functionality.
3471
3472 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
3473
3474         * fmap.adb, opt.ads, osint.adb, osint.ads, output.ads, scng.adb,
3475         sinput-c.adb, switch-m.ads, tree_io.ads: Use simpler form of
3476         Warnings Off/On.
3477
3478 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3479
3480         * einfo.ads: Minor reformatting.
3481
3482 2010-06-22  Javier Miranda  <miranda@adacore.com>
3483
3484         * exp_disp.adb (Expand_Interface_Thunk): Do not generate thunk of
3485         eliminated primitives.
3486         (Make_DT): Avoid referencing eliminated primitives.
3487         (Register_Primitive): Do not register eliminated primitives in the
3488         dispatch table. Required to add this functionality when the program is
3489         compiled without static dispatch tables (-gnatd.t)
3490
3491 2010-06-22  Emmanuel Briot  <briot@adacore.com>
3492
3493         * fmap.adb, scng.adb, switch-m.ads, sinput-c.adb, opt.ads, output.ads,
3494         tree_io.ads, osint.adb, osint.ads: Use configuration pragmas to prevent
3495         warnings on use of internal GNAT units.
3496
3497 2010-06-22  Jose Ruiz  <ruiz@adacore.com>
3498
3499         * s-taprop-vxworks.adb (Set_Priority): Update comments.
3500
3501 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
3502
3503         * s-rannum.adb: Make stylistic change to remove mystery constant in
3504         Extract_Value.  Image_Numeral_Length: new symbolic constant.
3505
3506 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3507
3508         * einfo.ads, einfo.adb: Make Is_Protected_Interface,
3509         Is_Synchronized_Interface, Is_Task_Interface into computable
3510         predicates, to free three flags in entity nodes.
3511         * sem_ch3.adb: Remove setting of these flags.
3512
3513 2010-06-22  Robert Dewar  <dewar@adacore.com>
3514
3515         * uintp.adb, osint.adb, prj-conf.adb, prj-part.adb, prj.adb: Minor
3516         reformatting.
3517         * s-taprop-vxworks.adb: Add comment for Set_Priority.
3518         * impunit.adb (Map_Array): Add entries for s-htable.ads and s-crc32.ads
3519         * projects.texi: Move @cindex to the left margin, since otherwise we
3520         are missing entries in the index.
3521
3522 2010-06-22  Emmanuel Briot  <briot@adacore.com>
3523
3524         * prj-part.adb, prj.adb, tempdir.ads, makeutl.adb: Use
3525         packages from the GNAT hierarchy instead of System when possible.
3526         * gcc-interface/Make-lang.in: Update dependencies.
3527
3528 2010-06-22  Jose Ruiz  <ruiz@adacore.com>
3529
3530         * s-taprop-vxworks.adb (Set_Priority): Remove the code that was
3531         previously in place to reorder the ready queue when a task drops its
3532         priority due to the loss of inherited priority.
3533
3534 2010-06-22  Vincent Celier  <celier@adacore.com>
3535
3536         * projects.texi: Minor spelling error fixes.
3537         Minor reformatting.
3538
3539 2010-06-22  Emmanuel Briot  <briot@adacore.com>
3540
3541         * prj-part.adb, prj-ext.adb, prj.adb, makeutl.adb, prj-conf.adb: Remove
3542         warnings for some with clauses.
3543
3544 2010-06-22  Robert Dewar  <dewar@adacore.com>
3545
3546         * errout.adb (Unwind_Internal_Type): Improve handling of First_Subtype
3547         test to catch more cases where first subtype is the results we want.
3548         * sem_res.adb (Make_Call_Into_Operator): Don't go to First_Subtype in
3549         error case, since Errout will now handle this correctly.
3550         * gcc-interface/Make-lang.in: Add Sem_Aux to list of GNATBIND objects.
3551         Update dependencies.
3552
3553 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
3554
3555         * exp_ch4.adb (Expand_Allocator_Expression): Set Related_Node properly
3556         when calling Make_Temporary.
3557
3558 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3559
3560         * sem_ch3.adb (Access_Subprogram_Declaration): An anonymous access to
3561         subprogram can be associated with an entry body.
3562
3563 2010-06-22  Robert Dewar  <dewar@adacore.com>
3564
3565         * scos.ads: Add note on membership test handling.
3566
3567 2010-06-22  Vincent Celier  <celier@adacore.com>
3568
3569         * projects.texi: Minor spelling fixes.
3570         Minor reformatting.
3571
3572 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
3573
3574         * s-rannum.adb: Correct off-by-one error in Extract_Value.
3575
3576 2010-06-22  Vincent Celier  <celier@adacore.com>
3577
3578         * mlib-prj.adb (Display): In non verbose mode, truncate after fourth
3579         argument.
3580         * mlib-utl.adb (Gcc): In non verbose mode, truncate the display of the
3581         gcc command if it is too long.
3582
3583 2010-06-22  Robert Dewar  <dewar@adacore.com>
3584
3585         * errout.adb (Set_Msg_Node): Fix incorrect reference to node.
3586
3587 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
3588
3589         * exp_ch6.adb (Expand_Actuals): Use Actual as the related node when
3590         calling Make_Temporary.
3591
3592 2010-06-22  Robert Dewar  <dewar@adacore.com>
3593
3594         * sem_res.adb, sem_aux.adb, errout.adb: Minor reformatting.
3595
3596 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3597
3598         * sem_res.adb: Additional special-case for VMS.
3599
3600 2010-06-22  Vincent Celier  <celier@adacore.com>
3601
3602         * gnatsym.adb: Minor comment fix.
3603
3604 2010-06-22  Vincent Celier  <celier@adacore.com>
3605
3606         * prj-nmsc.adb (Process_Naming_Scheme): Initialize table Lib_Data_Table.
3607
3608 2010-06-22  Robert Dewar  <dewar@adacore.com>
3609
3610         * par-ch4.adb (P_Name): Recognize 'Mod attribute in Ada 95 mode
3611         * sem_attr.adb (Attribute_05): Add Name_Mod so that 'Mod recognized in
3612         Ada 95 mode as an implementation defined attribute.
3613
3614 2010-06-22  Vincent Celier  <celier@adacore.com>
3615
3616         * bindusg.adb (Display): Update line for -R
3617         * switch-b.adb (Scan_Binder_Switches): Allow generation of the binder
3618         generated files when -R is used.
3619
3620 2010-06-22  Vincent Celier  <celier@adacore.com>
3621
3622         * prj-nmsc.adb (Lib_Data_Table): New table.
3623         (Check_Library_Attributes): Check if the same library name is used in
3624         two different projects that do not extend each other.
3625
3626 2010-06-22  Robert Dewar  <dewar@adacore.com>
3627
3628         * lib-writ.ads, errout.adb, einfo.adb, einfo.ads: Minor reformatting.
3629
3630 2010-06-22  Vincent Celier  <celier@adacore.com>
3631
3632         * adaint.c (__gnat_locate_regular_file): If a directory in the path is
3633         empty, make it the current working directory.
3634
3635 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3636
3637         * sem_ch3.adb (Build_Derived_Record_Type): When deriving a tagged
3638         private type with discriminants, make sure the parent type is frozen.
3639
3640 2010-06-22  Eric Botcazou  <ebotcazou@adacore.com>
3641
3642         * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Bit>: Deal
3643         with packed array references specially.
3644         * exp_ch4.adb (Expand_N_Indexed_Component): Do not convert a reference
3645         to a component of a bit packed array if it is the prefix of 'Bit.
3646         * exp_pakd.ads (Expand_Packed_Bit_Reference): Declare.
3647         * exp_pakd.adb (Expand_Packed_Bit_Reference): New procedure.  Expand a
3648         'Bit reference, where the prefix involves a packed array reference.
3649         (Get_Base_And_Bit_Offset): New helper, extracted from...
3650         (Expand_Packed_Address_Reference): ...here.  Call above procedure to
3651         get the outer object and offset expression.
3652
3653 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3654
3655         * exp_attr.adb, lib-writ.ads, bindgen.adb: Minor reformatting.
3656         * einfo.adb (Related_Expression, Set_Related_Expression): Add
3657         assertions.
3658
3659 2010-06-22  Javier Miranda  <miranda@adacore.com>
3660
3661         * sem_ch3.adb (Add_Internal_Interface_Entities): Minor code
3662         reorganization to properly check if the operation has been inherited as
3663         an abstract operation.
3664
3665 2010-06-22  Ed Falis  <falis@adacore.com>
3666
3667         * s-osinte-vxworks.ads: Complete previous change.
3668
3669 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3670
3671         * sem_res.adb: Add comment.
3672         * projects.texi, gnat_ugn.texi: Remove macro.
3673
3674 2010-06-22  Vincent Celier  <celier@adacore.com>
3675
3676         * prj-attr.adb: Remove project level attribute Main_Language.
3677
3678 2010-06-22  Robert Dewar  <dewar@adacore.com>
3679
3680         * switch-b.adb, osint-b.adb: Minor reformatting.
3681
3682 2010-06-22  Pascal Obry  <obry@adacore.com>
3683
3684         * g-socthi-mingw.adb (C_Sendmsg): Do not attempt to send data from a
3685         vector if previous send was not fully successful. If only part of
3686         the vector data was sent, we exit the loop.
3687
3688 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3689
3690         * sem_res.adb (Make_Call_Into_Operator): Use First_Subtype for better
3691         error reporting with generic types.
3692
3693 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3694
3695         * bindgen.adb, bindusg.adb, gnatbind.adb, gnat_ugn.texi, opt.ads,
3696         osint-b.adb, osint-b.ads, output.adb, output.ads, switch-b.adb,
3697         vms_data.ads: Add a new command line switch -A to gnatbind to output
3698         the list of all ALI files for the partition.
3699
3700 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
3701
3702         * s-osinte-vxworks.ads: Fix casing.
3703         * s-vxwext-kernel.ads, s-vxwext-rtp.ads: Complete previous
3704         change: Interfaces.C does not provide a long_long type.
3705
3706 2010-06-22  Emmanuel Briot  <briot@adacore.com>
3707
3708         * gnat_ugn.texi, projects.texi: Preprocess projects.texi for VMS and
3709         native user's guide, since this document contains the two versions.
3710         * gcc-interface/Make-lang.in: Update doc dependencies.
3711
3712 2010-06-22  Robert Dewar  <dewar@adacore.com>
3713
3714         * sem_ch3.adb: Minor reformatting.  Minor code reorganization.
3715
3716 2010-06-22  Emmanuel Briot  <briot@adacore.com>
3717
3718         * gnat_ugn.texi, projects.texi: Remove toplevel menu, since we should
3719         not build this file on its own (only through gnat_ugn.texi).
3720         Remove macro definitions and insert simpler version in gnat_ugn.texi.
3721
3722 2010-06-22  Robert Dewar  <dewar@adacore.com>
3723
3724         * ali-util.ads: Minor comment update.
3725         * g-socthi-mingw.adb: Minor reformatting.
3726
3727 2010-06-22  Ed Falis  <falis@adacore.com>
3728
3729         * s-osinte-vxworks.ads: take sigset_t definition from System.VxWorks.Ext
3730         * s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads: Define sigset_t
3731         for specific versions of VxWorks.
3732
3733 2010-06-22  Emmanuel Briot  <briot@adacore.com>
3734
3735         * gnat_rm.texi, gnat_ugn.texi, projects.texi: Remove all project files
3736         related sections from user's guide and reference manual, since they
3737         have now been merged together into a separate document (projects.texi).
3738         This removes a lot of duplication where attributes where described
3739         in several places.
3740         The grammar for the project files is now in each of the sections
3741         (packages,expressions,...) instead of being duplicates in two other
3742         sections (one in the user's guide that contained the full grammar,
3743         and various sections in the rm that contained extracts of the same
3744         grammar).
3745         Added the full list of all supported attributes, since existing lists
3746         were incomplete
3747         Rename "associative array" into "indexed attribute"
3748         Remove sections that were duplicates ("External References in
3749         Project Files" and "External Values", and "Project Extensions"
3750         for instance). The list of valid packages in project files is now in
3751         a single place.
3752
3753 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3754
3755         * sem_ch3.adb (Add_Internal_Interface_Entities): If
3756         Find_Primitive_Covering_Interface does not find the operation, it may
3757         be because of a name conflict between the inherited operation and a
3758         local non-overloadable name. In that case look for the operation among
3759         the primitive operations of the type. This search must succeed
3760         regardless of visibility.
3761
3762 2010-06-22  Pascal Obry  <obry@adacore.com>
3763
3764         * g-socthi-mingw.adb: Properly honor MSG_WAITALL in recvmsg.
3765         (C_Recvmsg): Propely honor the MSG_WAITALL flag in Windows
3766         recvmsg emulation.
3767
3768 2010-06-22  Robert Dewar  <dewar@adacore.com>
3769
3770         * sem_ch4.adb (Analyze_Conditional_Expression): Defend against
3771         malformed tree.
3772         * sprint.adb (Sprint_Node_Actual, case N_Conditional_Expression): Ditto.
3773
3774 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
3775
3776         * s-intman-vxworks.ads: Code clean up.
3777
3778 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3779
3780         * sem_res.adb (Resolve_Slice): When the prefix is an explicit
3781         dereference, construct actual subtype of designated object to generate
3782         proper bounds checks.
3783
3784 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3785
3786         * ali-util.adb, ali-util.ads, gnatbind.adb (Read_ALI): Rename to
3787         Read_Withed_ALIs, which is more descriptive.
3788
3789 2010-06-22  Pascal Obry  <obry@adacore.com>
3790
3791         * g-sothco.ads: Minor reformatting.
3792         * g-socthi-mingw.adb: Remove part of work on the C_Recvmsg and
3793         C_Sendmsg implementation.
3794         (C_Sendmsg): Do not use lock (not needed).
3795         (C_Recvmsg): Likewise and also do not wait for incoming data.
3796
3797 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3798
3799         * uintp.adb: Fix scope error in operator call.
3800
3801 2010-06-22  Vincent Celier  <celier@adacore.com>
3802
3803         * makeutl.adb (Executable_Prefix_Path): on VMS, return "/gnu/".
3804         * prj-conf.adb (Get_Or_Create_Configuration_File): On VMS, if
3805         autoconfiguration is needed, fail indicating that no config project
3806         file can be found, as there is no autoconfiguration on VMS.
3807
3808 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3809
3810         * sem_res.adb (Make_Call_Into_Operator): Diagnose an incorrect scope
3811         for an operator in a functional notation, when operands are universal.
3812
3813 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
3814
3815         * gcc-interface/Make-lang.in: Update dependencies.
3816
3817 2010-06-22  Robert Dewar  <dewar@adacore.com>
3818
3819         * sem_aggr.adb (Resolve_Record_Aggregate): Do style check on component
3820         name.
3821         * sem_ch10.adb (Analyze_Subunit): Do style check on parent unit name.
3822         * sem_ch8.adb (Find_Direct_Name): For non-overloadable entities, do
3823         style check.
3824         * sem_res.adb (Resolve_Entity_Name): Do style check for enumeration
3825         literals.
3826
3827 2010-06-22  Vincent Celier  <celier@adacore.com>
3828
3829         * make.adb (Scan_Make_Arg): No longer pass -nostdlib to the compiler as
3830         it has no effect. Always pass -nostdlib to gnatlink, even on VMS.
3831
3832 2010-06-22  Pascal Obry  <obry@adacore.com>
3833
3834         * g-socthi-mingw.adb: Fix implementation of the vectored sockets on
3835         Windows.
3836         (C_Recvmsg): Make sure the routine is atomic. Also fully
3837         fill vectors in the proper order.
3838         (C_Sendmsg): Make sure the routine is atomic.
3839
3840 2010-06-22  Robert Dewar  <dewar@adacore.com>
3841
3842         * sem_ch8.adb: Update comment.
3843         * sem_res.adb: Minor code reorganization (use Ekind_In).
3844
3845 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3846
3847         * sem_ch8.adb (Add_Implicit_Operator): If the context of the expanded
3848         name is a call, use the number of actuals to determine whether this is
3849         a binary or unary operator, rather than relying on later information
3850         to resolve the overload.
3851
3852 2010-06-22  Robert Dewar  <dewar@adacore.com>
3853
3854         * sem_ch10.adb, sem_aggr.adb: Minor reformatting.
3855
3856 2010-06-22  Robert Dewar  <dewar@adacore.com>
3857
3858         * sem_ch3.adb, sem_disp.adb: Minor code fixes.
3859         * sem_eval.adb: Minor reformatting.
3860
3861 2010-06-22  Vincent Celier  <celier@adacore.com>
3862
3863         * make.adb (Scan_Make_Arg): When invoked with -nostdlib, pass -nostdlib
3864         to gnatlink, except on Open VMS.
3865         * osint.adb (Add_Default_Search_Dirs): Do not suppress the default
3866         object directories if -nostdlib is used.
3867
3868 2010-06-22  Robert Dewar  <dewar@adacore.com>
3869
3870         * sem_util.adb (Is_Delegate): Put in proper alpha order.
3871         * sem_eval.adb: Minor reformatting.
3872
3873 2010-06-22  Robert Dewar  <dewar@adacore.com>
3874
3875         * g-expect-vms.adb, sem_res.adb: Minor reformatting.
3876         * exp_aggr.adb: Minor comment changes and reformatting.
3877         * sem_eval.adb (Find_Universal_Operator_Type): Put in proper alpha order
3878         * sem_util.ads: Add some missing pragma Inline's (efficiency issue only)
3879
3880 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3881
3882         * sem_util.adb (Build_Actual_Subtype): Record original expression in
3883         Related_Expression attribute of the constructed subtype.
3884         * einfo.adb, einfo.ads (Underlying_View): Move to Node28 to free up
3885         Node24 on types for...
3886         (Related_Expression): Make attribute available on types as well.
3887
3888 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
3889
3890         * exp_util.adb (Find_Interface_ADT): Retrieve Designated_Type instead of
3891         Directly_Designated_Type when the type argument is an access type.
3892         (Find_Interface_Tag): Retrieve Designated_Type instead of
3893         Directly_Designated_Type when the type argument is an access type.
3894         (Has_Controlled_Coextensions): Retrieve Designated_Type instead of
3895         Directly_Designated_Type of each access discriminant.
3896         * sem_res.adb (Resolve_Type_Conversion): Retrieve Designated_Type
3897         instead of Directly_Designated_Type when the operand and target types
3898         are access types.
3899
3900 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3901
3902         * exp_aggr.adb (Flatten): Return False if one choice is statically
3903         known to be out of bounds.
3904
3905 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3906
3907         * sem_res.adb (Resolve_Call): If the call is rewritten as an indexed of
3908         a parameterless function call, preserve parentheses of original
3909         expression, for proper handling by pretty printer.
3910         * sem_attr.adb (Analyze_Attribute, case 'Old): Add guard to Process
3911         procedure, to handle quietly identifiers that have no entity names.
3912         * exp_util.adb (Get_Current_Value_Condition): If the parent of an
3913         elsif_part is missing, it has been rewritten as a nested if, and there
3914         is no useful information on the current value of the variable.
3915
3916 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
3917
3918         * sem_ch3.adb (Build_Discriminal): Set default scopes for newly created
3919         discriminals to the current scope.
3920         * sem_util.adb (Find_Body_Discriminal): Remove setting of discriminal's
3921         scope, which could overwrite a different already set value.
3922
3923 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
3924
3925         * sem_res.adb (Valid_Conversion): If expression is a predefined
3926         operator, use sloc of type of interpretation to improve error message
3927         when operand is of some derived type.
3928         * sem_eval.adb (Is_Mixed_Mode_Operand): New function, use it.
3929
3930 2010-06-22  Emmanuel Briot  <briot@adacore.com>
3931
3932         * g-expect-vms.adb (Expect_Internal): No longer raises an exception, so
3933         that it can set out parameters as well. When a process has died, reset
3934         its Input_Fd to Invalid_Fd, so that when using multiple processes we
3935         can find out which process has died.
3936
3937 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3938
3939         * sem_eval.adb (Find_Universal_Operator_Type): New
3940         subprogram to identify the operand type of an operator on universal
3941         operands, when an explicit scope indication is present. Diagnose the
3942         case where such a call is ambiguous.
3943         (Eval_Arithmetic_Op, Eval_Relational_Op, Eval_Unary_Op):
3944         Use the above to identify the operand type so it can be properly frozen.
3945         * sem_res.adb (Make_Call_Into_Operator): Remove bogus freeze of operand
3946         type, done in an arbitrary, possibly incorrect type (the presence of
3947         some numeric type in the scope is checked for legality, but when more
3948         than one such type is in the scope, we just pick a random one, not
3949         necessarily the expected one).
3950         * sem_utils.ads, sem_utils.adb (Is_Universal_Numeric_Type): New utility
3951         subprogram.
3952
3953 2010-06-22  Robert Dewar  <dewar@adacore.com>
3954
3955         * sem_eval.adb: Minor reformatting.
3956
3957 2010-06-22  Robert Dewar  <dewar@adacore.com>
3958
3959         * exp_ch4.adb (Expand_N_Conditional_Expression): Use
3960         Expression_With_Actions to clean up the code generated when folding
3961         constant expressions.
3962
3963 2010-06-22  Vincent Celier  <celier@adacore.com>
3964
3965         * g-expect-vms.adb: Add new subprograms Free, First_Dead_Process and
3966         Has_Process.
3967
3968 2010-06-22  Vincent Celier  <celier@adacore.com>
3969
3970         * prj-nmsc.adb (Find_Sources): When a source from a multi-unit file is
3971         found, check if it's path has aready been found, whatever its index.
3972
3973 2010-06-22  Robert Dewar  <dewar@adacore.com>
3974
3975         * atree.adb, gnatbind.adb: Minor reformatting.
3976         Minor code reorganization.
3977
3978 2010-06-21  Robert Dewar  <dewar@adacore.com>
3979
3980         * exp_ch4.adb (Expand_N_Conditional_Expression): Fold if condition
3981         known at compile time.
3982
3983 2010-06-21  Gary Dismukes  <dismukes@adacore.com>
3984
3985         * atree.adb: Fix comment typo.
3986
3987 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
3988
3989         * sem_eval.adb (Test_Ambiguous_Operator): New procedure to check
3990         whether a universal arithmetic expression in a conversion, which is
3991         rewritten from a function call with an expanded name, is ambiguous.
3992
3993 2010-06-21  Vincent Celier  <celier@adacore.com>
3994
3995         * prj-nmsc.adb (Name_Location): New Boolean component Listed, to record
3996         source files in specified list of sources.
3997         (Check_Package_Naming): Remove out parameters Bodies and Specs, as they
3998         are never used.
3999         (Add_Source): Set the Location of the new source
4000         (Process_Exceptions_File_Based): Call Add_Source with the Location
4001         (Get_Sources_From_File): If an exception is found, set its Listed to
4002         True
4003         (Find_Sources): When Source_Files is specified, if an exception is
4004         found, set its Listed to True. Remove any exception that is not in a
4005         specified list of sources.
4006         * prj.ads (Source_Data): New component Location
4007
4008 2010-06-21  Vincent Celier  <celier@adacore.com>
4009
4010         * gnatbind.adb (Closure_Sources): Global table, moved from block.
4011
4012 2010-06-21  Thomas Quinot  <quinot@adacore.com>
4013
4014         * sem_res.adb: Minor reformatting.
4015         * atree.adb: New debugging hook "rr" for node rewrites.
4016
4017 2010-06-21  Robert Dewar  <dewar@adacore.com>
4018
4019         * g-expect.ads, g-expect.adb: Minor reformatting.
4020
4021 2010-06-21  Emmanuel Briot  <briot@adacore.com>
4022
4023         * s-regpat.adb (Next_Pointer_Bytes): New named constant. Code clean up.
4024
4025 2010-06-21  Arnaud Charlet  <charlet@adacore.com>
4026
4027         * gcc-interface/Make-lang.in: Update dependencies.
4028
4029 2010-06-21  Thomas Quinot  <quinot@adacore.com>
4030
4031         * bindgen.ads: Update comments.
4032
4033 2010-06-21  Vincent Celier  <celier@adacore.com>
4034
4035         * gnatbind.adb: Suppress dupicates when listing the sources in the
4036         closure (switch -R).
4037
4038 2010-06-21  Emmanuel Briot  <briot@adacore.com>
4039
4040         * s-regpat.adb (Link_Tail): Fix error when size of the pattern matcher
4041         is too small.
4042
4043 2010-06-21  Emmanuel Briot  <briot@adacore.com>
4044
4045         * g-expect.adb, g-expect.ads (First_Dead_Process, Free, Has_Process):
4046         New subprograms.
4047         (Expect_Internal): No longer raises an exception, so that it can set
4048         out parameters as well. When a process has died, reset its Input_Fd
4049         to Invalid_Fd, so that when using multiple processes we can find out
4050         which process has died.
4051
4052 2010-06-21  Robert Dewar  <dewar@adacore.com>
4053
4054         * s-regpat.adb, s-tpoben.adb, sem_attr.adb, sem_util.adb, sem_util.ads,
4055         checks.adb, sem_res.adb: Minor reformatting. Add comments.
4056
4057 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
4058
4059         * sem_ch6.adb (New_Overloaded_Entity): If the new entity is a
4060         rederivation associated with a full declaration in a private part, and
4061         there is a partial view that derives the same parent subprogram, the
4062         new entity does not become visible. This check must be applied to
4063         interface operations as well.
4064
4065 2010-06-21  Thomas Quinot  <quinot@adacore.com>
4066
4067         * checks.adb: Add comments.
4068         * prj-nmsc.adb: Minor reformatting.
4069
4070 2010-06-21  Thomas Quinot  <quinot@adacore.com>
4071
4072         * sem_ch9.adb, checks.adb, sem_util.adb, sem_util.ads, sem_res.adb,
4073         sem_attr.adb (Get_E_First_Or_Last): Use attribute references on E to
4074         extract bounds, to ensure that we get the proper captured values,
4075         rather than an expression that may have changed value since the point
4076         where the subtype was elaborated.
4077         (Find_Body_Discriminal): New utility subprogram to share code between...
4078         (Eval_Attribute): For the case of a subtype bound that references a
4079         discriminant of the current concurrent type, insert appropriate
4080         discriminal reference.
4081         (Resolve_Entry.Actual_Index_Type.Actual_Discriminant_Ref): For a
4082         requeue to an entry in a family in the current task, use corresponding
4083         body discriminal. 
4084         (Analyze_Accept_Statement): Rely on expansion of attribute references
4085         to insert proper discriminal references in range check for entry in
4086         family.
4087
4088 2010-06-21  Emmanuel Briot  <briot@adacore.com>
4089
4090         * s-regpat.adb (Compile): Fix handling of big patterns.
4091
4092 2010-06-21  Robert Dewar  <dewar@adacore.com>
4093
4094         * a-tifiio.adb: Minor reformatting.
4095
4096 2010-06-21  Pascal Obry  <obry@adacore.com>
4097
4098         * prj-nmsc.adb (Search_Directories): Use the non-translated directory
4099         path to open it.
4100
4101 2010-06-21  Javier Miranda  <miranda@adacore.com>
4102
4103         * exp_cg.adb (Write_Call_Info): Fill the component sourcename using the
4104         external name.
4105
4106 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
4107
4108         * exp_ch4.adb (Expand_Concatenate): If an object declaration is created
4109         to hold the result, indicate that the target of the declaration does
4110         not need an initialization, to prevent spurious errors when
4111         Initialize_Scalars is enabled.
4112
4113 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
4114
4115         * a-tifiio.adb (Put): In the procedure that performs I/O on a String,
4116         Fore is not bound by line length. The Fore parameter of the internal
4117         procedure that performs the operation is an integer.
4118
4119 2010-06-21  Thomas Quinot  <quinot@adacore.com>
4120
4121         * sem_res.adb, checks.adb: Minor reformatting.
4122
4123 2010-06-21  Emmanuel Briot  <briot@adacore.com>
4124
4125         * s-regpat.adb (Next_Instruction, Get_Next_Offset): Removed, merged
4126         into Get_Next.
4127         (Insert_Operator_Before): New subprogram, avoids duplicated code
4128         (Compile): Avoid doing two compilations when the pattern matcher ends
4129         up being small.
4130
4131 2010-06-21  Emmanuel Briot  <briot@adacore.com>
4132
4133         * s-regpat.adb: Improve debug traces
4134         (Dump): Change output format to keep it smaller.
4135
4136 2010-06-21  Javier Miranda  <miranda@adacore.com>
4137
4138         * exp_cg.adb (Generate_CG_Output): Disable redirection of standard
4139         output to the output file when this routine completes its work.
4140
4141 2010-06-20  Eric Botcazou  <ebotcazou@adacore.com>
4142
4143         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Use while instead of
4144         for loop.  Call build_constructor_from_list directly in the CICO case.
4145
4146 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
4147
4148         * freeze.adb (Build_And_Analyze_Renamed_Body): If the renaming
4149         declaration appears in the same unit and ealier than the renamed
4150         entity, retain generated body to prevent order-of-elaboration issues in
4151         gigi.
4152
4153 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
4154
4155         * s-tpoben.adb: Update comments.
4156
4157 2010-06-18  Robert Dewar  <dewar@adacore.com>
4158
4159         * debug.adb: Minor comment change.
4160
4161 2010-06-18  Javier Miranda  <miranda@adacore.com>
4162
4163         * exp_cg.adb: Code clean up.
4164         * debug.adb: Complete documentation of switch -gnatd.Z.
4165         * gcc-interface/misc.c (callgraph_info_file): Declare.
4166
4167 2010-06-18  Javier Miranda  <miranda@adacore.com>
4168
4169         * exp_cg.adb (Homonym_Suffix_Length): Minor code reorganization.
4170
4171 2010-06-18  Thomas Quinot  <quinot@adacore.com>
4172
4173         * sprint.ads: Minor reformatting.
4174         * output.ads: Update obsolete comment.
4175
4176 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
4177
4178         * freeze.adb (Build_And_Analyze_Renamed_Body): if the renamed entity is
4179         an external intrinsic operation (e.g. a GCC numeric function) indicate
4180         that the renaming entity has the same characteristics, so a call to it
4181         is properly expanded.
4182
4183 2010-06-18  Javier Miranda  <miranda@adacore.com>
4184
4185         * exp_cg.adb, exp_cg.ads, exp_disp.adb, gnat1drv.adb: Add initial
4186         support for dispatch table/callgraph info generation.
4187         * gcc-interface/Make-lang.in: Update dependencies.
4188
4189 2010-06-18  Robert Dewar  <dewar@adacore.com>
4190
4191         * exp_ch6.adb: Minor reformatting.
4192         * gnatname.adb: Add comment.
4193
4194 2010-06-18  Vincent Celier  <celier@adacore.com>
4195
4196         * gnatname.adb (Scan_Args): When --and is used, make sure that the
4197         dynamic tables in the newly allocated Argument_Data are properly
4198         initialized.
4199
4200 2010-06-18  Eric Botcazou  <ebotcazou@adacore.com>
4201
4202         * gnat1drv.adb: Fix comment.
4203
4204 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
4205
4206         * exp_ch6.adb (Expand_Inlined_Call): If the inlined subprogram is a
4207         renaming, re-expand the call with the renamed subprogram if that one
4208         is marked inlined as well.
4209
4210 2010-06-18  Gary Dismukes  <dismukes@adacore.com>
4211
4212         * gnat1drv.adb (Adjust_Global_Switches): Enable
4213         Use_Expression_With_Actions for AAMP and VM targets.
4214
4215 2010-06-18  Vincent Celier  <celier@adacore.com>
4216
4217         * prj-nmsc.adb (Process_Linker): Recognize response file format GCC.
4218
4219 2010-06-18  Thomas Quinot  <quinot@adacore.com>
4220
4221         * exp_ch4.adb: Minor reformatting.
4222
4223 2010-06-18  Javier Miranda  <miranda@adacore.com>
4224
4225         * debug.ads Add documentation on -gnatd.Z.
4226
4227 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
4228
4229         * sem_elim.adb: Proper error message on improperly eliminated instances
4230
4231 2010-06-18  Vincent Celier  <celier@adacore.com>
4232
4233         * prj.ads (Response_File_Format): New value GCC.
4234
4235 2010-06-18  Thomas Quinot  <quinot@adacore.com>
4236
4237         * gnat1drv.adb: Minor reformatting.
4238
4239 2010-06-18  Robert Dewar  <dewar@adacore.com>
4240
4241         * make.adb, sem_cat.adb: Minor reformatting.
4242         * sem_eval.adb: Fix typos.
4243
4244 2010-06-18  Pascal Obry  <obry@adacore.com>
4245
4246         * prj-nmsc.adb: Fix source filenames casing in debug output.
4247
4248 2010-06-18  Robert Dewar  <dewar@adacore.com>
4249
4250         * gnatcmd.adb: Minor reformatting.
4251
4252 2010-06-18  Robert Dewar  <dewar@adacore.com>
4253
4254         * sem_eval.adb (Eval_Conditional_Expression): Result is static if
4255         condition and both sub-expressions are static (and result is selected
4256         expression).
4257
4258 2010-06-18  Robert Dewar  <dewar@adacore.com>
4259
4260         * g-pehage.adb: Minor reformatting
4261
4262 2010-06-18  Pascal Obry  <obry@adacore.com>
4263
4264         * prj-nmsc.adb (Search_Directories): Insert canonical filenames into
4265         source hash table.
4266
4267 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
4268
4269         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
4270         dependencies. Fix target pairs on darwin.
4271         (gnatlib-sjlj, gnatlib-zcx): Pass THREAD_KIND.
4272
4273 2010-06-18  Pascal Obry  <obry@adacore.com>
4274
4275         * make.adb, prj-nmsc.adb: Fix source filenames casing in debug output.
4276
4277 2010-06-18  Vincent Celier  <celier@adacore.com>
4278
4279         * gnatcmd.adb: For gnatcheck, add -gnatec= switch for a global
4280         configuration pragmas file and, if -U is not used, for a local one.
4281
4282 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
4283
4284         * sem_elim.adb (Check_Eliminated): Use full information on entity name
4285         when it is given in the pragma by a selected component.
4286         (Check_For_Eliminated_Subprogram): Do no emit error if within a
4287         instance body that is itself within a generic unit.
4288         * sem_ch12.adb (Analyze_Subprogram_Instance): If the subprogram is
4289         eliminated, mark as well the anonymous subprogram that is its alias
4290         and appears within the wrapper package.
4291
4292 2010-06-18  Bob Duff  <duff@adacore.com>
4293
4294         * g-pehage.ads, g-pehage.adb (Produce): Clean up some of the code.
4295         Raise an exception if the output file cannot be opened. Add comments.
4296
4297 2010-06-18  Thomas Quinot  <quinot@adacore.com>
4298
4299         * sem_cat.adb (Validate_Object_Declaration): A variable declaration is
4300         not illegal per E.2.2(7) if it occurs in the private part of a
4301         Remote_Types unit.
4302
4303 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
4304
4305         * par-ch9.adb, sem_aggr.adb, sem_ch3.adb, layout.adb, sem_ch4.adb,
4306         sem_ch5.adb, sem_mech.adb, exp_util.adb, par-ch10.adb, sem_ch6.adb,
4307         par-ch11.adb, sem_ch7.adb, par-prag.adb, exp_disp.adb, par-ch12.adb,
4308         sem_ch8.adb, style.adb, sem_ch9.adb, sem_ch10.adb, prep.adb,
4309         sem_warn.adb, par-util.adb, scng.adb, sem_eval.adb, checks.adb,
4310         sem_prag.adb, sem_ch12.adb, styleg.adb, sem_ch13.adb, par-ch3.adb,
4311         par-tchk.adb, freeze.adb, sfn_scan.adb, par-ch4.adb, sem_util.adb,
4312         sem_res.adb, par-ch5.adb, lib-xref.adb, sem_attr.adb, par-ch6.adb,
4313         sem_disp.adb, prepcomp.adb, par-ch7.adb, sem_elab.adb, exp_ch4.adb,
4314         errout.ads: Update comments. Minor reformatting.
4315
4316         * g-spipat.adb, a-swunau.adb, a-swunau.ads, g-spitbo.adb,
4317         a-szunau.adb, a-szunau.ads, a-stunau.adb, a-stunau.ads,
4318         a-strunb.adb (Big_String. Big_String_Access): New type.
4319
4320         * par-labl.adb, restrict.adb, s-osinte-hpux-dce.ads, sem_ch11.adb,
4321         exp_pakd.adb, s-filofl.ads, par-endh.adb, exp_intr.adb, sem_cat.adb,
4322         sem_case.adb, exp_ch11.adb, s-osinte-linux.ads: Fix copyright notices.
4323
4324 2010-06-18  Geert Bosch  <bosch@adacore.com>
4325
4326         * i-forbla-darwin.adb: Include -lgnala and -lm in linker options for
4327         Darwin.
4328
4329 2010-06-18  Robert Dewar  <dewar@adacore.com>
4330
4331         * gnat1drv.adb (Adjust_Global_Switches): Set Use_Expression_With_Actions
4332         true for gcc.
4333
4334 2010-06-18  Robert Dewar  <dewar@adacore.com>
4335
4336         * sprint.adb: Minor format change for N_Expression_With_Actions.
4337         * repinfo.adb: Minor reformatting.
4338
4339 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
4340
4341         * sem_elim.adb (Check_Eliminated): If within a subunit, use
4342         Defining_Entity to obtain the name of the entity in the proper body, to
4343         properly handle both separate packages and subprograms.
4344
4345 2010-06-18  Emmanuel Briot  <briot@adacore.com>
4346
4347         * prj-nmsc.adb (Check_File): New parameter Display_Path.
4348
4349 2010-06-18  Thomas Quinot  <quinot@adacore.com>
4350
4351         * g-socket.adb, g-socket.ads (Null_Selector): New object.
4352
4353 2010-06-18  Pascal Obry  <obry@adacore.com>
4354
4355         * gnat_ugn.texi: Minor clarification.
4356
4357 2010-06-18  Emmanuel Briot  <briot@adacore.com>
4358
4359         * prj-nmsc.adb (Find_Source_Dirs): Minor refactoring to avoid duplicate
4360         code when using the project dir as the source dir.
4361         (Search_Directories): use the normalized name for the source directory,
4362         where symbolic names have potentially been resolved.
4363
4364 2010-06-18  Robert Dewar  <dewar@adacore.com>
4365
4366         * exp_ch4.adb (Expand_N_Conditional_Expression): Clear Actions field
4367         when we create N_Expression_With_Actions node.
4368         (Expand_Short_Circuit): Ditto.
4369
4370 2010-06-18  Robert Dewar  <dewar@adacore.com>
4371
4372         * exp_util.adb: Minor reformatting.
4373
4374 2010-06-18  Thomas Quinot  <quinot@adacore.com>
4375
4376         * types.ads: Clean up obsolete comments
4377         * tbuild.adb: Minor reformatting.
4378         * exp_ch5.adb, sem_intr.adb, sem_ch10.adb, rtsfind.adb, s-shasto.adb,
4379         exp_strm.adb, aa_drive.adb: Minor reformatting.
4380         * sem_res.adb (Is_Predefined_Operator): An operator that is an imported
4381         intrinsic with an Interface_Name denotes an imported back-end builtin,
4382         and must be rewritten into a call, not left in the tree as an operator,
4383         so return False in that case.
4384
4385 2010-06-18  Eric Botcazou  <ebotcazou@adacore.com>
4386
4387         * exp_util.adb (Remove_Side_Effects): Make a copy for an allocator.
4388         
4389 2010-06-18  Robert Dewar  <dewar@adacore.com>
4390
4391         * scos.ads: Add proposed output for case expression
4392
4393 2010-06-18  Jose Ruiz  <ruiz@adacore.com>
4394
4395         * gnat_ugn.texi: Document that, when using the RTX compiler to generate
4396         RTSS modules, we need to use the Microsoft linker.
4397
4398 2010-06-18  Robert Dewar  <dewar@adacore.com>
4399
4400         * checks.adb (Safe_To_Capture_In_Parameter_Value): Deal with case
4401         expression (cannot count on a particular branch being executed).
4402         * exp_ch4.adb (Expand_N_Case_Expression): New procedure.
4403         * exp_ch4.ads (Expand_N_Case_Expression): New procedure.
4404         * exp_util.adb (Insert_Actions): Deal with proper insertion of actions
4405         within case expression.
4406         * expander.adb (Expand): Add call to Expand_N_Case_Expression
4407         * par-ch4.adb Add calls to P_Case_Expression at appropriate points
4408         (P_Case_Expression): New procedure
4409         (P_Case_Expression_Alternative): New procedure
4410         * par.adb (P_Case_Expression): New procedure
4411         * par_sco.adb (Process_Decisions): Add dummy place holder entry for
4412         N_Case_Expression.
4413         * sem.adb (Analyze): Add call to Analyze_Case_Expression
4414         * sem_case.ads (Analyze_Choices): Also used for case expressions now,
4415         this is a documentation change only.
4416         * sem_ch4.ads, sem_ch4.adb (Analyze_Case_Expression): New procedure.
4417         * sem_ch6.adb (Fully_Conformant_Expressions): Add handling of case
4418         expressions.
4419         * sem_eval.ads, sem_eval.adb (Eval_Case_Expression): New procedure.
4420         * sem_res.adb (Resolve_Case_Expression): New procedure.
4421         * sem_scil.adb (Find_SCIL_Node): Add processing for
4422         N_Case_Expression_Alternative.
4423         * sinfo.ads, sinfo.adb (N_Case_Expression): New node.
4424         (N_Case_Expression_Alternative): New node.
4425         * sprint.adb (Sprint_Node_Actual): Add processing for new nodes
4426         N_Case_Expression and N_Case_Expression_Alternative.
4427
4428 2010-06-18  Robert Dewar  <dewar@adacore.com>
4429
4430         * par-ch7.adb, sem_warn.adb, types.ads, par-ch3.adb: Minor reformatting.
4431         * gnat1drv.adb: Fix typo.
4432
4433 2010-06-18  Robert Dewar  <dewar@adacore.com>
4434
4435         * par-prag.adb (Prag, case Style_Checks): All_Checks sets gnat style
4436         for -gnatg.
4437         * sem_prag.adb (Analyze_Pragma, case Style_Checks): All_Checks sets
4438         gnat style for -gnatg.
4439         * gnat_rm.texi: Add documentation for ALL_CHECKS in GNAT mode.
4440
4441 2010-06-18  Thomas Quinot  <quinot@adacore.com>
4442
4443         * sem_eval.adb (Test_In_Range): New subprogram, factoring duplicated
4444         code between...
4445         (Is_In_Range, Is_Out_Of_Range): Reimplement in terms of call to
4446         Test_In_Range.
4447
4448 2010-06-18  Robert Dewar  <dewar@adacore.com>
4449
4450         * sprint.adb: Minor change in output format for expression wi actions.
4451         * par-ch3.adb: Minor code reorganization.  Minor reformatting.
4452         * sem_ch5.adb: Minor comment fix.
4453
4454 2010-06-18  Robert Dewar  <dewar@adacore.com>
4455
4456         * debug.adb: New debug flag -gnatd.L to control
4457         Back_End_Handles_Limited_Types.
4458         * exp_ch4.adb (Expand_N_Conditional_Expression): Let back end handle
4459         limited case if Back_End_Handles_Limited_Types is True.
4460         (Expand_N_Conditional_Expression): Use N_Expression_With_Actions to
4461         simplify expansion if Use_Expression_With_Actions is True.
4462         * gnat1drv.adb (Adjust_Global_Switches): Set
4463         Back_End_Handles_Limited_Types.
4464         * opt.ads (Back_End_Handles_Limited_Types): New flag.
4465
4466 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
4467
4468         * sem_res.adb (Rewrite_Operator_As_Call): Do not rewrite user-defined
4469         intrinsic operator if expansion is not enabled, because in an
4470         instantiation the original operator must be present to verify the
4471         legality of the operation.
4472
4473 2010-06-18  Robert Dewar  <dewar@adacore.com>
4474
4475         * exp_disp.adb, sem_ch12.adb: Minor reformatting
4476
4477 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
4478
4479         * exp_util.adb (Make_Subtype_From_Expr): If the unconstrained type is
4480         the class-wide type for a private extension, and the completion is a
4481         subtype, set the type of the class-wide type to the base type of the
4482         full view.
4483
4484 2010-06-18  Robert Dewar  <dewar@adacore.com>
4485
4486         * g-socket.ads, sem_aggr.adb, einfo.ads, sem_elim.adb,
4487         sem_intr.adb, sem_eval.adb: Minor reformatting
4488
4489 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
4490
4491         * sem_type.adb (Is_Ancestor): If either type is private, examine full
4492         view.
4493
4494 2010-06-18  Thomas Quinot  <quinot@adacore.com>
4495
4496         * g-socket.adb, g-socket.ads (Check_Selector): Make Selector an IN
4497         parameter rather than IN OUT.
4498
4499 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
4500
4501         * exp_ch6.adb: Add extra guard.
4502
4503 2010-06-18  Gary Dismukes  <dismukes@adacore.com>
4504
4505         * sem_util.adb (Object_Access_Level): For Ada 2005, determine the
4506         accessibility level of a function call from the level of the innermost
4507         enclosing dynamic scope.
4508         (Innermost_Master_Scope_Depth): New function to find the depth of the
4509         nearest dynamic scope enclosing a node.
4510
4511 2010-06-18  Tristan Gingold  <gingold@adacore.com>
4512
4513         * adaint.c: Make ATTR_UNSET static as it is not used outside this file.
4514
4515 2010-06-18  Thomas Quinot  <quinot@adacore.com>
4516
4517         * g-socket.ads: Minor reformatting.
4518
4519 2010-06-18  Vincent Celier  <celier@adacore.com>
4520
4521         * make.adb (Must_Compile): New Boolean global variable
4522         (Main_On_Command_Line): New Boolean global variable
4523         (Collect_Arguments_And_Compile): Do compile if Must_Compile is True,
4524         even when the project is externally built.
4525         (Start_Compile_If_Possible): Compile in -aL directories if
4526         Check_Readonly_Files is True. Do compile if Must_Compile is True, even
4527         when the project is externally built.
4528         (Gnatmake): Set Must_Compile and Check_Readonly_Files to True when
4529         invoked with -f -u and one or several mains on the command line.
4530         (Scan_Make_Arg): Set Main_On_Command_Line to True when at least one main
4531         is specified on the command line.
4532
4533 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
4534
4535         * sem_ch6.adb (Build_Body_For_Inline): Handle extended_return_statements
4536         * exp_ch6.adb (Expand_Inlined_Call): when possible, inline a body
4537         containing extented_return statements.
4538         * exp_util.adb (Make_CW_Equivalent_Type): If the root type is already
4539         constrained, do not build subtype declaration.
4540
4541 2010-06-18  Robert Dewar  <dewar@adacore.com>
4542
4543         * sem_res.adb (Analyze_Indexed_Component, Analyze_Selected_Component):
4544         Warn on assigning to packed atomic component.
4545
4546 2010-06-18  Robert Dewar  <dewar@adacore.com>
4547
4548         * sem_util.ads: Minor reformatting
4549         * einfo.ads, einfo.adb: Minor doc clarification (scope of decls in
4550         Expression_With_Actions).
4551         * snames.ads-tmpl: Minor comment fix
4552
4553 2010-06-18  Robert Dewar  <dewar@adacore.com>
4554
4555         * sem_prag.adb (Diagnose_Multiple_Pragmas): New procedure
4556         (Set_Imported): Use Import_Interface_Present to control message output
4557         * sinfo.ads, sinfo.adb (Import_Interface_Present): New flag
4558         * gnat_rm.texi: Document that we can have pragma Import and pragma
4559         Interface for the same subprogram.
4560
4561 2010-06-18  Robert Dewar  <dewar@adacore.com>
4562
4563         * lib-xref.adb (Generate_Reference): Fix bad reference to
4564         Has_Pragma_Unreferenced (clients should always use Has_Unreferenced).
4565
4566 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
4567
4568         * gcc-interface/trans.c (set_gnu_expr_location_from_node): New static
4569         function.
4570         (gnat_to_gnu) <N_Expression_With_Actions>: New case.
4571         Use set_gnu_expr_location_from_node to set location information on the
4572         result.
4573
4574 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
4575
4576         * gcc-interface/Make-lang.in: Update dependencies.
4577
4578 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
4579
4580         * sem_util.adb (Is_Atomic_Object): Predicate does not apply to
4581         subprograms.
4582
4583 2010-06-17  Robert Dewar  <dewar@adacore.com>
4584
4585         * gnat_rm.texi, gnat_ugn.texi: Clean up documentation on warning and
4586         style check messages.
4587         * sem_res.adb (Resolve_Call): Don't call
4588         Check_For_Eliminated_Subprogram if we are analyzing within a spec
4589         expression.
4590
4591 2010-06-17  Robert Dewar  <dewar@adacore.com>
4592
4593         * debug.adb: Add documentation for debug flags .X and .Y
4594         * exp_ch4.adb (Expand_Short_Circuit_Operator): Use
4595         Use_Expression_With_Actions.
4596         * gnat1drv.adb (Adjust_Global_Switches): Set
4597         Use_Expression_With_Actions.
4598         * opt.ads (Use_Expression_With_Actions): New switch.
4599
4600 2010-06-17  Robert Dewar  <dewar@adacore.com>
4601
4602         * exp_intr.adb: Minor code reorganization (use UI_Max)
4603         * sem_intr.adb: use underlying type to check legality.
4604         * einfo.adb (Known_Static_Esize): False for generic types
4605         (Known_Static_RM_Size): False for generic types
4606         * einfo.ads (Known_Static_Esize): False for generic types
4607         (Known_Static_RM_Size): False for generic types
4608
4609 2010-06-17  Robert Dewar  <dewar@adacore.com>
4610
4611         * exp_ch4.ads: Minor code reorganization (specs in alpha order).
4612
4613 2010-06-17  Robert Dewar  <dewar@adacore.com>
4614
4615         * debug.adb: New debug flag -gnatd.X to use Expression_With_Actions
4616         node when expanding short circuit form with actions present for right
4617         opnd.
4618         * exp_ch4.adb: Minor reformatting
4619         (Expand_Short_Circuit_Operator): Use new Expression_With_Actions node if
4620         right opeand has actions present, and debug flag -gnatd.X is set.
4621         * exp_util.adb (Insert_Actions): Handle case of Expression_With_Actions
4622         node.
4623         * nlists.adb (Prepend_List): New procedure
4624         (Prepend_List_To): New procedure
4625         * nlists.ads (Prepend_List): New procedure
4626         (Prepend_List_To): New procedure
4627         * sem.adb: Add processing for Expression_With_Actions
4628         * sem_ch4.adb (Analyze_Expression_With_Actions): New procedure
4629         * sem_ch4.ads (Analyze_Expression_With_Actions): New procedure
4630         * sem_res.adb: Add processing for Expression_With_Actions.
4631         * sem_scil.adb: Add processing for Expression_With_Actions
4632         * sinfo.ads, sinfo.adb (N_Expression_With_Actions): New node.
4633         * sprint.ads, sprint.adb: Add processing for Expression_With_Actions
4634
4635 2010-06-17  Doug Rupp  <rupp@adacore.com>
4636
4637         * sem_intr.adb (Check_Intrinsic_Operator): Check that the types
4638         involved both have underlying integer types.
4639         * exp_intr.adb (Expand_Binary_Operator) New subprogram to expand a call
4640         to an intrinsic operator when the operand types or sizes are not
4641         identical.
4642         * s-auxdec-vms_64.ads: Revert "+" "-" ops back to Address now that
4643         64/32 Address/Integer works.
4644
4645 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
4646
4647         * sem_ch12.adb (Mark_Context): Refine placement of Withed_Body flag, so
4648         that it marks a unit as needed by a spec only if the corresponding
4649         instantiation appears in that spec (and not in the corresponding body).
4650         * sem_elim.adb (Check_Eliminated): If we are within a subunit, the name
4651         in the pragma Eliminate has been parsed as a child unit, but the
4652         current compilation unit is in fact the parent in which the subunit is
4653         embedded.
4654
4655 2010-06-17  Vincent Celier  <celier@adacore.com>
4656
4657         * gnat_rm.texi: Fix typo
4658
4659 2010-06-17  Robert Dewar  <dewar@adacore.com>
4660
4661         * sem_util.adb: Minor reformatting
4662
4663 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
4664
4665         * sem.adb (Do_Withed_Unit): if the unit in the with_clause is a generic
4666         instance, the clause now denotes the instance body. Traverse the
4667         corresponding spec because there may be no other dependence that will
4668         force the traversal of its own context.
4669
4670 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
4671
4672         * sem_ch10.adb (Is_Ancestor_Unit): Subsidiary to
4673         Install_Limited_Context_Clauses, to determine whether a limited_with in
4674         some parent of the current unit designates some other parent, in which
4675         case the limited_with clause must not be installed.
4676         (In_Context): Refine test.
4677
4678 2010-06-17  Gary Dismukes  <dismukes@adacore.com>
4679
4680         * sem_util.adb (Collect_Primitive_Operations): In the of an untagged
4681         type with a dispatching equality operator that is overridden (for a
4682         tagged full type), don't include the overridden equality in the list of
4683         primitives. The overridden equality is detected by testing for an
4684         Aliased field that references the overriding equality.
4685
4686 2010-06-17  Robert Dewar  <dewar@adacore.com>
4687
4688         * freeze.adb: Minor reformatting.
4689
4690 2010-06-17  Joel Brobecker  <brobecker@adacore.com brobecker>
4691
4692         * gnat_ugn.texi: Add a section introducing gdbserver.
4693
4694 2010-06-17  Thomas Quinot  <quinot@adacore.com>
4695
4696         * sem_res.adb, sem_ch4.adb, s-stoele.adb, par-labl.adb: Minor
4697         reformatting.
4698
4699 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
4700
4701         * sem_aggr.adb (Valid_Ancestor_Type): handle properly the case of a
4702         constrained discriminated parent that is a private type.
4703         (Analyze_Record_Aggregate): when collecting inherited discriminants,
4704         handle properly an ancestor type that is a constrained private type.
4705
4706 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
4707
4708         * sem_util.adb (Enclosing_Subprogram): If the called subprogram is
4709         protected, use the protected_subprogram_body only if the original
4710         subprogram has not been eliminated.
4711
4712 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
4713
4714         * freeze.adb (Freeze_Expression): The designated type of an
4715         access_to_suprogram type can only be frozen if all types in its profile
4716         are fully defined.
4717
4718 2010-06-17  Robert Dewar  <dewar@adacore.com>
4719
4720         * par.adb: Minor comment fix
4721         * sem_aggr.adb, sem_ch3.adb: Minor reformatting
4722
4723 2010-06-17  Doug Rupp  <rupp@adacore.com>
4724
4725         * s-auxdec-vms_64.ads: Revert Integer to Long_Integer change, instead
4726         change Address to Short_Address in functions where both must be the
4727         same size for intrinsics to work.
4728
4729 2010-06-17  Thomas Quinot  <quinot@adacore.com>
4730
4731         * sem_ch4.adb (Analyze_Selected_Component): A selected component may
4732         not denote a (private) component of a protected object.
4733
4734 2010-06-17  Bob Duff  <duff@adacore.com>
4735
4736         * par-labl.adb (Try_Loop): Test whether the label and the goto are in
4737         the same list.
4738
4739 2010-06-17  Joel Brobecker  <brobecker@adacore.com brobecker>
4740
4741         * gnat_ugn.texi: Update the documentation about GDB re: exception
4742         catchpoints.
4743
4744 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
4745
4746         * gnatvsn.ads: Bump to 4.6 version.
4747
4748 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
4749
4750         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): The
4751         designated type of the generated pointer is the type of the original
4752         expression, not that of the function call itself, because the return
4753         type may be an untagged  derived type and the function may be an
4754         inherited operation.
4755
4756 2010-06-17  Robert Dewar  <dewar@adacore.com>
4757
4758         * exp_ch4.adb: Minor reformatting.
4759
4760 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
4761
4762         * sinfo.ads, sinfo.adb (Inherited_Discriminant): New flag on
4763         N_Component_Association nodes, to indicate that a component association
4764         of an extension aggregate denotes the value of a discriminant of an
4765         ancestor type that has been constrained by the derivation.
4766         * sem_aggr.adb (Discr_Present): use Inherited_Discriminant to prevent a
4767         double expansion of the aggregate appearing in a context that delays
4768         expansion, to prevent double insertion of discriminant values when the
4769         aggregate is reanalyzed.
4770
4771 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
4772
4773         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not use
4774         Allocator as the Related_Node of Return_Obj_Access in call to
4775         Make_Temporary below as this would create a sort of infinite
4776         "recursion".
4777
4778 2010-06-17  Ben Brosgol  <brosgol@adacore.com>
4779
4780         * gnat_ugn.texi: Update gnatcheck doc.
4781
4782 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
4783
4784         * sem_ch3.adb (Build_Incomplete_Type_Declaration): If there is an
4785         incomplete view of the type that is not tagged, and the full type is a
4786         tagged extension, create class_wide type now, and warn that the
4787         incomplete view should be tagged as well.
4788
4789 2010-06-17  Vincent Celier  <celier@adacore.com>
4790
4791         * gnatcmd.adb (Non_VMS_Usage): Do not issue usage for gnat sync.
4792         Update the last line of the usage, indicating what commands do not
4793         accept project file switches.
4794         * vms_conv.adb: Do not issue usage line for GNAT SYNC
4795         * vms_data.ads: Fix errors in the qualifiers /LOGFILE and /MAIN of
4796         GNAT ELIM.
4797         * gnat_ugn.texi: Document the relaxed rules for library directories in
4798         externally built library projects.
4799
4800 2010-06-17  Doug Rupp  <rupp@adacore.com>
4801
4802         * s-auxdec-vms_64.ads: Make boolean and arithmetic operations intrinsic
4803         where possible.
4804         * s-auxdec-vms-alpha.adb: Remove kludges for aforemention.
4805         * gcc-interface/Makefile.in: Update VMS target pairs.
4806
4807 2010-06-17  Vasiliy Fofanov  <fofanov@adacore.com>
4808
4809         * adaint.c: Reorganized in order to avoid use of GetProcessId to stay
4810         compatible with Windows NT 4.0 which doesn't provide this function.
4811
4812 2010-06-17  Vincent Celier  <celier@adacore.com>
4813
4814         * ali-util.adb (Time_Stamp_Mismatch): In Verbose mode, if there is
4815         different timestamps but the checksum is the same, issue a short
4816         message saying so.
4817
4818 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
4819
4820         * s-interr.adb (Finalize): If the Abort_Task signal is set to system,
4821         it means that we cannot reset interrupt handlers since this would
4822         require potentially sending the abort signal to the Server_Task.
4823
4824 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
4825
4826         * exp_ch4.adb: expand NOT for VMS types.
4827         * sem_util.adb: Use OpenVMS_On_Target for IS_VMS_Operator.
4828
4829 2010-06-17  Sergey Rybin  <rybin@adacore.com>
4830
4831         * vms_data.ads: Add qualifier for '--no-elim-dispatch' gnatelim option.
4832         * gnat_ugn.texi (gnatelim): add description for --no-elim-dispatch
4833         option.
4834
4835 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
4836
4837         * exp_ch6.adb (Expand_Call): Do not expand a call to an internal
4838         protected operation if the subprogram has been eliminated.
4839
4840 2010-06-17  Vincent Celier  <celier@adacore.com>
4841
4842         * prj-nmsc.adb (Check_Library_Attributes): Allow the different
4843         directories associated with a library to be any directory when the
4844         library project is externally built.
4845
4846 2010-06-17  Vincent Celier  <celier@adacore.com>
4847
4848         * make.adb (Check): If switch -m is used, deallocate the memory that
4849         may be allocated when computing the checksum.
4850
4851 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
4852
4853         * g-socthi-mingw.adb (C_Recvmsg): Add 'use type' clause for C.size_t;
4854         (C_Sendmsg): Likewise.
4855
4856 2010-06-17  Thomas Quinot  <quinot@adacore.com>
4857
4858         * sem_res.adb: Update comments.
4859
4860 2010-06-17  Vincent Celier  <celier@adacore.com>
4861
4862         * back_end.adb (Scan_Compiler_Arguments): Process last argument
4863
4864 2010-06-17  Robert Dewar  <dewar@adacore.com>
4865
4866         * exp_ch3.adb, exp_ch6.adb, exp_smem.adb, exp_util.adb: Use Ekind_In.
4867         * layout.adb, freeze.adb: Use Make_Temporary.
4868
4869 2010-06-17  Jerome Lambourg  <lambourg@adacore.com>
4870
4871         * exp_ch11.adb (Expand_N_Raise_Statement): Expand raise statements in
4872         .NET/JVM normally as this is now perfectly supported by the backend.
4873
4874 2010-06-17  Pascal Obry  <obry@adacore.com>
4875
4876         * gnat_rm.texi: Fix minor typo, remove duplicate blank lines.
4877
4878 2010-06-17  Vincent Celier  <celier@adacore.com>
4879
4880         * make.adb (Collect_Arguments_And_Compile): Create include path file
4881         only when -x is specified.
4882         (Gnatmake): Ditto
4883         * opt.ads (Use_Include_Path_File): New Boolean flag, initialized to
4884         False.
4885         * prj-env.adb (Set_Ada_Paths): New Boolean parameters Include_Path and
4886         Objects_Path, defaulted to True. Only create include path file if
4887         Include_Path is True, only create objects path file if Objects_Path is
4888         True.
4889         * prj-env.ads (Set_Ada_Paths): New Boolean parameters Include_Path and
4890         Objects_Path, defaulted to True.
4891         * switch-m.adb (Scan_Make_Switches): Set Use_Include_Path_File to True
4892         when -x is used.
4893
4894 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
4895
4896         * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
4897         determine whether it has the controlling type, when the formal is an
4898         access parameter.
4899
4900 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
4901
4902         * s-crtl.ads (ssize_t): New type.
4903         (read): Fix signature.
4904         (write): Likewise.
4905         * g-socthi.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
4906         'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
4907         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
4908         (C_Sendmsg): Likewise.
4909         * g-socthi.adb (Syscall_Recvmsg): Likewise.
4910         (Syscall_Sendmsg): Likewise.
4911         (C_Recvmsg): Likewise.
4912         (C_Sendmsg): Likewise.
4913         * g-socthi-mingw.ads: Add 'with System.CRTL' clause.  Remove ssize_t
4914         and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
4915         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
4916         (C_Sendmsg): Likewise.
4917         * g-socthi-mingw.adb (C_Recvmsg): Likewise.
4918         (C_Sendmsg): Likewise.
4919         * g-socthi-vms.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
4920         'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
4921         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
4922         (C_Sendmsg): Likewise.
4923         * g-socthi-vms.adb (C_Recvmsg): Likewise.
4924         (C_Sendmsg): Likewise.
4925         * g-socthi-vxworks.ads Add 'with System.CRTL' clause.  Remove ssize_t
4926         and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
4927         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
4928         (C_Sendmsg): Likewise.
4929         * g-socthi-vxworks.adb (C_Recvmsg): Likewise.
4930         (C_Sendmsg): Likewise.
4931         * g-sercom-linux.adb (Read): Use correct types to call 'read'.
4932         (Write): Likewise to call 'write'.
4933         * s-os_lib.adb (Read): Use correct type to call System.CRTL.read.
4934         (Write): Use correct type to call System.CRTL.write.
4935         * s-tasdeb.adb (Write): Likewise.
4936
4937 2010-06-17  Vincent Celier  <celier@adacore.com>
4938
4939         * prj-proc.adb (Copy_Package_Declarations): Change argument name
4940         Naming_Restricted to Restricted. If Restricted is True, do not copy the
4941         value of attribute Linker_Options.
4942
4943 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
4944
4945         * gcc-interface/trans.c (push_stack, pop_stack): Delete.
4946         (Case_Statement_to_gnu): Adjust.
4947         (Loop_Statement_to_gnu): Likewise.
4948         (Subprogram_Body_to_gnu): Likewise.
4949         (Handled_Sequence_Of_Statements_to_gnu): Likewise.
4950         (Compilation_Unit_to_gnu): Likewise.
4951
4952 2010-06-17  Robert Dewar  <dewar@adacore.com>
4953
4954         * exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb,
4955         exp_sel.adb, exp_util.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb,
4956         sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb, sem_ch9.adb,
4957         sem_dist.adb, sem_util.adb: Use Make_Temporary
4958         * itypes.ads, tbuild.ads: Minor comment update
4959         * exp_ch9.adb, exp_dist.adb: Minor reformatting
4960
4961 2010-06-17  Thomas Quinot  <quinot@adacore.com>
4962
4963         * exp_imgv.adb, exp_ch7.ads: Minor reformatting.
4964
4965 2010-06-17  Robert Dewar  <dewar@adacore.com>
4966
4967         * exp_ch9.adb, exp_disp.adb, exp_dist.adb: Use Make_Temporary.
4968
4969 2010-06-17  Thomas Quinot  <quinot@adacore.com>
4970
4971         * sprint.adb (pg): Set Dump_Freeze_Null, to be consistent with -gnatdg.
4972
4973 2010-06-17  Robert Dewar  <dewar@adacore.com>
4974
4975         * exp_ch6.adb, exp_ch7.adb, exp_ch5.adb: Use Make_Temporary
4976         * tbuild.ads (Make_Temporary): More comment updates
4977         * tbuild.adb: Minor reformatting
4978
4979 2010-06-17  Robert Dewar  <dewar@adacore.com>
4980
4981         * checks.adb, exp_aggr.adb, exp_atag.adb, exp_attr.adb, exp_ch11.adb,
4982         exp_ch3.adb, exp_ch4.adb: Minor code reorganization.
4983         Use Make_Temporary.
4984         * tbuild.ads, tbuild.adb (Make_Temporary): Clean up, use Entity_Id
4985         instead of Node_Id.
4986         (Make_Temporary): Add more extensive documentation
4987
4988 2010-06-17  Robert Dewar  <dewar@adacore.com>
4989
4990         * sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb,
4991         sem_warn.adb, sem_eval.adb: Minor reformatting.  Use Ekind_In.
4992         (Set_Slice_Subtype): Explicitly freeze the slice's itype at the point
4993         where the slice's actions are inserted.
4994         (Decompose_Expr): Account for possible rewriting of slice bounds
4995         resulting from side effects suppression caused by the above freezing,
4996         so that folding of bounds is preserved by such rewriting.
4997
4998 2010-06-17  Robert Dewar  <dewar@adacore.com>
4999
5000         * einfo.ads, einfo.adb (Get_Record_Representation_Clause): New function.
5001         * freeze.adb (Freeze_Record_Type): Add call to
5002         Check_Record_Representation_Clause.
5003         * sem_ch13.adb (Check_Record_Representation_Clause): New function
5004         (Analyze_Record_Representation_Clause): Split out overlap code into this
5005         new function.
5006         (Check_Component_Overlap): Moved inside
5007         Check_Record_Representation_Clause.
5008         * sem_ch13.ads (Check_Record_Representation_Clause): New function.
5009
5010 2010-06-17  Robert Dewar  <dewar@adacore.com>
5011
5012         * back_end.adb, sem_res.adb, switch-c.adb, sem_scil.adb: Minor
5013         reformatting.
5014         * sem_attr.adb, sem_cat.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb,
5015         sem_eval.adb: Use Ekind_In
5016
5017 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
5018
5019         * sem_ch8.adb: better error message for illegal inherited discriminant
5020
5021 2010-06-17  Vincent Celier  <celier@adacore.com>
5022
5023         * bindusg.adb: Remove lines for -A and -C
5024         * gnat_ugn.texi: Remove all documentation and examples of switches -A
5025         and -C for gnatbind and gnatlink.
5026         * gnatlink.adb (Usage): Remove lines for -A and -C
5027         * switch-b.adb (Scan_Binder_Switches): Issue warning when switch -C is
5028         specified.
5029         * gcc-interface/Make-lang.in: Update dependencies.
5030
5031 2010-06-17  Vincent Celier  <celier@adacore.com>
5032
5033         * back_end.adb (Scan_Compiler_Arguments): Put all arguments in new
5034         local Argument_List variable Args.
5035         * switch-c.adb (Scan_Front_End_Switches): New Argument_List argument
5036         Args.
5037         (Switch_Subsequently_Cancelled): New Argument_List argument Args. Look
5038         for subsequent switches in Args.
5039         * switch-c.ads (Scan_Front_End_Switches): New Argument_List argument
5040         Args.
5041         * gcc-interface/Make-lang.in: Update dependencies.
5042
5043 2010-06-17  Robert Dewar  <dewar@adacore.com>
5044
5045         * einfo.adb: Minor code fix, allow E_Class_Wide_Type for
5046         Equivalent_Type to match documentation.
5047
5048 2010-06-17  Robert Dewar  <dewar@adacore.com>
5049
5050         * sem_ch6.adb, sem_ch7.adb: Minor reformatting.
5051         * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_ch10.adb, sem_ch12.adb,
5052         sem_ch4.adb, sem_ch8.adb, sem_ch13.adb: Make use of Ekind_In.
5053
5054 2010-06-17  Thomas Quinot  <quinot@adacore.com>
5055
5056         * sem_res.adb (Set_Slice_Subtype): Always freeze the slice's itype.
5057
5058 2010-06-17  Thomas Quinot  <quinot@adacore.com>
5059
5060         * freeze.adb (Freeze_Expression): Short circuit operators are valid
5061         freeze node insertion points.
5062
5063 2010-06-17  Robert Dewar  <dewar@adacore.com>
5064
5065         * switch-c.ads, switch-c.adb, sem_ch13.adb: Minor reformatting.
5066         * sem_ch12.adb: Add pragmas Assert and Check to previous change.
5067
5068 2010-06-17  Gary Dismukes  <dismukes@adacore.com>
5069
5070         * layout.adb (Layout_Type): Broaden test for setting an array type's
5071         Component_Size to include all scalar types, not just discrete types
5072         (components of real types were missed).
5073         * sem_ch3.adb (Constrain_Index): Add missing setting of First_Literal
5074         on the itype created for an index (consistent with Make_Index and
5075         avoids possible Assert_Failures).
5076
5077 2010-06-17  Robert Dewar  <dewar@adacore.com>
5078
5079         * atree.ads, atree.adb: Add 6-parameter version of Ekind_In
5080         * einfo.adb: Minor code reformatting (use Ekind_In)
5081
5082 2010-06-17  Robert Dewar  <dewar@adacore.com>
5083
5084         * sem_warn.adb (Test_Ref): Abandon scan if access subprogram parameter
5085         found.
5086
5087 2010-06-17  Vincent Celier  <celier@adacore.com>
5088
5089         * back_end.adb: Minor comment updates
5090         * switch-c.adb: Remove dependencies on gcc C sources
5091         * gcc-interface/Make-lang.in: Add a-comlin.o to the object file list
5092         for the compiler.
5093
5094 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
5095
5096         * sem_ch12.adb: propagate Pragma_Enabled flag to generic.
5097         * get_scos.adb: Set C2 flag in decision entry of pragma to 'e' (enabled)
5098         * par_sco.ads, par_sco.adb (Set_SCO_Pragma_Enabled): New procedure
5099         Remove use of Node field in SCOs table
5100         (Output_Header): Set 'd' to initially disable pragma entry
5101         * put_scos.adb (Put_SCOs): New flag indicating if pragma is enabled
5102         * scos.ads, scos.adb: Remove Node field from internal SCOs table.
5103         Use C2 field of pragma decision header to indicate enabled.
5104         * sem_prag.adb: Add calls to Set_SCO_Pragma_Enabled.
5105         * gcc-interface/Make-lang.in: Update dependencies.
5106
5107 2010-06-17  Vincent Celier  <celier@adacore.com>
5108
5109         * back_end.adb (Next_Arg): Moved to procedure Scan_Compiler_Arguments
5110         (Scan_Compiler_Arguments): Call Scan_Front_End_Switches with Next_Arg
5111         (Switch_Subsequently_Cancelled): Function moved to the body of Switch.C
5112         * back_end.ads (Scan_Front_End_Switches): Function moved to the body of
5113         Switch.C.
5114         * switch-c.adb: Copied a number of global declarations from back_end.adb
5115         (Len_Arg): New function copied from back_end.adb
5116         (Switch_Subsequently_Cancelled): New function moved from back_end.adb
5117         (Scan_Front_End_Switches): New parameter Arg_Rank used to call
5118         Switch_Subsequently_Cancelled.
5119         * switch-c.ads (Scan_Front_End_Switches): New parameter Arg_Rank.
5120         * gcc-interface/Makefile.in: Add line so that shared libgnat is linked
5121         with -lexc on Tru64.
5122
5123 2010-06-17  Robert Dewar  <dewar@adacore.com>
5124
5125         * prj.ads, prj.adb: Minor reformatting
5126
5127 2010-06-17  Thomas Quinot  <quinot@adacore.com>
5128
5129         * put_scos.adb: Do not generate a blank line in SCOs when omitting the
5130         CP line for a disabled pragma.
5131
5132 2010-06-17  Emmanuel Briot  <briot@adacore.com>
5133
5134         * prj-proc.adb, prj.adb, prj.ads (Check_Or_Set_Typed_Variable): New
5135         subprogram.
5136         (Process_Declarative_Item): An invalid value in an typed variable
5137         declaration is no longer always fatal.
5138
5139 2010-06-16  Arnaud Charlet  <charlet@adacore.com>
5140
5141         * get_scos.adb, par_sco.adb, par_sco.ads, put_scos.adb, scos.adb,
5142         scos.ads, exp_ch4.adb, sem_warn.adb: Code clean up, update
5143         documentation.
5144
5145 2010-06-16  Javier Miranda  <miranda@adacore.com>
5146
5147         * exp_disp.adb (Expand_Dispatching_Call): Adjust the decoration of the
5148         node referenced by the SCIL node of dispatching "=" to skip the tags
5149         comparison.
5150
5151 2010-06-16  Ed Schonberg  <schonberg@adacore.com>
5152
5153         * sem_ch5.adb (Analyze_Exit_Statement): Return if no enclosing loop,
5154         to prevent cascaded errors and compilation aborts.
5155
5156 2010-06-16  Robert Dewar  <dewar@adacore.com>
5157
5158         * back_end.adb (Switch_Subsequently_Cancelled): New function
5159         Move declarations to package body level to support this change
5160         * back_end.ads (Switch_Subsequently_Cancelled): New function
5161         * gnat_ugn.texi: Document -gnat-p switch
5162         * switch-c.adb (Scan_Front_End_Switches): Implement -gnat-p switch
5163         * ug_words: Add entry for -gnat-p (UNSUPPRESS_ALL)
5164         * usage.adb: Add line for -gnat-p switch
5165         * vms_data.ads: Add entry for UNSUPPRESS_ALL (-gnat-p)
5166
5167 2010-06-16  Robert Dewar  <dewar@adacore.com>
5168
5169         * sem_warn.adb (Check_Infinite_Loop_Warning): Declaration counts as
5170         modification.
5171
5172 2010-06-16  Robert Dewar  <dewar@adacore.com>
5173
5174         * exp_disp.adb: Minor reformatting
5175
5176 2010-06-16  Ed Schonberg  <schonberg@adacore.com>
5177
5178         * sem_ch3.adb (Complete_Private_Subtype): Inherit class_wide type from
5179         base type only if it was not previously created for the partial view.
5180
5181 2010-06-16  Thomas Quinot  <quinot@adacore.com>
5182
5183         * tbuild.ads: Minor comment fix
5184
5185 2010-06-15  Nathan Froyd  <froydnj@codesourcery.com>
5186
5187         * gcc-interface/trans.c (gnu_stack_free_list): Delete.
5188         (gnu_except_ptr_stack): Change type to VEC.  Update comment.
5189         (gnu_elab_proc_stack): Likewise.
5190         (gnu_return_label_stack): Likewise.
5191         (gnu_loop_label_stack): Likewise.
5192         (gnu_switch_label_stack): Likewise.
5193         (gnu_constraint_label_stack): Likewise.
5194         (gnu_storage_error_label_stack): Likewise.
5195         (gnu_program_error_label_stack): Likewise.
5196         (push_exception_label_stack): Take a VEC ** instead of a tree *.
5197         (push_stack): Likewise.  Remove unused second parameter.  Update
5198         callers.
5199         (pop_stack): Take a VEC * instead of a tree *.  Update callers.
5200         (gigi): Initialize stacks as VECs.
5201         (Identifier_to_gnu): Use VEC_last instead of TREE_VALUE.
5202         (Case_Statement_to_gnu): Likewise.
5203         (Subprogram_Body_to_gnu): Likewise.
5204         (call_to_gnu): Likewise.
5205         (Exception_Handler_to_gnu_sjlj): Likewise.
5206         (gnat_to_gnu): Likewise.
5207         (get_exception_label): Likewise.
5208
5209 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
5210
5211         * sem_ch3.adb (Build_Derived_Record_Type): if derived type is an
5212         anonymous base generated when the parent is a constrained discriminated
5213         type, propagate interface list to first subtype because it may appear
5214         in a current instance within the extension part of the derived type
5215         declaration, and its own subtype declaration has not been elaborated
5216         yet.
5217         * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
5218         determine whether it has the controlling type.
5219
5220 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
5221
5222         * exp_ch11.adb (Expand_N_Raise_Statement): Make sure that the explicit
5223         raise of CE, SE and PE have the reason correctly set and are properly
5224         expanded before stopping the expansions of .NET/JVM exceptions.
5225
5226 2010-06-14  Robert Dewar  <dewar@adacore.com>
5227
5228         * opt.ads (Check_Policy_List): Add some clarifying comments
5229         * sem_prag.adb (Analyze_Pragma, case Check): Set Pragma_Enabled flag
5230         on rewritten Assert pragma.
5231
5232 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
5233
5234         * sem_ch6.adb (Check_Overriding_Indicator): Add a special check for
5235         controlled operations, so that they will be treated as overriding even
5236         if the overridden subprogram is marked Is_Hidden, as long as the
5237         overridden subprogram's parent subprogram is not hidden.
5238
5239 2010-06-14  Robert Dewar  <dewar@adacore.com>
5240
5241         * debug.adb: Entry for gnatw.d no longer specific for while loops
5242         * einfo.adb (First_Exit_Statement): New attribute for E_Loop
5243         * einfo.ads (First_Exit_Statement): New attribute for E_Loop
5244         * sem_ch5.adb (Analyze_Loop_Statement): Check_Infinite_Loop_Warning has
5245         new calling sequence to include test for EXIT WHEN.
5246         (Analyze_Exit_Statement): Chain EXIT statement into exit statement chain
5247         * sem_warn.ads, sem_warn.adb (Check_Infinite_Loop_Warning): Now handles
5248         EXIT WHEN case.
5249         * sinfo.adb (Next_Exit_Statement): New attribute of N_Exit_Statement
5250         node.
5251         * sinfo.ads (N_Pragma): Correct comment on Sloc field (points to
5252         PRAGMA, not to pragma identifier).
5253         (Next_Exit_Statement): New attribute of N_Exit_Statement node
5254
5255 2010-06-14  Robert Dewar  <dewar@adacore.com>
5256
5257         * sem_res.adb (Resolve_Short_Circuit): Fix sloc of "assertion/check
5258         would fail" msg.
5259
5260 2010-06-14  Robert Dewar  <dewar@adacore.com>
5261
5262         * par-ch2.adb (Scan_Pragma_Argument_Association): Clarify message for
5263         missing pragma argument identifier.
5264
5265 2010-06-14  Robert Dewar  <dewar@adacore.com>
5266
5267         * atree.ads, atree.adb (Ekind_In): New functions.
5268
5269 2010-06-14  Robert Dewar  <dewar@adacore.com>
5270
5271         * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**N in stand alone context
5272
5273 2010-06-14  Robert Dewar  <dewar@adacore.com>
5274
5275         * usage.adb (Usage): Redo documentation of -gnatwa.
5276
5277 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
5278
5279         * sem_ch8.adb (Find_Type): The attribute 'class cannot be applied to
5280         an untagged incomplete type that is a limited view.
5281
5282 2010-06-14  Sergey Rybin  <rybin@adacore.com>
5283
5284         * gnat_ugn.texi: Add description of '-cargs gcc_switches' to gnatstub
5285         and gnatppa.
5286
5287 2010-06-14  Thomas Quinot  <quinot@adacore.com>
5288
5289         * exp_ch4.adb (Expand_Short_Circuit_Operator): New subprogram,
5290         factoring duplicated code between...
5291         (Expand_N_And_Than, Expand_N_Or_Else): Remove duplicated code.
5292         * a-envvar.ads: Minor reformatting
5293
5294 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
5295
5296         * ali.adb, ali.ads, lib-xref.ads: Document new '+' letter for C/C++
5297         static entities.
5298         (Scan_ALI): Take into account new Visibility field.
5299         (Visibility_Kind): New type.
5300         (Xref_Entity_Record): Replace Lib field by Visibility.
5301
5302         * gcc-interface/Make-lang.in: Update dependencies.
5303
5304 2010-06-14  Pascal Obry  <obry@adacore.com>
5305
5306         * raise.h: Remove unused defintions.
5307
5308 2010-06-14  Bob Duff  <duff@adacore.com>
5309
5310         * par-ch10.adb (P_Subunit): If the next token after "separate(X)" is
5311         Tok_Not or Tok_Overriding, call P_Subprogram. We had previously given
5312         the incorrect error "proper body expected".
5313         * par-ch6.adb (P_Subprogram): Suppress "overriding indicator not
5314         allowed here" error in case of subunits, which was triggered by the
5315         above change to P_Subunit.
5316
5317 2010-06-14  Sergey Rybin  <rybin@adacore.com>
5318
5319         * gnat_ugn.texi, vms_data.ads: Update gnatelim doc.
5320
5321 2010-06-14  Thomas Quinot  <quinot@adacore.com>
5322
5323         * lib-util.adb: Minor code reorganization.
5324
5325 2010-06-14  Robert Dewar  <dewar@adacore.com>
5326
5327         * ali.adb (Scan_ALI): Implement reading and storing of N lines
5328         (Known_ALI_Lines): Add entry for 'N' (notes)
5329         * ali.ads (Notes): New table to store Notes information
5330         * alloc.ads: Add entries for Notes table
5331         * lib-util.adb (Write_Info_Int): New procedure
5332         (Write_Info_Slit): New procedure
5333         (Write_Info_Uint): New procedure
5334         * lib-util.ads (Write_Info_Int): New procedure
5335         (Write_Info_Slit): New procedure
5336         (Write_Info_Uint): New procedure
5337         * lib-writ.adb (Write_Unit_Information): Output N (notes) lines
5338         * lib-writ.ads: Update documentation for N (Notes) lines
5339         * lib.adb (Store_Note): New procedure
5340         * lib.ads (Notes): New table
5341         (Store_Note): New procedure
5342         * sem_prag.adb: Call Store_Note for affected pragmas
5343
5344 2010-06-14  Thomas Quinot  <quinot@adacore.com>
5345
5346         * socket.c: Fix wrong condition in #ifdef
5347         * g-socket.adb, g-sothco.ads: Functions imported from socket.c that
5348         take or return char* values can't use Interfaces.C.Strings.chars_ptr,
5349         because on VMS this type is a 32-bit pointer which is not compatible
5350         with the default for C pointers for code compiled with gcc on that
5351         platform.
5352
5353 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
5354
5355         * sem_util (Is_VMS_Operator): New predicate to determine whether an
5356         operator is an intrinsic operator declared in the DEC system extension.
5357         * sem_res.adb (Resolve_Logical_Op): operation is legal on signed types
5358         if the operator is a VMS intrinsic.
5359         * sem_eval.adb (Eval_Logical_Op): Operation is legal and be
5360         constant-folded if the operands are signed and the operator is a VMS
5361         intrinsic.
5362
5363 2010-06-14  Robert Dewar  <dewar@adacore.com>
5364
5365         * g-socket.adb, gnatcmd.adb: Minor reformatting.
5366
5367 2010-06-14  Pascal Obry  <obry@adacore.com>
5368
5369         * s-finimp.adb: Fix typo.
5370         * raise.h: Remove duplicate blank line.
5371
5372 2010-06-14  Vincent Celier  <celier@adacore.com>
5373
5374         * prj-nmsc.adb (Add_Sources): Always set the object file and the
5375         switches file names, as the configuration of the language may change
5376         in an extending project.
5377         (Process_Naming_Scheme): For sources of projects that are extended, set
5378         the configuration of the language from the highest extending project
5379         where the language is declared.
5380
5381 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
5382
5383         * sem_res.adb (Resolve_Call): For infinite recursion check, test
5384         whether the called subprogram is inherited from a containing subprogram.
5385         (Same_Or_Aliased_Subprograms): New function
5386
5387 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
5388
5389         * sem_ch8.adb (End_Use_Type): Before indicating that an operator is not
5390         use-visible, check whether it is a primitive for more than one type.
5391
5392 2010-06-14  Robert Dewar  <dewar@adacore.com>
5393
5394         * sem_ch3.adb (Copy_And_Swap): Copy Has_Pragma_Unmodified flag.
5395
5396         * sem_ch7.adb (Preserve_Full_Attributes): Preserve
5397         Has_Pragma_Unmodified flag.
5398
5399 2010-06-14  Thomas Quinot  <quinot@adacore.com>
5400
5401         * g-sttsne-locking.adb, g-sttsne-locking.ads, g-sttsne.ads,
5402         g-sttsne-vxworks.adb, g-sttsne-dummy.ads: Removed. Mutual exclusion is
5403         now done in GNAT.Sockets if necessary.
5404         * gsocket.h, g-socket.adb, g-sothco.ads (GNAT.Sockets.Get_XXX_By_YYY):
5405         Ensure mutual exclusion for netdb operations if the target platform
5406         requires it.
5407         (GNAT.Sockets.Thin_Common): New binding for getXXXbyYYY, treating struct
5408         hostent as an opaque type to improve portability.
5409         * s-oscons-tmplt.c, socket.c: For the case of Vxworks, emulate
5410         gethostbyYYY using proprietary VxWorks API so that a uniform interface
5411         is available for the Ada side.
5412         * gcc-interface/Makefile.in: Remove g-sttsne-*
5413         * gcc-interface/Make-lang.in: Update dependencies.
5414
5415 2010-06-14  Vincent Celier  <celier@adacore.com>
5416
5417         * gnatcmd.adb (Mapping_File): New function.
5418
5419 2010-06-14  Javier Miranda  <miranda@adacore.com>
5420
5421         * sem_ch3.adb (Derive_Subprograms): Remove over-restrictive assertion.
5422
5423 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
5424
5425         * ali.adb: Fix typo.
5426         * s-auxdec-vms-alpha.adb, scng.ads: Minor reformatting.
5427
5428 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
5429
5430         * sem_ch12.adb: Make Mark_Context transitive, and apply to subprogram
5431         instances.
5432
5433         * sem_ch8.adb (Find_Expanded_Name): If a candidate compilation unit in
5434         the context does not have a homonym of the selector, emit default
5435         error message.
5436
5437 2010-06-14  Robert Dewar  <dewar@adacore.com>
5438
5439         * sem.adb, sem_ch12.adb, sem_util.adb: Minor reformatting and
5440         comment addition.
5441
5442 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
5443
5444         * lib-xref.ads: Doc updates:
5445          - Allocate 'Q' for #include entity kind
5446          - Free 'Z'
5447          - Allocate 'g' for regular macros
5448          - Allocate 'G' for function-like macros
5449
5450 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
5451
5452         * sinfo.ads, sinfo.adb (Withed_Body): New attribute of a with_clause.
5453         Indicates that there is an instantiation in the current unit that
5454         loaded the body of the unit denoted by the with_clause.
5455         * sem_ch12.adb (Mark_Context): When instanting a generic body, check
5456         whether a with_clause in the current context denotes the unit that
5457         holds the generic declaration, and mark the with_clause accordingly.
5458         (Instantiate_Package_Body): call Mark_Context.
5459         * sem.adb (Process_Bodies_In_Context): Use Withed_Body to determine
5460         whether a given body should be traversed before the spec of the main
5461         unit.
5462
5463 2010-06-14  Ed Falis  <falis@adacore.com>
5464
5465         * sysdep.c: Fix 653 build against vThreads headers.
5466
5467 2010-06-14  Robert Dewar  <dewar@adacore.com>
5468
5469         * sinfo.ads: Minor reformatting.
5470
5471 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
5472
5473         * sem_ch6.adb (Analyze_Subprogram_Body): Do not check conformance when
5474         the spec has been generated for a body without spec that carries an
5475         Inline_Always pragma.
5476
5477 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
5478
5479         * lib-xref.ads: Documentation change: allocate 'Z' letter to C/C++
5480         macro.
5481
5482 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
5483
5484         * exp_dbug.adb (Debug_Renaming_Declaration): Do not output any debug
5485         declaration for VMs, as those are useless and might lead to duplicated
5486         local variable names in the generated code.
5487         * gcc-interface/Make-lang.in: Update dependencies.
5488
5489 2010-06-14  Robert Dewar  <dewar@adacore.com>
5490
5491         * opt.ads, sem.adb, sem_elab.adb: Minor reformatting
5492
5493 2010-06-14  Robert Dewar  <dewar@adacore.com>
5494
5495         * exp_aggr.adb (Has_Address_Clause): Moved to Exp_Util, and there it
5496         is renamed as Has_Following_Address_Clause.
5497         * exp_ch3.adb (Needs_Simple_Initialization): Add Consider_IS argument
5498         to allow the caller to avoid Initialize_Scalars having an effect.
5499         (Expand_N_Object_Declaration): Do not do Initialize_Scalars stuff for
5500         scalars with an address clause specified.
5501         * exp_ch3.ads (Needs_Simple_Initialization): Add Consider_IS argument
5502         to allow the caller to avoid Initialize_Scalars having an effect.
5503         * exp_util.adb (Has_Following_Address_Clause): Moved here from Exp_Aggr
5504         (where it was called Has_Address_Clause).
5505         * exp_util.ads (Has_Following_Address_Clause): Moved here from Exp_Aggr
5506         (where it was called Has_Address_Clause).
5507         * freeze.adb (Warn_Overlay): Suppress message about overlaying causing
5508         problems for Initialize_Scalars (since we no longer initialize objects
5509         with an address clause.
5510
5511 2010-06-14  Robert Dewar  <dewar@adacore.com>
5512
5513         * exp_prag.adb (Expand_Pragma_Check): Set Loc of generated code from
5514         condition.
5515
5516 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
5517
5518         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Debug_Info_Needed
5519         on the entity of an implicitly generated postcondition procedure.
5520
5521 2010-06-14  Thomas Quinot  <quinot@adacore.com>
5522
5523         * sem_ch7.adb (Preserve_Full_Attributes): Propagate
5524         Discriminant_Constraint elist from full view to private view.
5525
5526 2010-06-14  Robert Dewar  <dewar@adacore.com>
5527
5528         * sem_res.adb: Minor reformatting.
5529
5530 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
5531
5532         * sem.adb: New version of unit traversal.
5533
5534         * sem_elab.adb (Check_Internal_Call): Do not place a call appearing
5535         within a generic unit in the table of delayed calls.
5536
5537 2010-06-14  Robert Dewar  <dewar@adacore.com>
5538
5539         * gnatcmd.adb, sem_util.adb, exp_ch3.adb: Minor reformatting
5540
5541 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
5542
5543         * sem_ch12.adb (Save_References): If an identifier has been rewritten
5544         during analysis as an explicit dereference, keep the reference implicit
5545         in the generic, but preserve the entity if global. This prevents
5546         malformed generic trees in the presence of some nested generics.
5547
5548 2010-06-14  Sergey Rybin  <rybin@adacore.com>
5549
5550         * gnat_ugn.texi: For the GNAT driver, clarify the effect of calling the
5551         tool with '-files=' option. Also fix some small errors (wrong brackets)
5552
5553 2010-06-14  Vincent Celier  <celier@adacore.com>
5554
5555         * gnatbind.adb: Call Scan_ALI with Directly_Scanned set to True for all
5556         the ALI files on the command line.
5557
5558         * ali.adb (Scan_ALI): Set component Directly_Scanned of the unit(s) to
5559         the same value as the parameter of the same name.
5560         * ali.ads (Scan_ALI): New Boolean parameter Directly_Scanned, defaulted
5561         to False.
5562         * bindgen.adb (Gen_Versions_Ada): Never emit version symbols for
5563         Stand-Alone Library interfaces. When binding Stand-Alone Libraries,
5564         emit version symbols only for the units of the library.
5565         (Gen_Versions_C): Ditto.
5566
5567 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
5568
5569         * sem_ch4.adb: Fix typo.
5570
5571 2010-06-14  Vasiliy Fofanov  <fofanov@adacore.com>
5572
5573         * s-oscons-tmplt.c (IOV_MAX): redefine on Tru64 and VMS since the
5574         vector IO doesn't work at default value properly.
5575
5576 2010-06-14  Doug Rupp  <rupp@adacore.com>
5577
5578         * s-stoele.adb: Remove unnecessary qualification of To_Address for VMS.
5579
5580 2010-06-14  Vincent Celier  <celier@adacore.com>
5581
5582         * gnatcmd.adb (Check_Files): Do not invoke the tool with all the
5583         sources of the project if a switch -files= is used.
5584
5585 2010-06-14  Thomas Quinot  <quinot@adacore.com>
5586
5587         * exp_attr.adb: Minor reformatting.
5588
5589 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
5590
5591         * gnat_ugn.texi: Minor typo fixes and wording changes.
5592
5593 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
5594
5595         * sem_ch4.adb (Analyze_One_Call): If the call has been rewritten from a
5596         prefixed form, do not re-analyze first actual, which may need an
5597         implicit dereference.
5598         * sem_ch6.adb (Analyze_Procedure_Call): If the call is given in
5599         prefixed notation, the analysis will rewrite the node, and possible
5600         errors appear in the rewritten name of the node.
5601         * sem_res.adb: If a call is ambiguous because its first parameter is
5602         an overloaded call, report list of candidates, to clarify ambiguity of
5603         enclosing call.
5604
5605 2010-06-14  Doug Rupp  <rupp@adacore.com>
5606
5607         * s-auxdec-vms-alpha.adb: New package body implementing legacy
5608         VAX instructions with Asm insertions.
5609         * s-auxdec-vms_64.ads: Inline VAX queue functions
5610         * s-stoele.adb: Resolve some ambiguities in To_Addresss with s-suxdec
5611         that show up only on VMS.
5612         * gcc-interface/Makefile.in: Provide translation for
5613         s-auxdec-vms-alpha.adb.
5614
5615 2010-06-14  Olivier Hainque  <hainque@adacore.com>
5616
5617         * initialize.c (VxWorks section): Update comments.
5618
5619 2010-06-14  Robert Dewar  <dewar@adacore.com>
5620
5621         * a-convec.adb, sem_prag.adb, checks.adb: Minor reformatting.
5622
5623 2010-06-14  Eric Botcazou  <ebotcazou@adacore.com>
5624
5625         * init.c: Code clean up.
5626
5627 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
5628
5629         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): Do
5630         not insert address clause in table for later validation if type of
5631         entity is generic, to prevent possible spurious errors. 
5632
5633         * sem_ch8.adb: Code clean up.
5634
5635 2010-06-14  Ben Brosgol  <brosgol@adacore.com>
5636
5637         * gnat_ugn.texi: Expanded @ovar macro inline to solve problem with
5638         texi2pdf and texi2html.
5639         Document how to change scheduling properties on HP-UX.
5640
5641 2010-06-14  Thomas Quinot  <quinot@adacore.com>
5642
5643         * g-socket.ads: Remove misleading comments.
5644
5645 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
5646
5647         * sem_prag.adb (Check_Duplicated_Export_Name): Remove check for
5648         CLI_Target as this prevents proper detection of exported names
5649         duplicates when the exported language is different to CIL.
5650         (Process_Interface_Name): Add check for CIL convention exports,
5651         replacing the old one from Check_Duplicated_Export_Name.
5652
5653 2010-06-14  Matthew Heaney  <heaney@adacore.com>
5654
5655         * a-coinve.adb, a-convec.adb (operator "&"): Check both that new length
5656         and new last satisfy constraints.
5657         (Delete_Last): prevent overflow for subtraction of index values
5658         (To_Vector): prevent overflow for addition of index values
5659
5660 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
5661
5662         * sem_ch4.adb (Complete_Object_Operation): After analyzing the
5663         rewritten call, preserve the resulting type to prevent spurious errors,
5664         when the call is implicitly dereferenced in the context of an in-out
5665         actual.
5666
5667         * checks.adb (Apply_Discriminant_Check): If the target of the
5668         assignment is a renaming of a heap object, create constrained type for
5669         it to apply check.
5670
5671 2010-06-14  Pascal Obry  <obry@adacore.com>
5672
5673         * prj-proc.adb: Fix copy of object directory for extending projects.
5674
5675 2010-06-14  Jose Ruiz  <ruiz@adacore.com>
5676
5677         * init.c (__gnat_alternate_stack): Define this space for PowerPC linux
5678         (__gnat_install_handler, PowerPC linux): Activate the alternative
5679         signal stack.
5680
5681 2010-06-13  Gerald Pfeifer  <gerald@pfeifer.com>
5682
5683         * gnat_rm.texi: Move to GFDL version 1.3.
5684         * gnat-style.texi: Ditto.
5685         * gnat_ugn.texi: Ditto.
5686
5687 2010-06-12  Kai Tietz  <kai.tietz@onevision.com>
5688
5689         PR ada/43731
5690         * gcc-interface/Makefile.in: Add rules for multilib x86/x64
5691         mingw targets.
5692
5693 2010-06-11  Alexandre Oliva  <aoliva@redhat.com>
5694
5695         * gcc-interface/utils.c (update_pointer_to): Initialize last.
5696
5697 2010-06-09  Eric Botcazou  <ebotcazou@adacore.com>
5698
5699         * gcc-interface/ada-tree.h: Fix formatting nits.
5700
5701 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
5702
5703         * gcc-interface/utils.c (init_gnat_to_gnu): Use typed GC
5704         allocation.
5705         (init_dummy_type): Likewise.
5706         (gnat_pushlevel): Likewise.
5707
5708         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
5709         (Subprogram_Body_to_gnu): Likewise.
5710         (Compilation_Unit_to_gnu): Likewise.
5711         (start_stmt_group): Likewise.
5712         (extract_encoding): Likewise.
5713         (decode_name): Likewise.
5714
5715         * gcc-interface/misc.c (gnat_printable_name): Likewise.
5716
5717         * gcc-interface/decl.c (annotate_value): Likewise.
5718
5719         * gcc-interface/ada-tree.h (struct lang_type): Add variable_size
5720         GTY option.
5721         (struct lang_decl): Likewise.
5722         (SET_TYPE_LANG_SPECIFIC): Use typed GC allocation.
5723         (SET_DECL_LANG_SPECIFIC): Likewise.
5724
5725 2010-06-04  Eric Botcazou  <ebotcazou@adacore.com>
5726
5727         * gnatlink.adb (gnatlink): Remove support for -fsjlj switch.
5728         * gcc-interface/lang-specs.h: Likewise.
5729
5730 2010-06-03  H.J. Lu  <hongjiu.lu@intel.com>
5731
5732         PR c++/44294
5733         * gcc-interface/decl.c (MAX_FIXED_MODE_SIZE): Removed.
5734
5735 2010-06-01  Arnaud Charlet  <charlet@adacore.com>
5736
5737         * gnat_ugn.texi: Improve doc on -fdump-ada-spec, mention limitations.
5738
5739 2010-05-30  Eric Botcazou  <ebotcazou@adacore.com>
5740
5741         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Task_Type>: Reuse the
5742         TYPE_DECL of the equivalent type instead of building a new one.
5743
5744 2010-05-30  Eric Botcazou  <ebotcazou@adacore.com>
5745
5746         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust warning message.
5747         Fix nits in comments.
5748         * gcc-interface/misc.c (gnat_init_gcc_eh): Likewise.
5749         * gcc-interface/trans.c (gigi): Likewise.
5750         (Attribute_to_gnu): Likewise.
5751         (Case_Statement_to_gnu): Likewise.
5752         (gnat_to_gnu): Adjust warning message.
5753         * gcc-interface/utils.c (create_var_decl_1): Fix nits in comments.
5754         (build_vms_descriptor32): Likewise.
5755
5756 2010-05-27  Steven Bosscher  <steven@gcc.gnu.org>
5757
5758         * gcc-interface/decl.c: Pretend to be a backend file by undefining
5759         IN_GCC_FRONTEND (still need rtl.h here).
5760
5761 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
5762
5763         * gcc-interface/trans.c: Do not include rtl.h, insclude libfuncs.h.
5764         (gigi): Adjust call to set_stack_check_libfunc.
5765
5766 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
5767
5768         * gcc-interface/utils.c: Do not include rtl.h.
5769
5770 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
5771
5772         * gcc-interface/utils.c: Do not include function.h, pointer-set.h,
5773         and gimple.h.  Explain why rtl.h has to be included.
5774         (handle_vector_size_attribute): Call reconstruct_complex_type directly.
5775         * gcc-interface/targtyps.c: Do not include tm_p.h
5776         * gcc-interface/utils2.c: Do not include flags.h.
5777         * gcc-interface/trans.c: Do not include expr.h.  Include rtl.h instead,
5778         and explain why it has to be included.
5779         * gcc-interface/misc.c: Do not include expr.h, libfuncs.h, cgraph.h,
5780         and optabs.h.
5781         Include function.h and explain why.  Explain why except.h is included.
5782         (enumerate_modes): Remove unused function. 
5783         * gcc-interface/gigi.h (enumerate_modes): Remove prototype.
5784         * gcc-interface/Make-lang.in: Update dependencies.
5785
5786 2010-05-25  Joseph Myers  <joseph@codesourcery.com>
5787
5788         * gcc-interface/misc.c (internal_error_function): Add context
5789         parameter.  Use it to access show_column flag and instead of using
5790         global_dc.  Call warn_if_plugins.
5791         * gcc-interface/Make-lang.in (ada/misc.o): Update dependencies.
5792
5793 2010-05-19  Eric Botcazou  <ebotcazou@adacore.com>
5794
5795         * gcc-interface/misc.c (LANG_HOOKS_DEEP_UNSHARING): Redefine.
5796         * gcc-interface/trans.c (unshare_save_expr): Delete.
5797         (gigi): Do not unshare trees under SAVE_EXPRs here.
5798
5799 2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
5800
5801         * gcc-interface/trans.c (call_to_gnu): Use build_call_vec instead of
5802         build_call_list.
5803         * gcc-interface/utils.c (build_function_stub): Likewise.
5804
5805 2010-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5806
5807         * gcc-interface/misc.c (gnat_handle_option): Remove special logic
5808         for Wuninitialized without -O.
5809         
5810 2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
5811
5812         * gcc-interface/gigi.h (enum standard_datatypes): Add new value
5813         ADT_exception_data_name_id.
5814         (exception_data_name_id): New define.
5815         * gcc-interface/trans.c (gigi): Initialize it.
5816         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use the standard
5817         exception type for standard exception definitions.  Do not make them
5818         volatile.
5819         <E_Record_Type>: Equate fields of types associated with an exception
5820         definition to those of the standard exception type.
5821
5822 2010-05-13  Andreas Schwab  <schwab@linux-m68k.org>
5823
5824         * tracebak.c (__gnat_backtrace): Mark top_stack with ATTRIBUTE_UNUSED.
5825
5826 2010-05-12  Eric Botcazou  <ebotcazou@adacore.com>
5827
5828         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Tidy up
5829         code, improve comments and fix formatting nits.
5830
5831 2010-05-12  Eric Botcazou  <ebotcazou@adacore.com>
5832
5833         * gcc-interface/utils.c (update_pointer_to): Return early if the old
5834         pointer already points to the new type.  Chain the old pointer and its
5835         variants at the end of new pointer's chain after updating them.
5836
5837 2010-05-10  Eric Botcazou  <ebotcazou@adacore.com>
5838
5839         * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables
5840         built for interfaces.
5841         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use
5842         imported_p instead of Is_Imported when considering constants.
5843         Do not promote alignment of exported objects.
5844         <E_Record_Subtype>: Strip all suffixes for dispatch table entities.
5845
5846 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
5847
5848         * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables.
5849         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Make imported
5850         constants really constant.
5851         <E_Record_Subtype>: Strip the suffix for dispatch table entities.
5852
5853 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
5854
5855         * gcc-interface/decl.c (make_aligning_type): Declare the type.
5856
5857 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
5858
5859         * gcc-interface/decl.c (gnat_to_gnu_entity): Create variables for size
5860         expressions of variant part of record types declared at library level.
5861
5862 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
5863
5864         * gcc-interface/gigi.h (create_field_decl): Move PACKED parameter.
5865         * gcc-interface/utils.c (create_field_decl): Move PACKED parameter.
5866         (rest_of_record_type_compilation): Adjust call to create_field_decl.
5867         (make_descriptor_field): Likewise and pass correctly typed constants.
5868         (build_unc_object_type): Likewise.
5869         (unchecked_convert): Likewise.
5870         * gcc-interface/decl.c (elaborate_expression_2): New static function.
5871         (gnat_to_gnu_entity): Use it to make alignment factors explicit.
5872         Adjust call to create_field_decl.
5873         (make_aligning_type): Likewise.
5874         (make_packable_type): Likewise.
5875         (maybe_pad_type): Likewise.
5876         (gnat_to_gnu_field): Likewise.
5877         (components_to_record): Likewise.
5878         (create_field_decl_from): Likewise.
5879         (create_variant_part_from): Remove superfluous test.
5880         * gcc-interface/trans.c (gigi): Adjust call to create_field_decl.
5881
5882 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
5883
5884         * gcc-interface/gigi.h (build_unc_object_type): Add DEBUG_INFO_P param.
5885         (build_unc_object_type_from_ptr): Likewise.
5886         * gcc-interface/utils.c (build_unc_object_type): Add DEBUG_INFO_P param
5887         and pass it to create_type_decl.  Declare the type.  Simplify.
5888         (build_unc_object_type_from_ptr): Add DEBUG_INFO_P parameter and pass
5889         it to build_unc_object_type.
5890         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust to above change.
5891         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
5892         (gnat_to_gnu): Likewise.
5893         * gcc-interface/utils2.c (build_allocator): Likewise.
5894
5895 2010-05-07  Eric Botcazou  <ebotcazou@adacore.com>
5896
5897         PR 40989
5898         * gcc-interface/misc.c (gnat_handle_option): Fix long line.
5899
5900 2010-05-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5901
5902         * gcc-interface/Makefile.in: Removed mips-sgi-irix5* support.
5903
5904 2010-05-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5905
5906         PR 40989
5907         * gcc-interface/misc.c (gnat_handle_option): Add argument kind.
5908
5909 2010-05-02  Giuseppe Scrivano  <gscrivano@gnu.org>
5910
5911         * gnathtml.pl: Use 755 as mask for new directories.
5912
5913 2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
5914
5915         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Uniquize
5916         constant constructors before taking their address.
5917
5918 2010-04-25  Eric Botcazou  <ebotcazou@adacore.com>
5919
5920         * exp_dbug.ads: Fix outdated description.  Mention link between XVS
5921         and XVZ objects.
5922         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Set
5923         XVZ variable as unit size of XVS type.
5924         (maybe_pad_type): Likewise.
5925
5926 2010-04-25  Eric Botcazou  <ebotcazou@adacore.com>
5927
5928         * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Do not
5929         use memmove if the array type is bit-packed.
5930
5931 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
5932
5933         * gcc-interface/misc.c (gnat_init): Remove second argument in call to
5934         build_common_tree_nodes.
5935
5936 2010-04-18  Ozkan Sezer  <sezeroz@gmail.com>
5937
5938         * gsocket.h: Make sure that winsock2.h is included before windows.h.
5939
5940 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
5941
5942         * gcc-interface/utils2.c (build_unary_op) <ATTR_ADDR_EXPR>: Do not
5943         issue warning.
5944
5945 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
5946
5947         * uintp.h (UI_Lt): Declare.
5948         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do the size
5949         computation in sizetype.
5950         <E_Array_Subtype>: Use unified handling for all index types.  Do not
5951         generate MAX_EXPR-based expressions, only COND_EXPR-based ones.  Add
5952         bypass for PATs.
5953         (annotate_value): Change test for negative values.
5954         (validate_size): Apply test for negative values on GNAT nodes.
5955         (set_rm_size): Likewise.
5956         * gcc-interface/misc.c (gnat_init): Set unsigned types for sizetypes.
5957         * gcc-interface/utils.c (rest_of_record_type_compilation): Change test
5958         for negative values.
5959         (max_size) <MINUS_EXPR>: Do not reassociate a COND_EXPR on the LHS.
5960         (builtin_type_for_size): Adjust definition of signed_size_type_node.
5961         * gcc-interface/utils2.c (compare_arrays): Optimize comparison of
5962         lengths against zero.
5963
5964 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
5965
5966         * back-end.adb (Call_Back_End): Pass Standard_Character to gigi.
5967         * gcc-interface/gigi.h (gigi): Add standard_character parameter.
5968         (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE, 
5969         LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE,
5970         LONG_DOUBLE_TYPE_SIZE, SIZE_TYPE): Delete.
5971         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Call
5972         rm_size.
5973         * gcc-interface/misc.c (gnat_init): Set signedness of char as per
5974         flag_signed_char.  Tag sizetype with "size_type" moniker.
5975         * gcc-interface/trans.c (gigi): Add standard_character parameter.
5976         Remove useless built-in types.  Equate unsigned_char_type_node to
5977         Standard.Character.  Use it instead of char_type_node throughout.
5978         (Attribute_to_gnu): Likewise.
5979         (gnat_to_gnu): Likewise.
5980         * gcc-interface/utils2.c (build_call_raise): Likewise.
5981
5982 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
5983
5984         * gcc-interface/gigi.h (enum standard_datatypes): Add new values
5985         ADT_sbitsize_one_node and ADT_sbitsize_unit_node.
5986         (sbitsize_one_node): New macro.
5987         (sbitsize_unit_node): Likewise.
5988         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Fix
5989         latent bug in the computation of subrange_p.  Fold wider_p predicate.
5990         (cannot_be_superflat_p): Use an explicitly signed 64-bit type to do
5991         the final comparison.
5992         (make_aligning_type): Build real negation and use sizetype throughout
5993         the offset computation.
5994         (maybe_pad_type): Do not issue the warning when the new size expression
5995         is too complex.
5996         (annotate_value) <INTEGER_CST>: Simplify code handling negative values.
5997         * gcc-interface/misc.c (gnat_init): Initialize sbitsize_one_node and
5998         sbitsize_unit_node.
5999         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Fold
6000         double negation.
6001         (gnat_to_gnu) <N_Free_Statement>: Likewise.
6002         * gcc-interface/utils.c (convert): Use sbitsize_unit_node.
6003         * gcc-interface/utils2.c (compare_arrays): Compute real lengths and use
6004         constants in sizetype.  Remove dead code and tweak comments.  Generate
6005         equality instead of inequality comparisons for zero length tests.
6006
6007 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
6008
6009         * gcc-interface/gigi.h (gnat_init_decl_processing): Delete.
6010         * gcc-interface/decl.c (gnat_to_gnu_entity): Constify a few variables.
6011         <object>: Do not create the fake PARM_DECL if no debug info is needed.
6012         Do not create the corresponding VAR_DECL of a CONST_DECL for debugging
6013         purposes if no debug info is needed.
6014         Fix formatting.  Reorder and add comments.
6015         * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Reference>: Constify
6016         variable and remove obsolete comment.
6017         * gcc-interface/utils.c (convert_vms_descriptor64): Tweak comment.
6018         (convert_vms_descriptor32): Likewise.
6019         (convert): Remove dead code.
6020         <UNCONSTRAINED_ARRAY_REF>: Pass the field instead of its name to build
6021         the reference to the P_ARRAY pointer.
6022         <POINTER_TYPE>: Likewise.
6023         (maybe_unconstrained_array) <UNCONSTRAINED_ARRAY_TYPE>: Likewise.
6024         (gnat_init_decl_processing): Delete, move contents to...
6025         * gcc-interface/misc.c (gnat_init): ...here.
6026
6027 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
6028
6029         * gcc-interface/trans.c (unchecked_conversion_nop): Handle function
6030         calls.  Return true for conversion from a record subtype to its type.
6031
6032 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
6033
6034         * gcc-interface/decl.c (gnat_to_gnu_entity): Use boolean_type_node in
6035         lieu of integer_type_node for boolean operations.
6036         (choices_to_gnu): Likewise.
6037         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
6038         (Loop_Statement_to_gnu): Likewise.
6039         (establish_gnat_vms_condition_handler): Likewise.
6040         (Exception_Handler_to_gnu_sjlj): Likewise.
6041         (gnat_to_gnu): Likewise.
6042         (build_unary_op_trapv): Likewise.
6043         (build_binary_op_trapv): Likewise.
6044         (emit_range_check): Likewise.
6045         (emit_index_check): Likewise.
6046         (convert_with_check): Likewise.
6047         * gcc-interface/utils.c (convert_vms_descriptor64): Likewise.
6048         (convert_vms_descriptor32): Likewise.
6049         (convert_vms_descriptor): Likewise.
6050         * gcc-interface/utils2.c (nonbinary_modular_operation): Likewise.
6051         (compare_arrays): Use boolean instead of integer constants.
6052         (build_binary_op) <TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR,
6053         TRUTH_OR_EXPR, TRUTH_XOR_EXPR>: New case.  Check that the result type
6054         is a boolean type.
6055         <GE_EXPR, LE_EXPR, GT_EXPR, LT_EXPR>: Remove obsolete assertion.
6056         <EQ_EXPR, NE_EXPR>: Check that the result type is a boolean type.
6057         <PREINC/PREDECREMENT_EXPR, POSTINC/POSTDECREMENT_EXPR>: Delete.
6058         <TRUTH_NOT_EXPR>: Check that the result type is a boolean type.
6059         (build_unary_op): Use boolean_type_node in lieu of integer_type_node
6060         for boolean operations.
6061         (fill_vms_descriptor): Likewise.  Fix formatting nits.
6062
6063 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
6064
6065         * gcc-interface/ada-tree.def (LOOP_STMT): Change to 4-operand nodes.
6066         * gcc-interface/ada-tree.h (LOOP_STMT_TOP_COND, LOOP_STMT_BOT_COND):
6067         Merge into...
6068         (LOOP_STMT_COND): ...this.
6069         (LOOP_STMT_BOTTOM_COND_P): New flag.
6070         (LOOP_STMT_TOP_UPDATE_P): Likewise.
6071         * gcc-interface/trans.c (can_equal_min_or_max_val_p): New function.
6072         (can_equal_min_val_p): New static inline function.
6073         (can_equal_max_val_p): Likewise.
6074         (Loop_Statement_to_gnu): Use build4 in lieu of build5 and adjust to
6075         new LOOP_STMT semantics.  Use two different strategies depending on
6076         whether optimization is enabled to translate the loop.
6077         (gnat_gimplify_stmt) <LOOP_STMT>: Adjust to new LOOP_STMT semantics.
6078
6079 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
6080
6081         * uintp.adb (UI_From_Dint): Remove useless code.
6082         (UI_From_Int): Likewise.
6083         * uintp.h: Reorder declarations.
6084         (UI_From_gnu): Declare.
6085         (UI_Base): Likewise.
6086         (Vector_Template): Likewise.
6087         (Vector_To_Uint): Likewise.
6088         (Uint_0): Remove.
6089         (Uint_1): Likewise.
6090         * gcc-interface/gigi.h: Tweak comments.
6091         * gcc-interface/cuintp.c (UI_From_gnu): New global function.
6092         * gcc-interface/decl.c (maybe_pad_type): Do not warn if either size
6093         overflows.
6094         (annotate_value) <INTEGER_CST>: Call UI_From_gnu.
6095         * gcc-interface/trans.c (post_error_ne_num): Call post_error_ne.
6096         (post_error_ne_tree): Call UI_From_gnu and post_error_ne.
6097         * gcc-interface/utils.c (max_size) <tcc_binary>: Do not special-case
6098         TYPE_MAX_VALUE.
6099
6100 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
6101
6102         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Just copy
6103         TYPE_NAME.
6104         * gcc-interface/trans.c (smaller_packable_type_p): Rename into...
6105         (smaller_form_type_p): ...this.  Change parameter and variable names.
6106         (call_to_gnu): Use the nominal type of the parameter to create the
6107         temporary if it's a smaller form of the actual type.
6108         (addressable_p): Return false if the actual type is integral and its
6109         size is greater than that of the expected type.
6110
6111 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
6112
6113         * gcc-interface/cuintp.c (UI_To_gnu): Fix long line.
6114         * gcc-interface/gigi.h (MARK_VISITED): Skip objects of constant class.
6115         (process_attributes): Delete.
6116         (post_error_ne_num): Change parameter name.
6117         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force debug info
6118         with -g3.  Remove a couple of obsolete lines.  Minor tweaks.
6119         If type annotating mode, operate on trees to compute the adjustment to
6120         the sizes of tagged types.  Fix long line.
6121         (cannot_be_superflat_p): Tweak head comment.
6122         (annotate_value): Fold local constant.
6123         (set_rm_size): Fix long line.
6124         * gcc-interface/trans.c (Identifier_to_gnu): Rework comments.
6125         (Attribute_to_gnu): Fix long line.
6126         <Attr_Size>: Remove useless assertion.
6127         Reorder statements.  Use size_binop routine.
6128         (Loop_Statement_to_gnu): Use build5 in lieu of build_nt.
6129         Create local variables for the label and the test.  Tweak comments.
6130         (Subprogram_Body_to_gnu): Reset cfun to NULL.
6131         (Compilation_Unit_to_gnu): Use the Sloc of the Unit node.
6132         (process_inlined_subprograms): Integrate into...
6133         (Compilation_Unit_to_gnu): ...this.
6134         (gnat_to_gnu): Fix long line.
6135         (post_error_ne_num): Change parameter name.
6136         * gcc-interface/utils.c (process_attributes): Static-ify.
6137         <ATTR_MACHINE_ATTRIBUTE>: Set input_location before proceeding.
6138         (create_type_decl): Add comment.
6139         (create_var_decl_1): Process the attributes after adding the VAR_DECL
6140         to the current binding level.
6141         (create_subprog_decl): Likewise for the FUNCTION_DECL.
6142         (end_subprog_body): Do not reset cfun to NULL.
6143         (build_vms_descriptor32): Fix long line.
6144         (build_vms_descriptor): Likewise.
6145         (handle_nonnull_attribute): Likewise.
6146         (convert_vms_descriptor64): Likewise.
6147         * gcc-interface/utils2.c (fill_vms_descriptor): Fix long line.
6148         (gnat_protect_expr): Fix thinko.
6149
6150 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
6151
6152         * gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions.
6153         (gnat_to_gnu) <N_Op_Eq>: Restore the value of input_location
6154         before translating the top-level node.
6155         (lvalue_required_p) <N_Function_Call>: Return 1 if !constant.
6156         <N_Object_Declaration>: Likewise.
6157         <N_Assignment_Statement>: Likewise.
6158         <N_Unchecked_Type_Conversion>: Likewise.
6159         (call_to_gnu): Remove kludge.
6160         (gnat_to_gnu) <N_Return_Statement>: When not optimizing, force labels
6161         associated with user returns to be preserved.
6162         (gnat_to_gnu): Add special code to deal with boolean rvalues.
6163         * gcc-interface/utils2.c (compare_arrays): Set input_location on all
6164         comparisons.
6165         (build_unary_op) <ADDR_EXPR>: Call build_fold_addr_expr.
6166         <INDIRECT_REF>: Call build_fold_indirect_ref.
6167
6168 2010-04-15  Joel Sherrill  <joel.sherrill@oarcorp.com>
6169
6170         * g-socket.adb: A target can have multiple missing errno's.  This
6171         will result in multiple errno's being defined as -1.  Because of this
6172         we can not use a case but must use a series of if's to avoid 
6173         a duplicate case error in GNAT.Sockets.Resolve_Error.
6174
6175 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
6176
6177         * gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
6178         a statement.  Otherwise, if at top-level, push the processing of the
6179         elaboration routine.  In the misaligned case, issue the error messages
6180         again on entry and create the temporary explicitly.  Do not issue them
6181         for CONSTRUCTORs.
6182         For a function call, emit the range check if necessary.
6183         In the copy-in copy-out case, create the temporary for the return
6184         value explicitly.
6185         Do not unnecessarily convert by-ref parameters to the formal's type.
6186         Remove obsolete guards in conditions.
6187         (gnat_to_gnu) <N_Assignment_Statement>: For a function call, pass the
6188         target to call_to_gnu in all cases.
6189         (gnat_gimplify_expr) <ADDR_EXPR>: Remove handling of SAVE_EXPR.
6190         (addressable_p) <CONSTRUCTOR>: Return false if not static.
6191         <COMPOUND_EXPR>: New case.
6192         * gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Fold a compound
6193         expression if it has unconstrained array type.
6194         (gnat_mark_addressable) <COMPOUND_EXPR>: New case.
6195         (gnat_stabilize_reference) <COMPOUND_EXPR>: Stabilize operands on an
6196         individual basis.
6197
6198 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
6199
6200         * gcc-interface/trans.c (gigi): Do not start statement group.
6201         (Compilation_Unit_to_gnu): Set current_function_decl to NULL.
6202         Start statement group and push binding level here...
6203         (gnat_to_gnu) <N_Compilation_Unit>: ...and not here.
6204         Do not push fake contexts at top level.  Remove redundant code.
6205         (call_to_gnu): Rename a local variable and constify another.
6206         * gcc-interface/utils.c (gnat_pushlevel): Fix formatting nits.
6207         (set_current_block_context): Set it as the group's block.
6208         (gnat_init_decl_processing): Delete unrelated init code.
6209         (end_subprog_body): Use NULL_TREE.
6210
6211 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
6212
6213         * gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force
6214         side-effects of actual parameters before the call.
6215
6216 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
6217
6218         * gcc-interface/decl.c (validate_size): Reorder, remove obsolete test
6219         and warning.
6220         (set_rm_size): Reorder and remove obsolete test.
6221
6222 2010-04-14  Eric Botcazou  <ebotcazou@adacore.com>
6223
6224         * gcc-interface/gigi.h: Reorder declarations and tweak comments.
6225         (gigi): Adjust ATTRIBUTE_UNUSED markers.
6226         * gcc-interface/gadaint.h: New file.
6227         * gcc-interface/trans.c: Include it in lieu of adaint.h.  Reorder.
6228         (__gnat_to_canonical_file_spec): Remove declaration.
6229         (number_names): Delete.
6230         (number_files): Likewise.
6231         (gigi): Adjust.
6232         * gcc-interface/Make-lang.in (ada/trans.o): Adjust dependencies to
6233         above change.
6234
6235 2010-04-14  Eric Botcazou  <ebotcazou@adacore.com>
6236
6237         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Class_Wide_Type>: Fix
6238         comment.
6239         * gcc-interface/trans.c (process_freeze_entity): Use local copy of
6240         Ekind.  Return early for class-wide types.  Do not compute initializer
6241         unless necessary.  Reuse the tree for an associated class-wide type
6242         only if processing its root type.
6243
6244 2010-04-13  Joel Sherrill  <joel.sherrill@oarcorp.com>
6245
6246         * gsocket.h: Run-time can no longer be built without network
6247         OS headers available.  Changing RTEMS GNAT build procedure to
6248         reflect this and letting run-time build use network .h files.
6249
6250 2010-04-13  Duncan Sands  <baldrick@free.fr>
6251
6252         * gcc-interface/misc.c (gnat_eh_type_covers): Remove.
6253         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Update comment.
6254
6255 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
6256
6257         * gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.
6258         (parent_name_id): New macro.
6259         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use it.
6260         * gcc-interface/trans.c (gigi): Initialize it.
6261         (lvalue_required_p) <N_Type_Conversion>: New case.
6262         <N_Qualified_Expression>: Likewise.
6263         <N_Allocator>: Likewise.
6264         * gcc-interface/utils.c (convert): Try to properly upcast tagged types.
6265
6266 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
6267
6268         * gcc-interface/ada-tree.h (TYPE_BY_REFERENCE_P): Delete.
6269         (DECL_CONST_ADDRESS_P): New macro.
6270         (SET_DECL_ORIGINAL_FIELD_TO_FIELD): Likewise.
6271         (SAME_FIELD_P): Likewise.
6272         * gcc-interface/decl.c (constructor_address_p): New static function.
6273         (gnat_to_gnu_entity) <object>: Set DECL_CONST_ADDRESS_P according to
6274         the return value of above function.
6275         (gnat_to_gnu_entity) <E_Record_Type>: Force BLKmode for all types
6276         passed by reference.
6277         <E_Record_Subtype>: Likewise.
6278         Set TREE_ADDRESSABLE on the type if it passed by reference.
6279         (make_packable_type): Use SET_DECL_ORIGINAL_FIELD_TO_FIELD.
6280         (create_field_decl_from): Likewise.
6281         (substitute_in_type): Likewise.
6282         (purpose_member_field): Use SAME_FIELD_P.
6283         * gcc-interface/misc.c (must_pass_by_ref): Test TREE_ADDRESSABLE.
6284         * gcc-interface/trans.c (lvalue_required_p): Add ADDRESS_OF_CONSTANT
6285         parameter and adjust recursive calls.
6286         <N_Explicit_Dereference>: New case.
6287         <N_Object_Declaration>: Return 1 if the object is of a class-wide type.
6288         Adjust calls to lvalue_required_p.  Do not return the initializer of a
6289         DECL_CONST_ADDRESS_P constant if an lvalue is required for it.
6290         (call_to_gnu): Delay issuing error message for a misaligned actual and
6291         avoid the associated back-end assertion.  Test TREE_ADDRESSABLE.
6292         (gnat_gimplify_expr) <ADDR_EXPR>: Handle non-static constructors.
6293         * gcc-interface/utils.c (make_dummy_type): Set TREE_ADDRESSABLE if the
6294         type is passed by reference.
6295         (convert) <CONSTRUCTOR>: Convert in-place in more cases.
6296         * gcc-interface/utils2.c (build_cond_expr): Drop TYPE_BY_REFERENCE_P.
6297         (build_simple_component_ref): Use SAME_FIELD_P.
6298
6299 2010-04-12  Eric Botcazou  <ebotcazou@adacore.com>
6300
6301         * gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.
6302         (call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling
6303         front-end's predicate Is_By_Reference_Type.  Use consistent order and
6304         remove ??? comment.  Use original conversion in all cases, if any.
6305         * gcc-interface/utils.c (make_dummy_type): Minor tweak.
6306         (convert): Use local copy in more cases.
6307         <INDIRECT_REF>: Remove deactivated code.
6308         (unchecked_convert): Use a couple of local copies.
6309
6310 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
6311
6312         * gcc-interface/trans.c (lvalue_required_for_attribute_p): New static
6313         function.
6314         (lvalue_required_p) <N_Attribute_Reference>: Call it.
6315         (gnat_to_gnu) <N_Selected_Component>: Prevent build_component_ref from
6316         folding the result only if lvalue_required_for_attribute_p is true.
6317         * gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly
6318         typed constant to build_component_ref.
6319         (unchecked_convert): Likewise.
6320         * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
6321         (build_allocator): Likewise.
6322
6323 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
6324
6325         * gcc-interface/utils2.c (build_cond_expr): Take the address and
6326         dereference if the result type is passed by reference.
6327
6328 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
6329
6330         * gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.
6331         (gnat_to_gnu) <N_Null_Statement>: When not optimizing, generate a
6332         goto to the next statement.
6333
6334 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
6335
6336         * gcc-interface/gigi.h (maybe_variable): Delete.
6337         (protect_multiple_eval): Likewise.
6338         (maybe_stabilize_reference): Likewise.
6339         (gnat_save_expr): Declare.
6340         (gnat_protect_expr): Likewise.
6341         (gnat_stabilize_reference): Likewise.
6342         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
6343         gnat_stabilize_reference.
6344         (maybe_variable): Delete.
6345         (elaborate_expression_1): Use gnat_save_expr.
6346         * gcc-interface/trans.c (Attribute_to_gnu): Use gnat_protect_expr.
6347         (call_to_gnu): Pass NULL to gnat_stabilize_reference.
6348         (gnat_to_gnu) <N_Object_Declaration>: Use gnat_save_expr.
6349         <N_Slice>: Use gnat_protect_exp.
6350         <N_Selected_Component>: Pass NULL to gnat_stabilize_reference.
6351         <N_In>: Use gnat_protect_expr.
6352         Pass NULL to gnat_stabilize_reference.
6353         (build_unary_op_trapv): Use gnat_protect_expr.
6354         (build_binary_op_trapv): Likewise.
6355         (emit_range_check): Likewise.
6356         (emit_index_check): Likewise.
6357         (convert_with_check): Likewise.
6358         (protect_multiple_eval): Move to utils2.c file.
6359         (maybe_stabilize_reference): Merge into...
6360         (gnat_stabilize_reference): ...this.  Move to utils2.c file.
6361         (gnat_stabilize_reference_1): Likewise.
6362         * gcc-interface/utils.c (convert_to_fat_pointer): Use gnat_protect_expr
6363         instead of protect_multiple_eval.
6364         * gcc-interface/utils2.c (compare_arrays): Likewise.
6365         (nonbinary_modular_operation): Likewise.
6366         (maybe_wrap_malloc): Likewise.
6367         (build_allocator): Likewise.
6368         (gnat_save_expr): New function.
6369         (gnat_protect_expr): Rename from protect_multiple_eval.  Early return
6370         in common cases.  Propagate TREE_READONLY onto dereferences.
6371         (gnat_stabilize_reference_1): Move from trans.c file.
6372         (gnat_stabilize_reference): Likewise.
6373
6374 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
6375
6376         * gcc-interface/gigi.h (gnat_mark_addressable): Rename parameter.
6377         * gcc-interface/decl.c (maybe_variable): Do not set TREE_STATIC on _REF
6378         node.  Use the type of the operand to set TREE_READONLY.
6379         * gcc-interface/trans.c (Identifier_to_gnu): Do not set TREE_STATIC on
6380         _REF node.  Do not overwrite TREE_READONLY.
6381         (call_to_gnu): Rename local variable and fix various nits.  In the
6382         copy-in/copy-out case, build the SAVE_EXPR manually.
6383         (convert_with_check): Call protect_multiple_eval in lieu of save_expr
6384         and fold the computations.
6385         (protect_multiple_eval): Always save entire fat pointers.
6386         (maybe_stabilize_reference): Minor tweaks.
6387         (gnat_stabilize_reference_1): Likewise.  Do not deal with tcc_constant,
6388         tcc_type and tcc_statement.
6389         * gcc-interface/utils.c (convert_to_fat_pointer): Call
6390         protect_multiple_eval in lieu of save_expr.
6391         (convert): Minor tweaks.
6392         (maybe_unconstrained_array): Do not set TREE_STATIC on _REF node.
6393         (builtin_type_for_size): Call gnat_type_for_size directly.
6394         * gcc-interface/utils2.c (contains_save_expr_p): Delete.
6395         (contains_null_expr): Likewise
6396         (gnat_build_constructor): Do not call it.
6397         (compare_arrays): Deal with all side-effects, use protect_multiple_eval
6398         instead of gnat_stabilize_reference to protect the operands.
6399         (nonbinary_modular_operation): Call protect_multiple_eval in lieu of
6400         save_expr.
6401         (maybe_wrap_malloc): Likewise.
6402         (build_allocator): Likewise.
6403         (build_unary_op) <INDIRECT_REF>: Do not set TREE_STATIC on _REF node.
6404         (gnat_mark_addressable): Rename parameter.
6405
6406 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
6407
6408         * gcc-interface/ada-tree.h (TYPE_RETURNS_UNCONSTRAINED_P): Rename into.
6409         (TYPE_RETURN_UNCONSTRAINED_P): ...this.
6410         (TYPE_RETURNS_BY_REF_P): Rename into.
6411         (TYPE_RETURN_BY_DIRECT_REF_P): ...this.
6412         (TYPE_RETURNS_BY_TARGET_PTR_P): Delete.
6413         * gcc-interface/gigi.h (create_subprog_type): Adjust parameter names.
6414         (build_return_expr): Likewise.
6415         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>:
6416         Rename local variables.  If the return Mechanism is By_Reference, pass
6417         return_by_invisible_ref_p to create_subprog_type instead of toggling
6418         TREE_ADDRESSABLE.  Test return_by_invisible_ref_p in order to annotate
6419         the mechanism.  Use regular return for contrained types with non-static
6420         size and return by invisible reference for unconstrained return types
6421         with default discriminants.  Update comment.
6422         * gcc-interface/trans.c (Subprogram_Body_to_gnu): If the function
6423         returns by invisible reference, turn the RESULT_DECL into a pointer.
6424         Do not handle DECL_BY_REF_P in the CICO case here.
6425         (call_to_gnu): Remove code handling return by target pointer.  For a
6426         function call, if the return type has non-constant size, generate the
6427         assignment with an INIT_EXPR.
6428         (gnat_to_gnu) <N_Return_Statement>: Remove dead code in the CICO case.
6429         If the function returns by invisible reference, build the copy return
6430         operation manually.
6431         (add_decl_expr): Initialize the variable with an INIT_EXPR.
6432         * gcc-interface/utils.c (create_subprog_type): Adjust parameter names.
6433         Adjust for renaming of macros.  Copy the node only when necessary.
6434         (create_subprog_decl): Do not toggle TREE_ADDRESSABLE on the return
6435         type, only change DECL_BY_REFERENCE on the RETURN_DECL.
6436         (convert_from_reference): Delete.
6437         (is_byref_result): Likewise.
6438         (gnat_genericize_r): Likewise.
6439         (gnat_genericize): Likewise.
6440         (end_subprog_body): Do not call gnat_genericize.
6441         * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: New case.
6442         (build_return_expr): Adjust parameter names, logic and comment.
6443
6444 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
6445
6446         * exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
6447         if the size is small enough.  Propagate the alignment if there is an
6448         alignment clause on the original array type.
6449         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
6450         Deal with under-aligned packed array types.  Copy the size onto the
6451         justified modular type and don't lay it out again.  Likewise for the
6452         padding type built for other under-aligned subtypes.
6453         * gcc-interface/utils.c (finish_record_type): Do not set a default mode
6454         on the type.
6455
6456 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
6457
6458         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set default
6459         alignment on the RETURN type built for the Copy-In Copy-Out mechanism.
6460
6461 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
6462
6463         * gcc-interface/trans.c (call_to_gnu): In the return-by-target-ptr case
6464         do not set the result type if there is a specified target and do not
6465         convert the result in any cases.
6466         (protect_multiple_eval): Make direct SAVE_EXPR for CALL_EXPR.
6467         (maybe_stabilize_reference) <COMPOUND_EXPR>: Merge with CALL_EXPR.
6468
6469 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
6470
6471         * gcc-interface/Makefile.in (SPARC/Solaris): Use sparcv8plus.
6472
6473 2010-02-27  Eric Botcazou  <ebotcazou@adacore.com>
6474
6475         PR ada/42253
6476         * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Assert that fat
6477         pointer base types are variant of each other.  Apply special treatment
6478         for null to fat pointer types in all cases.
6479
6480 2010-01-28  Pascal Obry  <obry@adacore.com>
6481
6482         * s-win32.ads: Add some missing constants.
6483
6484 2010-01-28  Vincent Celier  <celier@adacore.com>
6485
6486         * prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is
6487         Unknown_Package.
6488
6489 2010-01-28  Robert Dewar  <dewar@adacore.com>
6490
6491         * gnat_rm.texi: Minor correction
6492
6493 2010-01-27  Pascal Obry  <obry@adacore.com>
6494
6495         * g-awk.adb: ensure that an AWK session is reusable.
6496
6497 2010-01-27  Vasiliy Fofanov  <fofanov@adacore.com>
6498
6499         * g-regist.adb (For_Every_Key): Fix previous change.
6500         Minor reformatting.
6501
6502 2010-01-27  Thomas Quinot  <quinot@adacore.com>
6503
6504         * lib-writ.ads: Current version of spec for new N (note) ALI lines
6505
6506 2010-01-27  Yannick Moy  <moy@adacore.com>
6507
6508         * a-cdlili.adb (Insert): Correct exception message when cursor
6509         designates wrong list.
6510
6511 2010-01-27  Vincent Celier  <celier@adacore.com>
6512
6513         * gnatcmd.adb: When there is only one main specified, the package
6514         support Switches (<main>) and attribute Switches is specified for the
6515         main, use these switches, instead of Default_Switches ("Ada").
6516
6517 2010-01-27  Robert Dewar  <dewar@adacore.com>
6518
6519         * sem_prag.adb, par-prag.adb, snames.ads-tmpl: pragma Dimension initial
6520         implementation.
6521         * exp_disp.adb: Minor reformatting
6522
6523 2010-01-27  Tristan Gingold  <gingold@adacore.com>
6524
6525         * seh_init.c: Use __ImageBase instead of _ImageBase.
6526
6527 2010-01-27  Javier Miranda  <miranda@adacore.com>
6528
6529         * exp_disp.ads, exp_disp.adb (Expand_Interface_Thunk): Modify the
6530         profile of interface thunks. The type of the controlling formal is now
6531         the covered interface type (instead of the target tagged type).
6532
6533 2010-01-27  Sergey Rybin  <rybin@adacore.com>
6534
6535         * gnat_rm.texi, gnat_ugn.texi: Update gnatcheck doc.
6536
6537 2010-01-27  Robert Dewar  <dewar@adacore.com>
6538
6539         * sinput.ads, sinput.adb (Sloc_Range): Applies to all nodes, formal
6540         changed from Expr to N.
6541
6542 2010-01-26  Thomas Quinot  <quinot@adacore.com>
6543
6544         * gnat_ugn.texi: Adjust documentation of -gnatz switches.
6545         * usage.adb: Replace line for -gnatz with two lines for -gnatzc and
6546         -gnatzr.
6547
6548 2010-01-26  Vincent Celier  <celier@adacore.com>
6549
6550         * prj-attr.adb: Add new attribute Library_Install_Name_Option
6551         Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
6552         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
6553         attributes Run_Path_Option and Library_Install_Name_Option.
6554         * prj.ads (Project_Configuration): Replace component
6555         Run_Path_Origin_Supported with component Run_Path_Origin. Add new
6556         component Library_Install_Name_Option.
6557         * snames.ads-tmpl: Add new standard name Library_Install_Name_Option
6558         Replace Run_Path_Origin_Supported with Run_Path_Origin
6559
6560 2010-01-26  Ed Schonberg  <schonberg@adacore.com>
6561
6562         * sem_ch8.adb (Use_One_Package): Within an instance, an actual package
6563         is not hidden by a homograph declared in another actual package.
6564
6565 2010-01-26  Robert Dewar  <dewar@adacore.com>
6566
6567         * par_sco.adb (Traverse_Declarations_Or_Statements): Only generate
6568         decisions for pragmas Assert, Check, Precondition, Postcondition if
6569         -gnata set.
6570         * scos.ads: Update comments.
6571         * get_scos.adb, put_scos.adb: Minor fix to code reading statement SCOs.
6572         Also remove obsolete code for CT (exit point) SCOs.
6573
6574 2010-01-26  Thomas Quinot  <quinot@adacore.com>
6575
6576         * switch-c.adb: Fix handling of -gnatz*
6577
6578 2010-01-26  Robert Dewar  <dewar@adacore.com>
6579
6580         * par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W
6581         qualifiers for FOR/WHILE loops
6582         * scos.ads: Use separate type letters F/W for for/while loops
6583
6584 2010-01-26  Robert Dewar  <dewar@adacore.com>
6585
6586         * get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple
6587         entries per line, one for each statement in the sequence).
6588         * par_sco.adb (Traverse_Declarations_Or_Statements): Increase array
6589         size from 100 to 10_000 for SC_Array to avoid any real possibility of
6590         overflow. Output decisions in for loops.
6591         Exclude labels from CS lines.
6592         * scos.ads: Clarify that label is not included in the entry point
6593
6594 2010-01-26  Robert Dewar  <dewar@adacore.com>
6595
6596         * par_sco.adb (Traverse_Declarations_Or_Statments): Implement new
6597         format of statement sequence SCO entries (one location/statement).
6598         * put_scos.adb (Put_SCOs): Implement new format of CS lines
6599         * scos.ads: Update comments.
6600         * sem_eval.adb: Minor reformatting.
6601
6602 2010-01-26  Robert Dewar  <dewar@adacore.com>
6603
6604         * par_sco.ads, par_sco.adb (Set_Statement_Entry): New handling of exits
6605         (Extend_Statement_Sequence): New procedures
6606         (Traverse_Declarations_Or_Statements): New handling for exits.
6607
6608 2010-01-26  Robert Dewar  <dewar@adacore.com>
6609
6610         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
6611         Case.
6612
6613 2010-01-26  Robert Dewar  <dewar@adacore.com>
6614
6615         * par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
6616         * scos.ads: Clarify handling of logical operators
6617
6618 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
6619
6620         * s-tpoben.adb: Update comments.
6621
6622 2010-01-26  Robert Dewar  <dewar@adacore.com>
6623
6624         * freeze.adb (Set_Small_Size): Don't set size if alignment clause
6625         present.
6626
6627 2010-01-26  Robert Dewar  <dewar@adacore.com>
6628
6629         * scos.ads: Clean up documentation, remove obsolete XOR references
6630 2010-01-26  Vincent Celier  <celier@adacore.com>
6631
6632         * gnat_ugn.texi: Complete documentation on the restrictions for
6633         combined options in -gnatxxx switches.
6634         Fix typo.
6635
6636 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
6637
6638         * s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from
6639         a controlled operation, abort is already deferred at this point, so we
6640         need to use Defer_Abort_Nestable.
6641
6642 2010-01-26  Vincent Celier  <celier@adacore.com>
6643
6644         * prj-conf.adb (Get_Config_Switches): Check for a default language for
6645         a project extending a project with no languages.
6646
6647 2010-01-26  Vincent Celier  <celier@adacore.com>
6648
6649         * switch-c.adb (Scan_Front_End_Switches): Take into account options
6650         that follow -gnatef.
6651         Allow -gnateG to be followed by other options.
6652
6653 2010-01-26  Robert Dewar  <dewar@adacore.com>
6654
6655         * s-commun.ads, s-osprim-mingw.adb, s-stchop-vxworks.adb, sem_aggr.adb,
6656         s-vxwext.adb, sem_ch10.adb, sem_eval.adb, sem_prag.adb: Minor
6657         reformatting.
6658
6659 2010-01-26  Vasiliy Fofanov  <fofanov@adacore.com>
6660
6661         * g-regist.adb, g-regist.ads (For_Every_Key): New generic procedure
6662         that allows to iterate over all subkeys of a key.
6663
6664 2010-01-26  Ed Falis  <falis@adacore.com>
6665
6666         * sysdep.c: enable NFS for VxWorks MILS
6667         * env.c: enable __gnat_environ for VxWorks MILS
6668         * gcc-interface/Makefile.in: Add VxWorks MILS target pairs.
6669
6670 2010-01-25  Bob Duff  <duff@adacore.com>
6671
6672         * sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
6673         is an internally-generated positional aggregate, and the bounds are
6674         already correctly set. We don't want to overwrite those bounds with
6675         bounds determined by context.
6676
6677 2010-01-25  Robert Dewar  <dewar@adacore.com>
6678
6679         * g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
6680         exp_ch9.adb, g-sechas.ads: Minor reformatting.
6681
6682 2010-01-25  Thomas Quinot  <quinot@adacore.com>
6683
6684         * s-commun.adb (Last_Index): Count must be converted to SEO (a signed
6685         integer type) before subtracting 1, otherwise the computation may wrap
6686         (because size_t is modular) and cause the conversion to fail.
6687
6688 2010-01-25  Ed Falis  <falis@adacore.com>
6689
6690         * sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
6691
6692 2010-01-25  Vincent Celier  <celier@adacore.com>
6693
6694         * prj-attr.adb: New attribute Run_Path_Origin_Required
6695         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
6696         attribute Run_Path_Origin_Required.
6697         * prj.ads (Project_Configuration): New component
6698         Run_Path_Origin_Supported.
6699         * snames.ads-tmpl: New standard name Run_Path_Origin_Required
6700
6701 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
6702
6703         * sem_aggr.adb (Resolve_Array_Aggregate): If the bounds in a choice
6704         have errors, do not continue resolution of the aggregate.
6705         * sem_eval.adb (Eval_Indexed_Component): Do not attempt to evaluate if
6706         the array type indicates an error.
6707
6708 2010-01-25  Bob Duff  <duff@adacore.com>
6709
6710         * sinfo.ads: Minor comment fixes.
6711
6712 2010-01-25  Bob Duff  <duff@adacore.com>
6713
6714         * exp_ch4.adb, exp_aggr.adb: Minor comment fixes and code clean up.
6715
6716 2010-01-25  Arnaud Charlet  <charlet@adacore.com>
6717
6718         * gnatvsn.ads (Current_Year): Update.
6719
6720 2010-01-25  Florian Villoing  <villoing@adacore.com>
6721
6722         * gnat_ugn.texi: Fix typo.
6723
6724 2010-01-25  Thomas Quinot  <quinot@adacore.com>
6725
6726         * scos.ads: Update specification.
6727
6728 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
6729
6730         * sem_ch6.adb (Process_PPCs): If a postcondition is present and the
6731         enclosing subprogram has no previous spec, attach postcondition
6732         procedure to the defining entity for the body.
6733
6734 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
6735
6736         * exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to
6737         initialization procedure of the ancestor part of an extension aggregate
6738         if it is an interface type.
6739
6740 2010-01-25  Vincent Celier  <celier@adacore.com>
6741
6742         * gnatlink.adb (Process_Binder_File): The directory for the shared
6743         version of libgcc in the run path options is found in the subdirectory
6744         indicated by __gnat_default_libgcc_subdir.
6745         * link.c: Declare new const char * __gnat_default_libgcc_subdir for
6746         each platform.
6747
6748 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
6749
6750         * sem_prag.adb: More flexible pragma Annotate.
6751
6752 2010-01-22  Eric Botcazou  <ebotcazou@adacore.com>
6753
6754         * system-linux-armel.ads (Stack_Check_Probes): Set to True.
6755         * system-linux-armeb.ads (Stack_Check_Probes): Likewise.
6756
6757 2010-01-18  Eric Botcazou  <ebotcazou@adacore.com>
6758
6759         * gcc-interface/utils.c (create_var_decl_1): Fix formatting nits.
6760
6761 2010-01-18  Jan Hubicka  <jh@suse.cz>
6762
6763         PR middle-end/42068
6764         * gcc-interface/utils.c (create_var_decl_1): Do not set COMMON flag for
6765         unit local variables.
6766
6767 2010-01-17  Laurent GUERBY  <laurent@guerby.net>
6768
6769         * gcc-interface/Makefile.in: Fix typo in arm*-*-linux-gnueabi.
6770
6771 2010-01-11  Mikael Pettersson  <mikpe@it.uu.se>
6772
6773         * gcc-interface/Makefile.in: Add arm*-*-linux-gnueabi.
6774         * system-linux-armeb.ads, system-linux-armel.ads: New files.
6775
6776 2010-01-09  Simon Wright  <simon@pushface.org>
6777
6778         PR ada/42626
6779         * gcc-interface/Makefile.in (gnatlib-shared-darwin): Add missing
6780         end-quote.
6781
6782
6783 \f
6784 Copyright (C) 2010 Free Software Foundation, Inc.
6785
6786 Copying and distribution of this file, with or without modification,
6787 are permitted in any medium without royalty provided the copyright
6788 notice and this notice are preserved.