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