]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
[multiple changes]
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
1f6439e3
AC
12011-08-02 Javier Miranda <miranda@adacore.com>
2
3 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
4 the JVM target.
5 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
6 the JVM target.
7 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
8 TSD support.
9
102011-08-02 Vincent Celier <celier@adacore.com>
11
12 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
13 (No_Space_Img): New function
14 (Find_Excluded_Sources): When reading from a file, record the file name
15 and the line number for each excluded source.
16 (Mark_Excluded_Sources): When reporting an error, if the excluded
17 sources were read from a file, include file name and line number in
18 the error message.
19
202011-08-02 Ed Schonberg <schonberg@adacore.com>
21
22 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
23
ab027d28
RD
242011-08-02 Robert Dewar <dewar@adacore.com>
25
26 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
27
b3b28b0c
JM
282011-08-02 Javier Miranda <miranda@adacore.com>
29
30 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
31 generation of TSDs to the DOTNET compiler.
32 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
33 generation of TSDs to the DOTNET compiler.
34
9732e886
JM
352011-08-02 Javier Miranda <miranda@adacore.com>
36
37 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
38 record of all the tagged types declared inside library level package
39 declarations, library level package bodies or library level subprograms.
40 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
41 associated with a given tagged type.
42 (Build_VM_TSDs): New subprogram.
43 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
44 compilation units that are subprograms.
45 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
46 compilation units that are package bodies.
47 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
48 units that are a package declaration or a package instantiation.
49 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
50 reorganization to improve the error generated by the frontend when the
51 function Ada.Tags.Secondary_Tag is not available.
52 * rtsfind.ads (RE_Register_TSD): New runtime entity.
53 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
54
e526d0c7
AC
552011-08-02 Javier Miranda <miranda@adacore.com>
56
57 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
58
592011-08-02 Robert Dewar <dewar@adacore.com>
60
61 * s-imenne.ads: Minor reformatting.
62
632011-08-02 Robert Dewar <dewar@adacore.com>
64
65 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
66 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
67 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
68
692011-08-02 Robert Dewar <dewar@adacore.com>
70
71 * einfo.ads (Materialize_Entity): Document this is only for renamings
72 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
73 required debug information in the case where we transform the object
74 declaration into a renaming declaration.
75 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
76 object
77 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
78 Materialize_Entity.
79
5b1e6aca
RD
802011-08-02 Robert Dewar <dewar@adacore.com>
81
82 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
83 Suppress_Init_Procs.
84 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
85 Suppress_Initialization/Initialization_Suppressed.
86 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
87 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
88 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
89 * sem_prag.adb: New processing for pragma Suppress_Initialization.
90
5ad4969d
RD
912011-08-02 Robert Dewar <dewar@adacore.com>
92
93 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
94 Minor reformatting.
95
8c4ee6f5
AC
962011-08-02 Ed Schonberg <schonberg@adacore.com>
97
98 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
99 only have inheritable classwide pre/postconditions.
100
1012011-08-02 Javier Miranda <miranda@adacore.com>
102
103 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
104 * rtsfind.ads (RE_Check_TSD): New runtime entity.
105 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
106 checks if the external tag of a type is the same as the external tag
107 of some other declaration.
108
0b3d16c0
AC
1092011-08-02 Thomas Quinot <quinot@adacore.com>
110
111 * s-taskin.ads: Minor reformatting.
112
1132011-08-02 Emmanuel Briot <briot@adacore.com>
114
115 * g-comlin.adb (Display_Help): swap the order in which it prints the
116 short help and the general usage.
117
1182011-08-02 Ed Schonberg <schonberg@adacore.com>
119
120 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
121 the aspect declarations and attach them to the generic copy for
122 subsequent analysis.
123 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
124 declarations of the generic tree to the new subprogram declarations.
125 * sem_attr.adb (Check_Precondition_Postcondition): recognize
126 conditions that apply to a subprogram instance.
127
1282011-08-02 Robert Dewar <dewar@adacore.com>
129
130 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
131
1322011-08-02 Ed Schonberg <schonberg@adacore.com>
133
134 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
135 private type with a tagged full view is not derived in the immediate
136 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
137
4637729f
AC
1382011-08-02 Robert Dewar <dewar@adacore.com>
139
140 * exp_ch4.adb: Minor reformatting.
141
1422011-08-02 Ed Schonberg <schonberg@adacore.com>
143
144 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
145 Ada2012 iterator, the loop will be rewritten during expansion into a
146 while loop with a cursor and an element declaration. Do not analyze the
147 body in this case, because if the container is for indefinite types the
148 actual subtype of the elements will only be determined when the cursor
149 declaration is analyzed.
150
1512011-08-02 Arnaud Charlet <charlet@adacore.com>
152
153 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
154 size/alignment related attributes in CodePeer_Mode.
155
1562011-08-02 Gary Dismukes <dismukes@adacore.com>
157
158 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
159 Prepend_Element, since this can result in the operation getting the
160 wrong slot in the full type's dispatch table if the full type has
161 inherited operations. The incomplete type's operation will get added
162 to the proper position in the full type's primitives
163 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
164 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
165 dispatching operations, since there are cases where nonprimitive
166 subprograms can get added to the list of incomplete dependents (such
167 as subprograms in nested packages).
168 * sem_ch6.adb (Process_Formals): First, remove test for being in a
169 private part when determining whether to add a primitive with a
170 parameter of a tagged incomplete type to the Private_Dependents list.
171 Such primitives can also occur in the visible part, and should not have
172 been excluded from being private dependents.
173 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
174 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
175 list of a Taft-amendment incomplete type is a primitive before issuing
176 an error that the full type must appear in the same unit. There are
177 cases where nonprimitives can be in the list (such as subprograms in
178 nested packages).
179 * sem_disp.adb (Derives_From): Use correct condition for checking that
180 a formal's type is derived from the type of the corresponding formal in
181 the parent subprogram (the condition was completely wrong). Add
182 checking that was missing for controlling result types being derived
183 from the result type of the parent operation.
184
4c60de0c
YM
1852011-08-02 Yannick Moy <moy@adacore.com>
186
187 * errout.adb (First_Node): minor renaming
188 * restrict.adb (Check_Formal_Restriction): put restriction warning on
189 first node.
190
f5afb270
AC
1912011-08-02 Yannick Moy <moy@adacore.com>
192
193 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
194 before accessing operands.
195 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
196 decide whether an initialization expression respects SPARK rules, as
197 the plain node is the expanded one. This allows for more valid warnings
198 to be issued.
199 * gnat_rm.texi: Minor update.
200
2012011-08-02 Arnaud Charlet <charlet@adacore.com>
202
203 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
204 previous change.
205
2062011-08-02 Robert Dewar <dewar@adacore.com>
207
208 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
209
2102011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
211
212 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
213 loop statements and the element renaming declaration with a block when
214 the element type is controlled.
215
2162011-08-02 Yannick Moy <moy@adacore.com>
217
218 * sinfo.ads: Minor formatting.
219
2202011-08-02 Ed Schonberg <schonberg@adacore.com>
221
222 * sem_aggr.adb (Add_Association): if the association has a box and no
223 expression, use the Sloc of the aggregate itself for the new
224 association.
225 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
226 the Original_Node.
227
db72f10a
AC
2282011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
229
230 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
231 When a container is provided via a function call, generate a renaming
232 of the function result. This avoids the creation of a transient scope
233 and the premature finalization of the container.
234 * exp_ch7.adb (Is_Container_Cursor): Removed.
235 (Wrap_Transient_Declaration): Remove the supression of the finalization
236 of the list controller when the declaration denotes a container cursor,
237 it is not needed.
238
2392011-08-02 Yannick Moy <moy@adacore.com>
240
241 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
242 node is from source, instead of the original node being from source.
243 * sem_aggr.adb
244 (Resolve_Array_Aggregate): refine the check for a static expression, to
245 recognize also static ranges
246 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
247 Array_Type_Declaration): postpone the test for the type being a subtype
248 mark after the type has been resolved, so that component-selection and
249 expanded-name are discriminated.
250 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
251 to distinguish the case of an iteration scheme, so that an error is
252 issed on a non-static range in SPARK except in an iteration scheme.
253 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
254 In_Iter_Schm = True.
255 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
256 user-defined operators so that they are allowed in renaming
257 * sem_ch8.adb
258 (Find_Selected_Component): refine the check for prefixing of operators
259 so that they are allowed in renaming. Move the checks for restrictions
260 on selector name after analysis discriminated between
261 component-selection and expanded-name.
262 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
263 concatenation argument of string type if it is static.
264 * sem_util.adb, sem_util.ads
265 (Check_Later_Vs_Basic_Declarations): add a new function
266 Is_Later_Declarative_Item to decice which declarations are allowed as
267 later items, in the two different modes Ada 83 and SPARK. In the SPARK
268 mode, add that renamings are considered as later items.
269 (Enclosing_Package): new function to return the enclosing package
270 (Enter_Name): correct the rule for homonyms in SPARK
271 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
272 from source (result of expansion) to avoid issuing wrong warnings.
273
2742011-08-02 Ed Schonberg <schonberg@adacore.com>
275
276 * errout.adb: On anything but an expression First_Node returns its
277 argument.
278
23685ae6
AC
2792011-08-02 Pascal Obry <obry@adacore.com>
280
281 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
282
2832011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
284
285 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
286 Set the associated loop as the related expression of internally
287 generated cursors.
288 * exp_ch7.adb (Is_Container_Cursor): New routine.
289 (Wrap_Transient_Declaration): Supress the finalization of the list
290 controller when the declaration denotes a container cursor.
291
2922011-08-02 Yannick Moy <moy@adacore.com>
293
294 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
295 command line now.
296 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
297 expression is a simple expression. This check cannot be performed in
298 the semantics, so just drop it.
299 (P_Index_Or_Discriminant_Constraint): move check that the index or
300 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
301 semantics. Other cases were previously checked in the semantics.
302 * par-ch4.adb (P_Name): move checks that a selector name is not
303 character literal or an operator symbol to Find_Selected_Component in
304 the semantics
305 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
306 declarations are not placed after later declarations in a separate
307 procedure in Sem_Util (possibly not the best choice?), to be used both
308 during parsing, for Ada 83 mode, and during semantic analysis, for
309 SPARK mode.
310 * par-endh.adb (Check_End): move check that end label is not missing
311 to Process_End_Label in the semantics
312 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
313 the special case for SPARK restriction
314 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
315 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
316 parameter Force to issue the error message even on internal node (used
317 for generated end label). Call Check_Restriction to check when an error
318 must be issued. In SPARK mode, issue an error message even if the
319 restriction is not set.
320 (Check_Restriction): new procedure with an additional out parameter to
321 inform the caller that a message has been issued
322 * sem_aggr.adb: Minor modification of message
323 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
324 instead of issuing an error message directly
325 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
326 declarations are not placed after later declarations, by calling
327 Check_Later_Vs_Basic_Declarations
328 (Analyze_Subtype_Declaration): move here the check that an index or
329 discriminant constraint must be a subtype mark. Change the check that
330 a subtype of String must start at one so that it works on subtype marks.
331 * sem_ch4.adb (Analyze_Call): move here the check that a named
332 association cannot follow a positional one in a call
333 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
334 instead of issuing an error message directly
335 * sem_ch8.adb (Find_Selected_Component): move here the check that a
336 selector name is not a character literal or an operator symbol. Move
337 here the check that the prefix of an expanded name cannot be a
338 subprogram or a loop statement.
339 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
340 procedure called from parsing and semantics to check that basic
341 declarations are not placed after later declarations
342 (Process_End_Label): move here the check that end label is not missing
343
3442011-08-02 Arnaud Charlet <charlet@adacore.com>
345
346 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
347 representation clause in codepeer mode, since it confuses CodePeer and
348 does not bring useful info.
349
3502011-08-02 Ed Falis <falis@adacore.com>
351
352 * init.c: initialize fp hw on MILS.
353
3542011-08-02 Ed Schonberg <schonberg@adacore.com>
355
356 * errout.adb (First_Node): for bodies, return the node itself (small
357 optimization). For other nodes, do not check source_unit if the node
358 comes from Standard.
359
d2d9cc22
AC
3602011-08-02 Robert Dewar <dewar@adacore.com>
361
362 * exp_ch3.adb: Minor comment additions.
363 * sem_ch13.adb: Minor reformatting.
364
3652011-08-02 Pascal Obry <obry@adacore.com>
366
367 * make.adb, makeutl.adb: Removes some superfluous directory separator.
368
a01b9df6
AC
3692011-08-02 Robert Dewar <dewar@adacore.com>
370
371 * sem_attr.adb: Minor reformatting.
372
3732011-08-02 Robert Dewar <dewar@adacore.com>
374
375 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
376 (Has_Default_Component_Value): Removed
377 * einfo.ads Comment updates
378 (Has_Default_Aspect): Replaces Has_Default_Value
379 (Has_Default_Component_Value): Removed
380 * exp_ch13.adb
381 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
382 * exp_ch3.adb
383 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
384 (Get_Simple_Init_Val): Handle Default_Value aspect
385 (Needs_Simple_Initialization): Handle Default_Value aspect
386 * exp_ch3.ads: Needs_Simple_Initialization
387 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
388 * par-prag.adb (Pragma_Default[_Component]Value) Removed
389 * sem_ch13.adb
390 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
391 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
392 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
393
3942011-08-02 Ed Schonberg <schonberg@adacore.com>
395
396 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
397 package containing iteration primitives.
398 exp_ch5.adb (Expand_Iterator_Loop): ditto.
399
75c90775
AC
4002011-08-02 Ed Schonberg <schonberg@adacore.com>
401
402 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
403 "of", pre-analyze expression in case it is a function call with
404 finalization actions that must be placed ahead of the loop.
405 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
406 on an Ada2012 iterator, insert them ahead of the rewritten loop.
407
4082011-08-02 Geert Bosch <bosch@adacore.com>
409
410 * cstand.adb (Create_Float_Types): Only consider C's long double for
411 Long_Long_Float, in addition to double.
412
ded8909b
AC
4132011-08-02 Robert Dewar <dewar@adacore.com>
414
415 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
416 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
417 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
418 Minor reformatting.
419
4202011-08-02 Ed Schonberg <schonberg@adacore.com>
421
422 * sem_attr.adb: handle properly 'Result when it is a prefix of an
423 indexed component.
424
4252011-08-02 Javier Miranda <miranda@adacore.com>
426
427 * einfo.ads, einfo.adb
428 (Original_Access_Type): Move this attribute to Node26 since there was
429 an undocumented use of Node21 in E_Access_Subprogram_Type entities
430 which causes conflicts and breaks the generation of the .NET compiler.
431 (Interface_Name): Add missing documentation on JGNAT only uses of
432 this attribute.
433
70c34e1c
AC
4342011-08-02 Geert Bosch <bosch@adacore.com>
435
436 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
437 (Find_Back_End_Float_Type): Likewise
438 (Create_Back_End_Float_Types): Likewise
439 (Create_Float_Types): Likewise
440 (Register_Float_Type): Likewise
441 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
442 Nlist and split out type selection in new local Find_Base_Type function.
443 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
444 Nlist
445 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
446
4472011-08-02 Robert Dewar <dewar@adacore.com>
448
449 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
450 alpha order).
451 * opt.ads: Minor comment change.
452 * sem_ch12.adb: Minor code reorganization.
453
b715bc59
AC
4542011-08-02 Gary Dismukes <dismukes@adacore.com>
455
456 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
457 subtype's list of rep items to the list on the full subtype in the case
458 where the lists are the same.
459
4602011-08-02 Geert Bosch <bosch@adacore.com>
461
462 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
463 using the one from System.Strings, which also deallocates all strings.
464
002bdd68
AC
4652011-08-02 Geert Bosch <bosch@adacore.com>
466
467 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
468 function.
469 * gcc-interface/Make-lang.in: Update dependencies.
470
4712011-08-02 Olivier Hainque <hainque@adacore.com>
472
473 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
474 end_locus.
475
499769ec
AC
4762011-08-02 Javier Miranda <miranda@adacore.com>
477
478 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
479 associated with anonymous access to subprograms.
480
4812011-08-02 Geert Bosch <bosch@adacore.com>
482
483 * opt.ads
484 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
485 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
486 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
487 (Add_Symbol_Definition): Move to switch-c.adb
488 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
489 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
490 (Add_Symbol_Definition): Move to switch-c.adb.
491 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
492 * sem_warn.adb
493 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
494 Move to warnsw.adb.
495 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
496 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
497 Move to warnsw.adb.
498 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
499 (Add_Symbol_Definition): Moved from Prepcomp.
500 * switch-c.ads: Update copyright notice. Use String_List instead of
501 Argument_List, removing dependency on System.OS_Lib.
502
aa1e353a
AC
5032011-08-02 Yannick Moy <moy@adacore.com>
504
505 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
506 mode on initialization expression which does not respect SPARK
507 restrictions.
508 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
509 if the tree referenced by its argument represents an initialization
510 expression in SPARK, suitable for initializing an object in an object
511 declaration.
512
5132011-08-02 Javier Miranda <miranda@adacore.com>
514
515 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
516 internally generated access to subprogram with its associated protected
517 subprogram type.
518 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
519
15b682ca
GB
5202011-08-02 Geert Bosch <bosch@adacore.com>
521
522 * cstand.adb (Register_Float_Type): Print information about type to
523 register, if the Debug_Flag_Dot_B is set.
524 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
525 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
526 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
527 with a requested precision of more than Max_Digits digits and no more
528 than Max_Base_Digits digits, if a range specification is present and the
529 Predefined_Float_Types list has a suitable type to derive from.
530 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
531 case of type completion with pragma Import
532 * sem_prag.adb
533 (Process_Import_Predefined_Type): Processing to complete a type
534 with pragma Import. Currently supports floating point types only.
535 (Set_Convention_From_Pragma): Do nothing without underlying type.
536 (Process_Convention): Guard against absence of underlying type,
537 which may happen when importing incomplete types.
538 (Process_Import_Or_Interface): Handle case of importing predefined
539 types. Tweak error message.
540
f8726f2b
AC
5412011-08-02 Eric Botcazou <ebotcazou@adacore.com>
542
543 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
544 functions to previous change. Reorganize code slightly.
545
5462011-08-02 Geert Bosch <bosch@adacore.com>
547
548 * back_end.ads (Register_Type_Proc): New call back procedure type for
549 allowing the back end to provide information about available types.
550 (Register_Back_End_Types): New procedure to register back end types.
551 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
552 available types.
553 * cstand.adb (Back_End_Float_Types): New list for floating point types
554 supported by the back end.
555 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
556 (Copy_Float_Type): New procedure to make new copies of predefined types.
557 (Register_Float_Type): New call back procedure to populate the BEFT list
558 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
559 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
560 (Create_Float_Types): New procedure to create entities for floating
561 point types predefined in Standard, and put these and any remaining
562 BEFTs on the Predefined_Float_Types list.
563 * stand.ads (Predefined_Float_Types): New list for predefined floating
564 point types that do not have declarations in package Standard.
565
feecad68
AC
5662011-08-02 Eric Botcazou <ebotcazou@adacore.com>
567
568 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
569 entity node for the unit containing the parameter.
570 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
571 (Add_Inlined_Subprogram): Likewise.
572 * gcc-interface/Make-lang.in: Update dependencies.
573
5742011-08-02 Thomas Quinot <quinot@adacore.com>
575
576 * s-stusta.adb (Print): Make sure Pos is always initialized to a
577 suitable value.
578
12f0c50c
AC
5792011-08-02 Geert Bosch <bosch@adacore.com>
580
581 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
582
5832011-08-02 Eric Botcazou <ebotcazou@adacore.com>
584
585 * sem_type.adb (Covers): Move trivial case to the top and reuse the
586 computed value of Base_Type.
587
5882011-08-02 Yannick Moy <moy@adacore.com>
589
590 * restrict.adb (Check_Restriction): issue an error for any use of
591 class-wide, even if the No_Dispatch restriction is not set.
592 * sem_aggr.adb: Correct typos in comments and messages in formal mode
593 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
594 when completing a private extension, the type named in the private part
595 is not the same as that named in the visible part.
596 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
597 of an inherited primitive operations of a tagged type or type extension
598 that returns the tagged type.
599 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
600 function which returns True for an implicit operation inherited by the
601 derived type declaration for the argument type.
602 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
603 order.
604
fb86fe11
ES
6052011-08-02 Ed Schonberg <schonberg@adacore.com>
606
607 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
608 Process_Bounds, to perform analysis with expansion of a range or an
609 expression that is the iteration scheme for a loop.
610 (Analyze_Iterator_Specification): If domain of iteration is given by a
611 function call with a controlled result, as is the case if call returns
612 a predefined container, ensure that finalization actions are properly
613 generated.
614 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
615
62be5d0a
JM
6162011-08-02 Javier Miranda <miranda@adacore.com>
617
618 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
619 * gcc-interface/Make-lang.in: Update dependencies.
620
6212011-08-02 Javier Miranda <miranda@adacore.com>
622
623 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
624 determine if the analysis is performed using N or Original_Node (N).
625 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
626 functionality of routine Is_Variable avoids code duplication.
627 * checks.adb (Determine_Range): Handle temporaries generated by
628 Remove_Side_Effects.
629
6302011-08-02 Javier Miranda <miranda@adacore.com>
631
632 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
633 expansion of the condition. Required since the previous analysis was
634 done with expansion disabled (see Resolve_Quantified_Expression) and
635 hence checks were not inserted and record comparisons have not been
636 expanded.
637
a20f4389
AC
6382011-08-02 Ed Falis <falis@adacore.com>
639
640 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
641 Update header.
642
6432011-08-02 Bob Duff <duff@adacore.com>
644
645 * opt.ads: Minor comment fix.
646
6472011-08-02 Bob Duff <duff@adacore.com>
648
649 * sem_ch12.adb (Analyze_Package_Instantiation,
650 Analyze_Subprogram_Instantiation): Turn off style checking while
651 analyzing an instance. Whatever style checks that apply to the generic
652 unit should apply, so it makes no sense to apply them in an instance.
653 This was causing trouble when compiling an instance of a runtime
654 unit that violates the -gnatyO switch.
655 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
656 one of the two case statements, causing spurious errors.
657
6582011-08-02 Robert Dewar <dewar@adacore.com>
659
660 * uname.adb: Minor reformatting.
661 * gnatcmd.adb: Minor reformatting.
662 * exp_attr.adb: Minor reformatting.
663
90878b12
AC
6642011-08-02 Ed Schonberg <schonberg@adacore.com>
665
666 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
667 No_Dispatching_Calls, do not look for the Assign primitive, because
668 predefined primitives are not created in this case.
669
6702011-08-02 Bob Duff <duff@adacore.com>
671
672 * stylesw.ads: Minor comment fixes.
673
6742011-08-02 Robert Dewar <dewar@adacore.com>
675
676 * freeze.adb (Add_To_Result): New procedure.
677
6782011-08-02 Jose Ruiz <ruiz@adacore.com>
679
680 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
681 time, if the specific run-time routines for handling streams of strings
682 are not available, use the default mechanism.
683
6842011-08-02 Arnaud Charlet <charlet@adacore.com>
685
686 * s-regpat.ads: Fix typo.
687
6882011-08-02 Vincent Celier <celier@adacore.com>
689
690 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
691 not null, call it to create the in memory config project file without
692 parsing an existing default config project file.
693
6942011-08-02 Eric Botcazou <ebotcazou@adacore.com>
695
696 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
697
6982011-08-02 Ed Schonberg <schonberg@adacore.com>
699
700 * sem_elim.adb: an abstract subprogram does not need an eliminate
701 pragma for its descendant to be eliminable.
702
7032011-08-02 Ed Falis <falis@adacore.com>
704
705 * init.c: revert to handling before previous checkin for VxWorks
706 * s-intman-vxworks.adb: delete unnecessary declarations related to
707 using Ada interrupt facilities for handling signals.
708 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
709 * s-intman-vxworks.ads: Import __gnat_install_handler as
710 Initialize_Interrupts.
711 * s-taprop-vxworks.adb: Delete Signal_Mask.
712 (Abort_Handler): change construction of mask to unblock exception
713 signals.
714
273adcdf
AC
7152011-08-02 Jerome Guitton <guitton@adacore.com>
716
717 * a-except-2005.adb (Raise_From_Signal_Handler): Call
718 Debug_Raise_Exception before propagation starts.
719
7202011-08-02 Eric Botcazou <ebotcazou@adacore.com>
721
722 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
723 to Restriction_Check_Required.
724 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
725 * sem_res.adb (Resolve_Call): Likewise.
726 * sem_attr.adb (Check_Stream_Attribute): Likewise.
727
7282011-08-02 Bob Duff <duff@adacore.com>
729
730 * stylesw.ads: Update comment.
731 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
732 * errout.ads: Remove obsolete comment.
733
7342011-08-02 Javier Miranda <miranda@adacore.com>
735
736 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
737 (Set_Is_Safe_To_Reevaluate): new procedure.
738 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
739 assignment is allowed on safe-to-reevaluate variables.
740 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
741 temporary created to remove side effects in expressions that use
742 the secondary stack as safe-to-reevaluate.
743 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
744 variables that are not true constants.
745
6320f5e1
AC
7462011-08-02 Robert Dewar <dewar@adacore.com>
747
748 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
749 sem_res.adb, sem_ch6.adb: Minor reformatting.
750
7512011-08-02 Jerome Guitton <guitton@adacore.com>
752
753 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
754
2fe829ae
ES
7552011-08-02 Ed Schonberg <schonberg@adacore.com>
756
757 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
758 not set Overridden_Operation if subprogram is an initialization
759 procedure.
760
e24329cd
YM
7612011-08-02 Yannick Moy <moy@adacore.com>
762
763 * par-ch6.adb: Correct obsolete name in comments
764 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
765 which takes two message arguments (existing function takes one), with
766 second message used for continuation.
767 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
768 block statements that originate from a source block statement, not
769 generated block statements
770 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
771 symmetry with procedure case
772 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
773 function to issue an error in formal mode if a package specification
774 contains more than one tagged type or type extension.
775 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
776 parameters matching formals of tagged types are objects (or ancestor
777 type conversions of objects), not general expressions. Issue an error
778 on view conversions that are not involving ancestor conversion of an
779 extended type.
780 (Resolve_Type_Conversion): in formal mode, issue an error on the
781 operand of an ancestor type conversion which is not an object
782 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
783 procedure so that it works also for actuals of function calls
784 (Is_Actual_Tagged_Parameter): new function which determines if its
785 argument is an actual parameter of a formal of tagged type in a
786 subprogram call
787 (Is_SPARK_Object_Reference): new function which determines if the tree
788 referenced by its argument represents an object in SPARK
789
176dadf6
AC
7902011-08-02 Robert Dewar <dewar@adacore.com>
791
792 * sem_ch3.adb: Minor reformatting
793 Minor comment addition
794 Minor error msg text change
795
7962011-08-02 Javier Miranda <miranda@adacore.com>
797
798 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
799 function. Used to be more precise when we generate a variable plus one
800 assignment to remove side effects in the evaluation of the Bound
801 expressions.
802 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
803 of the bound expression to force its re-analysis and thus expand the
804 associated transient scope (if required). Code cleanup replacing the
805 previous code that declared the constant entity by an invocation to
806 routine Force_Evaluation which centralizes this work in the frontend.
807
d8b962d8
AC
8082011-08-02 Robert Dewar <dewar@adacore.com>
809
810 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
811 (Base_Type): Now uses improved Is_Base_Type function
812 * einfo.ads (Base_Type): Inline this function
813
8142011-08-02 Robert Dewar <dewar@adacore.com>
815
816 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
817 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
818
8192011-08-02 Arnaud Charlet <charlet@adacore.com>
820
821 * gcc-interface/Make-lang.in: Update dependencies.
822 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
823 targets.
824
8252011-08-02 Yannick Moy <moy@adacore.com>
826
827 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
828 non-simple expression used in delta constraint
829 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
830 index constraint which is not a subtype mark
831 * par.adb: With and use Restrict
832 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
833 mode on component type which is not a subtype mark and default
834 expression on component
835 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
836 of string which does not have a lower index bound equal to 1
837 (Array_Type_Declaration): issue an error in formal mode on index or
838 component type which is not a subtype mark, and on aliased keyword on
839 component
840 (Derived_Type_Declaration): issue an error in formal mode on interface,
841 limited or abstract type
842 (Record_Type_Declaration): issue an error in formal mode on interface
843 (Record_Type_Definition): issue an error in formal mode on tagged types
844 and type extensions not declared in the specification of a library unit
845 package; on null non-tagged record; on variant part
846
8472011-08-02 Vincent Celier <celier@adacore.com>
848
849 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
850 not declared for qualified library project when Library_Name is not
851 declared, but Library_Dir is.
852
8532011-08-02 Robert Dewar <dewar@adacore.com>
854
855 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
856 pragmas (affects aspects [Component_]Default_Value
857 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
858 component type for the resolution
859
f96b2d85
AC
8602011-08-02 Eric Botcazou <ebotcazou@adacore.com>
861
862 * einfo.adb (Base_Type): Tune implementation for speed.
863
8642011-08-02 Robert Dewar <dewar@adacore.com>
865
866 * freeze.adb: Minor reformatting.
867
8b3c6430
AC
8682011-08-02 Thomas Quinot <quinot@adacore.com>
869
870 * scos.ads: Update comments.
871
8722011-08-02 Ed Schonberg <schonberg@adacore.com>
873
874 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
875 base type, because the parent may be a subtype of a private type whose
876 convention is established in a private part.
877
8782011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
879
880 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
881 statement in a block when the expansion of the return expression has
882 created a finalization chain.
883 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
884 with the parent node.
885 Add N_Extended_Return_Statement to handle the case where a transient
886 object declaration appears in the Return_Object_Declarations list of
887 an extended return statement.
888
8892011-08-02 Matthew Gingell <gingell@adacore.com>
890
891 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
892 unused parameter 'name'.
893
8942011-08-02 Ed Schonberg <schonberg@adacore.com>
895
896 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
897 inherited operation, check whether its alias, which is the source
898 operastion that it renames, has been marked eliminated.
899
cae81f17
JM
9002011-08-02 Javier Miranda <miranda@adacore.com>
901
902 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
903 in-mode parameter whose type is an access type since it can be used to
904 modify its designated object. Enforce code that handles as safe an
905 access type that is not access-to-constant but it is the result of a
906 previous removal of side-effects.
907 (Remove_Side_Effects): Minor code reorganization of cases which require
908 no action. Done to incorporate documentation on new cases uncovered
909 working in this ticket: no action needed if this routine was invoked
910 too early and the nodes are not yet decorated.
911 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
912 to routine Remove_Side_Effects by calls to Force_Evaluation since they
913 were issued with actuals that are implicitly provided by
914 Force_Evaluation.
915
218e6dee
RD
9162011-08-02 Robert Dewar <dewar@adacore.com>
917
918 * sem_ch3.adb, sem_res.adb: Minor reformatting.
919
7a489a2b
AC
9202011-08-02 Yannick Moy <moy@adacore.com>
921
922 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
923 to issue an error in formal mode on attribute not supported in this mode
924 (Analyze_Attribute): issue errors on standard attributes not supported
925 in formal mode.
926 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
927 comment, and issue error in formal mode on modulus which is not a power
928 of 2.
929 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
930 range.
931 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
932 subtype mark.
933 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
934 operator on modular type (except 'not').
935
9362011-08-02 Robert Dewar <dewar@adacore.com>
937
938 * gnat_rm.texi: Minor reformatting.
939
cb7fa356
AC
9402011-08-02 Arnaud Charlet <charlet@adacore.com>
941
942 * s-osinte-linux.ads: Minor comment update and reformatting.
943 * i-cexten.ads: Make this unit pure, as for its parent.
944 Will allow its usage in more contexts if needed.
945
9462011-08-02 Robert Dewar <dewar@adacore.com>
947
948 * s-utf_32.ads: Minor comment fix.
949
9502011-08-02 Ed Schonberg <schonberg@adacore.com>
951
952 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
953 operation of a tagged synchronized type, handle the case where the
954 controlling argument is overloaded.
955
9562011-08-02 Yannick Moy <moy@adacore.com>
957
958 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
959 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
960 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
961 SPARK mode and formal verification mode on processing SPARK restriction
962 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
963 requiring consistency checking.
964
5cc9353d
RD
9652011-08-02 Robert Dewar <dewar@adacore.com>
966
967 * sem_res.adb: Minor reformatting.
968
e51537ff
RD
9692011-08-02 Robert Dewar <dewar@adacore.com>
970
971 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
972 a-cforse.ads: Remove unneeded with of Ada.Containers
973 Remove commented out pragma Inline's
974 Move specifications of new subprograms to the actual specs
975
83fa09c5
AC
9762011-08-02 Yannick Moy <moy@adacore.com>
977
978 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
979 a-cforse.ads: Update comments.
980
9812011-08-02 Ed Schonberg <schonberg@adacore.com>
982
983 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
984
d11cfaf8
RD
9852011-08-02 Robert Dewar <dewar@adacore.com>
986
987 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
988 a-cforse.ads, a-cofove.ads: Minor reformatting.
989
300b98bb
AC
9902011-08-02 Claire Dross <dross@adacore.com>
991
992 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
993 a-cofove.ads: Add comments.
994
9952011-08-02 Yannick Moy <moy@adacore.com>
996
997 * gnat_rm.texi: Document formal containers.
998
9992011-08-02 Emmanuel Briot <briot@adacore.com>
1000
1001 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
1002 are empty sections.
1003
19fb051c
AC
10042011-08-02 Robert Dewar <dewar@adacore.com>
1005
1006 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
1007 reformatting.
1008
10092011-08-02 Robert Dewar <dewar@adacore.com>
1010
1011 * aspects.adb: New aspects Default_Value and Default_Component_Value
1012 New format of Aspect_Names table checks for omitted entries
1013 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
1014 handling of boolean aspects for derived types.
1015 New aspects Default_Value and Default_Component_Value
1016 New format of Aspect_Names table checks for omitted entries
1017 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
1018 (Has_Default_Value): New flag
1019 (Has_Default_Component_Value): New flag
1020 (Has_Default_Value): New flag
1021 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
1022 table.
1023 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
1024 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
1025 Default_Value and Default_Component_Value
1026 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
1027 New aspects Default_Value and Default_Component_Value
1028 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
1029 * sprint.adb: Print N_Aspect_Specification node when called from gdb
1030
10312011-08-02 Vincent Celier <celier@adacore.com>
1032
1033 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
1034 inherit library kind.
1035
10362011-08-02 Ed Schonberg <schonberg@adacore.com>
1037
1038 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
1039 Minor reformatting.
1040
10412011-08-02 Robert Dewar <dewar@adacore.com>
1042
1043 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
1044
5f7747af
AC
10452011-08-02 Yannick Moy <moy@adacore.com>
1046
1047 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
1048
10492011-08-02 Robert Dewar <dewar@adacore.com>
1050
1051 * impunit.adb: Add comment.
1052
a5fe697b
AC
10532011-08-02 Yannick Moy <moy@adacore.com>
1054
1055 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
1056 qualification of aggregates in formal mode
1057 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
1058 another aggregate
1059 (Resolve_Aggregate): complete the test that an aggregate is adequately
1060 qualified in formal mode
1061
10622011-08-02 Pascal Obry <obry@adacore.com>
1063
1064 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
1065 * mlib-prj.adb: Supress warning when compiling binder generated file.
1066 (Build_Library): Supress all warnings when compiling the binder
1067 generated file.
1068
bd65a2d7 10692011-08-02 Yannick Moy <moy@adacore.com>
d4487611 1070
bd65a2d7
AC
1071 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
1072 from here...
1073 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
1074 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
1075 Add with/use clauses to make Check_Formal_Restriction visible
1076
10772011-08-02 Ed Schonberg <schonberg@adacore.com>
1078
1079 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
1080 in-parameters when type of the generic formal is private in the generic
1081 spec and non-private in the body.
1082
10832011-08-02 Claire Dross <dross@adacore.com>
1084
1085 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
1086 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
1087 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
1088 * impunit.adb, Makefile.rtl: Take new files into account.
d4487611
AC
1089
10902011-08-02 Robert Dewar <dewar@adacore.com>
1091
1092 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
1093 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
1094
bd434b3f
YM
10952011-08-02 Yannick Moy <moy@adacore.com>
1096
1097 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
1098 formal mode
1099 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
1100 matching static array bounds, taking into account the special case of
1101 string literals
1102 * sem_ch3.adb: Typo in comment.
1103
fe5d3068
YM
11042011-08-02 Yannick Moy <moy@adacore.com>
1105
1106 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
1107 which issues an error in formal mode if its argument node is originally
1108 from source
1109 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
1110 has a discriminant specification so that it does not include the case
1111 of derived types
1112 (Derived_Type_Declaration): move here the test that a derived type has a
1113 discriminant specification
1114 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
1115 first element of a component association before accessing its choices
1116 (presence of component association is not enough)
1117 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
1118 declaration is a library item before accessing the next element in a
1119 list, as library items are not member of lists
1120 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
1121 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
1122 Check_Formal_Restriction whenever possible.
1123
b60a3f26
AC
11242011-08-02 Ed Schonberg <schonberg@adacore.com>
1125
1126 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
1127 reference when needed.
1128
11292011-08-02 Bob Duff <duff@adacore.com>
1130
1131 * gnat_ugn.texi: Fix typo.
1132
11332011-08-02 Vincent Celier <celier@adacore.com>
1134
1135 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
1136 archive file name. Do not use the full path name of archives for Open
1137 VMS.
1138
eaba57fb
RD
11392011-08-02 Robert Dewar <dewar@adacore.com>
1140
1141 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
1142 Analyze_Aspect_Specifications
1143 * sem_ch13.adb
1144 (Analyze_Aspect_Specifications): New handling for boolean aspects
1145 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
1146 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
1147 sequence for Analyze_Aspect_Specifications
1148 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
1149 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
1150
11512011-08-02 Robert Dewar <dewar@adacore.com>
1152
1153 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
1154 aspects, since these no longer exist.
1155
11562011-08-02 Robert Dewar <dewar@adacore.com>
1157
1158 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
1159 semicolon, do not try to see if there are aspects following it.
1160 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
1161 aspect spec.
1162
8830d1d2
AC
11632011-08-02 Robert Dewar <dewar@adacore.com>
1164
1165 * sem_ch8.adb, aspects.ads: Minor reformatting.
1166
11672011-08-02 Eric Botcazou <ebotcazou@adacore.com>
1168
1169 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
1170 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
1171 extracted from...
1172 (Analyze_Aspect_Specifications): ...here. Call above procedure.
1173
7ff2d234
AC
11742011-08-02 Yannick Moy <moy@adacore.com>
1175
1176 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
1177 mode on subprogram declaration outside of package specification, unless
1178 it is followed by a pragma Import
1179 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
1180 Access_Type_Declaration): issue error in formal mode on access type
1181 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
1182 incomplete type
1183 (Analyze_Object_Declaration): issue error in formal mode on object
1184 declaration which does not respect SPARK restrictions
1185 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
1186 declaration which does not respect SPARK restrictions
1187 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
1188 error in formal mode on digits or delta constraint
1189 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
1190 decimal fixed point type
1191 (Derived_Type_Declaration): issue error in formal mode on derived type
1192 other than type extensions of tagged record types
1193 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
1194 with check on access definition
1195 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
1196 mode on protected definition.
1197 (Analyze_Task_Definition): issue error in formal mode on task definition
1198
11992011-08-02 Robert Dewar <dewar@adacore.com>
1200
1201 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
1202
806f6d37
AC
12032011-08-02 Javier Miranda <miranda@adacore.com>
1204
1205 * sem_ch6.adb (Can_Override_Operator): New function.
1206 (Verify_Overriding_Indicator): Add missing code to check overriding
1207 indicator in operators. Fixes regression.
1208 (Check_Overriding_Indicator): Minor reformating after replacing the
1209 code that evaluates if the subprogram can override an operator by
1210 invocations to the above new function.
1211 * einfo.adb
1212 (Write_Field26_Name): Add missing code to ensure that, following
1213 the documentation in einfo.ads, this field is not shown as attribute
1214 "Static_Initialization" on non-dispatching functions.
1215
12162011-08-02 Jose Ruiz <ruiz@adacore.com>
1217
1218 * sem_res.adb (Resolve_Call): A call to
1219 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
1220 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
1221 i.e., when the second parameter is of type Time_Span.
1222
12232011-08-02 Vincent Celier <celier@adacore.com>
1224
1225 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
1226 with an archive instead of -L<library dir> -l<library name>.
1227
12282011-08-02 Ed Schonberg <schonberg@adacore.com>
1229
1230 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
1231 mark the base types In_Use in addition to making the operations
1232 use_visible.
1233
12342011-08-02 Ed Falis <falis@adacore.com>
1235
1236 * init.c: add and setup __gnat_signal_mask for the exception signals
1237 * s-inmaop-vxworks.adb: new file.
1238 * s-intman-vxworks.adb: remove unnecessary initializations and
1239 simplify remaining
1240 * s-intman-vxworks.ads: remove unnecessary variable
1241 * s-taprop-vxworks.adb: simplify signal initialization
1242
780d052e
RD
12432011-08-02 Robert Dewar <dewar@adacore.com>
1244
1245 * sem_ch8.adb: Minor code reorganization, comment updates.
1246
12472011-08-02 Robert Dewar <dewar@adacore.com>
1248
1249 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
1250 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
1251 here from Sem_Res.
1252 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
1253 (Matching_Static_Array_Bounds): Moved here from Sem_Res
1254
29efbb8c
ES
12552011-08-02 Ed Schonberg <schonberg@adacore.com>
1256
1257 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
1258 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
1259 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
1260 use_type_clauses, to handle more efficiently use_type and use_all_type
1261 constructs.
1262 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
1263 Ada2012 Use_All_Type clause.
1264 (Use_Class_Wide_Operations): new procedure.
1265
b0186f71
AC
12662011-08-02 Robert Dewar <dewar@adacore.com>
1267
1268 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
1269 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
1270 expression to expression function.
1271
12722011-08-02 Ed Schonberg <schonberg@adacore.com>
1273
1274 * sem_ch4.adb: transform simple Ada2012 membership into equality only
1275 if types are compatible.
1276
12772011-08-02 Yannick Moy <moy@adacore.com>
1278
1279 * sem_res.adb (Matching_Static_Array_Bounds): new function which
1280 returns True if its argument array types have same dimension and same
1281 static bounds at each index.
1282 (Resolve_Actuals): issue an error in formal mode on actuals passed as
1283 OUT or IN OUT paramaters which are not view conversions in SPARK.
1284 (Resolve_Arithmetic_Op): issue an error in formal mode on
1285 multiplication or division with operands of fixed point types which are
1286 not qualified or explicitly converted.
1287 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
1288 Boolean or array type (except String) operands.
1289 (Resolve_Equality_Op): issue an error in formal mode on equality
1290 operators for array types other than String with non-matching static
1291 bounds.
1292 (Resolve_Logical_Op): issue an error in formal mode on logical operators
1293 for array types with non-matching static bounds. Factorize the code in
1294 Matching_Static_Array_Bounds.
1295 (Resolve_Qualified_Expression): issue an error in formal mode on
1296 qualified expressions for array types with non-matching static bounds.
1297 (Resolve_Type_Conversion): issue an error in formal mode on type
1298 conversion for array types with non-matching static bounds
1299
767bb4e8
AC
13002011-08-02 Robert Dewar <dewar@adacore.com>
1301
1302 * par-ch10.adb: Minor code reorganization (use Nkind_In).
1303
13042011-08-02 Ed Schonberg <schonberg@adacore.com>
1305
1306 * par-ch9.adb: save location of entry for proper error message.
1307
4ac2477e
JM
13082011-08-02 Javier Miranda <miranda@adacore.com>
1309
1310 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
1311 (Use_Full_View) which permits this routine to climb through the
1312 ancestors using the full-view of private parents.
1313 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
1314 Use_Full_View to true in calls to Is_Ancestor.
1315 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
1316 true in call to Is_Ancestor.
1317 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
1318 Use_Full_View to true in call to Is_Ancestor.
1319 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
1320 call to Is_Ancestor.
1321 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
1322 Use_Full_View to true in calls to Is_Ancestor.
1323 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
1324 Make_Select_Specific_Data_Table, Register_Primitive,
1325 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
1326 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
1327 to true in call to Is_Ancestor.
1328 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
1329 Use_Full_View to true in calls to Is_Ancestor.
1330 * exp_cg.adb
1331 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
1332 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
1333
9f90d123
AC
13342011-08-02 Robert Dewar <dewar@adacore.com>
1335
1336 * gnat_rm.texi: Minor reformatting.
1337 * sem_prag.adb: Minor reformatting.
1338
13392011-08-02 Tristan Gingold <gingold@adacore.com>
1340
1341 * vms_data.ads: Add VMS qualifier for -gnateP.
1342
13432011-08-02 Robert Dewar <dewar@adacore.com>
1344
1345 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
1346 * par-ch7.adb (P_Package): Proper placement of aspects for package
1347 decl/instantiation.
1348 * par-endh.adb (Check_End): Ad Is_Sloc parameter
1349 (End_Statements): Add Is_Sloc parameterr
1350 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
1351 (Check_End): Ad Is_Sloc parameter
1352 (End_Statements): Add Is_Sloc parameterr
1353
13542011-08-02 Vincent Celier <celier@adacore.com>
1355
1356 * ug_words: Add VMS qualifier equivalent to -gnateP:
1357 /SYMBOL_PREPROCESSING.
1358
13592011-08-02 Jose Ruiz <ruiz@adacore.com>
1360
1361 * gnat-style.texi: For hexadecimal numeric literals the typical
1362 grouping of digits is 4 to represent 2 bytes.
1363 A procedure spec which is split into several lines is indented two
1364 characters.
1365
13662011-08-02 Yannick Moy <moy@adacore.com>
1367
1368 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
1369 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
1370 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
1371 properly qualified
1372 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
1373 choice in array aggregate
1374 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
1375 mark as ancestor
1376 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
1377 positional and named aggregate for record, or others in record
1378 aggregate, or multiple choice in record aggregate
1379 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
1380 array operands to logical operations AND, OR and XOR do not have the
1381 same static lower and higher bounds
1382 * sem_ch5.adb, sinfo.ads: Correct typos in comments
1383
2933b16c
RD
13842011-08-01 Robert Dewar <dewar@adacore.com>
1385
1386 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
1387 Replaces Last_Source_Node_In_Sequence.
1388 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
1389 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
1390 parens and blank in string (this was inconsistently implemented).
1391 * errout.ads
1392 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
1393 blank in string (this was inconsistently implemented).
1394 * gnat1drv.adb
1395 (Set_Global_Switches): Set formal mode switches appropriately
1396 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
1397 * par-prag.adb
1398 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
1399 call Set_Error_Msg_Lang to set "spark" as language name.
1400 * par.adb: Remove unnecessary call to set formal language for errout
1401 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
1402 appropriately and call Set_Error_Msg_Lang to set "spark" as language
1403 name.
1404 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
1405 calls to it, moved after resolution so that types are known
1406 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
1407 result of concatenation is not of type String
1408 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
1409 concatenation is not properly restricted
1410 * gnat_rm.texi: Add doc on pragma Spark_95.
1411 * gcc-interface/Makefile.in: Remove obsolete target pairs for
1412 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
1413 * gcc-interface/Make-lang.in: Update dependencies.
1414
05dbd302
AC
14152011-08-01 Javier Miranda <miranda@adacore.com>
1416
1417 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
1418 condition that detects if the overridden operation must replace an
1419 existing entity.
1420
14212011-08-01 Javier Miranda <miranda@adacore.com>
1422
1423 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
1424 code declarations inserted by Insert_Actions in each alternative of the
1425 N_Case_Expression node.
1426
14272011-08-01 Robert Dewar <dewar@adacore.com>
1428
1429 * sem_ch6.adb: Minor code reorganization.
1430 * sem_util.adb: Minor reformatting.
1431
af9e051f
PO
14322011-08-01 Pascal Obry <obry@adacore.com>
1433
1434 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
1435 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
1436
1d801f21
AC
14372011-08-01 Yannick Moy <moy@adacore.com>
1438
1439 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
1440 literal or operator symbol which is prefixed
1441 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
1442 mode on access attributes.
1443 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
1444 that concatenation operands are properly restricted in formal mode
1445 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
1446 Analyze_Concatenation_Operand. Issue an error in formal mode if the
1447 result of the concatenation has a type different from String.
1448 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
1449 Analyze_Quantified_Expression, Analyze_Slice,
1450 Analyze_Null): issue an error in formal mode on unsupported constructs
1451 * sem_ch5.adb
1452 (Analyze_Block_Statement): only issue error on source block statement
1453 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
1454 function which returns the last node in a list of nodes for which
1455 Comes_From_Source returns True, if any
1456 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
1457 Last_Source_Node_In_Sequence
1458 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
1459 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
1460 mode on unsupported constructs
1461 * sem_ch9.adb Do not return after issuing error in formal mode, as the
1462 rest of the actions may be needed later on since the error is marked as
1463 not serious.
1464 * sinfo.ads: Typos in comments.
1465
14662011-08-01 Pascal Obry <obry@adacore.com>
1467
1468 * projects.texi: Minor editing.
1469
53beff22
YM
14702011-08-01 Yannick Moy <moy@adacore.com>
1471
1472 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
1473 insertion character ~~
1474 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
1475 (Set_Error_Msg_Lang): new procedure which fixes the language for use
1476 with insertion character ~~
1477 (Set_Msg_Text): treat insertion character ~~
1478 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
1479 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
1480 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
1481 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
1482 errors related to the formal language restriction not serious
1483 (insertion character |).
1484 * par.adb (Par): set formal language for error messages if needed
1485 * sem_ch6.adb (Check_Missing_Return): take into account possible
1486 generated statements at the end of the function
1487 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
1488 enumeration value to define a new pragma SPARK_95
1489 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
1490 SPARK_Version): new type and variables to store the SPARK version
1491 (none by default).
1492 (SPARK_Mode): return True when SPARK_Version is set
1493 * par-prag.adb: Correct indentation
1494 (Prag): take Pragma_SPARK_95 into account
1495 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
1496 into account.
1497
8d606a78
RD
14982011-08-01 Robert Dewar <dewar@adacore.com>
1499
1500 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
1501 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
1502 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
1503
1982d5a8
PO
15042011-08-01 Pascal Obry <obry@adacore.com>
1505
1506 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
1507 Target_Name to Get_Path call.
1508 (Parse_Single_Project): Likewise.
1509 (Post_Parse_Context_Clause): Likewise.
1510 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
1511 Call Initialise_Project_Path with the proper Target_Name.
1512 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
1513 search path.
1514 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
1515 with the proper Target_Name.
1516 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
1517 Part.Parse routine.
1518 (Parse_Project_And_Apply_Config): Likewise.
1519 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
1520 This is fine as this part of the code is supporting only native
1521 compilation.
1522 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
1523 is fine as this part of the code is supporting only native compilation.
1524
0d53d36b
AC
15252011-08-01 Yannick Moy <moy@adacore.com>
1526
1527 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
1528 of homonym, unless the homonym is one of the cases allowed in SPARK
1529 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
1530 package declaration occurring after a body.
1531
15322011-08-01 Robert Dewar <dewar@adacore.com>
1533
1534 * checks.adb, exp_ch4.adb: Minor reformatting.
1535
15362011-08-01 Javier Miranda <miranda@adacore.com>
1537
1538 * einfo.ads (Access_Disp_Table): Fix documentation.
1539 (Dispatch_Table_Wrappers): Fix documentation.
1540
15412011-08-01 Pascal Obry <obry@adacore.com>
1542
1543 * prj-env.adb, prj-env.ads: Minor reformatting.
1544
8ed68165
AC
15452011-08-01 Yannick Moy <moy@adacore.com>
1546
1547 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
1548 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
1549 procedures out of these packages.
1550 * errout.ads, errout.adb
1551 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
1552 procedures in of this package
1553 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
1554 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
1555 on misplaced later vs initial declarations, like in Ada 83
1556 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
1557 formal mode on attribute of private type whose full type declaration
1558 is not visible
1559 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
1560 package declaration inside a package specification
1561 (Analyze_Full_Type_Declaration): issue error in formal mode on
1562 controlled type or discriminant type
1563 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
1564 user-defined operator means that it should come from the source
1565 (New_Overloaded_Entity): issue error in formal mode on overloaded
1566 entity.
1567 * sem_ch6.ads, sem_ch13.ads: typos in comments.
1568
15692011-08-01 Thomas Quinot <quinot@adacore.com>
1570
1571 * atree.adb: Minor reformatting.
1572 * checks.adb: Minor reformatting.
1573
4230bdb7
AC
15742011-08-01 Vincent Celier <celier@adacore.com>
1575
1576 * s-parame-vms-ia64.ads: Fix typo in comment
1577 Minor reformatting
1578 * s-parame-vms-restrict.ads: Removed, unused.
1579
15802011-08-01 Javier Miranda <miranda@adacore.com>
1581
1582 * exp_ch3.adb
1583 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
1584 * sem_ch3.adb
1585 (Constrain_Index): Remove side effects in the evaluation of the bounds.
1586 * sem_ch3.ads, sem_ch3.adb
1587 (Is_Constant_Bound): New extended version of the subprogram that was
1588 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
1589 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
1590 * sem_aux.ads (Constant_Value): Fix typo in comment.
1591 * checks.adb (Generate_Index_Checks): New implementation which, for
1592 array objects with constant bounds, generates the runtime check
1593 referencing the bounds of the array type. For other cases this routine
1594 provides its previous behavior obtaining such values from the array
1595 object.
1596 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
1597 parent type.
1598 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
1599 we cannot have semantic interpretations of the new node.
1600
2010d078
AC
16012011-08-01 Ed Schonberg <schonberg@adacore.com>
1602
1603 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
1604 expressions.
1605
16062011-08-01 Arnaud Charlet <charlet@adacore.com>
1607
1608 * sem_ch8.adb: Minor code editing.
1609 * s-vxwext.adb: Remove trailing space.
1610 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
1611 consistency with other files.
1612
16132011-08-01 Thomas Quinot <quinot@adacore.com>
1614
1615 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
1616
16172011-08-01 Ed Schonberg <schonberg@adacore.com>
1618
1619 * par-ch10.adb: reject parameterized expressions as compilation unit.
1620 * sem_ch4.adb: handle properly conditional expression with overloaded
1621 then_clause and no else_clause.
1622
16232011-08-01 Tristan Gingold <gingold@adacore.com>
1624
1625 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
1626 like done by System.Aux_DEC.
1627 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
1628
daec8eeb
YM
16292011-08-01 Yannick Moy <moy@adacore.com>
1630
1631 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
1632 missing label at end of declaration (subprogram or package)
1633 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
1634 of positional and named parameter association
1635 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
1636 Error_Msg_SP which adds a prefix to the error message giving the name
1637 of the formal language analyzed
1638 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
1639 access result type in subprogram, unconstrained array as result type,.
1640 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
1641 procedure
1642 * sem_ch8.adb: Code clean up.
1643
38171f43
AC
16442011-08-01 Javier Miranda <miranda@adacore.com>
1645
1646 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
1647 * einfo.ads (Access_Disp_Table): Fix documentation.
1648 (Dispatch_Table_Wrappers): Fix documentation.
1649 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
1650 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
1651 to enforce the documentation of this attribute.
1652 (Set_Is_Interface): Cleanup the assertion.
1653 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
1654 the Underlying_Type entity before reading attribute Access_Disp_Table.
1655 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
1656 Locate the Underlying_Type before reading attribute Access_Disp_Table.
1657 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
1658 the Underlying_Type entity before reading attribute Access_Disp_Table.
1659 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
1660 Locate the Underlying_Type entity before reading attribute
1661 Access_Disp_Table.
1662
16632011-08-01 Ed Schonberg <schonberg@adacore.com>
1664
1665 * s-poosiz.ads: Additional overriding indicators.
1666
16672011-08-01 Yannick Moy <moy@adacore.com>
1668
1669 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
1670 formal mode.
1671 (Analyze_Iteration_Scheme): issue error in formal mode when loop
1672 parameter specification does not include a subtype mark.
1673 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
1674 formal mode on abstract subprogram.
1675 (Analyze_Subprogram_Specification): issue error in formal mode on
1676 user-defined operator.
1677 (Process_Formals): issue error in formal mode on access parameter and
1678 default expression.
1679 * sem_ch9.adb (Analyze_Abort_Statement,
1680 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
1681 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
1682 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
1683 Analyze_Requeue, Analyze_Selective_Accept,
1684 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
1685 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
1686 issue error in formal mode on user-defined raise statement.
1687
1f250383
AC
16882011-08-01 Thomas Quinot <quinot@adacore.com>
1689
1690 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
1691 declaration being hidden when overriding an implicit inherited
1692 subprogram.
1693 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
1694 (-gnats), do not complain about a source file that contains only a
1695 pragma No_Body.
1696
16972011-08-01 Ed Schonberg <schonberg@adacore.com>
1698
1699 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
1700 variable if already set.
1701
607d0635
AC
17022011-08-01 Arnaud Charlet <charlet@adacore.com>
1703
1704 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
1705 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
1706 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
1707 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
1708 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
1709 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
1710 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
1711 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
1712 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
1713 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
1714 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
1715 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
1716 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
1717 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
1718 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
1719 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
1720 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
1721 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
1722 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
1723 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
1724 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
1725 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
1726 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
1727 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
1728 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
1729 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
1730 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
1731 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
1732 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
1733 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
1734 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
1735 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
1736 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
1737 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
1738 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
1739 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
1740 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
1741 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
1742 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
1743 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
1744 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
1745 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
1746 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
1747 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
1748 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
1749 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
1750 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
1751 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
1752 s-osinte-mingw.ads: Update to GPLv3 run-time license.
1753 Use GNAT instead of GNARL.
1754
17552011-08-01 Bob Duff <duff@adacore.com>
1756
1757 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
1758 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
1759 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
1760 reformatting.
1761
17622011-08-01 Yannick Moy <moy@adacore.com>
1763
1764 * debug.adb (d.D) reverve flag for the SPARK mode
1765 (d.E) reverve flag for SPARK generation mode
1766 (d.F) reverve flag for Why generation mode
1767 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
1768 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
1769 functions which return True when the corresponding modes are set
1770 (Formal_Language): return "spark" or "alfa" when in formal verification
1771 mode.
1772 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
1773 Error_Msg to prefix the error message with a tag giving the formal
1774 language
1775 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
1776 message with a tag giving the formal language
1777 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
1778 block statement
1779 (Analyze_Case_Statement): issue error in formal mode on case statement
1780 with a single "others" case alternative
1781 (Analyze_Exit_Statement): issue errors in formal mode on exit
1782 statements which do not respect SPARK restrictions
1783 (Analyze_Goto_Statement): issue error in formal mode on goto statement
1784 (Check_Unreachable_Code): always issue an error (not a warning) in
1785 formal mode on unreachable code (concerns both code after an infinite
1786 loop and after an unconditional jump, both not allowed in SPARK)
1787 * sem_ch6.adb (Analyze_Return_Statement): add call to
1788 Set_Return_Present for a procedure containing a return statement
1789 (already done for functions in Analyze_Function_Return)
1790 (Analyze_Function_Return): issue error in formal mode on extended
1791 return or if return is not last statement in function
1792 (Check_Missing_Return): issue error in formal mode if function does
1793 not end with return or if procedure contains a return
1794 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
1795 function to detect if there is an inner scope of its parameter S which
1796 is a loop.
1797
17982011-08-01 Thomas Quinot <quinot@adacore.com>
1799
1800 * sem_ch6.ads: Minor reformatting.
1801
d8b3ccb9
AC
18022011-08-01 Javier Miranda <miranda@adacore.com>
1803
1804 * sem_util.adb (Abstract_Interface_List): Complete condition when
1805 processing private type declarations to avoid reading unavailable
1806 attribute.
1807 (Is_Synchronized_Tagged_Type): Complete condition when processing
1808 private extension declaration nodes to avoid reading unavailable
1809 attribute.
1810
18112011-08-01 Thomas Quinot <quinot@adacore.com>
1812
1813 * sem_ch3.adb: Minor reformatting.
1814
18152011-08-01 Thomas Quinot <quinot@adacore.com>
1816
1817 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
1818 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
1819 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
1820 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
1821 for VMS, instead parametrize the common implementation with
1822 System.Parameters declarations.
1823
0bb9276c
AC
18242011-08-01 Eric Botcazou <ebotcazou@adacore.com>
1825
1826 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
1827
18282011-08-01 Tristan Gingold <gingold@adacore.com>
1829
1830 * seh_init.c: Fix SEH handler installation on win64.
1831
18322011-08-01 Ed Schonberg <schonberg@adacore.com>
1833
1834 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
1835 double analysis of an anonymous access to subprogram, because it can
1836 lead to improper sharing of profiles and a back-end crash.
1837
6a2e4f0b
AC
18382011-08-01 Robert Dewar <dewar@adacore.com>
1839
1840 * make.adb, sem_ch4.adb: Minor reformatting.
1841 * gcc-interface/Make-lang.in: Update dependencies.
1842 * sem_util.adb, exp_ch5.adb: Minor reformatting.
1843
18442011-08-01 Arnaud Charlet <charlet@adacore.com>
1845
1846 * gnat_rm.texi: Fix definition of Long_Integer.
1847
18482011-08-01 Ed Schonberg <schonberg@adacore.com>
1849
1850 * exp_aggr.adb: check limit size of static aggregate unconditionally,
1851 to prevent storage exhaustion.
1852 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
1853 finalized is a function body, insert the cleanup code before the final
1854 return statement, to prevent spurious warnings.
1855 * s-pooglo.ads: add overriding indicator.
1856
4561baf7
ES
18572011-08-01 Ed Schonberg <schonberg@adacore.com>
1858
1859 * sem_ch4.adb (Operator_Check): improve error message when both a
1860 with_clause and a use_clause are needed to make operator usage legal.
1861 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
1862 determine whether a compilation unit is visible within an other,
1863 either through a with_clause in the current unit, or a with_clause in
1864 its library unit or one one of its parents.
1865
383e179e
AC
18662011-08-01 Ed Schonberg <schonberg@adacore.com>
1867
1868 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
1869 over an arbitrary expression of an array or container type.
1870 * lib-xref.adb: clarify comment.
1871
18722011-08-01 Bob Duff <duff@adacore.com>
1873
1874 * einfo.ads: Minor reformatting.
1875 * debug.adb: Minor comment improvement.
1876
18772011-08-01 Javier Miranda <miranda@adacore.com>
1878
1879 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
1880 consider hidden subprograms as valid candidates.
1881
18822011-08-01 Arnaud Charlet <charlet@adacore.com>
1883
1884 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
1885
18862011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
1887
1888 * gnat_ugn.texi: Fix typo.
1889
61c161b2
AC
18902011-08-01 Robert Dewar <dewar@adacore.com>
1891
1892 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
1893 lib-xref.adb: Minor reformatting
1894
18952011-08-01 Gary Dismukes <dismukes@adacore.com>
1896
1897 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
1898 when to generate a call to Move_Final_List.
1899 (Has_Controlled_Parts): Remove this function.
1900
84df40f7
AC
19012011-08-01 Geert Bosch <bosch@adacore.com>
1902
1903 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
1904 "," in choice list.
1905
19062011-08-01 Thomas Quinot <quinot@adacore.com>
1907
1908 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
1909 explicit raise of a predefined exception as Comes_From_Source if the
1910 original N_Raise_Statement comes from source.
1911
19122011-08-01 Robert Dewar <dewar@adacore.com>
1913
1914 * sinfo.ads: Add comment.
1915 * sem_ch6.adb: Minor reformatting.
1916
19172011-08-01 Robert Dewar <dewar@adacore.com>
1918
1919 * freeze.adb (Freeze_Entity): Refine check for bad component size
1920 clause to avoid rejecting confirming clause when atomic/aliased present.
1921
19222011-08-01 Ed Schonberg <schonberg@adacore.com>
1923
1924 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
1925 better determine whether an entity reference is a write.
1926 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
1927 subcomponent.
1928 * lib-xref.adb (Output_References): Do no suppress a read reference at
1929 the same location as an immediately preceeding modify-reference, to
1930 handle properly in-out actuals.
1931
19322011-08-01 Tristan Gingold <gingold@adacore.com>
1933
1934 * env.c (__gnat_setenv) [VMS]: Refine previous change.
1935
19362011-08-01 Quentin Ochem <ochem@adacore.com>
1937
1938 * i-cstrin.adb (New_String): Changed implementation, now uses only the
1939 heap to compute the result.
1940
c7f0d2c0
AC
19412011-08-01 Robert Dewar <dewar@adacore.com>
1942
1943 * atree.ads: Minor reformatting.
1944
19452011-08-01 Emmanuel Briot <briot@adacore.com>
1946
1947 * g-expect.adb (Get_Command_Output): Fix memory leak.
1948
19492011-08-01 Geert Bosch <bosch@adacore.com>
1950
1951 * cstand.adb (P_Float_Type): New procedure to print the definition of
1952 predefined fpt types.
1953 (P_Mixed_Name): New procedure to print a name using mixed case
1954 (Print_Standard): Use P_Float_Type for printing floating point types
1955 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
1956 precision IEEE float.
1957
19582011-08-01 Thomas Quinot <quinot@adacore.com>
1959
1960 * sem_ch3.adb: Minor reformatting.
1961
19622011-08-01 Ed Schonberg <schonberg@adacore.com>
1963
1964 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
1965 the completion of a generic function, insert the new body rather than
1966 rewriting the original.
1967
19682011-08-01 Yannick Moy <moy@adacore.com>
1969
1970 * sinfo.ads, errout.ads: Typos in comments.
1971
1c54829e
AC
19722011-08-01 Robert Dewar <dewar@adacore.com>
1973
1974 * par-endh.adb: Minor reformatting.
1975
19762011-08-01 Robert Dewar <dewar@adacore.com>
1977
1978 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
1979 (Pre_Post_Aspects): New subtype.
1980 * par-ch12.adb (P_Generic): New syntax for aspects in packages
1981 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
1982 * par-ch7.adb (P_Package): Remove Decl parameter
1983 (P_Package): Handle new syntax for aspects (before IS)
1984 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
1985 new aspect syntax
1986 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
1987 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
1988 (P_Package): Remove Decl parameter
1989 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
1990 aspects
1991 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
1992 specs
1993 * sem_util.ads, sem_util.adb (Static_Boolean): New function
1994 * sinfo.ads: Document new syntax for aspects in packages etc.
1995 * sprint.adb: Handle new syntax of aspects before IS in package
1996
19972011-08-01 Thomas Quinot <quinot@adacore.com>
1998
1999 * atree.ads: Minor reformatting.
2000 * sem_prag.adb: Minor reformatting.
2001
20022011-08-01 Robert Dewar <dewar@adacore.com>
2003
2004 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
2005 case expr alternative.
2006
20072011-08-01 Ed Schonberg <schonberg@adacore.com>
2008
2009 * sem_ch12.adb: Fix typo.
2010
9eea4346
GB
20112011-08-01 Geert Bosch <bosch@adacore.com>
2012
2013 * sem_prag.adb (Check_No_Link_Name): New procedure.
2014 (Process_Import_Or_Interface): Use Check_No_Link_Name.
2015 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
2016 instead of Standard_Long_Long_Float_Size global. Preparation for
2017 eventual removal of per type constants.
2018 * exp_util.ads (Get_Stream_Size): New function returning the stream
2019 size value of subtype E.
2020 * exp_util.adb (Get_Stream_Size): Implement new function.
2021 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
2022 function.
2023 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
2024 * einfo.adb:
2025 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
2026
3d6c3bd7
GB
20272011-08-01 Geert Bosch <bosch@adacore.com>
2028
2029 * cstand.adb: Fix comments.
2030 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
2031 count of arguments.
2032
e7d897b8
AC
20332011-08-01 Robert Dewar <dewar@adacore.com>
2034
2035 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
2036
20372011-08-01 Geert Bosch <bosch@adacore.com>
2038
2039 * atree.ads: Fix comment.
2040
c228a069
AC
20412011-08-01 Robert Dewar <dewar@adacore.com>
2042
2043 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
2044 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
2045 * par.adb: Add with for Namet.Sp.
2046 * par-tchk.adb: Minor reformatting.
2047
20482011-08-01 Vincent Celier <celier@adacore.com>
2049
2050 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
2051 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
2052 of the init procedure of a SAL.
2053 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
2054 New procedure.
2055
20562011-08-01 Thomas Quinot <quinot@adacore.com>
2057
2058 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
2059 reformatting.
2060
20612011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2062
2063 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
2064
20652011-08-01 Thomas Quinot <quinot@adacore.com>
2066
2067 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
2068 conformant with its spec (return True only for types that have
2069 an overriding Initialize primitive operation that prevents them from
2070 having preelaborable initialization).
2071 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
2072 initialization for controlled types in Ada 2005 or later mode.
2073
857ade1b
RD
20742011-08-01 Robert Dewar <dewar@adacore.com>
2075
2076 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
2077 Postcondition.
2078 (Same_Aspect): New function.
2079 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
2080 Type_Invariant, Precondition, Postcondition.
2081 * snames.ads-tmpl: Add Name_Type_Invariant.
2082
bd949ee2
RD
20832011-08-01 Robert Dewar <dewar@adacore.com>
2084
2085 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
2086 here.
2087 (Freeze_All_Ent): Fix error in handling inherited aspects.
2088 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
2089 already analyzed, but don't skip entire processing of a declaration,
2090 that's wrong in some cases of declarations being rewritten.
2091 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
2092 Don't delay for integer, string literals
2093 Treat predicates in usual manner for delay, remove special case code,
2094 not needed.
2095 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
2096 (Build_Predicate_Function): Update saved expression in aspect
2097 (Build_Invariant_Procedure): Update saved expression in aspect
2098 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
2099 of replacement of discriminant references if the reference is simple.
2100
f1c952af
RD
21012011-08-01 Robert Dewar <dewar@adacore.com>
2102
2103 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
2104 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
2105 Static_Predicate and Dynamic_Predicate.
2106 (Build_Predicate_Function): Add processing for Static_Predicate
2107 and Dynamic_Predicate.
2108 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
2109 (From_Static_Predicate): New flag
2110 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
2111
21122011-08-01 Robert Dewar <dewar@adacore.com>
2113
2114 * usage.adb: Documentation cleanup for Ada version modes in usage.
2115 * expander.adb: Minor reformatting.
2116
47e11d08
AC
21172011-08-01 Robert Dewar <dewar@adacore.com>
2118
2119 * atree.ads: Minor comment fix.
2120 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
2121 a-witeio.ads, sem_prag.adb: Minor reformatting.
2122
21232011-08-01 Doug Rupp <rupp@adacore.com>
2124
2125 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
2126 pointers. Use descrip.h header file for convenience. Add some
2127 comments.
2128
21292011-08-01 Robert Dewar <dewar@adacore.com>
2130
2131 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
2132 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
2133 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
2134 New procedure.
2135 (Check_Aspect_At_End_Of_Declarations): New procedure
2136 (Analye_Aspect_Specification): Minor changes for above procedures
2137 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
2138 specification node as well.
2139
21402011-08-01 Pascal Obry <obry@adacore.com>
2141
2142 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
2143 Windows files. Use GetFilesAttributes() in this case to check for file
2144 existence instead of returning with an error code.
2145
a3a16b21
VC
21462011-08-01 Vincent Celier <celier@adacore.com>
2147
2148 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
2149 High is above Source length.
2150
ff58cc69
RD
21512011-08-01 Robert Dewar <dewar@adacore.com>
2152
2153 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
2154
6bb88533
AC
21552011-08-01 Robert Dewar <dewar@adacore.com>
2156
2157 * aspects.ads (Boolean_Aspects): New subtype.
2158 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
2159 for derived types in cases where the parent type and derived type have
2160 aspects.
2161 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
2162 with aspects when parent type also has aspects.
2163 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
2164 boolean expression at this point).
2165 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
2166 accordance with final decision on the Ada 2012 feature.
2167 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
2168
21692011-08-01 Matthew Heaney <heaney@adacore.com>
2170
2171 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
2172
060a3f28
AC
21732011-08-01 Pascal Obry <obry@adacore.com>
2174
2175 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
2176 Fix Replace_Slice when High is above current string size.
2177 (Replace_Slice): Fix DL computation when High is above current
2178 string length.
2179
21802011-08-01 Gary Dismukes <dismukes@adacore.com>
2181
2182 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
2183
e7f567a3
AC
21842011-08-01 Matthew Heaney <heaney@adacore.com>
2185
2186 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
2187 of node.
2188
21892011-08-01 Pascal Obry <obry@adacore.com>
2190
2191 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
2192 reformatting.
2193
1a265e78
AC
21942011-08-01 Ed Schonberg <schonberg@adacore.com>
2195
2196 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
2197 access to protected subprograms in generic bodies.
2198 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
2199 protected type, indicate that the convention of the subprogram is
2200 Convention_Protected, because it may be used in subsequent declarations
2201 within the protected declaration.
2202
22032011-08-01 Vincent Celier <celier@adacore.com>
2204
2205 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
2206 and "final" procedures when the name of the library is "ada", to avoid
2207 duplicate symbols "adainit" and "adafinal" in executables.
2208
67e28ef8
ES
22092011-08-01 Ed Schonberg <schonberg@adacore.com>
2210
2211 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
2212 quantified expression that appears within a postcondition and uses the
2213 Ada2012 'Result attribute.
2214
6da2ca7d
RO
22152011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2216
2217 * init.c (__gnat_error_handler): Cast reason to int.
2218 (__gnat_install_handler): Explain sa_sigaction use.
2219
7d5997c6
EB
22202011-07-24 Eric Botcazou <ebotcazou@adacore.com>
2221
2222 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
2223 subprogram has copy-in copy-out parameters, try to promote the mode of
2224 the return type if it is passed in registers.
2225
4b4cfdd5
EB
22262011-07-24 Eric Botcazou <ebotcazou@adacore.com>
2227
2228 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
2229 left operand as addressable.
2230
f3d34576
EB
22312011-07-24 Eric Botcazou <ebotcazou@adacore.com>
2232
2233 * gcc-interface/gigi.h (build_function_stub): Remove.
2234 (build_return_expr): Likewise.
2235 (convert_vms_descriptor): Declare.
2236 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
2237 (build_function_stub): Move to...
2238 * gcc-interface/utils2.c (build_return_expr): Move to...
2239 * gcc-interface/trans.c (build_function_stub): ...here.
2240 (build_return_expr): ...here.
2241 (Subprogram_Body_to_gnu): Add local variable for language_function.
2242 Disconnect the parameter attributes cache, if any, once done with it.
2243 Call end_subprog_body only after setting the end_locus.
2244 Build the stub associated with the function, if any, at the very end.
2245 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
2246 variables and streamline control flow.
2247
0a6ecc08
AC
22482011-07-23 Arnaud Charlet <charlet@adacore.com>
2249
2250 PR ada/49819
2251 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
2252 g-trasym-dwarf.adb.
2253
5b6d595b
RO
22542011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2255
2256 PR bootstrap/49794
2257 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
2258 Assign to act.sa_sigaction.
2259 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
2260 current->return_address to char * before arithmetic.
2261
94017021
RO
22622011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2263
2264 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
2265 Correct argument types.
2266 Extract code from reason.
2267 (__gnat_install_handler): Assign to act.sa_sigaction.
2268
52fd02bb
EB
22692011-07-21 Eric Botcazou <ebotcazou@adacore.com>
2270
2271 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
2272 (GNAT1_OBJS): ...here.
2273
f39a9ca2
EB
22742011-07-15 Eric Botcazou <ebotcazou@adacore.com>
2275
2276 PR ada/48711
2277 * g-socthi-mingw.adb (Fill): Fix formatting.
2278
9e36aa23
EB
2279 * gcc-interface/gigi.h: Move around comment.
2280
e3aca522
JDA
22812011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2282
2283 PR ada/46350
2284 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
2285
696b1960
FW
22862011-07-14 Florian Weimer <fw@deneb.enyo.de>
2287
2288 PR ada/48711
2289 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
2290
f542c405
EB
22912011-07-13 Eric Botcazou <ebotcazou@adacore.com>
2292
2293 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
2294 range comparison if Pmode is SImode.
2295
9e9bd455
LG
22962011-07-12 Laurent GUERBY <laurent@guerby.net>
2297 Eric Botcazou <ebotcazou@adacore.com>
2298
2299 * adadecode.c: Wrap up in extern "C" block.
2300 * adadecode.h: Likewise.
2301 * adaint.c: Likewise. Remove 'const' keyword.
2302 * adaint.h: Likewise.
2303 * argv.c: Likewise.
2304 * atree.h: Likewise.
2305 * cio.c: Likewise.
2306 * cstreams.c: Likewise.
2307 * env.c: Likewise.
2308 * exit.c: Likewise.
2309 * fe.h: Likewise.
2310 * final.c: Likewise.
2311 * init.c: Likewise.
2312 * initialize.c: Likewise.
2313 * link.c: Likewise.
2314 * namet.h: Likewise.
2315 * nlists.h: Likewise.
2316 * raise.c: Likewise.
2317 * raise.h: Likewise.
2318 * repinfo.h: Likewise.
2319 * seh_init.c: Likewise.
2320 * targext.c: Likewise.
2321 * tracebak.c: Likewise.
2322 * uintp.h: Likewise.
2323 * urealp.h: Likewise.
2324 * xeinfo.adb: Wrap up generated C code in extern "C" block.
2325 * xsinfo.adb: Likewise.
2326 * xsnamest.adb: Likewise.
2327 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
2328 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
2329 * gcc-interface/misc.c: Likewise.
2330 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
2331 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
2332 ada/targext.o here...
2333 (GNAT_ADA_OBJS): ...and not here.
2334 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
2335 (GNATBIND_OBJS): Reorder.
2336
7644b3c7
RH
23372011-07-07 Richard Henderson <rth@redhat.com>
2338
2339 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
2340 dwarf2out_frame_init.
2341
8384ac41
EB
23422011-07-07 Eric Botcazou <ebotcazou@adacore.com>
2343
2344 * gcc-interface/misc.c (gnat_init): Tweak previous change.
2345
fbdd5d87
RO
23462011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2347
2348 PR target/39150
2349 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
2350
1a072294
RG
23512011-07-06 Richard Guenther <rguenther@suse.de>
2352
8384ac41
EB
2353 * gcc-interface/misc.c (gnat_init): Merge calls to
2354 build_common_tree_nodes and build_common_tree_nodes_2.
1a072294
RG
2355 Re-initialize boolean_false_node.
2356
bc712852
EB
23572011-07-02 Eric Botcazou <ebotcazou@adacore.com>
2358 Olivier Hainque <hainque@adacore.com>
2359 Nicolas Setton <setton@adacore.com>
2360
2361 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
2362 the type according to the ARTIFICIAL_P parameter.
2363 (create_type_decl): Likewise.
2364 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
2365
2eb22389
EB
23662011-07-01 Eric Botcazou <ebotcazou@adacore.com>
2367
2368 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
2369 (gnatbind): Likewise.
2370
4bdaaf2f
RO
23712011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2372
2373 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
2374
c020c92b
EB
23752011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2376
2377 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
2378 local variable throughout. Remove useless call to Base_Type.
2379 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
2380 Take it also into account for the volatileness of the field. Set the
2381 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
2382
96769d32
EB
23832011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2384
2385 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
2386 on a dereference built for a by-ref object if it has an address clause.
2387
7e4680c1
EB
23882011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2389
2390 * einfo.ads (Address_Taken): Document use for the second argument of
2391 Asm_Input and Asm_Output attributes.
2392 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
2393 argument is an entity name, then set Address_Taken on it.
2394 <Attribute_Asm_Output>: Likewise.
2395 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
2396 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
2397 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
2398 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
2399
24002011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
d5cc9181
JR
2401
2402 PR middle-end/46500
2403 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
2404
677f3fa8
JM
24052011-06-14 Joseph Myers <joseph@codesourcery.com>
2406
2407 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
2408 (ada/utils.o): Update dependencies.
2409 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
2410 ../../../libcpp/libcpp.a.
2411 * gcc-interface/utils.c: Include common/common-target.h.
2412 (process_attributes): Use targetm_common.have_named_sections.
2413
009db074
RG
24142011-06-07 Richard Guenther <rguenther@suse.de>
2415
0bad0e23
EB
2416 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
2417 set_sizetype.
009db074 2418
3bfc61cf
EB
24192011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2420
0bad0e23 2421 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
3bfc61cf
EB
2422 TREE_THIS_NOTRAP flag.
2423
5c4a1c7b
EB
24242011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2425
2426 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
2427 Fix thinko.
2428
e9f57686
EB
24292011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2430
2431 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
2432 constants whose full view has discriminants specially.
2433
10e4d056
EB
24342011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2435
2436 * gcc-interface/utils.c: Include diagnostic.h.
2437 (gnat_write_global_declarations): Output debug information for all
2438 global type declarations before finalizing the compilation unit.
2439 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
2440
0957c029
JJ
24412011-05-25 Jakub Jelinek <jakub@redhat.com>
2442
2443 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
2444
52d0a7ac
KT
24452011-05-25 Kai Tietz <ktietz@redhat.com>
2446
2447 * adaint.c (__gnat_to_canonical_file_list_next): Use array
2448 initialization instead of const/none-const pointer assignment.
2449
1ed1641d
JM
24502011-05-24 Joseph Myers <joseph@codesourcery.com>
2451
2452 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
2453 $(EXTRA_GNAT1_OBJS).
2454 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
2455 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
2456 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
2457 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
2458 libcommon-target.a instead of prefix.o.
2459
9fe72ebd
JM
24602011-05-21 Joseph Myers <joseph@codesourcery.com>
2461
2462 PR ada/49097
0bad0e23 2463 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9fe72ebd 2464
2691e6d7
JM
24652011-05-20 Joseph Myers <joseph@codesourcery.com>
2466
0bad0e23
EB
2467 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
2468 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
2469 instead of version.o.
2691e6d7 2470
bf6490b5
KT
24712011-05-18 Kai Tietz <ktietz@redhat.com>
2472
2473 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
2474 boolean_false_node instead of integer_zero_node.
2475 (convert_with_check): Likewise.
2476 * gcc-interface/decl.c (choices_to_gnu): Likewise.
2477
7bf9a5ac
EB
24782011-05-12 Eric Botcazou <ebotcazou@adacore.com>
2479
2480 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
2481 type of the parameter is an unconstrained array, convert the actual to
2482 the type of the formal in the In Out and Out cases as well.
2483
e5b00edf
NF
24842011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2485
2486 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
2487 call build_function_type_array or build_varargs_function_type_array
2488 instead.
2489 (create_subprog_type): Don't call build_function_type; call
2490 build_function_type_vec instead.
2491
51545682
NF
24922011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2493
2494 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
2495 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
2496 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
2497
c99c0026
EB
24982011-05-07 Eric Botcazou <ebotcazou@adacore.com>
2499
f620bd21
EB
2500 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
2501
c99c0026
EB
2502 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
2503 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
2504
3d528853
NF
25052011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2506
c99c0026 2507 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
3d528853 2508
d7d058c5
NF
25092011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2510
2511 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
2512 instead of accessing TYPE_ARG_TYPES directly.
2513 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
2514
805e60a0
EB
25152011-05-05 Eric Botcazou <ebotcazou@adacore.com>
2516
2517 PR ada/48844
2518 * gcc-interface/gigi.h (get_variant_part): Declare.
2519 * gcc-interface/decl.c (get_variant_part): Make global.
2520 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
2521 types have the same constant size, are record types and T1 has a
2522 variant part while T2 doesn't.
2523
907a08d9
EB
25242011-05-05 Eric Botcazou <ebotcazou@adacore.com>
2525
2526 * gcc-interface/utils.c (begin_subprog_body): Do not call
2527 get_pending_sizes.
2528 (end_subprog_body): Likewise.
2529
d35936ab
RG
25302011-05-04 Richard Guenther <rguenther@suse.de>
2531
2532 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
2533 int_const_binop.
2534 (pos_to_constructor): Likewise.
2535
c1fd8753
NF
25362011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2537 Eric Botcazou <ebotcazou@adacore.com>
2538
2539 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
2540 of build_function_type. Adjust calls to...
2541 (build_raise_check): ...this. Do not take a void_tree parameter.
2542 Call build_function_type_list instead of build_function_type.
2543 Fix head comment and swap couple of conditional blocks.
2544
4fb87d2b
EB
25452011-04-30 Eric Botcazou <ebotcazou@adacore.com>
2546
2547 * gnatvsn.ads (Library_Version): Bump to 4.7.
2548 (Current_Year): Bump to 2011.
2549
fa5e5a76
MM
25502011-04-29 Michael Matz <matz@suse.de>
2551
2552 * gcc-interface/misc.c (gnat_handle_option): Set
2553 warn_maybe_uninitialized.
2554
8d6a2f69
GP
25552011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
2556
2557 * gnat_ugn.texi (Complexity Metrics Control): Update link to
2558 the Watson/McCabe paper.
2559
770937fd
JM
25602011-04-23 Jim Meyering <meyering@redhat.com>
2561
2562 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
2563
eb601ae1
EB
25642011-04-22 Eric Botcazou <ebotcazou@adacore.com>
2565
2566 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
2567 onto the new type.
2568
7d7fcb08
EB
25692011-04-22 Eric Botcazou <ebotcazou@adacore.com>
2570
2571 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
2572 parameter.
2573 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
2574 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
2575 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
2576 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
2577 <all>: Do not set flags on the reused DECL node coming from an alias.
2578 Set DECL_IGNORED_P on the DECL node built for subprograms if they
2579 don't need debug info here...
2580 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
2581 (gigi): Adjust calls to create_subprog_decl.
2582 (build_raise_check): Likewise.
2583 (establish_gnat_vms_condition_handler): Likewise.
2584 (Compilation_Unit_to_gnu): Likewise.
2585 (gnat_to_gnu): Likewise.
2586
e1876cac
EB
25872011-04-21 Eric Botcazou <ebotcazou@adacore.com>
2588
2589 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
2590 (NO_REORDER_ADAFLAGS): New variable.
2591 (EXTRA_GNATTOOLS): Always define.
2592 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
2593 Clean up and adjust list of files compiled with special options.
2594 * gcc-interface/Make-lang.in: Likewise.
2595 (ada/decl.o): Cosmetical change.
2596 (ada/misc.o): Remove dependency on $(PLUGIN_H).
2597
04695783
JM
25982011-04-20 Jim Meyering <meyering@redhat.com>
2599
2600 * initialize.c (__gnat_initialize): Remove useless if-before-free.
2601
23399579
EB
26022011-04-17 Eric Botcazou <ebotcazou@adacore.com>
2603
2604 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
2605 $(CFLAGS) on the link line.
2606
51c5169c
EB
26072011-04-17 Eric Botcazou <ebotcazou@adacore.com>
2608
2609 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
2610 padded type built for the return type if it is unconstrained.
2611
61e46a7d
NF
26122011-04-14 Nathan Froyd <froydnj@codesourcery.com>
2613
2614 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
2615
81f653d6
NF
26162011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2617
b4867846
EB
2618 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
2619 before calling TREE_CHAIN.
81f653d6
NF
2620 * gcc-interface/misc.c (gnat_init_ts): New function.
2621 (LANG_HOOKS_INIT_TS): Define.
2622
a358e188
MJ
26232011-04-12 Martin Jambor <mjambor@suse.cz>
2624
b4867846
EB
2625 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
2626 instead of cgraph_node.
a358e188 2627
29b1c5a4
EB
26282011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2629
2630 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
2631 alignment on fields of the RETURN type built for the Copy-In Copy-Out
2632 mechanism.
2633
88872b00
EB
26342011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2635
2636 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
2637 of aggregate types that contain a placeholder.
2638
dcf0c47e
NF
26392011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2640
2641 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
b4867846 2642 TYPE_ARG_TYPES.
dcf0c47e
NF
2643 (handle_type_generic_attribute): Likewise.
2644
53e3000c
EB
26452011-04-04 Eric Botcazou <ebotcazou@adacore.com>
2646
2647 PR ada/47163
2648 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
2649
ab380bb4
KT
26502011-04-04 Kai Tietz <ktietz@redhat.com>
2651
2652 PR ada/47163
0bad0e23
EB
2653 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
2654 to flag value.
ab380bb4 2655
8ffac116
EB
26562011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2657
2658 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
2659 type case, do not strip a padding type around the array type.
2660
de9528f0
EB
26612011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2662
2663 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
2664 types.
2665
d9d7a26c
EB
26662011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2667
2668 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
2669 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
de9528f0 2670 code for -feliminate-unused-debug-types.
d9d7a26c
EB
2671 (gnat_post_options): Likewise.
2672
4cb12a90
EB
26732011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2674
2675 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
2676 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
2677 distinct copy.
2678
acccc61c
EB
26792011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2680
2681 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
2682 DECL_ARTIFICIAL flag on enumeration types.
2683
583eb0c9
EB
26842011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2685
2686 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
2687 fat pointer types artificial unconditionally.
2688 <E_Array_Subtype>: Attach the base array type as a parallel type if it
2689 isn't artificial.
2690
e3edbd56
EB
26912011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2692
2693 * gcc-interface/gigi.h (get_dummy_type): Declare.
2694 (build_dummy_unc_pointer_types): Likewise.
2695 (finish_fat_pointer_type): Likewise.
2696 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
2697 fat pointer type has been built, complete it in place.
2698 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
2699 and thin pointers. Remove useless variable.
2700 (finish_fat_pointer_type): Make global and move to...
2701 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
2702 (get_dummy_type): New function.
2703 (build_dummy_unc_pointer_types): Likewise.
2704 (gnat_pushdecl): Propage the name to the anonymous variants only.
2705 (update_pointer_to): Only adjust the pointer types in the unconstrained
2706 array case.
2707
65444786
EB
27082011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2709
2710 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
2711 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
2712 if this is a Taft amendment type and the full declaration is available.
2713 * gcc-interface/trans.c (process_type): Likewise.
2714 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
2715 (process_freeze_entity): Likewise.
2716 * gcc-interface/utils.c (dummy_global): New static variable.
2717 (gnat_write_global_declarations): If there are types declared as used
2718 at the global level, insert them in the global hash table.
2719
1aeb40dd
EB
27202011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2721
2722 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
2723 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
2724 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
2725 copy.
2726 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
2727 flag of the type accordingly.
2728 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
2729
80ec8b4c
EB
27302011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2731
2732 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
2733 finalizing types when updating the pointers to the designated type.
2734 <all>: Finalize the deferred types even if we didn't defer processing
2735 of incomplete types in this invocation.
2736
2a9d769a
OH
27372011-04-01 Olivier Hainque <hainque@adacore.com>
2738 Nicolas Setton <setton@adacore.com>
2739 Eric Botcazou <ebotcazou@adacore.com>
2740
2741 * gcc-interface/misc.c (gnat_descriptive_type): New function.
2742 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
2743
2438d7a6
KT
27442011-03-28 Kai Tietz <ktietz@redhat.com>
2745
333d8aff 2746 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
80ec8b4c
EB
2747 Windows targets.
2748 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
2749 * system-mingw.ads (System): Change ZCX_By_Default default to True.
333d8aff 2750
80ec8b4c 2751 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2438d7a6 2752
8ad150f6
TG
27532011-03-28 Tristan Gingold <gingold@adacore.com>
2754
2755 PR ada/44431
80ec8b4c
EB
2756 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
2757 Use ada output of gnatbind.
8ad150f6
TG
2758 (ada/b_gnatb.adb): Ditto.
2759 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
2760 (ada.mostlyclean, ada.stage1)
2761 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
2762 (ada.stagefeedback): Adjust.
80ec8b4c 2763 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
8ad150f6
TG
2764 Use ada output of gnatbind.
2765 (b_gnatm.adb): Ditto.
2766 (b_gnatl.o, b_gnatm.o): New rules.
2767
51c7954d
EB
27682011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2769
2770 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
2771 for the padded type built to support a specified size or alignment.
2772
6ddf9843
EB
27732011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2774
2775 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
2776 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
2777 unconditionally to the end of the unit when the designated type is
2778 limited_with'ed.
2779 <all>: Rename local variable. Attempt to un-defer types only and do it
2780 for limited_with'ed types as well.
2781 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
2782 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
2783 consistently and remove redundant call to finalize_from_with_types.
2784
5daed84a
EB
27852011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2786
2787 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
2788 subprograms without a previous spec declared in the same unit.
2789 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
2790 subprograms at the end of the unit instead of at the beginning.
2791 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
2792 isn't public for the special handling of non-inline functions nested
2793 inside inline external functions.
2794
0edf1bb2
JL
27952011-03-25 Jeff Law <law@redhat.com>
2796
5daed84a 2797 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
0edf1bb2 2798
e3c4580e
EB
27992011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2800
2801 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
2802 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
2803 to compute Set_Size_Depends_On_Discriminant.
2804 (Layout_Type): Call it on array types in back-end layout mode.
2805 * sem_util.adb (Requires_Transient_Scope): Return true for array
2806 types only if the size depends on the value of discriminants.
2807 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
2808 type if the RHS is a call to a function that returns an unconstrained
2809 type with default discriminant.
2810
abbc8c7b
EB
28112011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2812
2813 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
2814 non-conversion to the nominal result type at the end.
2815
ddb5a105
EB
28162011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2817
2818 * gcc-interface/trans.c (create_temporary): New function taken from...
2819 (create_init_temporary): ...here. Call it.
2820 (call_to_gnu): Create the temporary for the return value early, if any.
2821 Create it for a function with copy-in/copy-out parameters if there is
2822 no target; in other cases of copy-in/copy-out, use another temporary.
2823 Push the new binding level lazily. Add and rename local variables.
2824
0d853156
EB
28252011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2826
2827 * gcc-interface/decl.c (validate_size): Improve comments and tweak
2828 error message.
2829 (set_rm_size): Likewise.
2830
4184ef1b
EB
28312011-03-23 Eric Botcazou <ebotcazou@adacore.com>
2832
2833 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
2834 for the padded type built in order to support a specified alignment.
2835 Fix incorrect formatting.
2836
bf7eefab
EB
28372011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2838
2839 PR bootstrap/48216
2840 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
2841
ef0feeb2
EB
28422011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2843
2844 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
2845 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
2846 to the end of the list. Adjust recursive call. Rename local variable.
2847 If REORDER is true, reorder components of the record type.
2848 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
2849 components_to_record and adjust the parameter list.
2850
646f9414
EB
28512011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2852
2853 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
2854 disabled, use the variable for bounds of loop iteration scheme.
2855
62d784f7
KT
28562011-03-21 Kai Tietz <ktietz@redhat.com>
2857
2858 PR target/12171
0bad0e23 2859 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
62d784f7 2860
f230d759
EB
28612011-03-17 Eric Botcazou <ebotcazou@adacore.com>
2862
2863 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
2864 out whether the expression is read-only. Short-circuit placeholder
2865 case and rename a couple of local variables.
2866
bb1f7929
EB
28672011-03-17 Eric Botcazou <ebotcazou@adacore.com>
2868
2869 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
2870 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
2871 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
2872 (convert): Deal with conversions from a smaller form type specially.
2873
400a2d24
EB
28742011-02-14 Eric Botcazou <ebotcazou@adacore.com>
2875
2876 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
2877 its argument, except for the special -I- switch.
2878
c26bc3ad
GP
28792011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
2880
0bad0e23
EB
2881 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
2882 "Ada Issues".
c26bc3ad 2883
07b8e910
EB
28842011-02-08 Eric Botcazou <ebotcazou@adacore.com>
2885
2886 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
2887
31a5a547
EB
28882011-02-03 Eric Botcazou <ebotcazou@adacore.com>
2889
2890 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
2891 GNAT_FORMAL.
2892 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
2893 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
2894 instead of GNAT_FORMAL. Protect the expression against multiple uses.
2895 Do not generate the check directly, instead instantiate the template
2896 check present in the descriptor.
2897 (make_descriptor_field): Move around.
2898 (build_vms_descriptor32): Build a template check in the POINTER field.
2899 (build_vms_descriptor): Remove useless suffixes.
2900 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
2901
dcf25f59
EB
29022011-01-26 Eric Botcazou <ebotcazou@adacore.com>
2903
2904 PR bootstrap/47467
2905 * targext.c: Include target files if IN_RTS is defined.
2906
0418e131
RG
29072011-01-26 Richard Guenther <rguenther@suse.de>
2908
2909 PR bootstrap/47467
2910 * targext.c: Include config.h.
2911 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
2912 dependency.
2913
c6eecbd8
PO
29142011-01-04 Pascal Obry <obry@adacore.com>
2915 Eric Botcazou <ebotcazou@adacore.com>
2916
2917 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
2918
2d3c7e4f
EB
29192011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2920
2921 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
2922 end-of-case on the end label and its associated gotos, if any.
2923
0394741f
EB
29242011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2925
2926 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
2927 expressions of the parameter cache within the statement group of
2928 the CICO mechanism.
2929
2a02d090
OH
29302011-01-04 Olivier Hainque <hainque@adacore.com>
2931 Eric Botcazou <ebotcazou@adacore.com>
2932
2933 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
2934 (set_end_locus_from_node): New function.
2935 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
2936 make and the function end_locus.
2937 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
2938 for the elaboration subprogram.
2939 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
2940 set the end_locus of the expression as well.
2941
89f5e978
EB
29422011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2943
2944 PR ada/47131
2945 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
2946 variables that are referenced in exception handlers volatile.
2947
2948
ad41bd84 2949\f
797103eb 2950Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
2951
2952Copying and distribution of this file, with or without modification,
2953are permitted in any medium without royalty provided the copyright
2954notice and this notice are preserved.