]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an in-mode parameter...
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
cae81f17
JM
12011-08-02 Javier Miranda <miranda@adacore.com>
2
3 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
4 in-mode parameter whose type is an access type since it can be used to
5 modify its designated object. Enforce code that handles as safe an
6 access type that is not access-to-constant but it is the result of a
7 previous removal of side-effects.
8 (Remove_Side_Effects): Minor code reorganization of cases which require
9 no action. Done to incorporate documentation on new cases uncovered
10 working in this ticket: no action needed if this routine was invoked
11 too early and the nodes are not yet decorated.
12 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
13 to routine Remove_Side_Effects by calls to Force_Evaluation since they
14 were issued with actuals that are implicitly provided by
15 Force_Evaluation.
16
218e6dee
RD
172011-08-02 Robert Dewar <dewar@adacore.com>
18
19 * sem_ch3.adb, sem_res.adb: Minor reformatting.
20
7a489a2b
AC
212011-08-02 Yannick Moy <moy@adacore.com>
22
23 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
24 to issue an error in formal mode on attribute not supported in this mode
25 (Analyze_Attribute): issue errors on standard attributes not supported
26 in formal mode.
27 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
28 comment, and issue error in formal mode on modulus which is not a power
29 of 2.
30 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
31 range.
32 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
33 subtype mark.
34 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
35 operator on modular type (except 'not').
36
372011-08-02 Robert Dewar <dewar@adacore.com>
38
39 * gnat_rm.texi: Minor reformatting.
40
cb7fa356
AC
412011-08-02 Arnaud Charlet <charlet@adacore.com>
42
43 * s-osinte-linux.ads: Minor comment update and reformatting.
44 * i-cexten.ads: Make this unit pure, as for its parent.
45 Will allow its usage in more contexts if needed.
46
472011-08-02 Robert Dewar <dewar@adacore.com>
48
49 * s-utf_32.ads: Minor comment fix.
50
512011-08-02 Ed Schonberg <schonberg@adacore.com>
52
53 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
54 operation of a tagged synchronized type, handle the case where the
55 controlling argument is overloaded.
56
572011-08-02 Yannick Moy <moy@adacore.com>
58
59 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
60 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
61 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
62 SPARK mode and formal verification mode on processing SPARK restriction
63 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
64 requiring consistency checking.
65
5cc9353d
RD
662011-08-02 Robert Dewar <dewar@adacore.com>
67
68 * sem_res.adb: Minor reformatting.
69
e51537ff
RD
702011-08-02 Robert Dewar <dewar@adacore.com>
71
72 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
73 a-cforse.ads: Remove unneeded with of Ada.Containers
74 Remove commented out pragma Inline's
75 Move specifications of new subprograms to the actual specs
76
83fa09c5
AC
772011-08-02 Yannick Moy <moy@adacore.com>
78
79 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
80 a-cforse.ads: Update comments.
81
822011-08-02 Ed Schonberg <schonberg@adacore.com>
83
84 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
85
d11cfaf8
RD
862011-08-02 Robert Dewar <dewar@adacore.com>
87
88 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
89 a-cforse.ads, a-cofove.ads: Minor reformatting.
90
300b98bb
AC
912011-08-02 Claire Dross <dross@adacore.com>
92
93 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
94 a-cofove.ads: Add comments.
95
962011-08-02 Yannick Moy <moy@adacore.com>
97
98 * gnat_rm.texi: Document formal containers.
99
1002011-08-02 Emmanuel Briot <briot@adacore.com>
101
102 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
103 are empty sections.
104
19fb051c
AC
1052011-08-02 Robert Dewar <dewar@adacore.com>
106
107 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
108 reformatting.
109
1102011-08-02 Robert Dewar <dewar@adacore.com>
111
112 * aspects.adb: New aspects Default_Value and Default_Component_Value
113 New format of Aspect_Names table checks for omitted entries
114 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
115 handling of boolean aspects for derived types.
116 New aspects Default_Value and Default_Component_Value
117 New format of Aspect_Names table checks for omitted entries
118 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
119 (Has_Default_Value): New flag
120 (Has_Default_Component_Value): New flag
121 (Has_Default_Value): New flag
122 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
123 table.
124 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
125 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
126 Default_Value and Default_Component_Value
127 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
128 New aspects Default_Value and Default_Component_Value
129 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
130 * sprint.adb: Print N_Aspect_Specification node when called from gdb
131
1322011-08-02 Vincent Celier <celier@adacore.com>
133
134 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
135 inherit library kind.
136
1372011-08-02 Ed Schonberg <schonberg@adacore.com>
138
139 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
140 Minor reformatting.
141
1422011-08-02 Robert Dewar <dewar@adacore.com>
143
144 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
145
5f7747af
AC
1462011-08-02 Yannick Moy <moy@adacore.com>
147
148 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
149
1502011-08-02 Robert Dewar <dewar@adacore.com>
151
152 * impunit.adb: Add comment.
153
a5fe697b
AC
1542011-08-02 Yannick Moy <moy@adacore.com>
155
156 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
157 qualification of aggregates in formal mode
158 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
159 another aggregate
160 (Resolve_Aggregate): complete the test that an aggregate is adequately
161 qualified in formal mode
162
1632011-08-02 Pascal Obry <obry@adacore.com>
164
165 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
166 * mlib-prj.adb: Supress warning when compiling binder generated file.
167 (Build_Library): Supress all warnings when compiling the binder
168 generated file.
169
bd65a2d7 1702011-08-02 Yannick Moy <moy@adacore.com>
d4487611 171
bd65a2d7
AC
172 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
173 from here...
174 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
175 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
176 Add with/use clauses to make Check_Formal_Restriction visible
177
1782011-08-02 Ed Schonberg <schonberg@adacore.com>
179
180 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
181 in-parameters when type of the generic formal is private in the generic
182 spec and non-private in the body.
183
1842011-08-02 Claire Dross <dross@adacore.com>
185
186 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
187 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
188 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
189 * impunit.adb, Makefile.rtl: Take new files into account.
d4487611
AC
190
1912011-08-02 Robert Dewar <dewar@adacore.com>
192
193 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
194 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
195
bd434b3f
YM
1962011-08-02 Yannick Moy <moy@adacore.com>
197
198 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
199 formal mode
200 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
201 matching static array bounds, taking into account the special case of
202 string literals
203 * sem_ch3.adb: Typo in comment.
204
fe5d3068
YM
2052011-08-02 Yannick Moy <moy@adacore.com>
206
207 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
208 which issues an error in formal mode if its argument node is originally
209 from source
210 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
211 has a discriminant specification so that it does not include the case
212 of derived types
213 (Derived_Type_Declaration): move here the test that a derived type has a
214 discriminant specification
215 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
216 first element of a component association before accessing its choices
217 (presence of component association is not enough)
218 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
219 declaration is a library item before accessing the next element in a
220 list, as library items are not member of lists
221 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
222 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
223 Check_Formal_Restriction whenever possible.
224
b60a3f26
AC
2252011-08-02 Ed Schonberg <schonberg@adacore.com>
226
227 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
228 reference when needed.
229
2302011-08-02 Bob Duff <duff@adacore.com>
231
232 * gnat_ugn.texi: Fix typo.
233
2342011-08-02 Vincent Celier <celier@adacore.com>
235
236 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
237 archive file name. Do not use the full path name of archives for Open
238 VMS.
239
eaba57fb
RD
2402011-08-02 Robert Dewar <dewar@adacore.com>
241
242 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
243 Analyze_Aspect_Specifications
244 * sem_ch13.adb
245 (Analyze_Aspect_Specifications): New handling for boolean aspects
246 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
247 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
248 sequence for Analyze_Aspect_Specifications
249 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
250 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
251
2522011-08-02 Robert Dewar <dewar@adacore.com>
253
254 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
255 aspects, since these no longer exist.
256
2572011-08-02 Robert Dewar <dewar@adacore.com>
258
259 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
260 semicolon, do not try to see if there are aspects following it.
261 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
262 aspect spec.
263
8830d1d2
AC
2642011-08-02 Robert Dewar <dewar@adacore.com>
265
266 * sem_ch8.adb, aspects.ads: Minor reformatting.
267
2682011-08-02 Eric Botcazou <ebotcazou@adacore.com>
269
270 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
271 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
272 extracted from...
273 (Analyze_Aspect_Specifications): ...here. Call above procedure.
274
7ff2d234
AC
2752011-08-02 Yannick Moy <moy@adacore.com>
276
277 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
278 mode on subprogram declaration outside of package specification, unless
279 it is followed by a pragma Import
280 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
281 Access_Type_Declaration): issue error in formal mode on access type
282 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
283 incomplete type
284 (Analyze_Object_Declaration): issue error in formal mode on object
285 declaration which does not respect SPARK restrictions
286 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
287 declaration which does not respect SPARK restrictions
288 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
289 error in formal mode on digits or delta constraint
290 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
291 decimal fixed point type
292 (Derived_Type_Declaration): issue error in formal mode on derived type
293 other than type extensions of tagged record types
294 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
295 with check on access definition
296 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
297 mode on protected definition.
298 (Analyze_Task_Definition): issue error in formal mode on task definition
299
3002011-08-02 Robert Dewar <dewar@adacore.com>
301
302 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
303
806f6d37
AC
3042011-08-02 Javier Miranda <miranda@adacore.com>
305
306 * sem_ch6.adb (Can_Override_Operator): New function.
307 (Verify_Overriding_Indicator): Add missing code to check overriding
308 indicator in operators. Fixes regression.
309 (Check_Overriding_Indicator): Minor reformating after replacing the
310 code that evaluates if the subprogram can override an operator by
311 invocations to the above new function.
312 * einfo.adb
313 (Write_Field26_Name): Add missing code to ensure that, following
314 the documentation in einfo.ads, this field is not shown as attribute
315 "Static_Initialization" on non-dispatching functions.
316
3172011-08-02 Jose Ruiz <ruiz@adacore.com>
318
319 * sem_res.adb (Resolve_Call): A call to
320 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
321 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
322 i.e., when the second parameter is of type Time_Span.
323
3242011-08-02 Vincent Celier <celier@adacore.com>
325
326 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
327 with an archive instead of -L<library dir> -l<library name>.
328
3292011-08-02 Ed Schonberg <schonberg@adacore.com>
330
331 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
332 mark the base types In_Use in addition to making the operations
333 use_visible.
334
3352011-08-02 Ed Falis <falis@adacore.com>
336
337 * init.c: add and setup __gnat_signal_mask for the exception signals
338 * s-inmaop-vxworks.adb: new file.
339 * s-intman-vxworks.adb: remove unnecessary initializations and
340 simplify remaining
341 * s-intman-vxworks.ads: remove unnecessary variable
342 * s-taprop-vxworks.adb: simplify signal initialization
343
780d052e
RD
3442011-08-02 Robert Dewar <dewar@adacore.com>
345
346 * sem_ch8.adb: Minor code reorganization, comment updates.
347
3482011-08-02 Robert Dewar <dewar@adacore.com>
349
350 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
351 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
352 here from Sem_Res.
353 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
354 (Matching_Static_Array_Bounds): Moved here from Sem_Res
355
29efbb8c
ES
3562011-08-02 Ed Schonberg <schonberg@adacore.com>
357
358 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
359 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
360 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
361 use_type_clauses, to handle more efficiently use_type and use_all_type
362 constructs.
363 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
364 Ada2012 Use_All_Type clause.
365 (Use_Class_Wide_Operations): new procedure.
366
b0186f71
AC
3672011-08-02 Robert Dewar <dewar@adacore.com>
368
369 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
370 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
371 expression to expression function.
372
3732011-08-02 Ed Schonberg <schonberg@adacore.com>
374
375 * sem_ch4.adb: transform simple Ada2012 membership into equality only
376 if types are compatible.
377
3782011-08-02 Yannick Moy <moy@adacore.com>
379
380 * sem_res.adb (Matching_Static_Array_Bounds): new function which
381 returns True if its argument array types have same dimension and same
382 static bounds at each index.
383 (Resolve_Actuals): issue an error in formal mode on actuals passed as
384 OUT or IN OUT paramaters which are not view conversions in SPARK.
385 (Resolve_Arithmetic_Op): issue an error in formal mode on
386 multiplication or division with operands of fixed point types which are
387 not qualified or explicitly converted.
388 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
389 Boolean or array type (except String) operands.
390 (Resolve_Equality_Op): issue an error in formal mode on equality
391 operators for array types other than String with non-matching static
392 bounds.
393 (Resolve_Logical_Op): issue an error in formal mode on logical operators
394 for array types with non-matching static bounds. Factorize the code in
395 Matching_Static_Array_Bounds.
396 (Resolve_Qualified_Expression): issue an error in formal mode on
397 qualified expressions for array types with non-matching static bounds.
398 (Resolve_Type_Conversion): issue an error in formal mode on type
399 conversion for array types with non-matching static bounds
400
767bb4e8
AC
4012011-08-02 Robert Dewar <dewar@adacore.com>
402
403 * par-ch10.adb: Minor code reorganization (use Nkind_In).
404
4052011-08-02 Ed Schonberg <schonberg@adacore.com>
406
407 * par-ch9.adb: save location of entry for proper error message.
408
4ac2477e
JM
4092011-08-02 Javier Miranda <miranda@adacore.com>
410
411 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
412 (Use_Full_View) which permits this routine to climb through the
413 ancestors using the full-view of private parents.
414 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
415 Use_Full_View to true in calls to Is_Ancestor.
416 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
417 true in call to Is_Ancestor.
418 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
419 Use_Full_View to true in call to Is_Ancestor.
420 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
421 call to Is_Ancestor.
422 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
423 Use_Full_View to true in calls to Is_Ancestor.
424 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
425 Make_Select_Specific_Data_Table, Register_Primitive,
426 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
427 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
428 to true in call to Is_Ancestor.
429 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
430 Use_Full_View to true in calls to Is_Ancestor.
431 * exp_cg.adb
432 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
433 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
434
9f90d123
AC
4352011-08-02 Robert Dewar <dewar@adacore.com>
436
437 * gnat_rm.texi: Minor reformatting.
438 * sem_prag.adb: Minor reformatting.
439
4402011-08-02 Tristan Gingold <gingold@adacore.com>
441
442 * vms_data.ads: Add VMS qualifier for -gnateP.
443
4442011-08-02 Robert Dewar <dewar@adacore.com>
445
446 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
447 * par-ch7.adb (P_Package): Proper placement of aspects for package
448 decl/instantiation.
449 * par-endh.adb (Check_End): Ad Is_Sloc parameter
450 (End_Statements): Add Is_Sloc parameterr
451 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
452 (Check_End): Ad Is_Sloc parameter
453 (End_Statements): Add Is_Sloc parameterr
454
4552011-08-02 Vincent Celier <celier@adacore.com>
456
457 * ug_words: Add VMS qualifier equivalent to -gnateP:
458 /SYMBOL_PREPROCESSING.
459
4602011-08-02 Jose Ruiz <ruiz@adacore.com>
461
462 * gnat-style.texi: For hexadecimal numeric literals the typical
463 grouping of digits is 4 to represent 2 bytes.
464 A procedure spec which is split into several lines is indented two
465 characters.
466
4672011-08-02 Yannick Moy <moy@adacore.com>
468
469 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
470 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
471 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
472 properly qualified
473 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
474 choice in array aggregate
475 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
476 mark as ancestor
477 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
478 positional and named aggregate for record, or others in record
479 aggregate, or multiple choice in record aggregate
480 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
481 array operands to logical operations AND, OR and XOR do not have the
482 same static lower and higher bounds
483 * sem_ch5.adb, sinfo.ads: Correct typos in comments
484
2933b16c
RD
4852011-08-01 Robert Dewar <dewar@adacore.com>
486
487 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
488 Replaces Last_Source_Node_In_Sequence.
489 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
490 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
491 parens and blank in string (this was inconsistently implemented).
492 * errout.ads
493 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
494 blank in string (this was inconsistently implemented).
495 * gnat1drv.adb
496 (Set_Global_Switches): Set formal mode switches appropriately
497 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
498 * par-prag.adb
499 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
500 call Set_Error_Msg_Lang to set "spark" as language name.
501 * par.adb: Remove unnecessary call to set formal language for errout
502 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
503 appropriately and call Set_Error_Msg_Lang to set "spark" as language
504 name.
505 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
506 calls to it, moved after resolution so that types are known
507 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
508 result of concatenation is not of type String
509 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
510 concatenation is not properly restricted
511 * gnat_rm.texi: Add doc on pragma Spark_95.
512 * gcc-interface/Makefile.in: Remove obsolete target pairs for
513 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
514 * gcc-interface/Make-lang.in: Update dependencies.
515
05dbd302
AC
5162011-08-01 Javier Miranda <miranda@adacore.com>
517
518 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
519 condition that detects if the overridden operation must replace an
520 existing entity.
521
5222011-08-01 Javier Miranda <miranda@adacore.com>
523
524 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
525 code declarations inserted by Insert_Actions in each alternative of the
526 N_Case_Expression node.
527
5282011-08-01 Robert Dewar <dewar@adacore.com>
529
530 * sem_ch6.adb: Minor code reorganization.
531 * sem_util.adb: Minor reformatting.
532
af9e051f
PO
5332011-08-01 Pascal Obry <obry@adacore.com>
534
535 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
536 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
537
1d801f21
AC
5382011-08-01 Yannick Moy <moy@adacore.com>
539
540 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
541 literal or operator symbol which is prefixed
542 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
543 mode on access attributes.
544 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
545 that concatenation operands are properly restricted in formal mode
546 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
547 Analyze_Concatenation_Operand. Issue an error in formal mode if the
548 result of the concatenation has a type different from String.
549 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
550 Analyze_Quantified_Expression, Analyze_Slice,
551 Analyze_Null): issue an error in formal mode on unsupported constructs
552 * sem_ch5.adb
553 (Analyze_Block_Statement): only issue error on source block statement
554 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
555 function which returns the last node in a list of nodes for which
556 Comes_From_Source returns True, if any
557 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
558 Last_Source_Node_In_Sequence
559 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
560 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
561 mode on unsupported constructs
562 * sem_ch9.adb Do not return after issuing error in formal mode, as the
563 rest of the actions may be needed later on since the error is marked as
564 not serious.
565 * sinfo.ads: Typos in comments.
566
5672011-08-01 Pascal Obry <obry@adacore.com>
568
569 * projects.texi: Minor editing.
570
53beff22
YM
5712011-08-01 Yannick Moy <moy@adacore.com>
572
573 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
574 insertion character ~~
575 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
576 (Set_Error_Msg_Lang): new procedure which fixes the language for use
577 with insertion character ~~
578 (Set_Msg_Text): treat insertion character ~~
579 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
580 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
581 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
582 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
583 errors related to the formal language restriction not serious
584 (insertion character |).
585 * par.adb (Par): set formal language for error messages if needed
586 * sem_ch6.adb (Check_Missing_Return): take into account possible
587 generated statements at the end of the function
588 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
589 enumeration value to define a new pragma SPARK_95
590 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
591 SPARK_Version): new type and variables to store the SPARK version
592 (none by default).
593 (SPARK_Mode): return True when SPARK_Version is set
594 * par-prag.adb: Correct indentation
595 (Prag): take Pragma_SPARK_95 into account
596 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
597 into account.
598
8d606a78
RD
5992011-08-01 Robert Dewar <dewar@adacore.com>
600
601 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
602 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
603 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
604
1982d5a8
PO
6052011-08-01 Pascal Obry <obry@adacore.com>
606
607 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
608 Target_Name to Get_Path call.
609 (Parse_Single_Project): Likewise.
610 (Post_Parse_Context_Clause): Likewise.
611 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
612 Call Initialise_Project_Path with the proper Target_Name.
613 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
614 search path.
615 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
616 with the proper Target_Name.
617 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
618 Part.Parse routine.
619 (Parse_Project_And_Apply_Config): Likewise.
620 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
621 This is fine as this part of the code is supporting only native
622 compilation.
623 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
624 is fine as this part of the code is supporting only native compilation.
625
0d53d36b
AC
6262011-08-01 Yannick Moy <moy@adacore.com>
627
628 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
629 of homonym, unless the homonym is one of the cases allowed in SPARK
630 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
631 package declaration occurring after a body.
632
6332011-08-01 Robert Dewar <dewar@adacore.com>
634
635 * checks.adb, exp_ch4.adb: Minor reformatting.
636
6372011-08-01 Javier Miranda <miranda@adacore.com>
638
639 * einfo.ads (Access_Disp_Table): Fix documentation.
640 (Dispatch_Table_Wrappers): Fix documentation.
641
6422011-08-01 Pascal Obry <obry@adacore.com>
643
644 * prj-env.adb, prj-env.ads: Minor reformatting.
645
8ed68165
AC
6462011-08-01 Yannick Moy <moy@adacore.com>
647
648 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
649 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
650 procedures out of these packages.
651 * errout.ads, errout.adb
652 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
653 procedures in of this package
654 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
655 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
656 on misplaced later vs initial declarations, like in Ada 83
657 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
658 formal mode on attribute of private type whose full type declaration
659 is not visible
660 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
661 package declaration inside a package specification
662 (Analyze_Full_Type_Declaration): issue error in formal mode on
663 controlled type or discriminant type
664 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
665 user-defined operator means that it should come from the source
666 (New_Overloaded_Entity): issue error in formal mode on overloaded
667 entity.
668 * sem_ch6.ads, sem_ch13.ads: typos in comments.
669
6702011-08-01 Thomas Quinot <quinot@adacore.com>
671
672 * atree.adb: Minor reformatting.
673 * checks.adb: Minor reformatting.
674
4230bdb7
AC
6752011-08-01 Vincent Celier <celier@adacore.com>
676
677 * s-parame-vms-ia64.ads: Fix typo in comment
678 Minor reformatting
679 * s-parame-vms-restrict.ads: Removed, unused.
680
6812011-08-01 Javier Miranda <miranda@adacore.com>
682
683 * exp_ch3.adb
684 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
685 * sem_ch3.adb
686 (Constrain_Index): Remove side effects in the evaluation of the bounds.
687 * sem_ch3.ads, sem_ch3.adb
688 (Is_Constant_Bound): New extended version of the subprogram that was
689 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
690 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
691 * sem_aux.ads (Constant_Value): Fix typo in comment.
692 * checks.adb (Generate_Index_Checks): New implementation which, for
693 array objects with constant bounds, generates the runtime check
694 referencing the bounds of the array type. For other cases this routine
695 provides its previous behavior obtaining such values from the array
696 object.
697 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
698 parent type.
699 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
700 we cannot have semantic interpretations of the new node.
701
2010d078
AC
7022011-08-01 Ed Schonberg <schonberg@adacore.com>
703
704 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
705 expressions.
706
7072011-08-01 Arnaud Charlet <charlet@adacore.com>
708
709 * sem_ch8.adb: Minor code editing.
710 * s-vxwext.adb: Remove trailing space.
711 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
712 consistency with other files.
713
7142011-08-01 Thomas Quinot <quinot@adacore.com>
715
716 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
717
7182011-08-01 Ed Schonberg <schonberg@adacore.com>
719
720 * par-ch10.adb: reject parameterized expressions as compilation unit.
721 * sem_ch4.adb: handle properly conditional expression with overloaded
722 then_clause and no else_clause.
723
7242011-08-01 Tristan Gingold <gingold@adacore.com>
725
726 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
727 like done by System.Aux_DEC.
728 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
729
daec8eeb
YM
7302011-08-01 Yannick Moy <moy@adacore.com>
731
732 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
733 missing label at end of declaration (subprogram or package)
734 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
735 of positional and named parameter association
736 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
737 Error_Msg_SP which adds a prefix to the error message giving the name
738 of the formal language analyzed
739 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
740 access result type in subprogram, unconstrained array as result type,.
741 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
742 procedure
743 * sem_ch8.adb: Code clean up.
744
38171f43
AC
7452011-08-01 Javier Miranda <miranda@adacore.com>
746
747 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
748 * einfo.ads (Access_Disp_Table): Fix documentation.
749 (Dispatch_Table_Wrappers): Fix documentation.
750 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
751 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
752 to enforce the documentation of this attribute.
753 (Set_Is_Interface): Cleanup the assertion.
754 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
755 the Underlying_Type entity before reading attribute Access_Disp_Table.
756 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
757 Locate the Underlying_Type before reading attribute Access_Disp_Table.
758 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
759 the Underlying_Type entity before reading attribute Access_Disp_Table.
760 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
761 Locate the Underlying_Type entity before reading attribute
762 Access_Disp_Table.
763
7642011-08-01 Ed Schonberg <schonberg@adacore.com>
765
766 * s-poosiz.ads: Additional overriding indicators.
767
7682011-08-01 Yannick Moy <moy@adacore.com>
769
770 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
771 formal mode.
772 (Analyze_Iteration_Scheme): issue error in formal mode when loop
773 parameter specification does not include a subtype mark.
774 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
775 formal mode on abstract subprogram.
776 (Analyze_Subprogram_Specification): issue error in formal mode on
777 user-defined operator.
778 (Process_Formals): issue error in formal mode on access parameter and
779 default expression.
780 * sem_ch9.adb (Analyze_Abort_Statement,
781 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
782 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
783 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
784 Analyze_Requeue, Analyze_Selective_Accept,
785 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
786 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
787 issue error in formal mode on user-defined raise statement.
788
1f250383
AC
7892011-08-01 Thomas Quinot <quinot@adacore.com>
790
791 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
792 declaration being hidden when overriding an implicit inherited
793 subprogram.
794 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
795 (-gnats), do not complain about a source file that contains only a
796 pragma No_Body.
797
7982011-08-01 Ed Schonberg <schonberg@adacore.com>
799
800 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
801 variable if already set.
802
607d0635
AC
8032011-08-01 Arnaud Charlet <charlet@adacore.com>
804
805 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
806 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
807 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
808 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
809 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
810 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
811 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
812 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
813 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
814 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
815 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
816 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
817 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
818 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
819 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
820 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
821 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
822 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
823 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
824 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
825 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
826 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
827 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
828 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
829 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
830 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
831 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
832 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
833 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
834 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
835 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
836 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
837 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
838 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
839 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
840 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
841 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
842 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
843 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
844 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
845 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
846 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
847 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
848 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
849 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
850 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
851 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
852 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
853 s-osinte-mingw.ads: Update to GPLv3 run-time license.
854 Use GNAT instead of GNARL.
855
8562011-08-01 Bob Duff <duff@adacore.com>
857
858 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
859 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
860 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
861 reformatting.
862
8632011-08-01 Yannick Moy <moy@adacore.com>
864
865 * debug.adb (d.D) reverve flag for the SPARK mode
866 (d.E) reverve flag for SPARK generation mode
867 (d.F) reverve flag for Why generation mode
868 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
869 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
870 functions which return True when the corresponding modes are set
871 (Formal_Language): return "spark" or "alfa" when in formal verification
872 mode.
873 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
874 Error_Msg to prefix the error message with a tag giving the formal
875 language
876 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
877 message with a tag giving the formal language
878 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
879 block statement
880 (Analyze_Case_Statement): issue error in formal mode on case statement
881 with a single "others" case alternative
882 (Analyze_Exit_Statement): issue errors in formal mode on exit
883 statements which do not respect SPARK restrictions
884 (Analyze_Goto_Statement): issue error in formal mode on goto statement
885 (Check_Unreachable_Code): always issue an error (not a warning) in
886 formal mode on unreachable code (concerns both code after an infinite
887 loop and after an unconditional jump, both not allowed in SPARK)
888 * sem_ch6.adb (Analyze_Return_Statement): add call to
889 Set_Return_Present for a procedure containing a return statement
890 (already done for functions in Analyze_Function_Return)
891 (Analyze_Function_Return): issue error in formal mode on extended
892 return or if return is not last statement in function
893 (Check_Missing_Return): issue error in formal mode if function does
894 not end with return or if procedure contains a return
895 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
896 function to detect if there is an inner scope of its parameter S which
897 is a loop.
898
8992011-08-01 Thomas Quinot <quinot@adacore.com>
900
901 * sem_ch6.ads: Minor reformatting.
902
d8b3ccb9
AC
9032011-08-01 Javier Miranda <miranda@adacore.com>
904
905 * sem_util.adb (Abstract_Interface_List): Complete condition when
906 processing private type declarations to avoid reading unavailable
907 attribute.
908 (Is_Synchronized_Tagged_Type): Complete condition when processing
909 private extension declaration nodes to avoid reading unavailable
910 attribute.
911
9122011-08-01 Thomas Quinot <quinot@adacore.com>
913
914 * sem_ch3.adb: Minor reformatting.
915
9162011-08-01 Thomas Quinot <quinot@adacore.com>
917
918 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
919 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
920 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
921 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
922 for VMS, instead parametrize the common implementation with
923 System.Parameters declarations.
924
0bb9276c
AC
9252011-08-01 Eric Botcazou <ebotcazou@adacore.com>
926
927 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
928
9292011-08-01 Tristan Gingold <gingold@adacore.com>
930
931 * seh_init.c: Fix SEH handler installation on win64.
932
9332011-08-01 Ed Schonberg <schonberg@adacore.com>
934
935 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
936 double analysis of an anonymous access to subprogram, because it can
937 lead to improper sharing of profiles and a back-end crash.
938
6a2e4f0b
AC
9392011-08-01 Robert Dewar <dewar@adacore.com>
940
941 * make.adb, sem_ch4.adb: Minor reformatting.
942 * gcc-interface/Make-lang.in: Update dependencies.
943 * sem_util.adb, exp_ch5.adb: Minor reformatting.
944
9452011-08-01 Arnaud Charlet <charlet@adacore.com>
946
947 * gnat_rm.texi: Fix definition of Long_Integer.
948
9492011-08-01 Ed Schonberg <schonberg@adacore.com>
950
951 * exp_aggr.adb: check limit size of static aggregate unconditionally,
952 to prevent storage exhaustion.
953 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
954 finalized is a function body, insert the cleanup code before the final
955 return statement, to prevent spurious warnings.
956 * s-pooglo.ads: add overriding indicator.
957
4561baf7
ES
9582011-08-01 Ed Schonberg <schonberg@adacore.com>
959
960 * sem_ch4.adb (Operator_Check): improve error message when both a
961 with_clause and a use_clause are needed to make operator usage legal.
962 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
963 determine whether a compilation unit is visible within an other,
964 either through a with_clause in the current unit, or a with_clause in
965 its library unit or one one of its parents.
966
383e179e
AC
9672011-08-01 Ed Schonberg <schonberg@adacore.com>
968
969 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
970 over an arbitrary expression of an array or container type.
971 * lib-xref.adb: clarify comment.
972
9732011-08-01 Bob Duff <duff@adacore.com>
974
975 * einfo.ads: Minor reformatting.
976 * debug.adb: Minor comment improvement.
977
9782011-08-01 Javier Miranda <miranda@adacore.com>
979
980 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
981 consider hidden subprograms as valid candidates.
982
9832011-08-01 Arnaud Charlet <charlet@adacore.com>
984
985 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
986
9872011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
988
989 * gnat_ugn.texi: Fix typo.
990
61c161b2
AC
9912011-08-01 Robert Dewar <dewar@adacore.com>
992
993 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
994 lib-xref.adb: Minor reformatting
995
9962011-08-01 Gary Dismukes <dismukes@adacore.com>
997
998 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
999 when to generate a call to Move_Final_List.
1000 (Has_Controlled_Parts): Remove this function.
1001
84df40f7
AC
10022011-08-01 Geert Bosch <bosch@adacore.com>
1003
1004 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
1005 "," in choice list.
1006
10072011-08-01 Thomas Quinot <quinot@adacore.com>
1008
1009 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
1010 explicit raise of a predefined exception as Comes_From_Source if the
1011 original N_Raise_Statement comes from source.
1012
10132011-08-01 Robert Dewar <dewar@adacore.com>
1014
1015 * sinfo.ads: Add comment.
1016 * sem_ch6.adb: Minor reformatting.
1017
10182011-08-01 Robert Dewar <dewar@adacore.com>
1019
1020 * freeze.adb (Freeze_Entity): Refine check for bad component size
1021 clause to avoid rejecting confirming clause when atomic/aliased present.
1022
10232011-08-01 Ed Schonberg <schonberg@adacore.com>
1024
1025 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
1026 better determine whether an entity reference is a write.
1027 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
1028 subcomponent.
1029 * lib-xref.adb (Output_References): Do no suppress a read reference at
1030 the same location as an immediately preceeding modify-reference, to
1031 handle properly in-out actuals.
1032
10332011-08-01 Tristan Gingold <gingold@adacore.com>
1034
1035 * env.c (__gnat_setenv) [VMS]: Refine previous change.
1036
10372011-08-01 Quentin Ochem <ochem@adacore.com>
1038
1039 * i-cstrin.adb (New_String): Changed implementation, now uses only the
1040 heap to compute the result.
1041
c7f0d2c0
AC
10422011-08-01 Robert Dewar <dewar@adacore.com>
1043
1044 * atree.ads: Minor reformatting.
1045
10462011-08-01 Emmanuel Briot <briot@adacore.com>
1047
1048 * g-expect.adb (Get_Command_Output): Fix memory leak.
1049
10502011-08-01 Geert Bosch <bosch@adacore.com>
1051
1052 * cstand.adb (P_Float_Type): New procedure to print the definition of
1053 predefined fpt types.
1054 (P_Mixed_Name): New procedure to print a name using mixed case
1055 (Print_Standard): Use P_Float_Type for printing floating point types
1056 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
1057 precision IEEE float.
1058
10592011-08-01 Thomas Quinot <quinot@adacore.com>
1060
1061 * sem_ch3.adb: Minor reformatting.
1062
10632011-08-01 Ed Schonberg <schonberg@adacore.com>
1064
1065 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
1066 the completion of a generic function, insert the new body rather than
1067 rewriting the original.
1068
10692011-08-01 Yannick Moy <moy@adacore.com>
1070
1071 * sinfo.ads, errout.ads: Typos in comments.
1072
1c54829e
AC
10732011-08-01 Robert Dewar <dewar@adacore.com>
1074
1075 * par-endh.adb: Minor reformatting.
1076
10772011-08-01 Robert Dewar <dewar@adacore.com>
1078
1079 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
1080 (Pre_Post_Aspects): New subtype.
1081 * par-ch12.adb (P_Generic): New syntax for aspects in packages
1082 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
1083 * par-ch7.adb (P_Package): Remove Decl parameter
1084 (P_Package): Handle new syntax for aspects (before IS)
1085 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
1086 new aspect syntax
1087 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
1088 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
1089 (P_Package): Remove Decl parameter
1090 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
1091 aspects
1092 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
1093 specs
1094 * sem_util.ads, sem_util.adb (Static_Boolean): New function
1095 * sinfo.ads: Document new syntax for aspects in packages etc.
1096 * sprint.adb: Handle new syntax of aspects before IS in package
1097
10982011-08-01 Thomas Quinot <quinot@adacore.com>
1099
1100 * atree.ads: Minor reformatting.
1101 * sem_prag.adb: Minor reformatting.
1102
11032011-08-01 Robert Dewar <dewar@adacore.com>
1104
1105 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
1106 case expr alternative.
1107
11082011-08-01 Ed Schonberg <schonberg@adacore.com>
1109
1110 * sem_ch12.adb: Fix typo.
1111
9eea4346
GB
11122011-08-01 Geert Bosch <bosch@adacore.com>
1113
1114 * sem_prag.adb (Check_No_Link_Name): New procedure.
1115 (Process_Import_Or_Interface): Use Check_No_Link_Name.
1116 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
1117 instead of Standard_Long_Long_Float_Size global. Preparation for
1118 eventual removal of per type constants.
1119 * exp_util.ads (Get_Stream_Size): New function returning the stream
1120 size value of subtype E.
1121 * exp_util.adb (Get_Stream_Size): Implement new function.
1122 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
1123 function.
1124 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
1125 * einfo.adb:
1126 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
1127
3d6c3bd7
GB
11282011-08-01 Geert Bosch <bosch@adacore.com>
1129
1130 * cstand.adb: Fix comments.
1131 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
1132 count of arguments.
1133
e7d897b8
AC
11342011-08-01 Robert Dewar <dewar@adacore.com>
1135
1136 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
1137
11382011-08-01 Geert Bosch <bosch@adacore.com>
1139
1140 * atree.ads: Fix comment.
1141
c228a069
AC
11422011-08-01 Robert Dewar <dewar@adacore.com>
1143
1144 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
1145 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
1146 * par.adb: Add with for Namet.Sp.
1147 * par-tchk.adb: Minor reformatting.
1148
11492011-08-01 Vincent Celier <celier@adacore.com>
1150
1151 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
1152 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
1153 of the init procedure of a SAL.
1154 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
1155 New procedure.
1156
11572011-08-01 Thomas Quinot <quinot@adacore.com>
1158
1159 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
1160 reformatting.
1161
11622011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1163
1164 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
1165
11662011-08-01 Thomas Quinot <quinot@adacore.com>
1167
1168 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
1169 conformant with its spec (return True only for types that have
1170 an overriding Initialize primitive operation that prevents them from
1171 having preelaborable initialization).
1172 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
1173 initialization for controlled types in Ada 2005 or later mode.
1174
857ade1b
RD
11752011-08-01 Robert Dewar <dewar@adacore.com>
1176
1177 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
1178 Postcondition.
1179 (Same_Aspect): New function.
1180 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
1181 Type_Invariant, Precondition, Postcondition.
1182 * snames.ads-tmpl: Add Name_Type_Invariant.
1183
bd949ee2
RD
11842011-08-01 Robert Dewar <dewar@adacore.com>
1185
1186 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
1187 here.
1188 (Freeze_All_Ent): Fix error in handling inherited aspects.
1189 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
1190 already analyzed, but don't skip entire processing of a declaration,
1191 that's wrong in some cases of declarations being rewritten.
1192 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
1193 Don't delay for integer, string literals
1194 Treat predicates in usual manner for delay, remove special case code,
1195 not needed.
1196 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
1197 (Build_Predicate_Function): Update saved expression in aspect
1198 (Build_Invariant_Procedure): Update saved expression in aspect
1199 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
1200 of replacement of discriminant references if the reference is simple.
1201
f1c952af
RD
12022011-08-01 Robert Dewar <dewar@adacore.com>
1203
1204 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
1205 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
1206 Static_Predicate and Dynamic_Predicate.
1207 (Build_Predicate_Function): Add processing for Static_Predicate
1208 and Dynamic_Predicate.
1209 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
1210 (From_Static_Predicate): New flag
1211 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
1212
12132011-08-01 Robert Dewar <dewar@adacore.com>
1214
1215 * usage.adb: Documentation cleanup for Ada version modes in usage.
1216 * expander.adb: Minor reformatting.
1217
47e11d08
AC
12182011-08-01 Robert Dewar <dewar@adacore.com>
1219
1220 * atree.ads: Minor comment fix.
1221 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
1222 a-witeio.ads, sem_prag.adb: Minor reformatting.
1223
12242011-08-01 Doug Rupp <rupp@adacore.com>
1225
1226 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
1227 pointers. Use descrip.h header file for convenience. Add some
1228 comments.
1229
12302011-08-01 Robert Dewar <dewar@adacore.com>
1231
1232 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
1233 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
1234 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
1235 New procedure.
1236 (Check_Aspect_At_End_Of_Declarations): New procedure
1237 (Analye_Aspect_Specification): Minor changes for above procedures
1238 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
1239 specification node as well.
1240
12412011-08-01 Pascal Obry <obry@adacore.com>
1242
1243 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
1244 Windows files. Use GetFilesAttributes() in this case to check for file
1245 existence instead of returning with an error code.
1246
a3a16b21
VC
12472011-08-01 Vincent Celier <celier@adacore.com>
1248
1249 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
1250 High is above Source length.
1251
ff58cc69
RD
12522011-08-01 Robert Dewar <dewar@adacore.com>
1253
1254 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
1255
6bb88533
AC
12562011-08-01 Robert Dewar <dewar@adacore.com>
1257
1258 * aspects.ads (Boolean_Aspects): New subtype.
1259 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
1260 for derived types in cases where the parent type and derived type have
1261 aspects.
1262 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
1263 with aspects when parent type also has aspects.
1264 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
1265 boolean expression at this point).
1266 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
1267 accordance with final decision on the Ada 2012 feature.
1268 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
1269
12702011-08-01 Matthew Heaney <heaney@adacore.com>
1271
1272 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
1273
060a3f28
AC
12742011-08-01 Pascal Obry <obry@adacore.com>
1275
1276 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
1277 Fix Replace_Slice when High is above current string size.
1278 (Replace_Slice): Fix DL computation when High is above current
1279 string length.
1280
12812011-08-01 Gary Dismukes <dismukes@adacore.com>
1282
1283 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
1284
e7f567a3
AC
12852011-08-01 Matthew Heaney <heaney@adacore.com>
1286
1287 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
1288 of node.
1289
12902011-08-01 Pascal Obry <obry@adacore.com>
1291
1292 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
1293 reformatting.
1294
1a265e78
AC
12952011-08-01 Ed Schonberg <schonberg@adacore.com>
1296
1297 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
1298 access to protected subprograms in generic bodies.
1299 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
1300 protected type, indicate that the convention of the subprogram is
1301 Convention_Protected, because it may be used in subsequent declarations
1302 within the protected declaration.
1303
13042011-08-01 Vincent Celier <celier@adacore.com>
1305
1306 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
1307 and "final" procedures when the name of the library is "ada", to avoid
1308 duplicate symbols "adainit" and "adafinal" in executables.
1309
67e28ef8
ES
13102011-08-01 Ed Schonberg <schonberg@adacore.com>
1311
1312 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
1313 quantified expression that appears within a postcondition and uses the
1314 Ada2012 'Result attribute.
1315
6da2ca7d
RO
13162011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1317
1318 * init.c (__gnat_error_handler): Cast reason to int.
1319 (__gnat_install_handler): Explain sa_sigaction use.
1320
7d5997c6
EB
13212011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1322
1323 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
1324 subprogram has copy-in copy-out parameters, try to promote the mode of
1325 the return type if it is passed in registers.
1326
4b4cfdd5
EB
13272011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1328
1329 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
1330 left operand as addressable.
1331
f3d34576
EB
13322011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1333
1334 * gcc-interface/gigi.h (build_function_stub): Remove.
1335 (build_return_expr): Likewise.
1336 (convert_vms_descriptor): Declare.
1337 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
1338 (build_function_stub): Move to...
1339 * gcc-interface/utils2.c (build_return_expr): Move to...
1340 * gcc-interface/trans.c (build_function_stub): ...here.
1341 (build_return_expr): ...here.
1342 (Subprogram_Body_to_gnu): Add local variable for language_function.
1343 Disconnect the parameter attributes cache, if any, once done with it.
1344 Call end_subprog_body only after setting the end_locus.
1345 Build the stub associated with the function, if any, at the very end.
1346 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
1347 variables and streamline control flow.
1348
0a6ecc08
AC
13492011-07-23 Arnaud Charlet <charlet@adacore.com>
1350
1351 PR ada/49819
1352 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
1353 g-trasym-dwarf.adb.
1354
5b6d595b
RO
13552011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1356
1357 PR bootstrap/49794
1358 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
1359 Assign to act.sa_sigaction.
1360 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
1361 current->return_address to char * before arithmetic.
1362
94017021
RO
13632011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1364
1365 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
1366 Correct argument types.
1367 Extract code from reason.
1368 (__gnat_install_handler): Assign to act.sa_sigaction.
1369
52fd02bb
EB
13702011-07-21 Eric Botcazou <ebotcazou@adacore.com>
1371
1372 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
1373 (GNAT1_OBJS): ...here.
1374
f39a9ca2
EB
13752011-07-15 Eric Botcazou <ebotcazou@adacore.com>
1376
1377 PR ada/48711
1378 * g-socthi-mingw.adb (Fill): Fix formatting.
1379
9e36aa23
EB
1380 * gcc-interface/gigi.h: Move around comment.
1381
e3aca522
JDA
13822011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1383
1384 PR ada/46350
1385 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
1386
696b1960
FW
13872011-07-14 Florian Weimer <fw@deneb.enyo.de>
1388
1389 PR ada/48711
1390 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
1391
f542c405
EB
13922011-07-13 Eric Botcazou <ebotcazou@adacore.com>
1393
1394 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
1395 range comparison if Pmode is SImode.
1396
9e9bd455
LG
13972011-07-12 Laurent GUERBY <laurent@guerby.net>
1398 Eric Botcazou <ebotcazou@adacore.com>
1399
1400 * adadecode.c: Wrap up in extern "C" block.
1401 * adadecode.h: Likewise.
1402 * adaint.c: Likewise. Remove 'const' keyword.
1403 * adaint.h: Likewise.
1404 * argv.c: Likewise.
1405 * atree.h: Likewise.
1406 * cio.c: Likewise.
1407 * cstreams.c: Likewise.
1408 * env.c: Likewise.
1409 * exit.c: Likewise.
1410 * fe.h: Likewise.
1411 * final.c: Likewise.
1412 * init.c: Likewise.
1413 * initialize.c: Likewise.
1414 * link.c: Likewise.
1415 * namet.h: Likewise.
1416 * nlists.h: Likewise.
1417 * raise.c: Likewise.
1418 * raise.h: Likewise.
1419 * repinfo.h: Likewise.
1420 * seh_init.c: Likewise.
1421 * targext.c: Likewise.
1422 * tracebak.c: Likewise.
1423 * uintp.h: Likewise.
1424 * urealp.h: Likewise.
1425 * xeinfo.adb: Wrap up generated C code in extern "C" block.
1426 * xsinfo.adb: Likewise.
1427 * xsnamest.adb: Likewise.
1428 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
1429 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
1430 * gcc-interface/misc.c: Likewise.
1431 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
1432 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
1433 ada/targext.o here...
1434 (GNAT_ADA_OBJS): ...and not here.
1435 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
1436 (GNATBIND_OBJS): Reorder.
1437
7644b3c7
RH
14382011-07-07 Richard Henderson <rth@redhat.com>
1439
1440 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1441 dwarf2out_frame_init.
1442
8384ac41
EB
14432011-07-07 Eric Botcazou <ebotcazou@adacore.com>
1444
1445 * gcc-interface/misc.c (gnat_init): Tweak previous change.
1446
fbdd5d87
RO
14472011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1448
1449 PR target/39150
1450 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
1451
1a072294
RG
14522011-07-06 Richard Guenther <rguenther@suse.de>
1453
8384ac41
EB
1454 * gcc-interface/misc.c (gnat_init): Merge calls to
1455 build_common_tree_nodes and build_common_tree_nodes_2.
1a072294
RG
1456 Re-initialize boolean_false_node.
1457
bc712852
EB
14582011-07-02 Eric Botcazou <ebotcazou@adacore.com>
1459 Olivier Hainque <hainque@adacore.com>
1460 Nicolas Setton <setton@adacore.com>
1461
1462 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
1463 the type according to the ARTIFICIAL_P parameter.
1464 (create_type_decl): Likewise.
1465 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
1466
2eb22389
EB
14672011-07-01 Eric Botcazou <ebotcazou@adacore.com>
1468
1469 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
1470 (gnatbind): Likewise.
1471
4bdaaf2f
RO
14722011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1473
1474 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
1475
c020c92b
EB
14762011-06-18 Eric Botcazou <ebotcazou@adacore.com>
1477
1478 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
1479 local variable throughout. Remove useless call to Base_Type.
1480 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
1481 Take it also into account for the volatileness of the field. Set the
1482 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
1483
96769d32
EB
14842011-06-18 Eric Botcazou <ebotcazou@adacore.com>
1485
1486 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
1487 on a dereference built for a by-ref object if it has an address clause.
1488
7e4680c1
EB
14892011-06-18 Eric Botcazou <ebotcazou@adacore.com>
1490
1491 * einfo.ads (Address_Taken): Document use for the second argument of
1492 Asm_Input and Asm_Output attributes.
1493 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
1494 argument is an entity name, then set Address_Taken on it.
1495 <Attribute_Asm_Output>: Likewise.
1496 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
1497 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
1498 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
1499 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
1500
15012011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
d5cc9181
JR
1502
1503 PR middle-end/46500
1504 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
1505
677f3fa8
JM
15062011-06-14 Joseph Myers <joseph@codesourcery.com>
1507
1508 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
1509 (ada/utils.o): Update dependencies.
1510 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
1511 ../../../libcpp/libcpp.a.
1512 * gcc-interface/utils.c: Include common/common-target.h.
1513 (process_attributes): Use targetm_common.have_named_sections.
1514
009db074
RG
15152011-06-07 Richard Guenther <rguenther@suse.de>
1516
0bad0e23
EB
1517 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
1518 set_sizetype.
009db074 1519
3bfc61cf
EB
15202011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1521
0bad0e23 1522 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
3bfc61cf
EB
1523 TREE_THIS_NOTRAP flag.
1524
5c4a1c7b
EB
15252011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1526
1527 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
1528 Fix thinko.
1529
e9f57686
EB
15302011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1531
1532 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
1533 constants whose full view has discriminants specially.
1534
10e4d056
EB
15352011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1536
1537 * gcc-interface/utils.c: Include diagnostic.h.
1538 (gnat_write_global_declarations): Output debug information for all
1539 global type declarations before finalizing the compilation unit.
1540 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
1541
0957c029
JJ
15422011-05-25 Jakub Jelinek <jakub@redhat.com>
1543
1544 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
1545
52d0a7ac
KT
15462011-05-25 Kai Tietz <ktietz@redhat.com>
1547
1548 * adaint.c (__gnat_to_canonical_file_list_next): Use array
1549 initialization instead of const/none-const pointer assignment.
1550
1ed1641d
JM
15512011-05-24 Joseph Myers <joseph@codesourcery.com>
1552
1553 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
1554 $(EXTRA_GNAT1_OBJS).
1555 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
1556 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
1557 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
1558 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
1559 libcommon-target.a instead of prefix.o.
1560
9fe72ebd
JM
15612011-05-21 Joseph Myers <joseph@codesourcery.com>
1562
1563 PR ada/49097
0bad0e23 1564 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9fe72ebd 1565
2691e6d7
JM
15662011-05-20 Joseph Myers <joseph@codesourcery.com>
1567
0bad0e23
EB
1568 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
1569 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
1570 instead of version.o.
2691e6d7 1571
bf6490b5
KT
15722011-05-18 Kai Tietz <ktietz@redhat.com>
1573
1574 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
1575 boolean_false_node instead of integer_zero_node.
1576 (convert_with_check): Likewise.
1577 * gcc-interface/decl.c (choices_to_gnu): Likewise.
1578
7bf9a5ac
EB
15792011-05-12 Eric Botcazou <ebotcazou@adacore.com>
1580
1581 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
1582 type of the parameter is an unconstrained array, convert the actual to
1583 the type of the formal in the In Out and Out cases as well.
1584
e5b00edf
NF
15852011-05-11 Nathan Froyd <froydnj@codesourcery.com>
1586
1587 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
1588 call build_function_type_array or build_varargs_function_type_array
1589 instead.
1590 (create_subprog_type): Don't call build_function_type; call
1591 build_function_type_vec instead.
1592
51545682
NF
15932011-05-11 Nathan Froyd <froydnj@codesourcery.com>
1594
1595 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
1596 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
1597 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
1598
c99c0026
EB
15992011-05-07 Eric Botcazou <ebotcazou@adacore.com>
1600
f620bd21
EB
1601 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
1602
c99c0026
EB
1603 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
1604 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
1605
3d528853
NF
16062011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1607
c99c0026 1608 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
3d528853 1609
d7d058c5
NF
16102011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1611
1612 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
1613 instead of accessing TYPE_ARG_TYPES directly.
1614 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
1615
805e60a0
EB
16162011-05-05 Eric Botcazou <ebotcazou@adacore.com>
1617
1618 PR ada/48844
1619 * gcc-interface/gigi.h (get_variant_part): Declare.
1620 * gcc-interface/decl.c (get_variant_part): Make global.
1621 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
1622 types have the same constant size, are record types and T1 has a
1623 variant part while T2 doesn't.
1624
907a08d9
EB
16252011-05-05 Eric Botcazou <ebotcazou@adacore.com>
1626
1627 * gcc-interface/utils.c (begin_subprog_body): Do not call
1628 get_pending_sizes.
1629 (end_subprog_body): Likewise.
1630
d35936ab
RG
16312011-05-04 Richard Guenther <rguenther@suse.de>
1632
1633 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
1634 int_const_binop.
1635 (pos_to_constructor): Likewise.
1636
c1fd8753
NF
16372011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1638 Eric Botcazou <ebotcazou@adacore.com>
1639
1640 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
1641 of build_function_type. Adjust calls to...
1642 (build_raise_check): ...this. Do not take a void_tree parameter.
1643 Call build_function_type_list instead of build_function_type.
1644 Fix head comment and swap couple of conditional blocks.
1645
4fb87d2b
EB
16462011-04-30 Eric Botcazou <ebotcazou@adacore.com>
1647
1648 * gnatvsn.ads (Library_Version): Bump to 4.7.
1649 (Current_Year): Bump to 2011.
1650
fa5e5a76
MM
16512011-04-29 Michael Matz <matz@suse.de>
1652
1653 * gcc-interface/misc.c (gnat_handle_option): Set
1654 warn_maybe_uninitialized.
1655
8d6a2f69
GP
16562011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
1657
1658 * gnat_ugn.texi (Complexity Metrics Control): Update link to
1659 the Watson/McCabe paper.
1660
770937fd
JM
16612011-04-23 Jim Meyering <meyering@redhat.com>
1662
1663 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
1664
eb601ae1
EB
16652011-04-22 Eric Botcazou <ebotcazou@adacore.com>
1666
1667 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
1668 onto the new type.
1669
7d7fcb08
EB
16702011-04-22 Eric Botcazou <ebotcazou@adacore.com>
1671
1672 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
1673 parameter.
1674 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
1675 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
1676 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
1677 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
1678 <all>: Do not set flags on the reused DECL node coming from an alias.
1679 Set DECL_IGNORED_P on the DECL node built for subprograms if they
1680 don't need debug info here...
1681 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
1682 (gigi): Adjust calls to create_subprog_decl.
1683 (build_raise_check): Likewise.
1684 (establish_gnat_vms_condition_handler): Likewise.
1685 (Compilation_Unit_to_gnu): Likewise.
1686 (gnat_to_gnu): Likewise.
1687
e1876cac
EB
16882011-04-21 Eric Botcazou <ebotcazou@adacore.com>
1689
1690 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
1691 (NO_REORDER_ADAFLAGS): New variable.
1692 (EXTRA_GNATTOOLS): Always define.
1693 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
1694 Clean up and adjust list of files compiled with special options.
1695 * gcc-interface/Make-lang.in: Likewise.
1696 (ada/decl.o): Cosmetical change.
1697 (ada/misc.o): Remove dependency on $(PLUGIN_H).
1698
04695783
JM
16992011-04-20 Jim Meyering <meyering@redhat.com>
1700
1701 * initialize.c (__gnat_initialize): Remove useless if-before-free.
1702
23399579
EB
17032011-04-17 Eric Botcazou <ebotcazou@adacore.com>
1704
1705 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
1706 $(CFLAGS) on the link line.
1707
51c5169c
EB
17082011-04-17 Eric Botcazou <ebotcazou@adacore.com>
1709
1710 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
1711 padded type built for the return type if it is unconstrained.
1712
61e46a7d
NF
17132011-04-14 Nathan Froyd <froydnj@codesourcery.com>
1714
1715 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
1716
81f653d6
NF
17172011-04-12 Nathan Froyd <froydnj@codesourcery.com>
1718
b4867846
EB
1719 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
1720 before calling TREE_CHAIN.
81f653d6
NF
1721 * gcc-interface/misc.c (gnat_init_ts): New function.
1722 (LANG_HOOKS_INIT_TS): Define.
1723
a358e188
MJ
17242011-04-12 Martin Jambor <mjambor@suse.cz>
1725
b4867846
EB
1726 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
1727 instead of cgraph_node.
a358e188 1728
29b1c5a4
EB
17292011-04-08 Eric Botcazou <ebotcazou@adacore.com>
1730
1731 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
1732 alignment on fields of the RETURN type built for the Copy-In Copy-Out
1733 mechanism.
1734
88872b00
EB
17352011-04-08 Eric Botcazou <ebotcazou@adacore.com>
1736
1737 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
1738 of aggregate types that contain a placeholder.
1739
dcf0c47e
NF
17402011-04-08 Nathan Froyd <froydnj@codesourcery.com>
1741
1742 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
b4867846 1743 TYPE_ARG_TYPES.
dcf0c47e
NF
1744 (handle_type_generic_attribute): Likewise.
1745
53e3000c
EB
17462011-04-04 Eric Botcazou <ebotcazou@adacore.com>
1747
1748 PR ada/47163
1749 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
1750
ab380bb4
KT
17512011-04-04 Kai Tietz <ktietz@redhat.com>
1752
1753 PR ada/47163
0bad0e23
EB
1754 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
1755 to flag value.
ab380bb4 1756
8ffac116
EB
17572011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1758
1759 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
1760 type case, do not strip a padding type around the array type.
1761
de9528f0
EB
17622011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1763
1764 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
1765 types.
1766
d9d7a26c
EB
17672011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1768
1769 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
1770 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
de9528f0 1771 code for -feliminate-unused-debug-types.
d9d7a26c
EB
1772 (gnat_post_options): Likewise.
1773
4cb12a90
EB
17742011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1775
1776 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
1777 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
1778 distinct copy.
1779
acccc61c
EB
17802011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1781
1782 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
1783 DECL_ARTIFICIAL flag on enumeration types.
1784
583eb0c9
EB
17852011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1786
1787 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
1788 fat pointer types artificial unconditionally.
1789 <E_Array_Subtype>: Attach the base array type as a parallel type if it
1790 isn't artificial.
1791
e3edbd56
EB
17922011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1793
1794 * gcc-interface/gigi.h (get_dummy_type): Declare.
1795 (build_dummy_unc_pointer_types): Likewise.
1796 (finish_fat_pointer_type): Likewise.
1797 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
1798 fat pointer type has been built, complete it in place.
1799 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
1800 and thin pointers. Remove useless variable.
1801 (finish_fat_pointer_type): Make global and move to...
1802 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
1803 (get_dummy_type): New function.
1804 (build_dummy_unc_pointer_types): Likewise.
1805 (gnat_pushdecl): Propage the name to the anonymous variants only.
1806 (update_pointer_to): Only adjust the pointer types in the unconstrained
1807 array case.
1808
65444786
EB
18092011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1810
1811 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
1812 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
1813 if this is a Taft amendment type and the full declaration is available.
1814 * gcc-interface/trans.c (process_type): Likewise.
1815 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
1816 (process_freeze_entity): Likewise.
1817 * gcc-interface/utils.c (dummy_global): New static variable.
1818 (gnat_write_global_declarations): If there are types declared as used
1819 at the global level, insert them in the global hash table.
1820
1aeb40dd
EB
18212011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1822
1823 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
1824 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
1825 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
1826 copy.
1827 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
1828 flag of the type accordingly.
1829 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
1830
80ec8b4c
EB
18312011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1832
1833 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
1834 finalizing types when updating the pointers to the designated type.
1835 <all>: Finalize the deferred types even if we didn't defer processing
1836 of incomplete types in this invocation.
1837
2a9d769a
OH
18382011-04-01 Olivier Hainque <hainque@adacore.com>
1839 Nicolas Setton <setton@adacore.com>
1840 Eric Botcazou <ebotcazou@adacore.com>
1841
1842 * gcc-interface/misc.c (gnat_descriptive_type): New function.
1843 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
1844
2438d7a6
KT
18452011-03-28 Kai Tietz <ktietz@redhat.com>
1846
333d8aff 1847 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
80ec8b4c
EB
1848 Windows targets.
1849 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
1850 * system-mingw.ads (System): Change ZCX_By_Default default to True.
333d8aff 1851
80ec8b4c 1852 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2438d7a6 1853
8ad150f6
TG
18542011-03-28 Tristan Gingold <gingold@adacore.com>
1855
1856 PR ada/44431
80ec8b4c
EB
1857 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
1858 Use ada output of gnatbind.
8ad150f6
TG
1859 (ada/b_gnatb.adb): Ditto.
1860 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
1861 (ada.mostlyclean, ada.stage1)
1862 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
1863 (ada.stagefeedback): Adjust.
80ec8b4c 1864 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
8ad150f6
TG
1865 Use ada output of gnatbind.
1866 (b_gnatm.adb): Ditto.
1867 (b_gnatl.o, b_gnatm.o): New rules.
1868
51c7954d
EB
18692011-03-26 Eric Botcazou <ebotcazou@adacore.com>
1870
1871 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
1872 for the padded type built to support a specified size or alignment.
1873
6ddf9843
EB
18742011-03-26 Eric Botcazou <ebotcazou@adacore.com>
1875
1876 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
1877 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
1878 unconditionally to the end of the unit when the designated type is
1879 limited_with'ed.
1880 <all>: Rename local variable. Attempt to un-defer types only and do it
1881 for limited_with'ed types as well.
1882 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
1883 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
1884 consistently and remove redundant call to finalize_from_with_types.
1885
5daed84a
EB
18862011-03-26 Eric Botcazou <ebotcazou@adacore.com>
1887
1888 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
1889 subprograms without a previous spec declared in the same unit.
1890 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
1891 subprograms at the end of the unit instead of at the beginning.
1892 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
1893 isn't public for the special handling of non-inline functions nested
1894 inside inline external functions.
1895
0edf1bb2
JL
18962011-03-25 Jeff Law <law@redhat.com>
1897
5daed84a 1898 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
0edf1bb2 1899
e3c4580e
EB
19002011-03-24 Eric Botcazou <ebotcazou@adacore.com>
1901
1902 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
1903 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
1904 to compute Set_Size_Depends_On_Discriminant.
1905 (Layout_Type): Call it on array types in back-end layout mode.
1906 * sem_util.adb (Requires_Transient_Scope): Return true for array
1907 types only if the size depends on the value of discriminants.
1908 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
1909 type if the RHS is a call to a function that returns an unconstrained
1910 type with default discriminant.
1911
abbc8c7b
EB
19122011-03-24 Eric Botcazou <ebotcazou@adacore.com>
1913
1914 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
1915 non-conversion to the nominal result type at the end.
1916
ddb5a105
EB
19172011-03-23 Eric Botcazou <ebotcazou@adacore.com>
1918
1919 * gcc-interface/trans.c (create_temporary): New function taken from...
1920 (create_init_temporary): ...here. Call it.
1921 (call_to_gnu): Create the temporary for the return value early, if any.
1922 Create it for a function with copy-in/copy-out parameters if there is
1923 no target; in other cases of copy-in/copy-out, use another temporary.
1924 Push the new binding level lazily. Add and rename local variables.
1925
0d853156
EB
19262011-03-23 Eric Botcazou <ebotcazou@adacore.com>
1927
1928 * gcc-interface/decl.c (validate_size): Improve comments and tweak
1929 error message.
1930 (set_rm_size): Likewise.
1931
4184ef1b
EB
19322011-03-23 Eric Botcazou <ebotcazou@adacore.com>
1933
1934 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
1935 for the padded type built in order to support a specified alignment.
1936 Fix incorrect formatting.
1937
bf7eefab
EB
19382011-03-21 Eric Botcazou <ebotcazou@adacore.com>
1939
1940 PR bootstrap/48216
1941 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
1942
ef0feeb2
EB
19432011-03-21 Eric Botcazou <ebotcazou@adacore.com>
1944
1945 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
1946 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
1947 to the end of the list. Adjust recursive call. Rename local variable.
1948 If REORDER is true, reorder components of the record type.
1949 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
1950 components_to_record and adjust the parameter list.
1951
646f9414
EB
19522011-03-21 Eric Botcazou <ebotcazou@adacore.com>
1953
1954 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
1955 disabled, use the variable for bounds of loop iteration scheme.
1956
62d784f7
KT
19572011-03-21 Kai Tietz <ktietz@redhat.com>
1958
1959 PR target/12171
0bad0e23 1960 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
62d784f7 1961
f230d759
EB
19622011-03-17 Eric Botcazou <ebotcazou@adacore.com>
1963
1964 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
1965 out whether the expression is read-only. Short-circuit placeholder
1966 case and rename a couple of local variables.
1967
bb1f7929
EB
19682011-03-17 Eric Botcazou <ebotcazou@adacore.com>
1969
1970 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
1971 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
1972 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
1973 (convert): Deal with conversions from a smaller form type specially.
1974
400a2d24
EB
19752011-02-14 Eric Botcazou <ebotcazou@adacore.com>
1976
1977 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
1978 its argument, except for the special -I- switch.
1979
c26bc3ad
GP
19802011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1981
0bad0e23
EB
1982 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
1983 "Ada Issues".
c26bc3ad 1984
07b8e910
EB
19852011-02-08 Eric Botcazou <ebotcazou@adacore.com>
1986
1987 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
1988
31a5a547
EB
19892011-02-03 Eric Botcazou <ebotcazou@adacore.com>
1990
1991 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
1992 GNAT_FORMAL.
1993 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
1994 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
1995 instead of GNAT_FORMAL. Protect the expression against multiple uses.
1996 Do not generate the check directly, instead instantiate the template
1997 check present in the descriptor.
1998 (make_descriptor_field): Move around.
1999 (build_vms_descriptor32): Build a template check in the POINTER field.
2000 (build_vms_descriptor): Remove useless suffixes.
2001 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
2002
dcf25f59
EB
20032011-01-26 Eric Botcazou <ebotcazou@adacore.com>
2004
2005 PR bootstrap/47467
2006 * targext.c: Include target files if IN_RTS is defined.
2007
0418e131
RG
20082011-01-26 Richard Guenther <rguenther@suse.de>
2009
2010 PR bootstrap/47467
2011 * targext.c: Include config.h.
2012 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
2013 dependency.
2014
c6eecbd8
PO
20152011-01-04 Pascal Obry <obry@adacore.com>
2016 Eric Botcazou <ebotcazou@adacore.com>
2017
2018 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
2019
2d3c7e4f
EB
20202011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2021
2022 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
2023 end-of-case on the end label and its associated gotos, if any.
2024
0394741f
EB
20252011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2026
2027 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
2028 expressions of the parameter cache within the statement group of
2029 the CICO mechanism.
2030
2a02d090
OH
20312011-01-04 Olivier Hainque <hainque@adacore.com>
2032 Eric Botcazou <ebotcazou@adacore.com>
2033
2034 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
2035 (set_end_locus_from_node): New function.
2036 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
2037 make and the function end_locus.
2038 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
2039 for the elaboration subprogram.
2040 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
2041 set the end_locus of the expression as well.
2042
89f5e978
EB
20432011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2044
2045 PR ada/47131
2046 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
2047 variables that are referenced in exception handlers volatile.
2048
2049
ad41bd84 2050\f
797103eb 2051Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
2052
2053Copying and distribution of this file, with or without modification,
2054are permitted in any medium without royalty provided the copyright
2055notice and this notice are preserved.