1 2011-08-02 Geert Bosch <bosch@adacore.com>
3 * cstand.adb (Register_Float_Type): Print information about type to
4 register, if the Debug_Flag_Dot_B is set.
5 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
6 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
7 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
8 with a requested precision of more than Max_Digits digits and no more
9 than Max_Base_Digits digits, if a range specification is present and the
10 Predefined_Float_Types list has a suitable type to derive from.
11 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
12 case of type completion with pragma Import
14 (Process_Import_Predefined_Type): Processing to complete a type
15 with pragma Import. Currently supports floating point types only.
16 (Set_Convention_From_Pragma): Do nothing without underlying type.
17 (Process_Convention): Guard against absence of underlying type,
18 which may happen when importing incomplete types.
19 (Process_Import_Or_Interface): Handle case of importing predefined
20 types. Tweak error message.
22 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
24 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
25 functions to previous change. Reorganize code slightly.
27 2011-08-02 Geert Bosch <bosch@adacore.com>
29 * back_end.ads (Register_Type_Proc): New call back procedure type for
30 allowing the back end to provide information about available types.
31 (Register_Back_End_Types): New procedure to register back end types.
32 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
34 * cstand.adb (Back_End_Float_Types): New list for floating point types
35 supported by the back end.
36 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
37 (Copy_Float_Type): New procedure to make new copies of predefined types.
38 (Register_Float_Type): New call back procedure to populate the BEFT list
39 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
40 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
41 (Create_Float_Types): New procedure to create entities for floating
42 point types predefined in Standard, and put these and any remaining
43 BEFTs on the Predefined_Float_Types list.
44 * stand.ads (Predefined_Float_Types): New list for predefined floating
45 point types that do not have declarations in package Standard.
47 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
49 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
50 entity node for the unit containing the parameter.
51 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
52 (Add_Inlined_Subprogram): Likewise.
53 * gcc-interface/Make-lang.in: Update dependencies.
55 2011-08-02 Thomas Quinot <quinot@adacore.com>
57 * s-stusta.adb (Print): Make sure Pos is always initialized to a
60 2011-08-02 Ed Falis <falis@adacore.com>
62 * init.c: Fix conditional compilation so that the fp initialization is
63 peformed for the MILS VxWorks Guest OS.
65 2011-08-02 Geert Bosch <bosch@adacore.com>
67 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
69 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
71 * sem_type.adb (Covers): Move trivial case to the top and reuse the
72 computed value of Base_Type.
74 2011-08-02 Yannick Moy <moy@adacore.com>
76 * restrict.adb (Check_Restriction): issue an error for any use of
77 class-wide, even if the No_Dispatch restriction is not set.
78 * sem_aggr.adb: Correct typos in comments and messages in formal mode
79 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
80 when completing a private extension, the type named in the private part
81 is not the same as that named in the visible part.
82 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
83 of an inherited primitive operations of a tagged type or type extension
84 that returns the tagged type.
85 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
86 function which returns True for an implicit operation inherited by the
87 derived type declaration for the argument type.
88 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
91 2011-08-02 Ed Schonberg <schonberg@adacore.com>
93 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
94 Process_Bounds, to perform analysis with expansion of a range or an
95 expression that is the iteration scheme for a loop.
96 (Analyze_Iterator_Specification): If domain of iteration is given by a
97 function call with a controlled result, as is the case if call returns
98 a predefined container, ensure that finalization actions are properly
100 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
102 2011-08-02 Javier Miranda <miranda@adacore.com>
104 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
105 * gcc-interface/Make-lang.in: Update dependencies.
107 2011-08-02 Javier Miranda <miranda@adacore.com>
109 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
110 determine if the analysis is performed using N or Original_Node (N).
111 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
112 functionality of routine Is_Variable avoids code duplication.
113 * checks.adb (Determine_Range): Handle temporaries generated by
116 2011-08-02 Javier Miranda <miranda@adacore.com>
118 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
119 expansion of the condition. Required since the previous analysis was
120 done with expansion disabled (see Resolve_Quantified_Expression) and
121 hence checks were not inserted and record comparisons have not been
124 2011-08-02 Ed Falis <falis@adacore.com>
126 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
129 2011-08-02 Bob Duff <duff@adacore.com>
131 * opt.ads: Minor comment fix.
133 2011-08-02 Bob Duff <duff@adacore.com>
135 * sem_ch12.adb (Analyze_Package_Instantiation,
136 Analyze_Subprogram_Instantiation): Turn off style checking while
137 analyzing an instance. Whatever style checks that apply to the generic
138 unit should apply, so it makes no sense to apply them in an instance.
139 This was causing trouble when compiling an instance of a runtime
140 unit that violates the -gnatyO switch.
141 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
142 one of the two case statements, causing spurious errors.
144 2011-08-02 Robert Dewar <dewar@adacore.com>
146 * uname.adb: Minor reformatting.
147 * gnatcmd.adb: Minor reformatting.
148 * exp_attr.adb: Minor reformatting.
150 2011-08-02 Ed Schonberg <schonberg@adacore.com>
152 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
153 No_Dispatching_Calls, do not look for the Assign primitive, because
154 predefined primitives are not created in this case.
156 2011-08-02 Bob Duff <duff@adacore.com>
158 * stylesw.ads: Minor comment fixes.
160 2011-08-02 Robert Dewar <dewar@adacore.com>
162 * freeze.adb (Add_To_Result): New procedure.
164 2011-08-02 Jose Ruiz <ruiz@adacore.com>
166 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
167 time, if the specific run-time routines for handling streams of strings
168 are not available, use the default mechanism.
170 2011-08-02 Arnaud Charlet <charlet@adacore.com>
172 * s-regpat.ads: Fix typo.
174 2011-08-02 Vincent Celier <celier@adacore.com>
176 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
177 not null, call it to create the in memory config project file without
178 parsing an existing default config project file.
180 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
182 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
184 2011-08-02 Ed Schonberg <schonberg@adacore.com>
186 * sem_elim.adb: an abstract subprogram does not need an eliminate
187 pragma for its descendant to be eliminable.
189 2011-08-02 Ed Falis <falis@adacore.com>
191 * init.c: revert to handling before previous checkin for VxWorks
192 * s-intman-vxworks.adb: delete unnecessary declarations related to
193 using Ada interrupt facilities for handling signals.
194 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
195 * s-intman-vxworks.ads: Import __gnat_install_handler as
196 Initialize_Interrupts.
197 * s-taprop-vxworks.adb: Delete Signal_Mask.
198 (Abort_Handler): change construction of mask to unblock exception
201 2011-08-02 Jerome Guitton <guitton@adacore.com>
203 * a-except-2005.adb (Raise_From_Signal_Handler): Call
204 Debug_Raise_Exception before propagation starts.
206 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
208 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
209 to Restriction_Check_Required.
210 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
211 * sem_res.adb (Resolve_Call): Likewise.
212 * sem_attr.adb (Check_Stream_Attribute): Likewise.
214 2011-08-02 Bob Duff <duff@adacore.com>
216 * stylesw.ads: Update comment.
217 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
218 * errout.ads: Remove obsolete comment.
220 2011-08-02 Javier Miranda <miranda@adacore.com>
222 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
223 (Set_Is_Safe_To_Reevaluate): new procedure.
224 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
225 assignment is allowed on safe-to-reevaluate variables.
226 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
227 temporary created to remove side effects in expressions that use
228 the secondary stack as safe-to-reevaluate.
229 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
230 variables that are not true constants.
232 2011-08-02 Robert Dewar <dewar@adacore.com>
234 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
235 sem_res.adb, sem_ch6.adb: Minor reformatting.
237 2011-08-02 Jerome Guitton <guitton@adacore.com>
239 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
241 2011-08-02 Ed Schonberg <schonberg@adacore.com>
243 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
244 not set Overridden_Operation if subprogram is an initialization
247 2011-08-02 Yannick Moy <moy@adacore.com>
249 * par-ch6.adb: Correct obsolete name in comments
250 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
251 which takes two message arguments (existing function takes one), with
252 second message used for continuation.
253 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
254 block statements that originate from a source block statement, not
255 generated block statements
256 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
257 symmetry with procedure case
258 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
259 function to issue an error in formal mode if a package specification
260 contains more than one tagged type or type extension.
261 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
262 parameters matching formals of tagged types are objects (or ancestor
263 type conversions of objects), not general expressions. Issue an error
264 on view conversions that are not involving ancestor conversion of an
266 (Resolve_Type_Conversion): in formal mode, issue an error on the
267 operand of an ancestor type conversion which is not an object
268 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
269 procedure so that it works also for actuals of function calls
270 (Is_Actual_Tagged_Parameter): new function which determines if its
271 argument is an actual parameter of a formal of tagged type in a
273 (Is_SPARK_Object_Reference): new function which determines if the tree
274 referenced by its argument represents an object in SPARK
276 2011-08-02 Robert Dewar <dewar@adacore.com>
278 * sem_ch3.adb: Minor reformatting
279 Minor comment addition
280 Minor error msg text change
282 2011-08-02 Javier Miranda <miranda@adacore.com>
284 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
285 function. Used to be more precise when we generate a variable plus one
286 assignment to remove side effects in the evaluation of the Bound
288 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
289 of the bound expression to force its re-analysis and thus expand the
290 associated transient scope (if required). Code cleanup replacing the
291 previous code that declared the constant entity by an invocation to
292 routine Force_Evaluation which centralizes this work in the frontend.
294 2011-08-02 Robert Dewar <dewar@adacore.com>
296 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
297 (Base_Type): Now uses improved Is_Base_Type function
298 * einfo.ads (Base_Type): Inline this function
300 2011-08-02 Robert Dewar <dewar@adacore.com>
302 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
303 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
305 2011-08-02 Arnaud Charlet <charlet@adacore.com>
307 * gcc-interface/Make-lang.in: Update dependencies.
308 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
311 2011-08-02 Yannick Moy <moy@adacore.com>
313 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
314 non-simple expression used in delta constraint
315 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
316 index constraint which is not a subtype mark
317 * par.adb: With and use Restrict
318 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
319 mode on component type which is not a subtype mark and default
320 expression on component
321 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
322 of string which does not have a lower index bound equal to 1
323 (Array_Type_Declaration): issue an error in formal mode on index or
324 component type which is not a subtype mark, and on aliased keyword on
326 (Derived_Type_Declaration): issue an error in formal mode on interface,
327 limited or abstract type
328 (Record_Type_Declaration): issue an error in formal mode on interface
329 (Record_Type_Definition): issue an error in formal mode on tagged types
330 and type extensions not declared in the specification of a library unit
331 package; on null non-tagged record; on variant part
333 2011-08-02 Vincent Celier <celier@adacore.com>
335 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
336 not declared for qualified library project when Library_Name is not
337 declared, but Library_Dir is.
339 2011-08-02 Robert Dewar <dewar@adacore.com>
341 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
342 pragmas (affects aspects [Component_]Default_Value
343 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
344 component type for the resolution
346 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
348 * einfo.adb (Base_Type): Tune implementation for speed.
350 2011-08-02 Robert Dewar <dewar@adacore.com>
352 * freeze.adb: Minor reformatting.
354 2011-08-02 Thomas Quinot <quinot@adacore.com>
356 * scos.ads: Update comments.
358 2011-08-02 Ed Schonberg <schonberg@adacore.com>
360 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
361 base type, because the parent may be a subtype of a private type whose
362 convention is established in a private part.
364 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
366 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
367 statement in a block when the expansion of the return expression has
368 created a finalization chain.
369 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
370 with the parent node.
371 Add N_Extended_Return_Statement to handle the case where a transient
372 object declaration appears in the Return_Object_Declarations list of
373 an extended return statement.
375 2011-08-02 Matthew Gingell <gingell@adacore.com>
377 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
378 unused parameter 'name'.
380 2011-08-02 Ed Schonberg <schonberg@adacore.com>
382 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
383 inherited operation, check whether its alias, which is the source
384 operastion that it renames, has been marked eliminated.
386 2011-08-02 Javier Miranda <miranda@adacore.com>
388 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
389 in-mode parameter whose type is an access type since it can be used to
390 modify its designated object. Enforce code that handles as safe an
391 access type that is not access-to-constant but it is the result of a
392 previous removal of side-effects.
393 (Remove_Side_Effects): Minor code reorganization of cases which require
394 no action. Done to incorporate documentation on new cases uncovered
395 working in this ticket: no action needed if this routine was invoked
396 too early and the nodes are not yet decorated.
397 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
398 to routine Remove_Side_Effects by calls to Force_Evaluation since they
399 were issued with actuals that are implicitly provided by
402 2011-08-02 Robert Dewar <dewar@adacore.com>
404 * sem_ch3.adb, sem_res.adb: Minor reformatting.
406 2011-08-02 Yannick Moy <moy@adacore.com>
408 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
409 to issue an error in formal mode on attribute not supported in this mode
410 (Analyze_Attribute): issue errors on standard attributes not supported
412 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
413 comment, and issue error in formal mode on modulus which is not a power
415 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
417 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
419 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
420 operator on modular type (except 'not').
422 2011-08-02 Robert Dewar <dewar@adacore.com>
424 * gnat_rm.texi: Minor reformatting.
426 2011-08-02 Arnaud Charlet <charlet@adacore.com>
428 * s-osinte-linux.ads: Minor comment update and reformatting.
429 * i-cexten.ads: Make this unit pure, as for its parent.
430 Will allow its usage in more contexts if needed.
432 2011-08-02 Robert Dewar <dewar@adacore.com>
434 * s-utf_32.ads: Minor comment fix.
436 2011-08-02 Ed Schonberg <schonberg@adacore.com>
438 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
439 operation of a tagged synchronized type, handle the case where the
440 controlling argument is overloaded.
442 2011-08-02 Yannick Moy <moy@adacore.com>
444 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
445 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
446 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
447 SPARK mode and formal verification mode on processing SPARK restriction
448 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
449 requiring consistency checking.
451 2011-08-02 Robert Dewar <dewar@adacore.com>
453 * sem_res.adb: Minor reformatting.
455 2011-08-02 Robert Dewar <dewar@adacore.com>
457 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
458 a-cforse.ads: Remove unneeded with of Ada.Containers
459 Remove commented out pragma Inline's
460 Move specifications of new subprograms to the actual specs
462 2011-08-02 Yannick Moy <moy@adacore.com>
464 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
465 a-cforse.ads: Update comments.
467 2011-08-02 Ed Schonberg <schonberg@adacore.com>
469 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
471 2011-08-02 Robert Dewar <dewar@adacore.com>
473 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
474 a-cforse.ads, a-cofove.ads: Minor reformatting.
476 2011-08-02 Claire Dross <dross@adacore.com>
478 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
479 a-cofove.ads: Add comments.
481 2011-08-02 Yannick Moy <moy@adacore.com>
483 * gnat_rm.texi: Document formal containers.
485 2011-08-02 Emmanuel Briot <briot@adacore.com>
487 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
490 2011-08-02 Robert Dewar <dewar@adacore.com>
492 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
495 2011-08-02 Robert Dewar <dewar@adacore.com>
497 * aspects.adb: New aspects Default_Value and Default_Component_Value
498 New format of Aspect_Names table checks for omitted entries
499 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
500 handling of boolean aspects for derived types.
501 New aspects Default_Value and Default_Component_Value
502 New format of Aspect_Names table checks for omitted entries
503 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
504 (Has_Default_Value): New flag
505 (Has_Default_Component_Value): New flag
506 (Has_Default_Value): New flag
507 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
509 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
510 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
511 Default_Value and Default_Component_Value
512 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
513 New aspects Default_Value and Default_Component_Value
514 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
515 * sprint.adb: Print N_Aspect_Specification node when called from gdb
517 2011-08-02 Vincent Celier <celier@adacore.com>
519 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
520 inherit library kind.
522 2011-08-02 Ed Schonberg <schonberg@adacore.com>
524 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
527 2011-08-02 Robert Dewar <dewar@adacore.com>
529 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
531 2011-08-02 Yannick Moy <moy@adacore.com>
533 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
535 2011-08-02 Robert Dewar <dewar@adacore.com>
537 * impunit.adb: Add comment.
539 2011-08-02 Yannick Moy <moy@adacore.com>
541 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
542 qualification of aggregates in formal mode
543 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
545 (Resolve_Aggregate): complete the test that an aggregate is adequately
546 qualified in formal mode
548 2011-08-02 Pascal Obry <obry@adacore.com>
550 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
551 * mlib-prj.adb: Supress warning when compiling binder generated file.
552 (Build_Library): Supress all warnings when compiling the binder
555 2011-08-02 Yannick Moy <moy@adacore.com>
557 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
559 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
560 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
561 Add with/use clauses to make Check_Formal_Restriction visible
563 2011-08-02 Ed Schonberg <schonberg@adacore.com>
565 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
566 in-parameters when type of the generic formal is private in the generic
567 spec and non-private in the body.
569 2011-08-02 Claire Dross <dross@adacore.com>
571 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
572 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
573 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
574 * impunit.adb, Makefile.rtl: Take new files into account.
576 2011-08-02 Robert Dewar <dewar@adacore.com>
578 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
579 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
581 2011-08-02 Yannick Moy <moy@adacore.com>
583 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
585 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
586 matching static array bounds, taking into account the special case of
588 * sem_ch3.adb: Typo in comment.
590 2011-08-02 Yannick Moy <moy@adacore.com>
592 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
593 which issues an error in formal mode if its argument node is originally
595 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
596 has a discriminant specification so that it does not include the case
598 (Derived_Type_Declaration): move here the test that a derived type has a
599 discriminant specification
600 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
601 first element of a component association before accessing its choices
602 (presence of component association is not enough)
603 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
604 declaration is a library item before accessing the next element in a
605 list, as library items are not member of lists
606 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
607 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
608 Check_Formal_Restriction whenever possible.
610 2011-08-02 Ed Schonberg <schonberg@adacore.com>
612 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
613 reference when needed.
615 2011-08-02 Bob Duff <duff@adacore.com>
617 * gnat_ugn.texi: Fix typo.
619 2011-08-02 Vincent Celier <celier@adacore.com>
621 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
622 archive file name. Do not use the full path name of archives for Open
625 2011-08-02 Robert Dewar <dewar@adacore.com>
627 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
628 Analyze_Aspect_Specifications
630 (Analyze_Aspect_Specifications): New handling for boolean aspects
631 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
632 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
633 sequence for Analyze_Aspect_Specifications
634 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
635 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
637 2011-08-02 Robert Dewar <dewar@adacore.com>
639 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
640 aspects, since these no longer exist.
642 2011-08-02 Robert Dewar <dewar@adacore.com>
644 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
645 semicolon, do not try to see if there are aspects following it.
646 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
649 2011-08-02 Robert Dewar <dewar@adacore.com>
651 * sem_ch8.adb, aspects.ads: Minor reformatting.
653 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
655 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
656 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
658 (Analyze_Aspect_Specifications): ...here. Call above procedure.
660 2011-08-02 Yannick Moy <moy@adacore.com>
662 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
663 mode on subprogram declaration outside of package specification, unless
664 it is followed by a pragma Import
665 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
666 Access_Type_Declaration): issue error in formal mode on access type
667 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
669 (Analyze_Object_Declaration): issue error in formal mode on object
670 declaration which does not respect SPARK restrictions
671 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
672 declaration which does not respect SPARK restrictions
673 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
674 error in formal mode on digits or delta constraint
675 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
676 decimal fixed point type
677 (Derived_Type_Declaration): issue error in formal mode on derived type
678 other than type extensions of tagged record types
679 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
680 with check on access definition
681 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
682 mode on protected definition.
683 (Analyze_Task_Definition): issue error in formal mode on task definition
685 2011-08-02 Robert Dewar <dewar@adacore.com>
687 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
689 2011-08-02 Javier Miranda <miranda@adacore.com>
691 * sem_ch6.adb (Can_Override_Operator): New function.
692 (Verify_Overriding_Indicator): Add missing code to check overriding
693 indicator in operators. Fixes regression.
694 (Check_Overriding_Indicator): Minor reformating after replacing the
695 code that evaluates if the subprogram can override an operator by
696 invocations to the above new function.
698 (Write_Field26_Name): Add missing code to ensure that, following
699 the documentation in einfo.ads, this field is not shown as attribute
700 "Static_Initialization" on non-dispatching functions.
702 2011-08-02 Jose Ruiz <ruiz@adacore.com>
704 * sem_res.adb (Resolve_Call): A call to
705 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
706 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
707 i.e., when the second parameter is of type Time_Span.
709 2011-08-02 Vincent Celier <celier@adacore.com>
711 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
712 with an archive instead of -L<library dir> -l<library name>.
714 2011-08-02 Ed Schonberg <schonberg@adacore.com>
716 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
717 mark the base types In_Use in addition to making the operations
720 2011-08-02 Ed Falis <falis@adacore.com>
722 * init.c: add and setup __gnat_signal_mask for the exception signals
723 * s-inmaop-vxworks.adb: new file.
724 * s-intman-vxworks.adb: remove unnecessary initializations and
726 * s-intman-vxworks.ads: remove unnecessary variable
727 * s-taprop-vxworks.adb: simplify signal initialization
729 2011-08-02 Robert Dewar <dewar@adacore.com>
731 * sem_ch8.adb: Minor code reorganization, comment updates.
733 2011-08-02 Robert Dewar <dewar@adacore.com>
735 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
736 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
738 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
739 (Matching_Static_Array_Bounds): Moved here from Sem_Res
741 2011-08-02 Ed Schonberg <schonberg@adacore.com>
743 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
744 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
745 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
746 use_type_clauses, to handle more efficiently use_type and use_all_type
748 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
749 Ada2012 Use_All_Type clause.
750 (Use_Class_Wide_Operations): new procedure.
752 2011-08-02 Robert Dewar <dewar@adacore.com>
754 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
755 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
756 expression to expression function.
758 2011-08-02 Ed Schonberg <schonberg@adacore.com>
760 * sem_ch4.adb: transform simple Ada2012 membership into equality only
761 if types are compatible.
763 2011-08-02 Yannick Moy <moy@adacore.com>
765 * sem_res.adb (Matching_Static_Array_Bounds): new function which
766 returns True if its argument array types have same dimension and same
767 static bounds at each index.
768 (Resolve_Actuals): issue an error in formal mode on actuals passed as
769 OUT or IN OUT paramaters which are not view conversions in SPARK.
770 (Resolve_Arithmetic_Op): issue an error in formal mode on
771 multiplication or division with operands of fixed point types which are
772 not qualified or explicitly converted.
773 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
774 Boolean or array type (except String) operands.
775 (Resolve_Equality_Op): issue an error in formal mode on equality
776 operators for array types other than String with non-matching static
778 (Resolve_Logical_Op): issue an error in formal mode on logical operators
779 for array types with non-matching static bounds. Factorize the code in
780 Matching_Static_Array_Bounds.
781 (Resolve_Qualified_Expression): issue an error in formal mode on
782 qualified expressions for array types with non-matching static bounds.
783 (Resolve_Type_Conversion): issue an error in formal mode on type
784 conversion for array types with non-matching static bounds
786 2011-08-02 Robert Dewar <dewar@adacore.com>
788 * par-ch10.adb: Minor code reorganization (use Nkind_In).
790 2011-08-02 Ed Schonberg <schonberg@adacore.com>
792 * par-ch9.adb: save location of entry for proper error message.
794 2011-08-02 Javier Miranda <miranda@adacore.com>
796 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
797 (Use_Full_View) which permits this routine to climb through the
798 ancestors using the full-view of private parents.
799 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
800 Use_Full_View to true in calls to Is_Ancestor.
801 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
802 true in call to Is_Ancestor.
803 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
804 Use_Full_View to true in call to Is_Ancestor.
805 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
807 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
808 Use_Full_View to true in calls to Is_Ancestor.
809 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
810 Make_Select_Specific_Data_Table, Register_Primitive,
811 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
812 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
813 to true in call to Is_Ancestor.
814 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
815 Use_Full_View to true in calls to Is_Ancestor.
817 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
818 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
820 2011-08-02 Robert Dewar <dewar@adacore.com>
822 * gnat_rm.texi: Minor reformatting.
823 * sem_prag.adb: Minor reformatting.
825 2011-08-02 Tristan Gingold <gingold@adacore.com>
827 * vms_data.ads: Add VMS qualifier for -gnateP.
829 2011-08-02 Robert Dewar <dewar@adacore.com>
831 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
832 * par-ch7.adb (P_Package): Proper placement of aspects for package
834 * par-endh.adb (Check_End): Ad Is_Sloc parameter
835 (End_Statements): Add Is_Sloc parameterr
836 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
837 (Check_End): Ad Is_Sloc parameter
838 (End_Statements): Add Is_Sloc parameterr
840 2011-08-02 Vincent Celier <celier@adacore.com>
842 * ug_words: Add VMS qualifier equivalent to -gnateP:
843 /SYMBOL_PREPROCESSING.
845 2011-08-02 Jose Ruiz <ruiz@adacore.com>
847 * gnat-style.texi: For hexadecimal numeric literals the typical
848 grouping of digits is 4 to represent 2 bytes.
849 A procedure spec which is split into several lines is indented two
852 2011-08-02 Yannick Moy <moy@adacore.com>
854 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
855 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
856 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
858 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
859 choice in array aggregate
860 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
862 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
863 positional and named aggregate for record, or others in record
864 aggregate, or multiple choice in record aggregate
865 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
866 array operands to logical operations AND, OR and XOR do not have the
867 same static lower and higher bounds
868 * sem_ch5.adb, sinfo.ads: Correct typos in comments
870 2011-08-01 Robert Dewar <dewar@adacore.com>
872 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
873 Replaces Last_Source_Node_In_Sequence.
874 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
875 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
876 parens and blank in string (this was inconsistently implemented).
878 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
879 blank in string (this was inconsistently implemented).
881 (Set_Global_Switches): Set formal mode switches appropriately
882 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
884 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
885 call Set_Error_Msg_Lang to set "spark" as language name.
886 * par.adb: Remove unnecessary call to set formal language for errout
887 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
888 appropriately and call Set_Error_Msg_Lang to set "spark" as language
890 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
891 calls to it, moved after resolution so that types are known
892 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
893 result of concatenation is not of type String
894 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
895 concatenation is not properly restricted
896 * gnat_rm.texi: Add doc on pragma Spark_95.
897 * gcc-interface/Makefile.in: Remove obsolete target pairs for
898 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
899 * gcc-interface/Make-lang.in: Update dependencies.
901 2011-08-01 Javier Miranda <miranda@adacore.com>
903 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
904 condition that detects if the overridden operation must replace an
907 2011-08-01 Javier Miranda <miranda@adacore.com>
909 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
910 code declarations inserted by Insert_Actions in each alternative of the
911 N_Case_Expression node.
913 2011-08-01 Robert Dewar <dewar@adacore.com>
915 * sem_ch6.adb: Minor code reorganization.
916 * sem_util.adb: Minor reformatting.
918 2011-08-01 Pascal Obry <obry@adacore.com>
920 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
921 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
923 2011-08-01 Yannick Moy <moy@adacore.com>
925 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
926 literal or operator symbol which is prefixed
927 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
928 mode on access attributes.
929 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
930 that concatenation operands are properly restricted in formal mode
931 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
932 Analyze_Concatenation_Operand. Issue an error in formal mode if the
933 result of the concatenation has a type different from String.
934 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
935 Analyze_Quantified_Expression, Analyze_Slice,
936 Analyze_Null): issue an error in formal mode on unsupported constructs
938 (Analyze_Block_Statement): only issue error on source block statement
939 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
940 function which returns the last node in a list of nodes for which
941 Comes_From_Source returns True, if any
942 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
943 Last_Source_Node_In_Sequence
944 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
945 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
946 mode on unsupported constructs
947 * sem_ch9.adb Do not return after issuing error in formal mode, as the
948 rest of the actions may be needed later on since the error is marked as
950 * sinfo.ads: Typos in comments.
952 2011-08-01 Pascal Obry <obry@adacore.com>
954 * projects.texi: Minor editing.
956 2011-08-01 Yannick Moy <moy@adacore.com>
958 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
959 insertion character ~~
960 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
961 (Set_Error_Msg_Lang): new procedure which fixes the language for use
962 with insertion character ~~
963 (Set_Msg_Text): treat insertion character ~~
964 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
965 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
966 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
967 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
968 errors related to the formal language restriction not serious
969 (insertion character |).
970 * par.adb (Par): set formal language for error messages if needed
971 * sem_ch6.adb (Check_Missing_Return): take into account possible
972 generated statements at the end of the function
973 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
974 enumeration value to define a new pragma SPARK_95
975 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
976 SPARK_Version): new type and variables to store the SPARK version
978 (SPARK_Mode): return True when SPARK_Version is set
979 * par-prag.adb: Correct indentation
980 (Prag): take Pragma_SPARK_95 into account
981 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
984 2011-08-01 Robert Dewar <dewar@adacore.com>
986 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
987 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
988 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
990 2011-08-01 Pascal Obry <obry@adacore.com>
992 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
993 Target_Name to Get_Path call.
994 (Parse_Single_Project): Likewise.
995 (Post_Parse_Context_Clause): Likewise.
996 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
997 Call Initialise_Project_Path with the proper Target_Name.
998 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
1000 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
1001 with the proper Target_Name.
1002 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
1004 (Parse_Project_And_Apply_Config): Likewise.
1005 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
1006 This is fine as this part of the code is supporting only native
1008 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
1009 is fine as this part of the code is supporting only native compilation.
1011 2011-08-01 Yannick Moy <moy@adacore.com>
1013 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
1014 of homonym, unless the homonym is one of the cases allowed in SPARK
1015 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
1016 package declaration occurring after a body.
1018 2011-08-01 Robert Dewar <dewar@adacore.com>
1020 * checks.adb, exp_ch4.adb: Minor reformatting.
1022 2011-08-01 Javier Miranda <miranda@adacore.com>
1024 * einfo.ads (Access_Disp_Table): Fix documentation.
1025 (Dispatch_Table_Wrappers): Fix documentation.
1027 2011-08-01 Pascal Obry <obry@adacore.com>
1029 * prj-env.adb, prj-env.ads: Minor reformatting.
1031 2011-08-01 Yannick Moy <moy@adacore.com>
1033 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
1034 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
1035 procedures out of these packages.
1036 * errout.ads, errout.adb
1037 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
1038 procedures in of this package
1039 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
1040 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
1041 on misplaced later vs initial declarations, like in Ada 83
1042 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
1043 formal mode on attribute of private type whose full type declaration
1045 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
1046 package declaration inside a package specification
1047 (Analyze_Full_Type_Declaration): issue error in formal mode on
1048 controlled type or discriminant type
1049 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
1050 user-defined operator means that it should come from the source
1051 (New_Overloaded_Entity): issue error in formal mode on overloaded
1053 * sem_ch6.ads, sem_ch13.ads: typos in comments.
1055 2011-08-01 Thomas Quinot <quinot@adacore.com>
1057 * atree.adb: Minor reformatting.
1058 * checks.adb: Minor reformatting.
1060 2011-08-01 Vincent Celier <celier@adacore.com>
1062 * s-parame-vms-ia64.ads: Fix typo in comment
1064 * s-parame-vms-restrict.ads: Removed, unused.
1066 2011-08-01 Javier Miranda <miranda@adacore.com>
1069 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
1071 (Constrain_Index): Remove side effects in the evaluation of the bounds.
1072 * sem_ch3.ads, sem_ch3.adb
1073 (Is_Constant_Bound): New extended version of the subprogram that was
1074 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
1075 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
1076 * sem_aux.ads (Constant_Value): Fix typo in comment.
1077 * checks.adb (Generate_Index_Checks): New implementation which, for
1078 array objects with constant bounds, generates the runtime check
1079 referencing the bounds of the array type. For other cases this routine
1080 provides its previous behavior obtaining such values from the array
1082 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
1084 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
1085 we cannot have semantic interpretations of the new node.
1087 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1089 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
1092 2011-08-01 Arnaud Charlet <charlet@adacore.com>
1094 * sem_ch8.adb: Minor code editing.
1095 * s-vxwext.adb: Remove trailing space.
1096 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
1097 consistency with other files.
1099 2011-08-01 Thomas Quinot <quinot@adacore.com>
1101 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
1103 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1105 * par-ch10.adb: reject parameterized expressions as compilation unit.
1106 * sem_ch4.adb: handle properly conditional expression with overloaded
1107 then_clause and no else_clause.
1109 2011-08-01 Tristan Gingold <gingold@adacore.com>
1111 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
1112 like done by System.Aux_DEC.
1113 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
1115 2011-08-01 Yannick Moy <moy@adacore.com>
1117 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
1118 missing label at end of declaration (subprogram or package)
1119 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
1120 of positional and named parameter association
1121 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
1122 Error_Msg_SP which adds a prefix to the error message giving the name
1123 of the formal language analyzed
1124 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
1125 access result type in subprogram, unconstrained array as result type,.
1126 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
1128 * sem_ch8.adb: Code clean up.
1130 2011-08-01 Javier Miranda <miranda@adacore.com>
1132 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
1133 * einfo.ads (Access_Disp_Table): Fix documentation.
1134 (Dispatch_Table_Wrappers): Fix documentation.
1135 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
1136 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
1137 to enforce the documentation of this attribute.
1138 (Set_Is_Interface): Cleanup the assertion.
1139 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
1140 the Underlying_Type entity before reading attribute Access_Disp_Table.
1141 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
1142 Locate the Underlying_Type before reading attribute Access_Disp_Table.
1143 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
1144 the Underlying_Type entity before reading attribute Access_Disp_Table.
1145 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
1146 Locate the Underlying_Type entity before reading attribute
1149 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1151 * s-poosiz.ads: Additional overriding indicators.
1153 2011-08-01 Yannick Moy <moy@adacore.com>
1155 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
1157 (Analyze_Iteration_Scheme): issue error in formal mode when loop
1158 parameter specification does not include a subtype mark.
1159 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
1160 formal mode on abstract subprogram.
1161 (Analyze_Subprogram_Specification): issue error in formal mode on
1162 user-defined operator.
1163 (Process_Formals): issue error in formal mode on access parameter and
1165 * sem_ch9.adb (Analyze_Abort_Statement,
1166 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
1167 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
1168 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
1169 Analyze_Requeue, Analyze_Selective_Accept,
1170 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
1171 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
1172 issue error in formal mode on user-defined raise statement.
1174 2011-08-01 Thomas Quinot <quinot@adacore.com>
1176 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
1177 declaration being hidden when overriding an implicit inherited
1179 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
1180 (-gnats), do not complain about a source file that contains only a
1183 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1185 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
1186 variable if already set.
1188 2011-08-01 Arnaud Charlet <charlet@adacore.com>
1190 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
1191 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
1192 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
1193 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
1194 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
1195 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
1196 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
1197 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
1198 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
1199 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
1200 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
1201 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
1202 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
1203 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
1204 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
1205 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
1206 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
1207 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
1208 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
1209 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
1210 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
1211 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
1212 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
1213 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
1214 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
1215 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
1216 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
1217 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
1218 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
1219 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
1220 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
1221 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
1222 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
1223 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
1224 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
1225 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
1226 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
1227 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
1228 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
1229 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
1230 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
1231 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
1232 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
1233 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
1234 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
1235 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
1236 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
1237 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
1238 s-osinte-mingw.ads: Update to GPLv3 run-time license.
1239 Use GNAT instead of GNARL.
1241 2011-08-01 Bob Duff <duff@adacore.com>
1243 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
1244 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
1245 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
1248 2011-08-01 Yannick Moy <moy@adacore.com>
1250 * debug.adb (d.D) reverve flag for the SPARK mode
1251 (d.E) reverve flag for SPARK generation mode
1252 (d.F) reverve flag for Why generation mode
1253 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
1254 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
1255 functions which return True when the corresponding modes are set
1256 (Formal_Language): return "spark" or "alfa" when in formal verification
1258 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
1259 Error_Msg to prefix the error message with a tag giving the formal
1261 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
1262 message with a tag giving the formal language
1263 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
1265 (Analyze_Case_Statement): issue error in formal mode on case statement
1266 with a single "others" case alternative
1267 (Analyze_Exit_Statement): issue errors in formal mode on exit
1268 statements which do not respect SPARK restrictions
1269 (Analyze_Goto_Statement): issue error in formal mode on goto statement
1270 (Check_Unreachable_Code): always issue an error (not a warning) in
1271 formal mode on unreachable code (concerns both code after an infinite
1272 loop and after an unconditional jump, both not allowed in SPARK)
1273 * sem_ch6.adb (Analyze_Return_Statement): add call to
1274 Set_Return_Present for a procedure containing a return statement
1275 (already done for functions in Analyze_Function_Return)
1276 (Analyze_Function_Return): issue error in formal mode on extended
1277 return or if return is not last statement in function
1278 (Check_Missing_Return): issue error in formal mode if function does
1279 not end with return or if procedure contains a return
1280 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
1281 function to detect if there is an inner scope of its parameter S which
1284 2011-08-01 Thomas Quinot <quinot@adacore.com>
1286 * sem_ch6.ads: Minor reformatting.
1288 2011-08-01 Javier Miranda <miranda@adacore.com>
1290 * sem_util.adb (Abstract_Interface_List): Complete condition when
1291 processing private type declarations to avoid reading unavailable
1293 (Is_Synchronized_Tagged_Type): Complete condition when processing
1294 private extension declaration nodes to avoid reading unavailable
1297 2011-08-01 Thomas Quinot <quinot@adacore.com>
1299 * sem_ch3.adb: Minor reformatting.
1301 2011-08-01 Thomas Quinot <quinot@adacore.com>
1303 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
1304 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
1305 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
1306 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
1307 for VMS, instead parametrize the common implementation with
1308 System.Parameters declarations.
1310 2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
1312 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
1314 2011-08-01 Tristan Gingold <gingold@adacore.com>
1316 * seh_init.c: Fix SEH handler installation on win64.
1318 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1320 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
1321 double analysis of an anonymous access to subprogram, because it can
1322 lead to improper sharing of profiles and a back-end crash.
1324 2011-08-01 Robert Dewar <dewar@adacore.com>
1326 * make.adb, sem_ch4.adb: Minor reformatting.
1327 * gcc-interface/Make-lang.in: Update dependencies.
1328 * sem_util.adb, exp_ch5.adb: Minor reformatting.
1330 2011-08-01 Arnaud Charlet <charlet@adacore.com>
1332 * gnat_rm.texi: Fix definition of Long_Integer.
1334 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1336 * exp_aggr.adb: check limit size of static aggregate unconditionally,
1337 to prevent storage exhaustion.
1338 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
1339 finalized is a function body, insert the cleanup code before the final
1340 return statement, to prevent spurious warnings.
1341 * s-pooglo.ads: add overriding indicator.
1343 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1345 * sem_ch4.adb (Operator_Check): improve error message when both a
1346 with_clause and a use_clause are needed to make operator usage legal.
1347 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
1348 determine whether a compilation unit is visible within an other,
1349 either through a with_clause in the current unit, or a with_clause in
1350 its library unit or one one of its parents.
1352 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1354 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
1355 over an arbitrary expression of an array or container type.
1356 * lib-xref.adb: clarify comment.
1358 2011-08-01 Bob Duff <duff@adacore.com>
1360 * einfo.ads: Minor reformatting.
1361 * debug.adb: Minor comment improvement.
1363 2011-08-01 Javier Miranda <miranda@adacore.com>
1365 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
1366 consider hidden subprograms as valid candidates.
1368 2011-08-01 Arnaud Charlet <charlet@adacore.com>
1370 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
1372 2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
1374 * gnat_ugn.texi: Fix typo.
1376 2011-08-01 Robert Dewar <dewar@adacore.com>
1378 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
1379 lib-xref.adb: Minor reformatting
1381 2011-08-01 Gary Dismukes <dismukes@adacore.com>
1383 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
1384 when to generate a call to Move_Final_List.
1385 (Has_Controlled_Parts): Remove this function.
1387 2011-08-01 Geert Bosch <bosch@adacore.com>
1389 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
1392 2011-08-01 Thomas Quinot <quinot@adacore.com>
1394 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
1395 explicit raise of a predefined exception as Comes_From_Source if the
1396 original N_Raise_Statement comes from source.
1398 2011-08-01 Robert Dewar <dewar@adacore.com>
1400 * sinfo.ads: Add comment.
1401 * sem_ch6.adb: Minor reformatting.
1403 2011-08-01 Robert Dewar <dewar@adacore.com>
1405 * freeze.adb (Freeze_Entity): Refine check for bad component size
1406 clause to avoid rejecting confirming clause when atomic/aliased present.
1408 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1410 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
1411 better determine whether an entity reference is a write.
1412 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
1414 * lib-xref.adb (Output_References): Do no suppress a read reference at
1415 the same location as an immediately preceeding modify-reference, to
1416 handle properly in-out actuals.
1418 2011-08-01 Tristan Gingold <gingold@adacore.com>
1420 * env.c (__gnat_setenv) [VMS]: Refine previous change.
1422 2011-08-01 Quentin Ochem <ochem@adacore.com>
1424 * i-cstrin.adb (New_String): Changed implementation, now uses only the
1425 heap to compute the result.
1427 2011-08-01 Robert Dewar <dewar@adacore.com>
1429 * atree.ads: Minor reformatting.
1431 2011-08-01 Emmanuel Briot <briot@adacore.com>
1433 * g-expect.adb (Get_Command_Output): Fix memory leak.
1435 2011-08-01 Geert Bosch <bosch@adacore.com>
1437 * cstand.adb (P_Float_Type): New procedure to print the definition of
1438 predefined fpt types.
1439 (P_Mixed_Name): New procedure to print a name using mixed case
1440 (Print_Standard): Use P_Float_Type for printing floating point types
1441 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
1442 precision IEEE float.
1444 2011-08-01 Thomas Quinot <quinot@adacore.com>
1446 * sem_ch3.adb: Minor reformatting.
1448 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1450 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
1451 the completion of a generic function, insert the new body rather than
1452 rewriting the original.
1454 2011-08-01 Yannick Moy <moy@adacore.com>
1456 * sinfo.ads, errout.ads: Typos in comments.
1458 2011-08-01 Robert Dewar <dewar@adacore.com>
1460 * par-endh.adb: Minor reformatting.
1462 2011-08-01 Robert Dewar <dewar@adacore.com>
1464 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
1465 (Pre_Post_Aspects): New subtype.
1466 * par-ch12.adb (P_Generic): New syntax for aspects in packages
1467 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
1468 * par-ch7.adb (P_Package): Remove Decl parameter
1469 (P_Package): Handle new syntax for aspects (before IS)
1470 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
1472 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
1473 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
1474 (P_Package): Remove Decl parameter
1475 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
1477 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
1479 * sem_util.ads, sem_util.adb (Static_Boolean): New function
1480 * sinfo.ads: Document new syntax for aspects in packages etc.
1481 * sprint.adb: Handle new syntax of aspects before IS in package
1483 2011-08-01 Thomas Quinot <quinot@adacore.com>
1485 * atree.ads: Minor reformatting.
1486 * sem_prag.adb: Minor reformatting.
1488 2011-08-01 Robert Dewar <dewar@adacore.com>
1490 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
1491 case expr alternative.
1493 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1495 * sem_ch12.adb: Fix typo.
1497 2011-08-01 Geert Bosch <bosch@adacore.com>
1499 * sem_prag.adb (Check_No_Link_Name): New procedure.
1500 (Process_Import_Or_Interface): Use Check_No_Link_Name.
1501 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
1502 instead of Standard_Long_Long_Float_Size global. Preparation for
1503 eventual removal of per type constants.
1504 * exp_util.ads (Get_Stream_Size): New function returning the stream
1505 size value of subtype E.
1506 * exp_util.adb (Get_Stream_Size): Implement new function.
1507 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
1509 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
1511 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
1513 2011-08-01 Geert Bosch <bosch@adacore.com>
1515 * cstand.adb: Fix comments.
1516 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
1519 2011-08-01 Robert Dewar <dewar@adacore.com>
1521 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
1523 2011-08-01 Geert Bosch <bosch@adacore.com>
1525 * atree.ads: Fix comment.
1527 2011-08-01 Robert Dewar <dewar@adacore.com>
1529 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
1530 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
1531 * par.adb: Add with for Namet.Sp.
1532 * par-tchk.adb: Minor reformatting.
1534 2011-08-01 Vincent Celier <celier@adacore.com>
1536 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
1537 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
1538 of the init procedure of a SAL.
1539 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
1542 2011-08-01 Thomas Quinot <quinot@adacore.com>
1544 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
1547 2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1549 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
1551 2011-08-01 Thomas Quinot <quinot@adacore.com>
1553 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
1554 conformant with its spec (return True only for types that have
1555 an overriding Initialize primitive operation that prevents them from
1556 having preelaborable initialization).
1557 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
1558 initialization for controlled types in Ada 2005 or later mode.
1560 2011-08-01 Robert Dewar <dewar@adacore.com>
1562 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
1564 (Same_Aspect): New function.
1565 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
1566 Type_Invariant, Precondition, Postcondition.
1567 * snames.ads-tmpl: Add Name_Type_Invariant.
1569 2011-08-01 Robert Dewar <dewar@adacore.com>
1571 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
1573 (Freeze_All_Ent): Fix error in handling inherited aspects.
1574 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
1575 already analyzed, but don't skip entire processing of a declaration,
1576 that's wrong in some cases of declarations being rewritten.
1577 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
1578 Don't delay for integer, string literals
1579 Treat predicates in usual manner for delay, remove special case code,
1581 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
1582 (Build_Predicate_Function): Update saved expression in aspect
1583 (Build_Invariant_Procedure): Update saved expression in aspect
1584 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
1585 of replacement of discriminant references if the reference is simple.
1587 2011-08-01 Robert Dewar <dewar@adacore.com>
1589 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
1590 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
1591 Static_Predicate and Dynamic_Predicate.
1592 (Build_Predicate_Function): Add processing for Static_Predicate
1593 and Dynamic_Predicate.
1594 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
1595 (From_Static_Predicate): New flag
1596 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
1598 2011-08-01 Robert Dewar <dewar@adacore.com>
1600 * usage.adb: Documentation cleanup for Ada version modes in usage.
1601 * expander.adb: Minor reformatting.
1603 2011-08-01 Robert Dewar <dewar@adacore.com>
1605 * atree.ads: Minor comment fix.
1606 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
1607 a-witeio.ads, sem_prag.adb: Minor reformatting.
1609 2011-08-01 Doug Rupp <rupp@adacore.com>
1611 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
1612 pointers. Use descrip.h header file for convenience. Add some
1615 2011-08-01 Robert Dewar <dewar@adacore.com>
1617 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
1618 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
1619 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
1621 (Check_Aspect_At_End_Of_Declarations): New procedure
1622 (Analye_Aspect_Specification): Minor changes for above procedures
1623 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
1624 specification node as well.
1626 2011-08-01 Pascal Obry <obry@adacore.com>
1628 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
1629 Windows files. Use GetFilesAttributes() in this case to check for file
1630 existence instead of returning with an error code.
1632 2011-08-01 Vincent Celier <celier@adacore.com>
1634 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
1635 High is above Source length.
1637 2011-08-01 Robert Dewar <dewar@adacore.com>
1639 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
1641 2011-08-01 Robert Dewar <dewar@adacore.com>
1643 * aspects.ads (Boolean_Aspects): New subtype.
1644 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
1645 for derived types in cases where the parent type and derived type have
1647 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
1648 with aspects when parent type also has aspects.
1649 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
1650 boolean expression at this point).
1651 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
1652 accordance with final decision on the Ada 2012 feature.
1653 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
1655 2011-08-01 Matthew Heaney <heaney@adacore.com>
1657 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
1659 2011-08-01 Pascal Obry <obry@adacore.com>
1661 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
1662 Fix Replace_Slice when High is above current string size.
1663 (Replace_Slice): Fix DL computation when High is above current
1666 2011-08-01 Gary Dismukes <dismukes@adacore.com>
1668 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
1670 2011-08-01 Matthew Heaney <heaney@adacore.com>
1672 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
1675 2011-08-01 Pascal Obry <obry@adacore.com>
1677 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
1680 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1682 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
1683 access to protected subprograms in generic bodies.
1684 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
1685 protected type, indicate that the convention of the subprogram is
1686 Convention_Protected, because it may be used in subsequent declarations
1687 within the protected declaration.
1689 2011-08-01 Vincent Celier <celier@adacore.com>
1691 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
1692 and "final" procedures when the name of the library is "ada", to avoid
1693 duplicate symbols "adainit" and "adafinal" in executables.
1695 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1697 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
1698 quantified expression that appears within a postcondition and uses the
1699 Ada2012 'Result attribute.
1701 2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1703 * init.c (__gnat_error_handler): Cast reason to int.
1704 (__gnat_install_handler): Explain sa_sigaction use.
1706 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1708 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
1709 subprogram has copy-in copy-out parameters, try to promote the mode of
1710 the return type if it is passed in registers.
1712 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1714 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
1715 left operand as addressable.
1717 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1719 * gcc-interface/gigi.h (build_function_stub): Remove.
1720 (build_return_expr): Likewise.
1721 (convert_vms_descriptor): Declare.
1722 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
1723 (build_function_stub): Move to...
1724 * gcc-interface/utils2.c (build_return_expr): Move to...
1725 * gcc-interface/trans.c (build_function_stub): ...here.
1726 (build_return_expr): ...here.
1727 (Subprogram_Body_to_gnu): Add local variable for language_function.
1728 Disconnect the parameter attributes cache, if any, once done with it.
1729 Call end_subprog_body only after setting the end_locus.
1730 Build the stub associated with the function, if any, at the very end.
1731 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
1732 variables and streamline control flow.
1734 2011-07-23 Arnaud Charlet <charlet@adacore.com>
1737 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
1740 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1743 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
1744 Assign to act.sa_sigaction.
1745 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
1746 current->return_address to char * before arithmetic.
1748 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1750 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
1751 Correct argument types.
1752 Extract code from reason.
1753 (__gnat_install_handler): Assign to act.sa_sigaction.
1755 2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
1757 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
1758 (GNAT1_OBJS): ...here.
1760 2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
1763 * g-socthi-mingw.adb (Fill): Fix formatting.
1765 * gcc-interface/gigi.h: Move around comment.
1767 2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1770 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
1772 2011-07-14 Florian Weimer <fw@deneb.enyo.de>
1775 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
1777 2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
1779 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
1780 range comparison if Pmode is SImode.
1782 2011-07-12 Laurent GUERBY <laurent@guerby.net>
1783 Eric Botcazou <ebotcazou@adacore.com>
1785 * adadecode.c: Wrap up in extern "C" block.
1786 * adadecode.h: Likewise.
1787 * adaint.c: Likewise. Remove 'const' keyword.
1788 * adaint.h: Likewise.
1790 * atree.h: Likewise.
1792 * cstreams.c: Likewise.
1796 * final.c: Likewise.
1798 * initialize.c: Likewise.
1800 * namet.h: Likewise.
1801 * nlists.h: Likewise.
1802 * raise.c: Likewise.
1803 * raise.h: Likewise.
1804 * repinfo.h: Likewise.
1805 * seh_init.c: Likewise.
1806 * targext.c: Likewise.
1807 * tracebak.c: Likewise.
1808 * uintp.h: Likewise.
1809 * urealp.h: Likewise.
1810 * xeinfo.adb: Wrap up generated C code in extern "C" block.
1811 * xsinfo.adb: Likewise.
1812 * xsnamest.adb: Likewise.
1813 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
1814 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
1815 * gcc-interface/misc.c: Likewise.
1816 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
1817 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
1818 ada/targext.o here...
1819 (GNAT_ADA_OBJS): ...and not here.
1820 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
1821 (GNATBIND_OBJS): Reorder.
1823 2011-07-07 Richard Henderson <rth@redhat.com>
1825 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1826 dwarf2out_frame_init.
1828 2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
1830 * gcc-interface/misc.c (gnat_init): Tweak previous change.
1832 2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1835 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
1837 2011-07-06 Richard Guenther <rguenther@suse.de>
1839 * gcc-interface/misc.c (gnat_init): Merge calls to
1840 build_common_tree_nodes and build_common_tree_nodes_2.
1841 Re-initialize boolean_false_node.
1843 2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
1844 Olivier Hainque <hainque@adacore.com>
1845 Nicolas Setton <setton@adacore.com>
1847 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
1848 the type according to the ARTIFICIAL_P parameter.
1849 (create_type_decl): Likewise.
1850 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
1852 2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
1854 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
1855 (gnatbind): Likewise.
1857 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1859 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
1861 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
1863 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
1864 local variable throughout. Remove useless call to Base_Type.
1865 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
1866 Take it also into account for the volatileness of the field. Set the
1867 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
1869 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
1871 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
1872 on a dereference built for a by-ref object if it has an address clause.
1874 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
1876 * einfo.ads (Address_Taken): Document use for the second argument of
1877 Asm_Input and Asm_Output attributes.
1878 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
1879 argument is an entity name, then set Address_Taken on it.
1880 <Attribute_Asm_Output>: Likewise.
1881 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
1882 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
1883 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
1884 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
1886 2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
1889 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
1891 2011-06-14 Joseph Myers <joseph@codesourcery.com>
1893 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
1894 (ada/utils.o): Update dependencies.
1895 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
1896 ../../../libcpp/libcpp.a.
1897 * gcc-interface/utils.c: Include common/common-target.h.
1898 (process_attributes): Use targetm_common.have_named_sections.
1900 2011-06-07 Richard Guenther <rguenther@suse.de>
1902 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
1905 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1907 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
1908 TREE_THIS_NOTRAP flag.
1910 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1912 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
1915 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1917 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
1918 constants whose full view has discriminants specially.
1920 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1922 * gcc-interface/utils.c: Include diagnostic.h.
1923 (gnat_write_global_declarations): Output debug information for all
1924 global type declarations before finalizing the compilation unit.
1925 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
1927 2011-05-25 Jakub Jelinek <jakub@redhat.com>
1929 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
1931 2011-05-25 Kai Tietz <ktietz@redhat.com>
1933 * adaint.c (__gnat_to_canonical_file_list_next): Use array
1934 initialization instead of const/none-const pointer assignment.
1936 2011-05-24 Joseph Myers <joseph@codesourcery.com>
1938 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
1939 $(EXTRA_GNAT1_OBJS).
1940 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
1941 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
1942 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
1943 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
1944 libcommon-target.a instead of prefix.o.
1946 2011-05-21 Joseph Myers <joseph@codesourcery.com>
1949 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
1951 2011-05-20 Joseph Myers <joseph@codesourcery.com>
1953 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
1954 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
1955 instead of version.o.
1957 2011-05-18 Kai Tietz <ktietz@redhat.com>
1959 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
1960 boolean_false_node instead of integer_zero_node.
1961 (convert_with_check): Likewise.
1962 * gcc-interface/decl.c (choices_to_gnu): Likewise.
1964 2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
1966 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
1967 type of the parameter is an unconstrained array, convert the actual to
1968 the type of the formal in the In Out and Out cases as well.
1970 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
1972 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
1973 call build_function_type_array or build_varargs_function_type_array
1975 (create_subprog_type): Don't call build_function_type; call
1976 build_function_type_vec instead.
1978 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
1980 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
1981 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
1982 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
1984 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
1986 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
1988 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
1989 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
1991 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1993 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
1995 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1997 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
1998 instead of accessing TYPE_ARG_TYPES directly.
1999 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
2001 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
2004 * gcc-interface/gigi.h (get_variant_part): Declare.
2005 * gcc-interface/decl.c (get_variant_part): Make global.
2006 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
2007 types have the same constant size, are record types and T1 has a
2008 variant part while T2 doesn't.
2010 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
2012 * gcc-interface/utils.c (begin_subprog_body): Do not call
2014 (end_subprog_body): Likewise.
2016 2011-05-04 Richard Guenther <rguenther@suse.de>
2018 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
2020 (pos_to_constructor): Likewise.
2022 2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2023 Eric Botcazou <ebotcazou@adacore.com>
2025 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
2026 of build_function_type. Adjust calls to...
2027 (build_raise_check): ...this. Do not take a void_tree parameter.
2028 Call build_function_type_list instead of build_function_type.
2029 Fix head comment and swap couple of conditional blocks.
2031 2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
2033 * gnatvsn.ads (Library_Version): Bump to 4.7.
2034 (Current_Year): Bump to 2011.
2036 2011-04-29 Michael Matz <matz@suse.de>
2038 * gcc-interface/misc.c (gnat_handle_option): Set
2039 warn_maybe_uninitialized.
2041 2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
2043 * gnat_ugn.texi (Complexity Metrics Control): Update link to
2044 the Watson/McCabe paper.
2046 2011-04-23 Jim Meyering <meyering@redhat.com>
2048 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
2050 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
2052 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
2055 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
2057 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
2059 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
2060 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
2061 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
2062 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
2063 <all>: Do not set flags on the reused DECL node coming from an alias.
2064 Set DECL_IGNORED_P on the DECL node built for subprograms if they
2065 don't need debug info here...
2066 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
2067 (gigi): Adjust calls to create_subprog_decl.
2068 (build_raise_check): Likewise.
2069 (establish_gnat_vms_condition_handler): Likewise.
2070 (Compilation_Unit_to_gnu): Likewise.
2071 (gnat_to_gnu): Likewise.
2073 2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
2075 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
2076 (NO_REORDER_ADAFLAGS): New variable.
2077 (EXTRA_GNATTOOLS): Always define.
2078 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
2079 Clean up and adjust list of files compiled with special options.
2080 * gcc-interface/Make-lang.in: Likewise.
2081 (ada/decl.o): Cosmetical change.
2082 (ada/misc.o): Remove dependency on $(PLUGIN_H).
2084 2011-04-20 Jim Meyering <meyering@redhat.com>
2086 * initialize.c (__gnat_initialize): Remove useless if-before-free.
2088 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
2090 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
2091 $(CFLAGS) on the link line.
2093 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
2095 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
2096 padded type built for the return type if it is unconstrained.
2098 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
2100 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
2102 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2104 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
2105 before calling TREE_CHAIN.
2106 * gcc-interface/misc.c (gnat_init_ts): New function.
2107 (LANG_HOOKS_INIT_TS): Define.
2109 2011-04-12 Martin Jambor <mjambor@suse.cz>
2111 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
2112 instead of cgraph_node.
2114 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2116 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
2117 alignment on fields of the RETURN type built for the Copy-In Copy-Out
2120 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2122 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
2123 of aggregate types that contain a placeholder.
2125 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2127 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
2129 (handle_type_generic_attribute): Likewise.
2131 2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
2134 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
2136 2011-04-04 Kai Tietz <ktietz@redhat.com>
2139 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
2142 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2144 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
2145 type case, do not strip a padding type around the array type.
2147 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2149 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
2152 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2154 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
2155 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
2156 code for -feliminate-unused-debug-types.
2157 (gnat_post_options): Likewise.
2159 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2161 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
2162 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
2165 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2167 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
2168 DECL_ARTIFICIAL flag on enumeration types.
2170 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2172 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
2173 fat pointer types artificial unconditionally.
2174 <E_Array_Subtype>: Attach the base array type as a parallel type if it
2177 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2179 * gcc-interface/gigi.h (get_dummy_type): Declare.
2180 (build_dummy_unc_pointer_types): Likewise.
2181 (finish_fat_pointer_type): Likewise.
2182 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
2183 fat pointer type has been built, complete it in place.
2184 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
2185 and thin pointers. Remove useless variable.
2186 (finish_fat_pointer_type): Make global and move to...
2187 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
2188 (get_dummy_type): New function.
2189 (build_dummy_unc_pointer_types): Likewise.
2190 (gnat_pushdecl): Propage the name to the anonymous variants only.
2191 (update_pointer_to): Only adjust the pointer types in the unconstrained
2194 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2196 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
2197 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
2198 if this is a Taft amendment type and the full declaration is available.
2199 * gcc-interface/trans.c (process_type): Likewise.
2200 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
2201 (process_freeze_entity): Likewise.
2202 * gcc-interface/utils.c (dummy_global): New static variable.
2203 (gnat_write_global_declarations): If there are types declared as used
2204 at the global level, insert them in the global hash table.
2206 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2208 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
2209 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
2210 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
2212 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
2213 flag of the type accordingly.
2214 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
2216 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2218 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
2219 finalizing types when updating the pointers to the designated type.
2220 <all>: Finalize the deferred types even if we didn't defer processing
2221 of incomplete types in this invocation.
2223 2011-04-01 Olivier Hainque <hainque@adacore.com>
2224 Nicolas Setton <setton@adacore.com>
2225 Eric Botcazou <ebotcazou@adacore.com>
2227 * gcc-interface/misc.c (gnat_descriptive_type): New function.
2228 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
2230 2011-03-28 Kai Tietz <ktietz@redhat.com>
2232 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
2234 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
2235 * system-mingw.ads (System): Change ZCX_By_Default default to True.
2237 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2239 2011-03-28 Tristan Gingold <gingold@adacore.com>
2242 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
2243 Use ada output of gnatbind.
2244 (ada/b_gnatb.adb): Ditto.
2245 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
2246 (ada.mostlyclean, ada.stage1)
2247 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
2248 (ada.stagefeedback): Adjust.
2249 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
2250 Use ada output of gnatbind.
2251 (b_gnatm.adb): Ditto.
2252 (b_gnatl.o, b_gnatm.o): New rules.
2254 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2256 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
2257 for the padded type built to support a specified size or alignment.
2259 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2261 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
2262 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
2263 unconditionally to the end of the unit when the designated type is
2265 <all>: Rename local variable. Attempt to un-defer types only and do it
2266 for limited_with'ed types as well.
2267 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
2268 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
2269 consistently and remove redundant call to finalize_from_with_types.
2271 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2273 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
2274 subprograms without a previous spec declared in the same unit.
2275 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
2276 subprograms at the end of the unit instead of at the beginning.
2277 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
2278 isn't public for the special handling of non-inline functions nested
2279 inside inline external functions.
2281 2011-03-25 Jeff Law <law@redhat.com>
2283 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
2285 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2287 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
2288 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
2289 to compute Set_Size_Depends_On_Discriminant.
2290 (Layout_Type): Call it on array types in back-end layout mode.
2291 * sem_util.adb (Requires_Transient_Scope): Return true for array
2292 types only if the size depends on the value of discriminants.
2293 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
2294 type if the RHS is a call to a function that returns an unconstrained
2295 type with default discriminant.
2297 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2299 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
2300 non-conversion to the nominal result type at the end.
2302 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2304 * gcc-interface/trans.c (create_temporary): New function taken from...
2305 (create_init_temporary): ...here. Call it.
2306 (call_to_gnu): Create the temporary for the return value early, if any.
2307 Create it for a function with copy-in/copy-out parameters if there is
2308 no target; in other cases of copy-in/copy-out, use another temporary.
2309 Push the new binding level lazily. Add and rename local variables.
2311 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2313 * gcc-interface/decl.c (validate_size): Improve comments and tweak
2315 (set_rm_size): Likewise.
2317 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2319 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
2320 for the padded type built in order to support a specified alignment.
2321 Fix incorrect formatting.
2323 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2326 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
2328 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2330 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
2331 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
2332 to the end of the list. Adjust recursive call. Rename local variable.
2333 If REORDER is true, reorder components of the record type.
2334 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
2335 components_to_record and adjust the parameter list.
2337 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2339 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
2340 disabled, use the variable for bounds of loop iteration scheme.
2342 2011-03-21 Kai Tietz <ktietz@redhat.com>
2345 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
2347 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
2349 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
2350 out whether the expression is read-only. Short-circuit placeholder
2351 case and rename a couple of local variables.
2353 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
2355 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
2356 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
2357 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
2358 (convert): Deal with conversions from a smaller form type specially.
2360 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
2362 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
2363 its argument, except for the special -I- switch.
2365 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
2367 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
2370 2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
2372 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
2374 2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
2376 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
2378 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
2379 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
2380 instead of GNAT_FORMAL. Protect the expression against multiple uses.
2381 Do not generate the check directly, instead instantiate the template
2382 check present in the descriptor.
2383 (make_descriptor_field): Move around.
2384 (build_vms_descriptor32): Build a template check in the POINTER field.
2385 (build_vms_descriptor): Remove useless suffixes.
2386 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
2388 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
2391 * targext.c: Include target files if IN_RTS is defined.
2393 2011-01-26 Richard Guenther <rguenther@suse.de>
2396 * targext.c: Include config.h.
2397 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
2400 2011-01-04 Pascal Obry <obry@adacore.com>
2401 Eric Botcazou <ebotcazou@adacore.com>
2403 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
2405 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2407 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
2408 end-of-case on the end label and its associated gotos, if any.
2410 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2412 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
2413 expressions of the parameter cache within the statement group of
2416 2011-01-04 Olivier Hainque <hainque@adacore.com>
2417 Eric Botcazou <ebotcazou@adacore.com>
2419 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
2420 (set_end_locus_from_node): New function.
2421 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
2422 make and the function end_locus.
2423 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
2424 for the elaboration subprogram.
2425 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
2426 set the end_locus of the expression as well.
2428 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2431 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
2432 variables that are referenced in exception handlers volatile.
2436 Copyright (C) 2011 Free Software Foundation, Inc.
2438 Copying and distribution of this file, with or without modification,
2439 are permitted in any medium without royalty provided the copyright
2440 notice and this notice are preserved.