1 2011-08-02 Robert Dewar <dewar@adacore.com>
3 * sem_attr.adb: Minor reformatting.
5 2011-08-02 Robert Dewar <dewar@adacore.com>
7 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
8 (Has_Default_Component_Value): Removed
9 * einfo.ads Comment updates
10 (Has_Default_Aspect): Replaces Has_Default_Value
11 (Has_Default_Component_Value): Removed
13 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
15 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
16 (Get_Simple_Init_Val): Handle Default_Value aspect
17 (Needs_Simple_Initialization): Handle Default_Value aspect
18 * exp_ch3.ads: Needs_Simple_Initialization
19 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
20 * par-prag.adb (Pragma_Default[_Component]Value) Removed
22 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
23 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
24 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
26 2011-08-02 Ed Schonberg <schonberg@adacore.com>
28 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
29 package containing iteration primitives.
30 exp_ch5.adb (Expand_Iterator_Loop): ditto.
32 2011-08-02 Ed Schonberg <schonberg@adacore.com>
34 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
35 "of", pre-analyze expression in case it is a function call with
36 finalization actions that must be placed ahead of the loop.
37 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
38 on an Ada2012 iterator, insert them ahead of the rewritten loop.
40 2011-08-02 Geert Bosch <bosch@adacore.com>
42 * cstand.adb (Create_Float_Types): Only consider C's long double for
43 Long_Long_Float, in addition to double.
45 2011-08-02 Robert Dewar <dewar@adacore.com>
47 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
48 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
49 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
52 2011-08-02 Ed Schonberg <schonberg@adacore.com>
54 * sem_attr.adb: handle properly 'Result when it is a prefix of an
57 2011-08-02 Javier Miranda <miranda@adacore.com>
59 * einfo.ads, einfo.adb
60 (Original_Access_Type): Move this attribute to Node26 since there was
61 an undocumented use of Node21 in E_Access_Subprogram_Type entities
62 which causes conflicts and breaks the generation of the .NET compiler.
63 (Interface_Name): Add missing documentation on JGNAT only uses of
66 2011-08-02 Javier Miranda <miranda@adacore.com>
68 * exp_pakd.adb (Expand_Packed_Element_Reference): Disable this routine
71 2011-08-02 Geert Bosch <bosch@adacore.com>
73 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
74 (Find_Back_End_Float_Type): Likewise
75 (Create_Back_End_Float_Types): Likewise
76 (Create_Float_Types): Likewise
77 (Register_Float_Type): Likewise
78 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
79 Nlist and split out type selection in new local Find_Base_Type function.
80 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
82 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
84 2011-08-02 Robert Dewar <dewar@adacore.com>
86 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
88 * opt.ads: Minor comment change.
89 * sem_ch12.adb: Minor code reorganization.
91 2011-08-02 Gary Dismukes <dismukes@adacore.com>
93 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
94 subtype's list of rep items to the list on the full subtype in the case
95 where the lists are the same.
97 2011-08-02 Geert Bosch <bosch@adacore.com>
99 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
100 using the one from System.Strings, which also deallocates all strings.
102 2011-08-02 Geert Bosch <bosch@adacore.com>
104 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
106 * gcc-interface/Make-lang.in: Update dependencies.
108 2011-08-02 Olivier Hainque <hainque@adacore.com>
110 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
113 2011-08-02 Javier Miranda <miranda@adacore.com>
115 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
116 associated with anonymous access to subprograms.
118 2011-08-02 Geert Bosch <bosch@adacore.com>
121 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
122 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
123 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
124 (Add_Symbol_Definition): Move to switch-c.adb
125 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
126 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
127 (Add_Symbol_Definition): Move to switch-c.adb.
128 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
130 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
132 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
133 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
135 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
136 (Add_Symbol_Definition): Moved from Prepcomp.
137 * switch-c.ads: Update copyright notice. Use String_List instead of
138 Argument_List, removing dependency on System.OS_Lib.
140 2011-08-02 Yannick Moy <moy@adacore.com>
142 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
143 mode on initialization expression which does not respect SPARK
145 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
146 if the tree referenced by its argument represents an initialization
147 expression in SPARK, suitable for initializing an object in an object
150 2011-08-02 Javier Miranda <miranda@adacore.com>
152 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
153 internally generated access to subprogram with its associated protected
155 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
157 2011-08-02 Geert Bosch <bosch@adacore.com>
159 * cstand.adb (Register_Float_Type): Print information about type to
160 register, if the Debug_Flag_Dot_B is set.
161 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
162 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
163 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
164 with a requested precision of more than Max_Digits digits and no more
165 than Max_Base_Digits digits, if a range specification is present and the
166 Predefined_Float_Types list has a suitable type to derive from.
167 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
168 case of type completion with pragma Import
170 (Process_Import_Predefined_Type): Processing to complete a type
171 with pragma Import. Currently supports floating point types only.
172 (Set_Convention_From_Pragma): Do nothing without underlying type.
173 (Process_Convention): Guard against absence of underlying type,
174 which may happen when importing incomplete types.
175 (Process_Import_Or_Interface): Handle case of importing predefined
176 types. Tweak error message.
178 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
180 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
181 functions to previous change. Reorganize code slightly.
183 2011-08-02 Geert Bosch <bosch@adacore.com>
185 * back_end.ads (Register_Type_Proc): New call back procedure type for
186 allowing the back end to provide information about available types.
187 (Register_Back_End_Types): New procedure to register back end types.
188 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
190 * cstand.adb (Back_End_Float_Types): New list for floating point types
191 supported by the back end.
192 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
193 (Copy_Float_Type): New procedure to make new copies of predefined types.
194 (Register_Float_Type): New call back procedure to populate the BEFT list
195 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
196 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
197 (Create_Float_Types): New procedure to create entities for floating
198 point types predefined in Standard, and put these and any remaining
199 BEFTs on the Predefined_Float_Types list.
200 * stand.ads (Predefined_Float_Types): New list for predefined floating
201 point types that do not have declarations in package Standard.
203 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
205 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
206 entity node for the unit containing the parameter.
207 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
208 (Add_Inlined_Subprogram): Likewise.
209 * gcc-interface/Make-lang.in: Update dependencies.
211 2011-08-02 Thomas Quinot <quinot@adacore.com>
213 * s-stusta.adb (Print): Make sure Pos is always initialized to a
216 2011-08-02 Geert Bosch <bosch@adacore.com>
218 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
220 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
222 * sem_type.adb (Covers): Move trivial case to the top and reuse the
223 computed value of Base_Type.
225 2011-08-02 Yannick Moy <moy@adacore.com>
227 * restrict.adb (Check_Restriction): issue an error for any use of
228 class-wide, even if the No_Dispatch restriction is not set.
229 * sem_aggr.adb: Correct typos in comments and messages in formal mode
230 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
231 when completing a private extension, the type named in the private part
232 is not the same as that named in the visible part.
233 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
234 of an inherited primitive operations of a tagged type or type extension
235 that returns the tagged type.
236 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
237 function which returns True for an implicit operation inherited by the
238 derived type declaration for the argument type.
239 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
242 2011-08-02 Ed Schonberg <schonberg@adacore.com>
244 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
245 Process_Bounds, to perform analysis with expansion of a range or an
246 expression that is the iteration scheme for a loop.
247 (Analyze_Iterator_Specification): If domain of iteration is given by a
248 function call with a controlled result, as is the case if call returns
249 a predefined container, ensure that finalization actions are properly
251 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
253 2011-08-02 Javier Miranda <miranda@adacore.com>
255 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
256 * gcc-interface/Make-lang.in: Update dependencies.
258 2011-08-02 Javier Miranda <miranda@adacore.com>
260 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
261 determine if the analysis is performed using N or Original_Node (N).
262 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
263 functionality of routine Is_Variable avoids code duplication.
264 * checks.adb (Determine_Range): Handle temporaries generated by
267 2011-08-02 Javier Miranda <miranda@adacore.com>
269 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
270 expansion of the condition. Required since the previous analysis was
271 done with expansion disabled (see Resolve_Quantified_Expression) and
272 hence checks were not inserted and record comparisons have not been
275 2011-08-02 Ed Falis <falis@adacore.com>
277 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
280 2011-08-02 Bob Duff <duff@adacore.com>
282 * opt.ads: Minor comment fix.
284 2011-08-02 Bob Duff <duff@adacore.com>
286 * sem_ch12.adb (Analyze_Package_Instantiation,
287 Analyze_Subprogram_Instantiation): Turn off style checking while
288 analyzing an instance. Whatever style checks that apply to the generic
289 unit should apply, so it makes no sense to apply them in an instance.
290 This was causing trouble when compiling an instance of a runtime
291 unit that violates the -gnatyO switch.
292 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
293 one of the two case statements, causing spurious errors.
295 2011-08-02 Robert Dewar <dewar@adacore.com>
297 * uname.adb: Minor reformatting.
298 * gnatcmd.adb: Minor reformatting.
299 * exp_attr.adb: Minor reformatting.
301 2011-08-02 Ed Schonberg <schonberg@adacore.com>
303 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
304 No_Dispatching_Calls, do not look for the Assign primitive, because
305 predefined primitives are not created in this case.
307 2011-08-02 Bob Duff <duff@adacore.com>
309 * stylesw.ads: Minor comment fixes.
311 2011-08-02 Robert Dewar <dewar@adacore.com>
313 * freeze.adb (Add_To_Result): New procedure.
315 2011-08-02 Jose Ruiz <ruiz@adacore.com>
317 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
318 time, if the specific run-time routines for handling streams of strings
319 are not available, use the default mechanism.
321 2011-08-02 Arnaud Charlet <charlet@adacore.com>
323 * s-regpat.ads: Fix typo.
325 2011-08-02 Vincent Celier <celier@adacore.com>
327 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
328 not null, call it to create the in memory config project file without
329 parsing an existing default config project file.
331 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
333 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
335 2011-08-02 Ed Schonberg <schonberg@adacore.com>
337 * sem_elim.adb: an abstract subprogram does not need an eliminate
338 pragma for its descendant to be eliminable.
340 2011-08-02 Ed Falis <falis@adacore.com>
342 * init.c: revert to handling before previous checkin for VxWorks
343 * s-intman-vxworks.adb: delete unnecessary declarations related to
344 using Ada interrupt facilities for handling signals.
345 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
346 * s-intman-vxworks.ads: Import __gnat_install_handler as
347 Initialize_Interrupts.
348 * s-taprop-vxworks.adb: Delete Signal_Mask.
349 (Abort_Handler): change construction of mask to unblock exception
352 2011-08-02 Jerome Guitton <guitton@adacore.com>
354 * a-except-2005.adb (Raise_From_Signal_Handler): Call
355 Debug_Raise_Exception before propagation starts.
357 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
359 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
360 to Restriction_Check_Required.
361 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
362 * sem_res.adb (Resolve_Call): Likewise.
363 * sem_attr.adb (Check_Stream_Attribute): Likewise.
365 2011-08-02 Bob Duff <duff@adacore.com>
367 * stylesw.ads: Update comment.
368 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
369 * errout.ads: Remove obsolete comment.
371 2011-08-02 Javier Miranda <miranda@adacore.com>
373 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
374 (Set_Is_Safe_To_Reevaluate): new procedure.
375 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
376 assignment is allowed on safe-to-reevaluate variables.
377 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
378 temporary created to remove side effects in expressions that use
379 the secondary stack as safe-to-reevaluate.
380 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
381 variables that are not true constants.
383 2011-08-02 Robert Dewar <dewar@adacore.com>
385 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
386 sem_res.adb, sem_ch6.adb: Minor reformatting.
388 2011-08-02 Jerome Guitton <guitton@adacore.com>
390 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
392 2011-08-02 Ed Schonberg <schonberg@adacore.com>
394 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
395 not set Overridden_Operation if subprogram is an initialization
398 2011-08-02 Yannick Moy <moy@adacore.com>
400 * par-ch6.adb: Correct obsolete name in comments
401 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
402 which takes two message arguments (existing function takes one), with
403 second message used for continuation.
404 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
405 block statements that originate from a source block statement, not
406 generated block statements
407 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
408 symmetry with procedure case
409 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
410 function to issue an error in formal mode if a package specification
411 contains more than one tagged type or type extension.
412 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
413 parameters matching formals of tagged types are objects (or ancestor
414 type conversions of objects), not general expressions. Issue an error
415 on view conversions that are not involving ancestor conversion of an
417 (Resolve_Type_Conversion): in formal mode, issue an error on the
418 operand of an ancestor type conversion which is not an object
419 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
420 procedure so that it works also for actuals of function calls
421 (Is_Actual_Tagged_Parameter): new function which determines if its
422 argument is an actual parameter of a formal of tagged type in a
424 (Is_SPARK_Object_Reference): new function which determines if the tree
425 referenced by its argument represents an object in SPARK
427 2011-08-02 Robert Dewar <dewar@adacore.com>
429 * sem_ch3.adb: Minor reformatting
430 Minor comment addition
431 Minor error msg text change
433 2011-08-02 Javier Miranda <miranda@adacore.com>
435 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
436 function. Used to be more precise when we generate a variable plus one
437 assignment to remove side effects in the evaluation of the Bound
439 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
440 of the bound expression to force its re-analysis and thus expand the
441 associated transient scope (if required). Code cleanup replacing the
442 previous code that declared the constant entity by an invocation to
443 routine Force_Evaluation which centralizes this work in the frontend.
445 2011-08-02 Robert Dewar <dewar@adacore.com>
447 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
448 (Base_Type): Now uses improved Is_Base_Type function
449 * einfo.ads (Base_Type): Inline this function
451 2011-08-02 Robert Dewar <dewar@adacore.com>
453 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
454 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
456 2011-08-02 Arnaud Charlet <charlet@adacore.com>
458 * gcc-interface/Make-lang.in: Update dependencies.
459 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
462 2011-08-02 Yannick Moy <moy@adacore.com>
464 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
465 non-simple expression used in delta constraint
466 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
467 index constraint which is not a subtype mark
468 * par.adb: With and use Restrict
469 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
470 mode on component type which is not a subtype mark and default
471 expression on component
472 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
473 of string which does not have a lower index bound equal to 1
474 (Array_Type_Declaration): issue an error in formal mode on index or
475 component type which is not a subtype mark, and on aliased keyword on
477 (Derived_Type_Declaration): issue an error in formal mode on interface,
478 limited or abstract type
479 (Record_Type_Declaration): issue an error in formal mode on interface
480 (Record_Type_Definition): issue an error in formal mode on tagged types
481 and type extensions not declared in the specification of a library unit
482 package; on null non-tagged record; on variant part
484 2011-08-02 Vincent Celier <celier@adacore.com>
486 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
487 not declared for qualified library project when Library_Name is not
488 declared, but Library_Dir is.
490 2011-08-02 Robert Dewar <dewar@adacore.com>
492 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
493 pragmas (affects aspects [Component_]Default_Value
494 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
495 component type for the resolution
497 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
499 * einfo.adb (Base_Type): Tune implementation for speed.
501 2011-08-02 Robert Dewar <dewar@adacore.com>
503 * freeze.adb: Minor reformatting.
505 2011-08-02 Thomas Quinot <quinot@adacore.com>
507 * scos.ads: Update comments.
509 2011-08-02 Ed Schonberg <schonberg@adacore.com>
511 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
512 base type, because the parent may be a subtype of a private type whose
513 convention is established in a private part.
515 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
517 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
518 statement in a block when the expansion of the return expression has
519 created a finalization chain.
520 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
521 with the parent node.
522 Add N_Extended_Return_Statement to handle the case where a transient
523 object declaration appears in the Return_Object_Declarations list of
524 an extended return statement.
526 2011-08-02 Matthew Gingell <gingell@adacore.com>
528 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
529 unused parameter 'name'.
531 2011-08-02 Ed Schonberg <schonberg@adacore.com>
533 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
534 inherited operation, check whether its alias, which is the source
535 operastion that it renames, has been marked eliminated.
537 2011-08-02 Javier Miranda <miranda@adacore.com>
539 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
540 in-mode parameter whose type is an access type since it can be used to
541 modify its designated object. Enforce code that handles as safe an
542 access type that is not access-to-constant but it is the result of a
543 previous removal of side-effects.
544 (Remove_Side_Effects): Minor code reorganization of cases which require
545 no action. Done to incorporate documentation on new cases uncovered
546 working in this ticket: no action needed if this routine was invoked
547 too early and the nodes are not yet decorated.
548 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
549 to routine Remove_Side_Effects by calls to Force_Evaluation since they
550 were issued with actuals that are implicitly provided by
553 2011-08-02 Robert Dewar <dewar@adacore.com>
555 * sem_ch3.adb, sem_res.adb: Minor reformatting.
557 2011-08-02 Yannick Moy <moy@adacore.com>
559 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
560 to issue an error in formal mode on attribute not supported in this mode
561 (Analyze_Attribute): issue errors on standard attributes not supported
563 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
564 comment, and issue error in formal mode on modulus which is not a power
566 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
568 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
570 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
571 operator on modular type (except 'not').
573 2011-08-02 Robert Dewar <dewar@adacore.com>
575 * gnat_rm.texi: Minor reformatting.
577 2011-08-02 Arnaud Charlet <charlet@adacore.com>
579 * s-osinte-linux.ads: Minor comment update and reformatting.
580 * i-cexten.ads: Make this unit pure, as for its parent.
581 Will allow its usage in more contexts if needed.
583 2011-08-02 Robert Dewar <dewar@adacore.com>
585 * s-utf_32.ads: Minor comment fix.
587 2011-08-02 Ed Schonberg <schonberg@adacore.com>
589 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
590 operation of a tagged synchronized type, handle the case where the
591 controlling argument is overloaded.
593 2011-08-02 Yannick Moy <moy@adacore.com>
595 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
596 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
597 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
598 SPARK mode and formal verification mode on processing SPARK restriction
599 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
600 requiring consistency checking.
602 2011-08-02 Robert Dewar <dewar@adacore.com>
604 * sem_res.adb: Minor reformatting.
606 2011-08-02 Robert Dewar <dewar@adacore.com>
608 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
609 a-cforse.ads: Remove unneeded with of Ada.Containers
610 Remove commented out pragma Inline's
611 Move specifications of new subprograms to the actual specs
613 2011-08-02 Yannick Moy <moy@adacore.com>
615 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
616 a-cforse.ads: Update comments.
618 2011-08-02 Ed Schonberg <schonberg@adacore.com>
620 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
622 2011-08-02 Robert Dewar <dewar@adacore.com>
624 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
625 a-cforse.ads, a-cofove.ads: Minor reformatting.
627 2011-08-02 Claire Dross <dross@adacore.com>
629 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
630 a-cofove.ads: Add comments.
632 2011-08-02 Yannick Moy <moy@adacore.com>
634 * gnat_rm.texi: Document formal containers.
636 2011-08-02 Emmanuel Briot <briot@adacore.com>
638 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
641 2011-08-02 Robert Dewar <dewar@adacore.com>
643 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
646 2011-08-02 Robert Dewar <dewar@adacore.com>
648 * aspects.adb: New aspects Default_Value and Default_Component_Value
649 New format of Aspect_Names table checks for omitted entries
650 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
651 handling of boolean aspects for derived types.
652 New aspects Default_Value and Default_Component_Value
653 New format of Aspect_Names table checks for omitted entries
654 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
655 (Has_Default_Value): New flag
656 (Has_Default_Component_Value): New flag
657 (Has_Default_Value): New flag
658 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
660 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
661 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
662 Default_Value and Default_Component_Value
663 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
664 New aspects Default_Value and Default_Component_Value
665 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
666 * sprint.adb: Print N_Aspect_Specification node when called from gdb
668 2011-08-02 Vincent Celier <celier@adacore.com>
670 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
671 inherit library kind.
673 2011-08-02 Ed Schonberg <schonberg@adacore.com>
675 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
678 2011-08-02 Robert Dewar <dewar@adacore.com>
680 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
682 2011-08-02 Yannick Moy <moy@adacore.com>
684 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
686 2011-08-02 Robert Dewar <dewar@adacore.com>
688 * impunit.adb: Add comment.
690 2011-08-02 Yannick Moy <moy@adacore.com>
692 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
693 qualification of aggregates in formal mode
694 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
696 (Resolve_Aggregate): complete the test that an aggregate is adequately
697 qualified in formal mode
699 2011-08-02 Pascal Obry <obry@adacore.com>
701 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
702 * mlib-prj.adb: Supress warning when compiling binder generated file.
703 (Build_Library): Supress all warnings when compiling the binder
706 2011-08-02 Yannick Moy <moy@adacore.com>
708 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
710 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
711 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
712 Add with/use clauses to make Check_Formal_Restriction visible
714 2011-08-02 Ed Schonberg <schonberg@adacore.com>
716 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
717 in-parameters when type of the generic formal is private in the generic
718 spec and non-private in the body.
720 2011-08-02 Claire Dross <dross@adacore.com>
722 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
723 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
724 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
725 * impunit.adb, Makefile.rtl: Take new files into account.
727 2011-08-02 Robert Dewar <dewar@adacore.com>
729 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
730 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
732 2011-08-02 Yannick Moy <moy@adacore.com>
734 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
736 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
737 matching static array bounds, taking into account the special case of
739 * sem_ch3.adb: Typo in comment.
741 2011-08-02 Yannick Moy <moy@adacore.com>
743 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
744 which issues an error in formal mode if its argument node is originally
746 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
747 has a discriminant specification so that it does not include the case
749 (Derived_Type_Declaration): move here the test that a derived type has a
750 discriminant specification
751 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
752 first element of a component association before accessing its choices
753 (presence of component association is not enough)
754 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
755 declaration is a library item before accessing the next element in a
756 list, as library items are not member of lists
757 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
758 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
759 Check_Formal_Restriction whenever possible.
761 2011-08-02 Ed Schonberg <schonberg@adacore.com>
763 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
764 reference when needed.
766 2011-08-02 Bob Duff <duff@adacore.com>
768 * gnat_ugn.texi: Fix typo.
770 2011-08-02 Vincent Celier <celier@adacore.com>
772 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
773 archive file name. Do not use the full path name of archives for Open
776 2011-08-02 Robert Dewar <dewar@adacore.com>
778 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
779 Analyze_Aspect_Specifications
781 (Analyze_Aspect_Specifications): New handling for boolean aspects
782 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
783 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
784 sequence for Analyze_Aspect_Specifications
785 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
786 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
788 2011-08-02 Robert Dewar <dewar@adacore.com>
790 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
791 aspects, since these no longer exist.
793 2011-08-02 Robert Dewar <dewar@adacore.com>
795 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
796 semicolon, do not try to see if there are aspects following it.
797 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
800 2011-08-02 Robert Dewar <dewar@adacore.com>
802 * sem_ch8.adb, aspects.ads: Minor reformatting.
804 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
806 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
807 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
809 (Analyze_Aspect_Specifications): ...here. Call above procedure.
811 2011-08-02 Yannick Moy <moy@adacore.com>
813 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
814 mode on subprogram declaration outside of package specification, unless
815 it is followed by a pragma Import
816 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
817 Access_Type_Declaration): issue error in formal mode on access type
818 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
820 (Analyze_Object_Declaration): issue error in formal mode on object
821 declaration which does not respect SPARK restrictions
822 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
823 declaration which does not respect SPARK restrictions
824 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
825 error in formal mode on digits or delta constraint
826 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
827 decimal fixed point type
828 (Derived_Type_Declaration): issue error in formal mode on derived type
829 other than type extensions of tagged record types
830 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
831 with check on access definition
832 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
833 mode on protected definition.
834 (Analyze_Task_Definition): issue error in formal mode on task definition
836 2011-08-02 Robert Dewar <dewar@adacore.com>
838 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
840 2011-08-02 Javier Miranda <miranda@adacore.com>
842 * sem_ch6.adb (Can_Override_Operator): New function.
843 (Verify_Overriding_Indicator): Add missing code to check overriding
844 indicator in operators. Fixes regression.
845 (Check_Overriding_Indicator): Minor reformating after replacing the
846 code that evaluates if the subprogram can override an operator by
847 invocations to the above new function.
849 (Write_Field26_Name): Add missing code to ensure that, following
850 the documentation in einfo.ads, this field is not shown as attribute
851 "Static_Initialization" on non-dispatching functions.
853 2011-08-02 Jose Ruiz <ruiz@adacore.com>
855 * sem_res.adb (Resolve_Call): A call to
856 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
857 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
858 i.e., when the second parameter is of type Time_Span.
860 2011-08-02 Vincent Celier <celier@adacore.com>
862 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
863 with an archive instead of -L<library dir> -l<library name>.
865 2011-08-02 Ed Schonberg <schonberg@adacore.com>
867 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
868 mark the base types In_Use in addition to making the operations
871 2011-08-02 Ed Falis <falis@adacore.com>
873 * init.c: add and setup __gnat_signal_mask for the exception signals
874 * s-inmaop-vxworks.adb: new file.
875 * s-intman-vxworks.adb: remove unnecessary initializations and
877 * s-intman-vxworks.ads: remove unnecessary variable
878 * s-taprop-vxworks.adb: simplify signal initialization
880 2011-08-02 Robert Dewar <dewar@adacore.com>
882 * sem_ch8.adb: Minor code reorganization, comment updates.
884 2011-08-02 Robert Dewar <dewar@adacore.com>
886 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
887 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
889 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
890 (Matching_Static_Array_Bounds): Moved here from Sem_Res
892 2011-08-02 Ed Schonberg <schonberg@adacore.com>
894 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
895 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
896 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
897 use_type_clauses, to handle more efficiently use_type and use_all_type
899 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
900 Ada2012 Use_All_Type clause.
901 (Use_Class_Wide_Operations): new procedure.
903 2011-08-02 Robert Dewar <dewar@adacore.com>
905 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
906 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
907 expression to expression function.
909 2011-08-02 Ed Schonberg <schonberg@adacore.com>
911 * sem_ch4.adb: transform simple Ada2012 membership into equality only
912 if types are compatible.
914 2011-08-02 Yannick Moy <moy@adacore.com>
916 * sem_res.adb (Matching_Static_Array_Bounds): new function which
917 returns True if its argument array types have same dimension and same
918 static bounds at each index.
919 (Resolve_Actuals): issue an error in formal mode on actuals passed as
920 OUT or IN OUT paramaters which are not view conversions in SPARK.
921 (Resolve_Arithmetic_Op): issue an error in formal mode on
922 multiplication or division with operands of fixed point types which are
923 not qualified or explicitly converted.
924 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
925 Boolean or array type (except String) operands.
926 (Resolve_Equality_Op): issue an error in formal mode on equality
927 operators for array types other than String with non-matching static
929 (Resolve_Logical_Op): issue an error in formal mode on logical operators
930 for array types with non-matching static bounds. Factorize the code in
931 Matching_Static_Array_Bounds.
932 (Resolve_Qualified_Expression): issue an error in formal mode on
933 qualified expressions for array types with non-matching static bounds.
934 (Resolve_Type_Conversion): issue an error in formal mode on type
935 conversion for array types with non-matching static bounds
937 2011-08-02 Robert Dewar <dewar@adacore.com>
939 * par-ch10.adb: Minor code reorganization (use Nkind_In).
941 2011-08-02 Ed Schonberg <schonberg@adacore.com>
943 * par-ch9.adb: save location of entry for proper error message.
945 2011-08-02 Javier Miranda <miranda@adacore.com>
947 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
948 (Use_Full_View) which permits this routine to climb through the
949 ancestors using the full-view of private parents.
950 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
951 Use_Full_View to true in calls to Is_Ancestor.
952 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
953 true in call to Is_Ancestor.
954 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
955 Use_Full_View to true in call to Is_Ancestor.
956 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
958 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
959 Use_Full_View to true in calls to Is_Ancestor.
960 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
961 Make_Select_Specific_Data_Table, Register_Primitive,
962 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
963 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
964 to true in call to Is_Ancestor.
965 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
966 Use_Full_View to true in calls to Is_Ancestor.
968 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
969 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
971 2011-08-02 Robert Dewar <dewar@adacore.com>
973 * gnat_rm.texi: Minor reformatting.
974 * sem_prag.adb: Minor reformatting.
976 2011-08-02 Tristan Gingold <gingold@adacore.com>
978 * vms_data.ads: Add VMS qualifier for -gnateP.
980 2011-08-02 Robert Dewar <dewar@adacore.com>
982 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
983 * par-ch7.adb (P_Package): Proper placement of aspects for package
985 * par-endh.adb (Check_End): Ad Is_Sloc parameter
986 (End_Statements): Add Is_Sloc parameterr
987 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
988 (Check_End): Ad Is_Sloc parameter
989 (End_Statements): Add Is_Sloc parameterr
991 2011-08-02 Vincent Celier <celier@adacore.com>
993 * ug_words: Add VMS qualifier equivalent to -gnateP:
994 /SYMBOL_PREPROCESSING.
996 2011-08-02 Jose Ruiz <ruiz@adacore.com>
998 * gnat-style.texi: For hexadecimal numeric literals the typical
999 grouping of digits is 4 to represent 2 bytes.
1000 A procedure spec which is split into several lines is indented two
1003 2011-08-02 Yannick Moy <moy@adacore.com>
1005 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
1006 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
1007 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
1009 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
1010 choice in array aggregate
1011 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
1013 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
1014 positional and named aggregate for record, or others in record
1015 aggregate, or multiple choice in record aggregate
1016 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
1017 array operands to logical operations AND, OR and XOR do not have the
1018 same static lower and higher bounds
1019 * sem_ch5.adb, sinfo.ads: Correct typos in comments
1021 2011-08-01 Robert Dewar <dewar@adacore.com>
1023 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
1024 Replaces Last_Source_Node_In_Sequence.
1025 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
1026 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
1027 parens and blank in string (this was inconsistently implemented).
1029 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
1030 blank in string (this was inconsistently implemented).
1032 (Set_Global_Switches): Set formal mode switches appropriately
1033 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
1035 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
1036 call Set_Error_Msg_Lang to set "spark" as language name.
1037 * par.adb: Remove unnecessary call to set formal language for errout
1038 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
1039 appropriately and call Set_Error_Msg_Lang to set "spark" as language
1041 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
1042 calls to it, moved after resolution so that types are known
1043 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
1044 result of concatenation is not of type String
1045 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
1046 concatenation is not properly restricted
1047 * gnat_rm.texi: Add doc on pragma Spark_95.
1048 * gcc-interface/Makefile.in: Remove obsolete target pairs for
1049 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
1050 * gcc-interface/Make-lang.in: Update dependencies.
1052 2011-08-01 Javier Miranda <miranda@adacore.com>
1054 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
1055 condition that detects if the overridden operation must replace an
1058 2011-08-01 Javier Miranda <miranda@adacore.com>
1060 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
1061 code declarations inserted by Insert_Actions in each alternative of the
1062 N_Case_Expression node.
1064 2011-08-01 Robert Dewar <dewar@adacore.com>
1066 * sem_ch6.adb: Minor code reorganization.
1067 * sem_util.adb: Minor reformatting.
1069 2011-08-01 Pascal Obry <obry@adacore.com>
1071 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
1072 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
1074 2011-08-01 Yannick Moy <moy@adacore.com>
1076 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
1077 literal or operator symbol which is prefixed
1078 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
1079 mode on access attributes.
1080 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
1081 that concatenation operands are properly restricted in formal mode
1082 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
1083 Analyze_Concatenation_Operand. Issue an error in formal mode if the
1084 result of the concatenation has a type different from String.
1085 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
1086 Analyze_Quantified_Expression, Analyze_Slice,
1087 Analyze_Null): issue an error in formal mode on unsupported constructs
1089 (Analyze_Block_Statement): only issue error on source block statement
1090 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
1091 function which returns the last node in a list of nodes for which
1092 Comes_From_Source returns True, if any
1093 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
1094 Last_Source_Node_In_Sequence
1095 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
1096 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
1097 mode on unsupported constructs
1098 * sem_ch9.adb Do not return after issuing error in formal mode, as the
1099 rest of the actions may be needed later on since the error is marked as
1101 * sinfo.ads: Typos in comments.
1103 2011-08-01 Pascal Obry <obry@adacore.com>
1105 * projects.texi: Minor editing.
1107 2011-08-01 Yannick Moy <moy@adacore.com>
1109 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
1110 insertion character ~~
1111 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
1112 (Set_Error_Msg_Lang): new procedure which fixes the language for use
1113 with insertion character ~~
1114 (Set_Msg_Text): treat insertion character ~~
1115 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
1116 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
1117 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
1118 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
1119 errors related to the formal language restriction not serious
1120 (insertion character |).
1121 * par.adb (Par): set formal language for error messages if needed
1122 * sem_ch6.adb (Check_Missing_Return): take into account possible
1123 generated statements at the end of the function
1124 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
1125 enumeration value to define a new pragma SPARK_95
1126 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
1127 SPARK_Version): new type and variables to store the SPARK version
1129 (SPARK_Mode): return True when SPARK_Version is set
1130 * par-prag.adb: Correct indentation
1131 (Prag): take Pragma_SPARK_95 into account
1132 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
1135 2011-08-01 Robert Dewar <dewar@adacore.com>
1137 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
1138 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
1139 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
1141 2011-08-01 Pascal Obry <obry@adacore.com>
1143 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
1144 Target_Name to Get_Path call.
1145 (Parse_Single_Project): Likewise.
1146 (Post_Parse_Context_Clause): Likewise.
1147 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
1148 Call Initialise_Project_Path with the proper Target_Name.
1149 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
1151 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
1152 with the proper Target_Name.
1153 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
1155 (Parse_Project_And_Apply_Config): Likewise.
1156 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
1157 This is fine as this part of the code is supporting only native
1159 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
1160 is fine as this part of the code is supporting only native compilation.
1162 2011-08-01 Yannick Moy <moy@adacore.com>
1164 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
1165 of homonym, unless the homonym is one of the cases allowed in SPARK
1166 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
1167 package declaration occurring after a body.
1169 2011-08-01 Robert Dewar <dewar@adacore.com>
1171 * checks.adb, exp_ch4.adb: Minor reformatting.
1173 2011-08-01 Javier Miranda <miranda@adacore.com>
1175 * einfo.ads (Access_Disp_Table): Fix documentation.
1176 (Dispatch_Table_Wrappers): Fix documentation.
1178 2011-08-01 Pascal Obry <obry@adacore.com>
1180 * prj-env.adb, prj-env.ads: Minor reformatting.
1182 2011-08-01 Yannick Moy <moy@adacore.com>
1184 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
1185 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
1186 procedures out of these packages.
1187 * errout.ads, errout.adb
1188 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
1189 procedures in of this package
1190 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
1191 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
1192 on misplaced later vs initial declarations, like in Ada 83
1193 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
1194 formal mode on attribute of private type whose full type declaration
1196 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
1197 package declaration inside a package specification
1198 (Analyze_Full_Type_Declaration): issue error in formal mode on
1199 controlled type or discriminant type
1200 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
1201 user-defined operator means that it should come from the source
1202 (New_Overloaded_Entity): issue error in formal mode on overloaded
1204 * sem_ch6.ads, sem_ch13.ads: typos in comments.
1206 2011-08-01 Thomas Quinot <quinot@adacore.com>
1208 * atree.adb: Minor reformatting.
1209 * checks.adb: Minor reformatting.
1211 2011-08-01 Vincent Celier <celier@adacore.com>
1213 * s-parame-vms-ia64.ads: Fix typo in comment
1215 * s-parame-vms-restrict.ads: Removed, unused.
1217 2011-08-01 Javier Miranda <miranda@adacore.com>
1220 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
1222 (Constrain_Index): Remove side effects in the evaluation of the bounds.
1223 * sem_ch3.ads, sem_ch3.adb
1224 (Is_Constant_Bound): New extended version of the subprogram that was
1225 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
1226 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
1227 * sem_aux.ads (Constant_Value): Fix typo in comment.
1228 * checks.adb (Generate_Index_Checks): New implementation which, for
1229 array objects with constant bounds, generates the runtime check
1230 referencing the bounds of the array type. For other cases this routine
1231 provides its previous behavior obtaining such values from the array
1233 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
1235 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
1236 we cannot have semantic interpretations of the new node.
1238 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1240 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
1243 2011-08-01 Arnaud Charlet <charlet@adacore.com>
1245 * sem_ch8.adb: Minor code editing.
1246 * s-vxwext.adb: Remove trailing space.
1247 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
1248 consistency with other files.
1250 2011-08-01 Thomas Quinot <quinot@adacore.com>
1252 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
1254 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1256 * par-ch10.adb: reject parameterized expressions as compilation unit.
1257 * sem_ch4.adb: handle properly conditional expression with overloaded
1258 then_clause and no else_clause.
1260 2011-08-01 Tristan Gingold <gingold@adacore.com>
1262 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
1263 like done by System.Aux_DEC.
1264 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
1266 2011-08-01 Yannick Moy <moy@adacore.com>
1268 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
1269 missing label at end of declaration (subprogram or package)
1270 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
1271 of positional and named parameter association
1272 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
1273 Error_Msg_SP which adds a prefix to the error message giving the name
1274 of the formal language analyzed
1275 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
1276 access result type in subprogram, unconstrained array as result type,.
1277 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
1279 * sem_ch8.adb: Code clean up.
1281 2011-08-01 Javier Miranda <miranda@adacore.com>
1283 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
1284 * einfo.ads (Access_Disp_Table): Fix documentation.
1285 (Dispatch_Table_Wrappers): Fix documentation.
1286 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
1287 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
1288 to enforce the documentation of this attribute.
1289 (Set_Is_Interface): Cleanup the assertion.
1290 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
1291 the Underlying_Type entity before reading attribute Access_Disp_Table.
1292 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
1293 Locate the Underlying_Type before reading attribute Access_Disp_Table.
1294 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
1295 the Underlying_Type entity before reading attribute Access_Disp_Table.
1296 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
1297 Locate the Underlying_Type entity before reading attribute
1300 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1302 * s-poosiz.ads: Additional overriding indicators.
1304 2011-08-01 Yannick Moy <moy@adacore.com>
1306 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
1308 (Analyze_Iteration_Scheme): issue error in formal mode when loop
1309 parameter specification does not include a subtype mark.
1310 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
1311 formal mode on abstract subprogram.
1312 (Analyze_Subprogram_Specification): issue error in formal mode on
1313 user-defined operator.
1314 (Process_Formals): issue error in formal mode on access parameter and
1316 * sem_ch9.adb (Analyze_Abort_Statement,
1317 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
1318 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
1319 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
1320 Analyze_Requeue, Analyze_Selective_Accept,
1321 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
1322 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
1323 issue error in formal mode on user-defined raise statement.
1325 2011-08-01 Thomas Quinot <quinot@adacore.com>
1327 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
1328 declaration being hidden when overriding an implicit inherited
1330 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
1331 (-gnats), do not complain about a source file that contains only a
1334 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1336 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
1337 variable if already set.
1339 2011-08-01 Arnaud Charlet <charlet@adacore.com>
1341 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
1342 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
1343 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
1344 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
1345 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
1346 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
1347 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
1348 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
1349 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
1350 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
1351 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
1352 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
1353 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
1354 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
1355 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
1356 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
1357 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
1358 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
1359 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
1360 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
1361 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
1362 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
1363 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
1364 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
1365 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
1366 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
1367 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
1368 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
1369 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
1370 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
1371 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
1372 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
1373 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
1374 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
1375 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
1376 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
1377 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
1378 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
1379 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
1380 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
1381 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
1382 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
1383 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
1384 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
1385 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
1386 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
1387 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
1388 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
1389 s-osinte-mingw.ads: Update to GPLv3 run-time license.
1390 Use GNAT instead of GNARL.
1392 2011-08-01 Bob Duff <duff@adacore.com>
1394 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
1395 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
1396 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
1399 2011-08-01 Yannick Moy <moy@adacore.com>
1401 * debug.adb (d.D) reverve flag for the SPARK mode
1402 (d.E) reverve flag for SPARK generation mode
1403 (d.F) reverve flag for Why generation mode
1404 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
1405 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
1406 functions which return True when the corresponding modes are set
1407 (Formal_Language): return "spark" or "alfa" when in formal verification
1409 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
1410 Error_Msg to prefix the error message with a tag giving the formal
1412 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
1413 message with a tag giving the formal language
1414 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
1416 (Analyze_Case_Statement): issue error in formal mode on case statement
1417 with a single "others" case alternative
1418 (Analyze_Exit_Statement): issue errors in formal mode on exit
1419 statements which do not respect SPARK restrictions
1420 (Analyze_Goto_Statement): issue error in formal mode on goto statement
1421 (Check_Unreachable_Code): always issue an error (not a warning) in
1422 formal mode on unreachable code (concerns both code after an infinite
1423 loop and after an unconditional jump, both not allowed in SPARK)
1424 * sem_ch6.adb (Analyze_Return_Statement): add call to
1425 Set_Return_Present for a procedure containing a return statement
1426 (already done for functions in Analyze_Function_Return)
1427 (Analyze_Function_Return): issue error in formal mode on extended
1428 return or if return is not last statement in function
1429 (Check_Missing_Return): issue error in formal mode if function does
1430 not end with return or if procedure contains a return
1431 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
1432 function to detect if there is an inner scope of its parameter S which
1435 2011-08-01 Thomas Quinot <quinot@adacore.com>
1437 * sem_ch6.ads: Minor reformatting.
1439 2011-08-01 Javier Miranda <miranda@adacore.com>
1441 * sem_util.adb (Abstract_Interface_List): Complete condition when
1442 processing private type declarations to avoid reading unavailable
1444 (Is_Synchronized_Tagged_Type): Complete condition when processing
1445 private extension declaration nodes to avoid reading unavailable
1448 2011-08-01 Thomas Quinot <quinot@adacore.com>
1450 * sem_ch3.adb: Minor reformatting.
1452 2011-08-01 Thomas Quinot <quinot@adacore.com>
1454 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
1455 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
1456 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
1457 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
1458 for VMS, instead parametrize the common implementation with
1459 System.Parameters declarations.
1461 2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
1463 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
1465 2011-08-01 Tristan Gingold <gingold@adacore.com>
1467 * seh_init.c: Fix SEH handler installation on win64.
1469 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1471 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
1472 double analysis of an anonymous access to subprogram, because it can
1473 lead to improper sharing of profiles and a back-end crash.
1475 2011-08-01 Robert Dewar <dewar@adacore.com>
1477 * make.adb, sem_ch4.adb: Minor reformatting.
1478 * gcc-interface/Make-lang.in: Update dependencies.
1479 * sem_util.adb, exp_ch5.adb: Minor reformatting.
1481 2011-08-01 Arnaud Charlet <charlet@adacore.com>
1483 * gnat_rm.texi: Fix definition of Long_Integer.
1485 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1487 * exp_aggr.adb: check limit size of static aggregate unconditionally,
1488 to prevent storage exhaustion.
1489 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
1490 finalized is a function body, insert the cleanup code before the final
1491 return statement, to prevent spurious warnings.
1492 * s-pooglo.ads: add overriding indicator.
1494 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1496 * sem_ch4.adb (Operator_Check): improve error message when both a
1497 with_clause and a use_clause are needed to make operator usage legal.
1498 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
1499 determine whether a compilation unit is visible within an other,
1500 either through a with_clause in the current unit, or a with_clause in
1501 its library unit or one one of its parents.
1503 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1505 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
1506 over an arbitrary expression of an array or container type.
1507 * lib-xref.adb: clarify comment.
1509 2011-08-01 Bob Duff <duff@adacore.com>
1511 * einfo.ads: Minor reformatting.
1512 * debug.adb: Minor comment improvement.
1514 2011-08-01 Javier Miranda <miranda@adacore.com>
1516 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
1517 consider hidden subprograms as valid candidates.
1519 2011-08-01 Arnaud Charlet <charlet@adacore.com>
1521 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
1523 2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
1525 * gnat_ugn.texi: Fix typo.
1527 2011-08-01 Robert Dewar <dewar@adacore.com>
1529 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
1530 lib-xref.adb: Minor reformatting
1532 2011-08-01 Gary Dismukes <dismukes@adacore.com>
1534 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
1535 when to generate a call to Move_Final_List.
1536 (Has_Controlled_Parts): Remove this function.
1538 2011-08-01 Geert Bosch <bosch@adacore.com>
1540 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
1543 2011-08-01 Thomas Quinot <quinot@adacore.com>
1545 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
1546 explicit raise of a predefined exception as Comes_From_Source if the
1547 original N_Raise_Statement comes from source.
1549 2011-08-01 Robert Dewar <dewar@adacore.com>
1551 * sinfo.ads: Add comment.
1552 * sem_ch6.adb: Minor reformatting.
1554 2011-08-01 Robert Dewar <dewar@adacore.com>
1556 * freeze.adb (Freeze_Entity): Refine check for bad component size
1557 clause to avoid rejecting confirming clause when atomic/aliased present.
1559 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1561 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
1562 better determine whether an entity reference is a write.
1563 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
1565 * lib-xref.adb (Output_References): Do no suppress a read reference at
1566 the same location as an immediately preceeding modify-reference, to
1567 handle properly in-out actuals.
1569 2011-08-01 Tristan Gingold <gingold@adacore.com>
1571 * env.c (__gnat_setenv) [VMS]: Refine previous change.
1573 2011-08-01 Quentin Ochem <ochem@adacore.com>
1575 * i-cstrin.adb (New_String): Changed implementation, now uses only the
1576 heap to compute the result.
1578 2011-08-01 Robert Dewar <dewar@adacore.com>
1580 * atree.ads: Minor reformatting.
1582 2011-08-01 Emmanuel Briot <briot@adacore.com>
1584 * g-expect.adb (Get_Command_Output): Fix memory leak.
1586 2011-08-01 Geert Bosch <bosch@adacore.com>
1588 * cstand.adb (P_Float_Type): New procedure to print the definition of
1589 predefined fpt types.
1590 (P_Mixed_Name): New procedure to print a name using mixed case
1591 (Print_Standard): Use P_Float_Type for printing floating point types
1592 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
1593 precision IEEE float.
1595 2011-08-01 Thomas Quinot <quinot@adacore.com>
1597 * sem_ch3.adb: Minor reformatting.
1599 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1601 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
1602 the completion of a generic function, insert the new body rather than
1603 rewriting the original.
1605 2011-08-01 Yannick Moy <moy@adacore.com>
1607 * sinfo.ads, errout.ads: Typos in comments.
1609 2011-08-01 Robert Dewar <dewar@adacore.com>
1611 * par-endh.adb: Minor reformatting.
1613 2011-08-01 Robert Dewar <dewar@adacore.com>
1615 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
1616 (Pre_Post_Aspects): New subtype.
1617 * par-ch12.adb (P_Generic): New syntax for aspects in packages
1618 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
1619 * par-ch7.adb (P_Package): Remove Decl parameter
1620 (P_Package): Handle new syntax for aspects (before IS)
1621 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
1623 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
1624 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
1625 (P_Package): Remove Decl parameter
1626 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
1628 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
1630 * sem_util.ads, sem_util.adb (Static_Boolean): New function
1631 * sinfo.ads: Document new syntax for aspects in packages etc.
1632 * sprint.adb: Handle new syntax of aspects before IS in package
1634 2011-08-01 Thomas Quinot <quinot@adacore.com>
1636 * atree.ads: Minor reformatting.
1637 * sem_prag.adb: Minor reformatting.
1639 2011-08-01 Robert Dewar <dewar@adacore.com>
1641 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
1642 case expr alternative.
1644 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1646 * sem_ch12.adb: Fix typo.
1648 2011-08-01 Geert Bosch <bosch@adacore.com>
1650 * sem_prag.adb (Check_No_Link_Name): New procedure.
1651 (Process_Import_Or_Interface): Use Check_No_Link_Name.
1652 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
1653 instead of Standard_Long_Long_Float_Size global. Preparation for
1654 eventual removal of per type constants.
1655 * exp_util.ads (Get_Stream_Size): New function returning the stream
1656 size value of subtype E.
1657 * exp_util.adb (Get_Stream_Size): Implement new function.
1658 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
1660 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
1662 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
1664 2011-08-01 Geert Bosch <bosch@adacore.com>
1666 * cstand.adb: Fix comments.
1667 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
1670 2011-08-01 Robert Dewar <dewar@adacore.com>
1672 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
1674 2011-08-01 Geert Bosch <bosch@adacore.com>
1676 * atree.ads: Fix comment.
1678 2011-08-01 Robert Dewar <dewar@adacore.com>
1680 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
1681 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
1682 * par.adb: Add with for Namet.Sp.
1683 * par-tchk.adb: Minor reformatting.
1685 2011-08-01 Vincent Celier <celier@adacore.com>
1687 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
1688 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
1689 of the init procedure of a SAL.
1690 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
1693 2011-08-01 Thomas Quinot <quinot@adacore.com>
1695 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
1698 2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1700 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
1702 2011-08-01 Thomas Quinot <quinot@adacore.com>
1704 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
1705 conformant with its spec (return True only for types that have
1706 an overriding Initialize primitive operation that prevents them from
1707 having preelaborable initialization).
1708 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
1709 initialization for controlled types in Ada 2005 or later mode.
1711 2011-08-01 Robert Dewar <dewar@adacore.com>
1713 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
1715 (Same_Aspect): New function.
1716 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
1717 Type_Invariant, Precondition, Postcondition.
1718 * snames.ads-tmpl: Add Name_Type_Invariant.
1720 2011-08-01 Robert Dewar <dewar@adacore.com>
1722 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
1724 (Freeze_All_Ent): Fix error in handling inherited aspects.
1725 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
1726 already analyzed, but don't skip entire processing of a declaration,
1727 that's wrong in some cases of declarations being rewritten.
1728 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
1729 Don't delay for integer, string literals
1730 Treat predicates in usual manner for delay, remove special case code,
1732 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
1733 (Build_Predicate_Function): Update saved expression in aspect
1734 (Build_Invariant_Procedure): Update saved expression in aspect
1735 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
1736 of replacement of discriminant references if the reference is simple.
1738 2011-08-01 Robert Dewar <dewar@adacore.com>
1740 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
1741 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
1742 Static_Predicate and Dynamic_Predicate.
1743 (Build_Predicate_Function): Add processing for Static_Predicate
1744 and Dynamic_Predicate.
1745 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
1746 (From_Static_Predicate): New flag
1747 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
1749 2011-08-01 Robert Dewar <dewar@adacore.com>
1751 * usage.adb: Documentation cleanup for Ada version modes in usage.
1752 * expander.adb: Minor reformatting.
1754 2011-08-01 Robert Dewar <dewar@adacore.com>
1756 * atree.ads: Minor comment fix.
1757 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
1758 a-witeio.ads, sem_prag.adb: Minor reformatting.
1760 2011-08-01 Doug Rupp <rupp@adacore.com>
1762 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
1763 pointers. Use descrip.h header file for convenience. Add some
1766 2011-08-01 Robert Dewar <dewar@adacore.com>
1768 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
1769 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
1770 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
1772 (Check_Aspect_At_End_Of_Declarations): New procedure
1773 (Analye_Aspect_Specification): Minor changes for above procedures
1774 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
1775 specification node as well.
1777 2011-08-01 Pascal Obry <obry@adacore.com>
1779 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
1780 Windows files. Use GetFilesAttributes() in this case to check for file
1781 existence instead of returning with an error code.
1783 2011-08-01 Vincent Celier <celier@adacore.com>
1785 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
1786 High is above Source length.
1788 2011-08-01 Robert Dewar <dewar@adacore.com>
1790 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
1792 2011-08-01 Robert Dewar <dewar@adacore.com>
1794 * aspects.ads (Boolean_Aspects): New subtype.
1795 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
1796 for derived types in cases where the parent type and derived type have
1798 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
1799 with aspects when parent type also has aspects.
1800 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
1801 boolean expression at this point).
1802 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
1803 accordance with final decision on the Ada 2012 feature.
1804 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
1806 2011-08-01 Matthew Heaney <heaney@adacore.com>
1808 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
1810 2011-08-01 Pascal Obry <obry@adacore.com>
1812 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
1813 Fix Replace_Slice when High is above current string size.
1814 (Replace_Slice): Fix DL computation when High is above current
1817 2011-08-01 Gary Dismukes <dismukes@adacore.com>
1819 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
1821 2011-08-01 Matthew Heaney <heaney@adacore.com>
1823 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
1826 2011-08-01 Pascal Obry <obry@adacore.com>
1828 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
1831 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1833 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
1834 access to protected subprograms in generic bodies.
1835 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
1836 protected type, indicate that the convention of the subprogram is
1837 Convention_Protected, because it may be used in subsequent declarations
1838 within the protected declaration.
1840 2011-08-01 Vincent Celier <celier@adacore.com>
1842 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
1843 and "final" procedures when the name of the library is "ada", to avoid
1844 duplicate symbols "adainit" and "adafinal" in executables.
1846 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1848 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
1849 quantified expression that appears within a postcondition and uses the
1850 Ada2012 'Result attribute.
1852 2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1854 * init.c (__gnat_error_handler): Cast reason to int.
1855 (__gnat_install_handler): Explain sa_sigaction use.
1857 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1859 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
1860 subprogram has copy-in copy-out parameters, try to promote the mode of
1861 the return type if it is passed in registers.
1863 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1865 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
1866 left operand as addressable.
1868 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1870 * gcc-interface/gigi.h (build_function_stub): Remove.
1871 (build_return_expr): Likewise.
1872 (convert_vms_descriptor): Declare.
1873 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
1874 (build_function_stub): Move to...
1875 * gcc-interface/utils2.c (build_return_expr): Move to...
1876 * gcc-interface/trans.c (build_function_stub): ...here.
1877 (build_return_expr): ...here.
1878 (Subprogram_Body_to_gnu): Add local variable for language_function.
1879 Disconnect the parameter attributes cache, if any, once done with it.
1880 Call end_subprog_body only after setting the end_locus.
1881 Build the stub associated with the function, if any, at the very end.
1882 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
1883 variables and streamline control flow.
1885 2011-07-23 Arnaud Charlet <charlet@adacore.com>
1888 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
1891 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1894 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
1895 Assign to act.sa_sigaction.
1896 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
1897 current->return_address to char * before arithmetic.
1899 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1901 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
1902 Correct argument types.
1903 Extract code from reason.
1904 (__gnat_install_handler): Assign to act.sa_sigaction.
1906 2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
1908 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
1909 (GNAT1_OBJS): ...here.
1911 2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
1914 * g-socthi-mingw.adb (Fill): Fix formatting.
1916 * gcc-interface/gigi.h: Move around comment.
1918 2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1921 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
1923 2011-07-14 Florian Weimer <fw@deneb.enyo.de>
1926 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
1928 2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
1930 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
1931 range comparison if Pmode is SImode.
1933 2011-07-12 Laurent GUERBY <laurent@guerby.net>
1934 Eric Botcazou <ebotcazou@adacore.com>
1936 * adadecode.c: Wrap up in extern "C" block.
1937 * adadecode.h: Likewise.
1938 * adaint.c: Likewise. Remove 'const' keyword.
1939 * adaint.h: Likewise.
1941 * atree.h: Likewise.
1943 * cstreams.c: Likewise.
1947 * final.c: Likewise.
1949 * initialize.c: Likewise.
1951 * namet.h: Likewise.
1952 * nlists.h: Likewise.
1953 * raise.c: Likewise.
1954 * raise.h: Likewise.
1955 * repinfo.h: Likewise.
1956 * seh_init.c: Likewise.
1957 * targext.c: Likewise.
1958 * tracebak.c: Likewise.
1959 * uintp.h: Likewise.
1960 * urealp.h: Likewise.
1961 * xeinfo.adb: Wrap up generated C code in extern "C" block.
1962 * xsinfo.adb: Likewise.
1963 * xsnamest.adb: Likewise.
1964 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
1965 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
1966 * gcc-interface/misc.c: Likewise.
1967 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
1968 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
1969 ada/targext.o here...
1970 (GNAT_ADA_OBJS): ...and not here.
1971 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
1972 (GNATBIND_OBJS): Reorder.
1974 2011-07-07 Richard Henderson <rth@redhat.com>
1976 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1977 dwarf2out_frame_init.
1979 2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
1981 * gcc-interface/misc.c (gnat_init): Tweak previous change.
1983 2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1986 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
1988 2011-07-06 Richard Guenther <rguenther@suse.de>
1990 * gcc-interface/misc.c (gnat_init): Merge calls to
1991 build_common_tree_nodes and build_common_tree_nodes_2.
1992 Re-initialize boolean_false_node.
1994 2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
1995 Olivier Hainque <hainque@adacore.com>
1996 Nicolas Setton <setton@adacore.com>
1998 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
1999 the type according to the ARTIFICIAL_P parameter.
2000 (create_type_decl): Likewise.
2001 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
2003 2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
2005 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
2006 (gnatbind): Likewise.
2008 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2010 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
2012 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2014 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
2015 local variable throughout. Remove useless call to Base_Type.
2016 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
2017 Take it also into account for the volatileness of the field. Set the
2018 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
2020 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2022 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
2023 on a dereference built for a by-ref object if it has an address clause.
2025 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2027 * einfo.ads (Address_Taken): Document use for the second argument of
2028 Asm_Input and Asm_Output attributes.
2029 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
2030 argument is an entity name, then set Address_Taken on it.
2031 <Attribute_Asm_Output>: Likewise.
2032 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
2033 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
2034 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
2035 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
2037 2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
2040 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
2042 2011-06-14 Joseph Myers <joseph@codesourcery.com>
2044 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
2045 (ada/utils.o): Update dependencies.
2046 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
2047 ../../../libcpp/libcpp.a.
2048 * gcc-interface/utils.c: Include common/common-target.h.
2049 (process_attributes): Use targetm_common.have_named_sections.
2051 2011-06-07 Richard Guenther <rguenther@suse.de>
2053 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
2056 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2058 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
2059 TREE_THIS_NOTRAP flag.
2061 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2063 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
2066 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2068 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
2069 constants whose full view has discriminants specially.
2071 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2073 * gcc-interface/utils.c: Include diagnostic.h.
2074 (gnat_write_global_declarations): Output debug information for all
2075 global type declarations before finalizing the compilation unit.
2076 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
2078 2011-05-25 Jakub Jelinek <jakub@redhat.com>
2080 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
2082 2011-05-25 Kai Tietz <ktietz@redhat.com>
2084 * adaint.c (__gnat_to_canonical_file_list_next): Use array
2085 initialization instead of const/none-const pointer assignment.
2087 2011-05-24 Joseph Myers <joseph@codesourcery.com>
2089 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
2090 $(EXTRA_GNAT1_OBJS).
2091 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
2092 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
2093 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
2094 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
2095 libcommon-target.a instead of prefix.o.
2097 2011-05-21 Joseph Myers <joseph@codesourcery.com>
2100 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
2102 2011-05-20 Joseph Myers <joseph@codesourcery.com>
2104 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
2105 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
2106 instead of version.o.
2108 2011-05-18 Kai Tietz <ktietz@redhat.com>
2110 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
2111 boolean_false_node instead of integer_zero_node.
2112 (convert_with_check): Likewise.
2113 * gcc-interface/decl.c (choices_to_gnu): Likewise.
2115 2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
2117 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
2118 type of the parameter is an unconstrained array, convert the actual to
2119 the type of the formal in the In Out and Out cases as well.
2121 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2123 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
2124 call build_function_type_array or build_varargs_function_type_array
2126 (create_subprog_type): Don't call build_function_type; call
2127 build_function_type_vec instead.
2129 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2131 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
2132 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
2133 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
2135 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
2137 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
2139 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
2140 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
2142 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2144 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
2146 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2148 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
2149 instead of accessing TYPE_ARG_TYPES directly.
2150 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
2152 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
2155 * gcc-interface/gigi.h (get_variant_part): Declare.
2156 * gcc-interface/decl.c (get_variant_part): Make global.
2157 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
2158 types have the same constant size, are record types and T1 has a
2159 variant part while T2 doesn't.
2161 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
2163 * gcc-interface/utils.c (begin_subprog_body): Do not call
2165 (end_subprog_body): Likewise.
2167 2011-05-04 Richard Guenther <rguenther@suse.de>
2169 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
2171 (pos_to_constructor): Likewise.
2173 2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2174 Eric Botcazou <ebotcazou@adacore.com>
2176 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
2177 of build_function_type. Adjust calls to...
2178 (build_raise_check): ...this. Do not take a void_tree parameter.
2179 Call build_function_type_list instead of build_function_type.
2180 Fix head comment and swap couple of conditional blocks.
2182 2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
2184 * gnatvsn.ads (Library_Version): Bump to 4.7.
2185 (Current_Year): Bump to 2011.
2187 2011-04-29 Michael Matz <matz@suse.de>
2189 * gcc-interface/misc.c (gnat_handle_option): Set
2190 warn_maybe_uninitialized.
2192 2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
2194 * gnat_ugn.texi (Complexity Metrics Control): Update link to
2195 the Watson/McCabe paper.
2197 2011-04-23 Jim Meyering <meyering@redhat.com>
2199 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
2201 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
2203 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
2206 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
2208 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
2210 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
2211 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
2212 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
2213 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
2214 <all>: Do not set flags on the reused DECL node coming from an alias.
2215 Set DECL_IGNORED_P on the DECL node built for subprograms if they
2216 don't need debug info here...
2217 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
2218 (gigi): Adjust calls to create_subprog_decl.
2219 (build_raise_check): Likewise.
2220 (establish_gnat_vms_condition_handler): Likewise.
2221 (Compilation_Unit_to_gnu): Likewise.
2222 (gnat_to_gnu): Likewise.
2224 2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
2226 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
2227 (NO_REORDER_ADAFLAGS): New variable.
2228 (EXTRA_GNATTOOLS): Always define.
2229 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
2230 Clean up and adjust list of files compiled with special options.
2231 * gcc-interface/Make-lang.in: Likewise.
2232 (ada/decl.o): Cosmetical change.
2233 (ada/misc.o): Remove dependency on $(PLUGIN_H).
2235 2011-04-20 Jim Meyering <meyering@redhat.com>
2237 * initialize.c (__gnat_initialize): Remove useless if-before-free.
2239 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
2241 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
2242 $(CFLAGS) on the link line.
2244 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
2246 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
2247 padded type built for the return type if it is unconstrained.
2249 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
2251 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
2253 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2255 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
2256 before calling TREE_CHAIN.
2257 * gcc-interface/misc.c (gnat_init_ts): New function.
2258 (LANG_HOOKS_INIT_TS): Define.
2260 2011-04-12 Martin Jambor <mjambor@suse.cz>
2262 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
2263 instead of cgraph_node.
2265 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2267 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
2268 alignment on fields of the RETURN type built for the Copy-In Copy-Out
2271 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2273 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
2274 of aggregate types that contain a placeholder.
2276 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2278 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
2280 (handle_type_generic_attribute): Likewise.
2282 2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
2285 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
2287 2011-04-04 Kai Tietz <ktietz@redhat.com>
2290 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
2293 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2295 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
2296 type case, do not strip a padding type around the array type.
2298 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2300 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
2303 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2305 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
2306 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
2307 code for -feliminate-unused-debug-types.
2308 (gnat_post_options): Likewise.
2310 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2312 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
2313 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
2316 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2318 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
2319 DECL_ARTIFICIAL flag on enumeration types.
2321 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2323 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
2324 fat pointer types artificial unconditionally.
2325 <E_Array_Subtype>: Attach the base array type as a parallel type if it
2328 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2330 * gcc-interface/gigi.h (get_dummy_type): Declare.
2331 (build_dummy_unc_pointer_types): Likewise.
2332 (finish_fat_pointer_type): Likewise.
2333 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
2334 fat pointer type has been built, complete it in place.
2335 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
2336 and thin pointers. Remove useless variable.
2337 (finish_fat_pointer_type): Make global and move to...
2338 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
2339 (get_dummy_type): New function.
2340 (build_dummy_unc_pointer_types): Likewise.
2341 (gnat_pushdecl): Propage the name to the anonymous variants only.
2342 (update_pointer_to): Only adjust the pointer types in the unconstrained
2345 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2347 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
2348 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
2349 if this is a Taft amendment type and the full declaration is available.
2350 * gcc-interface/trans.c (process_type): Likewise.
2351 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
2352 (process_freeze_entity): Likewise.
2353 * gcc-interface/utils.c (dummy_global): New static variable.
2354 (gnat_write_global_declarations): If there are types declared as used
2355 at the global level, insert them in the global hash table.
2357 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2359 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
2360 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
2361 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
2363 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
2364 flag of the type accordingly.
2365 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
2367 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2369 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
2370 finalizing types when updating the pointers to the designated type.
2371 <all>: Finalize the deferred types even if we didn't defer processing
2372 of incomplete types in this invocation.
2374 2011-04-01 Olivier Hainque <hainque@adacore.com>
2375 Nicolas Setton <setton@adacore.com>
2376 Eric Botcazou <ebotcazou@adacore.com>
2378 * gcc-interface/misc.c (gnat_descriptive_type): New function.
2379 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
2381 2011-03-28 Kai Tietz <ktietz@redhat.com>
2383 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
2385 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
2386 * system-mingw.ads (System): Change ZCX_By_Default default to True.
2388 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2390 2011-03-28 Tristan Gingold <gingold@adacore.com>
2393 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
2394 Use ada output of gnatbind.
2395 (ada/b_gnatb.adb): Ditto.
2396 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
2397 (ada.mostlyclean, ada.stage1)
2398 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
2399 (ada.stagefeedback): Adjust.
2400 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
2401 Use ada output of gnatbind.
2402 (b_gnatm.adb): Ditto.
2403 (b_gnatl.o, b_gnatm.o): New rules.
2405 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2407 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
2408 for the padded type built to support a specified size or alignment.
2410 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2412 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
2413 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
2414 unconditionally to the end of the unit when the designated type is
2416 <all>: Rename local variable. Attempt to un-defer types only and do it
2417 for limited_with'ed types as well.
2418 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
2419 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
2420 consistently and remove redundant call to finalize_from_with_types.
2422 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2424 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
2425 subprograms without a previous spec declared in the same unit.
2426 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
2427 subprograms at the end of the unit instead of at the beginning.
2428 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
2429 isn't public for the special handling of non-inline functions nested
2430 inside inline external functions.
2432 2011-03-25 Jeff Law <law@redhat.com>
2434 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
2436 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2438 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
2439 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
2440 to compute Set_Size_Depends_On_Discriminant.
2441 (Layout_Type): Call it on array types in back-end layout mode.
2442 * sem_util.adb (Requires_Transient_Scope): Return true for array
2443 types only if the size depends on the value of discriminants.
2444 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
2445 type if the RHS is a call to a function that returns an unconstrained
2446 type with default discriminant.
2448 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2450 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
2451 non-conversion to the nominal result type at the end.
2453 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2455 * gcc-interface/trans.c (create_temporary): New function taken from...
2456 (create_init_temporary): ...here. Call it.
2457 (call_to_gnu): Create the temporary for the return value early, if any.
2458 Create it for a function with copy-in/copy-out parameters if there is
2459 no target; in other cases of copy-in/copy-out, use another temporary.
2460 Push the new binding level lazily. Add and rename local variables.
2462 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2464 * gcc-interface/decl.c (validate_size): Improve comments and tweak
2466 (set_rm_size): Likewise.
2468 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2470 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
2471 for the padded type built in order to support a specified alignment.
2472 Fix incorrect formatting.
2474 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2477 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
2479 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2481 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
2482 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
2483 to the end of the list. Adjust recursive call. Rename local variable.
2484 If REORDER is true, reorder components of the record type.
2485 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
2486 components_to_record and adjust the parameter list.
2488 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2490 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
2491 disabled, use the variable for bounds of loop iteration scheme.
2493 2011-03-21 Kai Tietz <ktietz@redhat.com>
2496 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
2498 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
2500 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
2501 out whether the expression is read-only. Short-circuit placeholder
2502 case and rename a couple of local variables.
2504 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
2506 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
2507 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
2508 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
2509 (convert): Deal with conversions from a smaller form type specially.
2511 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
2513 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
2514 its argument, except for the special -I- switch.
2516 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
2518 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
2521 2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
2523 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
2525 2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
2527 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
2529 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
2530 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
2531 instead of GNAT_FORMAL. Protect the expression against multiple uses.
2532 Do not generate the check directly, instead instantiate the template
2533 check present in the descriptor.
2534 (make_descriptor_field): Move around.
2535 (build_vms_descriptor32): Build a template check in the POINTER field.
2536 (build_vms_descriptor): Remove useless suffixes.
2537 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
2539 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
2542 * targext.c: Include target files if IN_RTS is defined.
2544 2011-01-26 Richard Guenther <rguenther@suse.de>
2547 * targext.c: Include config.h.
2548 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
2551 2011-01-04 Pascal Obry <obry@adacore.com>
2552 Eric Botcazou <ebotcazou@adacore.com>
2554 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
2556 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2558 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
2559 end-of-case on the end label and its associated gotos, if any.
2561 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2563 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
2564 expressions of the parameter cache within the statement group of
2567 2011-01-04 Olivier Hainque <hainque@adacore.com>
2568 Eric Botcazou <ebotcazou@adacore.com>
2570 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
2571 (set_end_locus_from_node): New function.
2572 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
2573 make and the function end_locus.
2574 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
2575 for the elaboration subprogram.
2576 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
2577 set the end_locus of the expression as well.
2579 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2582 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
2583 variables that are referenced in exception handlers volatile.
2587 Copyright (C) 2011 Free Software Foundation, Inc.
2589 Copying and distribution of this file, with or without modification,
2590 are permitted in any medium without royalty provided the copyright
2591 notice and this notice are preserved.