OSDN Git Service

2011-08-02 Ed Schonberg <schonberg@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
2
3         * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
4         in an association, set parent field of copy before partial analysis.
5         * sem_res.adb (Resolve_Slice): create reference to itype only when
6         expansion is enabled.
7
8 2011-08-02  Yannick Moy  <moy@adacore.com>
9
10         * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
11         for new flag denoting which subprogram bodies are in ALFA
12         * restrict.adb, sem_ch7.adb: Update comment
13         * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
14         sem_ch9.adb, sem_res.adb: Add calls to
15         Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
16         * sem_ch6.adb (Analyze_Function_Return): add calls to
17         Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
18         middle of the body, and extended return.
19         (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
20         False when missing return.
21         (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
22         to True for subprograms whose spec is in ALFA. Remove later on the flag
23         on the entity used for a subprogram body when there exists a separate
24         declaration.
25         * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
26         if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
27         False, otherwise do nothing.
28
29 2011-08-02  Robert Dewar  <dewar@adacore.com>
30
31         * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
32
33 2011-08-02  Yannick Moy  <moy@adacore.com>
34
35         * sem_ch4.ads: minor formatting.
36
37 2011-08-02  Yannick Moy  <moy@adacore.com>
38
39         * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
40         debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
41         errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
42         restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
43         opt.ads: cleanup of SPARK mode
44
45 2011-08-02  Yannick Moy  <moy@adacore.com>
46
47         * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
48         types.
49         * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
50         (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
51         * sem_ch3.adb
52         (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
53         (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
54         (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
55         (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
56         types.
57         (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
58         non-static range.
59         * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
60         functions whose return type is not in ALFA.
61         (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
62         specifications.
63         (Process_Formals): unset Is_In_ALFA flag for subprograms if a
64         parameter's type is not in ALFA.
65         * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
66         types are in ALFA.
67
68 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
69
70         * sem_ch6 (Analyze_Expression_Function): treat the function as
71         Inline_Always, and introduce a subprogram declaration for it when it is
72         not a completion.
73         * inline.adb (Add_Inlined_Body): recognize bodies that come from
74         expression functions, so that the back-end can determine whether they
75         can in fact be inlined.
76         * sem_util.adb (Is_Expression_Function): predicate to determine whether
77         a function body comes from an expression function.
78
79 2011-08-02  Gary Dismukes  <dismukes@adacore.com>
80
81         * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
82         null exclusions to test Can_Never_Be_Null on the anonymous access types
83         of the formals rather than testing the formals themselves. Exclude this
84         check in cases where the Old_Formal is marked as a controlling formal,
85         to avoid issuing spurious errors for bodies completing dispatching
86         operations (due to the flag not getting set on controlling access
87         formals in body specs).
88         (Find_Corresponding_Spec): When checking full and subtype conformance of
89         subprogram bodies in instances, pass Designated and E in that order, for
90         consistency with the expected order of the formals (New_Id followed by
91         Old_Id).
92
93 2011-08-02  Robert Dewar  <dewar@adacore.com>
94
95         * sem_ch8.adb: Minor reformatting.
96
97 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
98
99         * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
100         Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
101         primitive operations of class-wide actuals.
102
103 2011-08-02  Javier Miranda  <miranda@adacore.com>
104
105         * exp_atag.ads, exp_atag.adb
106         (Build_Common_Dispatching_Select_Statements): Remove argument Loc
107         since its value is implicitly passed in argument Typ.
108         * exp_disp.adb (Make_Disp_Conditional_Select_Body,
109         Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
110         Build_Common_Dispatching_Select_Statements.
111
112 2011-08-02  Robert Dewar  <dewar@adacore.com>
113
114         * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
115         exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
116         Minor reformatting.
117
118 2011-08-02  Robert Dewar  <dewar@adacore.com>
119
120         * sem_res.adb: Minor reformatting.
121         * sem_prag.adb: Minor reformatting.
122
123 2011-08-02  Javier Miranda  <miranda@adacore.com>
124
125         * exp_atag.adb, exp_atags.ads
126         (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
127         by the tagged type Entity. Required to use this routine in the VM
128         targets since we do not have available the Tag entity in the VM
129         platforms.
130         * exp_ch6.adb
131         (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
132         Ada.Tags has not been previously loaded.
133         * exp_ch7.adb
134         (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
135         Build_VM_TSDs if package Ada.Tags has not been previously loaded.
136         * sem_aux.adb
137         (Enclosing_Dynamic_Scope): Add missing support to handle the full
138         view of enclosing scopes. Required to handle enclosing scopes that
139         are synchronized types whose full view is a task type.
140         * exp_disp.adb
141         (Build_VM_TSDs): Minor code improvement to avoid generating and
142         analyzing lists with empty nodes.
143         (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
144         (Make_Disp_Conditional_Select_Body): Add support for VM targets.
145         (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
146         (Make_Disp_Timed_Select_Body): Add support for VM targets.
147         (Make_Select_Specific_Data_Table): Add support for VM targets.
148         (Make_VM_TSD): Generate code to initialize the SSD structure of
149         the TSD.
150
151 2011-08-02  Yannick Moy  <moy@adacore.com>
152
153         * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
154         cross-references section in ALI.
155         * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
156         (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
157         Sub).
158         (Enclosing_Subprogram_Or_Package): new function to return the enclosing
159         subprogram or package entity of a node
160         (Is_Local_Reference_Type): new function returns True for references
161         selected in local cross-references.
162         (Lt): function extracted from Lt in Output_References
163         (Write_Entity_Name): function extracted from Output_References
164         (Generate_Definition): generate reference with type 'D' for definition
165         of objects (object declaration and parameter specification), with
166         appropriate locations and units, for use in local cross-references.
167         (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
168         references of type 'I' for initialization in object definition.
169         (Output_References): move part of function Lt and procedure
170         Write_Entity_Name outside of the body. Ignore references of types 'D'
171         and 'I' introduced for local cross-references.
172         (Output_Local_References): new procedure to output the local
173         cross-references sections.
174         (Lref_Entity_Status): new array defining whether an entity is a local
175         * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
176         with 'I' type when initialization expression is present.
177         * get_scos.adb, get_scos.ads: Correct comments and typos
178
179 2011-08-02  Javier Miranda  <miranda@adacore.com>
180
181         * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
182         the JVM target.
183         * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
184         the JVM target.
185         * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
186         TSD support.
187
188 2011-08-02  Vincent Celier  <celier@adacore.com>
189
190         * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
191         (No_Space_Img): New function
192         (Find_Excluded_Sources): When reading from a file, record the file name
193         and the line number for each excluded source.
194         (Mark_Excluded_Sources): When reporting an error, if the excluded
195         sources were read from a file, include file name and line number in
196         the error message.
197
198 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
199
200         * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
201
202 2011-08-02  Robert Dewar  <dewar@adacore.com>
203
204         * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
205
206 2011-08-02  Javier Miranda  <miranda@adacore.com>
207
208         * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
209         generation of TSDs to the DOTNET compiler.
210         * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
211         generation of TSDs to the DOTNET compiler.
212
213 2011-08-02  Javier Miranda  <miranda@adacore.com>
214
215         * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
216         record of all the tagged types declared inside library level package
217         declarations, library level package bodies or library level subprograms.
218         * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
219         associated with a given tagged type.
220         (Build_VM_TSDs): New subprogram.
221         * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
222         compilation units that are subprograms.
223         * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
224         compilation units that are package bodies.
225         (Expand_N_Package_Declaration): Generate TSDs of the main compilation
226         units that are a package declaration or a package instantiation.
227         * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
228         reorganization to improve the error generated by the frontend when the
229         function Ada.Tags.Secondary_Tag is not available.
230         * rtsfind.ads (RE_Register_TSD): New runtime entity.
231         * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
232
233 2011-08-02  Javier Miranda  <miranda@adacore.com>
234
235         * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
236
237 2011-08-02  Robert Dewar  <dewar@adacore.com>
238
239         * s-imenne.ads: Minor reformatting.
240
241 2011-08-02  Robert Dewar  <dewar@adacore.com>
242
243         * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
244         * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
245         * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
246
247 2011-08-02  Robert Dewar  <dewar@adacore.com>
248
249         * einfo.ads (Materialize_Entity): Document this is only for renamings
250         * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
251         required debug information in the case where we transform the object
252         declaration into a renaming declaration.
253         * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
254         object
255         * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
256         Materialize_Entity.
257
258 2011-08-02  Robert Dewar  <dewar@adacore.com>
259
260         * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
261         Suppress_Init_Procs.
262         * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
263         Suppress_Initialization/Initialization_Suppressed.
264         * gnat_rm.texi: New documentation for pragma Suppress_Initialization
265         * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
266         * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
267         * sem_prag.adb: New processing for pragma Suppress_Initialization.
268
269 2011-08-02  Robert Dewar  <dewar@adacore.com>
270
271         * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
272         Minor reformatting.
273
274 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
275
276         * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
277         only have inheritable classwide pre/postconditions.
278
279 2011-08-02  Javier Miranda  <miranda@adacore.com>
280
281         * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
282         * rtsfind.ads (RE_Check_TSD): New runtime entity.
283         * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
284         checks if the external tag of a type is the same as the external tag
285         of some other declaration.
286
287 2011-08-02  Thomas Quinot  <quinot@adacore.com>
288
289         * s-taskin.ads: Minor reformatting.
290
291 2011-08-02  Emmanuel Briot  <briot@adacore.com>
292
293         * g-comlin.adb (Display_Help): swap the order in which it prints the
294         short help and the general usage.
295
296 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
297
298         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
299         the aspect declarations and attach them to the generic copy for
300         subsequent analysis.
301         (Analyze_Subprogram_Instantiation): copy explicitly the aspect
302         declarations of the generic tree to the new subprogram declarations.
303         * sem_attr.adb (Check_Precondition_Postcondition): recognize
304         conditions that apply to a subprogram instance.
305
306 2011-08-02  Robert Dewar  <dewar@adacore.com>
307
308         * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
309
310 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
311
312         * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
313         private type with a tagged full view is not derived in the immediate
314         scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
315
316 2011-08-02  Robert Dewar  <dewar@adacore.com>
317
318         * exp_ch4.adb: Minor reformatting.
319
320 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
321
322         * sem_ch5.adb (Analyze_Loop_Statement):  If the iteration scheme is an
323         Ada2012 iterator, the loop will be rewritten during expansion into a
324         while loop with a cursor and an element declaration. Do not analyze the
325         body in this case, because if the container is for indefinite types the
326         actual subtype of the elements will only be determined when the cursor
327         declaration is analyzed.
328
329 2011-08-02  Arnaud Charlet  <charlet@adacore.com>
330
331         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
332         size/alignment related attributes in CodePeer_Mode.
333
334 2011-08-02  Gary Dismukes  <dismukes@adacore.com>
335
336         * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
337         Prepend_Element, since this can result in the operation getting the
338         wrong slot in the full type's dispatch table if the full type has
339         inherited operations. The incomplete type's operation will get added
340         to the proper position in the full type's primitives
341         list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
342         (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
343         dispatching operations, since there are cases where nonprimitive
344         subprograms can get added to the list of incomplete dependents (such
345         as subprograms in nested packages).
346         * sem_ch6.adb (Process_Formals): First, remove test for being in a
347         private part when determining whether to add a primitive with a
348         parameter of a tagged incomplete type to the Private_Dependents list.
349         Such primitives can also occur in the visible part, and should not have
350         been excluded from being private dependents.
351         * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
352         RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
353         list of a Taft-amendment incomplete type is a primitive before issuing
354         an error that the full type must appear in the same unit. There are
355         cases where nonprimitives can be in the list (such as subprograms in
356         nested packages).
357         * sem_disp.adb (Derives_From): Use correct condition for checking that
358         a formal's type is derived from the type of the corresponding formal in
359         the parent subprogram (the condition was completely wrong). Add
360         checking that was missing for controlling result types being derived
361         from the result type of the parent operation.
362
363 2011-08-02  Yannick Moy  <moy@adacore.com>
364
365         * errout.adb (First_Node): minor renaming
366         * restrict.adb (Check_Formal_Restriction): put restriction warning on
367         first node.
368
369 2011-08-02  Yannick Moy  <moy@adacore.com>
370
371         * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
372         before accessing operands.
373         * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
374         decide whether an initialization expression respects SPARK rules, as
375         the plain node is the expanded one. This allows for more valid warnings
376         to be issued.
377         * gnat_rm.texi: Minor update.
378
379 2011-08-02  Arnaud Charlet  <charlet@adacore.com>
380
381         * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
382         previous change.
383
384 2011-08-02  Robert Dewar  <dewar@adacore.com>
385
386         * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
387
388 2011-08-02  Hristian Kirtchev  <kirtchev@adacore.com>
389
390         * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
391         loop statements and the element renaming declaration with a block when
392         the element type is controlled.
393
394 2011-08-02  Yannick Moy  <moy@adacore.com>
395
396         * sinfo.ads: Minor formatting.
397
398 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
399
400         * sem_aggr.adb (Add_Association): if the association has a box and no
401         expression, use the Sloc of the aggregate itself for the new
402         association.
403         * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
404         the Original_Node.
405
406 2011-08-02  Hristian Kirtchev  <kirtchev@adacore.com>
407
408         * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
409         When a container is provided via a function call, generate a renaming
410         of the function result. This avoids the creation of a transient scope
411         and the premature finalization of the container.
412         * exp_ch7.adb (Is_Container_Cursor): Removed.
413         (Wrap_Transient_Declaration): Remove the supression of the finalization
414         of the list controller when the declaration denotes a container cursor,
415         it is not needed.
416
417 2011-08-02  Yannick Moy  <moy@adacore.com>
418
419         * restrict.adb (Check_Formal_Restriction): only issue a warning if the
420         node is from source, instead of the original node being from source.
421         * sem_aggr.adb
422         (Resolve_Array_Aggregate): refine the check for a static expression, to
423         recognize also static ranges
424         * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
425         Array_Type_Declaration): postpone the test for the type being a subtype
426         mark after the type has been resolved, so that component-selection and
427         expanded-name are discriminated.
428         (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
429         to distinguish the case of an iteration scheme, so that an error is
430         issed on a non-static range in SPARK except in an iteration scheme.
431         * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
432         In_Iter_Schm = True.
433         * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
434         user-defined operators so that they are allowed in renaming
435         * sem_ch8.adb
436         (Find_Selected_Component): refine the check for prefixing of operators
437         so that they are allowed in renaming. Move the checks for restrictions
438         on selector name after analysis discriminated between
439         component-selection and expanded-name.
440         * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
441         concatenation argument of string type if it is static.
442         * sem_util.adb, sem_util.ads
443         (Check_Later_Vs_Basic_Declarations): add a new function
444         Is_Later_Declarative_Item to decice which declarations are allowed as
445         later items, in the two different modes Ada 83 and SPARK. In the SPARK
446         mode, add that renamings are considered as later items.
447         (Enclosing_Package): new function to return the enclosing package
448         (Enter_Name): correct the rule for homonyms in SPARK
449         (Is_SPARK_Initialization_Expr): default to returning True on nodes not
450         from source (result of expansion) to avoid issuing wrong warnings.
451
452 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
453
454         * errout.adb: On anything but an expression First_Node returns its
455         argument.
456
457 2011-08-02  Pascal Obry  <obry@adacore.com>
458
459         * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
460
461 2011-08-02  Hristian Kirtchev  <kirtchev@adacore.com>
462
463         * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
464         Set the associated loop as the related expression of internally
465         generated cursors.
466         * exp_ch7.adb (Is_Container_Cursor): New routine.
467         (Wrap_Transient_Declaration): Supress the finalization of the list
468         controller when the declaration denotes a container cursor.
469
470 2011-08-02  Yannick Moy  <moy@adacore.com>
471
472         * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
473         command line now.
474         * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
475         expression is a simple expression. This check cannot be performed in
476         the semantics, so just drop it.
477         (P_Index_Or_Discriminant_Constraint): move check that the index or
478         discriminant is a subtype mark to Analyze_Subtype_Declaration in the
479         semantics. Other cases were previously checked in the semantics.
480         * par-ch4.adb (P_Name): move checks that a selector name is not
481         character literal or an operator symbol to Find_Selected_Component in
482         the semantics
483         * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
484         declarations are not placed after later declarations in a separate
485         procedure in Sem_Util (possibly not the best choice?), to be used both
486         during parsing, for Ada 83 mode, and during semantic analysis, for
487         SPARK mode.
488         * par-endh.adb (Check_End): move check that end label is not missing
489         to Process_End_Label in the semantics
490         * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
491         the special case for SPARK restriction
492         * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
493         * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
494         parameter Force to issue the error message even on internal node (used
495         for generated end label). Call Check_Restriction to check when an error
496         must be issued. In SPARK mode, issue an error message even if the
497         restriction is not set.
498         (Check_Restriction): new procedure with an additional out parameter to
499         inform the caller that a message has been issued
500         * sem_aggr.adb: Minor modification of message
501         * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
502         instead of issuing an error message directly
503         * sem_ch3.adb (Analyze_Declarations): move here the check that basic
504         declarations are not placed after later declarations, by calling
505         Check_Later_Vs_Basic_Declarations
506         (Analyze_Subtype_Declaration): move here the check that an index or
507         discriminant constraint must be a subtype mark. Change the check that
508         a subtype of String must start at one so that it works on subtype marks.
509         * sem_ch4.adb (Analyze_Call): move here the check that a named
510         association cannot follow a positional one in a call
511         * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
512         instead of issuing an error message directly
513         * sem_ch8.adb (Find_Selected_Component): move here the check that a
514         selector name is not a character literal or an operator symbol. Move
515         here the check that the prefix of an expanded name cannot be a
516         subprogram or a loop statement.
517         * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
518         procedure called from parsing and semantics to check that basic
519         declarations are not placed after later declarations
520         (Process_End_Label): move here the check that end label is not missing
521
522 2011-08-02  Arnaud Charlet  <charlet@adacore.com>
523
524         * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
525         representation clause in codepeer mode, since it confuses CodePeer and
526         does not bring useful info.
527
528 2011-08-02  Ed Falis  <falis@adacore.com>
529
530         * init.c: initialize fp hw on MILS.
531
532 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
533
534         * errout.adb (First_Node): for bodies, return the node itself (small
535         optimization). For other nodes, do not check source_unit if the node
536         comes from Standard.
537
538 2011-08-02  Robert Dewar  <dewar@adacore.com>
539
540         * exp_ch3.adb: Minor comment additions.
541         * sem_ch13.adb: Minor reformatting.
542
543 2011-08-02  Pascal Obry  <obry@adacore.com>
544
545         * make.adb, makeutl.adb: Removes some superfluous directory separator.
546
547 2011-08-02  Robert Dewar  <dewar@adacore.com>
548
549         * sem_attr.adb: Minor reformatting.
550
551 2011-08-02  Robert Dewar  <dewar@adacore.com>
552
553         * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
554         (Has_Default_Component_Value): Removed
555         * einfo.ads Comment updates
556         (Has_Default_Aspect): Replaces Has_Default_Value
557         (Has_Default_Component_Value): Removed
558         * exp_ch13.adb
559         (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
560         * exp_ch3.adb
561         (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
562         (Get_Simple_Init_Val): Handle Default_Value aspect
563         (Needs_Simple_Initialization): Handle Default_Value aspect
564         * exp_ch3.ads: Needs_Simple_Initialization
565         * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
566         * par-prag.adb (Pragma_Default[_Component]Value) Removed
567         * sem_ch13.adb
568         (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
569         * sem_prag.adb (Pragma_Default[_Component]Value) Removed
570         * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
571
572 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
573
574         * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
575         package containing iteration primitives.
576         exp_ch5.adb (Expand_Iterator_Loop): ditto.
577
578 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
579
580         * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
581         "of", pre-analyze expression in case it is a function call with
582         finalization actions that must be placed ahead of the loop.
583         * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
584         on an Ada2012 iterator, insert them ahead of the rewritten loop.
585
586 2011-08-02  Geert Bosch  <bosch@adacore.com>
587
588         * cstand.adb (Create_Float_Types): Only consider C's long double for
589         Long_Long_Float, in addition to double.
590
591 2011-08-02  Robert Dewar  <dewar@adacore.com>
592
593         * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
594         sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
595         prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
596         Minor reformatting.
597
598 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
599
600         * sem_attr.adb: handle properly 'Result when it is a prefix of an
601         indexed component.
602
603 2011-08-02  Javier Miranda  <miranda@adacore.com>
604
605         * einfo.ads, einfo.adb
606         (Original_Access_Type): Move this attribute to Node26 since there was
607         an undocumented use of Node21 in E_Access_Subprogram_Type entities
608         which causes conflicts and breaks the generation of the .NET compiler.
609         (Interface_Name): Add missing documentation on JGNAT only uses of
610         this attribute.
611
612 2011-08-02  Geert Bosch  <bosch@adacore.com>
613
614         * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
615         (Find_Back_End_Float_Type): Likewise
616         (Create_Back_End_Float_Types): Likewise
617         (Create_Float_Types): Likewise
618         (Register_Float_Type): Likewise
619         * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
620         Nlist and split out type selection in new local Find_Base_Type function.
621         * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
622         Nlist
623         * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
624
625 2011-08-02  Robert Dewar  <dewar@adacore.com>
626
627         * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
628         alpha order).
629         * opt.ads: Minor comment change.
630         * sem_ch12.adb: Minor code reorganization.
631
632 2011-08-02  Gary Dismukes  <dismukes@adacore.com>
633
634         * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
635         subtype's list of rep items to the list on the full subtype in the case
636         where the lists are the same.
637
638 2011-08-02  Geert Bosch  <bosch@adacore.com>
639
640         * switch-c.adb (Free): New deallocation procedure to avoid implicitly
641         using the one from System.Strings, which also deallocates all strings.
642
643 2011-08-02  Geert Bosch  <bosch@adacore.com>
644
645         * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
646         function.
647         * gcc-interface/Make-lang.in: Update dependencies.
648
649 2011-08-02  Olivier Hainque  <hainque@adacore.com>
650
651         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
652         end_locus.
653
654 2011-08-02  Javier Miranda  <miranda@adacore.com>
655
656         * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
657         associated with anonymous access to subprograms.
658
659 2011-08-02  Geert Bosch  <bosch@adacore.com>
660
661         * opt.ads
662         (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
663         (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
664         * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
665         (Add_Symbol_Definition): Move to switch-c.adb
666         (Process_Command_Line_Symbol_Definitions): Adjust references to above.
667         * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
668         (Add_Symbol_Definition): Move to switch-c.adb.
669         * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
670         * sem_warn.adb
671         (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
672         Move to warnsw.adb.
673         * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
674         Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
675         Move to warnsw.adb.
676         * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
677         (Add_Symbol_Definition): Moved from Prepcomp.
678         * switch-c.ads: Update copyright notice. Use String_List instead of
679         Argument_List, removing dependency on System.OS_Lib.
680
681 2011-08-02  Yannick Moy  <moy@adacore.com>
682
683         * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
684         mode on initialization expression which does not respect SPARK
685         restrictions.
686         * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
687         if the tree referenced by its argument represents an initialization
688         expression in SPARK, suitable for initializing an object in an object
689         declaration.
690
691 2011-08-02  Javier Miranda  <miranda@adacore.com>
692
693         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
694         internally generated access to subprogram with its associated protected
695         subprogram type.
696         * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
697
698 2011-08-02  Geert Bosch  <bosch@adacore.com>
699
700         * cstand.adb (Register_Float_Type): Print information about type to
701         register, if the Debug_Flag_Dot_B is set.
702         * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
703         * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
704         * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
705         with a requested precision of more than Max_Digits digits and no more
706         than Max_Base_Digits digits, if a range specification is present and the
707         Predefined_Float_Types list has a suitable type to derive from.
708         * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
709         case of type completion with pragma Import
710         * sem_prag.adb
711         (Process_Import_Predefined_Type): Processing to complete a type
712         with pragma Import. Currently supports floating point types only.
713         (Set_Convention_From_Pragma): Do nothing without underlying type.
714         (Process_Convention): Guard against absence of underlying type,
715         which may happen when importing incomplete types.
716         (Process_Import_Or_Interface): Handle case of importing predefined
717         types. Tweak error message.
718
719 2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>
720
721         * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
722         functions to previous change.  Reorganize code slightly.
723
724 2011-08-02  Geert Bosch  <bosch@adacore.com>
725
726         * back_end.ads (Register_Type_Proc): New call back procedure type for
727         allowing the back end to provide information about available types.
728         (Register_Back_End_Types): New procedure to register back end types.
729         * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
730         available types.
731         * cstand.adb (Back_End_Float_Types): New list for floating point types
732         supported by the back end.
733         (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
734         (Copy_Float_Type): New procedure to make new copies of predefined types.
735         (Register_Float_Type): New call back procedure to populate the BEFT list
736         (Find_Back_End_Float_Type): New procedure to find a BEFT by name
737         (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
738         (Create_Float_Types): New procedure to create entities for floating
739         point types predefined in Standard, and put these and any remaining
740         BEFTs on the Predefined_Float_Types list.
741         * stand.ads (Predefined_Float_Types): New list for predefined floating
742         point types that do not have declarations in package Standard.
743
744 2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>
745
746         * inline.adb (Get_Code_Unit_Entity): New local function.  Returns the
747         entity node for the unit containing the parameter.
748         (Add_Inlined_Body): Use it to find the unit containing the subprogram.
749         (Add_Inlined_Subprogram): Likewise.
750         * gcc-interface/Make-lang.in: Update dependencies.
751
752 2011-08-02  Thomas Quinot  <quinot@adacore.com>
753
754         * s-stusta.adb (Print): Make sure Pos is always initialized to a
755         suitable value.
756
757 2011-08-02  Geert Bosch  <bosch@adacore.com>
758
759         * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
760
761 2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>
762
763         * sem_type.adb (Covers): Move trivial case to the top and reuse the
764         computed value of Base_Type.
765
766 2011-08-02  Yannick Moy  <moy@adacore.com>
767
768         * restrict.adb (Check_Restriction): issue an error for any use of
769         class-wide, even if the No_Dispatch restriction is not set.
770         * sem_aggr.adb: Correct typos in comments and messages in formal mode
771         * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
772         when completing a private extension, the type named in the private part
773         is not the same as that named in the visible part.
774         * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
775         of an inherited primitive operations of a tagged type or type extension
776         that returns the tagged type.
777         * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
778         function which returns True for an implicit operation inherited by the
779         derived type declaration for the argument type.
780         (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
781         order.
782
783 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
784
785         * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
786         Process_Bounds, to perform analysis with expansion of a range or an
787         expression that is the iteration scheme for a loop.
788         (Analyze_Iterator_Specification): If domain of iteration is given by a
789         function call with a controlled result, as is the case if call returns
790         a predefined container, ensure that finalization actions are properly
791         generated.
792         * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
793
794 2011-08-02  Javier Miranda  <miranda@adacore.com>
795
796         * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
797         * gcc-interface/Make-lang.in: Update dependencies.
798
799 2011-08-02  Javier Miranda  <miranda@adacore.com>
800
801         * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
802         determine if the analysis is performed using N or Original_Node (N).
803         * exp_util.adb (Side_Effect_Free): Code cleanup since the new
804         functionality of routine Is_Variable avoids code duplication.
805         * checks.adb (Determine_Range): Handle temporaries generated by
806         Remove_Side_Effects.
807
808 2011-08-02  Javier Miranda  <miranda@adacore.com>
809
810         * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
811         expansion of the condition. Required since the previous analysis was
812         done with expansion disabled (see Resolve_Quantified_Expression) and
813         hence checks were not inserted and record comparisons have not been
814         expanded.
815
816 2011-08-02  Ed Falis  <falis@adacore.com>
817
818         * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
819         Update header.
820
821 2011-08-02  Bob Duff  <duff@adacore.com>
822
823         * opt.ads: Minor comment fix.
824
825 2011-08-02  Bob Duff  <duff@adacore.com>
826
827         * sem_ch12.adb (Analyze_Package_Instantiation,
828         Analyze_Subprogram_Instantiation): Turn off style checking while
829         analyzing an instance. Whatever style checks that apply to the generic
830         unit should apply, so it makes no sense to apply them in an instance.
831         This was causing trouble when compiling an instance of a runtime
832         unit that violates the -gnatyO switch.
833         * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
834         one of the two case statements, causing spurious errors.
835
836 2011-08-02  Robert Dewar  <dewar@adacore.com>
837
838         * uname.adb: Minor reformatting.
839         * gnatcmd.adb: Minor reformatting.
840         * exp_attr.adb: Minor reformatting.
841
842 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
843
844         * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
845         No_Dispatching_Calls, do not look for the Assign primitive, because
846         predefined primitives are not created in this case.
847
848 2011-08-02  Bob Duff  <duff@adacore.com>
849
850         * stylesw.ads: Minor comment fixes.
851
852 2011-08-02  Robert Dewar  <dewar@adacore.com>
853
854         * freeze.adb (Add_To_Result): New procedure.
855
856 2011-08-02  Jose Ruiz  <ruiz@adacore.com>
857
858         * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
859         time, if the specific run-time routines for handling streams of strings
860         are not available, use the default mechanism.
861
862 2011-08-02  Arnaud Charlet  <charlet@adacore.com>
863
864         * s-regpat.ads: Fix typo.
865
866 2011-08-02  Vincent Celier  <celier@adacore.com>
867
868         * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
869         not null, call it to create the in memory config project file without
870         parsing an existing default config project file.
871
872 2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>
873
874         * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
875
876 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
877
878         * sem_elim.adb: an abstract subprogram does not need an eliminate
879         pragma for its descendant to be eliminable.
880
881 2011-08-02  Ed Falis  <falis@adacore.com>
882
883         * init.c: revert to handling before previous checkin for VxWorks
884         * s-intman-vxworks.adb: delete unnecessary declarations related to
885         using Ada interrupt facilities for handling signals.
886         Delete Initialize_Interrupts. Use __gnat_install_handler instead.
887         * s-intman-vxworks.ads: Import __gnat_install_handler as
888         Initialize_Interrupts.
889         * s-taprop-vxworks.adb: Delete Signal_Mask.
890         (Abort_Handler): change construction of mask to unblock exception
891         signals.
892
893 2011-08-02  Jerome Guitton  <guitton@adacore.com>
894
895         * a-except-2005.adb (Raise_From_Signal_Handler): Call
896         Debug_Raise_Exception before propagation starts.
897
898 2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>
899
900         * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
901         to Restriction_Check_Required.
902         * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
903         * sem_res.adb (Resolve_Call): Likewise.
904         * sem_attr.adb (Check_Stream_Attribute): Likewise.
905
906 2011-08-02  Bob Duff  <duff@adacore.com>
907
908         * stylesw.ads: Update comment.
909         * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
910         * errout.ads: Remove obsolete comment.
911
912 2011-08-02  Javier Miranda  <miranda@adacore.com>
913
914         * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
915         (Set_Is_Safe_To_Reevaluate): new procedure.
916         * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
917         assignment is allowed on safe-to-reevaluate variables.
918         (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
919         temporary created to remove side effects in expressions that use
920         the secondary stack as safe-to-reevaluate.
921         * exp_util.adb (Side_Effect_Free): Add missing code to handle well
922         variables that are not true constants.
923
924 2011-08-02  Robert Dewar  <dewar@adacore.com>
925
926         * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
927         sem_res.adb, sem_ch6.adb: Minor reformatting.
928
929 2011-08-02  Jerome Guitton  <guitton@adacore.com>
930
931         * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
932
933 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
934
935         * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
936         not set Overridden_Operation if subprogram is an initialization
937         procedure.
938
939 2011-08-02  Yannick Moy  <moy@adacore.com>
940
941         * par-ch6.adb: Correct obsolete name in comments
942         * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
943         which takes two message arguments (existing function takes one), with
944         second message used for continuation.
945         * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
946         block statements that originate from a source block statement, not
947         generated block statements
948         * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
949         symmetry with procedure case
950         * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
951         function to issue an error in formal mode if a package specification
952         contains more than one tagged type or type extension.
953         * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
954         parameters matching formals of tagged types are objects (or ancestor
955         type conversions of objects), not general expressions. Issue an error
956         on view conversions that are not involving ancestor conversion of an
957         extended type.
958         (Resolve_Type_Conversion): in formal mode, issue an error on the
959         operand of an ancestor type conversion which is not an object
960         * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
961         procedure so that it works also for actuals of function calls
962         (Is_Actual_Tagged_Parameter): new function which determines if its
963         argument is an actual parameter of a formal of tagged type in a
964         subprogram call
965         (Is_SPARK_Object_Reference): new function which determines if the tree
966         referenced by its argument represents an object in SPARK
967
968 2011-08-02  Robert Dewar  <dewar@adacore.com>
969
970         * sem_ch3.adb: Minor reformatting
971         Minor comment addition
972         Minor error msg text change
973
974 2011-08-02  Javier Miranda  <miranda@adacore.com>
975
976         * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
977         function. Used to be more precise when we generate a variable plus one
978         assignment to remove side effects in the evaluation of the Bound
979         expressions.
980         (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
981         of the bound expression to force its re-analysis and thus expand the
982         associated transient scope (if required). Code cleanup replacing the
983         previous code that declared the constant entity by an invocation to
984         routine Force_Evaluation which centralizes this work in the frontend.
985
986 2011-08-02  Robert Dewar  <dewar@adacore.com>
987
988         * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
989         (Base_Type): Now uses improved Is_Base_Type function
990         * einfo.ads (Base_Type): Inline this function
991
992 2011-08-02  Robert Dewar  <dewar@adacore.com>
993
994         * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
995         (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
996
997 2011-08-02  Arnaud Charlet  <charlet@adacore.com>
998
999         * gcc-interface/Make-lang.in: Update dependencies.
1000         * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
1001         targets.
1002
1003 2011-08-02  Yannick Moy  <moy@adacore.com>
1004
1005         * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
1006         non-simple expression used in delta constraint
1007         (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
1008         index constraint which is not a subtype mark
1009         * par.adb: With and use Restrict
1010         * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
1011         mode on component type which is not a subtype mark and default
1012         expression on component
1013         (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
1014         of string which does not have a lower index bound equal to 1
1015         (Array_Type_Declaration): issue an error in formal mode on index or
1016         component type which is not a subtype mark, and on aliased keyword on
1017         component
1018         (Derived_Type_Declaration): issue an error in formal mode on interface,
1019         limited or abstract type
1020         (Record_Type_Declaration): issue an error in formal mode on interface
1021         (Record_Type_Definition): issue an error in formal mode on tagged types
1022         and type extensions not declared in the specification of a library unit
1023         package; on null non-tagged record; on variant part
1024
1025 2011-08-02  Vincent Celier  <celier@adacore.com>
1026
1027         * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
1028         not declared for qualified library project when Library_Name is not
1029         declared, but Library_Dir is.
1030
1031 2011-08-02  Robert Dewar  <dewar@adacore.com>
1032
1033         * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
1034         pragmas (affects aspects [Component_]Default_Value
1035         (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
1036         component type for the resolution
1037
1038 2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>
1039
1040         * einfo.adb (Base_Type): Tune implementation for speed.
1041
1042 2011-08-02  Robert Dewar  <dewar@adacore.com>
1043
1044         * freeze.adb: Minor reformatting.
1045
1046 2011-08-02  Thomas Quinot  <quinot@adacore.com>
1047
1048         * scos.ads: Update comments.
1049
1050 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
1051
1052         * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
1053         base type, because the parent may be a subtype of a private type whose
1054         convention is established in a private part.
1055
1056 2011-08-02  Hristian Kirtchev  <kirtchev@adacore.com>
1057
1058         * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
1059         statement in a block when the expansion of the return expression has
1060         created a finalization chain.
1061         * freeze.adb (Freeze_Expression): Alphabetize all choices associated
1062         with the parent node.
1063         Add N_Extended_Return_Statement to handle the case where a transient
1064         object declaration appears in the Return_Object_Declarations list of
1065         an extended return statement.
1066
1067 2011-08-02  Matthew Gingell  <gingell@adacore.com>
1068
1069         * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
1070         unused parameter 'name'.
1071
1072 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
1073
1074         * sem_elim.adb (Set_Eliminated): If the overridden operation is an
1075         inherited operation, check whether its alias, which is the source
1076         operastion that it renames, has been marked eliminated.
1077
1078 2011-08-02  Javier Miranda  <miranda@adacore.com>
1079
1080         * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
1081         in-mode parameter whose type is an access type since it can be used to
1082         modify its designated object. Enforce code that handles as safe an
1083         access type that is not access-to-constant but it is the result of a
1084         previous removal of side-effects.
1085         (Remove_Side_Effects): Minor code reorganization of cases which require
1086         no action. Done to incorporate documentation on new cases uncovered
1087         working in this ticket: no action needed if this routine was invoked
1088         too early and the nodes are not yet decorated.
1089         * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
1090         to routine Remove_Side_Effects by calls to Force_Evaluation since they
1091         were issued with actuals that are implicitly provided by
1092         Force_Evaluation.
1093
1094 2011-08-02  Robert Dewar  <dewar@adacore.com>
1095
1096         * sem_ch3.adb, sem_res.adb: Minor reformatting.
1097
1098 2011-08-02  Yannick Moy  <moy@adacore.com>
1099
1100         * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
1101         to issue an error in formal mode on attribute not supported in this mode
1102         (Analyze_Attribute): issue errors on standard attributes not supported
1103         in formal mode.
1104         * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
1105         comment, and issue error in formal mode on modulus which is not a power
1106         of 2.
1107         (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
1108         range.
1109         * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
1110         subtype mark.
1111         * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
1112         operator on modular type (except 'not').
1113
1114 2011-08-02  Robert Dewar  <dewar@adacore.com>
1115
1116         * gnat_rm.texi: Minor reformatting.
1117
1118 2011-08-02  Arnaud Charlet  <charlet@adacore.com>
1119
1120         * s-osinte-linux.ads: Minor comment update and reformatting.
1121         * i-cexten.ads: Make this unit pure, as for its parent.
1122         Will allow its usage in more contexts if needed.
1123
1124 2011-08-02  Robert Dewar  <dewar@adacore.com>
1125
1126         * s-utf_32.ads: Minor comment fix.
1127
1128 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
1129
1130         * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
1131         operation of a tagged synchronized type, handle the case where the
1132         controlling argument is overloaded.
1133
1134 2011-08-02  Yannick Moy  <moy@adacore.com>
1135
1136         * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
1137         Replace pragma SPARK_95 with pragma Restrictions (SPARK)
1138         * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
1139         SPARK mode and formal verification mode on processing SPARK restriction
1140         * s-rident.ads (Restriction_Id): add SPARK restriction in those not
1141         requiring consistency checking.
1142
1143 2011-08-02  Robert Dewar  <dewar@adacore.com>
1144
1145         * sem_res.adb: Minor reformatting.
1146
1147 2011-08-02  Robert Dewar  <dewar@adacore.com>
1148
1149         * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
1150         a-cforse.ads: Remove unneeded with of Ada.Containers
1151         Remove commented out pragma Inline's
1152         Move specifications of new subprograms to the actual specs
1153
1154 2011-08-02  Yannick Moy  <moy@adacore.com>
1155
1156         * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
1157         a-cforse.ads: Update comments.
1158
1159 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
1160
1161         * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
1162
1163 2011-08-02  Robert Dewar  <dewar@adacore.com>
1164
1165         * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
1166         a-cforse.ads, a-cofove.ads: Minor reformatting.
1167
1168 2011-08-02  Claire Dross  <dross@adacore.com>
1169
1170         * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
1171         a-cofove.ads: Add comments.
1172
1173 2011-08-02  Yannick Moy  <moy@adacore.com>
1174
1175         * gnat_rm.texi: Document formal containers.
1176
1177 2011-08-02  Emmanuel Briot  <briot@adacore.com>
1178
1179         * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
1180         are empty sections.
1181
1182 2011-08-02  Robert Dewar  <dewar@adacore.com>
1183
1184         * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
1185         reformatting.
1186
1187 2011-08-02  Robert Dewar  <dewar@adacore.com>
1188
1189         * aspects.adb: New aspects Default_Value and Default_Component_Value
1190         New format of Aspect_Names table checks for omitted entries
1191         * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
1192         handling of boolean aspects for derived types.
1193         New aspects Default_Value and Default_Component_Value
1194         New format of Aspect_Names table checks for omitted entries
1195         * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
1196         (Has_Default_Value): New flag
1197         (Has_Default_Component_Value): New flag
1198         (Has_Default_Value): New flag
1199         * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
1200         table.
1201         * par-prag.adb: New pragmas Default_Value and Default_Component_Value
1202         * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
1203         Default_Value and Default_Component_Value
1204         * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
1205         New aspects Default_Value and Default_Component_Value
1206         * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
1207         * sprint.adb: Print N_Aspect_Specification node when called from gdb
1208
1209 2011-08-02  Vincent Celier  <celier@adacore.com>
1210
1211         * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
1212         inherit library kind.
1213
1214 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
1215
1216         * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
1217         Minor reformatting.
1218
1219 2011-08-02  Robert Dewar  <dewar@adacore.com>
1220
1221         * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
1222
1223 2011-08-02  Yannick Moy  <moy@adacore.com>
1224
1225         * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
1226
1227 2011-08-02  Robert Dewar  <dewar@adacore.com>
1228
1229         * impunit.adb: Add comment.
1230
1231 2011-08-02  Yannick Moy  <moy@adacore.com>
1232
1233         * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
1234         qualification of aggregates in formal mode
1235         (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
1236         another aggregate
1237         (Resolve_Aggregate): complete the test that an aggregate is adequately
1238         qualified in formal mode
1239
1240 2011-08-02  Pascal Obry  <obry@adacore.com>
1241
1242         * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
1243         * mlib-prj.adb: Supress warning when compiling binder generated file.
1244         (Build_Library): Supress all warnings when compiling the binder
1245         generated file.
1246
1247 2011-08-02  Yannick Moy  <moy@adacore.com>
1248
1249         * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
1250         from here...
1251         * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
1252         * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
1253         Add with/use clauses to make Check_Formal_Restriction visible
1254
1255 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
1256
1257         * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
1258         in-parameters when type of the generic formal is private in the generic
1259         spec and non-private in the body.
1260
1261 2011-08-02  Claire Dross  <dross@adacore.com>
1262
1263         * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
1264         a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
1265         a-cofove.adb, a-cofove.ads: New files implementing formal containers.
1266         * impunit.adb, Makefile.rtl: Take new files into account.
1267
1268 2011-08-02  Robert Dewar  <dewar@adacore.com>
1269
1270         * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
1271         sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
1272
1273 2011-08-02  Yannick Moy  <moy@adacore.com>
1274
1275         * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
1276         formal mode
1277         * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
1278         matching static array bounds, taking into account the special case of
1279         string literals
1280         * sem_ch3.adb: Typo in comment.
1281
1282 2011-08-02  Yannick Moy  <moy@adacore.com>
1283
1284         * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
1285         which issues an error in formal mode if its argument node is originally
1286         from source
1287         * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
1288         has a discriminant specification so that it does not include the case
1289         of derived types
1290         (Derived_Type_Declaration): move here the test that a derived type has a
1291         discriminant specification
1292         * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
1293         first element of a component association before accessing its choices
1294         (presence of component association is not enough)
1295         * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
1296         declaration is a library item before accessing the next element in a
1297         list, as library items are not member of lists
1298         * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
1299         sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
1300         Check_Formal_Restriction whenever possible.
1301
1302 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
1303
1304         * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
1305         reference when needed.
1306
1307 2011-08-02  Bob Duff  <duff@adacore.com>
1308
1309         * gnat_ugn.texi: Fix typo.
1310
1311 2011-08-02  Vincent Celier  <celier@adacore.com>
1312
1313         * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
1314         archive file name. Do not use the full path name of archives for Open
1315         VMS.
1316
1317 2011-08-02  Robert Dewar  <dewar@adacore.com>
1318
1319         * sem_ch12.adb, sem_ch11.adb: New calling sequence for
1320         Analyze_Aspect_Specifications
1321         * sem_ch13.adb
1322         (Analyze_Aspect_Specifications): New handling for boolean aspects
1323         * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
1324         * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
1325         sequence for Analyze_Aspect_Specifications
1326         * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
1327         * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
1328
1329 2011-08-02  Robert Dewar  <dewar@adacore.com>
1330
1331         * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
1332         aspects, since these no longer exist.
1333
1334 2011-08-02  Robert Dewar  <dewar@adacore.com>
1335
1336         * par-ch13.adb (Aspect_Specifications_Present): Always return false on
1337         semicolon, do not try to see if there are aspects following it.
1338         * par-ch3.adb (P_Declarative_Items): Better message for unexpected
1339         aspect spec.
1340
1341 2011-08-02  Robert Dewar  <dewar@adacore.com>
1342
1343         * sem_ch8.adb, aspects.ads: Minor reformatting.
1344
1345 2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>
1346
1347         * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
1348         * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
1349         extracted from...
1350         (Analyze_Aspect_Specifications): ...here.  Call above procedure.
1351
1352 2011-08-02  Yannick Moy  <moy@adacore.com>
1353
1354         * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
1355         mode on subprogram declaration outside of package specification, unless
1356         it is followed by a pragma Import
1357         * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
1358         Access_Type_Declaration): issue error in formal mode on access type
1359         (Analyze_Incomplete_Type_Decl): issue error in formal mode on
1360         incomplete type
1361         (Analyze_Object_Declaration): issue error in formal mode on object
1362         declaration which does not respect SPARK restrictions
1363         (Analyze_Subtype_Declaration): issue error in formal mode on subtype
1364         declaration which does not respect SPARK restrictions
1365         (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
1366         error in formal mode on digits or delta constraint
1367         (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
1368         decimal fixed point type
1369         (Derived_Type_Declaration): issue error in formal mode on derived type
1370         other than type extensions of tagged record types
1371         * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
1372         with check on access definition
1373         * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
1374         mode on protected definition.
1375         (Analyze_Task_Definition): issue error in formal mode on task definition
1376
1377 2011-08-02  Robert Dewar  <dewar@adacore.com>
1378
1379         * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
1380
1381 2011-08-02  Javier Miranda  <miranda@adacore.com>
1382
1383         * sem_ch6.adb (Can_Override_Operator): New function.
1384         (Verify_Overriding_Indicator): Add missing code to check overriding
1385         indicator in operators. Fixes regression.
1386         (Check_Overriding_Indicator): Minor reformating after replacing the
1387         code that evaluates if the subprogram can override an operator by
1388         invocations to the above new function.
1389         * einfo.adb
1390         (Write_Field26_Name): Add missing code to ensure that, following
1391         the documentation in einfo.ads, this field is not shown as attribute
1392         "Static_Initialization" on non-dispatching functions.
1393
1394 2011-08-02  Jose Ruiz  <ruiz@adacore.com>
1395
1396         * sem_res.adb (Resolve_Call): A call to
1397         Ada.Real_Time.Timing_Events.Set_Handler violates restriction
1398         No_Relative_Delay (AI-0211) only when it sets a relative timing event,
1399         i.e., when the second parameter is of type Time_Span.
1400
1401 2011-08-02  Vincent Celier  <celier@adacore.com>
1402
1403         * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
1404         with an archive instead of -L<library dir> -l<library name>.
1405
1406 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
1407
1408         * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
1409         mark the base types In_Use in addition to making the operations
1410         use_visible.
1411
1412 2011-08-02  Ed Falis  <falis@adacore.com>
1413
1414         * init.c: add and setup __gnat_signal_mask for the exception signals
1415         * s-inmaop-vxworks.adb: new file.
1416         * s-intman-vxworks.adb: remove unnecessary initializations and
1417         simplify remaining
1418         * s-intman-vxworks.ads: remove unnecessary variable
1419         * s-taprop-vxworks.adb: simplify signal initialization
1420
1421 2011-08-02  Robert Dewar  <dewar@adacore.com>
1422
1423         * sem_ch8.adb: Minor code reorganization, comment updates.
1424
1425 2011-08-02  Robert Dewar  <dewar@adacore.com>
1426
1427         * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
1428         * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
1429         here from Sem_Res.
1430         (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
1431         (Matching_Static_Array_Bounds): Moved here from Sem_Res
1432
1433 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
1434
1435         * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
1436         * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
1437         * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
1438         use_type_clauses, to handle more efficiently use_type and use_all_type
1439         constructs.
1440         * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
1441         Ada2012 Use_All_Type clause.
1442         (Use_Class_Wide_Operations): new procedure.
1443
1444 2011-08-02  Robert Dewar  <dewar@adacore.com>
1445
1446         * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
1447         sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
1448         expression to expression function.
1449
1450 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
1451
1452         * sem_ch4.adb: transform simple Ada2012 membership into equality only
1453         if types are compatible.
1454
1455 2011-08-02  Yannick Moy  <moy@adacore.com>
1456
1457         * sem_res.adb (Matching_Static_Array_Bounds): new function which
1458         returns True if its argument array types have same dimension and same
1459         static bounds at each index.
1460         (Resolve_Actuals): issue an error in formal mode on actuals passed as
1461         OUT or IN OUT paramaters which are not view conversions in SPARK.
1462         (Resolve_Arithmetic_Op): issue an error in formal mode on
1463         multiplication or division with operands of fixed point types which are
1464         not qualified or explicitly converted.
1465         (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
1466         Boolean or array type (except String) operands.
1467         (Resolve_Equality_Op): issue an error in formal mode on equality
1468         operators for array types other than String with non-matching static
1469         bounds.
1470         (Resolve_Logical_Op): issue an error in formal mode on logical operators
1471         for array types with non-matching static bounds. Factorize the code in
1472         Matching_Static_Array_Bounds.
1473         (Resolve_Qualified_Expression): issue an error in formal mode on
1474         qualified expressions for array types with non-matching static bounds.
1475         (Resolve_Type_Conversion): issue an error in formal mode on type
1476         conversion for array types with non-matching static bounds
1477
1478 2011-08-02  Robert Dewar  <dewar@adacore.com>
1479
1480         * par-ch10.adb: Minor code reorganization (use Nkind_In).
1481
1482 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
1483
1484         * par-ch9.adb: save location of entry for proper error message.
1485
1486 2011-08-02  Javier Miranda  <miranda@adacore.com>
1487
1488         * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
1489         (Use_Full_View) which permits this routine to climb through the
1490         ancestors using the full-view of private parents.
1491         * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
1492         Use_Full_View to true in calls to Is_Ancestor.
1493         * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
1494         true in call to Is_Ancestor.
1495         * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
1496         Use_Full_View to true in call to Is_Ancestor.
1497         * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
1498         call to Is_Ancestor.
1499         * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
1500         Use_Full_View to true in calls to Is_Ancestor.
1501         * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
1502         Make_Select_Specific_Data_Table, Register_Primitive,
1503         Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
1504         * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
1505         to true in call to Is_Ancestor.
1506         * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
1507         Use_Full_View to true in calls to Is_Ancestor.
1508         * exp_cg.adb
1509         (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
1510         (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
1511
1512 2011-08-02  Robert Dewar  <dewar@adacore.com>
1513
1514         * gnat_rm.texi: Minor reformatting.
1515         * sem_prag.adb: Minor reformatting.
1516
1517 2011-08-02  Tristan Gingold  <gingold@adacore.com>
1518
1519         * vms_data.ads: Add VMS qualifier for -gnateP.
1520
1521 2011-08-02  Robert Dewar  <dewar@adacore.com>
1522
1523         * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
1524         * par-ch7.adb (P_Package): Proper placement of aspects for package
1525         decl/instantiation.
1526         * par-endh.adb (Check_End): Ad Is_Sloc parameter
1527         (End_Statements): Add Is_Sloc parameterr
1528         * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
1529         (Check_End): Ad Is_Sloc parameter
1530         (End_Statements): Add Is_Sloc parameterr
1531
1532 2011-08-02  Vincent Celier  <celier@adacore.com>
1533
1534         * ug_words: Add VMS qualifier equivalent to -gnateP:
1535         /SYMBOL_PREPROCESSING.
1536
1537 2011-08-02  Jose Ruiz  <ruiz@adacore.com>
1538
1539         * gnat-style.texi: For hexadecimal numeric literals the typical
1540         grouping of digits is 4 to represent 2 bytes.
1541         A procedure spec which is split into several lines is indented two
1542         characters.
1543
1544 2011-08-02  Yannick Moy  <moy@adacore.com>
1545
1546         * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
1547         * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
1548         (Resolve_Aggregate): issue errors in formal modes when aggregate is not
1549         properly qualified
1550         (Resolve_Array_Aggregate): issue errors in formal modes on non-static
1551         choice in array aggregate
1552         (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
1553         mark as ancestor
1554         (Resolve_Record_Aggregate): issue errors in formal modes on mixed
1555         positional and named aggregate for record, or others in record
1556         aggregate, or multiple choice in record aggregate
1557         * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
1558         array operands to logical operations AND, OR and XOR do not have the
1559         same static lower and higher bounds
1560         * sem_ch5.adb, sinfo.ads: Correct typos in comments
1561
1562 2011-08-01  Robert Dewar  <dewar@adacore.com>
1563
1564         * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
1565         Replaces Last_Source_Node_In_Sequence.
1566         * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
1567         * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
1568         parens and blank in string (this was inconsistently implemented).
1569         * errout.ads
1570         (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
1571         blank in string (this was inconsistently implemented).
1572         * gnat1drv.adb
1573         (Set_Global_Switches): Set formal mode switches appropriately
1574         * opt.ads, opt.adb: Formal mode is now global switches, more consistent
1575         * par-prag.adb
1576         (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
1577         call Set_Error_Msg_Lang to set "spark" as language name.
1578         * par.adb: Remove unnecessary call to set formal language for errout
1579         * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
1580         appropriately and call Set_Error_Msg_Lang to set "spark" as language
1581         name.
1582         * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
1583         calls to it, moved after resolution so that types are known
1584         * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
1585         result of concatenation is not of type String
1586         (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
1587         concatenation is not properly restricted
1588         * gnat_rm.texi: Add doc on pragma Spark_95.
1589         * gcc-interface/Makefile.in: Remove obsolete target pairs for
1590         Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
1591         * gcc-interface/Make-lang.in: Update dependencies.
1592
1593 2011-08-01  Javier Miranda  <miranda@adacore.com>
1594
1595         * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
1596         condition that detects if the overridden operation must replace an
1597         existing entity.
1598
1599 2011-08-01  Javier Miranda  <miranda@adacore.com>
1600
1601         * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
1602         code declarations inserted by Insert_Actions in each alternative of the
1603         N_Case_Expression node.
1604
1605 2011-08-01  Robert Dewar  <dewar@adacore.com>
1606
1607         * sem_ch6.adb: Minor code reorganization.
1608         * sem_util.adb: Minor reformatting.
1609
1610 2011-08-01  Pascal Obry  <obry@adacore.com>
1611
1612         * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
1613         * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
1614
1615 2011-08-01  Yannick Moy  <moy@adacore.com>
1616
1617         * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
1618         literal or operator symbol which is prefixed
1619         * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
1620         mode on access attributes.
1621         * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
1622         that concatenation operands are properly restricted in formal mode
1623         (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
1624         Analyze_Concatenation_Operand. Issue an error in formal mode if the
1625         result of the concatenation has a type different from String.
1626         (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
1627         Analyze_Quantified_Expression, Analyze_Slice,
1628         Analyze_Null): issue an error in formal mode on unsupported constructs
1629         * sem_ch5.adb
1630         (Analyze_Block_Statement): only issue error on source block statement
1631         * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
1632         function which returns the last node in a list of nodes for which
1633         Comes_From_Source returns True, if any
1634         * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
1635         Last_Source_Node_In_Sequence
1636         * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
1637         Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
1638         mode on unsupported constructs
1639         * sem_ch9.adb Do not return after issuing error in formal mode, as the
1640         rest of the actions may be needed later on since the error is marked as
1641         not serious.
1642         * sinfo.ads: Typos in comments.
1643
1644 2011-08-01  Pascal Obry  <obry@adacore.com>
1645
1646         * projects.texi: Minor editing.
1647
1648 2011-08-01  Yannick Moy  <moy@adacore.com>
1649
1650         * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
1651         insertion character ~~
1652         * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
1653         (Set_Error_Msg_Lang): new procedure which fixes the language for use
1654         with insertion character ~~
1655         (Set_Msg_Text): treat insertion character ~~
1656         * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
1657         sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
1658         Formal_Error_Msg_... procedures by equivalent Error_Msg_...
1659         procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
1660         errors related to the formal language restriction not serious
1661         (insertion character |).
1662         * par.adb (Par): set formal language for error messages if needed
1663         * sem_ch6.adb (Check_Missing_Return): take into account possible
1664         generated statements at the end of the function
1665         * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
1666         enumeration value to define a new pragma SPARK_95
1667         * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
1668         SPARK_Version): new type and variables to store the SPARK version
1669         (none by default).
1670         (SPARK_Mode): return True when SPARK_Version is set
1671         * par-prag.adb: Correct indentation
1672         (Prag): take Pragma_SPARK_95 into account
1673         * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
1674         into account.
1675
1676 2011-08-01  Robert Dewar  <dewar@adacore.com>
1677
1678         * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
1679         sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
1680         sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
1681
1682 2011-08-01  Pascal Obry  <obry@adacore.com>
1683
1684         * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
1685         Target_Name to Get_Path call.
1686         (Parse_Single_Project): Likewise.
1687         (Post_Parse_Context_Clause): Likewise.
1688         * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
1689         Call Initialise_Project_Path with the proper Target_Name.
1690         (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
1691         search path.
1692         (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
1693         with the proper Target_Name.
1694         * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
1695         Part.Parse routine.
1696         (Parse_Project_And_Apply_Config): Likewise.
1697         * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
1698         This is fine as this part of the code is supporting only native
1699         compilation.
1700         * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
1701         is fine as this part of the code is supporting only native compilation.
1702
1703 2011-08-01  Yannick Moy  <moy@adacore.com>
1704
1705         * sem_util.adb (Enter_Name): issue error in formal mode on declaration
1706         of homonym, unless the homonym is one of the cases allowed in SPARK
1707         * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
1708         package declaration occurring after a body.
1709
1710 2011-08-01  Robert Dewar  <dewar@adacore.com>
1711
1712         * checks.adb, exp_ch4.adb: Minor reformatting.
1713
1714 2011-08-01  Javier Miranda  <miranda@adacore.com>
1715
1716         * einfo.ads (Access_Disp_Table): Fix documentation.
1717         (Dispatch_Table_Wrappers): Fix documentation.
1718
1719 2011-08-01  Pascal Obry  <obry@adacore.com>
1720
1721         * prj-env.adb, prj-env.ads: Minor reformatting.
1722
1723 2011-08-01  Yannick Moy  <moy@adacore.com>
1724
1725         * sem_util.ads, sem_util.adb, par.adb, par_util.adb
1726         (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
1727         procedures out of these packages.
1728         * errout.ads, errout.adb 
1729         (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
1730         procedures in of this package
1731         (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
1732         * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
1733         on misplaced later vs initial declarations, like in Ada 83
1734         * sem_attr.adb (Processing for Analyze_Attribute): issue error in
1735         formal mode on attribute of private type whose full type declaration
1736         is not visible
1737         * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
1738         package declaration inside a package specification
1739         (Analyze_Full_Type_Declaration): issue error in formal mode on
1740         controlled type or discriminant type
1741         * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
1742         user-defined operator means that it should come from the source
1743         (New_Overloaded_Entity): issue error in formal mode on overloaded
1744         entity.
1745         * sem_ch6.ads, sem_ch13.ads: typos in comments.
1746
1747 2011-08-01  Thomas Quinot  <quinot@adacore.com>
1748
1749         * atree.adb: Minor reformatting.
1750         * checks.adb: Minor reformatting.
1751
1752 2011-08-01  Vincent Celier  <celier@adacore.com>
1753
1754         * s-parame-vms-ia64.ads: Fix typo in comment
1755         Minor reformatting
1756         * s-parame-vms-restrict.ads: Removed, unused.
1757
1758 2011-08-01  Javier Miranda  <miranda@adacore.com>
1759
1760         * exp_ch3.adb
1761         (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
1762         * sem_ch3.adb
1763         (Constrain_Index): Remove side effects in the evaluation of the bounds.
1764         * sem_ch3.ads, sem_ch3.adb
1765         (Is_Constant_Bound): New extended version of the subprogram that was
1766         previously located inside function Exp_Ch3.Is_Variable_Size_Array.
1767         Moved here since it is shared by routines of sem_ch3 and exp_ch3.
1768         * sem_aux.ads (Constant_Value): Fix typo in comment.
1769         * checks.adb (Generate_Index_Checks): New implementation which, for
1770         array objects with constant bounds, generates the runtime check
1771         referencing the bounds of the array type. For other cases this routine
1772         provides its previous behavior obtaining such values from the array
1773         object.
1774         * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
1775         parent type.
1776         * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
1777         we cannot have semantic interpretations of the new node.
1778
1779 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
1780
1781         * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
1782         expressions.
1783
1784 2011-08-01  Arnaud Charlet  <charlet@adacore.com>
1785
1786         * sem_ch8.adb: Minor code editing.
1787         * s-vxwext.adb: Remove trailing space.
1788         * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
1789         consistency with other files.
1790
1791 2011-08-01  Thomas Quinot  <quinot@adacore.com>
1792
1793         * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
1794
1795 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
1796
1797         * par-ch10.adb: reject parameterized expressions as compilation unit.
1798         * sem_ch4.adb: handle properly conditional expression with overloaded
1799         then_clause and no else_clause.
1800
1801 2011-08-01  Tristan Gingold  <gingold@adacore.com>
1802
1803         * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
1804         like done by System.Aux_DEC.
1805         * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
1806
1807 2011-08-01  Yannick Moy  <moy@adacore.com>
1808
1809         * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
1810         missing label at end of declaration (subprogram or package)
1811         * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
1812         of positional and named parameter association
1813         * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
1814         Error_Msg_SP which adds a prefix to the error message giving the name
1815         of the formal language analyzed
1816         * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
1817         access result type in subprogram, unconstrained array as result type,.
1818         (Analyze_Subprogram_Declaration): issue an error in formal mode for null
1819         procedure
1820         * sem_ch8.adb: Code clean up.
1821
1822 2011-08-01  Javier Miranda  <miranda@adacore.com>
1823
1824         * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
1825         * einfo.ads (Access_Disp_Table): Fix documentation.
1826         (Dispatch_Table_Wrappers): Fix documentation.
1827         * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
1828         Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
1829         to enforce the documentation of this attribute.
1830         (Set_Is_Interface): Cleanup the assertion.
1831         * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
1832         the Underlying_Type entity before reading attribute Access_Disp_Table.
1833         * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
1834         Locate the Underlying_Type before reading attribute Access_Disp_Table.
1835         * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
1836         the Underlying_Type entity before reading attribute Access_Disp_Table.
1837         * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
1838         Locate the Underlying_Type entity before reading attribute
1839         Access_Disp_Table.
1840
1841 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
1842
1843         * s-poosiz.ads: Additional overriding indicators.
1844
1845 2011-08-01  Yannick Moy  <moy@adacore.com>
1846
1847         * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
1848         formal mode.
1849         (Analyze_Iteration_Scheme): issue error in formal mode when loop
1850         parameter specification does not include a subtype mark.
1851         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
1852         formal mode on abstract subprogram.
1853         (Analyze_Subprogram_Specification): issue error in formal mode on
1854         user-defined operator.
1855         (Process_Formals): issue error in formal mode on access parameter and
1856         default expression.
1857         * sem_ch9.adb (Analyze_Abort_Statement,
1858         Analyze_Accept_Statement, Analyze_Asynchronous_Select,
1859         Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
1860         Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
1861         Analyze_Requeue, Analyze_Selective_Accept,
1862         Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
1863         * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
1864         issue error in formal mode on user-defined raise statement.
1865
1866 2011-08-01  Thomas Quinot  <quinot@adacore.com>
1867
1868         * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
1869         declaration being hidden when overriding an implicit inherited
1870         subprogram.
1871         * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
1872         (-gnats), do not complain about a source file that contains only a
1873         pragma No_Body.
1874
1875 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
1876
1877         * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
1878         variable if already set.
1879
1880 2011-08-01  Arnaud Charlet  <charlet@adacore.com>
1881
1882         * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
1883         g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
1884         s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
1885         g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
1886         g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
1887         g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
1888         g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
1889         g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
1890         g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
1891         g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
1892         g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
1893         s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
1894         g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
1895         s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
1896         g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
1897         g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
1898         g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
1899         g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
1900         g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
1901         g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
1902         s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
1903         s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
1904         a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
1905         s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
1906         s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
1907         g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
1908         g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
1909         g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
1910         g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
1911         g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
1912         g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
1913         s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
1914         s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
1915         g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
1916         g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
1917         s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
1918         s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
1919         g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
1920         g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
1921         g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
1922         s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
1923         g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
1924         g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
1925         g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
1926         s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
1927         g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
1928         g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
1929         g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
1930         s-osinte-mingw.ads: Update to GPLv3 run-time license.
1931         Use GNAT instead of GNARL.
1932
1933 2011-08-01  Bob Duff  <duff@adacore.com>
1934
1935         * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
1936         a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
1937         a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
1938         reformatting.
1939
1940 2011-08-01  Yannick Moy  <moy@adacore.com>
1941
1942         * debug.adb (d.D) reverve flag for the SPARK mode
1943         (d.E) reverve flag for SPARK generation mode
1944         (d.F) reverve flag for Why generation mode
1945         * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode, 
1946         ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode):  New
1947         functions which return True when the corresponding modes are set
1948         (Formal_Language): return "spark" or "alfa" when in formal verification
1949         mode.
1950         * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
1951         Error_Msg to prefix the error message with a tag giving the formal
1952         language
1953         (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
1954         message with a tag giving the formal language
1955         * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
1956         block statement
1957         (Analyze_Case_Statement): issue error in formal mode on case statement
1958         with a single "others" case alternative
1959         (Analyze_Exit_Statement): issue errors in formal mode on exit
1960         statements which do not respect SPARK restrictions
1961         (Analyze_Goto_Statement): issue error in formal mode on goto statement
1962         (Check_Unreachable_Code): always issue an error (not a warning) in
1963         formal mode on unreachable code (concerns both code after an infinite
1964         loop and after an unconditional jump, both not allowed in SPARK)
1965         * sem_ch6.adb (Analyze_Return_Statement): add call to
1966         Set_Return_Present for a procedure containing a return statement
1967         (already done for functions in Analyze_Function_Return)
1968         (Analyze_Function_Return): issue error in formal mode on extended
1969         return or if return is not last statement in function
1970         (Check_Missing_Return): issue error in formal mode if function does
1971         not end with return or if procedure contains a return
1972         * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
1973         function to detect if there is an inner scope of its parameter S which
1974         is a loop.
1975
1976 2011-08-01  Thomas Quinot  <quinot@adacore.com>
1977
1978         * sem_ch6.ads: Minor reformatting.
1979
1980 2011-08-01  Javier Miranda  <miranda@adacore.com>
1981
1982         * sem_util.adb (Abstract_Interface_List): Complete condition when
1983         processing private type declarations to avoid reading unavailable
1984         attribute.
1985         (Is_Synchronized_Tagged_Type): Complete condition when processing
1986         private extension declaration nodes to avoid reading unavailable
1987         attribute.
1988
1989 2011-08-01  Thomas Quinot  <quinot@adacore.com>
1990
1991         * sem_ch3.adb: Minor reformatting.
1992
1993 2011-08-01  Thomas Quinot  <quinot@adacore.com>
1994
1995         * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
1996         i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
1997         s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
1998         s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
1999         for VMS, instead parametrize the common implementation with
2000         System.Parameters declarations.
2001
2002 2011-08-01  Eric Botcazou  <ebotcazou@adacore.com>
2003
2004         * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
2005
2006 2011-08-01  Tristan Gingold  <gingold@adacore.com>
2007
2008         * seh_init.c: Fix SEH handler installation on win64.
2009
2010 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
2011
2012         * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
2013         double analysis of an anonymous access to subprogram, because it can
2014         lead to improper sharing of profiles and a back-end crash.
2015
2016 2011-08-01  Robert Dewar  <dewar@adacore.com>
2017
2018         * make.adb, sem_ch4.adb: Minor reformatting.
2019         * gcc-interface/Make-lang.in: Update dependencies.
2020         * sem_util.adb, exp_ch5.adb: Minor reformatting.
2021
2022 2011-08-01  Arnaud Charlet  <charlet@adacore.com>
2023
2024         * gnat_rm.texi: Fix definition of Long_Integer.
2025
2026 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
2027
2028         * exp_aggr.adb: check limit size of static aggregate unconditionally,
2029         to prevent storage exhaustion.
2030         * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
2031         finalized is a function body, insert the cleanup code before the final
2032         return statement, to prevent spurious warnings.
2033         * s-pooglo.ads: add overriding indicator.
2034
2035 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
2036
2037         * sem_ch4.adb (Operator_Check): improve error message when both a
2038         with_clause and a use_clause are needed to make operator usage legal.
2039         * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
2040         determine whether a compilation unit is visible within an other,
2041         either through a with_clause in the current unit, or a with_clause in
2042         its library unit or one one of its parents.
2043
2044 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
2045
2046         * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
2047         over an arbitrary expression of an array or container type.
2048         * lib-xref.adb: clarify comment.
2049
2050 2011-08-01  Bob Duff  <duff@adacore.com>
2051
2052         * einfo.ads: Minor reformatting.
2053         * debug.adb: Minor comment improvement.
2054
2055 2011-08-01  Javier Miranda  <miranda@adacore.com>
2056
2057         * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
2058         consider hidden subprograms as valid candidates.
2059
2060 2011-08-01  Arnaud Charlet  <charlet@adacore.com>
2061
2062         * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
2063
2064 2011-08-01  Vasiliy Fofanov  <fofanov@adacore.com>
2065
2066         * gnat_ugn.texi: Fix typo.
2067
2068 2011-08-01  Robert Dewar  <dewar@adacore.com>
2069
2070         * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
2071         lib-xref.adb: Minor reformatting
2072
2073 2011-08-01  Gary Dismukes  <dismukes@adacore.com>
2074
2075         * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
2076         when to generate a call to Move_Final_List.
2077         (Has_Controlled_Parts): Remove this function.
2078
2079 2011-08-01  Geert Bosch  <bosch@adacore.com>
2080
2081         * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
2082         "," in choice list.
2083
2084 2011-08-01  Thomas Quinot  <quinot@adacore.com>
2085
2086         * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
2087         explicit raise of a predefined exception as Comes_From_Source if the
2088         original N_Raise_Statement comes from source.
2089
2090 2011-08-01  Robert Dewar  <dewar@adacore.com>
2091
2092         * sinfo.ads: Add comment.
2093         * sem_ch6.adb: Minor reformatting.
2094
2095 2011-08-01  Robert Dewar  <dewar@adacore.com>
2096
2097         * freeze.adb (Freeze_Entity): Refine check for bad component size
2098         clause to avoid rejecting confirming clause when atomic/aliased present.
2099
2100 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
2101
2102         * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
2103         better determine whether an entity reference is a write.
2104         * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
2105         subcomponent.
2106         * lib-xref.adb (Output_References): Do no suppress a read reference at
2107         the same location as an immediately preceeding modify-reference, to
2108         handle properly in-out actuals.
2109
2110 2011-08-01  Tristan Gingold  <gingold@adacore.com>
2111
2112         * env.c (__gnat_setenv) [VMS]: Refine previous change.
2113
2114 2011-08-01  Quentin Ochem  <ochem@adacore.com>
2115
2116         * i-cstrin.adb (New_String): Changed implementation, now uses only the
2117         heap to compute the result.
2118
2119 2011-08-01  Robert Dewar  <dewar@adacore.com>
2120
2121         * atree.ads: Minor reformatting.
2122
2123 2011-08-01  Emmanuel Briot  <briot@adacore.com>
2124
2125         * g-expect.adb (Get_Command_Output): Fix memory leak.
2126
2127 2011-08-01  Geert Bosch  <bosch@adacore.com>
2128
2129         * cstand.adb (P_Float_Type): New procedure to print the definition of
2130         predefined fpt types.
2131         (P_Mixed_Name): New procedure to print a name using mixed case
2132         (Print_Standard): Use P_Float_Type for printing floating point types
2133         * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
2134         precision IEEE float.
2135
2136 2011-08-01  Thomas Quinot  <quinot@adacore.com>
2137
2138         * sem_ch3.adb: Minor reformatting.
2139
2140 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
2141
2142         * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
2143         the completion of a generic function, insert the new body rather than
2144         rewriting the original.
2145
2146 2011-08-01  Yannick Moy  <moy@adacore.com>
2147
2148         * sinfo.ads, errout.ads: Typos in comments.
2149
2150 2011-08-01  Robert Dewar  <dewar@adacore.com>
2151
2152         * par-endh.adb: Minor reformatting.
2153
2154 2011-08-01  Robert Dewar  <dewar@adacore.com>
2155
2156         * aspects.ads, aspects.adb: Add aspects for library unit pragmas
2157         (Pre_Post_Aspects): New subtype.
2158         * par-ch12.adb (P_Generic): New syntax for aspects in packages
2159         * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
2160         * par-ch7.adb (P_Package): Remove Decl parameter
2161         (P_Package): Handle new syntax for aspects (before IS)
2162         * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
2163         new aspect syntax
2164         (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
2165         * par.adb (P_Aspect_Specifications): Add Semicolon parameter
2166         (P_Package): Remove Decl parameter
2167         * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
2168         aspects
2169         * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
2170         specs
2171         * sem_util.ads, sem_util.adb (Static_Boolean): New function
2172         * sinfo.ads: Document new syntax for aspects in packages etc.
2173         * sprint.adb: Handle new syntax of aspects before IS in package
2174
2175 2011-08-01  Thomas Quinot  <quinot@adacore.com>
2176
2177         * atree.ads: Minor reformatting.
2178         * sem_prag.adb: Minor reformatting.
2179
2180 2011-08-01  Robert Dewar  <dewar@adacore.com>
2181
2182         * exp_util.adb (Insert_Actions): Fix error in handling Actions for
2183         case expr alternative.
2184
2185 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
2186
2187         * sem_ch12.adb: Fix typo.
2188
2189 2011-08-01  Geert Bosch  <bosch@adacore.com>
2190
2191         * sem_prag.adb (Check_No_Link_Name): New procedure.
2192         (Process_Import_Or_Interface): Use Check_No_Link_Name.
2193         * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
2194         instead of Standard_Long_Long_Float_Size global. Preparation for
2195         eventual removal of per type constants.
2196         * exp_util.ads (Get_Stream_Size): New function returning the stream
2197         size value of subtype E.
2198         * exp_util.adb (Get_Stream_Size): Implement new function.
2199         * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
2200         function.
2201         * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
2202         * einfo.adb:
2203         (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
2204
2205 2011-08-01  Geert Bosch  <bosch@adacore.com>
2206
2207         * cstand.adb: Fix comments.
2208         * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
2209         count of arguments.
2210
2211 2011-08-01  Robert Dewar  <dewar@adacore.com>
2212
2213         * exp_ch4.adb, sem_cat.adb: Minor reformatting.
2214
2215 2011-08-01  Geert Bosch  <bosch@adacore.com>
2216
2217         * atree.ads: Fix comment.
2218
2219 2011-08-01  Robert Dewar  <dewar@adacore.com>
2220
2221         * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
2222         * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
2223         * par.adb: Add with for Namet.Sp.
2224         * par-tchk.adb: Minor reformatting.
2225
2226 2011-08-01  Vincent Celier  <celier@adacore.com>
2227
2228         * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
2229         (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
2230         of the init procedure of a SAL.
2231         * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
2232         New procedure.
2233
2234 2011-08-01  Thomas Quinot  <quinot@adacore.com>
2235
2236         * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
2237         reformatting.
2238
2239 2011-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2240
2241         * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
2242
2243 2011-08-01  Thomas Quinot  <quinot@adacore.com>
2244
2245         * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
2246         conformant with its spec (return True only for types that have
2247         an overriding Initialize primitive operation that prevents them from
2248         having preelaborable initialization).
2249         * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
2250         initialization for controlled types in Ada 2005 or later mode.
2251
2252 2011-08-01  Robert Dewar  <dewar@adacore.com>
2253
2254         * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
2255         Postcondition.
2256         (Same_Aspect): New function.
2257         * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
2258         Type_Invariant, Precondition, Postcondition.
2259         * snames.ads-tmpl: Add Name_Type_Invariant.
2260
2261 2011-08-01  Robert Dewar  <dewar@adacore.com>
2262
2263         * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
2264         here.
2265         (Freeze_All_Ent): Fix error in handling inherited aspects.
2266         * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
2267         already analyzed, but don't skip entire processing of a declaration,
2268         that's wrong in some cases of declarations being rewritten.
2269         (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
2270         Don't delay for integer, string literals
2271         Treat predicates in usual manner for delay, remove special case code,
2272         not needed.
2273         (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
2274         (Build_Predicate_Function): Update saved expression in aspect
2275         (Build_Invariant_Procedure): Update saved expression in aspect
2276         * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
2277         of replacement of discriminant references if the reference is simple.
2278
2279 2011-08-01  Robert Dewar  <dewar@adacore.com>
2280
2281         * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
2282         * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
2283         Static_Predicate and Dynamic_Predicate.
2284         (Build_Predicate_Function): Add processing for Static_Predicate
2285         and Dynamic_Predicate.
2286         * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
2287         (From_Static_Predicate): New flag
2288         * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
2289
2290 2011-08-01  Robert Dewar  <dewar@adacore.com>
2291
2292         * usage.adb: Documentation cleanup for Ada version modes in usage.
2293         * expander.adb: Minor reformatting.
2294
2295 2011-08-01  Robert Dewar  <dewar@adacore.com>
2296
2297         * atree.ads: Minor comment fix.
2298         * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
2299         a-witeio.ads, sem_prag.adb: Minor reformatting.
2300
2301 2011-08-01  Doug Rupp  <rupp@adacore.com>
2302
2303         * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
2304         pointers. Use descrip.h header file for convenience. Add some
2305         comments.
2306
2307 2011-08-01  Robert Dewar  <dewar@adacore.com>
2308
2309         * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
2310         (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
2311         * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
2312         New procedure.
2313         (Check_Aspect_At_End_Of_Declarations): New procedure
2314         (Analye_Aspect_Specification): Minor changes for above procedures
2315         * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
2316         specification node as well.
2317
2318 2011-08-01  Pascal Obry  <obry@adacore.com>
2319
2320         * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
2321         Windows files. Use GetFilesAttributes() in this case to check for file
2322         existence instead of returning with an error code.
2323
2324 2011-08-01  Vincent Celier  <celier@adacore.com>
2325
2326         * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
2327         High is above Source length.
2328
2329 2011-08-01  Robert Dewar  <dewar@adacore.com>
2330
2331         * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
2332
2333 2011-08-01  Robert Dewar  <dewar@adacore.com>
2334
2335         * aspects.ads (Boolean_Aspects): New subtype.
2336         * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
2337         for derived types in cases where the parent type and derived type have
2338         aspects.
2339         * freeze.adb (Freeze_Entity): Fix problems in handling derived type
2340         with aspects when parent type also has aspects.
2341         (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
2342         boolean expression at this point).
2343         * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
2344         accordance with final decision on the Ada 2012 feature.
2345         * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
2346
2347 2011-08-01  Matthew Heaney  <heaney@adacore.com>
2348
2349         * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
2350
2351 2011-08-01  Pascal Obry  <obry@adacore.com>
2352
2353         * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
2354         Fix Replace_Slice when High is above current string size.
2355         (Replace_Slice): Fix DL computation when High is above current
2356         string length.
2357
2358 2011-08-01  Gary Dismukes  <dismukes@adacore.com>
2359
2360         * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
2361
2362 2011-08-01  Matthew Heaney  <heaney@adacore.com>
2363
2364         * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
2365         of node.
2366
2367 2011-08-01  Pascal Obry  <obry@adacore.com>
2368
2369         * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
2370         reformatting.
2371
2372 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
2373
2374         * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
2375         access to protected subprograms in generic bodies.
2376         * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
2377         protected type, indicate that the convention of the subprogram is
2378         Convention_Protected, because it may be used in subsequent declarations
2379         within the protected declaration.
2380
2381 2011-08-01  Vincent Celier  <celier@adacore.com>
2382
2383         * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
2384         and "final" procedures when the name of the library is "ada", to avoid
2385         duplicate symbols "adainit" and "adafinal" in executables.
2386
2387 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
2388
2389         * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
2390         quantified expression that appears within a postcondition and uses the
2391         Ada2012 'Result attribute.
2392
2393 2011-07-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2394
2395         * init.c (__gnat_error_handler): Cast reason to int.
2396         (__gnat_install_handler): Explain sa_sigaction use.
2397
2398 2011-07-24  Eric Botcazou  <ebotcazou@adacore.com>
2399
2400         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
2401         subprogram has copy-in copy-out parameters, try to promote the mode of
2402         the return type if it is passed in registers.
2403
2404 2011-07-24  Eric Botcazou  <ebotcazou@adacore.com>
2405
2406         * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
2407         left operand as addressable.
2408
2409 2011-07-24  Eric Botcazou  <ebotcazou@adacore.com>
2410
2411         * gcc-interface/gigi.h (build_function_stub): Remove.
2412         (build_return_expr): Likewise.
2413         (convert_vms_descriptor): Declare.
2414         * gcc-interface/utils.c (convert_vms_descriptor): Make global.
2415         (build_function_stub): Move to...
2416         * gcc-interface/utils2.c (build_return_expr): Move to...
2417         * gcc-interface/trans.c (build_function_stub): ...here.
2418         (build_return_expr): ...here.
2419         (Subprogram_Body_to_gnu): Add local variable for language_function.
2420         Disconnect the parameter attributes cache, if any, once done with it.
2421         Call end_subprog_body only after setting the end_locus.
2422         Build the stub associated with the function, if any, at the very end.
2423         (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
2424         variables and streamline control flow.
2425
2426 2011-07-23  Arnaud Charlet  <charlet@adacore.com>
2427
2428         PR ada/49819
2429         * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
2430         g-trasym-dwarf.adb.
2431
2432 2011-07-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2433
2434         PR bootstrap/49794
2435         * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
2436         Assign to act.sa_sigaction.
2437         * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
2438         current->return_address to char * before arithmetic.
2439
2440 2011-07-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2441
2442         * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
2443         Correct argument types.
2444         Extract code from reason.
2445         (__gnat_install_handler): Assign to act.sa_sigaction.
2446
2447 2011-07-21  Eric Botcazou  <ebotcazou@adacore.com>
2448
2449         * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
2450         (GNAT1_OBJS): ...here.
2451
2452 2011-07-15  Eric Botcazou  <ebotcazou@adacore.com>
2453
2454         PR ada/48711
2455         * g-socthi-mingw.adb (Fill): Fix formatting.
2456
2457         * gcc-interface/gigi.h: Move around comment.
2458
2459 2011-07-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2460
2461         PR ada/46350
2462         * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
2463
2464 2011-07-14  Florian Weimer  <fw@deneb.enyo.de>
2465
2466         PR ada/48711
2467         * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
2468
2469 2011-07-13  Eric Botcazou  <ebotcazou@adacore.com>
2470
2471         * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
2472         range comparison if Pmode is SImode.
2473
2474 2011-07-12  Laurent GUERBY  <laurent@guerby.net>
2475             Eric Botcazou  <ebotcazou@adacore.com>
2476
2477         * adadecode.c: Wrap up in extern "C" block.
2478         * adadecode.h: Likewise.
2479         * adaint.c: Likewise.  Remove 'const' keyword.
2480         * adaint.h: Likewise.
2481         * argv.c: Likewise.
2482         * atree.h: Likewise.
2483         * cio.c: Likewise.
2484         * cstreams.c: Likewise.
2485         * env.c: Likewise.
2486         * exit.c: Likewise.
2487         * fe.h: Likewise.
2488         * final.c: Likewise.
2489         * init.c: Likewise.
2490         * initialize.c: Likewise.
2491         * link.c: Likewise.
2492         * namet.h: Likewise.
2493         * nlists.h: Likewise.
2494         * raise.c: Likewise.
2495         * raise.h: Likewise.
2496         * repinfo.h: Likewise.
2497         * seh_init.c: Likewise.
2498         * targext.c: Likewise.
2499         * tracebak.c: Likewise.
2500         * uintp.h: Likewise.
2501         * urealp.h: Likewise.
2502         * xeinfo.adb: Wrap up generated C code in extern "C" block.
2503         * xsinfo.adb: Likewise.
2504         * xsnamest.adb: Likewise.
2505         * gcc-interface/gadaint.h: Wrap up in extern "C" block.
2506         * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
2507         * gcc-interface/misc.c: Likewise.
2508         * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
2509         (GNAT1_C_OBJS): Remove ada/b_gnat1.o.  List ada/seh_init.o and
2510         ada/targext.o here...
2511         (GNAT_ADA_OBJS): ...and not here.
2512         (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
2513         (GNATBIND_OBJS): Reorder.
2514
2515 2011-07-07  Richard Henderson  <rth@redhat.com>
2516
2517         * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
2518         dwarf2out_frame_init.
2519
2520 2011-07-07  Eric Botcazou  <ebotcazou@adacore.com>
2521
2522         * gcc-interface/misc.c (gnat_init): Tweak previous change.
2523
2524 2011-07-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2525
2526         PR target/39150
2527         * gcc-interface/Makefile.in: Handle x86_64-solaris2.
2528
2529 2011-07-06  Richard Guenther  <rguenther@suse.de>
2530
2531         * gcc-interface/misc.c (gnat_init): Merge calls to
2532         build_common_tree_nodes and build_common_tree_nodes_2.
2533         Re-initialize boolean_false_node.
2534
2535 2011-07-02  Eric Botcazou  <ebotcazou@adacore.com>
2536             Olivier Hainque  <hainque@adacore.com>
2537             Nicolas Setton  <setton@adacore.com>
2538
2539         * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
2540         the type according to the ARTIFICIAL_P parameter.
2541         (create_type_decl): Likewise.
2542         (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
2543
2544 2011-07-01  Eric Botcazou  <ebotcazou@adacore.com>
2545
2546         * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
2547         (gnatbind): Likewise.
2548
2549 2011-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2550
2551         * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
2552
2553 2011-06-18  Eric Botcazou  <ebotcazou@adacore.com>
2554
2555         * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
2556         local variable throughout.  Remove useless call to Base_Type.
2557         (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
2558         Take it also into account for the volatileness of the field.  Set the
2559         TREE_SIDE_EFFECTS flag as well in this case.  Reorder some warnings.
2560
2561 2011-06-18  Eric Botcazou  <ebotcazou@adacore.com>
2562
2563         * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
2564         on a dereference built for a by-ref object if it has an address clause.
2565
2566 2011-06-18  Eric Botcazou  <ebotcazou@adacore.com>
2567
2568         * einfo.ads (Address_Taken): Document use for the second argument of
2569         Asm_Input and Asm_Output attributes.
2570         * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
2571         argument is an entity name, then set Address_Taken on it.
2572         <Attribute_Asm_Output>: Likewise.
2573         * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
2574         Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
2575         (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
2576         memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
2577
2578 2011-06-16  Joern Rennecke  <joern.rennecke@embecosm.com>
2579
2580         PR middle-end/46500
2581         * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
2582
2583 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
2584
2585         * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
2586         (ada/utils.o): Update dependencies.
2587         * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
2588         ../../../libcpp/libcpp.a.
2589         * gcc-interface/utils.c: Include common/common-target.h.
2590         (process_attributes): Use targetm_common.have_named_sections.
2591
2592 2011-06-07  Richard Guenther  <rguenther@suse.de>
2593
2594         * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
2595         set_sizetype.
2596
2597 2011-06-06  Eric Botcazou  <ebotcazou@adacore.com>
2598
2599         * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
2600         TREE_THIS_NOTRAP flag.
2601
2602 2011-06-06  Eric Botcazou  <ebotcazou@adacore.com>
2603
2604         * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
2605         Fix thinko.
2606
2607 2011-06-06  Eric Botcazou  <ebotcazou@adacore.com>
2608
2609         * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
2610         constants whose full view has discriminants specially.
2611
2612 2011-06-06  Eric Botcazou  <ebotcazou@adacore.com>
2613
2614         * gcc-interface/utils.c: Include diagnostic.h.
2615         (gnat_write_global_declarations): Output debug information for all
2616         global type declarations before finalizing the compilation unit.
2617         * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
2618
2619 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
2620
2621         * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
2622
2623 2011-05-25  Kai Tietz  <ktietz@redhat.com>
2624
2625         * adaint.c (__gnat_to_canonical_file_list_next): Use array
2626         initialization instead of const/none-const pointer assignment.
2627
2628 2011-05-24  Joseph Myers  <joseph@codesourcery.com>
2629
2630         * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
2631         $(EXTRA_GNAT1_OBJS).
2632         (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
2633         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
2634         (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
2635         * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
2636         libcommon-target.a instead of prefix.o.
2637
2638 2011-05-21  Joseph Myers  <joseph@codesourcery.com>
2639
2640         PR ada/49097
2641         * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
2642
2643 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
2644
2645         * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
2646         * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
2647         instead of version.o.
2648
2649 2011-05-18  Kai Tietz <ktietz@redhat.com>
2650
2651         * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
2652         boolean_false_node instead of integer_zero_node.
2653         (convert_with_check): Likewise.
2654         * gcc-interface/decl.c (choices_to_gnu): Likewise.
2655
2656 2011-05-12  Eric Botcazou  <ebotcazou@adacore.com>
2657
2658         * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
2659         type of the parameter is an unconstrained array, convert the actual to
2660         the type of the formal in the In Out and Out cases as well.
2661
2662 2011-05-11  Nathan Froyd  <froydnj@codesourcery.com>
2663
2664         * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
2665         call build_function_type_array or build_varargs_function_type_array
2666         instead.
2667         (create_subprog_type): Don't call build_function_type; call
2668         build_function_type_vec instead.
2669
2670 2011-05-11  Nathan Froyd  <froydnj@codesourcery.com>
2671
2672         * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
2673         (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
2674         (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
2675
2676 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
2677
2678         * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
2679
2680         * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
2681         * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
2682
2683 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
2684
2685         * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
2686
2687 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
2688
2689         * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
2690         instead of accessing TYPE_ARG_TYPES directly.
2691         * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
2692
2693 2011-05-05  Eric Botcazou  <ebotcazou@adacore.com>
2694
2695         PR ada/48844
2696         * gcc-interface/gigi.h (get_variant_part): Declare.
2697         * gcc-interface/decl.c (get_variant_part): Make global.
2698         * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
2699         types have the same constant size, are record types and T1 has a
2700         variant part while T2 doesn't.
2701
2702 2011-05-05  Eric Botcazou  <ebotcazou@adacore.com>
2703
2704         * gcc-interface/utils.c (begin_subprog_body): Do not call
2705         get_pending_sizes.
2706         (end_subprog_body): Likewise.
2707
2708 2011-05-04  Richard Guenther  <rguenther@suse.de>
2709
2710         * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
2711         int_const_binop.
2712         (pos_to_constructor): Likewise.
2713
2714 2011-05-03  Nathan Froyd  <froydnj@codesourcery.com>
2715             Eric Botcazou  <ebotcazou@adacore.com>
2716
2717         * gcc-interface/trans.c (gigi): Call build_function_type_list instead
2718         of build_function_type.  Adjust calls to...
2719         (build_raise_check): ...this.  Do not take a void_tree parameter.
2720         Call build_function_type_list instead of build_function_type.
2721         Fix head comment and swap couple of conditional blocks.
2722
2723 2011-04-30  Eric Botcazou  <ebotcazou@adacore.com>
2724
2725         * gnatvsn.ads (Library_Version): Bump to 4.7.
2726         (Current_Year): Bump to 2011.
2727
2728 2011-04-29  Michael Matz  <matz@suse.de>
2729
2730         * gcc-interface/misc.c (gnat_handle_option): Set
2731         warn_maybe_uninitialized.
2732
2733 2011-04-23  Gerald Pfeifer  <gerald@pfeifer.com>
2734
2735         * gnat_ugn.texi (Complexity Metrics Control): Update link to
2736         the Watson/McCabe paper.
2737
2738 2011-04-23  Jim Meyering  <meyering@redhat.com>
2739
2740         * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
2741
2742 2011-04-22  Eric Botcazou  <ebotcazou@adacore.com>
2743
2744         * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
2745         onto the new type.
2746
2747 2011-04-22  Eric Botcazou  <ebotcazou@adacore.com>
2748
2749         * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
2750         parameter.
2751         * gcc-interface/utils.c (create_subprog_decl): Likewise.  Set
2752         DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
2753         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
2754         ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
2755         <all>: Do not set flags on the reused DECL node coming from an alias.
2756         Set DECL_IGNORED_P on the DECL node built for subprograms if they
2757         don't need debug info here...
2758         * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
2759         (gigi): Adjust calls to create_subprog_decl.
2760         (build_raise_check): Likewise.
2761         (establish_gnat_vms_condition_handler): Likewise.
2762         (Compilation_Unit_to_gnu): Likewise.
2763         (gnat_to_gnu): Likewise.
2764
2765 2011-04-21  Eric Botcazou  <ebotcazou@adacore.com>
2766
2767         * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
2768         (NO_REORDER_ADAFLAGS): New variable.
2769         (EXTRA_GNATTOOLS): Always define.
2770         (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
2771         Clean up and adjust list of files compiled with special options.
2772         * gcc-interface/Make-lang.in: Likewise.
2773         (ada/decl.o): Cosmetical change.
2774         (ada/misc.o): Remove dependency on $(PLUGIN_H).
2775
2776 2011-04-20  Jim Meyering  <meyering@redhat.com>
2777
2778         * initialize.c (__gnat_initialize): Remove useless if-before-free.
2779
2780 2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2781
2782         * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
2783         $(CFLAGS) on the link line.
2784
2785 2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2786
2787         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
2788         padded type built for the return type if it is unconstrained.
2789
2790 2011-04-14  Nathan Froyd  <froydnj@codesourcery.com>
2791
2792         * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
2793
2794 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
2795
2796         * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
2797         before calling TREE_CHAIN.
2798         * gcc-interface/misc.c (gnat_init_ts): New function.
2799         (LANG_HOOKS_INIT_TS): Define.
2800
2801 2011-04-12  Martin Jambor  <mjambor@suse.cz>
2802
2803         * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
2804         instead of cgraph_node.
2805
2806 2011-04-08  Eric Botcazou  <ebotcazou@adacore.com>
2807
2808         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
2809         alignment on fields of the RETURN type built for the Copy-In Copy-Out
2810         mechanism.
2811
2812 2011-04-08  Eric Botcazou  <ebotcazou@adacore.com>
2813
2814         * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
2815         of aggregate types that contain a placeholder.
2816
2817 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
2818
2819         * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
2820         TYPE_ARG_TYPES.
2821         (handle_type_generic_attribute): Likewise.
2822
2823 2011-04-04  Eric Botcazou  <ebotcazou@adacore.com>
2824
2825         PR ada/47163
2826         * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
2827
2828 2011-04-04  Kai Tietz  <ktietz@redhat.com>
2829
2830         PR ada/47163
2831         * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
2832         to flag value.
2833
2834 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
2835
2836         * gcc-interface/utils2.c (build_allocator): In the unconstrained array
2837         type case, do not strip a padding type around the array type.
2838
2839 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
2840
2841         * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
2842         types.
2843
2844 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
2845
2846         * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
2847         * gcc-interface/misc.c (gnat_handle_option): Remove special handling
2848         code for -feliminate-unused-debug-types.
2849         (gnat_post_options): Likewise.
2850
2851 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
2852
2853         * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
2854         declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
2855         distinct copy.
2856
2857 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
2858
2859         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
2860         DECL_ARTIFICIAL flag on enumeration types.
2861
2862 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
2863
2864         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
2865         fat pointer types artificial unconditionally.
2866         <E_Array_Subtype>: Attach the base array type as a parallel type if it
2867         isn't artificial.
2868
2869 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
2870
2871         * gcc-interface/gigi.h (get_dummy_type): Declare.
2872         (build_dummy_unc_pointer_types): Likewise.
2873         (finish_fat_pointer_type): Likewise.
2874         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
2875         fat pointer type has been built, complete it in place.
2876         <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
2877         and thin pointers.  Remove useless variable.
2878         (finish_fat_pointer_type): Make global and move to...
2879         * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
2880         (get_dummy_type): New function.
2881         (build_dummy_unc_pointer_types): Likewise.
2882         (gnat_pushdecl): Propage the name to the anonymous variants only.
2883         (update_pointer_to): Only adjust the pointer types in the unconstrained
2884         array case.
2885
2886 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
2887
2888         * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
2889         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
2890         if this is a Taft amendment type and the full declaration is available.
2891         * gcc-interface/trans.c (process_type): Likewise.
2892         If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
2893         (process_freeze_entity): Likewise.
2894         * gcc-interface/utils.c (dummy_global): New static variable.
2895         (gnat_write_global_declarations): If there are types declared as used
2896         at the global level, insert them in the global hash table.
2897
2898 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
2899
2900         * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
2901         * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
2902         declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
2903         copy.
2904         (record_builtin_type): Add ARTIFICIAL_P parameter.  Set DECL_ARTIFICIAL
2905         flag of the type accordingly.
2906         * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
2907
2908 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
2909
2910         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
2911         finalizing types when updating the pointers to the designated type.
2912         <all>: Finalize the deferred types even if we didn't defer processing
2913         of incomplete types in this invocation.
2914
2915 2011-04-01  Olivier Hainque  <hainque@adacore.com>
2916             Nicolas Setton  <setton@adacore.com>
2917             Eric Botcazou  <ebotcazou@adacore.com>
2918
2919         * gcc-interface/misc.c (gnat_descriptive_type): New function.
2920         (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
2921
2922 2011-03-28  Kai Tietz  <ktietz@redhat.com>
2923
2924         * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
2925         Windows targets.
2926         (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
2927         * system-mingw.ads (System): Change ZCX_By_Default default to True.
2928
2929         * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2930
2931 2011-03-28  Tristan Gingold  <gingold@adacore.com>
2932
2933         PR ada/44431
2934         * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
2935         Use ada output of gnatbind.
2936         (ada/b_gnatb.adb): Ditto.
2937         (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
2938         (ada.mostlyclean, ada.stage1)
2939         (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
2940         (ada.stagefeedback): Adjust.
2941         * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
2942         Use ada output of gnatbind.
2943         (b_gnatm.adb): Ditto.
2944         (b_gnatl.o, b_gnatm.o): New rules.
2945
2946 2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
2947
2948         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
2949         for the padded type built to support a specified size or alignment.
2950
2951 2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
2952
2953         * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
2954         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
2955         unconditionally to the end of the unit when the designated type is
2956         limited_with'ed.
2957         <all>: Rename local variable.  Attempt to un-defer types only and do it
2958         for limited_with'ed types as well.
2959         (finalize_from_with_types): Adjust comment.  Rename variable and tidy.
2960         * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
2961         consistently and remove redundant call to finalize_from_with_types.
2962
2963 2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
2964
2965         * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
2966         subprograms without a previous spec declared in the same unit.
2967         * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
2968         subprograms at the end of the unit instead of at the beginning.
2969         * gcc-interface/utils.c (create_subprog_decl): Check that the entity
2970         isn't public for the special handling of non-inline functions nested
2971         inside inline external functions.
2972
2973 2011-03-25  Jeff Law  <law@redhat.com>
2974
2975         * gcc-interface/utils.c (def_fn_type): Add missing va_end.
2976
2977 2011-03-24  Eric Botcazou  <ebotcazou@adacore.com>
2978
2979         * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
2980         * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
2981         to compute Set_Size_Depends_On_Discriminant.
2982         (Layout_Type): Call it on array types in back-end layout mode.
2983         * sem_util.adb (Requires_Transient_Scope): Return true for array
2984         types only if the size depends on the value of discriminants.
2985         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
2986         type if the RHS is a call to a function that returns an unconstrained
2987         type with default discriminant.
2988
2989 2011-03-24  Eric Botcazou  <ebotcazou@adacore.com>
2990
2991         * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
2992         non-conversion to the nominal result type at the end.
2993
2994 2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
2995
2996         * gcc-interface/trans.c (create_temporary): New function taken from...
2997         (create_init_temporary): ...here.  Call it.
2998         (call_to_gnu): Create the temporary for the return value early, if any.
2999         Create it for a function with copy-in/copy-out parameters if there is
3000         no target; in other cases of copy-in/copy-out, use another temporary.
3001         Push the new binding level lazily.  Add and rename local variables.
3002
3003 2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
3004
3005         * gcc-interface/decl.c (validate_size): Improve comments and tweak
3006         error message.
3007         (set_rm_size): Likewise.
3008
3009 2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
3010
3011         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
3012         for the padded type built in order to support a specified alignment.
3013         Fix incorrect formatting.
3014
3015 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
3016
3017         PR bootstrap/48216
3018         * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
3019
3020 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
3021
3022         * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
3023         rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
3024         to the end of the list.  Adjust recursive call.  Rename local variable.
3025         If REORDER is true, reorder components of the record type.
3026         (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
3027         components_to_record and adjust the parameter list.
3028
3029 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
3030
3031         * gcc-interface/decl.c (elaborate_expression_1): When optimization is
3032         disabled, use the variable for bounds of loop iteration scheme.
3033
3034 2011-03-21  Kai Tietz  <ktietz@redhat.com>
3035
3036         PR target/12171
3037         * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
3038
3039 2011-03-17  Eric Botcazou  <ebotcazou@adacore.com>
3040
3041         * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
3042         out whether the expression is read-only.  Short-circuit placeholder
3043         case and rename a couple of local variables.
3044
3045 2011-03-17  Eric Botcazou  <ebotcazou@adacore.com>
3046
3047         * gcc-interface/gigi.h (smaller_form_type_p): Declare.
3048         * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
3049         * gcc-interface/utils.c (smaller_form_type_p): ...to here.
3050         (convert): Deal with conversions from a smaller form type specially.
3051
3052 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
3053
3054         * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
3055         its argument, except for the special -I- switch.
3056
3057 2011-02-12  Gerald Pfeifer  <gerald@pfeifer.com>
3058
3059         * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
3060         "Ada Issues".
3061
3062 2011-02-08  Eric Botcazou  <ebotcazou@adacore.com>
3063
3064         * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
3065
3066 2011-02-03  Eric Botcazou  <ebotcazou@adacore.com>
3067
3068         * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
3069         GNAT_FORMAL.
3070         * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
3071         * gcc-interface/utils.c (fill_vms_descriptor): ...here.  Take GNU_TYPE
3072         instead of GNAT_FORMAL.  Protect the expression against multiple uses.
3073         Do not generate the check directly, instead instantiate the template
3074         check present in the descriptor.
3075         (make_descriptor_field): Move around.
3076         (build_vms_descriptor32): Build a template check in the POINTER field.
3077         (build_vms_descriptor): Remove useless suffixes.
3078         * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
3079
3080 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
3081
3082         PR bootstrap/47467
3083         * targext.c: Include target files if IN_RTS is defined.
3084
3085 2011-01-26  Richard Guenther  <rguenther@suse.de>
3086
3087         PR bootstrap/47467
3088         * targext.c: Include config.h.
3089         * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
3090         dependency.
3091
3092 2011-01-04  Pascal Obry  <obry@adacore.com>
3093             Eric Botcazou  <ebotcazou@adacore.com>
3094
3095         * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
3096
3097 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
3098
3099         * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
3100         end-of-case on the end label and its associated gotos, if any.
3101
3102 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
3103
3104         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
3105         expressions of the parameter cache within the statement group of
3106         the CICO mechanism.
3107
3108 2011-01-04  Olivier Hainque  <hainque@adacore.com>
3109             Eric Botcazou  <ebotcazou@adacore.com>
3110
3111         * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
3112         (set_end_locus_from_node): New function.
3113         (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
3114         make and the function end_locus.
3115         (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
3116         for the elaboration subprogram.
3117         (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
3118         set the end_locus of the expression as well.
3119
3120 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
3121
3122         PR ada/47131
3123         * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
3124         variables that are referenced in exception handlers volatile.
3125
3126
3127 \f
3128 Copyright (C) 2011 Free Software Foundation, Inc.
3129
3130 Copying and distribution of this file, with or without modification,
3131 are permitted in any medium without royalty provided the copyright
3132 notice and this notice are preserved.