]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
Refine previous change.
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
a01b9df6
AC
12011-08-02 Robert Dewar <dewar@adacore.com>
2
3 * sem_attr.adb: Minor reformatting.
4
52011-08-02 Robert Dewar <dewar@adacore.com>
6
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
12 * exp_ch13.adb
13 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
14 * exp_ch3.adb
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
21 * sem_ch13.adb
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
25
262011-08-02 Ed Schonberg <schonberg@adacore.com>
27
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.
31
75c90775
AC
322011-08-02 Ed Schonberg <schonberg@adacore.com>
33
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.
39
402011-08-02 Geert Bosch <bosch@adacore.com>
41
42 * cstand.adb (Create_Float_Types): Only consider C's long double for
43 Long_Long_Float, in addition to double.
44
ded8909b
AC
452011-08-02 Robert Dewar <dewar@adacore.com>
46
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:
50 Minor reformatting.
51
522011-08-02 Ed Schonberg <schonberg@adacore.com>
53
54 * sem_attr.adb: handle properly 'Result when it is a prefix of an
55 indexed component.
56
572011-08-02 Javier Miranda <miranda@adacore.com>
58
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
64 this attribute.
65
70c34e1c
AC
662011-08-02 Javier Miranda <miranda@adacore.com>
67
68 * exp_pakd.adb (Expand_Packed_Element_Reference): Disable this routine
69 in CodePeer mode.
70
712011-08-02 Geert Bosch <bosch@adacore.com>
72
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
81 Nlist
82 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
83
842011-08-02 Robert Dewar <dewar@adacore.com>
85
86 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
87 alpha order).
88 * opt.ads: Minor comment change.
89 * sem_ch12.adb: Minor code reorganization.
90
b715bc59
AC
912011-08-02 Gary Dismukes <dismukes@adacore.com>
92
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.
96
972011-08-02 Geert Bosch <bosch@adacore.com>
98
99 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
100 using the one from System.Strings, which also deallocates all strings.
101
002bdd68
AC
1022011-08-02 Geert Bosch <bosch@adacore.com>
103
104 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
105 function.
106 * gcc-interface/Make-lang.in: Update dependencies.
107
1082011-08-02 Olivier Hainque <hainque@adacore.com>
109
110 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
111 end_locus.
112
499769ec
AC
1132011-08-02 Javier Miranda <miranda@adacore.com>
114
115 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
116 associated with anonymous access to subprograms.
117
1182011-08-02 Geert Bosch <bosch@adacore.com>
119
120 * opt.ads
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.
129 * sem_warn.adb
130 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
131 Move to warnsw.adb.
132 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
133 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
134 Move to warnsw.adb.
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.
139
aa1e353a
AC
1402011-08-02 Yannick Moy <moy@adacore.com>
141
142 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
143 mode on initialization expression which does not respect SPARK
144 restrictions.
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
148 declaration.
149
1502011-08-02 Javier Miranda <miranda@adacore.com>
151
152 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
153 internally generated access to subprogram with its associated protected
154 subprogram type.
155 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
156
15b682ca
GB
1572011-08-02 Geert Bosch <bosch@adacore.com>
158
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
169 * sem_prag.adb
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.
177
f8726f2b
AC
1782011-08-02 Eric Botcazou <ebotcazou@adacore.com>
179
180 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
181 functions to previous change. Reorganize code slightly.
182
1832011-08-02 Geert Bosch <bosch@adacore.com>
184
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
189 available types.
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.
202
feecad68
AC
2032011-08-02 Eric Botcazou <ebotcazou@adacore.com>
204
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.
210
2112011-08-02 Thomas Quinot <quinot@adacore.com>
212
213 * s-stusta.adb (Print): Make sure Pos is always initialized to a
214 suitable value.
215
12f0c50c
AC
2162011-08-02 Geert Bosch <bosch@adacore.com>
217
218 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
219
2202011-08-02 Eric Botcazou <ebotcazou@adacore.com>
221
222 * sem_type.adb (Covers): Move trivial case to the top and reuse the
223 computed value of Base_Type.
224
2252011-08-02 Yannick Moy <moy@adacore.com>
226
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
240 order.
241
fb86fe11
ES
2422011-08-02 Ed Schonberg <schonberg@adacore.com>
243
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
250 generated.
251 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
252
62be5d0a
JM
2532011-08-02 Javier Miranda <miranda@adacore.com>
254
255 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
256 * gcc-interface/Make-lang.in: Update dependencies.
257
2582011-08-02 Javier Miranda <miranda@adacore.com>
259
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
265 Remove_Side_Effects.
266
2672011-08-02 Javier Miranda <miranda@adacore.com>
268
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
273 expanded.
274
a20f4389
AC
2752011-08-02 Ed Falis <falis@adacore.com>
276
277 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
278 Update header.
279
2802011-08-02 Bob Duff <duff@adacore.com>
281
282 * opt.ads: Minor comment fix.
283
2842011-08-02 Bob Duff <duff@adacore.com>
285
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.
294
2952011-08-02 Robert Dewar <dewar@adacore.com>
296
297 * uname.adb: Minor reformatting.
298 * gnatcmd.adb: Minor reformatting.
299 * exp_attr.adb: Minor reformatting.
300
90878b12
AC
3012011-08-02 Ed Schonberg <schonberg@adacore.com>
302
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.
306
3072011-08-02 Bob Duff <duff@adacore.com>
308
309 * stylesw.ads: Minor comment fixes.
310
3112011-08-02 Robert Dewar <dewar@adacore.com>
312
313 * freeze.adb (Add_To_Result): New procedure.
314
3152011-08-02 Jose Ruiz <ruiz@adacore.com>
316
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.
320
3212011-08-02 Arnaud Charlet <charlet@adacore.com>
322
323 * s-regpat.ads: Fix typo.
324
3252011-08-02 Vincent Celier <celier@adacore.com>
326
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.
330
3312011-08-02 Eric Botcazou <ebotcazou@adacore.com>
332
333 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
334
3352011-08-02 Ed Schonberg <schonberg@adacore.com>
336
337 * sem_elim.adb: an abstract subprogram does not need an eliminate
338 pragma for its descendant to be eliminable.
339
3402011-08-02 Ed Falis <falis@adacore.com>
341
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
350 signals.
351
273adcdf
AC
3522011-08-02 Jerome Guitton <guitton@adacore.com>
353
354 * a-except-2005.adb (Raise_From_Signal_Handler): Call
355 Debug_Raise_Exception before propagation starts.
356
3572011-08-02 Eric Botcazou <ebotcazou@adacore.com>
358
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.
364
3652011-08-02 Bob Duff <duff@adacore.com>
366
367 * stylesw.ads: Update comment.
368 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
369 * errout.ads: Remove obsolete comment.
370
3712011-08-02 Javier Miranda <miranda@adacore.com>
372
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.
382
6320f5e1
AC
3832011-08-02 Robert Dewar <dewar@adacore.com>
384
385 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
386 sem_res.adb, sem_ch6.adb: Minor reformatting.
387
3882011-08-02 Jerome Guitton <guitton@adacore.com>
389
390 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
391
2fe829ae
ES
3922011-08-02 Ed Schonberg <schonberg@adacore.com>
393
394 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
395 not set Overridden_Operation if subprogram is an initialization
396 procedure.
397
e24329cd
YM
3982011-08-02 Yannick Moy <moy@adacore.com>
399
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
416 extended type.
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
423 subprogram call
424 (Is_SPARK_Object_Reference): new function which determines if the tree
425 referenced by its argument represents an object in SPARK
426
176dadf6
AC
4272011-08-02 Robert Dewar <dewar@adacore.com>
428
429 * sem_ch3.adb: Minor reformatting
430 Minor comment addition
431 Minor error msg text change
432
4332011-08-02 Javier Miranda <miranda@adacore.com>
434
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
438 expressions.
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.
444
d8b962d8
AC
4452011-08-02 Robert Dewar <dewar@adacore.com>
446
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
450
4512011-08-02 Robert Dewar <dewar@adacore.com>
452
453 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
454 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
455
4562011-08-02 Arnaud Charlet <charlet@adacore.com>
457
458 * gcc-interface/Make-lang.in: Update dependencies.
459 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
460 targets.
461
4622011-08-02 Yannick Moy <moy@adacore.com>
463
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
476 component
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
483
4842011-08-02 Vincent Celier <celier@adacore.com>
485
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.
489
4902011-08-02 Robert Dewar <dewar@adacore.com>
491
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
496
f96b2d85
AC
4972011-08-02 Eric Botcazou <ebotcazou@adacore.com>
498
499 * einfo.adb (Base_Type): Tune implementation for speed.
500
5012011-08-02 Robert Dewar <dewar@adacore.com>
502
503 * freeze.adb: Minor reformatting.
504
8b3c6430
AC
5052011-08-02 Thomas Quinot <quinot@adacore.com>
506
507 * scos.ads: Update comments.
508
5092011-08-02 Ed Schonberg <schonberg@adacore.com>
510
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.
514
5152011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
516
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.
525
5262011-08-02 Matthew Gingell <gingell@adacore.com>
527
528 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
529 unused parameter 'name'.
530
5312011-08-02 Ed Schonberg <schonberg@adacore.com>
532
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.
536
cae81f17
JM
5372011-08-02 Javier Miranda <miranda@adacore.com>
538
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
551 Force_Evaluation.
552
218e6dee
RD
5532011-08-02 Robert Dewar <dewar@adacore.com>
554
555 * sem_ch3.adb, sem_res.adb: Minor reformatting.
556
7a489a2b
AC
5572011-08-02 Yannick Moy <moy@adacore.com>
558
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
562 in formal mode.
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
565 of 2.
566 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
567 range.
568 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
569 subtype mark.
570 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
571 operator on modular type (except 'not').
572
5732011-08-02 Robert Dewar <dewar@adacore.com>
574
575 * gnat_rm.texi: Minor reformatting.
576
cb7fa356
AC
5772011-08-02 Arnaud Charlet <charlet@adacore.com>
578
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.
582
5832011-08-02 Robert Dewar <dewar@adacore.com>
584
585 * s-utf_32.ads: Minor comment fix.
586
5872011-08-02 Ed Schonberg <schonberg@adacore.com>
588
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.
592
5932011-08-02 Yannick Moy <moy@adacore.com>
594
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.
601
5cc9353d
RD
6022011-08-02 Robert Dewar <dewar@adacore.com>
603
604 * sem_res.adb: Minor reformatting.
605
e51537ff
RD
6062011-08-02 Robert Dewar <dewar@adacore.com>
607
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
612
83fa09c5
AC
6132011-08-02 Yannick Moy <moy@adacore.com>
614
615 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
616 a-cforse.ads: Update comments.
617
6182011-08-02 Ed Schonberg <schonberg@adacore.com>
619
620 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
621
d11cfaf8
RD
6222011-08-02 Robert Dewar <dewar@adacore.com>
623
624 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
625 a-cforse.ads, a-cofove.ads: Minor reformatting.
626
300b98bb
AC
6272011-08-02 Claire Dross <dross@adacore.com>
628
629 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
630 a-cofove.ads: Add comments.
631
6322011-08-02 Yannick Moy <moy@adacore.com>
633
634 * gnat_rm.texi: Document formal containers.
635
6362011-08-02 Emmanuel Briot <briot@adacore.com>
637
638 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
639 are empty sections.
640
19fb051c
AC
6412011-08-02 Robert Dewar <dewar@adacore.com>
642
643 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
644 reformatting.
645
6462011-08-02 Robert Dewar <dewar@adacore.com>
647
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
659 table.
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
667
6682011-08-02 Vincent Celier <celier@adacore.com>
669
670 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
671 inherit library kind.
672
6732011-08-02 Ed Schonberg <schonberg@adacore.com>
674
675 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
676 Minor reformatting.
677
6782011-08-02 Robert Dewar <dewar@adacore.com>
679
680 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
681
5f7747af
AC
6822011-08-02 Yannick Moy <moy@adacore.com>
683
684 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
685
6862011-08-02 Robert Dewar <dewar@adacore.com>
687
688 * impunit.adb: Add comment.
689
a5fe697b
AC
6902011-08-02 Yannick Moy <moy@adacore.com>
691
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
695 another aggregate
696 (Resolve_Aggregate): complete the test that an aggregate is adequately
697 qualified in formal mode
698
6992011-08-02 Pascal Obry <obry@adacore.com>
700
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
704 generated file.
705
bd65a2d7 7062011-08-02 Yannick Moy <moy@adacore.com>
d4487611 707
bd65a2d7
AC
708 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
709 from here...
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
713
7142011-08-02 Ed Schonberg <schonberg@adacore.com>
715
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.
719
7202011-08-02 Claire Dross <dross@adacore.com>
721
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.
d4487611
AC
726
7272011-08-02 Robert Dewar <dewar@adacore.com>
728
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.
731
bd434b3f
YM
7322011-08-02 Yannick Moy <moy@adacore.com>
733
734 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
735 formal mode
736 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
737 matching static array bounds, taking into account the special case of
738 string literals
739 * sem_ch3.adb: Typo in comment.
740
fe5d3068
YM
7412011-08-02 Yannick Moy <moy@adacore.com>
742
743 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
744 which issues an error in formal mode if its argument node is originally
745 from source
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
748 of derived types
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.
760
b60a3f26
AC
7612011-08-02 Ed Schonberg <schonberg@adacore.com>
762
763 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
764 reference when needed.
765
7662011-08-02 Bob Duff <duff@adacore.com>
767
768 * gnat_ugn.texi: Fix typo.
769
7702011-08-02 Vincent Celier <celier@adacore.com>
771
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
774 VMS.
775
eaba57fb
RD
7762011-08-02 Robert Dewar <dewar@adacore.com>
777
778 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
779 Analyze_Aspect_Specifications
780 * sem_ch13.adb
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
787
7882011-08-02 Robert Dewar <dewar@adacore.com>
789
790 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
791 aspects, since these no longer exist.
792
7932011-08-02 Robert Dewar <dewar@adacore.com>
794
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
798 aspect spec.
799
8830d1d2
AC
8002011-08-02 Robert Dewar <dewar@adacore.com>
801
802 * sem_ch8.adb, aspects.ads: Minor reformatting.
803
8042011-08-02 Eric Botcazou <ebotcazou@adacore.com>
805
806 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
807 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
808 extracted from...
809 (Analyze_Aspect_Specifications): ...here. Call above procedure.
810
7ff2d234
AC
8112011-08-02 Yannick Moy <moy@adacore.com>
812
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
819 incomplete type
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
835
8362011-08-02 Robert Dewar <dewar@adacore.com>
837
838 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
839
806f6d37
AC
8402011-08-02 Javier Miranda <miranda@adacore.com>
841
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.
848 * einfo.adb
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.
852
8532011-08-02 Jose Ruiz <ruiz@adacore.com>
854
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.
859
8602011-08-02 Vincent Celier <celier@adacore.com>
861
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>.
864
8652011-08-02 Ed Schonberg <schonberg@adacore.com>
866
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
869 use_visible.
870
8712011-08-02 Ed Falis <falis@adacore.com>
872
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
876 simplify remaining
877 * s-intman-vxworks.ads: remove unnecessary variable
878 * s-taprop-vxworks.adb: simplify signal initialization
879
780d052e
RD
8802011-08-02 Robert Dewar <dewar@adacore.com>
881
882 * sem_ch8.adb: Minor code reorganization, comment updates.
883
8842011-08-02 Robert Dewar <dewar@adacore.com>
885
886 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
887 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
888 here from Sem_Res.
889 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
890 (Matching_Static_Array_Bounds): Moved here from Sem_Res
891
29efbb8c
ES
8922011-08-02 Ed Schonberg <schonberg@adacore.com>
893
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
898 constructs.
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.
902
b0186f71
AC
9032011-08-02 Robert Dewar <dewar@adacore.com>
904
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.
908
9092011-08-02 Ed Schonberg <schonberg@adacore.com>
910
911 * sem_ch4.adb: transform simple Ada2012 membership into equality only
912 if types are compatible.
913
9142011-08-02 Yannick Moy <moy@adacore.com>
915
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
928 bounds.
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
936
767bb4e8
AC
9372011-08-02 Robert Dewar <dewar@adacore.com>
938
939 * par-ch10.adb: Minor code reorganization (use Nkind_In).
940
9412011-08-02 Ed Schonberg <schonberg@adacore.com>
942
943 * par-ch9.adb: save location of entry for proper error message.
944
4ac2477e
JM
9452011-08-02 Javier Miranda <miranda@adacore.com>
946
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
957 call to Is_Ancestor.
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.
967 * exp_cg.adb
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.
970
9f90d123
AC
9712011-08-02 Robert Dewar <dewar@adacore.com>
972
973 * gnat_rm.texi: Minor reformatting.
974 * sem_prag.adb: Minor reformatting.
975
9762011-08-02 Tristan Gingold <gingold@adacore.com>
977
978 * vms_data.ads: Add VMS qualifier for -gnateP.
979
9802011-08-02 Robert Dewar <dewar@adacore.com>
981
982 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
983 * par-ch7.adb (P_Package): Proper placement of aspects for package
984 decl/instantiation.
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
990
9912011-08-02 Vincent Celier <celier@adacore.com>
992
993 * ug_words: Add VMS qualifier equivalent to -gnateP:
994 /SYMBOL_PREPROCESSING.
995
9962011-08-02 Jose Ruiz <ruiz@adacore.com>
997
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
1001 characters.
1002
10032011-08-02 Yannick Moy <moy@adacore.com>
1004
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
1008 properly qualified
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
1012 mark as ancestor
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
1020
2933b16c
RD
10212011-08-01 Robert Dewar <dewar@adacore.com>
1022
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).
1028 * errout.ads
1029 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
1030 blank in string (this was inconsistently implemented).
1031 * gnat1drv.adb
1032 (Set_Global_Switches): Set formal mode switches appropriately
1033 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
1034 * par-prag.adb
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
1040 name.
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.
1051
05dbd302
AC
10522011-08-01 Javier Miranda <miranda@adacore.com>
1053
1054 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
1055 condition that detects if the overridden operation must replace an
1056 existing entity.
1057
10582011-08-01 Javier Miranda <miranda@adacore.com>
1059
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.
1063
10642011-08-01 Robert Dewar <dewar@adacore.com>
1065
1066 * sem_ch6.adb: Minor code reorganization.
1067 * sem_util.adb: Minor reformatting.
1068
af9e051f
PO
10692011-08-01 Pascal Obry <obry@adacore.com>
1070
1071 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
1072 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
1073
1d801f21
AC
10742011-08-01 Yannick Moy <moy@adacore.com>
1075
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
1088 * sem_ch5.adb
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
1100 not serious.
1101 * sinfo.ads: Typos in comments.
1102
11032011-08-01 Pascal Obry <obry@adacore.com>
1104
1105 * projects.texi: Minor editing.
1106
53beff22
YM
11072011-08-01 Yannick Moy <moy@adacore.com>
1108
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
1128 (none by default).
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
1133 into account.
1134
8d606a78
RD
11352011-08-01 Robert Dewar <dewar@adacore.com>
1136
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
1140
1982d5a8
PO
11412011-08-01 Pascal Obry <obry@adacore.com>
1142
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
1150 search path.
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
1154 Part.Parse routine.
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
1158 compilation.
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.
1161
0d53d36b
AC
11622011-08-01 Yannick Moy <moy@adacore.com>
1163
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.
1168
11692011-08-01 Robert Dewar <dewar@adacore.com>
1170
1171 * checks.adb, exp_ch4.adb: Minor reformatting.
1172
11732011-08-01 Javier Miranda <miranda@adacore.com>
1174
1175 * einfo.ads (Access_Disp_Table): Fix documentation.
1176 (Dispatch_Table_Wrappers): Fix documentation.
1177
11782011-08-01 Pascal Obry <obry@adacore.com>
1179
1180 * prj-env.adb, prj-env.ads: Minor reformatting.
1181
8ed68165
AC
11822011-08-01 Yannick Moy <moy@adacore.com>
1183
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
1195 is not visible
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
1203 entity.
1204 * sem_ch6.ads, sem_ch13.ads: typos in comments.
1205
12062011-08-01 Thomas Quinot <quinot@adacore.com>
1207
1208 * atree.adb: Minor reformatting.
1209 * checks.adb: Minor reformatting.
1210
4230bdb7
AC
12112011-08-01 Vincent Celier <celier@adacore.com>
1212
1213 * s-parame-vms-ia64.ads: Fix typo in comment
1214 Minor reformatting
1215 * s-parame-vms-restrict.ads: Removed, unused.
1216
12172011-08-01 Javier Miranda <miranda@adacore.com>
1218
1219 * exp_ch3.adb
1220 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
1221 * sem_ch3.adb
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
1232 object.
1233 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
1234 parent type.
1235 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
1236 we cannot have semantic interpretations of the new node.
1237
2010d078
AC
12382011-08-01 Ed Schonberg <schonberg@adacore.com>
1239
1240 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
1241 expressions.
1242
12432011-08-01 Arnaud Charlet <charlet@adacore.com>
1244
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.
1249
12502011-08-01 Thomas Quinot <quinot@adacore.com>
1251
1252 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
1253
12542011-08-01 Ed Schonberg <schonberg@adacore.com>
1255
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.
1259
12602011-08-01 Tristan Gingold <gingold@adacore.com>
1261
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.
1265
daec8eeb
YM
12662011-08-01 Yannick Moy <moy@adacore.com>
1267
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
1278 procedure
1279 * sem_ch8.adb: Code clean up.
1280
38171f43
AC
12812011-08-01 Javier Miranda <miranda@adacore.com>
1282
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
1298 Access_Disp_Table.
1299
13002011-08-01 Ed Schonberg <schonberg@adacore.com>
1301
1302 * s-poosiz.ads: Additional overriding indicators.
1303
13042011-08-01 Yannick Moy <moy@adacore.com>
1305
1306 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
1307 formal mode.
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
1315 default expression.
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.
1324
1f250383
AC
13252011-08-01 Thomas Quinot <quinot@adacore.com>
1326
1327 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
1328 declaration being hidden when overriding an implicit inherited
1329 subprogram.
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
1332 pragma No_Body.
1333
13342011-08-01 Ed Schonberg <schonberg@adacore.com>
1335
1336 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
1337 variable if already set.
1338
607d0635
AC
13392011-08-01 Arnaud Charlet <charlet@adacore.com>
1340
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.
1391
13922011-08-01 Bob Duff <duff@adacore.com>
1393
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
1397 reformatting.
1398
13992011-08-01 Yannick Moy <moy@adacore.com>
1400
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
1408 mode.
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
1411 language
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
1415 block statement
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
1433 is a loop.
1434
14352011-08-01 Thomas Quinot <quinot@adacore.com>
1436
1437 * sem_ch6.ads: Minor reformatting.
1438
d8b3ccb9
AC
14392011-08-01 Javier Miranda <miranda@adacore.com>
1440
1441 * sem_util.adb (Abstract_Interface_List): Complete condition when
1442 processing private type declarations to avoid reading unavailable
1443 attribute.
1444 (Is_Synchronized_Tagged_Type): Complete condition when processing
1445 private extension declaration nodes to avoid reading unavailable
1446 attribute.
1447
14482011-08-01 Thomas Quinot <quinot@adacore.com>
1449
1450 * sem_ch3.adb: Minor reformatting.
1451
14522011-08-01 Thomas Quinot <quinot@adacore.com>
1453
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.
1460
0bb9276c
AC
14612011-08-01 Eric Botcazou <ebotcazou@adacore.com>
1462
1463 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
1464
14652011-08-01 Tristan Gingold <gingold@adacore.com>
1466
1467 * seh_init.c: Fix SEH handler installation on win64.
1468
14692011-08-01 Ed Schonberg <schonberg@adacore.com>
1470
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.
1474
6a2e4f0b
AC
14752011-08-01 Robert Dewar <dewar@adacore.com>
1476
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.
1480
14812011-08-01 Arnaud Charlet <charlet@adacore.com>
1482
1483 * gnat_rm.texi: Fix definition of Long_Integer.
1484
14852011-08-01 Ed Schonberg <schonberg@adacore.com>
1486
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.
1493
4561baf7
ES
14942011-08-01 Ed Schonberg <schonberg@adacore.com>
1495
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.
1502
383e179e
AC
15032011-08-01 Ed Schonberg <schonberg@adacore.com>
1504
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.
1508
15092011-08-01 Bob Duff <duff@adacore.com>
1510
1511 * einfo.ads: Minor reformatting.
1512 * debug.adb: Minor comment improvement.
1513
15142011-08-01 Javier Miranda <miranda@adacore.com>
1515
1516 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
1517 consider hidden subprograms as valid candidates.
1518
15192011-08-01 Arnaud Charlet <charlet@adacore.com>
1520
1521 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
1522
15232011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
1524
1525 * gnat_ugn.texi: Fix typo.
1526
61c161b2
AC
15272011-08-01 Robert Dewar <dewar@adacore.com>
1528
1529 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
1530 lib-xref.adb: Minor reformatting
1531
15322011-08-01 Gary Dismukes <dismukes@adacore.com>
1533
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.
1537
84df40f7
AC
15382011-08-01 Geert Bosch <bosch@adacore.com>
1539
1540 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
1541 "," in choice list.
1542
15432011-08-01 Thomas Quinot <quinot@adacore.com>
1544
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.
1548
15492011-08-01 Robert Dewar <dewar@adacore.com>
1550
1551 * sinfo.ads: Add comment.
1552 * sem_ch6.adb: Minor reformatting.
1553
15542011-08-01 Robert Dewar <dewar@adacore.com>
1555
1556 * freeze.adb (Freeze_Entity): Refine check for bad component size
1557 clause to avoid rejecting confirming clause when atomic/aliased present.
1558
15592011-08-01 Ed Schonberg <schonberg@adacore.com>
1560
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
1564 subcomponent.
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.
1568
15692011-08-01 Tristan Gingold <gingold@adacore.com>
1570
1571 * env.c (__gnat_setenv) [VMS]: Refine previous change.
1572
15732011-08-01 Quentin Ochem <ochem@adacore.com>
1574
1575 * i-cstrin.adb (New_String): Changed implementation, now uses only the
1576 heap to compute the result.
1577
c7f0d2c0
AC
15782011-08-01 Robert Dewar <dewar@adacore.com>
1579
1580 * atree.ads: Minor reformatting.
1581
15822011-08-01 Emmanuel Briot <briot@adacore.com>
1583
1584 * g-expect.adb (Get_Command_Output): Fix memory leak.
1585
15862011-08-01 Geert Bosch <bosch@adacore.com>
1587
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.
1594
15952011-08-01 Thomas Quinot <quinot@adacore.com>
1596
1597 * sem_ch3.adb: Minor reformatting.
1598
15992011-08-01 Ed Schonberg <schonberg@adacore.com>
1600
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.
1604
16052011-08-01 Yannick Moy <moy@adacore.com>
1606
1607 * sinfo.ads, errout.ads: Typos in comments.
1608
1c54829e
AC
16092011-08-01 Robert Dewar <dewar@adacore.com>
1610
1611 * par-endh.adb: Minor reformatting.
1612
16132011-08-01 Robert Dewar <dewar@adacore.com>
1614
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
1622 new aspect syntax
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
1627 aspects
1628 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
1629 specs
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
1633
16342011-08-01 Thomas Quinot <quinot@adacore.com>
1635
1636 * atree.ads: Minor reformatting.
1637 * sem_prag.adb: Minor reformatting.
1638
16392011-08-01 Robert Dewar <dewar@adacore.com>
1640
1641 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
1642 case expr alternative.
1643
16442011-08-01 Ed Schonberg <schonberg@adacore.com>
1645
1646 * sem_ch12.adb: Fix typo.
1647
9eea4346
GB
16482011-08-01 Geert Bosch <bosch@adacore.com>
1649
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
1659 function.
1660 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
1661 * einfo.adb:
1662 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
1663
3d6c3bd7
GB
16642011-08-01 Geert Bosch <bosch@adacore.com>
1665
1666 * cstand.adb: Fix comments.
1667 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
1668 count of arguments.
1669
e7d897b8
AC
16702011-08-01 Robert Dewar <dewar@adacore.com>
1671
1672 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
1673
16742011-08-01 Geert Bosch <bosch@adacore.com>
1675
1676 * atree.ads: Fix comment.
1677
c228a069
AC
16782011-08-01 Robert Dewar <dewar@adacore.com>
1679
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.
1684
16852011-08-01 Vincent Celier <celier@adacore.com>
1686
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):
1691 New procedure.
1692
16932011-08-01 Thomas Quinot <quinot@adacore.com>
1694
1695 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
1696 reformatting.
1697
16982011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1699
1700 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
1701
17022011-08-01 Thomas Quinot <quinot@adacore.com>
1703
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.
1710
857ade1b
RD
17112011-08-01 Robert Dewar <dewar@adacore.com>
1712
1713 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
1714 Postcondition.
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.
1719
bd949ee2
RD
17202011-08-01 Robert Dewar <dewar@adacore.com>
1721
1722 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
1723 here.
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,
1731 not needed.
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.
1737
f1c952af
RD
17382011-08-01 Robert Dewar <dewar@adacore.com>
1739
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
1748
17492011-08-01 Robert Dewar <dewar@adacore.com>
1750
1751 * usage.adb: Documentation cleanup for Ada version modes in usage.
1752 * expander.adb: Minor reformatting.
1753
47e11d08
AC
17542011-08-01 Robert Dewar <dewar@adacore.com>
1755
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.
1759
17602011-08-01 Doug Rupp <rupp@adacore.com>
1761
1762 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
1763 pointers. Use descrip.h header file for convenience. Add some
1764 comments.
1765
17662011-08-01 Robert Dewar <dewar@adacore.com>
1767
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):
1771 New procedure.
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.
1776
17772011-08-01 Pascal Obry <obry@adacore.com>
1778
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.
1782
a3a16b21
VC
17832011-08-01 Vincent Celier <celier@adacore.com>
1784
1785 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
1786 High is above Source length.
1787
ff58cc69
RD
17882011-08-01 Robert Dewar <dewar@adacore.com>
1789
1790 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
1791
6bb88533
AC
17922011-08-01 Robert Dewar <dewar@adacore.com>
1793
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
1797 aspects.
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.
1805
18062011-08-01 Matthew Heaney <heaney@adacore.com>
1807
1808 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
1809
060a3f28
AC
18102011-08-01 Pascal Obry <obry@adacore.com>
1811
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
1815 string length.
1816
18172011-08-01 Gary Dismukes <dismukes@adacore.com>
1818
1819 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
1820
e7f567a3
AC
18212011-08-01 Matthew Heaney <heaney@adacore.com>
1822
1823 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
1824 of node.
1825
18262011-08-01 Pascal Obry <obry@adacore.com>
1827
1828 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
1829 reformatting.
1830
1a265e78
AC
18312011-08-01 Ed Schonberg <schonberg@adacore.com>
1832
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.
1839
18402011-08-01 Vincent Celier <celier@adacore.com>
1841
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.
1845
67e28ef8
ES
18462011-08-01 Ed Schonberg <schonberg@adacore.com>
1847
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.
1851
6da2ca7d
RO
18522011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1853
1854 * init.c (__gnat_error_handler): Cast reason to int.
1855 (__gnat_install_handler): Explain sa_sigaction use.
1856
7d5997c6
EB
18572011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1858
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.
1862
4b4cfdd5
EB
18632011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1864
1865 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
1866 left operand as addressable.
1867
f3d34576
EB
18682011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1869
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.
1884
0a6ecc08
AC
18852011-07-23 Arnaud Charlet <charlet@adacore.com>
1886
1887 PR ada/49819
1888 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
1889 g-trasym-dwarf.adb.
1890
5b6d595b
RO
18912011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1892
1893 PR bootstrap/49794
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.
1898
94017021
RO
18992011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1900
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.
1905
52fd02bb
EB
19062011-07-21 Eric Botcazou <ebotcazou@adacore.com>
1907
1908 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
1909 (GNAT1_OBJS): ...here.
1910
f39a9ca2
EB
19112011-07-15 Eric Botcazou <ebotcazou@adacore.com>
1912
1913 PR ada/48711
1914 * g-socthi-mingw.adb (Fill): Fix formatting.
1915
9e36aa23
EB
1916 * gcc-interface/gigi.h: Move around comment.
1917
e3aca522
JDA
19182011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1919
1920 PR ada/46350
1921 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
1922
696b1960
FW
19232011-07-14 Florian Weimer <fw@deneb.enyo.de>
1924
1925 PR ada/48711
1926 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
1927
f542c405
EB
19282011-07-13 Eric Botcazou <ebotcazou@adacore.com>
1929
1930 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
1931 range comparison if Pmode is SImode.
1932
9e9bd455
LG
19332011-07-12 Laurent GUERBY <laurent@guerby.net>
1934 Eric Botcazou <ebotcazou@adacore.com>
1935
1936 * adadecode.c: Wrap up in extern "C" block.
1937 * adadecode.h: Likewise.
1938 * adaint.c: Likewise. Remove 'const' keyword.
1939 * adaint.h: Likewise.
1940 * argv.c: Likewise.
1941 * atree.h: Likewise.
1942 * cio.c: Likewise.
1943 * cstreams.c: Likewise.
1944 * env.c: Likewise.
1945 * exit.c: Likewise.
1946 * fe.h: Likewise.
1947 * final.c: Likewise.
1948 * init.c: Likewise.
1949 * initialize.c: Likewise.
1950 * link.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.
1973
7644b3c7
RH
19742011-07-07 Richard Henderson <rth@redhat.com>
1975
1976 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1977 dwarf2out_frame_init.
1978
8384ac41
EB
19792011-07-07 Eric Botcazou <ebotcazou@adacore.com>
1980
1981 * gcc-interface/misc.c (gnat_init): Tweak previous change.
1982
fbdd5d87
RO
19832011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1984
1985 PR target/39150
1986 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
1987
1a072294
RG
19882011-07-06 Richard Guenther <rguenther@suse.de>
1989
8384ac41
EB
1990 * gcc-interface/misc.c (gnat_init): Merge calls to
1991 build_common_tree_nodes and build_common_tree_nodes_2.
1a072294
RG
1992 Re-initialize boolean_false_node.
1993
bc712852
EB
19942011-07-02 Eric Botcazou <ebotcazou@adacore.com>
1995 Olivier Hainque <hainque@adacore.com>
1996 Nicolas Setton <setton@adacore.com>
1997
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.
2002
2eb22389
EB
20032011-07-01 Eric Botcazou <ebotcazou@adacore.com>
2004
2005 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
2006 (gnatbind): Likewise.
2007
4bdaaf2f
RO
20082011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2009
2010 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
2011
c020c92b
EB
20122011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2013
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.
2019
96769d32
EB
20202011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2021
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.
2024
7e4680c1
EB
20252011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2026
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.
2036
20372011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
d5cc9181
JR
2038
2039 PR middle-end/46500
2040 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
2041
677f3fa8
JM
20422011-06-14 Joseph Myers <joseph@codesourcery.com>
2043
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.
2050
009db074
RG
20512011-06-07 Richard Guenther <rguenther@suse.de>
2052
0bad0e23
EB
2053 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
2054 set_sizetype.
009db074 2055
3bfc61cf
EB
20562011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2057
0bad0e23 2058 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
3bfc61cf
EB
2059 TREE_THIS_NOTRAP flag.
2060
5c4a1c7b
EB
20612011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2062
2063 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
2064 Fix thinko.
2065
e9f57686
EB
20662011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2067
2068 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
2069 constants whose full view has discriminants specially.
2070
10e4d056
EB
20712011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2072
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.
2077
0957c029
JJ
20782011-05-25 Jakub Jelinek <jakub@redhat.com>
2079
2080 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
2081
52d0a7ac
KT
20822011-05-25 Kai Tietz <ktietz@redhat.com>
2083
2084 * adaint.c (__gnat_to_canonical_file_list_next): Use array
2085 initialization instead of const/none-const pointer assignment.
2086
1ed1641d
JM
20872011-05-24 Joseph Myers <joseph@codesourcery.com>
2088
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.
2096
9fe72ebd
JM
20972011-05-21 Joseph Myers <joseph@codesourcery.com>
2098
2099 PR ada/49097
0bad0e23 2100 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9fe72ebd 2101
2691e6d7
JM
21022011-05-20 Joseph Myers <joseph@codesourcery.com>
2103
0bad0e23
EB
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.
2691e6d7 2107
bf6490b5
KT
21082011-05-18 Kai Tietz <ktietz@redhat.com>
2109
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.
2114
7bf9a5ac
EB
21152011-05-12 Eric Botcazou <ebotcazou@adacore.com>
2116
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.
2120
e5b00edf
NF
21212011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2122
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
2125 instead.
2126 (create_subprog_type): Don't call build_function_type; call
2127 build_function_type_vec instead.
2128
51545682
NF
21292011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2130
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.
2134
c99c0026
EB
21352011-05-07 Eric Botcazou <ebotcazou@adacore.com>
2136
f620bd21
EB
2137 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
2138
c99c0026
EB
2139 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
2140 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
2141
3d528853
NF
21422011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2143
c99c0026 2144 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
3d528853 2145
d7d058c5
NF
21462011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2147
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.
2151
805e60a0
EB
21522011-05-05 Eric Botcazou <ebotcazou@adacore.com>
2153
2154 PR ada/48844
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.
2160
907a08d9
EB
21612011-05-05 Eric Botcazou <ebotcazou@adacore.com>
2162
2163 * gcc-interface/utils.c (begin_subprog_body): Do not call
2164 get_pending_sizes.
2165 (end_subprog_body): Likewise.
2166
d35936ab
RG
21672011-05-04 Richard Guenther <rguenther@suse.de>
2168
2169 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
2170 int_const_binop.
2171 (pos_to_constructor): Likewise.
2172
c1fd8753
NF
21732011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2174 Eric Botcazou <ebotcazou@adacore.com>
2175
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.
2181
4fb87d2b
EB
21822011-04-30 Eric Botcazou <ebotcazou@adacore.com>
2183
2184 * gnatvsn.ads (Library_Version): Bump to 4.7.
2185 (Current_Year): Bump to 2011.
2186
fa5e5a76
MM
21872011-04-29 Michael Matz <matz@suse.de>
2188
2189 * gcc-interface/misc.c (gnat_handle_option): Set
2190 warn_maybe_uninitialized.
2191
8d6a2f69
GP
21922011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
2193
2194 * gnat_ugn.texi (Complexity Metrics Control): Update link to
2195 the Watson/McCabe paper.
2196
770937fd
JM
21972011-04-23 Jim Meyering <meyering@redhat.com>
2198
2199 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
2200
eb601ae1
EB
22012011-04-22 Eric Botcazou <ebotcazou@adacore.com>
2202
2203 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
2204 onto the new type.
2205
7d7fcb08
EB
22062011-04-22 Eric Botcazou <ebotcazou@adacore.com>
2207
2208 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
2209 parameter.
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.
2223
e1876cac
EB
22242011-04-21 Eric Botcazou <ebotcazou@adacore.com>
2225
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).
2234
04695783
JM
22352011-04-20 Jim Meyering <meyering@redhat.com>
2236
2237 * initialize.c (__gnat_initialize): Remove useless if-before-free.
2238
23399579
EB
22392011-04-17 Eric Botcazou <ebotcazou@adacore.com>
2240
2241 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
2242 $(CFLAGS) on the link line.
2243
51c5169c
EB
22442011-04-17 Eric Botcazou <ebotcazou@adacore.com>
2245
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.
2248
61e46a7d
NF
22492011-04-14 Nathan Froyd <froydnj@codesourcery.com>
2250
2251 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
2252
81f653d6
NF
22532011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2254
b4867846
EB
2255 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
2256 before calling TREE_CHAIN.
81f653d6
NF
2257 * gcc-interface/misc.c (gnat_init_ts): New function.
2258 (LANG_HOOKS_INIT_TS): Define.
2259
a358e188
MJ
22602011-04-12 Martin Jambor <mjambor@suse.cz>
2261
b4867846
EB
2262 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
2263 instead of cgraph_node.
a358e188 2264
29b1c5a4
EB
22652011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2266
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
2269 mechanism.
2270
88872b00
EB
22712011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2272
2273 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
2274 of aggregate types that contain a placeholder.
2275
dcf0c47e
NF
22762011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2277
2278 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
b4867846 2279 TYPE_ARG_TYPES.
dcf0c47e
NF
2280 (handle_type_generic_attribute): Likewise.
2281
53e3000c
EB
22822011-04-04 Eric Botcazou <ebotcazou@adacore.com>
2283
2284 PR ada/47163
2285 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
2286
ab380bb4
KT
22872011-04-04 Kai Tietz <ktietz@redhat.com>
2288
2289 PR ada/47163
0bad0e23
EB
2290 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
2291 to flag value.
ab380bb4 2292
8ffac116
EB
22932011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2294
2295 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
2296 type case, do not strip a padding type around the array type.
2297
de9528f0
EB
22982011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2299
2300 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
2301 types.
2302
d9d7a26c
EB
23032011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2304
2305 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
2306 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
de9528f0 2307 code for -feliminate-unused-debug-types.
d9d7a26c
EB
2308 (gnat_post_options): Likewise.
2309
4cb12a90
EB
23102011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2311
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
2314 distinct copy.
2315
acccc61c
EB
23162011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2317
2318 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
2319 DECL_ARTIFICIAL flag on enumeration types.
2320
583eb0c9
EB
23212011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2322
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
2326 isn't artificial.
2327
e3edbd56
EB
23282011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2329
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
2343 array case.
2344
65444786
EB
23452011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2346
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.
2356
1aeb40dd
EB
23572011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2358
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
2362 copy.
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.
2366
80ec8b4c
EB
23672011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2368
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.
2373
2a9d769a
OH
23742011-04-01 Olivier Hainque <hainque@adacore.com>
2375 Nicolas Setton <setton@adacore.com>
2376 Eric Botcazou <ebotcazou@adacore.com>
2377
2378 * gcc-interface/misc.c (gnat_descriptive_type): New function.
2379 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
2380
2438d7a6
KT
23812011-03-28 Kai Tietz <ktietz@redhat.com>
2382
333d8aff 2383 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
80ec8b4c
EB
2384 Windows targets.
2385 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
2386 * system-mingw.ads (System): Change ZCX_By_Default default to True.
333d8aff 2387
80ec8b4c 2388 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2438d7a6 2389
8ad150f6
TG
23902011-03-28 Tristan Gingold <gingold@adacore.com>
2391
2392 PR ada/44431
80ec8b4c
EB
2393 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
2394 Use ada output of gnatbind.
8ad150f6
TG
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.
80ec8b4c 2400 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
8ad150f6
TG
2401 Use ada output of gnatbind.
2402 (b_gnatm.adb): Ditto.
2403 (b_gnatl.o, b_gnatm.o): New rules.
2404
51c7954d
EB
24052011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2406
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.
2409
6ddf9843
EB
24102011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2411
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
2415 limited_with'ed.
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.
2421
5daed84a
EB
24222011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2423
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.
2431
0edf1bb2
JL
24322011-03-25 Jeff Law <law@redhat.com>
2433
5daed84a 2434 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
0edf1bb2 2435
e3c4580e
EB
24362011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2437
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.
2447
abbc8c7b
EB
24482011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2449
2450 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
2451 non-conversion to the nominal result type at the end.
2452
ddb5a105
EB
24532011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2454
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.
2461
0d853156
EB
24622011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2463
2464 * gcc-interface/decl.c (validate_size): Improve comments and tweak
2465 error message.
2466 (set_rm_size): Likewise.
2467
4184ef1b
EB
24682011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2469
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.
2473
bf7eefab
EB
24742011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2475
2476 PR bootstrap/48216
2477 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
2478
ef0feeb2
EB
24792011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2480
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.
2487
646f9414
EB
24882011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2489
2490 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
2491 disabled, use the variable for bounds of loop iteration scheme.
2492
62d784f7
KT
24932011-03-21 Kai Tietz <ktietz@redhat.com>
2494
2495 PR target/12171
0bad0e23 2496 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
62d784f7 2497
f230d759
EB
24982011-03-17 Eric Botcazou <ebotcazou@adacore.com>
2499
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.
2503
bb1f7929
EB
25042011-03-17 Eric Botcazou <ebotcazou@adacore.com>
2505
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.
2510
400a2d24
EB
25112011-02-14 Eric Botcazou <ebotcazou@adacore.com>
2512
2513 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
2514 its argument, except for the special -I- switch.
2515
c26bc3ad
GP
25162011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
2517
0bad0e23
EB
2518 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
2519 "Ada Issues".
c26bc3ad 2520
07b8e910
EB
25212011-02-08 Eric Botcazou <ebotcazou@adacore.com>
2522
2523 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
2524
31a5a547
EB
25252011-02-03 Eric Botcazou <ebotcazou@adacore.com>
2526
2527 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
2528 GNAT_FORMAL.
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.
2538
dcf25f59
EB
25392011-01-26 Eric Botcazou <ebotcazou@adacore.com>
2540
2541 PR bootstrap/47467
2542 * targext.c: Include target files if IN_RTS is defined.
2543
0418e131
RG
25442011-01-26 Richard Guenther <rguenther@suse.de>
2545
2546 PR bootstrap/47467
2547 * targext.c: Include config.h.
2548 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
2549 dependency.
2550
c6eecbd8
PO
25512011-01-04 Pascal Obry <obry@adacore.com>
2552 Eric Botcazou <ebotcazou@adacore.com>
2553
2554 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
2555
2d3c7e4f
EB
25562011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2557
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.
2560
0394741f
EB
25612011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2562
2563 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
2564 expressions of the parameter cache within the statement group of
2565 the CICO mechanism.
2566
2a02d090
OH
25672011-01-04 Olivier Hainque <hainque@adacore.com>
2568 Eric Botcazou <ebotcazou@adacore.com>
2569
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.
2578
89f5e978
EB
25792011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2580
2581 PR ada/47131
2582 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
2583 variables that are referenced in exception handlers volatile.
2584
2585
ad41bd84 2586\f
797103eb 2587Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
2588
2589Copying and distribution of this file, with or without modification,
2590are permitted in any medium without royalty provided the copyright
2591notice and this notice are preserved.