OSDN Git Service

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