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