]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
einfo.ads, einfo.adb (Suppress_Initialization): Replaces Suppress_Init_Procs.
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
5b1e6aca
RD
12011-08-02 Robert Dewar <dewar@adacore.com>
2
3 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
4 Suppress_Init_Procs.
5 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
6 Suppress_Initialization/Initialization_Suppressed.
7 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
8 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
9 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
10 * sem_prag.adb: New processing for pragma Suppress_Initialization.
11
5ad4969d
RD
122011-08-02 Robert Dewar <dewar@adacore.com>
13
14 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
15 Minor reformatting.
16
8c4ee6f5
AC
172011-08-02 Ed Schonberg <schonberg@adacore.com>
18
19 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
20 only have inheritable classwide pre/postconditions.
21
222011-08-02 Javier Miranda <miranda@adacore.com>
23
24 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
25 * rtsfind.ads (RE_Check_TSD): New runtime entity.
26 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
27 checks if the external tag of a type is the same as the external tag
28 of some other declaration.
29
0b3d16c0
AC
302011-08-02 Thomas Quinot <quinot@adacore.com>
31
32 * s-taskin.ads: Minor reformatting.
33
342011-08-02 Emmanuel Briot <briot@adacore.com>
35
36 * g-comlin.adb (Display_Help): swap the order in which it prints the
37 short help and the general usage.
38
392011-08-02 Ed Schonberg <schonberg@adacore.com>
40
41 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
42 the aspect declarations and attach them to the generic copy for
43 subsequent analysis.
44 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
45 declarations of the generic tree to the new subprogram declarations.
46 * sem_attr.adb (Check_Precondition_Postcondition): recognize
47 conditions that apply to a subprogram instance.
48
492011-08-02 Robert Dewar <dewar@adacore.com>
50
51 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
52
532011-08-02 Ed Schonberg <schonberg@adacore.com>
54
55 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
56 private type with a tagged full view is not derived in the immediate
57 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
58
4637729f
AC
592011-08-02 Robert Dewar <dewar@adacore.com>
60
61 * exp_ch4.adb: Minor reformatting.
62
632011-08-02 Ed Schonberg <schonberg@adacore.com>
64
65 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
66 Ada2012 iterator, the loop will be rewritten during expansion into a
67 while loop with a cursor and an element declaration. Do not analyze the
68 body in this case, because if the container is for indefinite types the
69 actual subtype of the elements will only be determined when the cursor
70 declaration is analyzed.
71
722011-08-02 Arnaud Charlet <charlet@adacore.com>
73
74 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
75 size/alignment related attributes in CodePeer_Mode.
76
772011-08-02 Gary Dismukes <dismukes@adacore.com>
78
79 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
80 Prepend_Element, since this can result in the operation getting the
81 wrong slot in the full type's dispatch table if the full type has
82 inherited operations. The incomplete type's operation will get added
83 to the proper position in the full type's primitives
84 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
85 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
86 dispatching operations, since there are cases where nonprimitive
87 subprograms can get added to the list of incomplete dependents (such
88 as subprograms in nested packages).
89 * sem_ch6.adb (Process_Formals): First, remove test for being in a
90 private part when determining whether to add a primitive with a
91 parameter of a tagged incomplete type to the Private_Dependents list.
92 Such primitives can also occur in the visible part, and should not have
93 been excluded from being private dependents.
94 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
95 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
96 list of a Taft-amendment incomplete type is a primitive before issuing
97 an error that the full type must appear in the same unit. There are
98 cases where nonprimitives can be in the list (such as subprograms in
99 nested packages).
100 * sem_disp.adb (Derives_From): Use correct condition for checking that
101 a formal's type is derived from the type of the corresponding formal in
102 the parent subprogram (the condition was completely wrong). Add
103 checking that was missing for controlling result types being derived
104 from the result type of the parent operation.
105
4c60de0c
YM
1062011-08-02 Yannick Moy <moy@adacore.com>
107
108 * errout.adb (First_Node): minor renaming
109 * restrict.adb (Check_Formal_Restriction): put restriction warning on
110 first node.
111
f5afb270
AC
1122011-08-02 Yannick Moy <moy@adacore.com>
113
114 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
115 before accessing operands.
116 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
117 decide whether an initialization expression respects SPARK rules, as
118 the plain node is the expanded one. This allows for more valid warnings
119 to be issued.
120 * gnat_rm.texi: Minor update.
121
1222011-08-02 Arnaud Charlet <charlet@adacore.com>
123
124 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
125 previous change.
126
1272011-08-02 Robert Dewar <dewar@adacore.com>
128
129 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
130
1312011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
132
133 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
134 loop statements and the element renaming declaration with a block when
135 the element type is controlled.
136
1372011-08-02 Yannick Moy <moy@adacore.com>
138
139 * sinfo.ads: Minor formatting.
140
1412011-08-02 Ed Schonberg <schonberg@adacore.com>
142
143 * sem_aggr.adb (Add_Association): if the association has a box and no
144 expression, use the Sloc of the aggregate itself for the new
145 association.
146 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
147 the Original_Node.
148
db72f10a
AC
1492011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
150
151 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
152 When a container is provided via a function call, generate a renaming
153 of the function result. This avoids the creation of a transient scope
154 and the premature finalization of the container.
155 * exp_ch7.adb (Is_Container_Cursor): Removed.
156 (Wrap_Transient_Declaration): Remove the supression of the finalization
157 of the list controller when the declaration denotes a container cursor,
158 it is not needed.
159
1602011-08-02 Yannick Moy <moy@adacore.com>
161
162 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
163 node is from source, instead of the original node being from source.
164 * sem_aggr.adb
165 (Resolve_Array_Aggregate): refine the check for a static expression, to
166 recognize also static ranges
167 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
168 Array_Type_Declaration): postpone the test for the type being a subtype
169 mark after the type has been resolved, so that component-selection and
170 expanded-name are discriminated.
171 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
172 to distinguish the case of an iteration scheme, so that an error is
173 issed on a non-static range in SPARK except in an iteration scheme.
174 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
175 In_Iter_Schm = True.
176 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
177 user-defined operators so that they are allowed in renaming
178 * sem_ch8.adb
179 (Find_Selected_Component): refine the check for prefixing of operators
180 so that they are allowed in renaming. Move the checks for restrictions
181 on selector name after analysis discriminated between
182 component-selection and expanded-name.
183 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
184 concatenation argument of string type if it is static.
185 * sem_util.adb, sem_util.ads
186 (Check_Later_Vs_Basic_Declarations): add a new function
187 Is_Later_Declarative_Item to decice which declarations are allowed as
188 later items, in the two different modes Ada 83 and SPARK. In the SPARK
189 mode, add that renamings are considered as later items.
190 (Enclosing_Package): new function to return the enclosing package
191 (Enter_Name): correct the rule for homonyms in SPARK
192 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
193 from source (result of expansion) to avoid issuing wrong warnings.
194
1952011-08-02 Ed Schonberg <schonberg@adacore.com>
196
197 * errout.adb: On anything but an expression First_Node returns its
198 argument.
199
23685ae6
AC
2002011-08-02 Pascal Obry <obry@adacore.com>
201
202 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
203
2042011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
205
206 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
207 Set the associated loop as the related expression of internally
208 generated cursors.
209 * exp_ch7.adb (Is_Container_Cursor): New routine.
210 (Wrap_Transient_Declaration): Supress the finalization of the list
211 controller when the declaration denotes a container cursor.
212
2132011-08-02 Yannick Moy <moy@adacore.com>
214
215 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
216 command line now.
217 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
218 expression is a simple expression. This check cannot be performed in
219 the semantics, so just drop it.
220 (P_Index_Or_Discriminant_Constraint): move check that the index or
221 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
222 semantics. Other cases were previously checked in the semantics.
223 * par-ch4.adb (P_Name): move checks that a selector name is not
224 character literal or an operator symbol to Find_Selected_Component in
225 the semantics
226 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
227 declarations are not placed after later declarations in a separate
228 procedure in Sem_Util (possibly not the best choice?), to be used both
229 during parsing, for Ada 83 mode, and during semantic analysis, for
230 SPARK mode.
231 * par-endh.adb (Check_End): move check that end label is not missing
232 to Process_End_Label in the semantics
233 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
234 the special case for SPARK restriction
235 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
236 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
237 parameter Force to issue the error message even on internal node (used
238 for generated end label). Call Check_Restriction to check when an error
239 must be issued. In SPARK mode, issue an error message even if the
240 restriction is not set.
241 (Check_Restriction): new procedure with an additional out parameter to
242 inform the caller that a message has been issued
243 * sem_aggr.adb: Minor modification of message
244 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
245 instead of issuing an error message directly
246 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
247 declarations are not placed after later declarations, by calling
248 Check_Later_Vs_Basic_Declarations
249 (Analyze_Subtype_Declaration): move here the check that an index or
250 discriminant constraint must be a subtype mark. Change the check that
251 a subtype of String must start at one so that it works on subtype marks.
252 * sem_ch4.adb (Analyze_Call): move here the check that a named
253 association cannot follow a positional one in a call
254 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
255 instead of issuing an error message directly
256 * sem_ch8.adb (Find_Selected_Component): move here the check that a
257 selector name is not a character literal or an operator symbol. Move
258 here the check that the prefix of an expanded name cannot be a
259 subprogram or a loop statement.
260 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
261 procedure called from parsing and semantics to check that basic
262 declarations are not placed after later declarations
263 (Process_End_Label): move here the check that end label is not missing
264
2652011-08-02 Arnaud Charlet <charlet@adacore.com>
266
267 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
268 representation clause in codepeer mode, since it confuses CodePeer and
269 does not bring useful info.
270
2712011-08-02 Ed Falis <falis@adacore.com>
272
273 * init.c: initialize fp hw on MILS.
274
2752011-08-02 Ed Schonberg <schonberg@adacore.com>
276
277 * errout.adb (First_Node): for bodies, return the node itself (small
278 optimization). For other nodes, do not check source_unit if the node
279 comes from Standard.
280
d2d9cc22
AC
2812011-08-02 Robert Dewar <dewar@adacore.com>
282
283 * exp_ch3.adb: Minor comment additions.
284 * sem_ch13.adb: Minor reformatting.
285
2862011-08-02 Pascal Obry <obry@adacore.com>
287
288 * make.adb, makeutl.adb: Removes some superfluous directory separator.
289
a01b9df6
AC
2902011-08-02 Robert Dewar <dewar@adacore.com>
291
292 * sem_attr.adb: Minor reformatting.
293
2942011-08-02 Robert Dewar <dewar@adacore.com>
295
296 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
297 (Has_Default_Component_Value): Removed
298 * einfo.ads Comment updates
299 (Has_Default_Aspect): Replaces Has_Default_Value
300 (Has_Default_Component_Value): Removed
301 * exp_ch13.adb
302 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
303 * exp_ch3.adb
304 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
305 (Get_Simple_Init_Val): Handle Default_Value aspect
306 (Needs_Simple_Initialization): Handle Default_Value aspect
307 * exp_ch3.ads: Needs_Simple_Initialization
308 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
309 * par-prag.adb (Pragma_Default[_Component]Value) Removed
310 * sem_ch13.adb
311 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
312 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
313 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
314
3152011-08-02 Ed Schonberg <schonberg@adacore.com>
316
317 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
318 package containing iteration primitives.
319 exp_ch5.adb (Expand_Iterator_Loop): ditto.
320
75c90775
AC
3212011-08-02 Ed Schonberg <schonberg@adacore.com>
322
323 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
324 "of", pre-analyze expression in case it is a function call with
325 finalization actions that must be placed ahead of the loop.
326 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
327 on an Ada2012 iterator, insert them ahead of the rewritten loop.
328
3292011-08-02 Geert Bosch <bosch@adacore.com>
330
331 * cstand.adb (Create_Float_Types): Only consider C's long double for
332 Long_Long_Float, in addition to double.
333
ded8909b
AC
3342011-08-02 Robert Dewar <dewar@adacore.com>
335
336 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
337 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
338 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
339 Minor reformatting.
340
3412011-08-02 Ed Schonberg <schonberg@adacore.com>
342
343 * sem_attr.adb: handle properly 'Result when it is a prefix of an
344 indexed component.
345
3462011-08-02 Javier Miranda <miranda@adacore.com>
347
348 * einfo.ads, einfo.adb
349 (Original_Access_Type): Move this attribute to Node26 since there was
350 an undocumented use of Node21 in E_Access_Subprogram_Type entities
351 which causes conflicts and breaks the generation of the .NET compiler.
352 (Interface_Name): Add missing documentation on JGNAT only uses of
353 this attribute.
354
70c34e1c
AC
3552011-08-02 Geert Bosch <bosch@adacore.com>
356
357 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
358 (Find_Back_End_Float_Type): Likewise
359 (Create_Back_End_Float_Types): Likewise
360 (Create_Float_Types): Likewise
361 (Register_Float_Type): Likewise
362 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
363 Nlist and split out type selection in new local Find_Base_Type function.
364 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
365 Nlist
366 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
367
3682011-08-02 Robert Dewar <dewar@adacore.com>
369
370 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
371 alpha order).
372 * opt.ads: Minor comment change.
373 * sem_ch12.adb: Minor code reorganization.
374
b715bc59
AC
3752011-08-02 Gary Dismukes <dismukes@adacore.com>
376
377 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
378 subtype's list of rep items to the list on the full subtype in the case
379 where the lists are the same.
380
3812011-08-02 Geert Bosch <bosch@adacore.com>
382
383 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
384 using the one from System.Strings, which also deallocates all strings.
385
002bdd68
AC
3862011-08-02 Geert Bosch <bosch@adacore.com>
387
388 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
389 function.
390 * gcc-interface/Make-lang.in: Update dependencies.
391
3922011-08-02 Olivier Hainque <hainque@adacore.com>
393
394 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
395 end_locus.
396
499769ec
AC
3972011-08-02 Javier Miranda <miranda@adacore.com>
398
399 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
400 associated with anonymous access to subprograms.
401
4022011-08-02 Geert Bosch <bosch@adacore.com>
403
404 * opt.ads
405 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
406 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
407 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
408 (Add_Symbol_Definition): Move to switch-c.adb
409 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
410 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
411 (Add_Symbol_Definition): Move to switch-c.adb.
412 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
413 * sem_warn.adb
414 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
415 Move to warnsw.adb.
416 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
417 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
418 Move to warnsw.adb.
419 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
420 (Add_Symbol_Definition): Moved from Prepcomp.
421 * switch-c.ads: Update copyright notice. Use String_List instead of
422 Argument_List, removing dependency on System.OS_Lib.
423
aa1e353a
AC
4242011-08-02 Yannick Moy <moy@adacore.com>
425
426 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
427 mode on initialization expression which does not respect SPARK
428 restrictions.
429 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
430 if the tree referenced by its argument represents an initialization
431 expression in SPARK, suitable for initializing an object in an object
432 declaration.
433
4342011-08-02 Javier Miranda <miranda@adacore.com>
435
436 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
437 internally generated access to subprogram with its associated protected
438 subprogram type.
439 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
440
15b682ca
GB
4412011-08-02 Geert Bosch <bosch@adacore.com>
442
443 * cstand.adb (Register_Float_Type): Print information about type to
444 register, if the Debug_Flag_Dot_B is set.
445 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
446 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
447 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
448 with a requested precision of more than Max_Digits digits and no more
449 than Max_Base_Digits digits, if a range specification is present and the
450 Predefined_Float_Types list has a suitable type to derive from.
451 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
452 case of type completion with pragma Import
453 * sem_prag.adb
454 (Process_Import_Predefined_Type): Processing to complete a type
455 with pragma Import. Currently supports floating point types only.
456 (Set_Convention_From_Pragma): Do nothing without underlying type.
457 (Process_Convention): Guard against absence of underlying type,
458 which may happen when importing incomplete types.
459 (Process_Import_Or_Interface): Handle case of importing predefined
460 types. Tweak error message.
461
f8726f2b
AC
4622011-08-02 Eric Botcazou <ebotcazou@adacore.com>
463
464 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
465 functions to previous change. Reorganize code slightly.
466
4672011-08-02 Geert Bosch <bosch@adacore.com>
468
469 * back_end.ads (Register_Type_Proc): New call back procedure type for
470 allowing the back end to provide information about available types.
471 (Register_Back_End_Types): New procedure to register back end types.
472 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
473 available types.
474 * cstand.adb (Back_End_Float_Types): New list for floating point types
475 supported by the back end.
476 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
477 (Copy_Float_Type): New procedure to make new copies of predefined types.
478 (Register_Float_Type): New call back procedure to populate the BEFT list
479 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
480 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
481 (Create_Float_Types): New procedure to create entities for floating
482 point types predefined in Standard, and put these and any remaining
483 BEFTs on the Predefined_Float_Types list.
484 * stand.ads (Predefined_Float_Types): New list for predefined floating
485 point types that do not have declarations in package Standard.
486
feecad68
AC
4872011-08-02 Eric Botcazou <ebotcazou@adacore.com>
488
489 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
490 entity node for the unit containing the parameter.
491 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
492 (Add_Inlined_Subprogram): Likewise.
493 * gcc-interface/Make-lang.in: Update dependencies.
494
4952011-08-02 Thomas Quinot <quinot@adacore.com>
496
497 * s-stusta.adb (Print): Make sure Pos is always initialized to a
498 suitable value.
499
12f0c50c
AC
5002011-08-02 Geert Bosch <bosch@adacore.com>
501
502 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
503
5042011-08-02 Eric Botcazou <ebotcazou@adacore.com>
505
506 * sem_type.adb (Covers): Move trivial case to the top and reuse the
507 computed value of Base_Type.
508
5092011-08-02 Yannick Moy <moy@adacore.com>
510
511 * restrict.adb (Check_Restriction): issue an error for any use of
512 class-wide, even if the No_Dispatch restriction is not set.
513 * sem_aggr.adb: Correct typos in comments and messages in formal mode
514 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
515 when completing a private extension, the type named in the private part
516 is not the same as that named in the visible part.
517 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
518 of an inherited primitive operations of a tagged type or type extension
519 that returns the tagged type.
520 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
521 function which returns True for an implicit operation inherited by the
522 derived type declaration for the argument type.
523 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
524 order.
525
fb86fe11
ES
5262011-08-02 Ed Schonberg <schonberg@adacore.com>
527
528 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
529 Process_Bounds, to perform analysis with expansion of a range or an
530 expression that is the iteration scheme for a loop.
531 (Analyze_Iterator_Specification): If domain of iteration is given by a
532 function call with a controlled result, as is the case if call returns
533 a predefined container, ensure that finalization actions are properly
534 generated.
535 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
536
62be5d0a
JM
5372011-08-02 Javier Miranda <miranda@adacore.com>
538
539 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
540 * gcc-interface/Make-lang.in: Update dependencies.
541
5422011-08-02 Javier Miranda <miranda@adacore.com>
543
544 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
545 determine if the analysis is performed using N or Original_Node (N).
546 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
547 functionality of routine Is_Variable avoids code duplication.
548 * checks.adb (Determine_Range): Handle temporaries generated by
549 Remove_Side_Effects.
550
5512011-08-02 Javier Miranda <miranda@adacore.com>
552
553 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
554 expansion of the condition. Required since the previous analysis was
555 done with expansion disabled (see Resolve_Quantified_Expression) and
556 hence checks were not inserted and record comparisons have not been
557 expanded.
558
a20f4389
AC
5592011-08-02 Ed Falis <falis@adacore.com>
560
561 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
562 Update header.
563
5642011-08-02 Bob Duff <duff@adacore.com>
565
566 * opt.ads: Minor comment fix.
567
5682011-08-02 Bob Duff <duff@adacore.com>
569
570 * sem_ch12.adb (Analyze_Package_Instantiation,
571 Analyze_Subprogram_Instantiation): Turn off style checking while
572 analyzing an instance. Whatever style checks that apply to the generic
573 unit should apply, so it makes no sense to apply them in an instance.
574 This was causing trouble when compiling an instance of a runtime
575 unit that violates the -gnatyO switch.
576 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
577 one of the two case statements, causing spurious errors.
578
5792011-08-02 Robert Dewar <dewar@adacore.com>
580
581 * uname.adb: Minor reformatting.
582 * gnatcmd.adb: Minor reformatting.
583 * exp_attr.adb: Minor reformatting.
584
90878b12
AC
5852011-08-02 Ed Schonberg <schonberg@adacore.com>
586
587 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
588 No_Dispatching_Calls, do not look for the Assign primitive, because
589 predefined primitives are not created in this case.
590
5912011-08-02 Bob Duff <duff@adacore.com>
592
593 * stylesw.ads: Minor comment fixes.
594
5952011-08-02 Robert Dewar <dewar@adacore.com>
596
597 * freeze.adb (Add_To_Result): New procedure.
598
5992011-08-02 Jose Ruiz <ruiz@adacore.com>
600
601 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
602 time, if the specific run-time routines for handling streams of strings
603 are not available, use the default mechanism.
604
6052011-08-02 Arnaud Charlet <charlet@adacore.com>
606
607 * s-regpat.ads: Fix typo.
608
6092011-08-02 Vincent Celier <celier@adacore.com>
610
611 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
612 not null, call it to create the in memory config project file without
613 parsing an existing default config project file.
614
6152011-08-02 Eric Botcazou <ebotcazou@adacore.com>
616
617 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
618
6192011-08-02 Ed Schonberg <schonberg@adacore.com>
620
621 * sem_elim.adb: an abstract subprogram does not need an eliminate
622 pragma for its descendant to be eliminable.
623
6242011-08-02 Ed Falis <falis@adacore.com>
625
626 * init.c: revert to handling before previous checkin for VxWorks
627 * s-intman-vxworks.adb: delete unnecessary declarations related to
628 using Ada interrupt facilities for handling signals.
629 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
630 * s-intman-vxworks.ads: Import __gnat_install_handler as
631 Initialize_Interrupts.
632 * s-taprop-vxworks.adb: Delete Signal_Mask.
633 (Abort_Handler): change construction of mask to unblock exception
634 signals.
635
273adcdf
AC
6362011-08-02 Jerome Guitton <guitton@adacore.com>
637
638 * a-except-2005.adb (Raise_From_Signal_Handler): Call
639 Debug_Raise_Exception before propagation starts.
640
6412011-08-02 Eric Botcazou <ebotcazou@adacore.com>
642
643 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
644 to Restriction_Check_Required.
645 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
646 * sem_res.adb (Resolve_Call): Likewise.
647 * sem_attr.adb (Check_Stream_Attribute): Likewise.
648
6492011-08-02 Bob Duff <duff@adacore.com>
650
651 * stylesw.ads: Update comment.
652 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
653 * errout.ads: Remove obsolete comment.
654
6552011-08-02 Javier Miranda <miranda@adacore.com>
656
657 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
658 (Set_Is_Safe_To_Reevaluate): new procedure.
659 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
660 assignment is allowed on safe-to-reevaluate variables.
661 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
662 temporary created to remove side effects in expressions that use
663 the secondary stack as safe-to-reevaluate.
664 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
665 variables that are not true constants.
666
6320f5e1
AC
6672011-08-02 Robert Dewar <dewar@adacore.com>
668
669 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
670 sem_res.adb, sem_ch6.adb: Minor reformatting.
671
6722011-08-02 Jerome Guitton <guitton@adacore.com>
673
674 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
675
2fe829ae
ES
6762011-08-02 Ed Schonberg <schonberg@adacore.com>
677
678 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
679 not set Overridden_Operation if subprogram is an initialization
680 procedure.
681
e24329cd
YM
6822011-08-02 Yannick Moy <moy@adacore.com>
683
684 * par-ch6.adb: Correct obsolete name in comments
685 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
686 which takes two message arguments (existing function takes one), with
687 second message used for continuation.
688 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
689 block statements that originate from a source block statement, not
690 generated block statements
691 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
692 symmetry with procedure case
693 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
694 function to issue an error in formal mode if a package specification
695 contains more than one tagged type or type extension.
696 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
697 parameters matching formals of tagged types are objects (or ancestor
698 type conversions of objects), not general expressions. Issue an error
699 on view conversions that are not involving ancestor conversion of an
700 extended type.
701 (Resolve_Type_Conversion): in formal mode, issue an error on the
702 operand of an ancestor type conversion which is not an object
703 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
704 procedure so that it works also for actuals of function calls
705 (Is_Actual_Tagged_Parameter): new function which determines if its
706 argument is an actual parameter of a formal of tagged type in a
707 subprogram call
708 (Is_SPARK_Object_Reference): new function which determines if the tree
709 referenced by its argument represents an object in SPARK
710
176dadf6
AC
7112011-08-02 Robert Dewar <dewar@adacore.com>
712
713 * sem_ch3.adb: Minor reformatting
714 Minor comment addition
715 Minor error msg text change
716
7172011-08-02 Javier Miranda <miranda@adacore.com>
718
719 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
720 function. Used to be more precise when we generate a variable plus one
721 assignment to remove side effects in the evaluation of the Bound
722 expressions.
723 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
724 of the bound expression to force its re-analysis and thus expand the
725 associated transient scope (if required). Code cleanup replacing the
726 previous code that declared the constant entity by an invocation to
727 routine Force_Evaluation which centralizes this work in the frontend.
728
d8b962d8
AC
7292011-08-02 Robert Dewar <dewar@adacore.com>
730
731 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
732 (Base_Type): Now uses improved Is_Base_Type function
733 * einfo.ads (Base_Type): Inline this function
734
7352011-08-02 Robert Dewar <dewar@adacore.com>
736
737 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
738 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
739
7402011-08-02 Arnaud Charlet <charlet@adacore.com>
741
742 * gcc-interface/Make-lang.in: Update dependencies.
743 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
744 targets.
745
7462011-08-02 Yannick Moy <moy@adacore.com>
747
748 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
749 non-simple expression used in delta constraint
750 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
751 index constraint which is not a subtype mark
752 * par.adb: With and use Restrict
753 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
754 mode on component type which is not a subtype mark and default
755 expression on component
756 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
757 of string which does not have a lower index bound equal to 1
758 (Array_Type_Declaration): issue an error in formal mode on index or
759 component type which is not a subtype mark, and on aliased keyword on
760 component
761 (Derived_Type_Declaration): issue an error in formal mode on interface,
762 limited or abstract type
763 (Record_Type_Declaration): issue an error in formal mode on interface
764 (Record_Type_Definition): issue an error in formal mode on tagged types
765 and type extensions not declared in the specification of a library unit
766 package; on null non-tagged record; on variant part
767
7682011-08-02 Vincent Celier <celier@adacore.com>
769
770 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
771 not declared for qualified library project when Library_Name is not
772 declared, but Library_Dir is.
773
7742011-08-02 Robert Dewar <dewar@adacore.com>
775
776 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
777 pragmas (affects aspects [Component_]Default_Value
778 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
779 component type for the resolution
780
f96b2d85
AC
7812011-08-02 Eric Botcazou <ebotcazou@adacore.com>
782
783 * einfo.adb (Base_Type): Tune implementation for speed.
784
7852011-08-02 Robert Dewar <dewar@adacore.com>
786
787 * freeze.adb: Minor reformatting.
788
8b3c6430
AC
7892011-08-02 Thomas Quinot <quinot@adacore.com>
790
791 * scos.ads: Update comments.
792
7932011-08-02 Ed Schonberg <schonberg@adacore.com>
794
795 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
796 base type, because the parent may be a subtype of a private type whose
797 convention is established in a private part.
798
7992011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
800
801 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
802 statement in a block when the expansion of the return expression has
803 created a finalization chain.
804 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
805 with the parent node.
806 Add N_Extended_Return_Statement to handle the case where a transient
807 object declaration appears in the Return_Object_Declarations list of
808 an extended return statement.
809
8102011-08-02 Matthew Gingell <gingell@adacore.com>
811
812 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
813 unused parameter 'name'.
814
8152011-08-02 Ed Schonberg <schonberg@adacore.com>
816
817 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
818 inherited operation, check whether its alias, which is the source
819 operastion that it renames, has been marked eliminated.
820
cae81f17
JM
8212011-08-02 Javier Miranda <miranda@adacore.com>
822
823 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
824 in-mode parameter whose type is an access type since it can be used to
825 modify its designated object. Enforce code that handles as safe an
826 access type that is not access-to-constant but it is the result of a
827 previous removal of side-effects.
828 (Remove_Side_Effects): Minor code reorganization of cases which require
829 no action. Done to incorporate documentation on new cases uncovered
830 working in this ticket: no action needed if this routine was invoked
831 too early and the nodes are not yet decorated.
832 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
833 to routine Remove_Side_Effects by calls to Force_Evaluation since they
834 were issued with actuals that are implicitly provided by
835 Force_Evaluation.
836
218e6dee
RD
8372011-08-02 Robert Dewar <dewar@adacore.com>
838
839 * sem_ch3.adb, sem_res.adb: Minor reformatting.
840
7a489a2b
AC
8412011-08-02 Yannick Moy <moy@adacore.com>
842
843 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
844 to issue an error in formal mode on attribute not supported in this mode
845 (Analyze_Attribute): issue errors on standard attributes not supported
846 in formal mode.
847 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
848 comment, and issue error in formal mode on modulus which is not a power
849 of 2.
850 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
851 range.
852 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
853 subtype mark.
854 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
855 operator on modular type (except 'not').
856
8572011-08-02 Robert Dewar <dewar@adacore.com>
858
859 * gnat_rm.texi: Minor reformatting.
860
cb7fa356
AC
8612011-08-02 Arnaud Charlet <charlet@adacore.com>
862
863 * s-osinte-linux.ads: Minor comment update and reformatting.
864 * i-cexten.ads: Make this unit pure, as for its parent.
865 Will allow its usage in more contexts if needed.
866
8672011-08-02 Robert Dewar <dewar@adacore.com>
868
869 * s-utf_32.ads: Minor comment fix.
870
8712011-08-02 Ed Schonberg <schonberg@adacore.com>
872
873 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
874 operation of a tagged synchronized type, handle the case where the
875 controlling argument is overloaded.
876
8772011-08-02 Yannick Moy <moy@adacore.com>
878
879 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
880 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
881 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
882 SPARK mode and formal verification mode on processing SPARK restriction
883 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
884 requiring consistency checking.
885
5cc9353d
RD
8862011-08-02 Robert Dewar <dewar@adacore.com>
887
888 * sem_res.adb: Minor reformatting.
889
e51537ff
RD
8902011-08-02 Robert Dewar <dewar@adacore.com>
891
892 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
893 a-cforse.ads: Remove unneeded with of Ada.Containers
894 Remove commented out pragma Inline's
895 Move specifications of new subprograms to the actual specs
896
83fa09c5
AC
8972011-08-02 Yannick Moy <moy@adacore.com>
898
899 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
900 a-cforse.ads: Update comments.
901
9022011-08-02 Ed Schonberg <schonberg@adacore.com>
903
904 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
905
d11cfaf8
RD
9062011-08-02 Robert Dewar <dewar@adacore.com>
907
908 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
909 a-cforse.ads, a-cofove.ads: Minor reformatting.
910
300b98bb
AC
9112011-08-02 Claire Dross <dross@adacore.com>
912
913 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
914 a-cofove.ads: Add comments.
915
9162011-08-02 Yannick Moy <moy@adacore.com>
917
918 * gnat_rm.texi: Document formal containers.
919
9202011-08-02 Emmanuel Briot <briot@adacore.com>
921
922 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
923 are empty sections.
924
19fb051c
AC
9252011-08-02 Robert Dewar <dewar@adacore.com>
926
927 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
928 reformatting.
929
9302011-08-02 Robert Dewar <dewar@adacore.com>
931
932 * aspects.adb: New aspects Default_Value and Default_Component_Value
933 New format of Aspect_Names table checks for omitted entries
934 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
935 handling of boolean aspects for derived types.
936 New aspects Default_Value and Default_Component_Value
937 New format of Aspect_Names table checks for omitted entries
938 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
939 (Has_Default_Value): New flag
940 (Has_Default_Component_Value): New flag
941 (Has_Default_Value): New flag
942 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
943 table.
944 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
945 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
946 Default_Value and Default_Component_Value
947 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
948 New aspects Default_Value and Default_Component_Value
949 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
950 * sprint.adb: Print N_Aspect_Specification node when called from gdb
951
9522011-08-02 Vincent Celier <celier@adacore.com>
953
954 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
955 inherit library kind.
956
9572011-08-02 Ed Schonberg <schonberg@adacore.com>
958
959 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
960 Minor reformatting.
961
9622011-08-02 Robert Dewar <dewar@adacore.com>
963
964 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
965
5f7747af
AC
9662011-08-02 Yannick Moy <moy@adacore.com>
967
968 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
969
9702011-08-02 Robert Dewar <dewar@adacore.com>
971
972 * impunit.adb: Add comment.
973
a5fe697b
AC
9742011-08-02 Yannick Moy <moy@adacore.com>
975
976 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
977 qualification of aggregates in formal mode
978 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
979 another aggregate
980 (Resolve_Aggregate): complete the test that an aggregate is adequately
981 qualified in formal mode
982
9832011-08-02 Pascal Obry <obry@adacore.com>
984
985 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
986 * mlib-prj.adb: Supress warning when compiling binder generated file.
987 (Build_Library): Supress all warnings when compiling the binder
988 generated file.
989
bd65a2d7 9902011-08-02 Yannick Moy <moy@adacore.com>
d4487611 991
bd65a2d7
AC
992 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
993 from here...
994 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
995 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
996 Add with/use clauses to make Check_Formal_Restriction visible
997
9982011-08-02 Ed Schonberg <schonberg@adacore.com>
999
1000 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
1001 in-parameters when type of the generic formal is private in the generic
1002 spec and non-private in the body.
1003
10042011-08-02 Claire Dross <dross@adacore.com>
1005
1006 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
1007 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
1008 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
1009 * impunit.adb, Makefile.rtl: Take new files into account.
d4487611
AC
1010
10112011-08-02 Robert Dewar <dewar@adacore.com>
1012
1013 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
1014 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
1015
bd434b3f
YM
10162011-08-02 Yannick Moy <moy@adacore.com>
1017
1018 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
1019 formal mode
1020 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
1021 matching static array bounds, taking into account the special case of
1022 string literals
1023 * sem_ch3.adb: Typo in comment.
1024
fe5d3068
YM
10252011-08-02 Yannick Moy <moy@adacore.com>
1026
1027 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
1028 which issues an error in formal mode if its argument node is originally
1029 from source
1030 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
1031 has a discriminant specification so that it does not include the case
1032 of derived types
1033 (Derived_Type_Declaration): move here the test that a derived type has a
1034 discriminant specification
1035 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
1036 first element of a component association before accessing its choices
1037 (presence of component association is not enough)
1038 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
1039 declaration is a library item before accessing the next element in a
1040 list, as library items are not member of lists
1041 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
1042 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
1043 Check_Formal_Restriction whenever possible.
1044
b60a3f26
AC
10452011-08-02 Ed Schonberg <schonberg@adacore.com>
1046
1047 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
1048 reference when needed.
1049
10502011-08-02 Bob Duff <duff@adacore.com>
1051
1052 * gnat_ugn.texi: Fix typo.
1053
10542011-08-02 Vincent Celier <celier@adacore.com>
1055
1056 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
1057 archive file name. Do not use the full path name of archives for Open
1058 VMS.
1059
eaba57fb
RD
10602011-08-02 Robert Dewar <dewar@adacore.com>
1061
1062 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
1063 Analyze_Aspect_Specifications
1064 * sem_ch13.adb
1065 (Analyze_Aspect_Specifications): New handling for boolean aspects
1066 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
1067 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
1068 sequence for Analyze_Aspect_Specifications
1069 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
1070 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
1071
10722011-08-02 Robert Dewar <dewar@adacore.com>
1073
1074 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
1075 aspects, since these no longer exist.
1076
10772011-08-02 Robert Dewar <dewar@adacore.com>
1078
1079 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
1080 semicolon, do not try to see if there are aspects following it.
1081 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
1082 aspect spec.
1083
8830d1d2
AC
10842011-08-02 Robert Dewar <dewar@adacore.com>
1085
1086 * sem_ch8.adb, aspects.ads: Minor reformatting.
1087
10882011-08-02 Eric Botcazou <ebotcazou@adacore.com>
1089
1090 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
1091 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
1092 extracted from...
1093 (Analyze_Aspect_Specifications): ...here. Call above procedure.
1094
7ff2d234
AC
10952011-08-02 Yannick Moy <moy@adacore.com>
1096
1097 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
1098 mode on subprogram declaration outside of package specification, unless
1099 it is followed by a pragma Import
1100 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
1101 Access_Type_Declaration): issue error in formal mode on access type
1102 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
1103 incomplete type
1104 (Analyze_Object_Declaration): issue error in formal mode on object
1105 declaration which does not respect SPARK restrictions
1106 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
1107 declaration which does not respect SPARK restrictions
1108 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
1109 error in formal mode on digits or delta constraint
1110 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
1111 decimal fixed point type
1112 (Derived_Type_Declaration): issue error in formal mode on derived type
1113 other than type extensions of tagged record types
1114 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
1115 with check on access definition
1116 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
1117 mode on protected definition.
1118 (Analyze_Task_Definition): issue error in formal mode on task definition
1119
11202011-08-02 Robert Dewar <dewar@adacore.com>
1121
1122 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
1123
806f6d37
AC
11242011-08-02 Javier Miranda <miranda@adacore.com>
1125
1126 * sem_ch6.adb (Can_Override_Operator): New function.
1127 (Verify_Overriding_Indicator): Add missing code to check overriding
1128 indicator in operators. Fixes regression.
1129 (Check_Overriding_Indicator): Minor reformating after replacing the
1130 code that evaluates if the subprogram can override an operator by
1131 invocations to the above new function.
1132 * einfo.adb
1133 (Write_Field26_Name): Add missing code to ensure that, following
1134 the documentation in einfo.ads, this field is not shown as attribute
1135 "Static_Initialization" on non-dispatching functions.
1136
11372011-08-02 Jose Ruiz <ruiz@adacore.com>
1138
1139 * sem_res.adb (Resolve_Call): A call to
1140 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
1141 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
1142 i.e., when the second parameter is of type Time_Span.
1143
11442011-08-02 Vincent Celier <celier@adacore.com>
1145
1146 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
1147 with an archive instead of -L<library dir> -l<library name>.
1148
11492011-08-02 Ed Schonberg <schonberg@adacore.com>
1150
1151 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
1152 mark the base types In_Use in addition to making the operations
1153 use_visible.
1154
11552011-08-02 Ed Falis <falis@adacore.com>
1156
1157 * init.c: add and setup __gnat_signal_mask for the exception signals
1158 * s-inmaop-vxworks.adb: new file.
1159 * s-intman-vxworks.adb: remove unnecessary initializations and
1160 simplify remaining
1161 * s-intman-vxworks.ads: remove unnecessary variable
1162 * s-taprop-vxworks.adb: simplify signal initialization
1163
780d052e
RD
11642011-08-02 Robert Dewar <dewar@adacore.com>
1165
1166 * sem_ch8.adb: Minor code reorganization, comment updates.
1167
11682011-08-02 Robert Dewar <dewar@adacore.com>
1169
1170 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
1171 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
1172 here from Sem_Res.
1173 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
1174 (Matching_Static_Array_Bounds): Moved here from Sem_Res
1175
29efbb8c
ES
11762011-08-02 Ed Schonberg <schonberg@adacore.com>
1177
1178 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
1179 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
1180 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
1181 use_type_clauses, to handle more efficiently use_type and use_all_type
1182 constructs.
1183 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
1184 Ada2012 Use_All_Type clause.
1185 (Use_Class_Wide_Operations): new procedure.
1186
b0186f71
AC
11872011-08-02 Robert Dewar <dewar@adacore.com>
1188
1189 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
1190 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
1191 expression to expression function.
1192
11932011-08-02 Ed Schonberg <schonberg@adacore.com>
1194
1195 * sem_ch4.adb: transform simple Ada2012 membership into equality only
1196 if types are compatible.
1197
11982011-08-02 Yannick Moy <moy@adacore.com>
1199
1200 * sem_res.adb (Matching_Static_Array_Bounds): new function which
1201 returns True if its argument array types have same dimension and same
1202 static bounds at each index.
1203 (Resolve_Actuals): issue an error in formal mode on actuals passed as
1204 OUT or IN OUT paramaters which are not view conversions in SPARK.
1205 (Resolve_Arithmetic_Op): issue an error in formal mode on
1206 multiplication or division with operands of fixed point types which are
1207 not qualified or explicitly converted.
1208 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
1209 Boolean or array type (except String) operands.
1210 (Resolve_Equality_Op): issue an error in formal mode on equality
1211 operators for array types other than String with non-matching static
1212 bounds.
1213 (Resolve_Logical_Op): issue an error in formal mode on logical operators
1214 for array types with non-matching static bounds. Factorize the code in
1215 Matching_Static_Array_Bounds.
1216 (Resolve_Qualified_Expression): issue an error in formal mode on
1217 qualified expressions for array types with non-matching static bounds.
1218 (Resolve_Type_Conversion): issue an error in formal mode on type
1219 conversion for array types with non-matching static bounds
1220
767bb4e8
AC
12212011-08-02 Robert Dewar <dewar@adacore.com>
1222
1223 * par-ch10.adb: Minor code reorganization (use Nkind_In).
1224
12252011-08-02 Ed Schonberg <schonberg@adacore.com>
1226
1227 * par-ch9.adb: save location of entry for proper error message.
1228
4ac2477e
JM
12292011-08-02 Javier Miranda <miranda@adacore.com>
1230
1231 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
1232 (Use_Full_View) which permits this routine to climb through the
1233 ancestors using the full-view of private parents.
1234 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
1235 Use_Full_View to true in calls to Is_Ancestor.
1236 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
1237 true in call to Is_Ancestor.
1238 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
1239 Use_Full_View to true in call to Is_Ancestor.
1240 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
1241 call to Is_Ancestor.
1242 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
1243 Use_Full_View to true in calls to Is_Ancestor.
1244 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
1245 Make_Select_Specific_Data_Table, Register_Primitive,
1246 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
1247 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
1248 to true in call to Is_Ancestor.
1249 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
1250 Use_Full_View to true in calls to Is_Ancestor.
1251 * exp_cg.adb
1252 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
1253 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
1254
9f90d123
AC
12552011-08-02 Robert Dewar <dewar@adacore.com>
1256
1257 * gnat_rm.texi: Minor reformatting.
1258 * sem_prag.adb: Minor reformatting.
1259
12602011-08-02 Tristan Gingold <gingold@adacore.com>
1261
1262 * vms_data.ads: Add VMS qualifier for -gnateP.
1263
12642011-08-02 Robert Dewar <dewar@adacore.com>
1265
1266 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
1267 * par-ch7.adb (P_Package): Proper placement of aspects for package
1268 decl/instantiation.
1269 * par-endh.adb (Check_End): Ad Is_Sloc parameter
1270 (End_Statements): Add Is_Sloc parameterr
1271 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
1272 (Check_End): Ad Is_Sloc parameter
1273 (End_Statements): Add Is_Sloc parameterr
1274
12752011-08-02 Vincent Celier <celier@adacore.com>
1276
1277 * ug_words: Add VMS qualifier equivalent to -gnateP:
1278 /SYMBOL_PREPROCESSING.
1279
12802011-08-02 Jose Ruiz <ruiz@adacore.com>
1281
1282 * gnat-style.texi: For hexadecimal numeric literals the typical
1283 grouping of digits is 4 to represent 2 bytes.
1284 A procedure spec which is split into several lines is indented two
1285 characters.
1286
12872011-08-02 Yannick Moy <moy@adacore.com>
1288
1289 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
1290 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
1291 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
1292 properly qualified
1293 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
1294 choice in array aggregate
1295 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
1296 mark as ancestor
1297 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
1298 positional and named aggregate for record, or others in record
1299 aggregate, or multiple choice in record aggregate
1300 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
1301 array operands to logical operations AND, OR and XOR do not have the
1302 same static lower and higher bounds
1303 * sem_ch5.adb, sinfo.ads: Correct typos in comments
1304
2933b16c
RD
13052011-08-01 Robert Dewar <dewar@adacore.com>
1306
1307 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
1308 Replaces Last_Source_Node_In_Sequence.
1309 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
1310 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
1311 parens and blank in string (this was inconsistently implemented).
1312 * errout.ads
1313 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
1314 blank in string (this was inconsistently implemented).
1315 * gnat1drv.adb
1316 (Set_Global_Switches): Set formal mode switches appropriately
1317 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
1318 * par-prag.adb
1319 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
1320 call Set_Error_Msg_Lang to set "spark" as language name.
1321 * par.adb: Remove unnecessary call to set formal language for errout
1322 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
1323 appropriately and call Set_Error_Msg_Lang to set "spark" as language
1324 name.
1325 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
1326 calls to it, moved after resolution so that types are known
1327 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
1328 result of concatenation is not of type String
1329 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
1330 concatenation is not properly restricted
1331 * gnat_rm.texi: Add doc on pragma Spark_95.
1332 * gcc-interface/Makefile.in: Remove obsolete target pairs for
1333 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
1334 * gcc-interface/Make-lang.in: Update dependencies.
1335
05dbd302
AC
13362011-08-01 Javier Miranda <miranda@adacore.com>
1337
1338 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
1339 condition that detects if the overridden operation must replace an
1340 existing entity.
1341
13422011-08-01 Javier Miranda <miranda@adacore.com>
1343
1344 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
1345 code declarations inserted by Insert_Actions in each alternative of the
1346 N_Case_Expression node.
1347
13482011-08-01 Robert Dewar <dewar@adacore.com>
1349
1350 * sem_ch6.adb: Minor code reorganization.
1351 * sem_util.adb: Minor reformatting.
1352
af9e051f
PO
13532011-08-01 Pascal Obry <obry@adacore.com>
1354
1355 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
1356 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
1357
1d801f21
AC
13582011-08-01 Yannick Moy <moy@adacore.com>
1359
1360 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
1361 literal or operator symbol which is prefixed
1362 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
1363 mode on access attributes.
1364 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
1365 that concatenation operands are properly restricted in formal mode
1366 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
1367 Analyze_Concatenation_Operand. Issue an error in formal mode if the
1368 result of the concatenation has a type different from String.
1369 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
1370 Analyze_Quantified_Expression, Analyze_Slice,
1371 Analyze_Null): issue an error in formal mode on unsupported constructs
1372 * sem_ch5.adb
1373 (Analyze_Block_Statement): only issue error on source block statement
1374 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
1375 function which returns the last node in a list of nodes for which
1376 Comes_From_Source returns True, if any
1377 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
1378 Last_Source_Node_In_Sequence
1379 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
1380 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
1381 mode on unsupported constructs
1382 * sem_ch9.adb Do not return after issuing error in formal mode, as the
1383 rest of the actions may be needed later on since the error is marked as
1384 not serious.
1385 * sinfo.ads: Typos in comments.
1386
13872011-08-01 Pascal Obry <obry@adacore.com>
1388
1389 * projects.texi: Minor editing.
1390
53beff22
YM
13912011-08-01 Yannick Moy <moy@adacore.com>
1392
1393 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
1394 insertion character ~~
1395 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
1396 (Set_Error_Msg_Lang): new procedure which fixes the language for use
1397 with insertion character ~~
1398 (Set_Msg_Text): treat insertion character ~~
1399 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
1400 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
1401 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
1402 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
1403 errors related to the formal language restriction not serious
1404 (insertion character |).
1405 * par.adb (Par): set formal language for error messages if needed
1406 * sem_ch6.adb (Check_Missing_Return): take into account possible
1407 generated statements at the end of the function
1408 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
1409 enumeration value to define a new pragma SPARK_95
1410 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
1411 SPARK_Version): new type and variables to store the SPARK version
1412 (none by default).
1413 (SPARK_Mode): return True when SPARK_Version is set
1414 * par-prag.adb: Correct indentation
1415 (Prag): take Pragma_SPARK_95 into account
1416 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
1417 into account.
1418
8d606a78
RD
14192011-08-01 Robert Dewar <dewar@adacore.com>
1420
1421 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
1422 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
1423 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
1424
1982d5a8
PO
14252011-08-01 Pascal Obry <obry@adacore.com>
1426
1427 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
1428 Target_Name to Get_Path call.
1429 (Parse_Single_Project): Likewise.
1430 (Post_Parse_Context_Clause): Likewise.
1431 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
1432 Call Initialise_Project_Path with the proper Target_Name.
1433 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
1434 search path.
1435 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
1436 with the proper Target_Name.
1437 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
1438 Part.Parse routine.
1439 (Parse_Project_And_Apply_Config): Likewise.
1440 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
1441 This is fine as this part of the code is supporting only native
1442 compilation.
1443 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
1444 is fine as this part of the code is supporting only native compilation.
1445
0d53d36b
AC
14462011-08-01 Yannick Moy <moy@adacore.com>
1447
1448 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
1449 of homonym, unless the homonym is one of the cases allowed in SPARK
1450 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
1451 package declaration occurring after a body.
1452
14532011-08-01 Robert Dewar <dewar@adacore.com>
1454
1455 * checks.adb, exp_ch4.adb: Minor reformatting.
1456
14572011-08-01 Javier Miranda <miranda@adacore.com>
1458
1459 * einfo.ads (Access_Disp_Table): Fix documentation.
1460 (Dispatch_Table_Wrappers): Fix documentation.
1461
14622011-08-01 Pascal Obry <obry@adacore.com>
1463
1464 * prj-env.adb, prj-env.ads: Minor reformatting.
1465
8ed68165
AC
14662011-08-01 Yannick Moy <moy@adacore.com>
1467
1468 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
1469 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
1470 procedures out of these packages.
1471 * errout.ads, errout.adb
1472 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
1473 procedures in of this package
1474 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
1475 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
1476 on misplaced later vs initial declarations, like in Ada 83
1477 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
1478 formal mode on attribute of private type whose full type declaration
1479 is not visible
1480 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
1481 package declaration inside a package specification
1482 (Analyze_Full_Type_Declaration): issue error in formal mode on
1483 controlled type or discriminant type
1484 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
1485 user-defined operator means that it should come from the source
1486 (New_Overloaded_Entity): issue error in formal mode on overloaded
1487 entity.
1488 * sem_ch6.ads, sem_ch13.ads: typos in comments.
1489
14902011-08-01 Thomas Quinot <quinot@adacore.com>
1491
1492 * atree.adb: Minor reformatting.
1493 * checks.adb: Minor reformatting.
1494
4230bdb7
AC
14952011-08-01 Vincent Celier <celier@adacore.com>
1496
1497 * s-parame-vms-ia64.ads: Fix typo in comment
1498 Minor reformatting
1499 * s-parame-vms-restrict.ads: Removed, unused.
1500
15012011-08-01 Javier Miranda <miranda@adacore.com>
1502
1503 * exp_ch3.adb
1504 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
1505 * sem_ch3.adb
1506 (Constrain_Index): Remove side effects in the evaluation of the bounds.
1507 * sem_ch3.ads, sem_ch3.adb
1508 (Is_Constant_Bound): New extended version of the subprogram that was
1509 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
1510 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
1511 * sem_aux.ads (Constant_Value): Fix typo in comment.
1512 * checks.adb (Generate_Index_Checks): New implementation which, for
1513 array objects with constant bounds, generates the runtime check
1514 referencing the bounds of the array type. For other cases this routine
1515 provides its previous behavior obtaining such values from the array
1516 object.
1517 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
1518 parent type.
1519 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
1520 we cannot have semantic interpretations of the new node.
1521
2010d078
AC
15222011-08-01 Ed Schonberg <schonberg@adacore.com>
1523
1524 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
1525 expressions.
1526
15272011-08-01 Arnaud Charlet <charlet@adacore.com>
1528
1529 * sem_ch8.adb: Minor code editing.
1530 * s-vxwext.adb: Remove trailing space.
1531 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
1532 consistency with other files.
1533
15342011-08-01 Thomas Quinot <quinot@adacore.com>
1535
1536 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
1537
15382011-08-01 Ed Schonberg <schonberg@adacore.com>
1539
1540 * par-ch10.adb: reject parameterized expressions as compilation unit.
1541 * sem_ch4.adb: handle properly conditional expression with overloaded
1542 then_clause and no else_clause.
1543
15442011-08-01 Tristan Gingold <gingold@adacore.com>
1545
1546 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
1547 like done by System.Aux_DEC.
1548 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
1549
daec8eeb
YM
15502011-08-01 Yannick Moy <moy@adacore.com>
1551
1552 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
1553 missing label at end of declaration (subprogram or package)
1554 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
1555 of positional and named parameter association
1556 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
1557 Error_Msg_SP which adds a prefix to the error message giving the name
1558 of the formal language analyzed
1559 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
1560 access result type in subprogram, unconstrained array as result type,.
1561 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
1562 procedure
1563 * sem_ch8.adb: Code clean up.
1564
38171f43
AC
15652011-08-01 Javier Miranda <miranda@adacore.com>
1566
1567 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
1568 * einfo.ads (Access_Disp_Table): Fix documentation.
1569 (Dispatch_Table_Wrappers): Fix documentation.
1570 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
1571 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
1572 to enforce the documentation of this attribute.
1573 (Set_Is_Interface): Cleanup the assertion.
1574 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
1575 the Underlying_Type entity before reading attribute Access_Disp_Table.
1576 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
1577 Locate the Underlying_Type before reading attribute Access_Disp_Table.
1578 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
1579 the Underlying_Type entity before reading attribute Access_Disp_Table.
1580 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
1581 Locate the Underlying_Type entity before reading attribute
1582 Access_Disp_Table.
1583
15842011-08-01 Ed Schonberg <schonberg@adacore.com>
1585
1586 * s-poosiz.ads: Additional overriding indicators.
1587
15882011-08-01 Yannick Moy <moy@adacore.com>
1589
1590 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
1591 formal mode.
1592 (Analyze_Iteration_Scheme): issue error in formal mode when loop
1593 parameter specification does not include a subtype mark.
1594 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
1595 formal mode on abstract subprogram.
1596 (Analyze_Subprogram_Specification): issue error in formal mode on
1597 user-defined operator.
1598 (Process_Formals): issue error in formal mode on access parameter and
1599 default expression.
1600 * sem_ch9.adb (Analyze_Abort_Statement,
1601 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
1602 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
1603 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
1604 Analyze_Requeue, Analyze_Selective_Accept,
1605 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
1606 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
1607 issue error in formal mode on user-defined raise statement.
1608
1f250383
AC
16092011-08-01 Thomas Quinot <quinot@adacore.com>
1610
1611 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
1612 declaration being hidden when overriding an implicit inherited
1613 subprogram.
1614 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
1615 (-gnats), do not complain about a source file that contains only a
1616 pragma No_Body.
1617
16182011-08-01 Ed Schonberg <schonberg@adacore.com>
1619
1620 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
1621 variable if already set.
1622
607d0635
AC
16232011-08-01 Arnaud Charlet <charlet@adacore.com>
1624
1625 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
1626 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
1627 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
1628 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
1629 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
1630 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
1631 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
1632 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
1633 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
1634 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
1635 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
1636 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
1637 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
1638 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
1639 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
1640 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
1641 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
1642 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
1643 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
1644 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
1645 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
1646 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
1647 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
1648 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
1649 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
1650 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
1651 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
1652 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
1653 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
1654 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
1655 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
1656 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
1657 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
1658 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
1659 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
1660 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
1661 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
1662 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
1663 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
1664 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
1665 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
1666 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
1667 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
1668 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
1669 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
1670 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
1671 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
1672 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
1673 s-osinte-mingw.ads: Update to GPLv3 run-time license.
1674 Use GNAT instead of GNARL.
1675
16762011-08-01 Bob Duff <duff@adacore.com>
1677
1678 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
1679 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
1680 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
1681 reformatting.
1682
16832011-08-01 Yannick Moy <moy@adacore.com>
1684
1685 * debug.adb (d.D) reverve flag for the SPARK mode
1686 (d.E) reverve flag for SPARK generation mode
1687 (d.F) reverve flag for Why generation mode
1688 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
1689 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
1690 functions which return True when the corresponding modes are set
1691 (Formal_Language): return "spark" or "alfa" when in formal verification
1692 mode.
1693 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
1694 Error_Msg to prefix the error message with a tag giving the formal
1695 language
1696 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
1697 message with a tag giving the formal language
1698 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
1699 block statement
1700 (Analyze_Case_Statement): issue error in formal mode on case statement
1701 with a single "others" case alternative
1702 (Analyze_Exit_Statement): issue errors in formal mode on exit
1703 statements which do not respect SPARK restrictions
1704 (Analyze_Goto_Statement): issue error in formal mode on goto statement
1705 (Check_Unreachable_Code): always issue an error (not a warning) in
1706 formal mode on unreachable code (concerns both code after an infinite
1707 loop and after an unconditional jump, both not allowed in SPARK)
1708 * sem_ch6.adb (Analyze_Return_Statement): add call to
1709 Set_Return_Present for a procedure containing a return statement
1710 (already done for functions in Analyze_Function_Return)
1711 (Analyze_Function_Return): issue error in formal mode on extended
1712 return or if return is not last statement in function
1713 (Check_Missing_Return): issue error in formal mode if function does
1714 not end with return or if procedure contains a return
1715 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
1716 function to detect if there is an inner scope of its parameter S which
1717 is a loop.
1718
17192011-08-01 Thomas Quinot <quinot@adacore.com>
1720
1721 * sem_ch6.ads: Minor reformatting.
1722
d8b3ccb9
AC
17232011-08-01 Javier Miranda <miranda@adacore.com>
1724
1725 * sem_util.adb (Abstract_Interface_List): Complete condition when
1726 processing private type declarations to avoid reading unavailable
1727 attribute.
1728 (Is_Synchronized_Tagged_Type): Complete condition when processing
1729 private extension declaration nodes to avoid reading unavailable
1730 attribute.
1731
17322011-08-01 Thomas Quinot <quinot@adacore.com>
1733
1734 * sem_ch3.adb: Minor reformatting.
1735
17362011-08-01 Thomas Quinot <quinot@adacore.com>
1737
1738 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
1739 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
1740 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
1741 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
1742 for VMS, instead parametrize the common implementation with
1743 System.Parameters declarations.
1744
0bb9276c
AC
17452011-08-01 Eric Botcazou <ebotcazou@adacore.com>
1746
1747 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
1748
17492011-08-01 Tristan Gingold <gingold@adacore.com>
1750
1751 * seh_init.c: Fix SEH handler installation on win64.
1752
17532011-08-01 Ed Schonberg <schonberg@adacore.com>
1754
1755 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
1756 double analysis of an anonymous access to subprogram, because it can
1757 lead to improper sharing of profiles and a back-end crash.
1758
6a2e4f0b
AC
17592011-08-01 Robert Dewar <dewar@adacore.com>
1760
1761 * make.adb, sem_ch4.adb: Minor reformatting.
1762 * gcc-interface/Make-lang.in: Update dependencies.
1763 * sem_util.adb, exp_ch5.adb: Minor reformatting.
1764
17652011-08-01 Arnaud Charlet <charlet@adacore.com>
1766
1767 * gnat_rm.texi: Fix definition of Long_Integer.
1768
17692011-08-01 Ed Schonberg <schonberg@adacore.com>
1770
1771 * exp_aggr.adb: check limit size of static aggregate unconditionally,
1772 to prevent storage exhaustion.
1773 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
1774 finalized is a function body, insert the cleanup code before the final
1775 return statement, to prevent spurious warnings.
1776 * s-pooglo.ads: add overriding indicator.
1777
4561baf7
ES
17782011-08-01 Ed Schonberg <schonberg@adacore.com>
1779
1780 * sem_ch4.adb (Operator_Check): improve error message when both a
1781 with_clause and a use_clause are needed to make operator usage legal.
1782 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
1783 determine whether a compilation unit is visible within an other,
1784 either through a with_clause in the current unit, or a with_clause in
1785 its library unit or one one of its parents.
1786
383e179e
AC
17872011-08-01 Ed Schonberg <schonberg@adacore.com>
1788
1789 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
1790 over an arbitrary expression of an array or container type.
1791 * lib-xref.adb: clarify comment.
1792
17932011-08-01 Bob Duff <duff@adacore.com>
1794
1795 * einfo.ads: Minor reformatting.
1796 * debug.adb: Minor comment improvement.
1797
17982011-08-01 Javier Miranda <miranda@adacore.com>
1799
1800 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
1801 consider hidden subprograms as valid candidates.
1802
18032011-08-01 Arnaud Charlet <charlet@adacore.com>
1804
1805 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
1806
18072011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
1808
1809 * gnat_ugn.texi: Fix typo.
1810
61c161b2
AC
18112011-08-01 Robert Dewar <dewar@adacore.com>
1812
1813 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
1814 lib-xref.adb: Minor reformatting
1815
18162011-08-01 Gary Dismukes <dismukes@adacore.com>
1817
1818 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
1819 when to generate a call to Move_Final_List.
1820 (Has_Controlled_Parts): Remove this function.
1821
84df40f7
AC
18222011-08-01 Geert Bosch <bosch@adacore.com>
1823
1824 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
1825 "," in choice list.
1826
18272011-08-01 Thomas Quinot <quinot@adacore.com>
1828
1829 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
1830 explicit raise of a predefined exception as Comes_From_Source if the
1831 original N_Raise_Statement comes from source.
1832
18332011-08-01 Robert Dewar <dewar@adacore.com>
1834
1835 * sinfo.ads: Add comment.
1836 * sem_ch6.adb: Minor reformatting.
1837
18382011-08-01 Robert Dewar <dewar@adacore.com>
1839
1840 * freeze.adb (Freeze_Entity): Refine check for bad component size
1841 clause to avoid rejecting confirming clause when atomic/aliased present.
1842
18432011-08-01 Ed Schonberg <schonberg@adacore.com>
1844
1845 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
1846 better determine whether an entity reference is a write.
1847 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
1848 subcomponent.
1849 * lib-xref.adb (Output_References): Do no suppress a read reference at
1850 the same location as an immediately preceeding modify-reference, to
1851 handle properly in-out actuals.
1852
18532011-08-01 Tristan Gingold <gingold@adacore.com>
1854
1855 * env.c (__gnat_setenv) [VMS]: Refine previous change.
1856
18572011-08-01 Quentin Ochem <ochem@adacore.com>
1858
1859 * i-cstrin.adb (New_String): Changed implementation, now uses only the
1860 heap to compute the result.
1861
c7f0d2c0
AC
18622011-08-01 Robert Dewar <dewar@adacore.com>
1863
1864 * atree.ads: Minor reformatting.
1865
18662011-08-01 Emmanuel Briot <briot@adacore.com>
1867
1868 * g-expect.adb (Get_Command_Output): Fix memory leak.
1869
18702011-08-01 Geert Bosch <bosch@adacore.com>
1871
1872 * cstand.adb (P_Float_Type): New procedure to print the definition of
1873 predefined fpt types.
1874 (P_Mixed_Name): New procedure to print a name using mixed case
1875 (Print_Standard): Use P_Float_Type for printing floating point types
1876 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
1877 precision IEEE float.
1878
18792011-08-01 Thomas Quinot <quinot@adacore.com>
1880
1881 * sem_ch3.adb: Minor reformatting.
1882
18832011-08-01 Ed Schonberg <schonberg@adacore.com>
1884
1885 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
1886 the completion of a generic function, insert the new body rather than
1887 rewriting the original.
1888
18892011-08-01 Yannick Moy <moy@adacore.com>
1890
1891 * sinfo.ads, errout.ads: Typos in comments.
1892
1c54829e
AC
18932011-08-01 Robert Dewar <dewar@adacore.com>
1894
1895 * par-endh.adb: Minor reformatting.
1896
18972011-08-01 Robert Dewar <dewar@adacore.com>
1898
1899 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
1900 (Pre_Post_Aspects): New subtype.
1901 * par-ch12.adb (P_Generic): New syntax for aspects in packages
1902 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
1903 * par-ch7.adb (P_Package): Remove Decl parameter
1904 (P_Package): Handle new syntax for aspects (before IS)
1905 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
1906 new aspect syntax
1907 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
1908 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
1909 (P_Package): Remove Decl parameter
1910 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
1911 aspects
1912 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
1913 specs
1914 * sem_util.ads, sem_util.adb (Static_Boolean): New function
1915 * sinfo.ads: Document new syntax for aspects in packages etc.
1916 * sprint.adb: Handle new syntax of aspects before IS in package
1917
19182011-08-01 Thomas Quinot <quinot@adacore.com>
1919
1920 * atree.ads: Minor reformatting.
1921 * sem_prag.adb: Minor reformatting.
1922
19232011-08-01 Robert Dewar <dewar@adacore.com>
1924
1925 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
1926 case expr alternative.
1927
19282011-08-01 Ed Schonberg <schonberg@adacore.com>
1929
1930 * sem_ch12.adb: Fix typo.
1931
9eea4346
GB
19322011-08-01 Geert Bosch <bosch@adacore.com>
1933
1934 * sem_prag.adb (Check_No_Link_Name): New procedure.
1935 (Process_Import_Or_Interface): Use Check_No_Link_Name.
1936 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
1937 instead of Standard_Long_Long_Float_Size global. Preparation for
1938 eventual removal of per type constants.
1939 * exp_util.ads (Get_Stream_Size): New function returning the stream
1940 size value of subtype E.
1941 * exp_util.adb (Get_Stream_Size): Implement new function.
1942 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
1943 function.
1944 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
1945 * einfo.adb:
1946 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
1947
3d6c3bd7
GB
19482011-08-01 Geert Bosch <bosch@adacore.com>
1949
1950 * cstand.adb: Fix comments.
1951 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
1952 count of arguments.
1953
e7d897b8
AC
19542011-08-01 Robert Dewar <dewar@adacore.com>
1955
1956 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
1957
19582011-08-01 Geert Bosch <bosch@adacore.com>
1959
1960 * atree.ads: Fix comment.
1961
c228a069
AC
19622011-08-01 Robert Dewar <dewar@adacore.com>
1963
1964 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
1965 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
1966 * par.adb: Add with for Namet.Sp.
1967 * par-tchk.adb: Minor reformatting.
1968
19692011-08-01 Vincent Celier <celier@adacore.com>
1970
1971 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
1972 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
1973 of the init procedure of a SAL.
1974 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
1975 New procedure.
1976
19772011-08-01 Thomas Quinot <quinot@adacore.com>
1978
1979 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
1980 reformatting.
1981
19822011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1983
1984 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
1985
19862011-08-01 Thomas Quinot <quinot@adacore.com>
1987
1988 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
1989 conformant with its spec (return True only for types that have
1990 an overriding Initialize primitive operation that prevents them from
1991 having preelaborable initialization).
1992 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
1993 initialization for controlled types in Ada 2005 or later mode.
1994
857ade1b
RD
19952011-08-01 Robert Dewar <dewar@adacore.com>
1996
1997 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
1998 Postcondition.
1999 (Same_Aspect): New function.
2000 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
2001 Type_Invariant, Precondition, Postcondition.
2002 * snames.ads-tmpl: Add Name_Type_Invariant.
2003
bd949ee2
RD
20042011-08-01 Robert Dewar <dewar@adacore.com>
2005
2006 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
2007 here.
2008 (Freeze_All_Ent): Fix error in handling inherited aspects.
2009 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
2010 already analyzed, but don't skip entire processing of a declaration,
2011 that's wrong in some cases of declarations being rewritten.
2012 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
2013 Don't delay for integer, string literals
2014 Treat predicates in usual manner for delay, remove special case code,
2015 not needed.
2016 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
2017 (Build_Predicate_Function): Update saved expression in aspect
2018 (Build_Invariant_Procedure): Update saved expression in aspect
2019 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
2020 of replacement of discriminant references if the reference is simple.
2021
f1c952af
RD
20222011-08-01 Robert Dewar <dewar@adacore.com>
2023
2024 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
2025 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
2026 Static_Predicate and Dynamic_Predicate.
2027 (Build_Predicate_Function): Add processing for Static_Predicate
2028 and Dynamic_Predicate.
2029 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
2030 (From_Static_Predicate): New flag
2031 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
2032
20332011-08-01 Robert Dewar <dewar@adacore.com>
2034
2035 * usage.adb: Documentation cleanup for Ada version modes in usage.
2036 * expander.adb: Minor reformatting.
2037
47e11d08
AC
20382011-08-01 Robert Dewar <dewar@adacore.com>
2039
2040 * atree.ads: Minor comment fix.
2041 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
2042 a-witeio.ads, sem_prag.adb: Minor reformatting.
2043
20442011-08-01 Doug Rupp <rupp@adacore.com>
2045
2046 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
2047 pointers. Use descrip.h header file for convenience. Add some
2048 comments.
2049
20502011-08-01 Robert Dewar <dewar@adacore.com>
2051
2052 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
2053 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
2054 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
2055 New procedure.
2056 (Check_Aspect_At_End_Of_Declarations): New procedure
2057 (Analye_Aspect_Specification): Minor changes for above procedures
2058 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
2059 specification node as well.
2060
20612011-08-01 Pascal Obry <obry@adacore.com>
2062
2063 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
2064 Windows files. Use GetFilesAttributes() in this case to check for file
2065 existence instead of returning with an error code.
2066
a3a16b21
VC
20672011-08-01 Vincent Celier <celier@adacore.com>
2068
2069 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
2070 High is above Source length.
2071
ff58cc69
RD
20722011-08-01 Robert Dewar <dewar@adacore.com>
2073
2074 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
2075
6bb88533
AC
20762011-08-01 Robert Dewar <dewar@adacore.com>
2077
2078 * aspects.ads (Boolean_Aspects): New subtype.
2079 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
2080 for derived types in cases where the parent type and derived type have
2081 aspects.
2082 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
2083 with aspects when parent type also has aspects.
2084 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
2085 boolean expression at this point).
2086 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
2087 accordance with final decision on the Ada 2012 feature.
2088 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
2089
20902011-08-01 Matthew Heaney <heaney@adacore.com>
2091
2092 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
2093
060a3f28
AC
20942011-08-01 Pascal Obry <obry@adacore.com>
2095
2096 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
2097 Fix Replace_Slice when High is above current string size.
2098 (Replace_Slice): Fix DL computation when High is above current
2099 string length.
2100
21012011-08-01 Gary Dismukes <dismukes@adacore.com>
2102
2103 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
2104
e7f567a3
AC
21052011-08-01 Matthew Heaney <heaney@adacore.com>
2106
2107 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
2108 of node.
2109
21102011-08-01 Pascal Obry <obry@adacore.com>
2111
2112 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
2113 reformatting.
2114
1a265e78
AC
21152011-08-01 Ed Schonberg <schonberg@adacore.com>
2116
2117 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
2118 access to protected subprograms in generic bodies.
2119 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
2120 protected type, indicate that the convention of the subprogram is
2121 Convention_Protected, because it may be used in subsequent declarations
2122 within the protected declaration.
2123
21242011-08-01 Vincent Celier <celier@adacore.com>
2125
2126 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
2127 and "final" procedures when the name of the library is "ada", to avoid
2128 duplicate symbols "adainit" and "adafinal" in executables.
2129
67e28ef8
ES
21302011-08-01 Ed Schonberg <schonberg@adacore.com>
2131
2132 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
2133 quantified expression that appears within a postcondition and uses the
2134 Ada2012 'Result attribute.
2135
6da2ca7d
RO
21362011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2137
2138 * init.c (__gnat_error_handler): Cast reason to int.
2139 (__gnat_install_handler): Explain sa_sigaction use.
2140
7d5997c6
EB
21412011-07-24 Eric Botcazou <ebotcazou@adacore.com>
2142
2143 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
2144 subprogram has copy-in copy-out parameters, try to promote the mode of
2145 the return type if it is passed in registers.
2146
4b4cfdd5
EB
21472011-07-24 Eric Botcazou <ebotcazou@adacore.com>
2148
2149 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
2150 left operand as addressable.
2151
f3d34576
EB
21522011-07-24 Eric Botcazou <ebotcazou@adacore.com>
2153
2154 * gcc-interface/gigi.h (build_function_stub): Remove.
2155 (build_return_expr): Likewise.
2156 (convert_vms_descriptor): Declare.
2157 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
2158 (build_function_stub): Move to...
2159 * gcc-interface/utils2.c (build_return_expr): Move to...
2160 * gcc-interface/trans.c (build_function_stub): ...here.
2161 (build_return_expr): ...here.
2162 (Subprogram_Body_to_gnu): Add local variable for language_function.
2163 Disconnect the parameter attributes cache, if any, once done with it.
2164 Call end_subprog_body only after setting the end_locus.
2165 Build the stub associated with the function, if any, at the very end.
2166 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
2167 variables and streamline control flow.
2168
0a6ecc08
AC
21692011-07-23 Arnaud Charlet <charlet@adacore.com>
2170
2171 PR ada/49819
2172 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
2173 g-trasym-dwarf.adb.
2174
5b6d595b
RO
21752011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2176
2177 PR bootstrap/49794
2178 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
2179 Assign to act.sa_sigaction.
2180 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
2181 current->return_address to char * before arithmetic.
2182
94017021
RO
21832011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2184
2185 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
2186 Correct argument types.
2187 Extract code from reason.
2188 (__gnat_install_handler): Assign to act.sa_sigaction.
2189
52fd02bb
EB
21902011-07-21 Eric Botcazou <ebotcazou@adacore.com>
2191
2192 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
2193 (GNAT1_OBJS): ...here.
2194
f39a9ca2
EB
21952011-07-15 Eric Botcazou <ebotcazou@adacore.com>
2196
2197 PR ada/48711
2198 * g-socthi-mingw.adb (Fill): Fix formatting.
2199
9e36aa23
EB
2200 * gcc-interface/gigi.h: Move around comment.
2201
e3aca522
JDA
22022011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2203
2204 PR ada/46350
2205 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
2206
696b1960
FW
22072011-07-14 Florian Weimer <fw@deneb.enyo.de>
2208
2209 PR ada/48711
2210 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
2211
f542c405
EB
22122011-07-13 Eric Botcazou <ebotcazou@adacore.com>
2213
2214 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
2215 range comparison if Pmode is SImode.
2216
9e9bd455
LG
22172011-07-12 Laurent GUERBY <laurent@guerby.net>
2218 Eric Botcazou <ebotcazou@adacore.com>
2219
2220 * adadecode.c: Wrap up in extern "C" block.
2221 * adadecode.h: Likewise.
2222 * adaint.c: Likewise. Remove 'const' keyword.
2223 * adaint.h: Likewise.
2224 * argv.c: Likewise.
2225 * atree.h: Likewise.
2226 * cio.c: Likewise.
2227 * cstreams.c: Likewise.
2228 * env.c: Likewise.
2229 * exit.c: Likewise.
2230 * fe.h: Likewise.
2231 * final.c: Likewise.
2232 * init.c: Likewise.
2233 * initialize.c: Likewise.
2234 * link.c: Likewise.
2235 * namet.h: Likewise.
2236 * nlists.h: Likewise.
2237 * raise.c: Likewise.
2238 * raise.h: Likewise.
2239 * repinfo.h: Likewise.
2240 * seh_init.c: Likewise.
2241 * targext.c: Likewise.
2242 * tracebak.c: Likewise.
2243 * uintp.h: Likewise.
2244 * urealp.h: Likewise.
2245 * xeinfo.adb: Wrap up generated C code in extern "C" block.
2246 * xsinfo.adb: Likewise.
2247 * xsnamest.adb: Likewise.
2248 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
2249 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
2250 * gcc-interface/misc.c: Likewise.
2251 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
2252 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
2253 ada/targext.o here...
2254 (GNAT_ADA_OBJS): ...and not here.
2255 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
2256 (GNATBIND_OBJS): Reorder.
2257
7644b3c7
RH
22582011-07-07 Richard Henderson <rth@redhat.com>
2259
2260 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
2261 dwarf2out_frame_init.
2262
8384ac41
EB
22632011-07-07 Eric Botcazou <ebotcazou@adacore.com>
2264
2265 * gcc-interface/misc.c (gnat_init): Tweak previous change.
2266
fbdd5d87
RO
22672011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2268
2269 PR target/39150
2270 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
2271
1a072294
RG
22722011-07-06 Richard Guenther <rguenther@suse.de>
2273
8384ac41
EB
2274 * gcc-interface/misc.c (gnat_init): Merge calls to
2275 build_common_tree_nodes and build_common_tree_nodes_2.
1a072294
RG
2276 Re-initialize boolean_false_node.
2277
bc712852
EB
22782011-07-02 Eric Botcazou <ebotcazou@adacore.com>
2279 Olivier Hainque <hainque@adacore.com>
2280 Nicolas Setton <setton@adacore.com>
2281
2282 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
2283 the type according to the ARTIFICIAL_P parameter.
2284 (create_type_decl): Likewise.
2285 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
2286
2eb22389
EB
22872011-07-01 Eric Botcazou <ebotcazou@adacore.com>
2288
2289 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
2290 (gnatbind): Likewise.
2291
4bdaaf2f
RO
22922011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2293
2294 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
2295
c020c92b
EB
22962011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2297
2298 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
2299 local variable throughout. Remove useless call to Base_Type.
2300 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
2301 Take it also into account for the volatileness of the field. Set the
2302 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
2303
96769d32
EB
23042011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2305
2306 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
2307 on a dereference built for a by-ref object if it has an address clause.
2308
7e4680c1
EB
23092011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2310
2311 * einfo.ads (Address_Taken): Document use for the second argument of
2312 Asm_Input and Asm_Output attributes.
2313 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
2314 argument is an entity name, then set Address_Taken on it.
2315 <Attribute_Asm_Output>: Likewise.
2316 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
2317 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
2318 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
2319 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
2320
23212011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
d5cc9181
JR
2322
2323 PR middle-end/46500
2324 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
2325
677f3fa8
JM
23262011-06-14 Joseph Myers <joseph@codesourcery.com>
2327
2328 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
2329 (ada/utils.o): Update dependencies.
2330 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
2331 ../../../libcpp/libcpp.a.
2332 * gcc-interface/utils.c: Include common/common-target.h.
2333 (process_attributes): Use targetm_common.have_named_sections.
2334
009db074
RG
23352011-06-07 Richard Guenther <rguenther@suse.de>
2336
0bad0e23
EB
2337 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
2338 set_sizetype.
009db074 2339
3bfc61cf
EB
23402011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2341
0bad0e23 2342 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
3bfc61cf
EB
2343 TREE_THIS_NOTRAP flag.
2344
5c4a1c7b
EB
23452011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2346
2347 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
2348 Fix thinko.
2349
e9f57686
EB
23502011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2351
2352 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
2353 constants whose full view has discriminants specially.
2354
10e4d056
EB
23552011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2356
2357 * gcc-interface/utils.c: Include diagnostic.h.
2358 (gnat_write_global_declarations): Output debug information for all
2359 global type declarations before finalizing the compilation unit.
2360 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
2361
0957c029
JJ
23622011-05-25 Jakub Jelinek <jakub@redhat.com>
2363
2364 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
2365
52d0a7ac
KT
23662011-05-25 Kai Tietz <ktietz@redhat.com>
2367
2368 * adaint.c (__gnat_to_canonical_file_list_next): Use array
2369 initialization instead of const/none-const pointer assignment.
2370
1ed1641d
JM
23712011-05-24 Joseph Myers <joseph@codesourcery.com>
2372
2373 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
2374 $(EXTRA_GNAT1_OBJS).
2375 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
2376 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
2377 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
2378 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
2379 libcommon-target.a instead of prefix.o.
2380
9fe72ebd
JM
23812011-05-21 Joseph Myers <joseph@codesourcery.com>
2382
2383 PR ada/49097
0bad0e23 2384 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9fe72ebd 2385
2691e6d7
JM
23862011-05-20 Joseph Myers <joseph@codesourcery.com>
2387
0bad0e23
EB
2388 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
2389 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
2390 instead of version.o.
2691e6d7 2391
bf6490b5
KT
23922011-05-18 Kai Tietz <ktietz@redhat.com>
2393
2394 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
2395 boolean_false_node instead of integer_zero_node.
2396 (convert_with_check): Likewise.
2397 * gcc-interface/decl.c (choices_to_gnu): Likewise.
2398
7bf9a5ac
EB
23992011-05-12 Eric Botcazou <ebotcazou@adacore.com>
2400
2401 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
2402 type of the parameter is an unconstrained array, convert the actual to
2403 the type of the formal in the In Out and Out cases as well.
2404
e5b00edf
NF
24052011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2406
2407 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
2408 call build_function_type_array or build_varargs_function_type_array
2409 instead.
2410 (create_subprog_type): Don't call build_function_type; call
2411 build_function_type_vec instead.
2412
51545682
NF
24132011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2414
2415 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
2416 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
2417 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
2418
c99c0026
EB
24192011-05-07 Eric Botcazou <ebotcazou@adacore.com>
2420
f620bd21
EB
2421 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
2422
c99c0026
EB
2423 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
2424 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
2425
3d528853
NF
24262011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2427
c99c0026 2428 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
3d528853 2429
d7d058c5
NF
24302011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2431
2432 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
2433 instead of accessing TYPE_ARG_TYPES directly.
2434 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
2435
805e60a0
EB
24362011-05-05 Eric Botcazou <ebotcazou@adacore.com>
2437
2438 PR ada/48844
2439 * gcc-interface/gigi.h (get_variant_part): Declare.
2440 * gcc-interface/decl.c (get_variant_part): Make global.
2441 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
2442 types have the same constant size, are record types and T1 has a
2443 variant part while T2 doesn't.
2444
907a08d9
EB
24452011-05-05 Eric Botcazou <ebotcazou@adacore.com>
2446
2447 * gcc-interface/utils.c (begin_subprog_body): Do not call
2448 get_pending_sizes.
2449 (end_subprog_body): Likewise.
2450
d35936ab
RG
24512011-05-04 Richard Guenther <rguenther@suse.de>
2452
2453 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
2454 int_const_binop.
2455 (pos_to_constructor): Likewise.
2456
c1fd8753
NF
24572011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2458 Eric Botcazou <ebotcazou@adacore.com>
2459
2460 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
2461 of build_function_type. Adjust calls to...
2462 (build_raise_check): ...this. Do not take a void_tree parameter.
2463 Call build_function_type_list instead of build_function_type.
2464 Fix head comment and swap couple of conditional blocks.
2465
4fb87d2b
EB
24662011-04-30 Eric Botcazou <ebotcazou@adacore.com>
2467
2468 * gnatvsn.ads (Library_Version): Bump to 4.7.
2469 (Current_Year): Bump to 2011.
2470
fa5e5a76
MM
24712011-04-29 Michael Matz <matz@suse.de>
2472
2473 * gcc-interface/misc.c (gnat_handle_option): Set
2474 warn_maybe_uninitialized.
2475
8d6a2f69
GP
24762011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
2477
2478 * gnat_ugn.texi (Complexity Metrics Control): Update link to
2479 the Watson/McCabe paper.
2480
770937fd
JM
24812011-04-23 Jim Meyering <meyering@redhat.com>
2482
2483 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
2484
eb601ae1
EB
24852011-04-22 Eric Botcazou <ebotcazou@adacore.com>
2486
2487 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
2488 onto the new type.
2489
7d7fcb08
EB
24902011-04-22 Eric Botcazou <ebotcazou@adacore.com>
2491
2492 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
2493 parameter.
2494 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
2495 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
2496 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
2497 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
2498 <all>: Do not set flags on the reused DECL node coming from an alias.
2499 Set DECL_IGNORED_P on the DECL node built for subprograms if they
2500 don't need debug info here...
2501 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
2502 (gigi): Adjust calls to create_subprog_decl.
2503 (build_raise_check): Likewise.
2504 (establish_gnat_vms_condition_handler): Likewise.
2505 (Compilation_Unit_to_gnu): Likewise.
2506 (gnat_to_gnu): Likewise.
2507
e1876cac
EB
25082011-04-21 Eric Botcazou <ebotcazou@adacore.com>
2509
2510 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
2511 (NO_REORDER_ADAFLAGS): New variable.
2512 (EXTRA_GNATTOOLS): Always define.
2513 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
2514 Clean up and adjust list of files compiled with special options.
2515 * gcc-interface/Make-lang.in: Likewise.
2516 (ada/decl.o): Cosmetical change.
2517 (ada/misc.o): Remove dependency on $(PLUGIN_H).
2518
04695783
JM
25192011-04-20 Jim Meyering <meyering@redhat.com>
2520
2521 * initialize.c (__gnat_initialize): Remove useless if-before-free.
2522
23399579
EB
25232011-04-17 Eric Botcazou <ebotcazou@adacore.com>
2524
2525 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
2526 $(CFLAGS) on the link line.
2527
51c5169c
EB
25282011-04-17 Eric Botcazou <ebotcazou@adacore.com>
2529
2530 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
2531 padded type built for the return type if it is unconstrained.
2532
61e46a7d
NF
25332011-04-14 Nathan Froyd <froydnj@codesourcery.com>
2534
2535 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
2536
81f653d6
NF
25372011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2538
b4867846
EB
2539 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
2540 before calling TREE_CHAIN.
81f653d6
NF
2541 * gcc-interface/misc.c (gnat_init_ts): New function.
2542 (LANG_HOOKS_INIT_TS): Define.
2543
a358e188
MJ
25442011-04-12 Martin Jambor <mjambor@suse.cz>
2545
b4867846
EB
2546 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
2547 instead of cgraph_node.
a358e188 2548
29b1c5a4
EB
25492011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2550
2551 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
2552 alignment on fields of the RETURN type built for the Copy-In Copy-Out
2553 mechanism.
2554
88872b00
EB
25552011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2556
2557 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
2558 of aggregate types that contain a placeholder.
2559
dcf0c47e
NF
25602011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2561
2562 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
b4867846 2563 TYPE_ARG_TYPES.
dcf0c47e
NF
2564 (handle_type_generic_attribute): Likewise.
2565
53e3000c
EB
25662011-04-04 Eric Botcazou <ebotcazou@adacore.com>
2567
2568 PR ada/47163
2569 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
2570
ab380bb4
KT
25712011-04-04 Kai Tietz <ktietz@redhat.com>
2572
2573 PR ada/47163
0bad0e23
EB
2574 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
2575 to flag value.
ab380bb4 2576
8ffac116
EB
25772011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2578
2579 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
2580 type case, do not strip a padding type around the array type.
2581
de9528f0
EB
25822011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2583
2584 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
2585 types.
2586
d9d7a26c
EB
25872011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2588
2589 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
2590 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
de9528f0 2591 code for -feliminate-unused-debug-types.
d9d7a26c
EB
2592 (gnat_post_options): Likewise.
2593
4cb12a90
EB
25942011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2595
2596 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
2597 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
2598 distinct copy.
2599
acccc61c
EB
26002011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2601
2602 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
2603 DECL_ARTIFICIAL flag on enumeration types.
2604
583eb0c9
EB
26052011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2606
2607 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
2608 fat pointer types artificial unconditionally.
2609 <E_Array_Subtype>: Attach the base array type as a parallel type if it
2610 isn't artificial.
2611
e3edbd56
EB
26122011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2613
2614 * gcc-interface/gigi.h (get_dummy_type): Declare.
2615 (build_dummy_unc_pointer_types): Likewise.
2616 (finish_fat_pointer_type): Likewise.
2617 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
2618 fat pointer type has been built, complete it in place.
2619 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
2620 and thin pointers. Remove useless variable.
2621 (finish_fat_pointer_type): Make global and move to...
2622 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
2623 (get_dummy_type): New function.
2624 (build_dummy_unc_pointer_types): Likewise.
2625 (gnat_pushdecl): Propage the name to the anonymous variants only.
2626 (update_pointer_to): Only adjust the pointer types in the unconstrained
2627 array case.
2628
65444786
EB
26292011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2630
2631 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
2632 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
2633 if this is a Taft amendment type and the full declaration is available.
2634 * gcc-interface/trans.c (process_type): Likewise.
2635 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
2636 (process_freeze_entity): Likewise.
2637 * gcc-interface/utils.c (dummy_global): New static variable.
2638 (gnat_write_global_declarations): If there are types declared as used
2639 at the global level, insert them in the global hash table.
2640
1aeb40dd
EB
26412011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2642
2643 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
2644 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
2645 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
2646 copy.
2647 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
2648 flag of the type accordingly.
2649 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
2650
80ec8b4c
EB
26512011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2652
2653 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
2654 finalizing types when updating the pointers to the designated type.
2655 <all>: Finalize the deferred types even if we didn't defer processing
2656 of incomplete types in this invocation.
2657
2a9d769a
OH
26582011-04-01 Olivier Hainque <hainque@adacore.com>
2659 Nicolas Setton <setton@adacore.com>
2660 Eric Botcazou <ebotcazou@adacore.com>
2661
2662 * gcc-interface/misc.c (gnat_descriptive_type): New function.
2663 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
2664
2438d7a6
KT
26652011-03-28 Kai Tietz <ktietz@redhat.com>
2666
333d8aff 2667 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
80ec8b4c
EB
2668 Windows targets.
2669 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
2670 * system-mingw.ads (System): Change ZCX_By_Default default to True.
333d8aff 2671
80ec8b4c 2672 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2438d7a6 2673
8ad150f6
TG
26742011-03-28 Tristan Gingold <gingold@adacore.com>
2675
2676 PR ada/44431
80ec8b4c
EB
2677 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
2678 Use ada output of gnatbind.
8ad150f6
TG
2679 (ada/b_gnatb.adb): Ditto.
2680 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
2681 (ada.mostlyclean, ada.stage1)
2682 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
2683 (ada.stagefeedback): Adjust.
80ec8b4c 2684 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
8ad150f6
TG
2685 Use ada output of gnatbind.
2686 (b_gnatm.adb): Ditto.
2687 (b_gnatl.o, b_gnatm.o): New rules.
2688
51c7954d
EB
26892011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2690
2691 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
2692 for the padded type built to support a specified size or alignment.
2693
6ddf9843
EB
26942011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2695
2696 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
2697 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
2698 unconditionally to the end of the unit when the designated type is
2699 limited_with'ed.
2700 <all>: Rename local variable. Attempt to un-defer types only and do it
2701 for limited_with'ed types as well.
2702 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
2703 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
2704 consistently and remove redundant call to finalize_from_with_types.
2705
5daed84a
EB
27062011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2707
2708 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
2709 subprograms without a previous spec declared in the same unit.
2710 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
2711 subprograms at the end of the unit instead of at the beginning.
2712 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
2713 isn't public for the special handling of non-inline functions nested
2714 inside inline external functions.
2715
0edf1bb2
JL
27162011-03-25 Jeff Law <law@redhat.com>
2717
5daed84a 2718 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
0edf1bb2 2719
e3c4580e
EB
27202011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2721
2722 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
2723 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
2724 to compute Set_Size_Depends_On_Discriminant.
2725 (Layout_Type): Call it on array types in back-end layout mode.
2726 * sem_util.adb (Requires_Transient_Scope): Return true for array
2727 types only if the size depends on the value of discriminants.
2728 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
2729 type if the RHS is a call to a function that returns an unconstrained
2730 type with default discriminant.
2731
abbc8c7b
EB
27322011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2733
2734 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
2735 non-conversion to the nominal result type at the end.
2736
ddb5a105
EB
27372011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2738
2739 * gcc-interface/trans.c (create_temporary): New function taken from...
2740 (create_init_temporary): ...here. Call it.
2741 (call_to_gnu): Create the temporary for the return value early, if any.
2742 Create it for a function with copy-in/copy-out parameters if there is
2743 no target; in other cases of copy-in/copy-out, use another temporary.
2744 Push the new binding level lazily. Add and rename local variables.
2745
0d853156
EB
27462011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2747
2748 * gcc-interface/decl.c (validate_size): Improve comments and tweak
2749 error message.
2750 (set_rm_size): Likewise.
2751
4184ef1b
EB
27522011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2753
2754 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
2755 for the padded type built in order to support a specified alignment.
2756 Fix incorrect formatting.
2757
bf7eefab
EB
27582011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2759
2760 PR bootstrap/48216
2761 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
2762
ef0feeb2
EB
27632011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2764
2765 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
2766 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
2767 to the end of the list. Adjust recursive call. Rename local variable.
2768 If REORDER is true, reorder components of the record type.
2769 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
2770 components_to_record and adjust the parameter list.
2771
646f9414
EB
27722011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2773
2774 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
2775 disabled, use the variable for bounds of loop iteration scheme.
2776
62d784f7
KT
27772011-03-21 Kai Tietz <ktietz@redhat.com>
2778
2779 PR target/12171
0bad0e23 2780 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
62d784f7 2781
f230d759
EB
27822011-03-17 Eric Botcazou <ebotcazou@adacore.com>
2783
2784 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
2785 out whether the expression is read-only. Short-circuit placeholder
2786 case and rename a couple of local variables.
2787
bb1f7929
EB
27882011-03-17 Eric Botcazou <ebotcazou@adacore.com>
2789
2790 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
2791 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
2792 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
2793 (convert): Deal with conversions from a smaller form type specially.
2794
400a2d24
EB
27952011-02-14 Eric Botcazou <ebotcazou@adacore.com>
2796
2797 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
2798 its argument, except for the special -I- switch.
2799
c26bc3ad
GP
28002011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
2801
0bad0e23
EB
2802 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
2803 "Ada Issues".
c26bc3ad 2804
07b8e910
EB
28052011-02-08 Eric Botcazou <ebotcazou@adacore.com>
2806
2807 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
2808
31a5a547
EB
28092011-02-03 Eric Botcazou <ebotcazou@adacore.com>
2810
2811 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
2812 GNAT_FORMAL.
2813 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
2814 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
2815 instead of GNAT_FORMAL. Protect the expression against multiple uses.
2816 Do not generate the check directly, instead instantiate the template
2817 check present in the descriptor.
2818 (make_descriptor_field): Move around.
2819 (build_vms_descriptor32): Build a template check in the POINTER field.
2820 (build_vms_descriptor): Remove useless suffixes.
2821 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
2822
dcf25f59
EB
28232011-01-26 Eric Botcazou <ebotcazou@adacore.com>
2824
2825 PR bootstrap/47467
2826 * targext.c: Include target files if IN_RTS is defined.
2827
0418e131
RG
28282011-01-26 Richard Guenther <rguenther@suse.de>
2829
2830 PR bootstrap/47467
2831 * targext.c: Include config.h.
2832 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
2833 dependency.
2834
c6eecbd8
PO
28352011-01-04 Pascal Obry <obry@adacore.com>
2836 Eric Botcazou <ebotcazou@adacore.com>
2837
2838 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
2839
2d3c7e4f
EB
28402011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2841
2842 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
2843 end-of-case on the end label and its associated gotos, if any.
2844
0394741f
EB
28452011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2846
2847 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
2848 expressions of the parameter cache within the statement group of
2849 the CICO mechanism.
2850
2a02d090
OH
28512011-01-04 Olivier Hainque <hainque@adacore.com>
2852 Eric Botcazou <ebotcazou@adacore.com>
2853
2854 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
2855 (set_end_locus_from_node): New function.
2856 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
2857 make and the function end_locus.
2858 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
2859 for the elaboration subprogram.
2860 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
2861 set the end_locus of the expression as well.
2862
89f5e978
EB
28632011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2864
2865 PR ada/47131
2866 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
2867 variables that are referenced in exception handlers volatile.
2868
2869
ad41bd84 2870\f
797103eb 2871Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
2872
2873Copying and distribution of this file, with or without modification,
2874are permitted in any medium without royalty provided the copyright
2875notice and this notice are preserved.