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