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