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