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