1 2011-08-02 Javier Miranda <miranda@adacore.com>
3 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
4 * gcc-interface/Make-lang.in: Update dependencies.
6 2011-08-02 Javier Miranda <miranda@adacore.com>
8 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
9 determine if the analysis is performed using N or Original_Node (N).
10 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
11 functionality of routine Is_Variable avoids code duplication.
12 * checks.adb (Determine_Range): Handle temporaries generated by
15 2011-08-02 Javier Miranda <miranda@adacore.com>
17 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
18 expansion of the condition. Required since the previous analysis was
19 done with expansion disabled (see Resolve_Quantified_Expression) and
20 hence checks were not inserted and record comparisons have not been
23 2011-08-02 Ed Falis <falis@adacore.com>
25 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
28 2011-08-02 Bob Duff <duff@adacore.com>
30 * opt.ads: Minor comment fix.
32 2011-08-02 Bob Duff <duff@adacore.com>
34 * sem_ch12.adb (Analyze_Package_Instantiation,
35 Analyze_Subprogram_Instantiation): Turn off style checking while
36 analyzing an instance. Whatever style checks that apply to the generic
37 unit should apply, so it makes no sense to apply them in an instance.
38 This was causing trouble when compiling an instance of a runtime
39 unit that violates the -gnatyO switch.
40 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
41 one of the two case statements, causing spurious errors.
43 2011-08-02 Robert Dewar <dewar@adacore.com>
45 * uname.adb: Minor reformatting.
46 * gnatcmd.adb: Minor reformatting.
47 * exp_attr.adb: Minor reformatting.
49 2011-08-02 Ed Schonberg <schonberg@adacore.com>
51 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
52 No_Dispatching_Calls, do not look for the Assign primitive, because
53 predefined primitives are not created in this case.
55 2011-08-02 Bob Duff <duff@adacore.com>
57 * stylesw.ads: Minor comment fixes.
59 2011-08-02 Robert Dewar <dewar@adacore.com>
61 * freeze.adb (Add_To_Result): New procedure.
63 2011-08-02 Jose Ruiz <ruiz@adacore.com>
65 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
66 time, if the specific run-time routines for handling streams of strings
67 are not available, use the default mechanism.
69 2011-08-02 Arnaud Charlet <charlet@adacore.com>
71 * s-regpat.ads: Fix typo.
73 2011-08-02 Vincent Celier <celier@adacore.com>
75 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
76 not null, call it to create the in memory config project file without
77 parsing an existing default config project file.
79 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
81 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
83 2011-08-02 Ed Schonberg <schonberg@adacore.com>
85 * sem_elim.adb: an abstract subprogram does not need an eliminate
86 pragma for its descendant to be eliminable.
88 2011-08-02 Ed Falis <falis@adacore.com>
90 * init.c: revert to handling before previous checkin for VxWorks
91 * s-intman-vxworks.adb: delete unnecessary declarations related to
92 using Ada interrupt facilities for handling signals.
93 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
94 * s-intman-vxworks.ads: Import __gnat_install_handler as
95 Initialize_Interrupts.
96 * s-taprop-vxworks.adb: Delete Signal_Mask.
97 (Abort_Handler): change construction of mask to unblock exception
100 2011-08-02 Jerome Guitton <guitton@adacore.com>
102 * a-except-2005.adb (Raise_From_Signal_Handler): Call
103 Debug_Raise_Exception before propagation starts.
105 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
107 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
108 to Restriction_Check_Required.
109 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
110 * sem_res.adb (Resolve_Call): Likewise.
111 * sem_attr.adb (Check_Stream_Attribute): Likewise.
113 2011-08-02 Bob Duff <duff@adacore.com>
115 * stylesw.ads: Update comment.
116 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
117 * errout.ads: Remove obsolete comment.
119 2011-08-02 Javier Miranda <miranda@adacore.com>
121 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
122 (Set_Is_Safe_To_Reevaluate): new procedure.
123 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
124 assignment is allowed on safe-to-reevaluate variables.
125 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
126 temporary created to remove side effects in expressions that use
127 the secondary stack as safe-to-reevaluate.
128 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
129 variables that are not true constants.
131 2011-08-02 Robert Dewar <dewar@adacore.com>
133 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
134 sem_res.adb, sem_ch6.adb: Minor reformatting.
136 2011-08-02 Jerome Guitton <guitton@adacore.com>
138 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
140 2011-08-02 Ed Schonberg <schonberg@adacore.com>
142 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
143 not set Overridden_Operation if subprogram is an initialization
146 2011-08-02 Yannick Moy <moy@adacore.com>
148 * par-ch6.adb: Correct obsolete name in comments
149 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
150 which takes two message arguments (existing function takes one), with
151 second message used for continuation.
152 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
153 block statements that originate from a source block statement, not
154 generated block statements
155 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
156 symmetry with procedure case
157 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
158 function to issue an error in formal mode if a package specification
159 contains more than one tagged type or type extension.
160 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
161 parameters matching formals of tagged types are objects (or ancestor
162 type conversions of objects), not general expressions. Issue an error
163 on view conversions that are not involving ancestor conversion of an
165 (Resolve_Type_Conversion): in formal mode, issue an error on the
166 operand of an ancestor type conversion which is not an object
167 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
168 procedure so that it works also for actuals of function calls
169 (Is_Actual_Tagged_Parameter): new function which determines if its
170 argument is an actual parameter of a formal of tagged type in a
172 (Is_SPARK_Object_Reference): new function which determines if the tree
173 referenced by its argument represents an object in SPARK
175 2011-08-02 Robert Dewar <dewar@adacore.com>
177 * sem_ch3.adb: Minor reformatting
178 Minor comment addition
179 Minor error msg text change
181 2011-08-02 Javier Miranda <miranda@adacore.com>
183 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
184 function. Used to be more precise when we generate a variable plus one
185 assignment to remove side effects in the evaluation of the Bound
187 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
188 of the bound expression to force its re-analysis and thus expand the
189 associated transient scope (if required). Code cleanup replacing the
190 previous code that declared the constant entity by an invocation to
191 routine Force_Evaluation which centralizes this work in the frontend.
193 2011-08-02 Robert Dewar <dewar@adacore.com>
195 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
196 (Base_Type): Now uses improved Is_Base_Type function
197 * einfo.ads (Base_Type): Inline this function
199 2011-08-02 Robert Dewar <dewar@adacore.com>
201 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
202 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
204 2011-08-02 Arnaud Charlet <charlet@adacore.com>
206 * gcc-interface/Make-lang.in: Update dependencies.
207 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
210 2011-08-02 Yannick Moy <moy@adacore.com>
212 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
213 non-simple expression used in delta constraint
214 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
215 index constraint which is not a subtype mark
216 * par.adb: With and use Restrict
217 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
218 mode on component type which is not a subtype mark and default
219 expression on component
220 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
221 of string which does not have a lower index bound equal to 1
222 (Array_Type_Declaration): issue an error in formal mode on index or
223 component type which is not a subtype mark, and on aliased keyword on
225 (Derived_Type_Declaration): issue an error in formal mode on interface,
226 limited or abstract type
227 (Record_Type_Declaration): issue an error in formal mode on interface
228 (Record_Type_Definition): issue an error in formal mode on tagged types
229 and type extensions not declared in the specification of a library unit
230 package; on null non-tagged record; on variant part
232 2011-08-02 Vincent Celier <celier@adacore.com>
234 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
235 not declared for qualified library project when Library_Name is not
236 declared, but Library_Dir is.
238 2011-08-02 Robert Dewar <dewar@adacore.com>
240 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
241 pragmas (affects aspects [Component_]Default_Value
242 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
243 component type for the resolution
245 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
247 * einfo.adb (Base_Type): Tune implementation for speed.
249 2011-08-02 Robert Dewar <dewar@adacore.com>
251 * freeze.adb: Minor reformatting.
253 2011-08-02 Thomas Quinot <quinot@adacore.com>
255 * scos.ads: Update comments.
257 2011-08-02 Ed Schonberg <schonberg@adacore.com>
259 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
260 base type, because the parent may be a subtype of a private type whose
261 convention is established in a private part.
263 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
265 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
266 statement in a block when the expansion of the return expression has
267 created a finalization chain.
268 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
269 with the parent node.
270 Add N_Extended_Return_Statement to handle the case where a transient
271 object declaration appears in the Return_Object_Declarations list of
272 an extended return statement.
274 2011-08-02 Matthew Gingell <gingell@adacore.com>
276 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
277 unused parameter 'name'.
279 2011-08-02 Ed Schonberg <schonberg@adacore.com>
281 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
282 inherited operation, check whether its alias, which is the source
283 operastion that it renames, has been marked eliminated.
285 2011-08-02 Javier Miranda <miranda@adacore.com>
287 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
288 in-mode parameter whose type is an access type since it can be used to
289 modify its designated object. Enforce code that handles as safe an
290 access type that is not access-to-constant but it is the result of a
291 previous removal of side-effects.
292 (Remove_Side_Effects): Minor code reorganization of cases which require
293 no action. Done to incorporate documentation on new cases uncovered
294 working in this ticket: no action needed if this routine was invoked
295 too early and the nodes are not yet decorated.
296 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
297 to routine Remove_Side_Effects by calls to Force_Evaluation since they
298 were issued with actuals that are implicitly provided by
301 2011-08-02 Robert Dewar <dewar@adacore.com>
303 * sem_ch3.adb, sem_res.adb: Minor reformatting.
305 2011-08-02 Yannick Moy <moy@adacore.com>
307 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
308 to issue an error in formal mode on attribute not supported in this mode
309 (Analyze_Attribute): issue errors on standard attributes not supported
311 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
312 comment, and issue error in formal mode on modulus which is not a power
314 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
316 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
318 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
319 operator on modular type (except 'not').
321 2011-08-02 Robert Dewar <dewar@adacore.com>
323 * gnat_rm.texi: Minor reformatting.
325 2011-08-02 Arnaud Charlet <charlet@adacore.com>
327 * s-osinte-linux.ads: Minor comment update and reformatting.
328 * i-cexten.ads: Make this unit pure, as for its parent.
329 Will allow its usage in more contexts if needed.
331 2011-08-02 Robert Dewar <dewar@adacore.com>
333 * s-utf_32.ads: Minor comment fix.
335 2011-08-02 Ed Schonberg <schonberg@adacore.com>
337 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
338 operation of a tagged synchronized type, handle the case where the
339 controlling argument is overloaded.
341 2011-08-02 Yannick Moy <moy@adacore.com>
343 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
344 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
345 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
346 SPARK mode and formal verification mode on processing SPARK restriction
347 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
348 requiring consistency checking.
350 2011-08-02 Robert Dewar <dewar@adacore.com>
352 * sem_res.adb: Minor reformatting.
354 2011-08-02 Robert Dewar <dewar@adacore.com>
356 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
357 a-cforse.ads: Remove unneeded with of Ada.Containers
358 Remove commented out pragma Inline's
359 Move specifications of new subprograms to the actual specs
361 2011-08-02 Yannick Moy <moy@adacore.com>
363 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
364 a-cforse.ads: Update comments.
366 2011-08-02 Ed Schonberg <schonberg@adacore.com>
368 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
370 2011-08-02 Robert Dewar <dewar@adacore.com>
372 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
373 a-cforse.ads, a-cofove.ads: Minor reformatting.
375 2011-08-02 Claire Dross <dross@adacore.com>
377 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
378 a-cofove.ads: Add comments.
380 2011-08-02 Yannick Moy <moy@adacore.com>
382 * gnat_rm.texi: Document formal containers.
384 2011-08-02 Emmanuel Briot <briot@adacore.com>
386 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
389 2011-08-02 Robert Dewar <dewar@adacore.com>
391 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
394 2011-08-02 Robert Dewar <dewar@adacore.com>
396 * aspects.adb: New aspects Default_Value and Default_Component_Value
397 New format of Aspect_Names table checks for omitted entries
398 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
399 handling of boolean aspects for derived types.
400 New aspects Default_Value and Default_Component_Value
401 New format of Aspect_Names table checks for omitted entries
402 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
403 (Has_Default_Value): New flag
404 (Has_Default_Component_Value): New flag
405 (Has_Default_Value): New flag
406 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
408 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
409 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
410 Default_Value and Default_Component_Value
411 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
412 New aspects Default_Value and Default_Component_Value
413 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
414 * sprint.adb: Print N_Aspect_Specification node when called from gdb
416 2011-08-02 Vincent Celier <celier@adacore.com>
418 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
419 inherit library kind.
421 2011-08-02 Ed Schonberg <schonberg@adacore.com>
423 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
426 2011-08-02 Robert Dewar <dewar@adacore.com>
428 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
430 2011-08-02 Yannick Moy <moy@adacore.com>
432 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
434 2011-08-02 Robert Dewar <dewar@adacore.com>
436 * impunit.adb: Add comment.
438 2011-08-02 Yannick Moy <moy@adacore.com>
440 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
441 qualification of aggregates in formal mode
442 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
444 (Resolve_Aggregate): complete the test that an aggregate is adequately
445 qualified in formal mode
447 2011-08-02 Pascal Obry <obry@adacore.com>
449 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
450 * mlib-prj.adb: Supress warning when compiling binder generated file.
451 (Build_Library): Supress all warnings when compiling the binder
454 2011-08-02 Yannick Moy <moy@adacore.com>
456 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
458 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
459 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
460 Add with/use clauses to make Check_Formal_Restriction visible
462 2011-08-02 Ed Schonberg <schonberg@adacore.com>
464 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
465 in-parameters when type of the generic formal is private in the generic
466 spec and non-private in the body.
468 2011-08-02 Claire Dross <dross@adacore.com>
470 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
471 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
472 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
473 * impunit.adb, Makefile.rtl: Take new files into account.
475 2011-08-02 Robert Dewar <dewar@adacore.com>
477 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
478 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
480 2011-08-02 Yannick Moy <moy@adacore.com>
482 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
484 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
485 matching static array bounds, taking into account the special case of
487 * sem_ch3.adb: Typo in comment.
489 2011-08-02 Yannick Moy <moy@adacore.com>
491 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
492 which issues an error in formal mode if its argument node is originally
494 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
495 has a discriminant specification so that it does not include the case
497 (Derived_Type_Declaration): move here the test that a derived type has a
498 discriminant specification
499 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
500 first element of a component association before accessing its choices
501 (presence of component association is not enough)
502 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
503 declaration is a library item before accessing the next element in a
504 list, as library items are not member of lists
505 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
506 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
507 Check_Formal_Restriction whenever possible.
509 2011-08-02 Ed Schonberg <schonberg@adacore.com>
511 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
512 reference when needed.
514 2011-08-02 Bob Duff <duff@adacore.com>
516 * gnat_ugn.texi: Fix typo.
518 2011-08-02 Vincent Celier <celier@adacore.com>
520 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
521 archive file name. Do not use the full path name of archives for Open
524 2011-08-02 Robert Dewar <dewar@adacore.com>
526 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
527 Analyze_Aspect_Specifications
529 (Analyze_Aspect_Specifications): New handling for boolean aspects
530 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
531 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
532 sequence for Analyze_Aspect_Specifications
533 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
534 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
536 2011-08-02 Robert Dewar <dewar@adacore.com>
538 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
539 aspects, since these no longer exist.
541 2011-08-02 Robert Dewar <dewar@adacore.com>
543 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
544 semicolon, do not try to see if there are aspects following it.
545 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
548 2011-08-02 Robert Dewar <dewar@adacore.com>
550 * sem_ch8.adb, aspects.ads: Minor reformatting.
552 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
554 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
555 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
557 (Analyze_Aspect_Specifications): ...here. Call above procedure.
559 2011-08-02 Yannick Moy <moy@adacore.com>
561 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
562 mode on subprogram declaration outside of package specification, unless
563 it is followed by a pragma Import
564 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
565 Access_Type_Declaration): issue error in formal mode on access type
566 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
568 (Analyze_Object_Declaration): issue error in formal mode on object
569 declaration which does not respect SPARK restrictions
570 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
571 declaration which does not respect SPARK restrictions
572 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
573 error in formal mode on digits or delta constraint
574 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
575 decimal fixed point type
576 (Derived_Type_Declaration): issue error in formal mode on derived type
577 other than type extensions of tagged record types
578 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
579 with check on access definition
580 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
581 mode on protected definition.
582 (Analyze_Task_Definition): issue error in formal mode on task definition
584 2011-08-02 Robert Dewar <dewar@adacore.com>
586 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
588 2011-08-02 Javier Miranda <miranda@adacore.com>
590 * sem_ch6.adb (Can_Override_Operator): New function.
591 (Verify_Overriding_Indicator): Add missing code to check overriding
592 indicator in operators. Fixes regression.
593 (Check_Overriding_Indicator): Minor reformating after replacing the
594 code that evaluates if the subprogram can override an operator by
595 invocations to the above new function.
597 (Write_Field26_Name): Add missing code to ensure that, following
598 the documentation in einfo.ads, this field is not shown as attribute
599 "Static_Initialization" on non-dispatching functions.
601 2011-08-02 Jose Ruiz <ruiz@adacore.com>
603 * sem_res.adb (Resolve_Call): A call to
604 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
605 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
606 i.e., when the second parameter is of type Time_Span.
608 2011-08-02 Vincent Celier <celier@adacore.com>
610 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
611 with an archive instead of -L<library dir> -l<library name>.
613 2011-08-02 Ed Schonberg <schonberg@adacore.com>
615 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
616 mark the base types In_Use in addition to making the operations
619 2011-08-02 Ed Falis <falis@adacore.com>
621 * init.c: add and setup __gnat_signal_mask for the exception signals
622 * s-inmaop-vxworks.adb: new file.
623 * s-intman-vxworks.adb: remove unnecessary initializations and
625 * s-intman-vxworks.ads: remove unnecessary variable
626 * s-taprop-vxworks.adb: simplify signal initialization
628 2011-08-02 Robert Dewar <dewar@adacore.com>
630 * sem_ch8.adb: Minor code reorganization, comment updates.
632 2011-08-02 Robert Dewar <dewar@adacore.com>
634 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
635 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
637 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
638 (Matching_Static_Array_Bounds): Moved here from Sem_Res
640 2011-08-02 Ed Schonberg <schonberg@adacore.com>
642 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
643 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
644 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
645 use_type_clauses, to handle more efficiently use_type and use_all_type
647 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
648 Ada2012 Use_All_Type clause.
649 (Use_Class_Wide_Operations): new procedure.
651 2011-08-02 Robert Dewar <dewar@adacore.com>
653 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
654 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
655 expression to expression function.
657 2011-08-02 Ed Schonberg <schonberg@adacore.com>
659 * sem_ch4.adb: transform simple Ada2012 membership into equality only
660 if types are compatible.
662 2011-08-02 Yannick Moy <moy@adacore.com>
664 * sem_res.adb (Matching_Static_Array_Bounds): new function which
665 returns True if its argument array types have same dimension and same
666 static bounds at each index.
667 (Resolve_Actuals): issue an error in formal mode on actuals passed as
668 OUT or IN OUT paramaters which are not view conversions in SPARK.
669 (Resolve_Arithmetic_Op): issue an error in formal mode on
670 multiplication or division with operands of fixed point types which are
671 not qualified or explicitly converted.
672 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
673 Boolean or array type (except String) operands.
674 (Resolve_Equality_Op): issue an error in formal mode on equality
675 operators for array types other than String with non-matching static
677 (Resolve_Logical_Op): issue an error in formal mode on logical operators
678 for array types with non-matching static bounds. Factorize the code in
679 Matching_Static_Array_Bounds.
680 (Resolve_Qualified_Expression): issue an error in formal mode on
681 qualified expressions for array types with non-matching static bounds.
682 (Resolve_Type_Conversion): issue an error in formal mode on type
683 conversion for array types with non-matching static bounds
685 2011-08-02 Robert Dewar <dewar@adacore.com>
687 * par-ch10.adb: Minor code reorganization (use Nkind_In).
689 2011-08-02 Ed Schonberg <schonberg@adacore.com>
691 * par-ch9.adb: save location of entry for proper error message.
693 2011-08-02 Javier Miranda <miranda@adacore.com>
695 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
696 (Use_Full_View) which permits this routine to climb through the
697 ancestors using the full-view of private parents.
698 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
699 Use_Full_View to true in calls to Is_Ancestor.
700 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
701 true in call to Is_Ancestor.
702 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
703 Use_Full_View to true in call to Is_Ancestor.
704 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
706 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
707 Use_Full_View to true in calls to Is_Ancestor.
708 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
709 Make_Select_Specific_Data_Table, Register_Primitive,
710 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
711 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
712 to true in call to Is_Ancestor.
713 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
714 Use_Full_View to true in calls to Is_Ancestor.
716 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
717 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
719 2011-08-02 Robert Dewar <dewar@adacore.com>
721 * gnat_rm.texi: Minor reformatting.
722 * sem_prag.adb: Minor reformatting.
724 2011-08-02 Tristan Gingold <gingold@adacore.com>
726 * vms_data.ads: Add VMS qualifier for -gnateP.
728 2011-08-02 Robert Dewar <dewar@adacore.com>
730 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
731 * par-ch7.adb (P_Package): Proper placement of aspects for package
733 * par-endh.adb (Check_End): Ad Is_Sloc parameter
734 (End_Statements): Add Is_Sloc parameterr
735 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
736 (Check_End): Ad Is_Sloc parameter
737 (End_Statements): Add Is_Sloc parameterr
739 2011-08-02 Vincent Celier <celier@adacore.com>
741 * ug_words: Add VMS qualifier equivalent to -gnateP:
742 /SYMBOL_PREPROCESSING.
744 2011-08-02 Jose Ruiz <ruiz@adacore.com>
746 * gnat-style.texi: For hexadecimal numeric literals the typical
747 grouping of digits is 4 to represent 2 bytes.
748 A procedure spec which is split into several lines is indented two
751 2011-08-02 Yannick Moy <moy@adacore.com>
753 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
754 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
755 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
757 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
758 choice in array aggregate
759 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
761 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
762 positional and named aggregate for record, or others in record
763 aggregate, or multiple choice in record aggregate
764 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
765 array operands to logical operations AND, OR and XOR do not have the
766 same static lower and higher bounds
767 * sem_ch5.adb, sinfo.ads: Correct typos in comments
769 2011-08-01 Robert Dewar <dewar@adacore.com>
771 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
772 Replaces Last_Source_Node_In_Sequence.
773 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
774 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
775 parens and blank in string (this was inconsistently implemented).
777 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
778 blank in string (this was inconsistently implemented).
780 (Set_Global_Switches): Set formal mode switches appropriately
781 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
783 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
784 call Set_Error_Msg_Lang to set "spark" as language name.
785 * par.adb: Remove unnecessary call to set formal language for errout
786 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
787 appropriately and call Set_Error_Msg_Lang to set "spark" as language
789 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
790 calls to it, moved after resolution so that types are known
791 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
792 result of concatenation is not of type String
793 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
794 concatenation is not properly restricted
795 * gnat_rm.texi: Add doc on pragma Spark_95.
796 * gcc-interface/Makefile.in: Remove obsolete target pairs for
797 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
798 * gcc-interface/Make-lang.in: Update dependencies.
800 2011-08-01 Javier Miranda <miranda@adacore.com>
802 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
803 condition that detects if the overridden operation must replace an
806 2011-08-01 Javier Miranda <miranda@adacore.com>
808 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
809 code declarations inserted by Insert_Actions in each alternative of the
810 N_Case_Expression node.
812 2011-08-01 Robert Dewar <dewar@adacore.com>
814 * sem_ch6.adb: Minor code reorganization.
815 * sem_util.adb: Minor reformatting.
817 2011-08-01 Pascal Obry <obry@adacore.com>
819 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
820 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
822 2011-08-01 Yannick Moy <moy@adacore.com>
824 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
825 literal or operator symbol which is prefixed
826 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
827 mode on access attributes.
828 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
829 that concatenation operands are properly restricted in formal mode
830 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
831 Analyze_Concatenation_Operand. Issue an error in formal mode if the
832 result of the concatenation has a type different from String.
833 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
834 Analyze_Quantified_Expression, Analyze_Slice,
835 Analyze_Null): issue an error in formal mode on unsupported constructs
837 (Analyze_Block_Statement): only issue error on source block statement
838 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
839 function which returns the last node in a list of nodes for which
840 Comes_From_Source returns True, if any
841 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
842 Last_Source_Node_In_Sequence
843 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
844 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
845 mode on unsupported constructs
846 * sem_ch9.adb Do not return after issuing error in formal mode, as the
847 rest of the actions may be needed later on since the error is marked as
849 * sinfo.ads: Typos in comments.
851 2011-08-01 Pascal Obry <obry@adacore.com>
853 * projects.texi: Minor editing.
855 2011-08-01 Yannick Moy <moy@adacore.com>
857 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
858 insertion character ~~
859 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
860 (Set_Error_Msg_Lang): new procedure which fixes the language for use
861 with insertion character ~~
862 (Set_Msg_Text): treat insertion character ~~
863 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
864 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
865 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
866 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
867 errors related to the formal language restriction not serious
868 (insertion character |).
869 * par.adb (Par): set formal language for error messages if needed
870 * sem_ch6.adb (Check_Missing_Return): take into account possible
871 generated statements at the end of the function
872 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
873 enumeration value to define a new pragma SPARK_95
874 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
875 SPARK_Version): new type and variables to store the SPARK version
877 (SPARK_Mode): return True when SPARK_Version is set
878 * par-prag.adb: Correct indentation
879 (Prag): take Pragma_SPARK_95 into account
880 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
883 2011-08-01 Robert Dewar <dewar@adacore.com>
885 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
886 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
887 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
889 2011-08-01 Pascal Obry <obry@adacore.com>
891 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
892 Target_Name to Get_Path call.
893 (Parse_Single_Project): Likewise.
894 (Post_Parse_Context_Clause): Likewise.
895 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
896 Call Initialise_Project_Path with the proper Target_Name.
897 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
899 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
900 with the proper Target_Name.
901 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
903 (Parse_Project_And_Apply_Config): Likewise.
904 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
905 This is fine as this part of the code is supporting only native
907 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
908 is fine as this part of the code is supporting only native compilation.
910 2011-08-01 Yannick Moy <moy@adacore.com>
912 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
913 of homonym, unless the homonym is one of the cases allowed in SPARK
914 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
915 package declaration occurring after a body.
917 2011-08-01 Robert Dewar <dewar@adacore.com>
919 * checks.adb, exp_ch4.adb: Minor reformatting.
921 2011-08-01 Javier Miranda <miranda@adacore.com>
923 * einfo.ads (Access_Disp_Table): Fix documentation.
924 (Dispatch_Table_Wrappers): Fix documentation.
926 2011-08-01 Pascal Obry <obry@adacore.com>
928 * prj-env.adb, prj-env.ads: Minor reformatting.
930 2011-08-01 Yannick Moy <moy@adacore.com>
932 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
933 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
934 procedures out of these packages.
935 * errout.ads, errout.adb
936 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
937 procedures in of this package
938 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
939 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
940 on misplaced later vs initial declarations, like in Ada 83
941 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
942 formal mode on attribute of private type whose full type declaration
944 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
945 package declaration inside a package specification
946 (Analyze_Full_Type_Declaration): issue error in formal mode on
947 controlled type or discriminant type
948 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
949 user-defined operator means that it should come from the source
950 (New_Overloaded_Entity): issue error in formal mode on overloaded
952 * sem_ch6.ads, sem_ch13.ads: typos in comments.
954 2011-08-01 Thomas Quinot <quinot@adacore.com>
956 * atree.adb: Minor reformatting.
957 * checks.adb: Minor reformatting.
959 2011-08-01 Vincent Celier <celier@adacore.com>
961 * s-parame-vms-ia64.ads: Fix typo in comment
963 * s-parame-vms-restrict.ads: Removed, unused.
965 2011-08-01 Javier Miranda <miranda@adacore.com>
968 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
970 (Constrain_Index): Remove side effects in the evaluation of the bounds.
971 * sem_ch3.ads, sem_ch3.adb
972 (Is_Constant_Bound): New extended version of the subprogram that was
973 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
974 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
975 * sem_aux.ads (Constant_Value): Fix typo in comment.
976 * checks.adb (Generate_Index_Checks): New implementation which, for
977 array objects with constant bounds, generates the runtime check
978 referencing the bounds of the array type. For other cases this routine
979 provides its previous behavior obtaining such values from the array
981 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
983 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
984 we cannot have semantic interpretations of the new node.
986 2011-08-01 Ed Schonberg <schonberg@adacore.com>
988 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
991 2011-08-01 Arnaud Charlet <charlet@adacore.com>
993 * sem_ch8.adb: Minor code editing.
994 * s-vxwext.adb: Remove trailing space.
995 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
996 consistency with other files.
998 2011-08-01 Thomas Quinot <quinot@adacore.com>
1000 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
1002 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1004 * par-ch10.adb: reject parameterized expressions as compilation unit.
1005 * sem_ch4.adb: handle properly conditional expression with overloaded
1006 then_clause and no else_clause.
1008 2011-08-01 Tristan Gingold <gingold@adacore.com>
1010 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
1011 like done by System.Aux_DEC.
1012 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
1014 2011-08-01 Yannick Moy <moy@adacore.com>
1016 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
1017 missing label at end of declaration (subprogram or package)
1018 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
1019 of positional and named parameter association
1020 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
1021 Error_Msg_SP which adds a prefix to the error message giving the name
1022 of the formal language analyzed
1023 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
1024 access result type in subprogram, unconstrained array as result type,.
1025 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
1027 * sem_ch8.adb: Code clean up.
1029 2011-08-01 Javier Miranda <miranda@adacore.com>
1031 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
1032 * einfo.ads (Access_Disp_Table): Fix documentation.
1033 (Dispatch_Table_Wrappers): Fix documentation.
1034 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
1035 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
1036 to enforce the documentation of this attribute.
1037 (Set_Is_Interface): Cleanup the assertion.
1038 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
1039 the Underlying_Type entity before reading attribute Access_Disp_Table.
1040 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
1041 Locate the Underlying_Type before reading attribute Access_Disp_Table.
1042 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
1043 the Underlying_Type entity before reading attribute Access_Disp_Table.
1044 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
1045 Locate the Underlying_Type entity before reading attribute
1048 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1050 * s-poosiz.ads: Additional overriding indicators.
1052 2011-08-01 Yannick Moy <moy@adacore.com>
1054 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
1056 (Analyze_Iteration_Scheme): issue error in formal mode when loop
1057 parameter specification does not include a subtype mark.
1058 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
1059 formal mode on abstract subprogram.
1060 (Analyze_Subprogram_Specification): issue error in formal mode on
1061 user-defined operator.
1062 (Process_Formals): issue error in formal mode on access parameter and
1064 * sem_ch9.adb (Analyze_Abort_Statement,
1065 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
1066 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
1067 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
1068 Analyze_Requeue, Analyze_Selective_Accept,
1069 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
1070 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
1071 issue error in formal mode on user-defined raise statement.
1073 2011-08-01 Thomas Quinot <quinot@adacore.com>
1075 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
1076 declaration being hidden when overriding an implicit inherited
1078 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
1079 (-gnats), do not complain about a source file that contains only a
1082 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1084 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
1085 variable if already set.
1087 2011-08-01 Arnaud Charlet <charlet@adacore.com>
1089 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
1090 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
1091 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
1092 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
1093 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
1094 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
1095 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
1096 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
1097 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
1098 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
1099 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
1100 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
1101 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
1102 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
1103 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
1104 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
1105 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
1106 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
1107 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
1108 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
1109 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
1110 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
1111 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
1112 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
1113 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
1114 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
1115 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
1116 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
1117 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
1118 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
1119 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
1120 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
1121 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
1122 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
1123 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
1124 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
1125 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
1126 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
1127 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
1128 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
1129 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
1130 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
1131 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
1132 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
1133 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
1134 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
1135 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
1136 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
1137 s-osinte-mingw.ads: Update to GPLv3 run-time license.
1138 Use GNAT instead of GNARL.
1140 2011-08-01 Bob Duff <duff@adacore.com>
1142 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
1143 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
1144 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
1147 2011-08-01 Yannick Moy <moy@adacore.com>
1149 * debug.adb (d.D) reverve flag for the SPARK mode
1150 (d.E) reverve flag for SPARK generation mode
1151 (d.F) reverve flag for Why generation mode
1152 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
1153 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
1154 functions which return True when the corresponding modes are set
1155 (Formal_Language): return "spark" or "alfa" when in formal verification
1157 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
1158 Error_Msg to prefix the error message with a tag giving the formal
1160 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
1161 message with a tag giving the formal language
1162 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
1164 (Analyze_Case_Statement): issue error in formal mode on case statement
1165 with a single "others" case alternative
1166 (Analyze_Exit_Statement): issue errors in formal mode on exit
1167 statements which do not respect SPARK restrictions
1168 (Analyze_Goto_Statement): issue error in formal mode on goto statement
1169 (Check_Unreachable_Code): always issue an error (not a warning) in
1170 formal mode on unreachable code (concerns both code after an infinite
1171 loop and after an unconditional jump, both not allowed in SPARK)
1172 * sem_ch6.adb (Analyze_Return_Statement): add call to
1173 Set_Return_Present for a procedure containing a return statement
1174 (already done for functions in Analyze_Function_Return)
1175 (Analyze_Function_Return): issue error in formal mode on extended
1176 return or if return is not last statement in function
1177 (Check_Missing_Return): issue error in formal mode if function does
1178 not end with return or if procedure contains a return
1179 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
1180 function to detect if there is an inner scope of its parameter S which
1183 2011-08-01 Thomas Quinot <quinot@adacore.com>
1185 * sem_ch6.ads: Minor reformatting.
1187 2011-08-01 Javier Miranda <miranda@adacore.com>
1189 * sem_util.adb (Abstract_Interface_List): Complete condition when
1190 processing private type declarations to avoid reading unavailable
1192 (Is_Synchronized_Tagged_Type): Complete condition when processing
1193 private extension declaration nodes to avoid reading unavailable
1196 2011-08-01 Thomas Quinot <quinot@adacore.com>
1198 * sem_ch3.adb: Minor reformatting.
1200 2011-08-01 Thomas Quinot <quinot@adacore.com>
1202 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
1203 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
1204 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
1205 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
1206 for VMS, instead parametrize the common implementation with
1207 System.Parameters declarations.
1209 2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
1211 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
1213 2011-08-01 Tristan Gingold <gingold@adacore.com>
1215 * seh_init.c: Fix SEH handler installation on win64.
1217 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1219 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
1220 double analysis of an anonymous access to subprogram, because it can
1221 lead to improper sharing of profiles and a back-end crash.
1223 2011-08-01 Robert Dewar <dewar@adacore.com>
1225 * make.adb, sem_ch4.adb: Minor reformatting.
1226 * gcc-interface/Make-lang.in: Update dependencies.
1227 * sem_util.adb, exp_ch5.adb: Minor reformatting.
1229 2011-08-01 Arnaud Charlet <charlet@adacore.com>
1231 * gnat_rm.texi: Fix definition of Long_Integer.
1233 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1235 * exp_aggr.adb: check limit size of static aggregate unconditionally,
1236 to prevent storage exhaustion.
1237 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
1238 finalized is a function body, insert the cleanup code before the final
1239 return statement, to prevent spurious warnings.
1240 * s-pooglo.ads: add overriding indicator.
1242 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1244 * sem_ch4.adb (Operator_Check): improve error message when both a
1245 with_clause and a use_clause are needed to make operator usage legal.
1246 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
1247 determine whether a compilation unit is visible within an other,
1248 either through a with_clause in the current unit, or a with_clause in
1249 its library unit or one one of its parents.
1251 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1253 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
1254 over an arbitrary expression of an array or container type.
1255 * lib-xref.adb: clarify comment.
1257 2011-08-01 Bob Duff <duff@adacore.com>
1259 * einfo.ads: Minor reformatting.
1260 * debug.adb: Minor comment improvement.
1262 2011-08-01 Javier Miranda <miranda@adacore.com>
1264 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
1265 consider hidden subprograms as valid candidates.
1267 2011-08-01 Arnaud Charlet <charlet@adacore.com>
1269 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
1271 2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
1273 * gnat_ugn.texi: Fix typo.
1275 2011-08-01 Robert Dewar <dewar@adacore.com>
1277 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
1278 lib-xref.adb: Minor reformatting
1280 2011-08-01 Gary Dismukes <dismukes@adacore.com>
1282 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
1283 when to generate a call to Move_Final_List.
1284 (Has_Controlled_Parts): Remove this function.
1286 2011-08-01 Geert Bosch <bosch@adacore.com>
1288 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
1291 2011-08-01 Thomas Quinot <quinot@adacore.com>
1293 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
1294 explicit raise of a predefined exception as Comes_From_Source if the
1295 original N_Raise_Statement comes from source.
1297 2011-08-01 Robert Dewar <dewar@adacore.com>
1299 * sinfo.ads: Add comment.
1300 * sem_ch6.adb: Minor reformatting.
1302 2011-08-01 Robert Dewar <dewar@adacore.com>
1304 * freeze.adb (Freeze_Entity): Refine check for bad component size
1305 clause to avoid rejecting confirming clause when atomic/aliased present.
1307 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1309 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
1310 better determine whether an entity reference is a write.
1311 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
1313 * lib-xref.adb (Output_References): Do no suppress a read reference at
1314 the same location as an immediately preceeding modify-reference, to
1315 handle properly in-out actuals.
1317 2011-08-01 Tristan Gingold <gingold@adacore.com>
1319 * env.c (__gnat_setenv) [VMS]: Refine previous change.
1321 2011-08-01 Quentin Ochem <ochem@adacore.com>
1323 * i-cstrin.adb (New_String): Changed implementation, now uses only the
1324 heap to compute the result.
1326 2011-08-01 Robert Dewar <dewar@adacore.com>
1328 * atree.ads: Minor reformatting.
1330 2011-08-01 Emmanuel Briot <briot@adacore.com>
1332 * g-expect.adb (Get_Command_Output): Fix memory leak.
1334 2011-08-01 Geert Bosch <bosch@adacore.com>
1336 * cstand.adb (P_Float_Type): New procedure to print the definition of
1337 predefined fpt types.
1338 (P_Mixed_Name): New procedure to print a name using mixed case
1339 (Print_Standard): Use P_Float_Type for printing floating point types
1340 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
1341 precision IEEE float.
1343 2011-08-01 Thomas Quinot <quinot@adacore.com>
1345 * sem_ch3.adb: Minor reformatting.
1347 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1349 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
1350 the completion of a generic function, insert the new body rather than
1351 rewriting the original.
1353 2011-08-01 Yannick Moy <moy@adacore.com>
1355 * sinfo.ads, errout.ads: Typos in comments.
1357 2011-08-01 Robert Dewar <dewar@adacore.com>
1359 * par-endh.adb: Minor reformatting.
1361 2011-08-01 Robert Dewar <dewar@adacore.com>
1363 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
1364 (Pre_Post_Aspects): New subtype.
1365 * par-ch12.adb (P_Generic): New syntax for aspects in packages
1366 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
1367 * par-ch7.adb (P_Package): Remove Decl parameter
1368 (P_Package): Handle new syntax for aspects (before IS)
1369 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
1371 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
1372 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
1373 (P_Package): Remove Decl parameter
1374 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
1376 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
1378 * sem_util.ads, sem_util.adb (Static_Boolean): New function
1379 * sinfo.ads: Document new syntax for aspects in packages etc.
1380 * sprint.adb: Handle new syntax of aspects before IS in package
1382 2011-08-01 Thomas Quinot <quinot@adacore.com>
1384 * atree.ads: Minor reformatting.
1385 * sem_prag.adb: Minor reformatting.
1387 2011-08-01 Robert Dewar <dewar@adacore.com>
1389 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
1390 case expr alternative.
1392 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1394 * sem_ch12.adb: Fix typo.
1396 2011-08-01 Geert Bosch <bosch@adacore.com>
1398 * sem_prag.adb (Check_No_Link_Name): New procedure.
1399 (Process_Import_Or_Interface): Use Check_No_Link_Name.
1400 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
1401 instead of Standard_Long_Long_Float_Size global. Preparation for
1402 eventual removal of per type constants.
1403 * exp_util.ads (Get_Stream_Size): New function returning the stream
1404 size value of subtype E.
1405 * exp_util.adb (Get_Stream_Size): Implement new function.
1406 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
1408 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
1410 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
1412 2011-08-01 Geert Bosch <bosch@adacore.com>
1414 * cstand.adb: Fix comments.
1415 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
1418 2011-08-01 Robert Dewar <dewar@adacore.com>
1420 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
1422 2011-08-01 Geert Bosch <bosch@adacore.com>
1424 * atree.ads: Fix comment.
1426 2011-08-01 Robert Dewar <dewar@adacore.com>
1428 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
1429 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
1430 * par.adb: Add with for Namet.Sp.
1431 * par-tchk.adb: Minor reformatting.
1433 2011-08-01 Vincent Celier <celier@adacore.com>
1435 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
1436 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
1437 of the init procedure of a SAL.
1438 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
1441 2011-08-01 Thomas Quinot <quinot@adacore.com>
1443 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
1446 2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1448 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
1450 2011-08-01 Thomas Quinot <quinot@adacore.com>
1452 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
1453 conformant with its spec (return True only for types that have
1454 an overriding Initialize primitive operation that prevents them from
1455 having preelaborable initialization).
1456 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
1457 initialization for controlled types in Ada 2005 or later mode.
1459 2011-08-01 Robert Dewar <dewar@adacore.com>
1461 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
1463 (Same_Aspect): New function.
1464 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
1465 Type_Invariant, Precondition, Postcondition.
1466 * snames.ads-tmpl: Add Name_Type_Invariant.
1468 2011-08-01 Robert Dewar <dewar@adacore.com>
1470 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
1472 (Freeze_All_Ent): Fix error in handling inherited aspects.
1473 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
1474 already analyzed, but don't skip entire processing of a declaration,
1475 that's wrong in some cases of declarations being rewritten.
1476 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
1477 Don't delay for integer, string literals
1478 Treat predicates in usual manner for delay, remove special case code,
1480 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
1481 (Build_Predicate_Function): Update saved expression in aspect
1482 (Build_Invariant_Procedure): Update saved expression in aspect
1483 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
1484 of replacement of discriminant references if the reference is simple.
1486 2011-08-01 Robert Dewar <dewar@adacore.com>
1488 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
1489 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
1490 Static_Predicate and Dynamic_Predicate.
1491 (Build_Predicate_Function): Add processing for Static_Predicate
1492 and Dynamic_Predicate.
1493 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
1494 (From_Static_Predicate): New flag
1495 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
1497 2011-08-01 Robert Dewar <dewar@adacore.com>
1499 * usage.adb: Documentation cleanup for Ada version modes in usage.
1500 * expander.adb: Minor reformatting.
1502 2011-08-01 Robert Dewar <dewar@adacore.com>
1504 * atree.ads: Minor comment fix.
1505 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
1506 a-witeio.ads, sem_prag.adb: Minor reformatting.
1508 2011-08-01 Doug Rupp <rupp@adacore.com>
1510 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
1511 pointers. Use descrip.h header file for convenience. Add some
1514 2011-08-01 Robert Dewar <dewar@adacore.com>
1516 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
1517 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
1518 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
1520 (Check_Aspect_At_End_Of_Declarations): New procedure
1521 (Analye_Aspect_Specification): Minor changes for above procedures
1522 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
1523 specification node as well.
1525 2011-08-01 Pascal Obry <obry@adacore.com>
1527 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
1528 Windows files. Use GetFilesAttributes() in this case to check for file
1529 existence instead of returning with an error code.
1531 2011-08-01 Vincent Celier <celier@adacore.com>
1533 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
1534 High is above Source length.
1536 2011-08-01 Robert Dewar <dewar@adacore.com>
1538 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
1540 2011-08-01 Robert Dewar <dewar@adacore.com>
1542 * aspects.ads (Boolean_Aspects): New subtype.
1543 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
1544 for derived types in cases where the parent type and derived type have
1546 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
1547 with aspects when parent type also has aspects.
1548 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
1549 boolean expression at this point).
1550 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
1551 accordance with final decision on the Ada 2012 feature.
1552 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
1554 2011-08-01 Matthew Heaney <heaney@adacore.com>
1556 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
1558 2011-08-01 Pascal Obry <obry@adacore.com>
1560 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
1561 Fix Replace_Slice when High is above current string size.
1562 (Replace_Slice): Fix DL computation when High is above current
1565 2011-08-01 Gary Dismukes <dismukes@adacore.com>
1567 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
1569 2011-08-01 Matthew Heaney <heaney@adacore.com>
1571 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
1574 2011-08-01 Pascal Obry <obry@adacore.com>
1576 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
1579 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1581 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
1582 access to protected subprograms in generic bodies.
1583 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
1584 protected type, indicate that the convention of the subprogram is
1585 Convention_Protected, because it may be used in subsequent declarations
1586 within the protected declaration.
1588 2011-08-01 Vincent Celier <celier@adacore.com>
1590 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
1591 and "final" procedures when the name of the library is "ada", to avoid
1592 duplicate symbols "adainit" and "adafinal" in executables.
1594 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1596 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
1597 quantified expression that appears within a postcondition and uses the
1598 Ada2012 'Result attribute.
1600 2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1602 * init.c (__gnat_error_handler): Cast reason to int.
1603 (__gnat_install_handler): Explain sa_sigaction use.
1605 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1607 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
1608 subprogram has copy-in copy-out parameters, try to promote the mode of
1609 the return type if it is passed in registers.
1611 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1613 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
1614 left operand as addressable.
1616 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1618 * gcc-interface/gigi.h (build_function_stub): Remove.
1619 (build_return_expr): Likewise.
1620 (convert_vms_descriptor): Declare.
1621 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
1622 (build_function_stub): Move to...
1623 * gcc-interface/utils2.c (build_return_expr): Move to...
1624 * gcc-interface/trans.c (build_function_stub): ...here.
1625 (build_return_expr): ...here.
1626 (Subprogram_Body_to_gnu): Add local variable for language_function.
1627 Disconnect the parameter attributes cache, if any, once done with it.
1628 Call end_subprog_body only after setting the end_locus.
1629 Build the stub associated with the function, if any, at the very end.
1630 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
1631 variables and streamline control flow.
1633 2011-07-23 Arnaud Charlet <charlet@adacore.com>
1636 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
1639 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1642 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
1643 Assign to act.sa_sigaction.
1644 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
1645 current->return_address to char * before arithmetic.
1647 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1649 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
1650 Correct argument types.
1651 Extract code from reason.
1652 (__gnat_install_handler): Assign to act.sa_sigaction.
1654 2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
1656 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
1657 (GNAT1_OBJS): ...here.
1659 2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
1662 * g-socthi-mingw.adb (Fill): Fix formatting.
1664 * gcc-interface/gigi.h: Move around comment.
1666 2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1669 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
1671 2011-07-14 Florian Weimer <fw@deneb.enyo.de>
1674 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
1676 2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
1678 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
1679 range comparison if Pmode is SImode.
1681 2011-07-12 Laurent GUERBY <laurent@guerby.net>
1682 Eric Botcazou <ebotcazou@adacore.com>
1684 * adadecode.c: Wrap up in extern "C" block.
1685 * adadecode.h: Likewise.
1686 * adaint.c: Likewise. Remove 'const' keyword.
1687 * adaint.h: Likewise.
1689 * atree.h: Likewise.
1691 * cstreams.c: Likewise.
1695 * final.c: Likewise.
1697 * initialize.c: Likewise.
1699 * namet.h: Likewise.
1700 * nlists.h: Likewise.
1701 * raise.c: Likewise.
1702 * raise.h: Likewise.
1703 * repinfo.h: Likewise.
1704 * seh_init.c: Likewise.
1705 * targext.c: Likewise.
1706 * tracebak.c: Likewise.
1707 * uintp.h: Likewise.
1708 * urealp.h: Likewise.
1709 * xeinfo.adb: Wrap up generated C code in extern "C" block.
1710 * xsinfo.adb: Likewise.
1711 * xsnamest.adb: Likewise.
1712 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
1713 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
1714 * gcc-interface/misc.c: Likewise.
1715 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
1716 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
1717 ada/targext.o here...
1718 (GNAT_ADA_OBJS): ...and not here.
1719 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
1720 (GNATBIND_OBJS): Reorder.
1722 2011-07-07 Richard Henderson <rth@redhat.com>
1724 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1725 dwarf2out_frame_init.
1727 2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
1729 * gcc-interface/misc.c (gnat_init): Tweak previous change.
1731 2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1734 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
1736 2011-07-06 Richard Guenther <rguenther@suse.de>
1738 * gcc-interface/misc.c (gnat_init): Merge calls to
1739 build_common_tree_nodes and build_common_tree_nodes_2.
1740 Re-initialize boolean_false_node.
1742 2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
1743 Olivier Hainque <hainque@adacore.com>
1744 Nicolas Setton <setton@adacore.com>
1746 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
1747 the type according to the ARTIFICIAL_P parameter.
1748 (create_type_decl): Likewise.
1749 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
1751 2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
1753 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
1754 (gnatbind): Likewise.
1756 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1758 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
1760 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
1762 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
1763 local variable throughout. Remove useless call to Base_Type.
1764 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
1765 Take it also into account for the volatileness of the field. Set the
1766 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
1768 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
1770 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
1771 on a dereference built for a by-ref object if it has an address clause.
1773 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
1775 * einfo.ads (Address_Taken): Document use for the second argument of
1776 Asm_Input and Asm_Output attributes.
1777 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
1778 argument is an entity name, then set Address_Taken on it.
1779 <Attribute_Asm_Output>: Likewise.
1780 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
1781 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
1782 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
1783 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
1785 2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
1788 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
1790 2011-06-14 Joseph Myers <joseph@codesourcery.com>
1792 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
1793 (ada/utils.o): Update dependencies.
1794 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
1795 ../../../libcpp/libcpp.a.
1796 * gcc-interface/utils.c: Include common/common-target.h.
1797 (process_attributes): Use targetm_common.have_named_sections.
1799 2011-06-07 Richard Guenther <rguenther@suse.de>
1801 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
1804 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1806 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
1807 TREE_THIS_NOTRAP flag.
1809 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1811 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
1814 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1816 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
1817 constants whose full view has discriminants specially.
1819 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1821 * gcc-interface/utils.c: Include diagnostic.h.
1822 (gnat_write_global_declarations): Output debug information for all
1823 global type declarations before finalizing the compilation unit.
1824 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
1826 2011-05-25 Jakub Jelinek <jakub@redhat.com>
1828 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
1830 2011-05-25 Kai Tietz <ktietz@redhat.com>
1832 * adaint.c (__gnat_to_canonical_file_list_next): Use array
1833 initialization instead of const/none-const pointer assignment.
1835 2011-05-24 Joseph Myers <joseph@codesourcery.com>
1837 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
1838 $(EXTRA_GNAT1_OBJS).
1839 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
1840 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
1841 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
1842 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
1843 libcommon-target.a instead of prefix.o.
1845 2011-05-21 Joseph Myers <joseph@codesourcery.com>
1848 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
1850 2011-05-20 Joseph Myers <joseph@codesourcery.com>
1852 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
1853 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
1854 instead of version.o.
1856 2011-05-18 Kai Tietz <ktietz@redhat.com>
1858 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
1859 boolean_false_node instead of integer_zero_node.
1860 (convert_with_check): Likewise.
1861 * gcc-interface/decl.c (choices_to_gnu): Likewise.
1863 2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
1865 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
1866 type of the parameter is an unconstrained array, convert the actual to
1867 the type of the formal in the In Out and Out cases as well.
1869 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
1871 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
1872 call build_function_type_array or build_varargs_function_type_array
1874 (create_subprog_type): Don't call build_function_type; call
1875 build_function_type_vec instead.
1877 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
1879 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
1880 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
1881 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
1883 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
1885 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
1887 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
1888 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
1890 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1892 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
1894 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1896 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
1897 instead of accessing TYPE_ARG_TYPES directly.
1898 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
1900 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
1903 * gcc-interface/gigi.h (get_variant_part): Declare.
1904 * gcc-interface/decl.c (get_variant_part): Make global.
1905 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
1906 types have the same constant size, are record types and T1 has a
1907 variant part while T2 doesn't.
1909 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
1911 * gcc-interface/utils.c (begin_subprog_body): Do not call
1913 (end_subprog_body): Likewise.
1915 2011-05-04 Richard Guenther <rguenther@suse.de>
1917 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
1919 (pos_to_constructor): Likewise.
1921 2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1922 Eric Botcazou <ebotcazou@adacore.com>
1924 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
1925 of build_function_type. Adjust calls to...
1926 (build_raise_check): ...this. Do not take a void_tree parameter.
1927 Call build_function_type_list instead of build_function_type.
1928 Fix head comment and swap couple of conditional blocks.
1930 2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
1932 * gnatvsn.ads (Library_Version): Bump to 4.7.
1933 (Current_Year): Bump to 2011.
1935 2011-04-29 Michael Matz <matz@suse.de>
1937 * gcc-interface/misc.c (gnat_handle_option): Set
1938 warn_maybe_uninitialized.
1940 2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
1942 * gnat_ugn.texi (Complexity Metrics Control): Update link to
1943 the Watson/McCabe paper.
1945 2011-04-23 Jim Meyering <meyering@redhat.com>
1947 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
1949 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
1951 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
1954 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
1956 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
1958 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
1959 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
1960 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
1961 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
1962 <all>: Do not set flags on the reused DECL node coming from an alias.
1963 Set DECL_IGNORED_P on the DECL node built for subprograms if they
1964 don't need debug info here...
1965 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
1966 (gigi): Adjust calls to create_subprog_decl.
1967 (build_raise_check): Likewise.
1968 (establish_gnat_vms_condition_handler): Likewise.
1969 (Compilation_Unit_to_gnu): Likewise.
1970 (gnat_to_gnu): Likewise.
1972 2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
1974 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
1975 (NO_REORDER_ADAFLAGS): New variable.
1976 (EXTRA_GNATTOOLS): Always define.
1977 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
1978 Clean up and adjust list of files compiled with special options.
1979 * gcc-interface/Make-lang.in: Likewise.
1980 (ada/decl.o): Cosmetical change.
1981 (ada/misc.o): Remove dependency on $(PLUGIN_H).
1983 2011-04-20 Jim Meyering <meyering@redhat.com>
1985 * initialize.c (__gnat_initialize): Remove useless if-before-free.
1987 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
1989 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
1990 $(CFLAGS) on the link line.
1992 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
1994 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
1995 padded type built for the return type if it is unconstrained.
1997 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
1999 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
2001 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2003 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
2004 before calling TREE_CHAIN.
2005 * gcc-interface/misc.c (gnat_init_ts): New function.
2006 (LANG_HOOKS_INIT_TS): Define.
2008 2011-04-12 Martin Jambor <mjambor@suse.cz>
2010 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
2011 instead of cgraph_node.
2013 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2015 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
2016 alignment on fields of the RETURN type built for the Copy-In Copy-Out
2019 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2021 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
2022 of aggregate types that contain a placeholder.
2024 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2026 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
2028 (handle_type_generic_attribute): Likewise.
2030 2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
2033 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
2035 2011-04-04 Kai Tietz <ktietz@redhat.com>
2038 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
2041 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2043 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
2044 type case, do not strip a padding type around the array type.
2046 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2048 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
2051 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2053 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
2054 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
2055 code for -feliminate-unused-debug-types.
2056 (gnat_post_options): Likewise.
2058 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2060 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
2061 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
2064 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2066 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
2067 DECL_ARTIFICIAL flag on enumeration types.
2069 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2071 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
2072 fat pointer types artificial unconditionally.
2073 <E_Array_Subtype>: Attach the base array type as a parallel type if it
2076 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2078 * gcc-interface/gigi.h (get_dummy_type): Declare.
2079 (build_dummy_unc_pointer_types): Likewise.
2080 (finish_fat_pointer_type): Likewise.
2081 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
2082 fat pointer type has been built, complete it in place.
2083 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
2084 and thin pointers. Remove useless variable.
2085 (finish_fat_pointer_type): Make global and move to...
2086 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
2087 (get_dummy_type): New function.
2088 (build_dummy_unc_pointer_types): Likewise.
2089 (gnat_pushdecl): Propage the name to the anonymous variants only.
2090 (update_pointer_to): Only adjust the pointer types in the unconstrained
2093 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2095 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
2096 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
2097 if this is a Taft amendment type and the full declaration is available.
2098 * gcc-interface/trans.c (process_type): Likewise.
2099 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
2100 (process_freeze_entity): Likewise.
2101 * gcc-interface/utils.c (dummy_global): New static variable.
2102 (gnat_write_global_declarations): If there are types declared as used
2103 at the global level, insert them in the global hash table.
2105 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2107 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
2108 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
2109 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
2111 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
2112 flag of the type accordingly.
2113 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
2115 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2117 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
2118 finalizing types when updating the pointers to the designated type.
2119 <all>: Finalize the deferred types even if we didn't defer processing
2120 of incomplete types in this invocation.
2122 2011-04-01 Olivier Hainque <hainque@adacore.com>
2123 Nicolas Setton <setton@adacore.com>
2124 Eric Botcazou <ebotcazou@adacore.com>
2126 * gcc-interface/misc.c (gnat_descriptive_type): New function.
2127 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
2129 2011-03-28 Kai Tietz <ktietz@redhat.com>
2131 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
2133 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
2134 * system-mingw.ads (System): Change ZCX_By_Default default to True.
2136 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2138 2011-03-28 Tristan Gingold <gingold@adacore.com>
2141 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
2142 Use ada output of gnatbind.
2143 (ada/b_gnatb.adb): Ditto.
2144 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
2145 (ada.mostlyclean, ada.stage1)
2146 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
2147 (ada.stagefeedback): Adjust.
2148 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
2149 Use ada output of gnatbind.
2150 (b_gnatm.adb): Ditto.
2151 (b_gnatl.o, b_gnatm.o): New rules.
2153 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2155 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
2156 for the padded type built to support a specified size or alignment.
2158 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2160 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
2161 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
2162 unconditionally to the end of the unit when the designated type is
2164 <all>: Rename local variable. Attempt to un-defer types only and do it
2165 for limited_with'ed types as well.
2166 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
2167 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
2168 consistently and remove redundant call to finalize_from_with_types.
2170 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2172 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
2173 subprograms without a previous spec declared in the same unit.
2174 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
2175 subprograms at the end of the unit instead of at the beginning.
2176 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
2177 isn't public for the special handling of non-inline functions nested
2178 inside inline external functions.
2180 2011-03-25 Jeff Law <law@redhat.com>
2182 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
2184 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2186 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
2187 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
2188 to compute Set_Size_Depends_On_Discriminant.
2189 (Layout_Type): Call it on array types in back-end layout mode.
2190 * sem_util.adb (Requires_Transient_Scope): Return true for array
2191 types only if the size depends on the value of discriminants.
2192 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
2193 type if the RHS is a call to a function that returns an unconstrained
2194 type with default discriminant.
2196 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2198 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
2199 non-conversion to the nominal result type at the end.
2201 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2203 * gcc-interface/trans.c (create_temporary): New function taken from...
2204 (create_init_temporary): ...here. Call it.
2205 (call_to_gnu): Create the temporary for the return value early, if any.
2206 Create it for a function with copy-in/copy-out parameters if there is
2207 no target; in other cases of copy-in/copy-out, use another temporary.
2208 Push the new binding level lazily. Add and rename local variables.
2210 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2212 * gcc-interface/decl.c (validate_size): Improve comments and tweak
2214 (set_rm_size): Likewise.
2216 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2218 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
2219 for the padded type built in order to support a specified alignment.
2220 Fix incorrect formatting.
2222 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2225 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
2227 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2229 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
2230 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
2231 to the end of the list. Adjust recursive call. Rename local variable.
2232 If REORDER is true, reorder components of the record type.
2233 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
2234 components_to_record and adjust the parameter list.
2236 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2238 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
2239 disabled, use the variable for bounds of loop iteration scheme.
2241 2011-03-21 Kai Tietz <ktietz@redhat.com>
2244 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
2246 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
2248 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
2249 out whether the expression is read-only. Short-circuit placeholder
2250 case and rename a couple of local variables.
2252 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
2254 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
2255 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
2256 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
2257 (convert): Deal with conversions from a smaller form type specially.
2259 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
2261 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
2262 its argument, except for the special -I- switch.
2264 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
2266 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
2269 2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
2271 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
2273 2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
2275 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
2277 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
2278 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
2279 instead of GNAT_FORMAL. Protect the expression against multiple uses.
2280 Do not generate the check directly, instead instantiate the template
2281 check present in the descriptor.
2282 (make_descriptor_field): Move around.
2283 (build_vms_descriptor32): Build a template check in the POINTER field.
2284 (build_vms_descriptor): Remove useless suffixes.
2285 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
2287 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
2290 * targext.c: Include target files if IN_RTS is defined.
2292 2011-01-26 Richard Guenther <rguenther@suse.de>
2295 * targext.c: Include config.h.
2296 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
2299 2011-01-04 Pascal Obry <obry@adacore.com>
2300 Eric Botcazou <ebotcazou@adacore.com>
2302 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
2304 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2306 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
2307 end-of-case on the end label and its associated gotos, if any.
2309 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2311 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
2312 expressions of the parameter cache within the statement group of
2315 2011-01-04 Olivier Hainque <hainque@adacore.com>
2316 Eric Botcazou <ebotcazou@adacore.com>
2318 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
2319 (set_end_locus_from_node): New function.
2320 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
2321 make and the function end_locus.
2322 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
2323 for the elaboration subprogram.
2324 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
2325 set the end_locus of the expression as well.
2327 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2330 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
2331 variables that are referenced in exception handlers volatile.
2335 Copyright (C) 2011 Free Software Foundation, Inc.
2337 Copying and distribution of this file, with or without modification,
2338 are permitted in any medium without royalty provided the copyright
2339 notice and this notice are preserved.