]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
[multiple changes]
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
b191a125
AC
12011-08-02 Vincent Celier <celier@adacore.com>
2
3 * adaint.c (file_names_case_sensitive_cache): New static int.
4 (__gnat_get_file_names_case_sensitive): Cache the return value in
5 file_names_case_sensitive_cache at the first invocation, to avoid
6 multiple calls to getenv.
7
82011-08-02 Bob Duff <duff@adacore.com>
9
10 * sem_ch12.adb (Validate_Derived_Type_Instance): Implement AI05-0218-1.
11
316a0661
AC
122011-08-02 Yannick Moy <moy@adacore.com>
13
14 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads,
15 sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb,
16 sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to
17 indicate that we are in a precondition or postcondition. This is used in
18 Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to
19 decide whether to flag the spec or body of the current subprogram as
20 not in ALFA.
21
222011-08-02 Fabien Chouteau <chouteau@adacore.com>
23
24 * impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package
25 list.
26 * a-extiin.ads: New file.
27
282011-08-02 Bob Duff <duff@adacore.com>
29
30 * a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename
31 now raises Name_Error instead of Use_Error in certain cases. The other
32 parts of this AI were already implemented properly.
33
f9adb9d4
AC
342011-08-02 Vincent Celier <celier@adacore.com>
35
36 * link.c: Only import "auto-host.h" when building the gnattools.
37
382011-08-02 Yannick Moy <moy@adacore.com>
39
40 * sem_util.adb: Inter-unit inlining does not work for a subprogram
41 which calls a local subprogram, so extract subprogram
42 from Mark_Non_ALFA_Subprogram_Body.
43
442011-08-02 Javier Miranda <miranda@adacore.com>
45
46 * exp_ch9.adb
47 (Extract_Dispatching_Call): If the type of the dispatching object is an
48 access type then return an explicit dereference in the Object out-mode
49 parameter.
50
512011-08-02 Gary Dismukes <dismukes@adacore.com>
52
53 * sem_ch3.adb (Analyze_Subtype_Declaration): Generate range
54 compatibility checks for all indexes of an array subtype, not just the
55 first. Reset Has_Dynamic_Range_Check on the subtype before each
56 potential check to ensure that Insert_Range_Checks will not elide any
57 of the dynamic checks.
58
592011-08-02 Yannick Moy <moy@adacore.com>
60
61 * par-prag.ad (Process_Restrictions_Or_Restriction_Warnings): recognize
62 SPARK restriction at parsing time.
63 * scng.adb (Scan): Generate a token Tok_SPARK_Hide for a SPARK HIDE
64 directive only if the SPARK restriction is set for this unit.
65
83f33150
YM
662011-08-02 Yannick Moy <moy@adacore.com>
67
68 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads,
69 sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb,
70 sem_ch11.adb: Protect call to Current_Subprogram which might be costly
71 when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into
72 Mark_Non_ALFA_Subprogram_Body.
73 Split body of Mark_Non_ALFA_Subprogram_Body to get body small and
74 inlined.
75
7b98672f
YM
762011-08-02 Yannick Moy <moy@adacore.com>
77
78 * sem_res.adb: Protect calls to Matching_Static_Array_Bounds which
79 might be costly.
80
052e0603
AC
812011-08-02 Robert Dewar <dewar@adacore.com>
82
83 * exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
84 exp_ch3.adb: Minor reformatting.
85
862011-08-02 Emmanuel Briot <briot@adacore.com>
87
88 * adaint.c (__gnat_locate_exec_on_path): only returns executable
89 files, not any regular file.
90 (__gnat_locate_file_with_predicate): new subprogram.
91
922011-08-02 Yannick Moy <moy@adacore.com>
93
94 * sinfo.adb, sinfo.ads: Restrict the use of flags
95 Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
96 nodes, plus N_Subtype_Declaration for the 2nd one.
97
4fbad0ba
AC
982011-08-02 Sergey Rybin <rybin@adacore.com>
99
100 * gnat_rm.texi: Ramification of pragma Eliminate documentation
101 - fix bugs in the description of Source_Trace;
102 - get rid of UNIT_NAME;
103
052e0603
AC
1042011-08-02 Javier Miranda <miranda@adacore.com>
105
106 * exp_ch9.adb
107 (Build_Dispatching_Requeue): Adding support for VM targets
108 since we cannot directly reference the Tag entity.
109 * exp_sel.adb (Build_K): Adding support for VM targets.
110 (Build_S_Assignment): Adding support for VM targets.
111 * exp_disp.adb
112 (Default_Prim_Op_Position): In VM targets do not restrict availability
113 of predefined interface primitives to compiling in Ada 2005 mode.
114 (Is_Predefined_Interface_Primitive): In VM targets this service is not
115 restricted to compiling in Ada 2005 mode.
116 (Make_VM_TSD): Generate code that declares and initializes the OSD
117 record. Needed to support dispatching calls through synchronized
118 interfaces.
119 * exp_ch3.adb
120 (Make_Predefined_Primitive_Specs): Enable generation of predefined
121 primitives associated with synchronized interfaces.
122 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
123 primitives associated with synchronized interfaces.
124
1252011-08-02 Yannick Moy <moy@adacore.com>
126
127 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
128 statements hidden in SPARK if preceded by the HIDE directive
129 (Parse_Exception_Handlers): mark each exception handler in a sequence of
130 exception handlers as hidden in SPARK if preceded by the HIDE directive
131 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
132 if starting with the HIDE directive
133 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
134 starting with the HIDE directive; mark the declarations in a private
135 part as hidden in SPARK if the private part starts with the HIDE
136 directive
137 * restrict.adb, restrict.ads
138 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
139 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
140 argument node belongs to a part which is hidden in SPARK
141 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
142 parts in SPARK; protect the possibly costly call to
143 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
144 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
145 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
146 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
147 Tok_SPARK_Hide.
148 (Scan): recognize special comment starting with '#' and followed by
149 SPARK keyword "hide" as a HIDE directive.
150
1512011-08-02 Yannick Moy <moy@adacore.com>
152
153 * types.ads, erroutc.ads: Minor reformatting.
154
1552011-08-02 Vincent Celier <celier@adacore.com>
156
157 * link.c: Add response file support for cross platforms.
158
1592011-08-02 Ed Schonberg <schonberg@adacore.com>
160
161 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
162 in an association, set parent field of copy before partial analysis.
163 * sem_res.adb (Resolve_Slice): create reference to itype only when
164 expansion is enabled.
165
1662011-08-02 Yannick Moy <moy@adacore.com>
167
168 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
169 for new flag denoting which subprogram bodies are in ALFA
170 * restrict.adb, sem_ch7.adb: Update comment
171 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
172 sem_ch9.adb, sem_res.adb: Add calls to
173 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
174 * sem_ch6.adb (Analyze_Function_Return): add calls to
175 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
176 middle of the body, and extended return.
177 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
178 False when missing return.
179 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
180 to True for subprograms whose spec is in ALFA. Remove later on the flag
181 on the entity used for a subprogram body when there exists a separate
182 declaration.
183 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
184 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
185 False, otherwise do nothing.
186
1872011-08-02 Robert Dewar <dewar@adacore.com>
188
189 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
190
1912011-08-02 Yannick Moy <moy@adacore.com>
192
193 * sem_ch4.ads: minor formatting.
194
1952011-08-02 Yannick Moy <moy@adacore.com>
196
197 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
198 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
199 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
200 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
201 opt.ads: cleanup of SPARK mode
202
2032011-08-02 Yannick Moy <moy@adacore.com>
204
205 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
206 types.
207 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
208 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
209 * sem_ch3.adb
210 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
211 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
212 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
213 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
214 types.
215 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
216 non-static range.
217 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
218 functions whose return type is not in ALFA.
219 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
220 specifications.
221 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
222 parameter's type is not in ALFA.
223 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
224 types are in ALFA.
225
2262011-08-02 Ed Schonberg <schonberg@adacore.com>
227
228 * sem_ch6 (Analyze_Expression_Function): treat the function as
229 Inline_Always, and introduce a subprogram declaration for it when it is
230 not a completion.
231 * inline.adb (Add_Inlined_Body): recognize bodies that come from
232 expression functions, so that the back-end can determine whether they
233 can in fact be inlined.
234 * sem_util.adb (Is_Expression_Function): predicate to determine whether
235 a function body comes from an expression function.
236
2372011-08-02 Gary Dismukes <dismukes@adacore.com>
238
239 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
240 null exclusions to test Can_Never_Be_Null on the anonymous access types
241 of the formals rather than testing the formals themselves. Exclude this
242 check in cases where the Old_Formal is marked as a controlling formal,
243 to avoid issuing spurious errors for bodies completing dispatching
244 operations (due to the flag not getting set on controlling access
245 formals in body specs).
246 (Find_Corresponding_Spec): When checking full and subtype conformance of
247 subprogram bodies in instances, pass Designated and E in that order, for
248 consistency with the expected order of the formals (New_Id followed by
249 Old_Id).
250
2512011-08-02 Robert Dewar <dewar@adacore.com>
252
253 * sem_ch8.adb: Minor reformatting.
254
2552011-08-02 Ed Schonberg <schonberg@adacore.com>
256
257 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
258 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
259 primitive operations of class-wide actuals.
260
2612011-08-02 Javier Miranda <miranda@adacore.com>
262
263 * exp_atag.ads, exp_atag.adb
264 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
265 since its value is implicitly passed in argument Typ.
266 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
267 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
268 Build_Common_Dispatching_Select_Statements.
269
2702011-08-02 Robert Dewar <dewar@adacore.com>
271
272 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
273 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
274 Minor reformatting.
275
2762011-08-02 Robert Dewar <dewar@adacore.com>
277
278 * sem_res.adb: Minor reformatting.
279 * sem_prag.adb: Minor reformatting.
280
2812011-08-02 Javier Miranda <miranda@adacore.com>
282
283 * exp_atag.adb, exp_atags.ads
284 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
285 by the tagged type Entity. Required to use this routine in the VM
286 targets since we do not have available the Tag entity in the VM
287 platforms.
288 * exp_ch6.adb
289 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
290 Ada.Tags has not been previously loaded.
291 * exp_ch7.adb
292 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
293 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
294 * sem_aux.adb
295 (Enclosing_Dynamic_Scope): Add missing support to handle the full
296 view of enclosing scopes. Required to handle enclosing scopes that
297 are synchronized types whose full view is a task type.
298 * exp_disp.adb
299 (Build_VM_TSDs): Minor code improvement to avoid generating and
300 analyzing lists with empty nodes.
301 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
302 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
303 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
304 (Make_Disp_Timed_Select_Body): Add support for VM targets.
305 (Make_Select_Specific_Data_Table): Add support for VM targets.
306 (Make_VM_TSD): Generate code to initialize the SSD structure of
307 the TSD.
308
3092011-08-02 Yannick Moy <moy@adacore.com>
310
311 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
312 cross-references section in ALI.
313 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
314 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
315 Sub).
316 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
317 subprogram or package entity of a node
318 (Is_Local_Reference_Type): new function returns True for references
319 selected in local cross-references.
320 (Lt): function extracted from Lt in Output_References
321 (Write_Entity_Name): function extracted from Output_References
322 (Generate_Definition): generate reference with type 'D' for definition
323 of objects (object declaration and parameter specification), with
324 appropriate locations and units, for use in local cross-references.
325 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
326 references of type 'I' for initialization in object definition.
327 (Output_References): move part of function Lt and procedure
328 Write_Entity_Name outside of the body. Ignore references of types 'D'
329 and 'I' introduced for local cross-references.
330 (Output_Local_References): new procedure to output the local
331 cross-references sections.
332 (Lref_Entity_Status): new array defining whether an entity is a local
333 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
334 with 'I' type when initialization expression is present.
335 * get_scos.adb, get_scos.ads: Correct comments and typos
336
3372011-08-02 Javier Miranda <miranda@adacore.com>
338
339 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
340 the JVM target.
341 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
342 the JVM target.
343 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
344 TSD support.
345
3462011-08-02 Vincent Celier <celier@adacore.com>
347
348 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
349 (No_Space_Img): New function
350 (Find_Excluded_Sources): When reading from a file, record the file name
351 and the line number for each excluded source.
352 (Mark_Excluded_Sources): When reporting an error, if the excluded
353 sources were read from a file, include file name and line number in
354 the error message.
355
3562011-08-02 Ed Schonberg <schonberg@adacore.com>
357
358 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
359
3602011-08-02 Robert Dewar <dewar@adacore.com>
361
362 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
363
3642011-08-02 Javier Miranda <miranda@adacore.com>
365
366 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
367 generation of TSDs to the DOTNET compiler.
368 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
369 generation of TSDs to the DOTNET compiler.
370
3712011-08-02 Javier Miranda <miranda@adacore.com>
372
373 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
374 record of all the tagged types declared inside library level package
375 declarations, library level package bodies or library level subprograms.
376 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
377 associated with a given tagged type.
378 (Build_VM_TSDs): New subprogram.
379 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
380 compilation units that are subprograms.
381 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
382 compilation units that are package bodies.
383 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
384 units that are a package declaration or a package instantiation.
385 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
386 reorganization to improve the error generated by the frontend when the
387 function Ada.Tags.Secondary_Tag is not available.
388 * rtsfind.ads (RE_Register_TSD): New runtime entity.
389 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
390
3912011-08-02 Javier Miranda <miranda@adacore.com>
392
393 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
394
3952011-08-02 Robert Dewar <dewar@adacore.com>
396
397 * s-imenne.ads: Minor reformatting.
398
3992011-08-02 Robert Dewar <dewar@adacore.com>
400
401 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
402 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
403 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
404
4052011-08-02 Robert Dewar <dewar@adacore.com>
406
407 * einfo.ads (Materialize_Entity): Document this is only for renamings
408 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
409 required debug information in the case where we transform the object
410 declaration into a renaming declaration.
411 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
412 object
413 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
414 Materialize_Entity.
415
4162011-08-02 Robert Dewar <dewar@adacore.com>
417
418 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
419 Suppress_Init_Procs.
420 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
421 Suppress_Initialization/Initialization_Suppressed.
422 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
423 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
424 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
425 * sem_prag.adb: New processing for pragma Suppress_Initialization.
426
4272011-08-02 Robert Dewar <dewar@adacore.com>
428
429 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
430 Minor reformatting.
431
4322011-08-02 Ed Schonberg <schonberg@adacore.com>
433
434 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
435 only have inheritable classwide pre/postconditions.
436
4372011-08-02 Javier Miranda <miranda@adacore.com>
438
439 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
440 * rtsfind.ads (RE_Check_TSD): New runtime entity.
441 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
442 checks if the external tag of a type is the same as the external tag
443 of some other declaration.
444
4452011-08-02 Thomas Quinot <quinot@adacore.com>
446
447 * s-taskin.ads: Minor reformatting.
448
4492011-08-02 Emmanuel Briot <briot@adacore.com>
450
451 * g-comlin.adb (Display_Help): swap the order in which it prints the
452 short help and the general usage.
453
4542011-08-02 Ed Schonberg <schonberg@adacore.com>
455
456 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
457 the aspect declarations and attach them to the generic copy for
458 subsequent analysis.
459 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
460 declarations of the generic tree to the new subprogram declarations.
461 * sem_attr.adb (Check_Precondition_Postcondition): recognize
462 conditions that apply to a subprogram instance.
463
4642011-08-02 Robert Dewar <dewar@adacore.com>
465
466 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
467
4682011-08-02 Ed Schonberg <schonberg@adacore.com>
469
470 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
471 private type with a tagged full view is not derived in the immediate
472 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
473
4742011-08-02 Robert Dewar <dewar@adacore.com>
475
476 * exp_ch4.adb: Minor reformatting.
477
4782011-08-02 Ed Schonberg <schonberg@adacore.com>
479
480 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
481 Ada2012 iterator, the loop will be rewritten during expansion into a
482 while loop with a cursor and an element declaration. Do not analyze the
483 body in this case, because if the container is for indefinite types the
484 actual subtype of the elements will only be determined when the cursor
485 declaration is analyzed.
486
4872011-08-02 Arnaud Charlet <charlet@adacore.com>
488
489 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
490 size/alignment related attributes in CodePeer_Mode.
491
4922011-08-02 Gary Dismukes <dismukes@adacore.com>
493
494 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
495 Prepend_Element, since this can result in the operation getting the
496 wrong slot in the full type's dispatch table if the full type has
497 inherited operations. The incomplete type's operation will get added
498 to the proper position in the full type's primitives
499 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
500 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
501 dispatching operations, since there are cases where nonprimitive
502 subprograms can get added to the list of incomplete dependents (such
503 as subprograms in nested packages).
504 * sem_ch6.adb (Process_Formals): First, remove test for being in a
505 private part when determining whether to add a primitive with a
506 parameter of a tagged incomplete type to the Private_Dependents list.
507 Such primitives can also occur in the visible part, and should not have
508 been excluded from being private dependents.
509 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
510 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
511 list of a Taft-amendment incomplete type is a primitive before issuing
512 an error that the full type must appear in the same unit. There are
513 cases where nonprimitives can be in the list (such as subprograms in
514 nested packages).
515 * sem_disp.adb (Derives_From): Use correct condition for checking that
516 a formal's type is derived from the type of the corresponding formal in
517 the parent subprogram (the condition was completely wrong). Add
518 checking that was missing for controlling result types being derived
519 from the result type of the parent operation.
520
5212011-08-02 Yannick Moy <moy@adacore.com>
522
523 * errout.adb (First_Node): minor renaming
524 * restrict.adb (Check_Formal_Restriction): put restriction warning on
525 first node.
526
5272011-08-02 Yannick Moy <moy@adacore.com>
528
529 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
530 before accessing operands.
531 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
532 decide whether an initialization expression respects SPARK rules, as
533 the plain node is the expanded one. This allows for more valid warnings
534 to be issued.
535 * gnat_rm.texi: Minor update.
536
5372011-08-02 Arnaud Charlet <charlet@adacore.com>
538
539 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
540 previous change.
541
5422011-08-02 Robert Dewar <dewar@adacore.com>
543
544 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
545
5462011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
547
548 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
549 loop statements and the element renaming declaration with a block when
550 the element type is controlled.
551
5522011-08-02 Yannick Moy <moy@adacore.com>
553
554 * sinfo.ads: Minor formatting.
555
5562011-08-02 Ed Schonberg <schonberg@adacore.com>
557
558 * sem_aggr.adb (Add_Association): if the association has a box and no
559 expression, use the Sloc of the aggregate itself for the new
560 association.
561 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
562 the Original_Node.
563
5642011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
565
566 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
567 When a container is provided via a function call, generate a renaming
568 of the function result. This avoids the creation of a transient scope
569 and the premature finalization of the container.
570 * exp_ch7.adb (Is_Container_Cursor): Removed.
571 (Wrap_Transient_Declaration): Remove the supression of the finalization
572 of the list controller when the declaration denotes a container cursor,
573 it is not needed.
574
5752011-08-02 Yannick Moy <moy@adacore.com>
576
577 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
578 node is from source, instead of the original node being from source.
579 * sem_aggr.adb
580 (Resolve_Array_Aggregate): refine the check for a static expression, to
581 recognize also static ranges
582 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
583 Array_Type_Declaration): postpone the test for the type being a subtype
584 mark after the type has been resolved, so that component-selection and
585 expanded-name are discriminated.
586 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
587 to distinguish the case of an iteration scheme, so that an error is
588 issed on a non-static range in SPARK except in an iteration scheme.
589 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
590 In_Iter_Schm = True.
591 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
592 user-defined operators so that they are allowed in renaming
593 * sem_ch8.adb
594 (Find_Selected_Component): refine the check for prefixing of operators
595 so that they are allowed in renaming. Move the checks for restrictions
596 on selector name after analysis discriminated between
597 component-selection and expanded-name.
598 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
599 concatenation argument of string type if it is static.
600 * sem_util.adb, sem_util.ads
601 (Check_Later_Vs_Basic_Declarations): add a new function
602 Is_Later_Declarative_Item to decice which declarations are allowed as
603 later items, in the two different modes Ada 83 and SPARK. In the SPARK
604 mode, add that renamings are considered as later items.
605 (Enclosing_Package): new function to return the enclosing package
606 (Enter_Name): correct the rule for homonyms in SPARK
607 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
608 from source (result of expansion) to avoid issuing wrong warnings.
609
6102011-08-02 Ed Schonberg <schonberg@adacore.com>
611
612 * errout.adb: On anything but an expression First_Node returns its
613 argument.
614
6152011-08-02 Pascal Obry <obry@adacore.com>
616
617 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
618
6192011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
620
621 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
622 Set the associated loop as the related expression of internally
623 generated cursors.
624 * exp_ch7.adb (Is_Container_Cursor): New routine.
625 (Wrap_Transient_Declaration): Supress the finalization of the list
626 controller when the declaration denotes a container cursor.
627
6282011-08-02 Yannick Moy <moy@adacore.com>
629
630 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
631 command line now.
632 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
633 expression is a simple expression. This check cannot be performed in
634 the semantics, so just drop it.
635 (P_Index_Or_Discriminant_Constraint): move check that the index or
636 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
637 semantics. Other cases were previously checked in the semantics.
638 * par-ch4.adb (P_Name): move checks that a selector name is not
639 character literal or an operator symbol to Find_Selected_Component in
640 the semantics
641 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
642 declarations are not placed after later declarations in a separate
643 procedure in Sem_Util (possibly not the best choice?), to be used both
644 during parsing, for Ada 83 mode, and during semantic analysis, for
645 SPARK mode.
646 * par-endh.adb (Check_End): move check that end label is not missing
647 to Process_End_Label in the semantics
648 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
649 the special case for SPARK restriction
650 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
651 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
652 parameter Force to issue the error message even on internal node (used
653 for generated end label). Call Check_Restriction to check when an error
654 must be issued. In SPARK mode, issue an error message even if the
655 restriction is not set.
656 (Check_Restriction): new procedure with an additional out parameter to
657 inform the caller that a message has been issued
658 * sem_aggr.adb: Minor modification of message
659 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
660 instead of issuing an error message directly
661 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
662 declarations are not placed after later declarations, by calling
663 Check_Later_Vs_Basic_Declarations
664 (Analyze_Subtype_Declaration): move here the check that an index or
665 discriminant constraint must be a subtype mark. Change the check that
666 a subtype of String must start at one so that it works on subtype marks.
667 * sem_ch4.adb (Analyze_Call): move here the check that a named
668 association cannot follow a positional one in a call
669 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
670 instead of issuing an error message directly
671 * sem_ch8.adb (Find_Selected_Component): move here the check that a
672 selector name is not a character literal or an operator symbol. Move
673 here the check that the prefix of an expanded name cannot be a
674 subprogram or a loop statement.
675 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
676 procedure called from parsing and semantics to check that basic
677 declarations are not placed after later declarations
678 (Process_End_Label): move here the check that end label is not missing
679
6802011-08-02 Arnaud Charlet <charlet@adacore.com>
681
682 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
683 representation clause in codepeer mode, since it confuses CodePeer and
684 does not bring useful info.
685
6862011-08-02 Ed Falis <falis@adacore.com>
687
688 * init.c: initialize fp hw on MILS.
689
6902011-08-02 Ed Schonberg <schonberg@adacore.com>
691
692 * errout.adb (First_Node): for bodies, return the node itself (small
693 optimization). For other nodes, do not check source_unit if the node
694 comes from Standard.
695
6962011-08-02 Robert Dewar <dewar@adacore.com>
697
698 * exp_ch3.adb: Minor comment additions.
699 * sem_ch13.adb: Minor reformatting.
700
7012011-08-02 Pascal Obry <obry@adacore.com>
702
703 * make.adb, makeutl.adb: Removes some superfluous directory separator.
704
7052011-08-02 Robert Dewar <dewar@adacore.com>
706
707 * sem_attr.adb: Minor reformatting.
708
7092011-08-02 Robert Dewar <dewar@adacore.com>
710
711 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
712 (Has_Default_Component_Value): Removed
713 * einfo.ads Comment updates
714 (Has_Default_Aspect): Replaces Has_Default_Value
715 (Has_Default_Component_Value): Removed
716 * exp_ch13.adb
717 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
718 * exp_ch3.adb
719 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
720 (Get_Simple_Init_Val): Handle Default_Value aspect
721 (Needs_Simple_Initialization): Handle Default_Value aspect
722 * exp_ch3.ads: Needs_Simple_Initialization
723 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
724 * par-prag.adb (Pragma_Default[_Component]Value) Removed
725 * sem_ch13.adb
726 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
727 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
728 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
729
7302011-08-02 Ed Schonberg <schonberg@adacore.com>
731
732 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
733 package containing iteration primitives.
734 exp_ch5.adb (Expand_Iterator_Loop): ditto.
735
7362011-08-02 Ed Schonberg <schonberg@adacore.com>
737
738 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
739 "of", pre-analyze expression in case it is a function call with
740 finalization actions that must be placed ahead of the loop.
741 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
742 on an Ada2012 iterator, insert them ahead of the rewritten loop.
743
7442011-08-02 Geert Bosch <bosch@adacore.com>
745
746 * cstand.adb (Create_Float_Types): Only consider C's long double for
747 Long_Long_Float, in addition to double.
748
7492011-08-02 Robert Dewar <dewar@adacore.com>
750
751 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
752 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
753 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
754 Minor reformatting.
755
7562011-08-02 Ed Schonberg <schonberg@adacore.com>
757
758 * sem_attr.adb: handle properly 'Result when it is a prefix of an
759 indexed component.
760
7612011-08-02 Javier Miranda <miranda@adacore.com>
762
763 * einfo.ads, einfo.adb
764 (Original_Access_Type): Move this attribute to Node26 since there was
765 an undocumented use of Node21 in E_Access_Subprogram_Type entities
766 which causes conflicts and breaks the generation of the .NET compiler.
767 (Interface_Name): Add missing documentation on JGNAT only uses of
768 this attribute.
769
7702011-08-02 Geert Bosch <bosch@adacore.com>
771
772 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
773 (Find_Back_End_Float_Type): Likewise
774 (Create_Back_End_Float_Types): Likewise
775 (Create_Float_Types): Likewise
776 (Register_Float_Type): Likewise
777 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
778 Nlist and split out type selection in new local Find_Base_Type function.
779 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
780 Nlist
781 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
782
7832011-08-02 Robert Dewar <dewar@adacore.com>
784
785 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
786 alpha order).
787 * opt.ads: Minor comment change.
788 * sem_ch12.adb: Minor code reorganization.
789
7902011-08-02 Gary Dismukes <dismukes@adacore.com>
791
792 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
793 subtype's list of rep items to the list on the full subtype in the case
794 where the lists are the same.
795
7962011-08-02 Geert Bosch <bosch@adacore.com>
797
798 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
799 using the one from System.Strings, which also deallocates all strings.
800
8012011-08-02 Geert Bosch <bosch@adacore.com>
802
803 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
804 function.
805 * gcc-interface/Make-lang.in: Update dependencies.
806
8072011-08-02 Olivier Hainque <hainque@adacore.com>
808
809 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
810 end_locus.
811
8122011-08-02 Javier Miranda <miranda@adacore.com>
813
814 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
815 associated with anonymous access to subprograms.
816
8172011-08-02 Geert Bosch <bosch@adacore.com>
818
819 * opt.ads
820 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
821 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
822 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
823 (Add_Symbol_Definition): Move to switch-c.adb
824 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
825 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
826 (Add_Symbol_Definition): Move to switch-c.adb.
827 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
828 * sem_warn.adb
829 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
830 Move to warnsw.adb.
831 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
832 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
833 Move to warnsw.adb.
834 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
835 (Add_Symbol_Definition): Moved from Prepcomp.
836 * switch-c.ads: Update copyright notice. Use String_List instead of
837 Argument_List, removing dependency on System.OS_Lib.
838
8392011-08-02 Yannick Moy <moy@adacore.com>
840
841 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
842 mode on initialization expression which does not respect SPARK
843 restrictions.
844 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
845 if the tree referenced by its argument represents an initialization
846 expression in SPARK, suitable for initializing an object in an object
847 declaration.
848
8492011-08-02 Javier Miranda <miranda@adacore.com>
850
851 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
852 internally generated access to subprogram with its associated protected
853 subprogram type.
854 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
855
8562011-08-02 Geert Bosch <bosch@adacore.com>
857
858 * cstand.adb (Register_Float_Type): Print information about type to
859 register, if the Debug_Flag_Dot_B is set.
860 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
861 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
862 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
863 with a requested precision of more than Max_Digits digits and no more
864 than Max_Base_Digits digits, if a range specification is present and the
865 Predefined_Float_Types list has a suitable type to derive from.
866 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
867 case of type completion with pragma Import
868 * sem_prag.adb
869 (Process_Import_Predefined_Type): Processing to complete a type
870 with pragma Import. Currently supports floating point types only.
871 (Set_Convention_From_Pragma): Do nothing without underlying type.
872 (Process_Convention): Guard against absence of underlying type,
873 which may happen when importing incomplete types.
874 (Process_Import_Or_Interface): Handle case of importing predefined
875 types. Tweak error message.
876
8772011-08-02 Eric Botcazou <ebotcazou@adacore.com>
878
879 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
880 functions to previous change. Reorganize code slightly.
881
8822011-08-02 Geert Bosch <bosch@adacore.com>
883
884 * back_end.ads (Register_Type_Proc): New call back procedure type for
885 allowing the back end to provide information about available types.
886 (Register_Back_End_Types): New procedure to register back end types.
887 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
888 available types.
889 * cstand.adb (Back_End_Float_Types): New list for floating point types
890 supported by the back end.
891 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
892 (Copy_Float_Type): New procedure to make new copies of predefined types.
893 (Register_Float_Type): New call back procedure to populate the BEFT list
894 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
895 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
896 (Create_Float_Types): New procedure to create entities for floating
897 point types predefined in Standard, and put these and any remaining
898 BEFTs on the Predefined_Float_Types list.
899 * stand.ads (Predefined_Float_Types): New list for predefined floating
900 point types that do not have declarations in package Standard.
901
9022011-08-02 Eric Botcazou <ebotcazou@adacore.com>
903
904 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
905 entity node for the unit containing the parameter.
906 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
907 (Add_Inlined_Subprogram): Likewise.
908 * gcc-interface/Make-lang.in: Update dependencies.
909
9102011-08-02 Thomas Quinot <quinot@adacore.com>
911
912 * s-stusta.adb (Print): Make sure Pos is always initialized to a
913 suitable value.
914
9152011-08-02 Geert Bosch <bosch@adacore.com>
916
917 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
918
9192011-08-02 Eric Botcazou <ebotcazou@adacore.com>
920
921 * sem_type.adb (Covers): Move trivial case to the top and reuse the
922 computed value of Base_Type.
923
9242011-08-02 Yannick Moy <moy@adacore.com>
925
926 * restrict.adb (Check_Restriction): issue an error for any use of
927 class-wide, even if the No_Dispatch restriction is not set.
928 * sem_aggr.adb: Correct typos in comments and messages in formal mode
929 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
930 when completing a private extension, the type named in the private part
931 is not the same as that named in the visible part.
932 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
933 of an inherited primitive operations of a tagged type or type extension
934 that returns the tagged type.
935 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
936 function which returns True for an implicit operation inherited by the
937 derived type declaration for the argument type.
938 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
939 order.
940
9412011-08-02 Ed Schonberg <schonberg@adacore.com>
942
943 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
944 Process_Bounds, to perform analysis with expansion of a range or an
945 expression that is the iteration scheme for a loop.
946 (Analyze_Iterator_Specification): If domain of iteration is given by a
947 function call with a controlled result, as is the case if call returns
948 a predefined container, ensure that finalization actions are properly
949 generated.
950 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
951
9522011-08-02 Javier Miranda <miranda@adacore.com>
953
954 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
955 * gcc-interface/Make-lang.in: Update dependencies.
956
9572011-08-02 Javier Miranda <miranda@adacore.com>
958
959 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
960 determine if the analysis is performed using N or Original_Node (N).
961 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
962 functionality of routine Is_Variable avoids code duplication.
963 * checks.adb (Determine_Range): Handle temporaries generated by
964 Remove_Side_Effects.
965
9662011-08-02 Javier Miranda <miranda@adacore.com>
967
968 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
969 expansion of the condition. Required since the previous analysis was
970 done with expansion disabled (see Resolve_Quantified_Expression) and
971 hence checks were not inserted and record comparisons have not been
972 expanded.
973
9742011-08-02 Ed Falis <falis@adacore.com>
975
976 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
977 Update header.
978
9792011-08-02 Bob Duff <duff@adacore.com>
980
981 * opt.ads: Minor comment fix.
982
9832011-08-02 Bob Duff <duff@adacore.com>
984
985 * sem_ch12.adb (Analyze_Package_Instantiation,
986 Analyze_Subprogram_Instantiation): Turn off style checking while
987 analyzing an instance. Whatever style checks that apply to the generic
988 unit should apply, so it makes no sense to apply them in an instance.
989 This was causing trouble when compiling an instance of a runtime
990 unit that violates the -gnatyO switch.
991 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
992 one of the two case statements, causing spurious errors.
993
9942011-08-02 Robert Dewar <dewar@adacore.com>
995
996 * uname.adb: Minor reformatting.
997 * gnatcmd.adb: Minor reformatting.
998 * exp_attr.adb: Minor reformatting.
999
10002011-08-02 Ed Schonberg <schonberg@adacore.com>
1001
1002 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
1003 No_Dispatching_Calls, do not look for the Assign primitive, because
1004 predefined primitives are not created in this case.
1005
10062011-08-02 Bob Duff <duff@adacore.com>
1007
1008 * stylesw.ads: Minor comment fixes.
1009
10102011-08-02 Robert Dewar <dewar@adacore.com>
1011
1012 * freeze.adb (Add_To_Result): New procedure.
1013
10142011-08-02 Jose Ruiz <ruiz@adacore.com>
1015
1016 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
1017 time, if the specific run-time routines for handling streams of strings
1018 are not available, use the default mechanism.
1019
10202011-08-02 Arnaud Charlet <charlet@adacore.com>
1021
1022 * s-regpat.ads: Fix typo.
1023
10242011-08-02 Vincent Celier <celier@adacore.com>
1025
1026 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
1027 not null, call it to create the in memory config project file without
1028 parsing an existing default config project file.
1029
10302011-08-02 Eric Botcazou <ebotcazou@adacore.com>
1031
1032 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
1033
10342011-08-02 Ed Schonberg <schonberg@adacore.com>
1035
1036 * sem_elim.adb: an abstract subprogram does not need an eliminate
1037 pragma for its descendant to be eliminable.
1038
10392011-08-02 Ed Falis <falis@adacore.com>
1040
1041 * init.c: revert to handling before previous checkin for VxWorks
1042 * s-intman-vxworks.adb: delete unnecessary declarations related to
1043 using Ada interrupt facilities for handling signals.
1044 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
1045 * s-intman-vxworks.ads: Import __gnat_install_handler as
1046 Initialize_Interrupts.
1047 * s-taprop-vxworks.adb: Delete Signal_Mask.
1048 (Abort_Handler): change construction of mask to unblock exception
1049 signals.
1050
10512011-08-02 Jerome Guitton <guitton@adacore.com>
1052
1053 * a-except-2005.adb (Raise_From_Signal_Handler): Call
1054 Debug_Raise_Exception before propagation starts.
1055
10562011-08-02 Eric Botcazou <ebotcazou@adacore.com>
1057
1058 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
1059 to Restriction_Check_Required.
1060 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
1061 * sem_res.adb (Resolve_Call): Likewise.
1062 * sem_attr.adb (Check_Stream_Attribute): Likewise.
1063
10642011-08-02 Bob Duff <duff@adacore.com>
1065
1066 * stylesw.ads: Update comment.
1067 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
1068 * errout.ads: Remove obsolete comment.
1069
10702011-08-02 Javier Miranda <miranda@adacore.com>
1071
1072 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
1073 (Set_Is_Safe_To_Reevaluate): new procedure.
1074 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
1075 assignment is allowed on safe-to-reevaluate variables.
1076 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
1077 temporary created to remove side effects in expressions that use
1078 the secondary stack as safe-to-reevaluate.
1079 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
1080 variables that are not true constants.
1081
10822011-08-02 Robert Dewar <dewar@adacore.com>
1083
1084 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
1085 sem_res.adb, sem_ch6.adb: Minor reformatting.
1086
10872011-08-02 Jerome Guitton <guitton@adacore.com>
1088
1089 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
1090
10912011-08-02 Ed Schonberg <schonberg@adacore.com>
1092
1093 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
1094 not set Overridden_Operation if subprogram is an initialization
1095 procedure.
1096
10972011-08-02 Yannick Moy <moy@adacore.com>
1098
1099 * par-ch6.adb: Correct obsolete name in comments
1100 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
1101 which takes two message arguments (existing function takes one), with
1102 second message used for continuation.
1103 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
1104 block statements that originate from a source block statement, not
1105 generated block statements
1106 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
1107 symmetry with procedure case
1108 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
1109 function to issue an error in formal mode if a package specification
1110 contains more than one tagged type or type extension.
1111 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
1112 parameters matching formals of tagged types are objects (or ancestor
1113 type conversions of objects), not general expressions. Issue an error
1114 on view conversions that are not involving ancestor conversion of an
1115 extended type.
1116 (Resolve_Type_Conversion): in formal mode, issue an error on the
1117 operand of an ancestor type conversion which is not an object
1118 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
1119 procedure so that it works also for actuals of function calls
1120 (Is_Actual_Tagged_Parameter): new function which determines if its
1121 argument is an actual parameter of a formal of tagged type in a
1122 subprogram call
1123 (Is_SPARK_Object_Reference): new function which determines if the tree
1124 referenced by its argument represents an object in SPARK
1125
11262011-08-02 Robert Dewar <dewar@adacore.com>
1127
1128 * sem_ch3.adb: Minor reformatting
1129 Minor comment addition
1130 Minor error msg text change
1131
11322011-08-02 Javier Miranda <miranda@adacore.com>
1133
1134 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
1135 function. Used to be more precise when we generate a variable plus one
1136 assignment to remove side effects in the evaluation of the Bound
1137 expressions.
1138 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
1139 of the bound expression to force its re-analysis and thus expand the
1140 associated transient scope (if required). Code cleanup replacing the
1141 previous code that declared the constant entity by an invocation to
1142 routine Force_Evaluation which centralizes this work in the frontend.
1143
11442011-08-02 Robert Dewar <dewar@adacore.com>
1145
1146 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
1147 (Base_Type): Now uses improved Is_Base_Type function
1148 * einfo.ads (Base_Type): Inline this function
1149
11502011-08-02 Robert Dewar <dewar@adacore.com>
1151
1152 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
1153 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
1154
11552011-08-02 Arnaud Charlet <charlet@adacore.com>
1156
1157 * gcc-interface/Make-lang.in: Update dependencies.
1158 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
1159 targets.
1160
11612011-08-02 Yannick Moy <moy@adacore.com>
1162
1163 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
1164 non-simple expression used in delta constraint
1165 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
1166 index constraint which is not a subtype mark
1167 * par.adb: With and use Restrict
1168 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
1169 mode on component type which is not a subtype mark and default
1170 expression on component
1171 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
1172 of string which does not have a lower index bound equal to 1
1173 (Array_Type_Declaration): issue an error in formal mode on index or
1174 component type which is not a subtype mark, and on aliased keyword on
1175 component
1176 (Derived_Type_Declaration): issue an error in formal mode on interface,
1177 limited or abstract type
1178 (Record_Type_Declaration): issue an error in formal mode on interface
1179 (Record_Type_Definition): issue an error in formal mode on tagged types
1180 and type extensions not declared in the specification of a library unit
1181 package; on null non-tagged record; on variant part
1182
11832011-08-02 Vincent Celier <celier@adacore.com>
1184
1185 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
1186 not declared for qualified library project when Library_Name is not
1187 declared, but Library_Dir is.
1188
11892011-08-02 Robert Dewar <dewar@adacore.com>
1190
1191 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
1192 pragmas (affects aspects [Component_]Default_Value
1193 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
1194 component type for the resolution
1195
11962011-08-02 Eric Botcazou <ebotcazou@adacore.com>
1197
1198 * einfo.adb (Base_Type): Tune implementation for speed.
1199
12002011-08-02 Robert Dewar <dewar@adacore.com>
1201
1202 * freeze.adb: Minor reformatting.
1203
12042011-08-02 Thomas Quinot <quinot@adacore.com>
1205
1206 * scos.ads: Update comments.
1207
12082011-08-02 Ed Schonberg <schonberg@adacore.com>
1209
1210 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
1211 base type, because the parent may be a subtype of a private type whose
1212 convention is established in a private part.
1213
12142011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
1215
1216 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
1217 statement in a block when the expansion of the return expression has
1218 created a finalization chain.
1219 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
1220 with the parent node.
1221 Add N_Extended_Return_Statement to handle the case where a transient
1222 object declaration appears in the Return_Object_Declarations list of
1223 an extended return statement.
1224
12252011-08-02 Matthew Gingell <gingell@adacore.com>
1226
1227 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
1228 unused parameter 'name'.
1229
12302011-08-02 Ed Schonberg <schonberg@adacore.com>
1231
1232 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
1233 inherited operation, check whether its alias, which is the source
1234 operastion that it renames, has been marked eliminated.
1235
12362011-08-02 Javier Miranda <miranda@adacore.com>
1237
1238 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
1239 in-mode parameter whose type is an access type since it can be used to
1240 modify its designated object. Enforce code that handles as safe an
1241 access type that is not access-to-constant but it is the result of a
1242 previous removal of side-effects.
1243 (Remove_Side_Effects): Minor code reorganization of cases which require
1244 no action. Done to incorporate documentation on new cases uncovered
1245 working in this ticket: no action needed if this routine was invoked
1246 too early and the nodes are not yet decorated.
1247 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
1248 to routine Remove_Side_Effects by calls to Force_Evaluation since they
1249 were issued with actuals that are implicitly provided by
1250 Force_Evaluation.
1251
12522011-08-02 Robert Dewar <dewar@adacore.com>
1253
1254 * sem_ch3.adb, sem_res.adb: Minor reformatting.
1255
12562011-08-02 Yannick Moy <moy@adacore.com>
1257
1258 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
1259 to issue an error in formal mode on attribute not supported in this mode
1260 (Analyze_Attribute): issue errors on standard attributes not supported
1261 in formal mode.
1262 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
1263 comment, and issue error in formal mode on modulus which is not a power
1264 of 2.
1265 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
1266 range.
1267 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
1268 subtype mark.
1269 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
1270 operator on modular type (except 'not').
1271
12722011-08-02 Robert Dewar <dewar@adacore.com>
1273
1274 * gnat_rm.texi: Minor reformatting.
1275
12762011-08-02 Arnaud Charlet <charlet@adacore.com>
1277
1278 * s-osinte-linux.ads: Minor comment update and reformatting.
1279 * i-cexten.ads: Make this unit pure, as for its parent.
1280 Will allow its usage in more contexts if needed.
1281
12822011-08-02 Robert Dewar <dewar@adacore.com>
1283
1284 * s-utf_32.ads: Minor comment fix.
1285
12862011-08-02 Ed Schonberg <schonberg@adacore.com>
1287
1288 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
1289 operation of a tagged synchronized type, handle the case where the
1290 controlling argument is overloaded.
1291
12922011-08-02 Yannick Moy <moy@adacore.com>
1293
1294 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
1295 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
1296 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
1297 SPARK mode and formal verification mode on processing SPARK restriction
1298 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
1299 requiring consistency checking.
1300
13012011-08-02 Robert Dewar <dewar@adacore.com>
1302
1303 * sem_res.adb: Minor reformatting.
1304
13052011-08-02 Robert Dewar <dewar@adacore.com>
1306
1307 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
1308 a-cforse.ads: Remove unneeded with of Ada.Containers
1309 Remove commented out pragma Inline's
1310 Move specifications of new subprograms to the actual specs
1311
13122011-08-02 Yannick Moy <moy@adacore.com>
1313
1314 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
1315 a-cforse.ads: Update comments.
1316
13172011-08-02 Ed Schonberg <schonberg@adacore.com>
1318
1319 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
1320
13212011-08-02 Robert Dewar <dewar@adacore.com>
1322
1323 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
1324 a-cforse.ads, a-cofove.ads: Minor reformatting.
1325
13262011-08-02 Claire Dross <dross@adacore.com>
1327
1328 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
1329 a-cofove.ads: Add comments.
1330
13312011-08-02 Yannick Moy <moy@adacore.com>
1332
1333 * gnat_rm.texi: Document formal containers.
1334
13352011-08-02 Emmanuel Briot <briot@adacore.com>
1336
1337 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
1338 are empty sections.
1339
13402011-08-02 Robert Dewar <dewar@adacore.com>
1341
1342 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
1343 reformatting.
1344
13452011-08-02 Robert Dewar <dewar@adacore.com>
1346
1347 * aspects.adb: New aspects Default_Value and Default_Component_Value
1348 New format of Aspect_Names table checks for omitted entries
1349 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
1350 handling of boolean aspects for derived types.
1351 New aspects Default_Value and Default_Component_Value
1352 New format of Aspect_Names table checks for omitted entries
1353 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
1354 (Has_Default_Value): New flag
1355 (Has_Default_Component_Value): New flag
1356 (Has_Default_Value): New flag
1357 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
1358 table.
1359 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
1360 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
1361 Default_Value and Default_Component_Value
1362 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
1363 New aspects Default_Value and Default_Component_Value
1364 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
1365 * sprint.adb: Print N_Aspect_Specification node when called from gdb
1366
13672011-08-02 Vincent Celier <celier@adacore.com>
1368
1369 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
1370 inherit library kind.
1371
13722011-08-02 Ed Schonberg <schonberg@adacore.com>
1373
1374 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
1375 Minor reformatting.
1376
13772011-08-02 Robert Dewar <dewar@adacore.com>
1378
1379 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
1380
13812011-08-02 Yannick Moy <moy@adacore.com>
1382
1383 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
1384
13852011-08-02 Robert Dewar <dewar@adacore.com>
1386
1387 * impunit.adb: Add comment.
1388
13892011-08-02 Yannick Moy <moy@adacore.com>
1390
1391 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
1392 qualification of aggregates in formal mode
1393 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
1394 another aggregate
1395 (Resolve_Aggregate): complete the test that an aggregate is adequately
1396 qualified in formal mode
1397
13982011-08-02 Pascal Obry <obry@adacore.com>
1399
1400 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
1401 * mlib-prj.adb: Supress warning when compiling binder generated file.
1402 (Build_Library): Supress all warnings when compiling the binder
1403 generated file.
1404
14052011-08-02 Yannick Moy <moy@adacore.com>
1406
1407 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
1408 from here...
1409 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
1410 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
1411 Add with/use clauses to make Check_Formal_Restriction visible
1412
14132011-08-02 Ed Schonberg <schonberg@adacore.com>
1414
1415 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
1416 in-parameters when type of the generic formal is private in the generic
1417 spec and non-private in the body.
1418
14192011-08-02 Claire Dross <dross@adacore.com>
1420
1421 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
1422 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
1423 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
1424 * impunit.adb, Makefile.rtl: Take new files into account.
1425
14262011-08-02 Robert Dewar <dewar@adacore.com>
1427
1428 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
1429 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
1430
14312011-08-02 Yannick Moy <moy@adacore.com>
1432
1433 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
1434 formal mode
1435 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
1436 matching static array bounds, taking into account the special case of
1437 string literals
1438 * sem_ch3.adb: Typo in comment.
1439
14402011-08-02 Yannick Moy <moy@adacore.com>
1441
1442 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
1443 which issues an error in formal mode if its argument node is originally
1444 from source
1445 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
1446 has a discriminant specification so that it does not include the case
1447 of derived types
1448 (Derived_Type_Declaration): move here the test that a derived type has a
1449 discriminant specification
1450 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
1451 first element of a component association before accessing its choices
1452 (presence of component association is not enough)
1453 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
1454 declaration is a library item before accessing the next element in a
1455 list, as library items are not member of lists
1456 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
1457 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
1458 Check_Formal_Restriction whenever possible.
1459
14602011-08-02 Ed Schonberg <schonberg@adacore.com>
1461
1462 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
1463 reference when needed.
1464
14652011-08-02 Bob Duff <duff@adacore.com>
1466
1467 * gnat_ugn.texi: Fix typo.
1468
14692011-08-02 Vincent Celier <celier@adacore.com>
1470
1471 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
1472 archive file name. Do not use the full path name of archives for Open
1473 VMS.
1474
14752011-08-02 Robert Dewar <dewar@adacore.com>
1476
1477 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
1478 Analyze_Aspect_Specifications
1479 * sem_ch13.adb
1480 (Analyze_Aspect_Specifications): New handling for boolean aspects
1481 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
1482 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
1483 sequence for Analyze_Aspect_Specifications
1484 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
1485 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
1486
14872011-08-02 Robert Dewar <dewar@adacore.com>
1488
1489 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
1490 aspects, since these no longer exist.
1491
14922011-08-02 Robert Dewar <dewar@adacore.com>
1493
1494 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
1495 semicolon, do not try to see if there are aspects following it.
1496 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
1497 aspect spec.
1498
14992011-08-02 Robert Dewar <dewar@adacore.com>
1500
1501 * sem_ch8.adb, aspects.ads: Minor reformatting.
1502
15032011-08-02 Eric Botcazou <ebotcazou@adacore.com>
1504
1505 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
1506 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
1507 extracted from...
1508 (Analyze_Aspect_Specifications): ...here. Call above procedure.
1509
15102011-08-02 Yannick Moy <moy@adacore.com>
1511
1512 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
1513 mode on subprogram declaration outside of package specification, unless
1514 it is followed by a pragma Import
1515 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
1516 Access_Type_Declaration): issue error in formal mode on access type
1517 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
1518 incomplete type
1519 (Analyze_Object_Declaration): issue error in formal mode on object
1520 declaration which does not respect SPARK restrictions
1521 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
1522 declaration which does not respect SPARK restrictions
1523 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
1524 error in formal mode on digits or delta constraint
1525 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
1526 decimal fixed point type
1527 (Derived_Type_Declaration): issue error in formal mode on derived type
1528 other than type extensions of tagged record types
1529 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
1530 with check on access definition
1531 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
1532 mode on protected definition.
1533 (Analyze_Task_Definition): issue error in formal mode on task definition
1534
15352011-08-02 Robert Dewar <dewar@adacore.com>
1536
1537 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
1538
15392011-08-02 Javier Miranda <miranda@adacore.com>
1540
1541 * sem_ch6.adb (Can_Override_Operator): New function.
1542 (Verify_Overriding_Indicator): Add missing code to check overriding
1543 indicator in operators. Fixes regression.
1544 (Check_Overriding_Indicator): Minor reformating after replacing the
1545 code that evaluates if the subprogram can override an operator by
1546 invocations to the above new function.
1547 * einfo.adb
1548 (Write_Field26_Name): Add missing code to ensure that, following
1549 the documentation in einfo.ads, this field is not shown as attribute
1550 "Static_Initialization" on non-dispatching functions.
1551
15522011-08-02 Jose Ruiz <ruiz@adacore.com>
1553
1554 * sem_res.adb (Resolve_Call): A call to
1555 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
1556 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
1557 i.e., when the second parameter is of type Time_Span.
1558
15592011-08-02 Vincent Celier <celier@adacore.com>
1560
1561 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
1562 with an archive instead of -L<library dir> -l<library name>.
1563
15642011-08-02 Ed Schonberg <schonberg@adacore.com>
1565
1566 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
1567 mark the base types In_Use in addition to making the operations
1568 use_visible.
1569
15702011-08-02 Ed Falis <falis@adacore.com>
1571
1572 * init.c: add and setup __gnat_signal_mask for the exception signals
1573 * s-inmaop-vxworks.adb: new file.
1574 * s-intman-vxworks.adb: remove unnecessary initializations and
1575 simplify remaining
1576 * s-intman-vxworks.ads: remove unnecessary variable
1577 * s-taprop-vxworks.adb: simplify signal initialization
1578
15792011-08-02 Robert Dewar <dewar@adacore.com>
1580
1581 * sem_ch8.adb: Minor code reorganization, comment updates.
1582
15832011-08-02 Robert Dewar <dewar@adacore.com>
1584
1585 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
1586 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
1587 here from Sem_Res.
1588 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
1589 (Matching_Static_Array_Bounds): Moved here from Sem_Res
1590
15912011-08-02 Ed Schonberg <schonberg@adacore.com>
1592
1593 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
1594 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
1595 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
1596 use_type_clauses, to handle more efficiently use_type and use_all_type
1597 constructs.
1598 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
1599 Ada2012 Use_All_Type clause.
1600 (Use_Class_Wide_Operations): new procedure.
1601
16022011-08-02 Robert Dewar <dewar@adacore.com>
1603
1604 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
1605 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
1606 expression to expression function.
1607
16082011-08-02 Ed Schonberg <schonberg@adacore.com>
1609
1610 * sem_ch4.adb: transform simple Ada2012 membership into equality only
1611 if types are compatible.
1612
16132011-08-02 Yannick Moy <moy@adacore.com>
1614
1615 * sem_res.adb (Matching_Static_Array_Bounds): new function which
1616 returns True if its argument array types have same dimension and same
1617 static bounds at each index.
1618 (Resolve_Actuals): issue an error in formal mode on actuals passed as
1619 OUT or IN OUT paramaters which are not view conversions in SPARK.
1620 (Resolve_Arithmetic_Op): issue an error in formal mode on
1621 multiplication or division with operands of fixed point types which are
1622 not qualified or explicitly converted.
1623 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
1624 Boolean or array type (except String) operands.
1625 (Resolve_Equality_Op): issue an error in formal mode on equality
1626 operators for array types other than String with non-matching static
1627 bounds.
1628 (Resolve_Logical_Op): issue an error in formal mode on logical operators
1629 for array types with non-matching static bounds. Factorize the code in
1630 Matching_Static_Array_Bounds.
1631 (Resolve_Qualified_Expression): issue an error in formal mode on
1632 qualified expressions for array types with non-matching static bounds.
1633 (Resolve_Type_Conversion): issue an error in formal mode on type
1634 conversion for array types with non-matching static bounds
1635
16362011-08-02 Robert Dewar <dewar@adacore.com>
1637
1638 * par-ch10.adb: Minor code reorganization (use Nkind_In).
1639
16402011-08-02 Ed Schonberg <schonberg@adacore.com>
1641
1642 * par-ch9.adb: save location of entry for proper error message.
1643
16442011-08-02 Javier Miranda <miranda@adacore.com>
1645
1646 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
1647 (Use_Full_View) which permits this routine to climb through the
1648 ancestors using the full-view of private parents.
1649 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
1650 Use_Full_View to true in calls to Is_Ancestor.
1651 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
1652 true in call to Is_Ancestor.
1653 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
1654 Use_Full_View to true in call to Is_Ancestor.
1655 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
1656 call to Is_Ancestor.
1657 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
1658 Use_Full_View to true in calls to Is_Ancestor.
1659 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
1660 Make_Select_Specific_Data_Table, Register_Primitive,
1661 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
1662 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
1663 to true in call to Is_Ancestor.
1664 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
1665 Use_Full_View to true in calls to Is_Ancestor.
1666 * exp_cg.adb
1667 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
1668 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
1669
16702011-08-02 Robert Dewar <dewar@adacore.com>
1671
1672 * gnat_rm.texi: Minor reformatting.
1673 * sem_prag.adb: Minor reformatting.
1674
16752011-08-02 Tristan Gingold <gingold@adacore.com>
1676
1677 * vms_data.ads: Add VMS qualifier for -gnateP.
1678
16792011-08-02 Robert Dewar <dewar@adacore.com>
1680
1681 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
1682 * par-ch7.adb (P_Package): Proper placement of aspects for package
1683 decl/instantiation.
1684 * par-endh.adb (Check_End): Ad Is_Sloc parameter
1685 (End_Statements): Add Is_Sloc parameterr
1686 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
1687 (Check_End): Ad Is_Sloc parameter
1688 (End_Statements): Add Is_Sloc parameterr
1689
16902011-08-02 Vincent Celier <celier@adacore.com>
1691
1692 * ug_words: Add VMS qualifier equivalent to -gnateP:
1693 /SYMBOL_PREPROCESSING.
1694
16952011-08-02 Jose Ruiz <ruiz@adacore.com>
1696
1697 * gnat-style.texi: For hexadecimal numeric literals the typical
1698 grouping of digits is 4 to represent 2 bytes.
1699 A procedure spec which is split into several lines is indented two
1700 characters.
1701
17022011-08-02 Yannick Moy <moy@adacore.com>
1703
1704 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
1705 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
1706 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
1707 properly qualified
1708 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
1709 choice in array aggregate
1710 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
1711 mark as ancestor
1712 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
1713 positional and named aggregate for record, or others in record
1714 aggregate, or multiple choice in record aggregate
1715 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
1716 array operands to logical operations AND, OR and XOR do not have the
1717 same static lower and higher bounds
1718 * sem_ch5.adb, sinfo.ads: Correct typos in comments
1719
17202011-08-01 Robert Dewar <dewar@adacore.com>
1721
1722 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
1723 Replaces Last_Source_Node_In_Sequence.
1724 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
1725 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
1726 parens and blank in string (this was inconsistently implemented).
1727 * errout.ads
1728 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
1729 blank in string (this was inconsistently implemented).
1730 * gnat1drv.adb
1731 (Set_Global_Switches): Set formal mode switches appropriately
1732 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
1733 * par-prag.adb
1734 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
1735 call Set_Error_Msg_Lang to set "spark" as language name.
1736 * par.adb: Remove unnecessary call to set formal language for errout
1737 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
1738 appropriately and call Set_Error_Msg_Lang to set "spark" as language
1739 name.
1740 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
1741 calls to it, moved after resolution so that types are known
1742 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
1743 result of concatenation is not of type String
1744 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
1745 concatenation is not properly restricted
1746 * gnat_rm.texi: Add doc on pragma Spark_95.
1747 * gcc-interface/Makefile.in: Remove obsolete target pairs for
1748 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
1749 * gcc-interface/Make-lang.in: Update dependencies.
1750
17512011-08-01 Javier Miranda <miranda@adacore.com>
1752
1753 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
1754 condition that detects if the overridden operation must replace an
1755 existing entity.
1756
17572011-08-01 Javier Miranda <miranda@adacore.com>
1758
1759 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
1760 code declarations inserted by Insert_Actions in each alternative of the
1761 N_Case_Expression node.
1762
17632011-08-01 Robert Dewar <dewar@adacore.com>
1764
1765 * sem_ch6.adb: Minor code reorganization.
1766 * sem_util.adb: Minor reformatting.
1767
17682011-08-01 Pascal Obry <obry@adacore.com>
1769
1770 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
1771 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
1772
17732011-08-01 Yannick Moy <moy@adacore.com>
1774
1775 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
1776 literal or operator symbol which is prefixed
1777 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
1778 mode on access attributes.
1779 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
1780 that concatenation operands are properly restricted in formal mode
1781 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
1782 Analyze_Concatenation_Operand. Issue an error in formal mode if the
1783 result of the concatenation has a type different from String.
1784 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
1785 Analyze_Quantified_Expression, Analyze_Slice,
1786 Analyze_Null): issue an error in formal mode on unsupported constructs
1787 * sem_ch5.adb
1788 (Analyze_Block_Statement): only issue error on source block statement
1789 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
1790 function which returns the last node in a list of nodes for which
1791 Comes_From_Source returns True, if any
1792 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
1793 Last_Source_Node_In_Sequence
1794 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
1795 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
1796 mode on unsupported constructs
1797 * sem_ch9.adb Do not return after issuing error in formal mode, as the
1798 rest of the actions may be needed later on since the error is marked as
1799 not serious.
1800 * sinfo.ads: Typos in comments.
1801
18022011-08-01 Pascal Obry <obry@adacore.com>
1803
1804 * projects.texi: Minor editing.
1805
18062011-08-01 Yannick Moy <moy@adacore.com>
1807
1808 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
1809 insertion character ~~
1810 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
1811 (Set_Error_Msg_Lang): new procedure which fixes the language for use
1812 with insertion character ~~
1813 (Set_Msg_Text): treat insertion character ~~
1814 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
1815 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
1816 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
1817 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
1818 errors related to the formal language restriction not serious
1819 (insertion character |).
1820 * par.adb (Par): set formal language for error messages if needed
1821 * sem_ch6.adb (Check_Missing_Return): take into account possible
1822 generated statements at the end of the function
1823 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
1824 enumeration value to define a new pragma SPARK_95
1825 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
1826 SPARK_Version): new type and variables to store the SPARK version
1827 (none by default).
1828 (SPARK_Mode): return True when SPARK_Version is set
1829 * par-prag.adb: Correct indentation
1830 (Prag): take Pragma_SPARK_95 into account
1831 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
1832 into account.
1833
18342011-08-01 Robert Dewar <dewar@adacore.com>
1835
1836 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
1837 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
1838 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
1839
18402011-08-01 Pascal Obry <obry@adacore.com>
1841
1842 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
1843 Target_Name to Get_Path call.
1844 (Parse_Single_Project): Likewise.
1845 (Post_Parse_Context_Clause): Likewise.
1846 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
1847 Call Initialise_Project_Path with the proper Target_Name.
1848 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
1849 search path.
1850 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
1851 with the proper Target_Name.
1852 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
1853 Part.Parse routine.
1854 (Parse_Project_And_Apply_Config): Likewise.
1855 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
1856 This is fine as this part of the code is supporting only native
1857 compilation.
1858 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
1859 is fine as this part of the code is supporting only native compilation.
1860
18612011-08-01 Yannick Moy <moy@adacore.com>
1862
1863 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
1864 of homonym, unless the homonym is one of the cases allowed in SPARK
1865 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
1866 package declaration occurring after a body.
1867
18682011-08-01 Robert Dewar <dewar@adacore.com>
1869
1870 * checks.adb, exp_ch4.adb: Minor reformatting.
1871
18722011-08-01 Javier Miranda <miranda@adacore.com>
1873
1874 * einfo.ads (Access_Disp_Table): Fix documentation.
1875 (Dispatch_Table_Wrappers): Fix documentation.
1876
18772011-08-01 Pascal Obry <obry@adacore.com>
1878
1879 * prj-env.adb, prj-env.ads: Minor reformatting.
1880
18812011-08-01 Yannick Moy <moy@adacore.com>
1882
1883 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
1884 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
1885 procedures out of these packages.
1886 * errout.ads, errout.adb
1887 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
1888 procedures in of this package
1889 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
1890 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
1891 on misplaced later vs initial declarations, like in Ada 83
1892 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
1893 formal mode on attribute of private type whose full type declaration
1894 is not visible
1895 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
1896 package declaration inside a package specification
1897 (Analyze_Full_Type_Declaration): issue error in formal mode on
1898 controlled type or discriminant type
1899 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
1900 user-defined operator means that it should come from the source
1901 (New_Overloaded_Entity): issue error in formal mode on overloaded
1902 entity.
1903 * sem_ch6.ads, sem_ch13.ads: typos in comments.
1904
19052011-08-01 Thomas Quinot <quinot@adacore.com>
1906
1907 * atree.adb: Minor reformatting.
1908 * checks.adb: Minor reformatting.
1909
19102011-08-01 Vincent Celier <celier@adacore.com>
1911
1912 * s-parame-vms-ia64.ads: Fix typo in comment
1913 Minor reformatting
1914 * s-parame-vms-restrict.ads: Removed, unused.
1915
19162011-08-01 Javier Miranda <miranda@adacore.com>
1917
1918 * exp_ch3.adb
1919 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
1920 * sem_ch3.adb
1921 (Constrain_Index): Remove side effects in the evaluation of the bounds.
1922 * sem_ch3.ads, sem_ch3.adb
1923 (Is_Constant_Bound): New extended version of the subprogram that was
1924 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
1925 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
1926 * sem_aux.ads (Constant_Value): Fix typo in comment.
1927 * checks.adb (Generate_Index_Checks): New implementation which, for
1928 array objects with constant bounds, generates the runtime check
1929 referencing the bounds of the array type. For other cases this routine
1930 provides its previous behavior obtaining such values from the array
1931 object.
1932 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
1933 parent type.
1934 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
1935 we cannot have semantic interpretations of the new node.
1936
19372011-08-01 Ed Schonberg <schonberg@adacore.com>
1938
1939 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
1940 expressions.
1941
19422011-08-01 Arnaud Charlet <charlet@adacore.com>
1943
1944 * sem_ch8.adb: Minor code editing.
1945 * s-vxwext.adb: Remove trailing space.
1946 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
1947 consistency with other files.
1948
19492011-08-01 Thomas Quinot <quinot@adacore.com>
1950
1951 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
1952
19532011-08-01 Ed Schonberg <schonberg@adacore.com>
1954
1955 * par-ch10.adb: reject parameterized expressions as compilation unit.
1956 * sem_ch4.adb: handle properly conditional expression with overloaded
1957 then_clause and no else_clause.
1958
19592011-08-01 Tristan Gingold <gingold@adacore.com>
1960
1961 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
1962 like done by System.Aux_DEC.
1963 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
1964
19652011-08-01 Yannick Moy <moy@adacore.com>
1966
1967 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
1968 missing label at end of declaration (subprogram or package)
1969 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
1970 of positional and named parameter association
1971 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
1972 Error_Msg_SP which adds a prefix to the error message giving the name
1973 of the formal language analyzed
1974 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
1975 access result type in subprogram, unconstrained array as result type,.
1976 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
1977 procedure
1978 * sem_ch8.adb: Code clean up.
1979
19802011-08-01 Javier Miranda <miranda@adacore.com>
1981
1982 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
1983 * einfo.ads (Access_Disp_Table): Fix documentation.
1984 (Dispatch_Table_Wrappers): Fix documentation.
1985 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
1986 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
1987 to enforce the documentation of this attribute.
1988 (Set_Is_Interface): Cleanup the assertion.
1989 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
1990 the Underlying_Type entity before reading attribute Access_Disp_Table.
1991 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
1992 Locate the Underlying_Type before reading attribute Access_Disp_Table.
1993 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
1994 the Underlying_Type entity before reading attribute Access_Disp_Table.
1995 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
1996 Locate the Underlying_Type entity before reading attribute
1997 Access_Disp_Table.
1998
19992011-08-01 Ed Schonberg <schonberg@adacore.com>
2000
2001 * s-poosiz.ads: Additional overriding indicators.
2002
20032011-08-01 Yannick Moy <moy@adacore.com>
2004
2005 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
2006 formal mode.
2007 (Analyze_Iteration_Scheme): issue error in formal mode when loop
2008 parameter specification does not include a subtype mark.
2009 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
2010 formal mode on abstract subprogram.
2011 (Analyze_Subprogram_Specification): issue error in formal mode on
2012 user-defined operator.
2013 (Process_Formals): issue error in formal mode on access parameter and
2014 default expression.
2015 * sem_ch9.adb (Analyze_Abort_Statement,
2016 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
2017 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
2018 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
2019 Analyze_Requeue, Analyze_Selective_Accept,
2020 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
2021 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
2022 issue error in formal mode on user-defined raise statement.
2023
20242011-08-01 Thomas Quinot <quinot@adacore.com>
2025
2026 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
2027 declaration being hidden when overriding an implicit inherited
2028 subprogram.
2029 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
2030 (-gnats), do not complain about a source file that contains only a
2031 pragma No_Body.
2032
20332011-08-01 Ed Schonberg <schonberg@adacore.com>
2034
2035 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
2036 variable if already set.
2037
20382011-08-01 Arnaud Charlet <charlet@adacore.com>
2039
2040 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
2041 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
2042 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
2043 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
2044 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
2045 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
2046 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
2047 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
2048 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
2049 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
2050 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
2051 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
2052 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
2053 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
2054 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
2055 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
2056 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
2057 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
2058 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
2059 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
2060 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
2061 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
2062 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
2063 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
2064 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
2065 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
2066 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
2067 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
2068 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
2069 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
2070 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
2071 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
2072 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
2073 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
2074 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
2075 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
2076 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
2077 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
2078 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
2079 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
2080 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
2081 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
2082 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
2083 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
2084 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
2085 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
2086 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
2087 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
2088 s-osinte-mingw.ads: Update to GPLv3 run-time license.
2089 Use GNAT instead of GNARL.
2090
20912011-08-01 Bob Duff <duff@adacore.com>
2092
2093 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
2094 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
2095 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
2096 reformatting.
2097
20982011-08-01 Yannick Moy <moy@adacore.com>
2099
2100 * debug.adb (d.D) reverve flag for the SPARK mode
2101 (d.E) reverve flag for SPARK generation mode
2102 (d.F) reverve flag for Why generation mode
2103 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
2104 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
2105 functions which return True when the corresponding modes are set
2106 (Formal_Language): return "spark" or "alfa" when in formal verification
2107 mode.
2108 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
2109 Error_Msg to prefix the error message with a tag giving the formal
2110 language
2111 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
2112 message with a tag giving the formal language
2113 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
2114 block statement
2115 (Analyze_Case_Statement): issue error in formal mode on case statement
2116 with a single "others" case alternative
2117 (Analyze_Exit_Statement): issue errors in formal mode on exit
2118 statements which do not respect SPARK restrictions
2119 (Analyze_Goto_Statement): issue error in formal mode on goto statement
2120 (Check_Unreachable_Code): always issue an error (not a warning) in
2121 formal mode on unreachable code (concerns both code after an infinite
2122 loop and after an unconditional jump, both not allowed in SPARK)
2123 * sem_ch6.adb (Analyze_Return_Statement): add call to
2124 Set_Return_Present for a procedure containing a return statement
2125 (already done for functions in Analyze_Function_Return)
2126 (Analyze_Function_Return): issue error in formal mode on extended
2127 return or if return is not last statement in function
2128 (Check_Missing_Return): issue error in formal mode if function does
2129 not end with return or if procedure contains a return
2130 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
2131 function to detect if there is an inner scope of its parameter S which
2132 is a loop.
2133
21342011-08-01 Thomas Quinot <quinot@adacore.com>
2135
2136 * sem_ch6.ads: Minor reformatting.
2137
21382011-08-01 Javier Miranda <miranda@adacore.com>
2139
2140 * sem_util.adb (Abstract_Interface_List): Complete condition when
2141 processing private type declarations to avoid reading unavailable
2142 attribute.
2143 (Is_Synchronized_Tagged_Type): Complete condition when processing
2144 private extension declaration nodes to avoid reading unavailable
2145 attribute.
2146
21472011-08-01 Thomas Quinot <quinot@adacore.com>
2148
2149 * sem_ch3.adb: Minor reformatting.
2150
21512011-08-01 Thomas Quinot <quinot@adacore.com>
2152
2153 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
2154 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
2155 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
2156 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
2157 for VMS, instead parametrize the common implementation with
2158 System.Parameters declarations.
2159
21602011-08-01 Eric Botcazou <ebotcazou@adacore.com>
2161
2162 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
2163
21642011-08-01 Tristan Gingold <gingold@adacore.com>
2165
2166 * seh_init.c: Fix SEH handler installation on win64.
2167
21682011-08-01 Ed Schonberg <schonberg@adacore.com>
2169
2170 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
2171 double analysis of an anonymous access to subprogram, because it can
2172 lead to improper sharing of profiles and a back-end crash.
2173
21742011-08-01 Robert Dewar <dewar@adacore.com>
2175
2176 * make.adb, sem_ch4.adb: Minor reformatting.
2177 * gcc-interface/Make-lang.in: Update dependencies.
2178 * sem_util.adb, exp_ch5.adb: Minor reformatting.
2179
21802011-08-01 Arnaud Charlet <charlet@adacore.com>
2181
2182 * gnat_rm.texi: Fix definition of Long_Integer.
2183
21842011-08-01 Ed Schonberg <schonberg@adacore.com>
2185
2186 * exp_aggr.adb: check limit size of static aggregate unconditionally,
2187 to prevent storage exhaustion.
2188 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
2189 finalized is a function body, insert the cleanup code before the final
2190 return statement, to prevent spurious warnings.
2191 * s-pooglo.ads: add overriding indicator.
2192
21932011-08-01 Ed Schonberg <schonberg@adacore.com>
2194
2195 * sem_ch4.adb (Operator_Check): improve error message when both a
2196 with_clause and a use_clause are needed to make operator usage legal.
2197 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
2198 determine whether a compilation unit is visible within an other,
2199 either through a with_clause in the current unit, or a with_clause in
2200 its library unit or one one of its parents.
2201
22022011-08-01 Ed Schonberg <schonberg@adacore.com>
2203
2204 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
2205 over an arbitrary expression of an array or container type.
2206 * lib-xref.adb: clarify comment.
2207
22082011-08-01 Bob Duff <duff@adacore.com>
2209
2210 * einfo.ads: Minor reformatting.
2211 * debug.adb: Minor comment improvement.
2212
22132011-08-01 Javier Miranda <miranda@adacore.com>
2214
2215 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
2216 consider hidden subprograms as valid candidates.
2217
22182011-08-01 Arnaud Charlet <charlet@adacore.com>
2219
2220 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
2221
22222011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
2223
2224 * gnat_ugn.texi: Fix typo.
2225
22262011-08-01 Robert Dewar <dewar@adacore.com>
2227
2228 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
2229 lib-xref.adb: Minor reformatting
2230
22312011-08-01 Gary Dismukes <dismukes@adacore.com>
2232
2233 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
2234 when to generate a call to Move_Final_List.
2235 (Has_Controlled_Parts): Remove this function.
2236
22372011-08-01 Geert Bosch <bosch@adacore.com>
2238
2239 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
2240 "," in choice list.
2241
22422011-08-01 Thomas Quinot <quinot@adacore.com>
2243
2244 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
2245 explicit raise of a predefined exception as Comes_From_Source if the
2246 original N_Raise_Statement comes from source.
2247
22482011-08-01 Robert Dewar <dewar@adacore.com>
2249
2250 * sinfo.ads: Add comment.
2251 * sem_ch6.adb: Minor reformatting.
2252
22532011-08-01 Robert Dewar <dewar@adacore.com>
2254
2255 * freeze.adb (Freeze_Entity): Refine check for bad component size
2256 clause to avoid rejecting confirming clause when atomic/aliased present.
2257
22582011-08-01 Ed Schonberg <schonberg@adacore.com>
2259
2260 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
2261 better determine whether an entity reference is a write.
2262 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
2263 subcomponent.
2264 * lib-xref.adb (Output_References): Do no suppress a read reference at
2265 the same location as an immediately preceeding modify-reference, to
2266 handle properly in-out actuals.
2267
22682011-08-01 Tristan Gingold <gingold@adacore.com>
2269
2270 * env.c (__gnat_setenv) [VMS]: Refine previous change.
2271
22722011-08-01 Quentin Ochem <ochem@adacore.com>
2273
2274 * i-cstrin.adb (New_String): Changed implementation, now uses only the
2275 heap to compute the result.
2276
22772011-08-01 Robert Dewar <dewar@adacore.com>
2278
2279 * atree.ads: Minor reformatting.
2280
22812011-08-01 Emmanuel Briot <briot@adacore.com>
2282
2283 * g-expect.adb (Get_Command_Output): Fix memory leak.
2284
22852011-08-01 Geert Bosch <bosch@adacore.com>
2286
2287 * cstand.adb (P_Float_Type): New procedure to print the definition of
2288 predefined fpt types.
2289 (P_Mixed_Name): New procedure to print a name using mixed case
2290 (Print_Standard): Use P_Float_Type for printing floating point types
2291 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
2292 precision IEEE float.
2293
22942011-08-01 Thomas Quinot <quinot@adacore.com>
2295
2296 * sem_ch3.adb: Minor reformatting.
2297
22982011-08-01 Ed Schonberg <schonberg@adacore.com>
2299
2300 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
2301 the completion of a generic function, insert the new body rather than
2302 rewriting the original.
2303
23042011-08-01 Yannick Moy <moy@adacore.com>
2305
2306 * sinfo.ads, errout.ads: Typos in comments.
2307
23082011-08-01 Robert Dewar <dewar@adacore.com>
2309
2310 * par-endh.adb: Minor reformatting.
2311
23122011-08-01 Robert Dewar <dewar@adacore.com>
2313
2314 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
2315 (Pre_Post_Aspects): New subtype.
2316 * par-ch12.adb (P_Generic): New syntax for aspects in packages
2317 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
2318 * par-ch7.adb (P_Package): Remove Decl parameter
2319 (P_Package): Handle new syntax for aspects (before IS)
2320 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
2321 new aspect syntax
2322 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
2323 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
2324 (P_Package): Remove Decl parameter
2325 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
2326 aspects
2327 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
2328 specs
2329 * sem_util.ads, sem_util.adb (Static_Boolean): New function
2330 * sinfo.ads: Document new syntax for aspects in packages etc.
2331 * sprint.adb: Handle new syntax of aspects before IS in package
2332
23332011-08-01 Thomas Quinot <quinot@adacore.com>
2334
2335 * atree.ads: Minor reformatting.
2336 * sem_prag.adb: Minor reformatting.
2337
23382011-08-01 Robert Dewar <dewar@adacore.com>
2339
2340 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
2341 case expr alternative.
2342
23432011-08-01 Ed Schonberg <schonberg@adacore.com>
2344
2345 * sem_ch12.adb: Fix typo.
2346
23472011-08-01 Geert Bosch <bosch@adacore.com>
2348
2349 * sem_prag.adb (Check_No_Link_Name): New procedure.
2350 (Process_Import_Or_Interface): Use Check_No_Link_Name.
2351 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
2352 instead of Standard_Long_Long_Float_Size global. Preparation for
2353 eventual removal of per type constants.
2354 * exp_util.ads (Get_Stream_Size): New function returning the stream
2355 size value of subtype E.
2356 * exp_util.adb (Get_Stream_Size): Implement new function.
2357 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
2358 function.
2359 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
2360 * einfo.adb:
2361 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
2362
23632011-08-01 Geert Bosch <bosch@adacore.com>
2364
2365 * cstand.adb: Fix comments.
2366 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
2367 count of arguments.
2368
23692011-08-01 Robert Dewar <dewar@adacore.com>
2370
2371 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
2372
23732011-08-01 Geert Bosch <bosch@adacore.com>
2374
2375 * atree.ads: Fix comment.
2376
23772011-08-01 Robert Dewar <dewar@adacore.com>
2378
2379 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
2380 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
2381 * par.adb: Add with for Namet.Sp.
2382 * par-tchk.adb: Minor reformatting.
2383
23842011-08-01 Vincent Celier <celier@adacore.com>
2385
2386 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
2387 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
2388 of the init procedure of a SAL.
2389 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
2390 New procedure.
2391
23922011-08-01 Thomas Quinot <quinot@adacore.com>
2393
2394 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
2395 reformatting.
2396
23972011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2398
2399 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
2400
24012011-08-01 Thomas Quinot <quinot@adacore.com>
2402
2403 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
2404 conformant with its spec (return True only for types that have
2405 an overriding Initialize primitive operation that prevents them from
2406 having preelaborable initialization).
2407 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
2408 initialization for controlled types in Ada 2005 or later mode.
2409
24102011-08-01 Robert Dewar <dewar@adacore.com>
2411
2412 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
2413 Postcondition.
2414 (Same_Aspect): New function.
2415 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
2416 Type_Invariant, Precondition, Postcondition.
2417 * snames.ads-tmpl: Add Name_Type_Invariant.
2418
24192011-08-01 Robert Dewar <dewar@adacore.com>
2420
2421 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
2422 here.
2423 (Freeze_All_Ent): Fix error in handling inherited aspects.
2424 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
2425 already analyzed, but don't skip entire processing of a declaration,
2426 that's wrong in some cases of declarations being rewritten.
2427 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
2428 Don't delay for integer, string literals
2429 Treat predicates in usual manner for delay, remove special case code,
2430 not needed.
2431 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
2432 (Build_Predicate_Function): Update saved expression in aspect
2433 (Build_Invariant_Procedure): Update saved expression in aspect
2434 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
2435 of replacement of discriminant references if the reference is simple.
2436
24372011-08-01 Robert Dewar <dewar@adacore.com>
2438
2439 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
2440 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
2441 Static_Predicate and Dynamic_Predicate.
2442 (Build_Predicate_Function): Add processing for Static_Predicate
2443 and Dynamic_Predicate.
2444 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
2445 (From_Static_Predicate): New flag
2446 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
2447
24482011-08-01 Robert Dewar <dewar@adacore.com>
2449
2450 * usage.adb: Documentation cleanup for Ada version modes in usage.
2451 * expander.adb: Minor reformatting.
2452
24532011-08-01 Robert Dewar <dewar@adacore.com>
2454
2455 * atree.ads: Minor comment fix.
2456 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
2457 a-witeio.ads, sem_prag.adb: Minor reformatting.
2458
24592011-08-01 Doug Rupp <rupp@adacore.com>
2460
2461 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
2462 pointers. Use descrip.h header file for convenience. Add some
2463 comments.
2464
24652011-08-01 Robert Dewar <dewar@adacore.com>
2466
2467 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
2468 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
2469 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
2470 New procedure.
2471 (Check_Aspect_At_End_Of_Declarations): New procedure
2472 (Analye_Aspect_Specification): Minor changes for above procedures
2473 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
2474 specification node as well.
2475
24762011-08-01 Pascal Obry <obry@adacore.com>
2477
2478 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
2479 Windows files. Use GetFilesAttributes() in this case to check for file
2480 existence instead of returning with an error code.
2481
24822011-08-01 Vincent Celier <celier@adacore.com>
2483
2484 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
2485 High is above Source length.
2486
24872011-08-01 Robert Dewar <dewar@adacore.com>
2488
2489 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
2490
24912011-08-01 Robert Dewar <dewar@adacore.com>
2492
2493 * aspects.ads (Boolean_Aspects): New subtype.
2494 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
2495 for derived types in cases where the parent type and derived type have
2496 aspects.
2497 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
2498 with aspects when parent type also has aspects.
2499 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
2500 boolean expression at this point).
2501 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
2502 accordance with final decision on the Ada 2012 feature.
2503 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
2504
25052011-08-01 Matthew Heaney <heaney@adacore.com>
2506
2507 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
2508
25092011-08-01 Pascal Obry <obry@adacore.com>
2510
2511 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
2512 Fix Replace_Slice when High is above current string size.
2513 (Replace_Slice): Fix DL computation when High is above current
2514 string length.
2515
25162011-08-01 Gary Dismukes <dismukes@adacore.com>
2517
2518 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
2519
25202011-08-01 Matthew Heaney <heaney@adacore.com>
2521
2522 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
2523 of node.
2524
25252011-08-01 Pascal Obry <obry@adacore.com>
2526
2527 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
2528 reformatting.
2529
25302011-08-01 Ed Schonberg <schonberg@adacore.com>
2531
2532 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
2533 access to protected subprograms in generic bodies.
2534 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
2535 protected type, indicate that the convention of the subprogram is
2536 Convention_Protected, because it may be used in subsequent declarations
2537 within the protected declaration.
2538
25392011-08-01 Vincent Celier <celier@adacore.com>
2540
2541 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
2542 and "final" procedures when the name of the library is "ada", to avoid
2543 duplicate symbols "adainit" and "adafinal" in executables.
2544
25452011-08-01 Ed Schonberg <schonberg@adacore.com>
2546
2547 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
2548 quantified expression that appears within a postcondition and uses the
2549 Ada2012 'Result attribute.
2550
25512011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2552
2553 * init.c (__gnat_error_handler): Cast reason to int.
2554 (__gnat_install_handler): Explain sa_sigaction use.
2555
25562011-07-24 Eric Botcazou <ebotcazou@adacore.com>
2557
2558 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
2559 subprogram has copy-in copy-out parameters, try to promote the mode of
2560 the return type if it is passed in registers.
2561
25622011-07-24 Eric Botcazou <ebotcazou@adacore.com>
2563
2564 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
2565 left operand as addressable.
2566
25672011-07-24 Eric Botcazou <ebotcazou@adacore.com>
2568
2569 * gcc-interface/gigi.h (build_function_stub): Remove.
2570 (build_return_expr): Likewise.
2571 (convert_vms_descriptor): Declare.
2572 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
2573 (build_function_stub): Move to...
2574 * gcc-interface/utils2.c (build_return_expr): Move to...
2575 * gcc-interface/trans.c (build_function_stub): ...here.
2576 (build_return_expr): ...here.
2577 (Subprogram_Body_to_gnu): Add local variable for language_function.
2578 Disconnect the parameter attributes cache, if any, once done with it.
2579 Call end_subprog_body only after setting the end_locus.
2580 Build the stub associated with the function, if any, at the very end.
2581 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
2582 variables and streamline control flow.
2583
25842011-07-23 Arnaud Charlet <charlet@adacore.com>
2585
2586 PR ada/49819
2587 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
2588 g-trasym-dwarf.adb.
2589
25902011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2591
2592 PR bootstrap/49794
2593 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
2594 Assign to act.sa_sigaction.
2595 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
2596 current->return_address to char * before arithmetic.
2597
25982011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2599
2600 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
2601 Correct argument types.
2602 Extract code from reason.
2603 (__gnat_install_handler): Assign to act.sa_sigaction.
2604
26052011-07-21 Eric Botcazou <ebotcazou@adacore.com>
2606
2607 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
2608 (GNAT1_OBJS): ...here.
2609
26102011-07-15 Eric Botcazou <ebotcazou@adacore.com>
2611
2612 PR ada/48711
2613 * g-socthi-mingw.adb (Fill): Fix formatting.
2614
2615 * gcc-interface/gigi.h: Move around comment.
2616
26172011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2618
2619 PR ada/46350
2620 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
2621
26222011-07-14 Florian Weimer <fw@deneb.enyo.de>
2623
2624 PR ada/48711
2625 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
2626
26272011-07-13 Eric Botcazou <ebotcazou@adacore.com>
2628
2629 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
2630 range comparison if Pmode is SImode.
2631
26322011-07-12 Laurent GUERBY <laurent@guerby.net>
2633 Eric Botcazou <ebotcazou@adacore.com>
2634
2635 * adadecode.c: Wrap up in extern "C" block.
2636 * adadecode.h: Likewise.
2637 * adaint.c: Likewise. Remove 'const' keyword.
2638 * adaint.h: Likewise.
2639 * argv.c: Likewise.
2640 * atree.h: Likewise.
2641 * cio.c: Likewise.
2642 * cstreams.c: Likewise.
2643 * env.c: Likewise.
2644 * exit.c: Likewise.
2645 * fe.h: Likewise.
2646 * final.c: Likewise.
2647 * init.c: Likewise.
2648 * initialize.c: Likewise.
2649 * link.c: Likewise.
2650 * namet.h: Likewise.
2651 * nlists.h: Likewise.
2652 * raise.c: Likewise.
2653 * raise.h: Likewise.
2654 * repinfo.h: Likewise.
2655 * seh_init.c: Likewise.
2656 * targext.c: Likewise.
2657 * tracebak.c: Likewise.
2658 * uintp.h: Likewise.
2659 * urealp.h: Likewise.
2660 * xeinfo.adb: Wrap up generated C code in extern "C" block.
2661 * xsinfo.adb: Likewise.
2662 * xsnamest.adb: Likewise.
2663 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
2664 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
2665 * gcc-interface/misc.c: Likewise.
2666 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
2667 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
2668 ada/targext.o here...
2669 (GNAT_ADA_OBJS): ...and not here.
2670 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
2671 (GNATBIND_OBJS): Reorder.
2672
26732011-07-07 Richard Henderson <rth@redhat.com>
2674
2675 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
2676 dwarf2out_frame_init.
2677
26782011-07-07 Eric Botcazou <ebotcazou@adacore.com>
2679
2680 * gcc-interface/misc.c (gnat_init): Tweak previous change.
2681
26822011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2683
2684 PR target/39150
2685 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
2686
26872011-07-06 Richard Guenther <rguenther@suse.de>
2688
2689 * gcc-interface/misc.c (gnat_init): Merge calls to
2690 build_common_tree_nodes and build_common_tree_nodes_2.
2691 Re-initialize boolean_false_node.
2692
26932011-07-02 Eric Botcazou <ebotcazou@adacore.com>
2694 Olivier Hainque <hainque@adacore.com>
2695 Nicolas Setton <setton@adacore.com>
2696
2697 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
2698 the type according to the ARTIFICIAL_P parameter.
2699 (create_type_decl): Likewise.
2700 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
2701
27022011-07-01 Eric Botcazou <ebotcazou@adacore.com>
2703
2704 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
2705 (gnatbind): Likewise.
2706
27072011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2708
2709 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
2710
27112011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2712
2713 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
2714 local variable throughout. Remove useless call to Base_Type.
2715 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
2716 Take it also into account for the volatileness of the field. Set the
2717 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
2718
27192011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2720
2721 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
2722 on a dereference built for a by-ref object if it has an address clause.
2723
27242011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2725
2726 * einfo.ads (Address_Taken): Document use for the second argument of
2727 Asm_Input and Asm_Output attributes.
2728 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
2729 argument is an entity name, then set Address_Taken on it.
2730 <Attribute_Asm_Output>: Likewise.
2731 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
2732 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
2733 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
2734 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
2735
27362011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
2737
2738 PR middle-end/46500
2739 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
2740
27412011-06-14 Joseph Myers <joseph@codesourcery.com>
2742
2743 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
2744 (ada/utils.o): Update dependencies.
2745 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
2746 ../../../libcpp/libcpp.a.
2747 * gcc-interface/utils.c: Include common/common-target.h.
2748 (process_attributes): Use targetm_common.have_named_sections.
2749
27502011-06-07 Richard Guenther <rguenther@suse.de>
2751
2752 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
2753 set_sizetype.
2754
27552011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2756
2757 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
2758 TREE_THIS_NOTRAP flag.
2759
27602011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2761
2762 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
2763 Fix thinko.
2764
27652011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2766
2767 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
2768 constants whose full view has discriminants specially.
2769
27702011-06-06 Eric Botcazou <ebotcazou@adacore.com>
2771
2772 * gcc-interface/utils.c: Include diagnostic.h.
2773 (gnat_write_global_declarations): Output debug information for all
2774 global type declarations before finalizing the compilation unit.
2775 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
2776
27772011-05-25 Jakub Jelinek <jakub@redhat.com>
2778
2779 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
2780
27812011-05-25 Kai Tietz <ktietz@redhat.com>
2782
2783 * adaint.c (__gnat_to_canonical_file_list_next): Use array
2784 initialization instead of const/none-const pointer assignment.
2785
27862011-05-24 Joseph Myers <joseph@codesourcery.com>
2787
2788 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
2789 $(EXTRA_GNAT1_OBJS).
2790 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
2791 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
2792 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
2793 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
2794 libcommon-target.a instead of prefix.o.
2795
27962011-05-21 Joseph Myers <joseph@codesourcery.com>
2797
2798 PR ada/49097
2799 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
2800
28012011-05-20 Joseph Myers <joseph@codesourcery.com>
2802
2803 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
2804 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
2805 instead of version.o.
2806
28072011-05-18 Kai Tietz <ktietz@redhat.com>
2808
2809 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
2810 boolean_false_node instead of integer_zero_node.
2811 (convert_with_check): Likewise.
2812 * gcc-interface/decl.c (choices_to_gnu): Likewise.
2813
28142011-05-12 Eric Botcazou <ebotcazou@adacore.com>
2815
2816 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
2817 type of the parameter is an unconstrained array, convert the actual to
2818 the type of the formal in the In Out and Out cases as well.
2819
28202011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2821
2822 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
2823 call build_function_type_array or build_varargs_function_type_array
2824 instead.
2825 (create_subprog_type): Don't call build_function_type; call
2826 build_function_type_vec instead.
2827
28282011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2829
2830 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
2831 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
2832 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
2833
28342011-05-07 Eric Botcazou <ebotcazou@adacore.com>
2835
2836 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
2837
2838 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
2839 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
2840
28412011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2842
2843 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
2844
28452011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2846
2847 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
2848 instead of accessing TYPE_ARG_TYPES directly.
2849 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
2850
28512011-05-05 Eric Botcazou <ebotcazou@adacore.com>
2852
2853 PR ada/48844
2854 * gcc-interface/gigi.h (get_variant_part): Declare.
2855 * gcc-interface/decl.c (get_variant_part): Make global.
2856 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
2857 types have the same constant size, are record types and T1 has a
2858 variant part while T2 doesn't.
2859
28602011-05-05 Eric Botcazou <ebotcazou@adacore.com>
2861
2862 * gcc-interface/utils.c (begin_subprog_body): Do not call
2863 get_pending_sizes.
2864 (end_subprog_body): Likewise.
2865
28662011-05-04 Richard Guenther <rguenther@suse.de>
2867
2868 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
2869 int_const_binop.
2870 (pos_to_constructor): Likewise.
2871
28722011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2873 Eric Botcazou <ebotcazou@adacore.com>
2874
2875 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
2876 of build_function_type. Adjust calls to...
2877 (build_raise_check): ...this. Do not take a void_tree parameter.
2878 Call build_function_type_list instead of build_function_type.
2879 Fix head comment and swap couple of conditional blocks.
2880
28812011-04-30 Eric Botcazou <ebotcazou@adacore.com>
2882
2883 * gnatvsn.ads (Library_Version): Bump to 4.7.
2884 (Current_Year): Bump to 2011.
2885
28862011-04-29 Michael Matz <matz@suse.de>
2887
2888 * gcc-interface/misc.c (gnat_handle_option): Set
2889 warn_maybe_uninitialized.
2890
28912011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
2892
2893 * gnat_ugn.texi (Complexity Metrics Control): Update link to
2894 the Watson/McCabe paper.
2895
28962011-04-23 Jim Meyering <meyering@redhat.com>
2897
2898 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
2899
29002011-04-22 Eric Botcazou <ebotcazou@adacore.com>
2901
2902 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
2903 onto the new type.
2904
29052011-04-22 Eric Botcazou <ebotcazou@adacore.com>
2906
2907 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
2908 parameter.
2909 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
2910 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
2911 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
2912 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
2913 <all>: Do not set flags on the reused DECL node coming from an alias.
2914 Set DECL_IGNORED_P on the DECL node built for subprograms if they
2915 don't need debug info here...
2916 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
2917 (gigi): Adjust calls to create_subprog_decl.
2918 (build_raise_check): Likewise.
2919 (establish_gnat_vms_condition_handler): Likewise.
2920 (Compilation_Unit_to_gnu): Likewise.
2921 (gnat_to_gnu): Likewise.
2922
29232011-04-21 Eric Botcazou <ebotcazou@adacore.com>
2924
2925 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
2926 (NO_REORDER_ADAFLAGS): New variable.
2927 (EXTRA_GNATTOOLS): Always define.
2928 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
2929 Clean up and adjust list of files compiled with special options.
2930 * gcc-interface/Make-lang.in: Likewise.
2931 (ada/decl.o): Cosmetical change.
2932 (ada/misc.o): Remove dependency on $(PLUGIN_H).
2933
29342011-04-20 Jim Meyering <meyering@redhat.com>
2935
2936 * initialize.c (__gnat_initialize): Remove useless if-before-free.
2937
29382011-04-17 Eric Botcazou <ebotcazou@adacore.com>
2939
2940 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
2941 $(CFLAGS) on the link line.
2942
29432011-04-17 Eric Botcazou <ebotcazou@adacore.com>
2944
2945 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
2946 padded type built for the return type if it is unconstrained.
2947
29482011-04-14 Nathan Froyd <froydnj@codesourcery.com>
2949
2950 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
2951
29522011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2953
2954 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
2955 before calling TREE_CHAIN.
2956 * gcc-interface/misc.c (gnat_init_ts): New function.
2957 (LANG_HOOKS_INIT_TS): Define.
2958
29592011-04-12 Martin Jambor <mjambor@suse.cz>
2960
2961 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
2962 instead of cgraph_node.
2963
29642011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2965
2966 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
2967 alignment on fields of the RETURN type built for the Copy-In Copy-Out
2968 mechanism.
2969
29702011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2971
2972 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
2973 of aggregate types that contain a placeholder.
2974
29752011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2976
2977 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
2978 TYPE_ARG_TYPES.
2979 (handle_type_generic_attribute): Likewise.
2980
29812011-04-04 Eric Botcazou <ebotcazou@adacore.com>
2982
2983 PR ada/47163
2984 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
2985
29862011-04-04 Kai Tietz <ktietz@redhat.com>
2987
2988 PR ada/47163
2989 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
2990 to flag value.
2991
29922011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2993
2994 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
2995 type case, do not strip a padding type around the array type.
2996
29972011-04-02 Eric Botcazou <ebotcazou@adacore.com>
2998
2999 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
3000 types.
3001
30022011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3003
3004 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
3005 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
3006 code for -feliminate-unused-debug-types.
3007 (gnat_post_options): Likewise.
3008
30092011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3010
3011 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
3012 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
3013 distinct copy.
3014
30152011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3016
3017 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
3018 DECL_ARTIFICIAL flag on enumeration types.
3019
30202011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3021
3022 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
3023 fat pointer types artificial unconditionally.
3024 <E_Array_Subtype>: Attach the base array type as a parallel type if it
3025 isn't artificial.
3026
30272011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3028
3029 * gcc-interface/gigi.h (get_dummy_type): Declare.
3030 (build_dummy_unc_pointer_types): Likewise.
3031 (finish_fat_pointer_type): Likewise.
3032 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
3033 fat pointer type has been built, complete it in place.
3034 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
3035 and thin pointers. Remove useless variable.
3036 (finish_fat_pointer_type): Make global and move to...
3037 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
3038 (get_dummy_type): New function.
3039 (build_dummy_unc_pointer_types): Likewise.
3040 (gnat_pushdecl): Propage the name to the anonymous variants only.
3041 (update_pointer_to): Only adjust the pointer types in the unconstrained
3042 array case.
3043
30442011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3045
3046 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
3047 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
3048 if this is a Taft amendment type and the full declaration is available.
3049 * gcc-interface/trans.c (process_type): Likewise.
3050 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
3051 (process_freeze_entity): Likewise.
3052 * gcc-interface/utils.c (dummy_global): New static variable.
3053 (gnat_write_global_declarations): If there are types declared as used
3054 at the global level, insert them in the global hash table.
3055
30562011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3057
3058 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
3059 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
3060 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
3061 copy.
3062 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
3063 flag of the type accordingly.
3064 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
3065
30662011-04-02 Eric Botcazou <ebotcazou@adacore.com>
3067
3068 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
3069 finalizing types when updating the pointers to the designated type.
3070 <all>: Finalize the deferred types even if we didn't defer processing
3071 of incomplete types in this invocation.
3072
30732011-04-01 Olivier Hainque <hainque@adacore.com>
3074 Nicolas Setton <setton@adacore.com>
3075 Eric Botcazou <ebotcazou@adacore.com>
3076
3077 * gcc-interface/misc.c (gnat_descriptive_type): New function.
3078 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
3079
30802011-03-28 Kai Tietz <ktietz@redhat.com>
3081
3082 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
3083 Windows targets.
3084 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
3085 * system-mingw.ads (System): Change ZCX_By_Default default to True.
3086
3087 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
3088
30892011-03-28 Tristan Gingold <gingold@adacore.com>
3090
3091 PR ada/44431
3092 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
3093 Use ada output of gnatbind.
3094 (ada/b_gnatb.adb): Ditto.
3095 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
3096 (ada.mostlyclean, ada.stage1)
3097 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
3098 (ada.stagefeedback): Adjust.
3099 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
3100 Use ada output of gnatbind.
3101 (b_gnatm.adb): Ditto.
3102 (b_gnatl.o, b_gnatm.o): New rules.
3103
31042011-03-26 Eric Botcazou <ebotcazou@adacore.com>
3105
3106 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
3107 for the padded type built to support a specified size or alignment.
3108
31092011-03-26 Eric Botcazou <ebotcazou@adacore.com>
3110
3111 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
3112 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
3113 unconditionally to the end of the unit when the designated type is
3114 limited_with'ed.
3115 <all>: Rename local variable. Attempt to un-defer types only and do it
3116 for limited_with'ed types as well.
3117 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
3118 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
3119 consistently and remove redundant call to finalize_from_with_types.
3120
31212011-03-26 Eric Botcazou <ebotcazou@adacore.com>
3122
3123 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
3124 subprograms without a previous spec declared in the same unit.
3125 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
3126 subprograms at the end of the unit instead of at the beginning.
3127 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
3128 isn't public for the special handling of non-inline functions nested
3129 inside inline external functions.
3130
31312011-03-25 Jeff Law <law@redhat.com>
3132
3133 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
3134
31352011-03-24 Eric Botcazou <ebotcazou@adacore.com>
3136
3137 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
3138 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
3139 to compute Set_Size_Depends_On_Discriminant.
3140 (Layout_Type): Call it on array types in back-end layout mode.
3141 * sem_util.adb (Requires_Transient_Scope): Return true for array
3142 types only if the size depends on the value of discriminants.
3143 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
3144 type if the RHS is a call to a function that returns an unconstrained
3145 type with default discriminant.
3146
31472011-03-24 Eric Botcazou <ebotcazou@adacore.com>
3148
3149 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
3150 non-conversion to the nominal result type at the end.
3151
31522011-03-23 Eric Botcazou <ebotcazou@adacore.com>
3153
3154 * gcc-interface/trans.c (create_temporary): New function taken from...
3155 (create_init_temporary): ...here. Call it.
3156 (call_to_gnu): Create the temporary for the return value early, if any.
3157 Create it for a function with copy-in/copy-out parameters if there is
3158 no target; in other cases of copy-in/copy-out, use another temporary.
3159 Push the new binding level lazily. Add and rename local variables.
3160
31612011-03-23 Eric Botcazou <ebotcazou@adacore.com>
3162
3163 * gcc-interface/decl.c (validate_size): Improve comments and tweak
3164 error message.
3165 (set_rm_size): Likewise.
3166
31672011-03-23 Eric Botcazou <ebotcazou@adacore.com>
3168
3169 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
3170 for the padded type built in order to support a specified alignment.
3171 Fix incorrect formatting.
3172
31732011-03-21 Eric Botcazou <ebotcazou@adacore.com>
3174
3175 PR bootstrap/48216
3176 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
3177
31782011-03-21 Eric Botcazou <ebotcazou@adacore.com>
3179
3180 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
3181 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
3182 to the end of the list. Adjust recursive call. Rename local variable.
3183 If REORDER is true, reorder components of the record type.
3184 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
3185 components_to_record and adjust the parameter list.
3186
31872011-03-21 Eric Botcazou <ebotcazou@adacore.com>
3188
3189 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
3190 disabled, use the variable for bounds of loop iteration scheme.
3191
31922011-03-21 Kai Tietz <ktietz@redhat.com>
3193
3194 PR target/12171
3195 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
3196
31972011-03-17 Eric Botcazou <ebotcazou@adacore.com>
3198
3199 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
3200 out whether the expression is read-only. Short-circuit placeholder
3201 case and rename a couple of local variables.
3202
32032011-03-17 Eric Botcazou <ebotcazou@adacore.com>
3204
3205 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
3206 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
3207 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
3208 (convert): Deal with conversions from a smaller form type specially.
3209
32102011-02-14 Eric Botcazou <ebotcazou@adacore.com>
3211
3212 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
3213 its argument, except for the special -I- switch.
3214
32152011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
3216
3217 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
3218 "Ada Issues".
3219
32202011-02-08 Eric Botcazou <ebotcazou@adacore.com>
3221
3222 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
3223
32242011-02-03 Eric Botcazou <ebotcazou@adacore.com>
3225
3226 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
3227 GNAT_FORMAL.
3228 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
3229 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
3230 instead of GNAT_FORMAL. Protect the expression against multiple uses.
3231 Do not generate the check directly, instead instantiate the template
3232 check present in the descriptor.
3233 (make_descriptor_field): Move around.
3234 (build_vms_descriptor32): Build a template check in the POINTER field.
3235 (build_vms_descriptor): Remove useless suffixes.
3236 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
3237
32382011-01-26 Eric Botcazou <ebotcazou@adacore.com>
3239
3240 PR bootstrap/47467
3241 * targext.c: Include target files if IN_RTS is defined.
3242
32432011-01-26 Richard Guenther <rguenther@suse.de>
3244
3245 PR bootstrap/47467
3246 * targext.c: Include config.h.
3247 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
3248 dependency.
3249
32502011-01-04 Pascal Obry <obry@adacore.com>
3251 Eric Botcazou <ebotcazou@adacore.com>
3252
3253 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
3254
32552011-01-04 Eric Botcazou <ebotcazou@adacore.com>
3256
3257 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
3258 end-of-case on the end label and its associated gotos, if any.
3259
32602011-01-04 Eric Botcazou <ebotcazou@adacore.com>
3261
3262 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
3263 expressions of the parameter cache within the statement group of
3264 the CICO mechanism.
3265
32662011-01-04 Olivier Hainque <hainque@adacore.com>
3267 Eric Botcazou <ebotcazou@adacore.com>
3268
3269 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
3270 (set_end_locus_from_node): New function.
3271 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
3272 make and the function end_locus.
3273 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
3274 for the elaboration subprogram.
3275 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
3276 set the end_locus of the expression as well.
3277
32782011-01-04 Eric Botcazou <ebotcazou@adacore.com>
3279
3280 PR ada/47131
3281 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
3282 variables that are referenced in exception handlers volatile.
3283
3284
3285\f
3286Copyright (C) 2011 Free Software Foundation, Inc.
3287
3288Copying and distribution of this file, with or without modification,
3289are permitted in any medium without royalty provided the copyright
3290notice and this notice are preserved.
3291
3292 * gnat_rm.texi: Ramification of pragma Eliminate documentation
3293 - fix bugs in the description of Source_Trace;
3294 - get rid of UNIT_NAME;
3295
4fbad0ba
AC
32962011-08-02 Javier Miranda <miranda@adacore.com>
3297
3298 * exp_ch9.adb
3299 (Build_Dispatching_Requeue): Adding support for VM targets
3300 since we cannot directly reference the Tag entity.
3301 * exp_sel.adb (Build_K): Adding support for VM targets.
3302 (Build_S_Assignment): Adding support for VM targets.
3303 * exp_disp.adb
3304 (Default_Prim_Op_Position): In VM targets do not restrict availability
3305 of predefined interface primitives to compiling in Ada 2005 mode.
3306 (Is_Predefined_Interface_Primitive): In VM targets this service is not
3307 restricted to compiling in Ada 2005 mode.
3308 (Make_VM_TSD): Generate code that declares and initializes the OSD
3309 record. Needed to support dispatching calls through synchronized
3310 interfaces.
3311 * exp_ch3.adb
3312 (Make_Predefined_Primitive_Specs): Enable generation of predefined
3313 primitives associated with synchronized interfaces.
3314 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
3315 primitives associated with synchronized interfaces.
3316
33172011-08-02 Yannick Moy <moy@adacore.com>
3318
3319 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
3320 statements hidden in SPARK if preceded by the HIDE directive
3321 (Parse_Exception_Handlers): mark each exception handler in a sequence of
3322 exception handlers as hidden in SPARK if preceded by the HIDE directive
3323 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
3324 if starting with the HIDE directive
3325 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
3326 starting with the HIDE directive; mark the declarations in a private
3327 part as hidden in SPARK if the private part starts with the HIDE
3328 directive
3329 * restrict.adb, restrict.ads
3330 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
3331 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
3332 argument node belongs to a part which is hidden in SPARK
3333 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
3334 parts in SPARK; protect the possibly costly call to
3335 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
3336 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
3337 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
3338 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
3339 Tok_SPARK_Hide.
3340 (Scan): recognize special comment starting with '#' and followed by
3341 SPARK keyword "hide" as a HIDE directive.
3342
33432011-08-02 Yannick Moy <moy@adacore.com>
3344
3345 * types.ads, erroutc.ads: Minor reformatting.
3346
33472011-08-02 Vincent Celier <celier@adacore.com>
3348
3349 * link.c: Add response file support for cross platforms.
3350
6ff6152d
ES
33512011-08-02 Ed Schonberg <schonberg@adacore.com>
3352
3353 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
3354 in an association, set parent field of copy before partial analysis.
3355 * sem_res.adb (Resolve_Slice): create reference to itype only when
3356 expansion is enabled.
3357
975c6896
YM
33582011-08-02 Yannick Moy <moy@adacore.com>
3359
3360 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
3361 for new flag denoting which subprogram bodies are in ALFA
3362 * restrict.adb, sem_ch7.adb: Update comment
3363 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
3364 sem_ch9.adb, sem_res.adb: Add calls to
3365 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
3366 * sem_ch6.adb (Analyze_Function_Return): add calls to
3367 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
3368 middle of the body, and extended return.
3369 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
3370 False when missing return.
3371 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
3372 to True for subprograms whose spec is in ALFA. Remove later on the flag
3373 on the entity used for a subprogram body when there exists a separate
3374 declaration.
3375 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
3376 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
3377 False, otherwise do nothing.
3378
afc8324d
AC
33792011-08-02 Robert Dewar <dewar@adacore.com>
3380
3381 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
3382
33832011-08-02 Yannick Moy <moy@adacore.com>
3384
3385 * sem_ch4.ads: minor formatting.
3386
2ba431e5
YM
33872011-08-02 Yannick Moy <moy@adacore.com>
3388
3389 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
3390 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
3391 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
3392 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
3393 opt.ads: cleanup of SPARK mode
3394
0f853035
YM
33952011-08-02 Yannick Moy <moy@adacore.com>
3396
3397 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
3398 types.
3399 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
3400 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
3401 * sem_ch3.adb
3402 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
3403 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
3404 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
3405 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
3406 types.
3407 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
3408 non-static range.
3409 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
3410 functions whose return type is not in ALFA.
3411 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
3412 specifications.
3413 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
3414 parameter's type is not in ALFA.
3415 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
3416 types are in ALFA.
3417
d2b10647
ES
34182011-08-02 Ed Schonberg <schonberg@adacore.com>
3419
3420 * sem_ch6 (Analyze_Expression_Function): treat the function as
3421 Inline_Always, and introduce a subprogram declaration for it when it is
3422 not a completion.
3423 * inline.adb (Add_Inlined_Body): recognize bodies that come from
3424 expression functions, so that the back-end can determine whether they
3425 can in fact be inlined.
3426 * sem_util.adb (Is_Expression_Function): predicate to determine whether
3427 a function body comes from an expression function.
3428
c7b9d548
AC
34292011-08-02 Gary Dismukes <dismukes@adacore.com>
3430
3431 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
3432 null exclusions to test Can_Never_Be_Null on the anonymous access types
3433 of the formals rather than testing the formals themselves. Exclude this
3434 check in cases where the Old_Formal is marked as a controlling formal,
3435 to avoid issuing spurious errors for bodies completing dispatching
3436 operations (due to the flag not getting set on controlling access
3437 formals in body specs).
3438 (Find_Corresponding_Spec): When checking full and subtype conformance of
3439 subprogram bodies in instances, pass Designated and E in that order, for
3440 consistency with the expected order of the formals (New_Id followed by
3441 Old_Id).
3442
34432011-08-02 Robert Dewar <dewar@adacore.com>
3444
3445 * sem_ch8.adb: Minor reformatting.
3446
1138cf59
AC
34472011-08-02 Ed Schonberg <schonberg@adacore.com>
3448
3449 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
3450 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
3451 primitive operations of class-wide actuals.
3452
34532011-08-02 Javier Miranda <miranda@adacore.com>
3454
3455 * exp_atag.ads, exp_atag.adb
3456 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
3457 since its value is implicitly passed in argument Typ.
3458 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
3459 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
3460 Build_Common_Dispatching_Select_Statements.
3461
7b9db926
RD
34622011-08-02 Robert Dewar <dewar@adacore.com>
3463
3464 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
3465 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
3466 Minor reformatting.
3467
e8374e7a
AC
34682011-08-02 Robert Dewar <dewar@adacore.com>
3469
3470 * sem_res.adb: Minor reformatting.
3471 * sem_prag.adb: Minor reformatting.
3472
34732011-08-02 Javier Miranda <miranda@adacore.com>
3474
3475 * exp_atag.adb, exp_atags.ads
3476 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
3477 by the tagged type Entity. Required to use this routine in the VM
3478 targets since we do not have available the Tag entity in the VM
3479 platforms.
3480 * exp_ch6.adb
3481 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
3482 Ada.Tags has not been previously loaded.
3483 * exp_ch7.adb
3484 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
3485 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
3486 * sem_aux.adb
3487 (Enclosing_Dynamic_Scope): Add missing support to handle the full
3488 view of enclosing scopes. Required to handle enclosing scopes that
3489 are synchronized types whose full view is a task type.
3490 * exp_disp.adb
3491 (Build_VM_TSDs): Minor code improvement to avoid generating and
3492 analyzing lists with empty nodes.
3493 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
3494 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
3495 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
3496 (Make_Disp_Timed_Select_Body): Add support for VM targets.
3497 (Make_Select_Specific_Data_Table): Add support for VM targets.
3498 (Make_VM_TSD): Generate code to initialize the SSD structure of
3499 the TSD.
3500
35012011-08-02 Yannick Moy <moy@adacore.com>
3502
3503 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
3504 cross-references section in ALI.
3505 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
3506 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
3507 Sub).
3508 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
3509 subprogram or package entity of a node
3510 (Is_Local_Reference_Type): new function returns True for references
3511 selected in local cross-references.
3512 (Lt): function extracted from Lt in Output_References
3513 (Write_Entity_Name): function extracted from Output_References
3514 (Generate_Definition): generate reference with type 'D' for definition
3515 of objects (object declaration and parameter specification), with
3516 appropriate locations and units, for use in local cross-references.
3517 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
3518 references of type 'I' for initialization in object definition.
3519 (Output_References): move part of function Lt and procedure
3520 Write_Entity_Name outside of the body. Ignore references of types 'D'
3521 and 'I' introduced for local cross-references.
3522 (Output_Local_References): new procedure to output the local
3523 cross-references sections.
3524 (Lref_Entity_Status): new array defining whether an entity is a local
3525 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
3526 with 'I' type when initialization expression is present.
3527 * get_scos.adb, get_scos.ads: Correct comments and typos
3528
1f6439e3
AC
35292011-08-02 Javier Miranda <miranda@adacore.com>
3530
3531 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
3532 the JVM target.
3533 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
3534 the JVM target.
3535 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
3536 TSD support.
3537
35382011-08-02 Vincent Celier <celier@adacore.com>
3539
3540 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
3541 (No_Space_Img): New function
3542 (Find_Excluded_Sources): When reading from a file, record the file name
3543 and the line number for each excluded source.
3544 (Mark_Excluded_Sources): When reporting an error, if the excluded
3545 sources were read from a file, include file name and line number in
3546 the error message.
3547
35482011-08-02 Ed Schonberg <schonberg@adacore.com>
3549
3550 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
3551
ab027d28
RD
35522011-08-02 Robert Dewar <dewar@adacore.com>
3553
3554 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
3555
b3b28b0c
JM
35562011-08-02 Javier Miranda <miranda@adacore.com>
3557
3558 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
3559 generation of TSDs to the DOTNET compiler.
3560 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
3561 generation of TSDs to the DOTNET compiler.
3562
9732e886
JM
35632011-08-02 Javier Miranda <miranda@adacore.com>
3564
3565 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
3566 record of all the tagged types declared inside library level package
3567 declarations, library level package bodies or library level subprograms.
3568 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
3569 associated with a given tagged type.
3570 (Build_VM_TSDs): New subprogram.
3571 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
3572 compilation units that are subprograms.
3573 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
3574 compilation units that are package bodies.
3575 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
3576 units that are a package declaration or a package instantiation.
3577 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
3578 reorganization to improve the error generated by the frontend when the
3579 function Ada.Tags.Secondary_Tag is not available.
3580 * rtsfind.ads (RE_Register_TSD): New runtime entity.
3581 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
3582
e526d0c7
AC
35832011-08-02 Javier Miranda <miranda@adacore.com>
3584
3585 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
3586
35872011-08-02 Robert Dewar <dewar@adacore.com>
3588
3589 * s-imenne.ads: Minor reformatting.
3590
35912011-08-02 Robert Dewar <dewar@adacore.com>
3592
3593 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
3594 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
3595 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
3596
35972011-08-02 Robert Dewar <dewar@adacore.com>
3598
3599 * einfo.ads (Materialize_Entity): Document this is only for renamings
3600 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
3601 required debug information in the case where we transform the object
3602 declaration into a renaming declaration.
3603 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
3604 object
3605 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
3606 Materialize_Entity.
3607
5b1e6aca
RD
36082011-08-02 Robert Dewar <dewar@adacore.com>
3609
3610 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
3611 Suppress_Init_Procs.
3612 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
3613 Suppress_Initialization/Initialization_Suppressed.
3614 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
3615 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
3616 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
3617 * sem_prag.adb: New processing for pragma Suppress_Initialization.
3618
5ad4969d
RD
36192011-08-02 Robert Dewar <dewar@adacore.com>
3620
3621 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
3622 Minor reformatting.
3623
8c4ee6f5
AC
36242011-08-02 Ed Schonberg <schonberg@adacore.com>
3625
3626 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
3627 only have inheritable classwide pre/postconditions.
3628
36292011-08-02 Javier Miranda <miranda@adacore.com>
3630
3631 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
3632 * rtsfind.ads (RE_Check_TSD): New runtime entity.
3633 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
3634 checks if the external tag of a type is the same as the external tag
3635 of some other declaration.
3636
0b3d16c0
AC
36372011-08-02 Thomas Quinot <quinot@adacore.com>
3638
3639 * s-taskin.ads: Minor reformatting.
3640
36412011-08-02 Emmanuel Briot <briot@adacore.com>
3642
3643 * g-comlin.adb (Display_Help): swap the order in which it prints the
3644 short help and the general usage.
3645
36462011-08-02 Ed Schonberg <schonberg@adacore.com>
3647
3648 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
3649 the aspect declarations and attach them to the generic copy for
3650 subsequent analysis.
3651 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
3652 declarations of the generic tree to the new subprogram declarations.
3653 * sem_attr.adb (Check_Precondition_Postcondition): recognize
3654 conditions that apply to a subprogram instance.
3655
36562011-08-02 Robert Dewar <dewar@adacore.com>
3657
3658 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
3659
36602011-08-02 Ed Schonberg <schonberg@adacore.com>
3661
3662 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
3663 private type with a tagged full view is not derived in the immediate
3664 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
3665
4637729f
AC
36662011-08-02 Robert Dewar <dewar@adacore.com>
3667
3668 * exp_ch4.adb: Minor reformatting.
3669
36702011-08-02 Ed Schonberg <schonberg@adacore.com>
3671
3672 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
3673 Ada2012 iterator, the loop will be rewritten during expansion into a
3674 while loop with a cursor and an element declaration. Do not analyze the
3675 body in this case, because if the container is for indefinite types the
3676 actual subtype of the elements will only be determined when the cursor
3677 declaration is analyzed.
3678
36792011-08-02 Arnaud Charlet <charlet@adacore.com>
3680
3681 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
3682 size/alignment related attributes in CodePeer_Mode.
3683
36842011-08-02 Gary Dismukes <dismukes@adacore.com>
3685
3686 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
3687 Prepend_Element, since this can result in the operation getting the
3688 wrong slot in the full type's dispatch table if the full type has
3689 inherited operations. The incomplete type's operation will get added
3690 to the proper position in the full type's primitives
3691 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
3692 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
3693 dispatching operations, since there are cases where nonprimitive
3694 subprograms can get added to the list of incomplete dependents (such
3695 as subprograms in nested packages).
3696 * sem_ch6.adb (Process_Formals): First, remove test for being in a
3697 private part when determining whether to add a primitive with a
3698 parameter of a tagged incomplete type to the Private_Dependents list.
3699 Such primitives can also occur in the visible part, and should not have
3700 been excluded from being private dependents.
3701 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
3702 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
3703 list of a Taft-amendment incomplete type is a primitive before issuing
3704 an error that the full type must appear in the same unit. There are
3705 cases where nonprimitives can be in the list (such as subprograms in
3706 nested packages).
3707 * sem_disp.adb (Derives_From): Use correct condition for checking that
3708 a formal's type is derived from the type of the corresponding formal in
3709 the parent subprogram (the condition was completely wrong). Add
3710 checking that was missing for controlling result types being derived
3711 from the result type of the parent operation.
3712
4c60de0c
YM
37132011-08-02 Yannick Moy <moy@adacore.com>
3714
3715 * errout.adb (First_Node): minor renaming
3716 * restrict.adb (Check_Formal_Restriction): put restriction warning on
3717 first node.
3718
f5afb270
AC
37192011-08-02 Yannick Moy <moy@adacore.com>
3720
3721 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
3722 before accessing operands.
3723 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
3724 decide whether an initialization expression respects SPARK rules, as
3725 the plain node is the expanded one. This allows for more valid warnings
3726 to be issued.
3727 * gnat_rm.texi: Minor update.
3728
37292011-08-02 Arnaud Charlet <charlet@adacore.com>
3730
3731 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
3732 previous change.
3733
37342011-08-02 Robert Dewar <dewar@adacore.com>
3735
3736 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
3737
37382011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
3739
3740 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
3741 loop statements and the element renaming declaration with a block when
3742 the element type is controlled.
3743
37442011-08-02 Yannick Moy <moy@adacore.com>
3745
3746 * sinfo.ads: Minor formatting.
3747
37482011-08-02 Ed Schonberg <schonberg@adacore.com>
3749
3750 * sem_aggr.adb (Add_Association): if the association has a box and no
3751 expression, use the Sloc of the aggregate itself for the new
3752 association.
3753 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
3754 the Original_Node.
3755
db72f10a
AC
37562011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
3757
3758 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
3759 When a container is provided via a function call, generate a renaming
3760 of the function result. This avoids the creation of a transient scope
3761 and the premature finalization of the container.
3762 * exp_ch7.adb (Is_Container_Cursor): Removed.
3763 (Wrap_Transient_Declaration): Remove the supression of the finalization
3764 of the list controller when the declaration denotes a container cursor,
3765 it is not needed.
3766
37672011-08-02 Yannick Moy <moy@adacore.com>
3768
3769 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
3770 node is from source, instead of the original node being from source.
3771 * sem_aggr.adb
3772 (Resolve_Array_Aggregate): refine the check for a static expression, to
3773 recognize also static ranges
3774 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
3775 Array_Type_Declaration): postpone the test for the type being a subtype
3776 mark after the type has been resolved, so that component-selection and
3777 expanded-name are discriminated.
3778 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
3779 to distinguish the case of an iteration scheme, so that an error is
3780 issed on a non-static range in SPARK except in an iteration scheme.
3781 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
3782 In_Iter_Schm = True.
3783 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
3784 user-defined operators so that they are allowed in renaming
3785 * sem_ch8.adb
3786 (Find_Selected_Component): refine the check for prefixing of operators
3787 so that they are allowed in renaming. Move the checks for restrictions
3788 on selector name after analysis discriminated between
3789 component-selection and expanded-name.
3790 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
3791 concatenation argument of string type if it is static.
3792 * sem_util.adb, sem_util.ads
3793 (Check_Later_Vs_Basic_Declarations): add a new function
3794 Is_Later_Declarative_Item to decice which declarations are allowed as
3795 later items, in the two different modes Ada 83 and SPARK. In the SPARK
3796 mode, add that renamings are considered as later items.
3797 (Enclosing_Package): new function to return the enclosing package
3798 (Enter_Name): correct the rule for homonyms in SPARK
3799 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
3800 from source (result of expansion) to avoid issuing wrong warnings.
3801
38022011-08-02 Ed Schonberg <schonberg@adacore.com>
3803
3804 * errout.adb: On anything but an expression First_Node returns its
3805 argument.
3806
23685ae6
AC
38072011-08-02 Pascal Obry <obry@adacore.com>
3808
3809 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
3810
38112011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
3812
3813 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
3814 Set the associated loop as the related expression of internally
3815 generated cursors.
3816 * exp_ch7.adb (Is_Container_Cursor): New routine.
3817 (Wrap_Transient_Declaration): Supress the finalization of the list
3818 controller when the declaration denotes a container cursor.
3819
38202011-08-02 Yannick Moy <moy@adacore.com>
3821
3822 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
3823 command line now.
3824 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
3825 expression is a simple expression. This check cannot be performed in
3826 the semantics, so just drop it.
3827 (P_Index_Or_Discriminant_Constraint): move check that the index or
3828 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
3829 semantics. Other cases were previously checked in the semantics.
3830 * par-ch4.adb (P_Name): move checks that a selector name is not
3831 character literal or an operator symbol to Find_Selected_Component in
3832 the semantics
3833 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
3834 declarations are not placed after later declarations in a separate
3835 procedure in Sem_Util (possibly not the best choice?), to be used both
3836 during parsing, for Ada 83 mode, and during semantic analysis, for
3837 SPARK mode.
3838 * par-endh.adb (Check_End): move check that end label is not missing
3839 to Process_End_Label in the semantics
3840 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
3841 the special case for SPARK restriction
3842 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
3843 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
3844 parameter Force to issue the error message even on internal node (used
3845 for generated end label). Call Check_Restriction to check when an error
3846 must be issued. In SPARK mode, issue an error message even if the
3847 restriction is not set.
3848 (Check_Restriction): new procedure with an additional out parameter to
3849 inform the caller that a message has been issued
3850 * sem_aggr.adb: Minor modification of message
3851 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
3852 instead of issuing an error message directly
3853 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
3854 declarations are not placed after later declarations, by calling
3855 Check_Later_Vs_Basic_Declarations
3856 (Analyze_Subtype_Declaration): move here the check that an index or
3857 discriminant constraint must be a subtype mark. Change the check that
3858 a subtype of String must start at one so that it works on subtype marks.
3859 * sem_ch4.adb (Analyze_Call): move here the check that a named
3860 association cannot follow a positional one in a call
3861 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
3862 instead of issuing an error message directly
3863 * sem_ch8.adb (Find_Selected_Component): move here the check that a
3864 selector name is not a character literal or an operator symbol. Move
3865 here the check that the prefix of an expanded name cannot be a
3866 subprogram or a loop statement.
3867 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
3868 procedure called from parsing and semantics to check that basic
3869 declarations are not placed after later declarations
3870 (Process_End_Label): move here the check that end label is not missing
3871
38722011-08-02 Arnaud Charlet <charlet@adacore.com>
3873
3874 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
3875 representation clause in codepeer mode, since it confuses CodePeer and
3876 does not bring useful info.
3877
38782011-08-02 Ed Falis <falis@adacore.com>
3879
3880 * init.c: initialize fp hw on MILS.
3881
38822011-08-02 Ed Schonberg <schonberg@adacore.com>
3883
3884 * errout.adb (First_Node): for bodies, return the node itself (small
3885 optimization). For other nodes, do not check source_unit if the node
3886 comes from Standard.
3887
d2d9cc22
AC
38882011-08-02 Robert Dewar <dewar@adacore.com>
3889
3890 * exp_ch3.adb: Minor comment additions.
3891 * sem_ch13.adb: Minor reformatting.
3892
38932011-08-02 Pascal Obry <obry@adacore.com>
3894
3895 * make.adb, makeutl.adb: Removes some superfluous directory separator.
3896
a01b9df6
AC
38972011-08-02 Robert Dewar <dewar@adacore.com>
3898
3899 * sem_attr.adb: Minor reformatting.
3900
39012011-08-02 Robert Dewar <dewar@adacore.com>
3902
3903 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
3904 (Has_Default_Component_Value): Removed
3905 * einfo.ads Comment updates
3906 (Has_Default_Aspect): Replaces Has_Default_Value
3907 (Has_Default_Component_Value): Removed
3908 * exp_ch13.adb
3909 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
3910 * exp_ch3.adb
3911 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
3912 (Get_Simple_Init_Val): Handle Default_Value aspect
3913 (Needs_Simple_Initialization): Handle Default_Value aspect
3914 * exp_ch3.ads: Needs_Simple_Initialization
3915 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
3916 * par-prag.adb (Pragma_Default[_Component]Value) Removed
3917 * sem_ch13.adb
3918 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
3919 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
3920 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
3921
39222011-08-02 Ed Schonberg <schonberg@adacore.com>
3923
3924 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
3925 package containing iteration primitives.
3926 exp_ch5.adb (Expand_Iterator_Loop): ditto.
3927
75c90775
AC
39282011-08-02 Ed Schonberg <schonberg@adacore.com>
3929
3930 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
3931 "of", pre-analyze expression in case it is a function call with
3932 finalization actions that must be placed ahead of the loop.
3933 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
3934 on an Ada2012 iterator, insert them ahead of the rewritten loop.
3935
39362011-08-02 Geert Bosch <bosch@adacore.com>
3937
3938 * cstand.adb (Create_Float_Types): Only consider C's long double for
3939 Long_Long_Float, in addition to double.
3940
ded8909b
AC
39412011-08-02 Robert Dewar <dewar@adacore.com>
3942
3943 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
3944 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
3945 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
3946 Minor reformatting.
3947
39482011-08-02 Ed Schonberg <schonberg@adacore.com>
3949
3950 * sem_attr.adb: handle properly 'Result when it is a prefix of an
3951 indexed component.
3952
39532011-08-02 Javier Miranda <miranda@adacore.com>
3954
3955 * einfo.ads, einfo.adb
3956 (Original_Access_Type): Move this attribute to Node26 since there was
3957 an undocumented use of Node21 in E_Access_Subprogram_Type entities
3958 which causes conflicts and breaks the generation of the .NET compiler.
3959 (Interface_Name): Add missing documentation on JGNAT only uses of
3960 this attribute.
3961
70c34e1c
AC
39622011-08-02 Geert Bosch <bosch@adacore.com>
3963
3964 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
3965 (Find_Back_End_Float_Type): Likewise
3966 (Create_Back_End_Float_Types): Likewise
3967 (Create_Float_Types): Likewise
3968 (Register_Float_Type): Likewise
3969 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
3970 Nlist and split out type selection in new local Find_Base_Type function.
3971 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
3972 Nlist
3973 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
3974
39752011-08-02 Robert Dewar <dewar@adacore.com>
3976
3977 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
3978 alpha order).
3979 * opt.ads: Minor comment change.
3980 * sem_ch12.adb: Minor code reorganization.
3981
b715bc59
AC
39822011-08-02 Gary Dismukes <dismukes@adacore.com>
3983
3984 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
3985 subtype's list of rep items to the list on the full subtype in the case
3986 where the lists are the same.
3987
39882011-08-02 Geert Bosch <bosch@adacore.com>
3989
3990 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
3991 using the one from System.Strings, which also deallocates all strings.
3992
002bdd68
AC
39932011-08-02 Geert Bosch <bosch@adacore.com>
3994
3995 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
3996 function.
3997 * gcc-interface/Make-lang.in: Update dependencies.
3998
39992011-08-02 Olivier Hainque <hainque@adacore.com>
4000
4001 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
4002 end_locus.
4003
499769ec
AC
40042011-08-02 Javier Miranda <miranda@adacore.com>
4005
4006 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
4007 associated with anonymous access to subprograms.
4008
40092011-08-02 Geert Bosch <bosch@adacore.com>
4010
4011 * opt.ads
4012 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
4013 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
4014 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
4015 (Add_Symbol_Definition): Move to switch-c.adb
4016 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
4017 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
4018 (Add_Symbol_Definition): Move to switch-c.adb.
4019 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
4020 * sem_warn.adb
4021 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
4022 Move to warnsw.adb.
4023 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
4024 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
4025 Move to warnsw.adb.
4026 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
4027 (Add_Symbol_Definition): Moved from Prepcomp.
4028 * switch-c.ads: Update copyright notice. Use String_List instead of
4029 Argument_List, removing dependency on System.OS_Lib.
4030
aa1e353a
AC
40312011-08-02 Yannick Moy <moy@adacore.com>
4032
4033 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
4034 mode on initialization expression which does not respect SPARK
4035 restrictions.
4036 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
4037 if the tree referenced by its argument represents an initialization
4038 expression in SPARK, suitable for initializing an object in an object
4039 declaration.
4040
40412011-08-02 Javier Miranda <miranda@adacore.com>
4042
4043 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
4044 internally generated access to subprogram with its associated protected
4045 subprogram type.
4046 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
4047
15b682ca
GB
40482011-08-02 Geert Bosch <bosch@adacore.com>
4049
4050 * cstand.adb (Register_Float_Type): Print information about type to
4051 register, if the Debug_Flag_Dot_B is set.
4052 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
4053 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
4054 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
4055 with a requested precision of more than Max_Digits digits and no more
4056 than Max_Base_Digits digits, if a range specification is present and the
4057 Predefined_Float_Types list has a suitable type to derive from.
4058 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
4059 case of type completion with pragma Import
4060 * sem_prag.adb
4061 (Process_Import_Predefined_Type): Processing to complete a type
4062 with pragma Import. Currently supports floating point types only.
4063 (Set_Convention_From_Pragma): Do nothing without underlying type.
4064 (Process_Convention): Guard against absence of underlying type,
4065 which may happen when importing incomplete types.
4066 (Process_Import_Or_Interface): Handle case of importing predefined
4067 types. Tweak error message.
4068
f8726f2b
AC
40692011-08-02 Eric Botcazou <ebotcazou@adacore.com>
4070
4071 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
4072 functions to previous change. Reorganize code slightly.
4073
40742011-08-02 Geert Bosch <bosch@adacore.com>
4075
4076 * back_end.ads (Register_Type_Proc): New call back procedure type for
4077 allowing the back end to provide information about available types.
4078 (Register_Back_End_Types): New procedure to register back end types.
4079 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
4080 available types.
4081 * cstand.adb (Back_End_Float_Types): New list for floating point types
4082 supported by the back end.
4083 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
4084 (Copy_Float_Type): New procedure to make new copies of predefined types.
4085 (Register_Float_Type): New call back procedure to populate the BEFT list
4086 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
4087 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
4088 (Create_Float_Types): New procedure to create entities for floating
4089 point types predefined in Standard, and put these and any remaining
4090 BEFTs on the Predefined_Float_Types list.
4091 * stand.ads (Predefined_Float_Types): New list for predefined floating
4092 point types that do not have declarations in package Standard.
4093
feecad68
AC
40942011-08-02 Eric Botcazou <ebotcazou@adacore.com>
4095
4096 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
4097 entity node for the unit containing the parameter.
4098 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
4099 (Add_Inlined_Subprogram): Likewise.
4100 * gcc-interface/Make-lang.in: Update dependencies.
4101
41022011-08-02 Thomas Quinot <quinot@adacore.com>
4103
4104 * s-stusta.adb (Print): Make sure Pos is always initialized to a
4105 suitable value.
4106
12f0c50c
AC
41072011-08-02 Geert Bosch <bosch@adacore.com>
4108
4109 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
4110
41112011-08-02 Eric Botcazou <ebotcazou@adacore.com>
4112
4113 * sem_type.adb (Covers): Move trivial case to the top and reuse the
4114 computed value of Base_Type.
4115
41162011-08-02 Yannick Moy <moy@adacore.com>
4117
4118 * restrict.adb (Check_Restriction): issue an error for any use of
4119 class-wide, even if the No_Dispatch restriction is not set.
4120 * sem_aggr.adb: Correct typos in comments and messages in formal mode
4121 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
4122 when completing a private extension, the type named in the private part
4123 is not the same as that named in the visible part.
4124 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
4125 of an inherited primitive operations of a tagged type or type extension
4126 that returns the tagged type.
4127 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
4128 function which returns True for an implicit operation inherited by the
4129 derived type declaration for the argument type.
4130 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
4131 order.
4132
fb86fe11
ES
41332011-08-02 Ed Schonberg <schonberg@adacore.com>
4134
4135 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
4136 Process_Bounds, to perform analysis with expansion of a range or an
4137 expression that is the iteration scheme for a loop.
4138 (Analyze_Iterator_Specification): If domain of iteration is given by a
4139 function call with a controlled result, as is the case if call returns
4140 a predefined container, ensure that finalization actions are properly
4141 generated.
4142 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
4143
62be5d0a
JM
41442011-08-02 Javier Miranda <miranda@adacore.com>
4145
4146 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
4147 * gcc-interface/Make-lang.in: Update dependencies.
4148
41492011-08-02 Javier Miranda <miranda@adacore.com>
4150
4151 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
4152 determine if the analysis is performed using N or Original_Node (N).
4153 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
4154 functionality of routine Is_Variable avoids code duplication.
4155 * checks.adb (Determine_Range): Handle temporaries generated by
4156 Remove_Side_Effects.
4157
41582011-08-02 Javier Miranda <miranda@adacore.com>
4159
4160 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
4161 expansion of the condition. Required since the previous analysis was
4162 done with expansion disabled (see Resolve_Quantified_Expression) and
4163 hence checks were not inserted and record comparisons have not been
4164 expanded.
4165
a20f4389
AC
41662011-08-02 Ed Falis <falis@adacore.com>
4167
4168 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
4169 Update header.
4170
41712011-08-02 Bob Duff <duff@adacore.com>
4172
4173 * opt.ads: Minor comment fix.
4174
41752011-08-02 Bob Duff <duff@adacore.com>
4176
4177 * sem_ch12.adb (Analyze_Package_Instantiation,
4178 Analyze_Subprogram_Instantiation): Turn off style checking while
4179 analyzing an instance. Whatever style checks that apply to the generic
4180 unit should apply, so it makes no sense to apply them in an instance.
4181 This was causing trouble when compiling an instance of a runtime
4182 unit that violates the -gnatyO switch.
4183 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
4184 one of the two case statements, causing spurious errors.
4185
41862011-08-02 Robert Dewar <dewar@adacore.com>
4187
4188 * uname.adb: Minor reformatting.
4189 * gnatcmd.adb: Minor reformatting.
4190 * exp_attr.adb: Minor reformatting.
4191
90878b12
AC
41922011-08-02 Ed Schonberg <schonberg@adacore.com>
4193
4194 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
4195 No_Dispatching_Calls, do not look for the Assign primitive, because
4196 predefined primitives are not created in this case.
4197
41982011-08-02 Bob Duff <duff@adacore.com>
4199
4200 * stylesw.ads: Minor comment fixes.
4201
42022011-08-02 Robert Dewar <dewar@adacore.com>
4203
4204 * freeze.adb (Add_To_Result): New procedure.
4205
42062011-08-02 Jose Ruiz <ruiz@adacore.com>
4207
4208 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
4209 time, if the specific run-time routines for handling streams of strings
4210 are not available, use the default mechanism.
4211
42122011-08-02 Arnaud Charlet <charlet@adacore.com>
4213
4214 * s-regpat.ads: Fix typo.
4215
42162011-08-02 Vincent Celier <celier@adacore.com>
4217
4218 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
4219 not null, call it to create the in memory config project file without
4220 parsing an existing default config project file.
4221
42222011-08-02 Eric Botcazou <ebotcazou@adacore.com>
4223
4224 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
4225
42262011-08-02 Ed Schonberg <schonberg@adacore.com>
4227
4228 * sem_elim.adb: an abstract subprogram does not need an eliminate
4229 pragma for its descendant to be eliminable.
4230
42312011-08-02 Ed Falis <falis@adacore.com>
4232
4233 * init.c: revert to handling before previous checkin for VxWorks
4234 * s-intman-vxworks.adb: delete unnecessary declarations related to
4235 using Ada interrupt facilities for handling signals.
4236 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
4237 * s-intman-vxworks.ads: Import __gnat_install_handler as
4238 Initialize_Interrupts.
4239 * s-taprop-vxworks.adb: Delete Signal_Mask.
4240 (Abort_Handler): change construction of mask to unblock exception
4241 signals.
4242
273adcdf
AC
42432011-08-02 Jerome Guitton <guitton@adacore.com>
4244
4245 * a-except-2005.adb (Raise_From_Signal_Handler): Call
4246 Debug_Raise_Exception before propagation starts.
4247
42482011-08-02 Eric Botcazou <ebotcazou@adacore.com>
4249
4250 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
4251 to Restriction_Check_Required.
4252 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
4253 * sem_res.adb (Resolve_Call): Likewise.
4254 * sem_attr.adb (Check_Stream_Attribute): Likewise.
4255
42562011-08-02 Bob Duff <duff@adacore.com>
4257
4258 * stylesw.ads: Update comment.
4259 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
4260 * errout.ads: Remove obsolete comment.
4261
42622011-08-02 Javier Miranda <miranda@adacore.com>
4263
4264 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
4265 (Set_Is_Safe_To_Reevaluate): new procedure.
4266 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
4267 assignment is allowed on safe-to-reevaluate variables.
4268 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
4269 temporary created to remove side effects in expressions that use
4270 the secondary stack as safe-to-reevaluate.
4271 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
4272 variables that are not true constants.
4273
6320f5e1
AC
42742011-08-02 Robert Dewar <dewar@adacore.com>
4275
4276 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
4277 sem_res.adb, sem_ch6.adb: Minor reformatting.
4278
42792011-08-02 Jerome Guitton <guitton@adacore.com>
4280
4281 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
4282
2fe829ae
ES
42832011-08-02 Ed Schonberg <schonberg@adacore.com>
4284
4285 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
4286 not set Overridden_Operation if subprogram is an initialization
4287 procedure.
4288
e24329cd
YM
42892011-08-02 Yannick Moy <moy@adacore.com>
4290
4291 * par-ch6.adb: Correct obsolete name in comments
4292 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
4293 which takes two message arguments (existing function takes one), with
4294 second message used for continuation.
4295 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
4296 block statements that originate from a source block statement, not
4297 generated block statements
4298 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
4299 symmetry with procedure case
4300 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
4301 function to issue an error in formal mode if a package specification
4302 contains more than one tagged type or type extension.
4303 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
4304 parameters matching formals of tagged types are objects (or ancestor
4305 type conversions of objects), not general expressions. Issue an error
4306 on view conversions that are not involving ancestor conversion of an
4307 extended type.
4308 (Resolve_Type_Conversion): in formal mode, issue an error on the
4309 operand of an ancestor type conversion which is not an object
4310 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
4311 procedure so that it works also for actuals of function calls
4312 (Is_Actual_Tagged_Parameter): new function which determines if its
4313 argument is an actual parameter of a formal of tagged type in a
4314 subprogram call
4315 (Is_SPARK_Object_Reference): new function which determines if the tree
4316 referenced by its argument represents an object in SPARK
4317
176dadf6
AC
43182011-08-02 Robert Dewar <dewar@adacore.com>
4319
4320 * sem_ch3.adb: Minor reformatting
4321 Minor comment addition
4322 Minor error msg text change
4323
43242011-08-02 Javier Miranda <miranda@adacore.com>
4325
4326 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
4327 function. Used to be more precise when we generate a variable plus one
4328 assignment to remove side effects in the evaluation of the Bound
4329 expressions.
4330 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
4331 of the bound expression to force its re-analysis and thus expand the
4332 associated transient scope (if required). Code cleanup replacing the
4333 previous code that declared the constant entity by an invocation to
4334 routine Force_Evaluation which centralizes this work in the frontend.
4335
d8b962d8
AC
43362011-08-02 Robert Dewar <dewar@adacore.com>
4337
4338 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
4339 (Base_Type): Now uses improved Is_Base_Type function
4340 * einfo.ads (Base_Type): Inline this function
4341
43422011-08-02 Robert Dewar <dewar@adacore.com>
4343
4344 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
4345 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
4346
43472011-08-02 Arnaud Charlet <charlet@adacore.com>
4348
4349 * gcc-interface/Make-lang.in: Update dependencies.
4350 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
4351 targets.
4352
43532011-08-02 Yannick Moy <moy@adacore.com>
4354
4355 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
4356 non-simple expression used in delta constraint
4357 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
4358 index constraint which is not a subtype mark
4359 * par.adb: With and use Restrict
4360 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
4361 mode on component type which is not a subtype mark and default
4362 expression on component
4363 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
4364 of string which does not have a lower index bound equal to 1
4365 (Array_Type_Declaration): issue an error in formal mode on index or
4366 component type which is not a subtype mark, and on aliased keyword on
4367 component
4368 (Derived_Type_Declaration): issue an error in formal mode on interface,
4369 limited or abstract type
4370 (Record_Type_Declaration): issue an error in formal mode on interface
4371 (Record_Type_Definition): issue an error in formal mode on tagged types
4372 and type extensions not declared in the specification of a library unit
4373 package; on null non-tagged record; on variant part
4374
43752011-08-02 Vincent Celier <celier@adacore.com>
4376
4377 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
4378 not declared for qualified library project when Library_Name is not
4379 declared, but Library_Dir is.
4380
43812011-08-02 Robert Dewar <dewar@adacore.com>
4382
4383 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
4384 pragmas (affects aspects [Component_]Default_Value
4385 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
4386 component type for the resolution
4387
f96b2d85
AC
43882011-08-02 Eric Botcazou <ebotcazou@adacore.com>
4389
4390 * einfo.adb (Base_Type): Tune implementation for speed.
4391
43922011-08-02 Robert Dewar <dewar@adacore.com>
4393
4394 * freeze.adb: Minor reformatting.
4395
8b3c6430
AC
43962011-08-02 Thomas Quinot <quinot@adacore.com>
4397
4398 * scos.ads: Update comments.
4399
44002011-08-02 Ed Schonberg <schonberg@adacore.com>
4401
4402 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
4403 base type, because the parent may be a subtype of a private type whose
4404 convention is established in a private part.
4405
44062011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
4407
4408 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
4409 statement in a block when the expansion of the return expression has
4410 created a finalization chain.
4411 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
4412 with the parent node.
4413 Add N_Extended_Return_Statement to handle the case where a transient
4414 object declaration appears in the Return_Object_Declarations list of
4415 an extended return statement.
4416
44172011-08-02 Matthew Gingell <gingell@adacore.com>
4418
4419 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
4420 unused parameter 'name'.
4421
44222011-08-02 Ed Schonberg <schonberg@adacore.com>
4423
4424 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
4425 inherited operation, check whether its alias, which is the source
4426 operastion that it renames, has been marked eliminated.
4427
cae81f17
JM
44282011-08-02 Javier Miranda <miranda@adacore.com>
4429
4430 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
4431 in-mode parameter whose type is an access type since it can be used to
4432 modify its designated object. Enforce code that handles as safe an
4433 access type that is not access-to-constant but it is the result of a
4434 previous removal of side-effects.
4435 (Remove_Side_Effects): Minor code reorganization of cases which require
4436 no action. Done to incorporate documentation on new cases uncovered
4437 working in this ticket: no action needed if this routine was invoked
4438 too early and the nodes are not yet decorated.
4439 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
4440 to routine Remove_Side_Effects by calls to Force_Evaluation since they
4441 were issued with actuals that are implicitly provided by
4442 Force_Evaluation.
4443
218e6dee
RD
44442011-08-02 Robert Dewar <dewar@adacore.com>
4445
4446 * sem_ch3.adb, sem_res.adb: Minor reformatting.
4447
7a489a2b
AC
44482011-08-02 Yannick Moy <moy@adacore.com>
4449
4450 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
4451 to issue an error in formal mode on attribute not supported in this mode
4452 (Analyze_Attribute): issue errors on standard attributes not supported
4453 in formal mode.
4454 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
4455 comment, and issue error in formal mode on modulus which is not a power
4456 of 2.
4457 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
4458 range.
4459 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
4460 subtype mark.
4461 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
4462 operator on modular type (except 'not').
4463
44642011-08-02 Robert Dewar <dewar@adacore.com>
4465
4466 * gnat_rm.texi: Minor reformatting.
4467
cb7fa356
AC
44682011-08-02 Arnaud Charlet <charlet@adacore.com>
4469
4470 * s-osinte-linux.ads: Minor comment update and reformatting.
4471 * i-cexten.ads: Make this unit pure, as for its parent.
4472 Will allow its usage in more contexts if needed.
4473
44742011-08-02 Robert Dewar <dewar@adacore.com>
4475
4476 * s-utf_32.ads: Minor comment fix.
4477
44782011-08-02 Ed Schonberg <schonberg@adacore.com>
4479
4480 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
4481 operation of a tagged synchronized type, handle the case where the
4482 controlling argument is overloaded.
4483
44842011-08-02 Yannick Moy <moy@adacore.com>
4485
4486 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
4487 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
4488 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
4489 SPARK mode and formal verification mode on processing SPARK restriction
4490 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
4491 requiring consistency checking.
4492
5cc9353d
RD
44932011-08-02 Robert Dewar <dewar@adacore.com>
4494
4495 * sem_res.adb: Minor reformatting.
4496
e51537ff
RD
44972011-08-02 Robert Dewar <dewar@adacore.com>
4498
4499 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
4500 a-cforse.ads: Remove unneeded with of Ada.Containers
4501 Remove commented out pragma Inline's
4502 Move specifications of new subprograms to the actual specs
4503
83fa09c5
AC
45042011-08-02 Yannick Moy <moy@adacore.com>
4505
4506 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
4507 a-cforse.ads: Update comments.
4508
45092011-08-02 Ed Schonberg <schonberg@adacore.com>
4510
4511 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
4512
d11cfaf8
RD
45132011-08-02 Robert Dewar <dewar@adacore.com>
4514
4515 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
4516 a-cforse.ads, a-cofove.ads: Minor reformatting.
4517
300b98bb
AC
45182011-08-02 Claire Dross <dross@adacore.com>
4519
4520 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
4521 a-cofove.ads: Add comments.
4522
45232011-08-02 Yannick Moy <moy@adacore.com>
4524
4525 * gnat_rm.texi: Document formal containers.
4526
45272011-08-02 Emmanuel Briot <briot@adacore.com>
4528
4529 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
4530 are empty sections.
4531
19fb051c
AC
45322011-08-02 Robert Dewar <dewar@adacore.com>
4533
4534 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
4535 reformatting.
4536
45372011-08-02 Robert Dewar <dewar@adacore.com>
4538
4539 * aspects.adb: New aspects Default_Value and Default_Component_Value
4540 New format of Aspect_Names table checks for omitted entries
4541 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
4542 handling of boolean aspects for derived types.
4543 New aspects Default_Value and Default_Component_Value
4544 New format of Aspect_Names table checks for omitted entries
4545 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
4546 (Has_Default_Value): New flag
4547 (Has_Default_Component_Value): New flag
4548 (Has_Default_Value): New flag
4549 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
4550 table.
4551 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
4552 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
4553 Default_Value and Default_Component_Value
4554 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
4555 New aspects Default_Value and Default_Component_Value
4556 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
4557 * sprint.adb: Print N_Aspect_Specification node when called from gdb
4558
45592011-08-02 Vincent Celier <celier@adacore.com>
4560
4561 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
4562 inherit library kind.
4563
45642011-08-02 Ed Schonberg <schonberg@adacore.com>
4565
4566 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
4567 Minor reformatting.
4568
45692011-08-02 Robert Dewar <dewar@adacore.com>
4570
4571 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
4572
5f7747af
AC
45732011-08-02 Yannick Moy <moy@adacore.com>
4574
4575 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
4576
45772011-08-02 Robert Dewar <dewar@adacore.com>
4578
4579 * impunit.adb: Add comment.
4580
a5fe697b
AC
45812011-08-02 Yannick Moy <moy@adacore.com>
4582
4583 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
4584 qualification of aggregates in formal mode
4585 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
4586 another aggregate
4587 (Resolve_Aggregate): complete the test that an aggregate is adequately
4588 qualified in formal mode
4589
45902011-08-02 Pascal Obry <obry@adacore.com>
4591
4592 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
4593 * mlib-prj.adb: Supress warning when compiling binder generated file.
4594 (Build_Library): Supress all warnings when compiling the binder
4595 generated file.
4596
bd65a2d7 45972011-08-02 Yannick Moy <moy@adacore.com>
d4487611 4598
bd65a2d7
AC
4599 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
4600 from here...
4601 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
4602 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
4603 Add with/use clauses to make Check_Formal_Restriction visible
4604
46052011-08-02 Ed Schonberg <schonberg@adacore.com>
4606
4607 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
4608 in-parameters when type of the generic formal is private in the generic
4609 spec and non-private in the body.
4610
46112011-08-02 Claire Dross <dross@adacore.com>
4612
4613 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
4614 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
4615 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
4616 * impunit.adb, Makefile.rtl: Take new files into account.
d4487611
AC
4617
46182011-08-02 Robert Dewar <dewar@adacore.com>
4619
4620 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
4621 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
4622
bd434b3f
YM
46232011-08-02 Yannick Moy <moy@adacore.com>
4624
4625 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
4626 formal mode
4627 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
4628 matching static array bounds, taking into account the special case of
4629 string literals
4630 * sem_ch3.adb: Typo in comment.
4631
fe5d3068
YM
46322011-08-02 Yannick Moy <moy@adacore.com>
4633
4634 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
4635 which issues an error in formal mode if its argument node is originally
4636 from source
4637 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
4638 has a discriminant specification so that it does not include the case
4639 of derived types
4640 (Derived_Type_Declaration): move here the test that a derived type has a
4641 discriminant specification
4642 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
4643 first element of a component association before accessing its choices
4644 (presence of component association is not enough)
4645 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
4646 declaration is a library item before accessing the next element in a
4647 list, as library items are not member of lists
4648 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
4649 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
4650 Check_Formal_Restriction whenever possible.
4651
b60a3f26
AC
46522011-08-02 Ed Schonberg <schonberg@adacore.com>
4653
4654 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
4655 reference when needed.
4656
46572011-08-02 Bob Duff <duff@adacore.com>
4658
4659 * gnat_ugn.texi: Fix typo.
4660
46612011-08-02 Vincent Celier <celier@adacore.com>
4662
4663 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
4664 archive file name. Do not use the full path name of archives for Open
4665 VMS.
4666
eaba57fb
RD
46672011-08-02 Robert Dewar <dewar@adacore.com>
4668
4669 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
4670 Analyze_Aspect_Specifications
4671 * sem_ch13.adb
4672 (Analyze_Aspect_Specifications): New handling for boolean aspects
4673 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
4674 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
4675 sequence for Analyze_Aspect_Specifications
4676 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
4677 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
4678
46792011-08-02 Robert Dewar <dewar@adacore.com>
4680
4681 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
4682 aspects, since these no longer exist.
4683
46842011-08-02 Robert Dewar <dewar@adacore.com>
4685
4686 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
4687 semicolon, do not try to see if there are aspects following it.
4688 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
4689 aspect spec.
4690
8830d1d2
AC
46912011-08-02 Robert Dewar <dewar@adacore.com>
4692
4693 * sem_ch8.adb, aspects.ads: Minor reformatting.
4694
46952011-08-02 Eric Botcazou <ebotcazou@adacore.com>
4696
4697 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
4698 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
4699 extracted from...
4700 (Analyze_Aspect_Specifications): ...here. Call above procedure.
4701
7ff2d234
AC
47022011-08-02 Yannick Moy <moy@adacore.com>
4703
4704 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
4705 mode on subprogram declaration outside of package specification, unless
4706 it is followed by a pragma Import
4707 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
4708 Access_Type_Declaration): issue error in formal mode on access type
4709 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
4710 incomplete type
4711 (Analyze_Object_Declaration): issue error in formal mode on object
4712 declaration which does not respect SPARK restrictions
4713 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
4714 declaration which does not respect SPARK restrictions
4715 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
4716 error in formal mode on digits or delta constraint
4717 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
4718 decimal fixed point type
4719 (Derived_Type_Declaration): issue error in formal mode on derived type
4720 other than type extensions of tagged record types
4721 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
4722 with check on access definition
4723 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
4724 mode on protected definition.
4725 (Analyze_Task_Definition): issue error in formal mode on task definition
4726
47272011-08-02 Robert Dewar <dewar@adacore.com>
4728
4729 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
4730
806f6d37
AC
47312011-08-02 Javier Miranda <miranda@adacore.com>
4732
4733 * sem_ch6.adb (Can_Override_Operator): New function.
4734 (Verify_Overriding_Indicator): Add missing code to check overriding
4735 indicator in operators. Fixes regression.
4736 (Check_Overriding_Indicator): Minor reformating after replacing the
4737 code that evaluates if the subprogram can override an operator by
4738 invocations to the above new function.
4739 * einfo.adb
4740 (Write_Field26_Name): Add missing code to ensure that, following
4741 the documentation in einfo.ads, this field is not shown as attribute
4742 "Static_Initialization" on non-dispatching functions.
4743
47442011-08-02 Jose Ruiz <ruiz@adacore.com>
4745
4746 * sem_res.adb (Resolve_Call): A call to
4747 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
4748 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
4749 i.e., when the second parameter is of type Time_Span.
4750
47512011-08-02 Vincent Celier <celier@adacore.com>
4752
4753 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
4754 with an archive instead of -L<library dir> -l<library name>.
4755
47562011-08-02 Ed Schonberg <schonberg@adacore.com>
4757
4758 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
4759 mark the base types In_Use in addition to making the operations
4760 use_visible.
4761
47622011-08-02 Ed Falis <falis@adacore.com>
4763
4764 * init.c: add and setup __gnat_signal_mask for the exception signals
4765 * s-inmaop-vxworks.adb: new file.
4766 * s-intman-vxworks.adb: remove unnecessary initializations and
4767 simplify remaining
4768 * s-intman-vxworks.ads: remove unnecessary variable
4769 * s-taprop-vxworks.adb: simplify signal initialization
4770
780d052e
RD
47712011-08-02 Robert Dewar <dewar@adacore.com>
4772
4773 * sem_ch8.adb: Minor code reorganization, comment updates.
4774
47752011-08-02 Robert Dewar <dewar@adacore.com>
4776
4777 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
4778 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
4779 here from Sem_Res.
4780 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
4781 (Matching_Static_Array_Bounds): Moved here from Sem_Res
4782
29efbb8c
ES
47832011-08-02 Ed Schonberg <schonberg@adacore.com>
4784
4785 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
4786 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
4787 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
4788 use_type_clauses, to handle more efficiently use_type and use_all_type
4789 constructs.
4790 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
4791 Ada2012 Use_All_Type clause.
4792 (Use_Class_Wide_Operations): new procedure.
4793
b0186f71
AC
47942011-08-02 Robert Dewar <dewar@adacore.com>
4795
4796 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
4797 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
4798 expression to expression function.
4799
48002011-08-02 Ed Schonberg <schonberg@adacore.com>
4801
4802 * sem_ch4.adb: transform simple Ada2012 membership into equality only
4803 if types are compatible.
4804
48052011-08-02 Yannick Moy <moy@adacore.com>
4806
4807 * sem_res.adb (Matching_Static_Array_Bounds): new function which
4808 returns True if its argument array types have same dimension and same
4809 static bounds at each index.
4810 (Resolve_Actuals): issue an error in formal mode on actuals passed as
4811 OUT or IN OUT paramaters which are not view conversions in SPARK.
4812 (Resolve_Arithmetic_Op): issue an error in formal mode on
4813 multiplication or division with operands of fixed point types which are
4814 not qualified or explicitly converted.
4815 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
4816 Boolean or array type (except String) operands.
4817 (Resolve_Equality_Op): issue an error in formal mode on equality
4818 operators for array types other than String with non-matching static
4819 bounds.
4820 (Resolve_Logical_Op): issue an error in formal mode on logical operators
4821 for array types with non-matching static bounds. Factorize the code in
4822 Matching_Static_Array_Bounds.
4823 (Resolve_Qualified_Expression): issue an error in formal mode on
4824 qualified expressions for array types with non-matching static bounds.
4825 (Resolve_Type_Conversion): issue an error in formal mode on type
4826 conversion for array types with non-matching static bounds
4827
767bb4e8
AC
48282011-08-02 Robert Dewar <dewar@adacore.com>
4829
4830 * par-ch10.adb: Minor code reorganization (use Nkind_In).
4831
48322011-08-02 Ed Schonberg <schonberg@adacore.com>
4833
4834 * par-ch9.adb: save location of entry for proper error message.
4835
4ac2477e
JM
48362011-08-02 Javier Miranda <miranda@adacore.com>
4837
4838 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
4839 (Use_Full_View) which permits this routine to climb through the
4840 ancestors using the full-view of private parents.
4841 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
4842 Use_Full_View to true in calls to Is_Ancestor.
4843 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
4844 true in call to Is_Ancestor.
4845 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
4846 Use_Full_View to true in call to Is_Ancestor.
4847 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
4848 call to Is_Ancestor.
4849 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
4850 Use_Full_View to true in calls to Is_Ancestor.
4851 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
4852 Make_Select_Specific_Data_Table, Register_Primitive,
4853 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
4854 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
4855 to true in call to Is_Ancestor.
4856 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
4857 Use_Full_View to true in calls to Is_Ancestor.
4858 * exp_cg.adb
4859 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
4860 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
4861
9f90d123
AC
48622011-08-02 Robert Dewar <dewar@adacore.com>
4863
4864 * gnat_rm.texi: Minor reformatting.
4865 * sem_prag.adb: Minor reformatting.
4866
48672011-08-02 Tristan Gingold <gingold@adacore.com>
4868
4869 * vms_data.ads: Add VMS qualifier for -gnateP.
4870
48712011-08-02 Robert Dewar <dewar@adacore.com>
4872
4873 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
4874 * par-ch7.adb (P_Package): Proper placement of aspects for package
4875 decl/instantiation.
4876 * par-endh.adb (Check_End): Ad Is_Sloc parameter
4877 (End_Statements): Add Is_Sloc parameterr
4878 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
4879 (Check_End): Ad Is_Sloc parameter
4880 (End_Statements): Add Is_Sloc parameterr
4881
48822011-08-02 Vincent Celier <celier@adacore.com>
4883
4884 * ug_words: Add VMS qualifier equivalent to -gnateP:
4885 /SYMBOL_PREPROCESSING.
4886
48872011-08-02 Jose Ruiz <ruiz@adacore.com>
4888
4889 * gnat-style.texi: For hexadecimal numeric literals the typical
4890 grouping of digits is 4 to represent 2 bytes.
4891 A procedure spec which is split into several lines is indented two
4892 characters.
4893
48942011-08-02 Yannick Moy <moy@adacore.com>
4895
4896 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
4897 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
4898 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
4899 properly qualified
4900 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
4901 choice in array aggregate
4902 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
4903 mark as ancestor
4904 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
4905 positional and named aggregate for record, or others in record
4906 aggregate, or multiple choice in record aggregate
4907 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
4908 array operands to logical operations AND, OR and XOR do not have the
4909 same static lower and higher bounds
4910 * sem_ch5.adb, sinfo.ads: Correct typos in comments
4911
2933b16c
RD
49122011-08-01 Robert Dewar <dewar@adacore.com>
4913
4914 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
4915 Replaces Last_Source_Node_In_Sequence.
4916 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
4917 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
4918 parens and blank in string (this was inconsistently implemented).
4919 * errout.ads
4920 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
4921 blank in string (this was inconsistently implemented).
4922 * gnat1drv.adb
4923 (Set_Global_Switches): Set formal mode switches appropriately
4924 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
4925 * par-prag.adb
4926 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
4927 call Set_Error_Msg_Lang to set "spark" as language name.
4928 * par.adb: Remove unnecessary call to set formal language for errout
4929 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
4930 appropriately and call Set_Error_Msg_Lang to set "spark" as language
4931 name.
4932 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
4933 calls to it, moved after resolution so that types are known
4934 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
4935 result of concatenation is not of type String
4936 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
4937 concatenation is not properly restricted
4938 * gnat_rm.texi: Add doc on pragma Spark_95.
4939 * gcc-interface/Makefile.in: Remove obsolete target pairs for
4940 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
4941 * gcc-interface/Make-lang.in: Update dependencies.
4942
05dbd302
AC
49432011-08-01 Javier Miranda <miranda@adacore.com>
4944
4945 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
4946 condition that detects if the overridden operation must replace an
4947 existing entity.
4948
49492011-08-01 Javier Miranda <miranda@adacore.com>
4950
4951 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
4952 code declarations inserted by Insert_Actions in each alternative of the
4953 N_Case_Expression node.
4954
49552011-08-01 Robert Dewar <dewar@adacore.com>
4956
4957 * sem_ch6.adb: Minor code reorganization.
4958 * sem_util.adb: Minor reformatting.
4959
af9e051f
PO
49602011-08-01 Pascal Obry <obry@adacore.com>
4961
4962 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
4963 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
4964
1d801f21
AC
49652011-08-01 Yannick Moy <moy@adacore.com>
4966
4967 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
4968 literal or operator symbol which is prefixed
4969 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
4970 mode on access attributes.
4971 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
4972 that concatenation operands are properly restricted in formal mode
4973 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
4974 Analyze_Concatenation_Operand. Issue an error in formal mode if the
4975 result of the concatenation has a type different from String.
4976 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
4977 Analyze_Quantified_Expression, Analyze_Slice,
4978 Analyze_Null): issue an error in formal mode on unsupported constructs
4979 * sem_ch5.adb
4980 (Analyze_Block_Statement): only issue error on source block statement
4981 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
4982 function which returns the last node in a list of nodes for which
4983 Comes_From_Source returns True, if any
4984 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
4985 Last_Source_Node_In_Sequence
4986 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
4987 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
4988 mode on unsupported constructs
4989 * sem_ch9.adb Do not return after issuing error in formal mode, as the
4990 rest of the actions may be needed later on since the error is marked as
4991 not serious.
4992 * sinfo.ads: Typos in comments.
4993
49942011-08-01 Pascal Obry <obry@adacore.com>
4995
4996 * projects.texi: Minor editing.
4997
53beff22
YM
49982011-08-01 Yannick Moy <moy@adacore.com>
4999
5000 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
5001 insertion character ~~
5002 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
5003 (Set_Error_Msg_Lang): new procedure which fixes the language for use
5004 with insertion character ~~
5005 (Set_Msg_Text): treat insertion character ~~
5006 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
5007 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
5008 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
5009 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
5010 errors related to the formal language restriction not serious
5011 (insertion character |).
5012 * par.adb (Par): set formal language for error messages if needed
5013 * sem_ch6.adb (Check_Missing_Return): take into account possible
5014 generated statements at the end of the function
5015 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
5016 enumeration value to define a new pragma SPARK_95
5017 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
5018 SPARK_Version): new type and variables to store the SPARK version
5019 (none by default).
5020 (SPARK_Mode): return True when SPARK_Version is set
5021 * par-prag.adb: Correct indentation
5022 (Prag): take Pragma_SPARK_95 into account
5023 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
5024 into account.
5025
8d606a78
RD
50262011-08-01 Robert Dewar <dewar@adacore.com>
5027
5028 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
5029 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
5030 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
5031
1982d5a8
PO
50322011-08-01 Pascal Obry <obry@adacore.com>
5033
5034 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
5035 Target_Name to Get_Path call.
5036 (Parse_Single_Project): Likewise.
5037 (Post_Parse_Context_Clause): Likewise.
5038 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
5039 Call Initialise_Project_Path with the proper Target_Name.
5040 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
5041 search path.
5042 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
5043 with the proper Target_Name.
5044 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
5045 Part.Parse routine.
5046 (Parse_Project_And_Apply_Config): Likewise.
5047 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
5048 This is fine as this part of the code is supporting only native
5049 compilation.
5050 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
5051 is fine as this part of the code is supporting only native compilation.
5052
0d53d36b
AC
50532011-08-01 Yannick Moy <moy@adacore.com>
5054
5055 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
5056 of homonym, unless the homonym is one of the cases allowed in SPARK
5057 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
5058 package declaration occurring after a body.
5059
50602011-08-01 Robert Dewar <dewar@adacore.com>
5061
5062 * checks.adb, exp_ch4.adb: Minor reformatting.
5063
50642011-08-01 Javier Miranda <miranda@adacore.com>
5065
5066 * einfo.ads (Access_Disp_Table): Fix documentation.
5067 (Dispatch_Table_Wrappers): Fix documentation.
5068
50692011-08-01 Pascal Obry <obry@adacore.com>
5070
5071 * prj-env.adb, prj-env.ads: Minor reformatting.
5072
8ed68165
AC
50732011-08-01 Yannick Moy <moy@adacore.com>
5074
5075 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
5076 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
5077 procedures out of these packages.
5078 * errout.ads, errout.adb
5079 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
5080 procedures in of this package
5081 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
5082 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
5083 on misplaced later vs initial declarations, like in Ada 83
5084 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
5085 formal mode on attribute of private type whose full type declaration
5086 is not visible
5087 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
5088 package declaration inside a package specification
5089 (Analyze_Full_Type_Declaration): issue error in formal mode on
5090 controlled type or discriminant type
5091 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
5092 user-defined operator means that it should come from the source
5093 (New_Overloaded_Entity): issue error in formal mode on overloaded
5094 entity.
5095 * sem_ch6.ads, sem_ch13.ads: typos in comments.
5096
50972011-08-01 Thomas Quinot <quinot@adacore.com>
5098
5099 * atree.adb: Minor reformatting.
5100 * checks.adb: Minor reformatting.
5101
4230bdb7
AC
51022011-08-01 Vincent Celier <celier@adacore.com>
5103
5104 * s-parame-vms-ia64.ads: Fix typo in comment
5105 Minor reformatting
5106 * s-parame-vms-restrict.ads: Removed, unused.
5107
51082011-08-01 Javier Miranda <miranda@adacore.com>
5109
5110 * exp_ch3.adb
5111 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
5112 * sem_ch3.adb
5113 (Constrain_Index): Remove side effects in the evaluation of the bounds.
5114 * sem_ch3.ads, sem_ch3.adb
5115 (Is_Constant_Bound): New extended version of the subprogram that was
5116 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
5117 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
5118 * sem_aux.ads (Constant_Value): Fix typo in comment.
5119 * checks.adb (Generate_Index_Checks): New implementation which, for
5120 array objects with constant bounds, generates the runtime check
5121 referencing the bounds of the array type. For other cases this routine
5122 provides its previous behavior obtaining such values from the array
5123 object.
5124 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
5125 parent type.
5126 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
5127 we cannot have semantic interpretations of the new node.
5128
2010d078
AC
51292011-08-01 Ed Schonberg <schonberg@adacore.com>
5130
5131 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
5132 expressions.
5133
51342011-08-01 Arnaud Charlet <charlet@adacore.com>
5135
5136 * sem_ch8.adb: Minor code editing.
5137 * s-vxwext.adb: Remove trailing space.
5138 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
5139 consistency with other files.
5140
51412011-08-01 Thomas Quinot <quinot@adacore.com>
5142
5143 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
5144
51452011-08-01 Ed Schonberg <schonberg@adacore.com>
5146
5147 * par-ch10.adb: reject parameterized expressions as compilation unit.
5148 * sem_ch4.adb: handle properly conditional expression with overloaded
5149 then_clause and no else_clause.
5150
51512011-08-01 Tristan Gingold <gingold@adacore.com>
5152
5153 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
5154 like done by System.Aux_DEC.
5155 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
5156
daec8eeb
YM
51572011-08-01 Yannick Moy <moy@adacore.com>
5158
5159 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
5160 missing label at end of declaration (subprogram or package)
5161 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
5162 of positional and named parameter association
5163 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
5164 Error_Msg_SP which adds a prefix to the error message giving the name
5165 of the formal language analyzed
5166 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
5167 access result type in subprogram, unconstrained array as result type,.
5168 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
5169 procedure
5170 * sem_ch8.adb: Code clean up.
5171
38171f43
AC
51722011-08-01 Javier Miranda <miranda@adacore.com>
5173
5174 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
5175 * einfo.ads (Access_Disp_Table): Fix documentation.
5176 (Dispatch_Table_Wrappers): Fix documentation.
5177 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
5178 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
5179 to enforce the documentation of this attribute.
5180 (Set_Is_Interface): Cleanup the assertion.
5181 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
5182 the Underlying_Type entity before reading attribute Access_Disp_Table.
5183 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
5184 Locate the Underlying_Type before reading attribute Access_Disp_Table.
5185 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
5186 the Underlying_Type entity before reading attribute Access_Disp_Table.
5187 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
5188 Locate the Underlying_Type entity before reading attribute
5189 Access_Disp_Table.
5190
51912011-08-01 Ed Schonberg <schonberg@adacore.com>
5192
5193 * s-poosiz.ads: Additional overriding indicators.
5194
51952011-08-01 Yannick Moy <moy@adacore.com>
5196
5197 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
5198 formal mode.
5199 (Analyze_Iteration_Scheme): issue error in formal mode when loop
5200 parameter specification does not include a subtype mark.
5201 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
5202 formal mode on abstract subprogram.
5203 (Analyze_Subprogram_Specification): issue error in formal mode on
5204 user-defined operator.
5205 (Process_Formals): issue error in formal mode on access parameter and
5206 default expression.
5207 * sem_ch9.adb (Analyze_Abort_Statement,
5208 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
5209 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
5210 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
5211 Analyze_Requeue, Analyze_Selective_Accept,
5212 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
5213 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
5214 issue error in formal mode on user-defined raise statement.
5215
1f250383
AC
52162011-08-01 Thomas Quinot <quinot@adacore.com>
5217
5218 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
5219 declaration being hidden when overriding an implicit inherited
5220 subprogram.
5221 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
5222 (-gnats), do not complain about a source file that contains only a
5223 pragma No_Body.
5224
52252011-08-01 Ed Schonberg <schonberg@adacore.com>
5226
5227 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
5228 variable if already set.
5229
607d0635
AC
52302011-08-01 Arnaud Charlet <charlet@adacore.com>
5231
5232 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
5233 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
5234 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
5235 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
5236 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
5237 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
5238 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
5239 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
5240 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
5241 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
5242 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
5243 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
5244 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
5245 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
5246 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
5247 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
5248 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
5249 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
5250 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
5251 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
5252 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
5253 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
5254 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
5255 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
5256 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
5257 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
5258 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
5259 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
5260 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
5261 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
5262 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
5263 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
5264 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
5265 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
5266 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
5267 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
5268 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
5269 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
5270 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
5271 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
5272 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
5273 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
5274 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
5275 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
5276 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
5277 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
5278 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
5279 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
5280 s-osinte-mingw.ads: Update to GPLv3 run-time license.
5281 Use GNAT instead of GNARL.
5282
52832011-08-01 Bob Duff <duff@adacore.com>
5284
5285 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
5286 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
5287 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
5288 reformatting.
5289
52902011-08-01 Yannick Moy <moy@adacore.com>
5291
5292 * debug.adb (d.D) reverve flag for the SPARK mode
5293 (d.E) reverve flag for SPARK generation mode
5294 (d.F) reverve flag for Why generation mode
5295 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
5296 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
5297 functions which return True when the corresponding modes are set
5298 (Formal_Language): return "spark" or "alfa" when in formal verification
5299 mode.
5300 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
5301 Error_Msg to prefix the error message with a tag giving the formal
5302 language
5303 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
5304 message with a tag giving the formal language
5305 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
5306 block statement
5307 (Analyze_Case_Statement): issue error in formal mode on case statement
5308 with a single "others" case alternative
5309 (Analyze_Exit_Statement): issue errors in formal mode on exit
5310 statements which do not respect SPARK restrictions
5311 (Analyze_Goto_Statement): issue error in formal mode on goto statement
5312 (Check_Unreachable_Code): always issue an error (not a warning) in
5313 formal mode on unreachable code (concerns both code after an infinite
5314 loop and after an unconditional jump, both not allowed in SPARK)
5315 * sem_ch6.adb (Analyze_Return_Statement): add call to
5316 Set_Return_Present for a procedure containing a return statement
5317 (already done for functions in Analyze_Function_Return)
5318 (Analyze_Function_Return): issue error in formal mode on extended
5319 return or if return is not last statement in function
5320 (Check_Missing_Return): issue error in formal mode if function does
5321 not end with return or if procedure contains a return
5322 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
5323 function to detect if there is an inner scope of its parameter S which
5324 is a loop.
5325
53262011-08-01 Thomas Quinot <quinot@adacore.com>
5327
5328 * sem_ch6.ads: Minor reformatting.
5329
d8b3ccb9
AC
53302011-08-01 Javier Miranda <miranda@adacore.com>
5331
5332 * sem_util.adb (Abstract_Interface_List): Complete condition when
5333 processing private type declarations to avoid reading unavailable
5334 attribute.
5335 (Is_Synchronized_Tagged_Type): Complete condition when processing
5336 private extension declaration nodes to avoid reading unavailable
5337 attribute.
5338
53392011-08-01 Thomas Quinot <quinot@adacore.com>
5340
5341 * sem_ch3.adb: Minor reformatting.
5342
53432011-08-01 Thomas Quinot <quinot@adacore.com>
5344
5345 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
5346 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
5347 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
5348 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
5349 for VMS, instead parametrize the common implementation with
5350 System.Parameters declarations.
5351
0bb9276c
AC
53522011-08-01 Eric Botcazou <ebotcazou@adacore.com>
5353
5354 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
5355
53562011-08-01 Tristan Gingold <gingold@adacore.com>
5357
5358 * seh_init.c: Fix SEH handler installation on win64.
5359
53602011-08-01 Ed Schonberg <schonberg@adacore.com>
5361
5362 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
5363 double analysis of an anonymous access to subprogram, because it can
5364 lead to improper sharing of profiles and a back-end crash.
5365
6a2e4f0b
AC
53662011-08-01 Robert Dewar <dewar@adacore.com>
5367
5368 * make.adb, sem_ch4.adb: Minor reformatting.
5369 * gcc-interface/Make-lang.in: Update dependencies.
5370 * sem_util.adb, exp_ch5.adb: Minor reformatting.
5371
53722011-08-01 Arnaud Charlet <charlet@adacore.com>
5373
5374 * gnat_rm.texi: Fix definition of Long_Integer.
5375
53762011-08-01 Ed Schonberg <schonberg@adacore.com>
5377
5378 * exp_aggr.adb: check limit size of static aggregate unconditionally,
5379 to prevent storage exhaustion.
5380 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
5381 finalized is a function body, insert the cleanup code before the final
5382 return statement, to prevent spurious warnings.
5383 * s-pooglo.ads: add overriding indicator.
5384
4561baf7
ES
53852011-08-01 Ed Schonberg <schonberg@adacore.com>
5386
5387 * sem_ch4.adb (Operator_Check): improve error message when both a
5388 with_clause and a use_clause are needed to make operator usage legal.
5389 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
5390 determine whether a compilation unit is visible within an other,
5391 either through a with_clause in the current unit, or a with_clause in
5392 its library unit or one one of its parents.
5393
383e179e
AC
53942011-08-01 Ed Schonberg <schonberg@adacore.com>
5395
5396 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
5397 over an arbitrary expression of an array or container type.
5398 * lib-xref.adb: clarify comment.
5399
54002011-08-01 Bob Duff <duff@adacore.com>
5401
5402 * einfo.ads: Minor reformatting.
5403 * debug.adb: Minor comment improvement.
5404
54052011-08-01 Javier Miranda <miranda@adacore.com>
5406
5407 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
5408 consider hidden subprograms as valid candidates.
5409
54102011-08-01 Arnaud Charlet <charlet@adacore.com>
5411
5412 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
5413
54142011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
5415
5416 * gnat_ugn.texi: Fix typo.
5417
61c161b2
AC
54182011-08-01 Robert Dewar <dewar@adacore.com>
5419
5420 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
5421 lib-xref.adb: Minor reformatting
5422
54232011-08-01 Gary Dismukes <dismukes@adacore.com>
5424
5425 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
5426 when to generate a call to Move_Final_List.
5427 (Has_Controlled_Parts): Remove this function.
5428
84df40f7
AC
54292011-08-01 Geert Bosch <bosch@adacore.com>
5430
5431 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
5432 "," in choice list.
5433
54342011-08-01 Thomas Quinot <quinot@adacore.com>
5435
5436 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
5437 explicit raise of a predefined exception as Comes_From_Source if the
5438 original N_Raise_Statement comes from source.
5439
54402011-08-01 Robert Dewar <dewar@adacore.com>
5441
5442 * sinfo.ads: Add comment.
5443 * sem_ch6.adb: Minor reformatting.
5444
54452011-08-01 Robert Dewar <dewar@adacore.com>
5446
5447 * freeze.adb (Freeze_Entity): Refine check for bad component size
5448 clause to avoid rejecting confirming clause when atomic/aliased present.
5449
54502011-08-01 Ed Schonberg <schonberg@adacore.com>
5451
5452 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
5453 better determine whether an entity reference is a write.
5454 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
5455 subcomponent.
5456 * lib-xref.adb (Output_References): Do no suppress a read reference at
5457 the same location as an immediately preceeding modify-reference, to
5458 handle properly in-out actuals.
5459
54602011-08-01 Tristan Gingold <gingold@adacore.com>
5461
5462 * env.c (__gnat_setenv) [VMS]: Refine previous change.
5463
54642011-08-01 Quentin Ochem <ochem@adacore.com>
5465
5466 * i-cstrin.adb (New_String): Changed implementation, now uses only the
5467 heap to compute the result.
5468
c7f0d2c0
AC
54692011-08-01 Robert Dewar <dewar@adacore.com>
5470
5471 * atree.ads: Minor reformatting.
5472
54732011-08-01 Emmanuel Briot <briot@adacore.com>
5474
5475 * g-expect.adb (Get_Command_Output): Fix memory leak.
5476
54772011-08-01 Geert Bosch <bosch@adacore.com>
5478
5479 * cstand.adb (P_Float_Type): New procedure to print the definition of
5480 predefined fpt types.
5481 (P_Mixed_Name): New procedure to print a name using mixed case
5482 (Print_Standard): Use P_Float_Type for printing floating point types
5483 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
5484 precision IEEE float.
5485
54862011-08-01 Thomas Quinot <quinot@adacore.com>
5487
5488 * sem_ch3.adb: Minor reformatting.
5489
54902011-08-01 Ed Schonberg <schonberg@adacore.com>
5491
5492 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
5493 the completion of a generic function, insert the new body rather than
5494 rewriting the original.
5495
54962011-08-01 Yannick Moy <moy@adacore.com>
5497
5498 * sinfo.ads, errout.ads: Typos in comments.
5499
1c54829e
AC
55002011-08-01 Robert Dewar <dewar@adacore.com>
5501
5502 * par-endh.adb: Minor reformatting.
5503
55042011-08-01 Robert Dewar <dewar@adacore.com>
5505
5506 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
5507 (Pre_Post_Aspects): New subtype.
5508 * par-ch12.adb (P_Generic): New syntax for aspects in packages
5509 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
5510 * par-ch7.adb (P_Package): Remove Decl parameter
5511 (P_Package): Handle new syntax for aspects (before IS)
5512 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
5513 new aspect syntax
5514 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
5515 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
5516 (P_Package): Remove Decl parameter
5517 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
5518 aspects
5519 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
5520 specs
5521 * sem_util.ads, sem_util.adb (Static_Boolean): New function
5522 * sinfo.ads: Document new syntax for aspects in packages etc.
5523 * sprint.adb: Handle new syntax of aspects before IS in package
5524
55252011-08-01 Thomas Quinot <quinot@adacore.com>
5526
5527 * atree.ads: Minor reformatting.
5528 * sem_prag.adb: Minor reformatting.
5529
55302011-08-01 Robert Dewar <dewar@adacore.com>
5531
5532 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
5533 case expr alternative.
5534
55352011-08-01 Ed Schonberg <schonberg@adacore.com>
5536
5537 * sem_ch12.adb: Fix typo.
5538
9eea4346
GB
55392011-08-01 Geert Bosch <bosch@adacore.com>
5540
5541 * sem_prag.adb (Check_No_Link_Name): New procedure.
5542 (Process_Import_Or_Interface): Use Check_No_Link_Name.
5543 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
5544 instead of Standard_Long_Long_Float_Size global. Preparation for
5545 eventual removal of per type constants.
5546 * exp_util.ads (Get_Stream_Size): New function returning the stream
5547 size value of subtype E.
5548 * exp_util.adb (Get_Stream_Size): Implement new function.
5549 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
5550 function.
5551 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
5552 * einfo.adb:
5553 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
5554
3d6c3bd7
GB
55552011-08-01 Geert Bosch <bosch@adacore.com>
5556
5557 * cstand.adb: Fix comments.
5558 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
5559 count of arguments.
5560
e7d897b8
AC
55612011-08-01 Robert Dewar <dewar@adacore.com>
5562
5563 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
5564
55652011-08-01 Geert Bosch <bosch@adacore.com>
5566
5567 * atree.ads: Fix comment.
5568
c228a069
AC
55692011-08-01 Robert Dewar <dewar@adacore.com>
5570
5571 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
5572 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
5573 * par.adb: Add with for Namet.Sp.
5574 * par-tchk.adb: Minor reformatting.
5575
55762011-08-01 Vincent Celier <celier@adacore.com>
5577
5578 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
5579 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
5580 of the init procedure of a SAL.
5581 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
5582 New procedure.
5583
55842011-08-01 Thomas Quinot <quinot@adacore.com>
5585
5586 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
5587 reformatting.
5588
55892011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5590
5591 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
5592
55932011-08-01 Thomas Quinot <quinot@adacore.com>
5594
5595 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
5596 conformant with its spec (return True only for types that have
5597 an overriding Initialize primitive operation that prevents them from
5598 having preelaborable initialization).
5599 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
5600 initialization for controlled types in Ada 2005 or later mode.
5601
857ade1b
RD
56022011-08-01 Robert Dewar <dewar@adacore.com>
5603
5604 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
5605 Postcondition.
5606 (Same_Aspect): New function.
5607 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
5608 Type_Invariant, Precondition, Postcondition.
5609 * snames.ads-tmpl: Add Name_Type_Invariant.
5610
bd949ee2
RD
56112011-08-01 Robert Dewar <dewar@adacore.com>
5612
5613 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
5614 here.
5615 (Freeze_All_Ent): Fix error in handling inherited aspects.
5616 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
5617 already analyzed, but don't skip entire processing of a declaration,
5618 that's wrong in some cases of declarations being rewritten.
5619 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
5620 Don't delay for integer, string literals
5621 Treat predicates in usual manner for delay, remove special case code,
5622 not needed.
5623 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
5624 (Build_Predicate_Function): Update saved expression in aspect
5625 (Build_Invariant_Procedure): Update saved expression in aspect
5626 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
5627 of replacement of discriminant references if the reference is simple.
5628
f1c952af
RD
56292011-08-01 Robert Dewar <dewar@adacore.com>
5630
5631 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
5632 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
5633 Static_Predicate and Dynamic_Predicate.
5634 (Build_Predicate_Function): Add processing for Static_Predicate
5635 and Dynamic_Predicate.
5636 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
5637 (From_Static_Predicate): New flag
5638 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
5639
56402011-08-01 Robert Dewar <dewar@adacore.com>
5641
5642 * usage.adb: Documentation cleanup for Ada version modes in usage.
5643 * expander.adb: Minor reformatting.
5644
47e11d08
AC
56452011-08-01 Robert Dewar <dewar@adacore.com>
5646
5647 * atree.ads: Minor comment fix.
5648 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
5649 a-witeio.ads, sem_prag.adb: Minor reformatting.
5650
56512011-08-01 Doug Rupp <rupp@adacore.com>
5652
5653 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
5654 pointers. Use descrip.h header file for convenience. Add some
5655 comments.
5656
56572011-08-01 Robert Dewar <dewar@adacore.com>
5658
5659 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
5660 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
5661 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
5662 New procedure.
5663 (Check_Aspect_At_End_Of_Declarations): New procedure
5664 (Analye_Aspect_Specification): Minor changes for above procedures
5665 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
5666 specification node as well.
5667
56682011-08-01 Pascal Obry <obry@adacore.com>
5669
5670 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
5671 Windows files. Use GetFilesAttributes() in this case to check for file
5672 existence instead of returning with an error code.
5673
a3a16b21
VC
56742011-08-01 Vincent Celier <celier@adacore.com>
5675
5676 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
5677 High is above Source length.
5678
ff58cc69
RD
56792011-08-01 Robert Dewar <dewar@adacore.com>
5680
5681 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
5682
6bb88533
AC
56832011-08-01 Robert Dewar <dewar@adacore.com>
5684
5685 * aspects.ads (Boolean_Aspects): New subtype.
5686 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
5687 for derived types in cases where the parent type and derived type have
5688 aspects.
5689 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
5690 with aspects when parent type also has aspects.
5691 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
5692 boolean expression at this point).
5693 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
5694 accordance with final decision on the Ada 2012 feature.
5695 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
5696
56972011-08-01 Matthew Heaney <heaney@adacore.com>
5698
5699 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
5700
060a3f28
AC
57012011-08-01 Pascal Obry <obry@adacore.com>
5702
5703 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
5704 Fix Replace_Slice when High is above current string size.
5705 (Replace_Slice): Fix DL computation when High is above current
5706 string length.
5707
57082011-08-01 Gary Dismukes <dismukes@adacore.com>
5709
5710 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
5711
e7f567a3
AC
57122011-08-01 Matthew Heaney <heaney@adacore.com>
5713
5714 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
5715 of node.
5716
57172011-08-01 Pascal Obry <obry@adacore.com>
5718
5719 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
5720 reformatting.
5721
1a265e78
AC
57222011-08-01 Ed Schonberg <schonberg@adacore.com>
5723
5724 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
5725 access to protected subprograms in generic bodies.
5726 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
5727 protected type, indicate that the convention of the subprogram is
5728 Convention_Protected, because it may be used in subsequent declarations
5729 within the protected declaration.
5730
57312011-08-01 Vincent Celier <celier@adacore.com>
5732
5733 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
5734 and "final" procedures when the name of the library is "ada", to avoid
5735 duplicate symbols "adainit" and "adafinal" in executables.
5736
67e28ef8
ES
57372011-08-01 Ed Schonberg <schonberg@adacore.com>
5738
5739 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
5740 quantified expression that appears within a postcondition and uses the
5741 Ada2012 'Result attribute.
5742
6da2ca7d
RO
57432011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5744
5745 * init.c (__gnat_error_handler): Cast reason to int.
5746 (__gnat_install_handler): Explain sa_sigaction use.
5747
7d5997c6
EB
57482011-07-24 Eric Botcazou <ebotcazou@adacore.com>
5749
5750 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
5751 subprogram has copy-in copy-out parameters, try to promote the mode of
5752 the return type if it is passed in registers.
5753
4b4cfdd5
EB
57542011-07-24 Eric Botcazou <ebotcazou@adacore.com>
5755
5756 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
5757 left operand as addressable.
5758
f3d34576
EB
57592011-07-24 Eric Botcazou <ebotcazou@adacore.com>
5760
5761 * gcc-interface/gigi.h (build_function_stub): Remove.
5762 (build_return_expr): Likewise.
5763 (convert_vms_descriptor): Declare.
5764 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
5765 (build_function_stub): Move to...
5766 * gcc-interface/utils2.c (build_return_expr): Move to...
5767 * gcc-interface/trans.c (build_function_stub): ...here.
5768 (build_return_expr): ...here.
5769 (Subprogram_Body_to_gnu): Add local variable for language_function.
5770 Disconnect the parameter attributes cache, if any, once done with it.
5771 Call end_subprog_body only after setting the end_locus.
5772 Build the stub associated with the function, if any, at the very end.
5773 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
5774 variables and streamline control flow.
5775
0a6ecc08
AC
57762011-07-23 Arnaud Charlet <charlet@adacore.com>
5777
5778 PR ada/49819
5779 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
5780 g-trasym-dwarf.adb.
5781
5b6d595b
RO
57822011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5783
5784 PR bootstrap/49794
5785 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
5786 Assign to act.sa_sigaction.
5787 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
5788 current->return_address to char * before arithmetic.
5789
94017021
RO
57902011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5791
5792 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
5793 Correct argument types.
5794 Extract code from reason.
5795 (__gnat_install_handler): Assign to act.sa_sigaction.
5796
52fd02bb
EB
57972011-07-21 Eric Botcazou <ebotcazou@adacore.com>
5798
5799 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
5800 (GNAT1_OBJS): ...here.
5801
f39a9ca2
EB
58022011-07-15 Eric Botcazou <ebotcazou@adacore.com>
5803
5804 PR ada/48711
5805 * g-socthi-mingw.adb (Fill): Fix formatting.
5806
9e36aa23
EB
5807 * gcc-interface/gigi.h: Move around comment.
5808
e3aca522
JDA
58092011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5810
5811 PR ada/46350
5812 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
5813
696b1960
FW
58142011-07-14 Florian Weimer <fw@deneb.enyo.de>
5815
5816 PR ada/48711
5817 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
5818
f542c405
EB
58192011-07-13 Eric Botcazou <ebotcazou@adacore.com>
5820
5821 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
5822 range comparison if Pmode is SImode.
5823
9e9bd455
LG
58242011-07-12 Laurent GUERBY <laurent@guerby.net>
5825 Eric Botcazou <ebotcazou@adacore.com>
5826
5827 * adadecode.c: Wrap up in extern "C" block.
5828 * adadecode.h: Likewise.
5829 * adaint.c: Likewise. Remove 'const' keyword.
5830 * adaint.h: Likewise.
5831 * argv.c: Likewise.
5832 * atree.h: Likewise.
5833 * cio.c: Likewise.
5834 * cstreams.c: Likewise.
5835 * env.c: Likewise.
5836 * exit.c: Likewise.
5837 * fe.h: Likewise.
5838 * final.c: Likewise.
5839 * init.c: Likewise.
5840 * initialize.c: Likewise.
5841 * link.c: Likewise.
5842 * namet.h: Likewise.
5843 * nlists.h: Likewise.
5844 * raise.c: Likewise.
5845 * raise.h: Likewise.
5846 * repinfo.h: Likewise.
5847 * seh_init.c: Likewise.
5848 * targext.c: Likewise.
5849 * tracebak.c: Likewise.
5850 * uintp.h: Likewise.
5851 * urealp.h: Likewise.
5852 * xeinfo.adb: Wrap up generated C code in extern "C" block.
5853 * xsinfo.adb: Likewise.
5854 * xsnamest.adb: Likewise.
5855 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
5856 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
5857 * gcc-interface/misc.c: Likewise.
5858 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
5859 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
5860 ada/targext.o here...
5861 (GNAT_ADA_OBJS): ...and not here.
5862 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
5863 (GNATBIND_OBJS): Reorder.
5864
7644b3c7
RH
58652011-07-07 Richard Henderson <rth@redhat.com>
5866
5867 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
5868 dwarf2out_frame_init.
5869
8384ac41
EB
58702011-07-07 Eric Botcazou <ebotcazou@adacore.com>
5871
5872 * gcc-interface/misc.c (gnat_init): Tweak previous change.
5873
fbdd5d87
RO
58742011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5875
5876 PR target/39150
5877 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
5878
1a072294
RG
58792011-07-06 Richard Guenther <rguenther@suse.de>
5880
8384ac41
EB
5881 * gcc-interface/misc.c (gnat_init): Merge calls to
5882 build_common_tree_nodes and build_common_tree_nodes_2.
1a072294
RG
5883 Re-initialize boolean_false_node.
5884
bc712852
EB
58852011-07-02 Eric Botcazou <ebotcazou@adacore.com>
5886 Olivier Hainque <hainque@adacore.com>
5887 Nicolas Setton <setton@adacore.com>
5888
5889 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
5890 the type according to the ARTIFICIAL_P parameter.
5891 (create_type_decl): Likewise.
5892 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
5893
2eb22389
EB
58942011-07-01 Eric Botcazou <ebotcazou@adacore.com>
5895
5896 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
5897 (gnatbind): Likewise.
5898
4bdaaf2f
RO
58992011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5900
5901 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
5902
c020c92b
EB
59032011-06-18 Eric Botcazou <ebotcazou@adacore.com>
5904
5905 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
5906 local variable throughout. Remove useless call to Base_Type.
5907 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
5908 Take it also into account for the volatileness of the field. Set the
5909 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
5910
96769d32
EB
59112011-06-18 Eric Botcazou <ebotcazou@adacore.com>
5912
5913 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
5914 on a dereference built for a by-ref object if it has an address clause.
5915
7e4680c1
EB
59162011-06-18 Eric Botcazou <ebotcazou@adacore.com>
5917
5918 * einfo.ads (Address_Taken): Document use for the second argument of
5919 Asm_Input and Asm_Output attributes.
5920 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
5921 argument is an entity name, then set Address_Taken on it.
5922 <Attribute_Asm_Output>: Likewise.
5923 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
5924 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
5925 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
5926 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
5927
59282011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
d5cc9181
JR
5929
5930 PR middle-end/46500
5931 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
5932
677f3fa8
JM
59332011-06-14 Joseph Myers <joseph@codesourcery.com>
5934
5935 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
5936 (ada/utils.o): Update dependencies.
5937 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
5938 ../../../libcpp/libcpp.a.
5939 * gcc-interface/utils.c: Include common/common-target.h.
5940 (process_attributes): Use targetm_common.have_named_sections.
5941
009db074
RG
59422011-06-07 Richard Guenther <rguenther@suse.de>
5943
0bad0e23
EB
5944 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
5945 set_sizetype.
009db074 5946
3bfc61cf
EB
59472011-06-06 Eric Botcazou <ebotcazou@adacore.com>
5948
0bad0e23 5949 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
3bfc61cf
EB
5950 TREE_THIS_NOTRAP flag.
5951
5c4a1c7b
EB
59522011-06-06 Eric Botcazou <ebotcazou@adacore.com>
5953
5954 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
5955 Fix thinko.
5956
e9f57686
EB
59572011-06-06 Eric Botcazou <ebotcazou@adacore.com>
5958
5959 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
5960 constants whose full view has discriminants specially.
5961
10e4d056
EB
59622011-06-06 Eric Botcazou <ebotcazou@adacore.com>
5963
5964 * gcc-interface/utils.c: Include diagnostic.h.
5965 (gnat_write_global_declarations): Output debug information for all
5966 global type declarations before finalizing the compilation unit.
5967 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
5968
0957c029
JJ
59692011-05-25 Jakub Jelinek <jakub@redhat.com>
5970
5971 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
5972
52d0a7ac
KT
59732011-05-25 Kai Tietz <ktietz@redhat.com>
5974
5975 * adaint.c (__gnat_to_canonical_file_list_next): Use array
5976 initialization instead of const/none-const pointer assignment.
5977
1ed1641d
JM
59782011-05-24 Joseph Myers <joseph@codesourcery.com>
5979
5980 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
5981 $(EXTRA_GNAT1_OBJS).
5982 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
5983 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
5984 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
5985 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
5986 libcommon-target.a instead of prefix.o.
5987
9fe72ebd
JM
59882011-05-21 Joseph Myers <joseph@codesourcery.com>
5989
5990 PR ada/49097
0bad0e23 5991 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9fe72ebd 5992
2691e6d7
JM
59932011-05-20 Joseph Myers <joseph@codesourcery.com>
5994
0bad0e23
EB
5995 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
5996 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
5997 instead of version.o.
2691e6d7 5998
bf6490b5
KT
59992011-05-18 Kai Tietz <ktietz@redhat.com>
6000
6001 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
6002 boolean_false_node instead of integer_zero_node.
6003 (convert_with_check): Likewise.
6004 * gcc-interface/decl.c (choices_to_gnu): Likewise.
6005
7bf9a5ac
EB
60062011-05-12 Eric Botcazou <ebotcazou@adacore.com>
6007
6008 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
6009 type of the parameter is an unconstrained array, convert the actual to
6010 the type of the formal in the In Out and Out cases as well.
6011
e5b00edf
NF
60122011-05-11 Nathan Froyd <froydnj@codesourcery.com>
6013
6014 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
6015 call build_function_type_array or build_varargs_function_type_array
6016 instead.
6017 (create_subprog_type): Don't call build_function_type; call
6018 build_function_type_vec instead.
6019
51545682
NF
60202011-05-11 Nathan Froyd <froydnj@codesourcery.com>
6021
6022 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
6023 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
6024 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
6025
c99c0026
EB
60262011-05-07 Eric Botcazou <ebotcazou@adacore.com>
6027
f620bd21
EB
6028 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
6029
c99c0026
EB
6030 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
6031 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
6032
3d528853
NF
60332011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6034
c99c0026 6035 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
3d528853 6036
d7d058c5
NF
60372011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6038
6039 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
6040 instead of accessing TYPE_ARG_TYPES directly.
6041 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
6042
805e60a0
EB
60432011-05-05 Eric Botcazou <ebotcazou@adacore.com>
6044
6045 PR ada/48844
6046 * gcc-interface/gigi.h (get_variant_part): Declare.
6047 * gcc-interface/decl.c (get_variant_part): Make global.
6048 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
6049 types have the same constant size, are record types and T1 has a
6050 variant part while T2 doesn't.
6051
907a08d9
EB
60522011-05-05 Eric Botcazou <ebotcazou@adacore.com>
6053
6054 * gcc-interface/utils.c (begin_subprog_body): Do not call
6055 get_pending_sizes.
6056 (end_subprog_body): Likewise.
6057
d35936ab
RG
60582011-05-04 Richard Guenther <rguenther@suse.de>
6059
6060 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
6061 int_const_binop.
6062 (pos_to_constructor): Likewise.
6063
c1fd8753
NF
60642011-05-03 Nathan Froyd <froydnj@codesourcery.com>
6065 Eric Botcazou <ebotcazou@adacore.com>
6066
6067 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
6068 of build_function_type. Adjust calls to...
6069 (build_raise_check): ...this. Do not take a void_tree parameter.
6070 Call build_function_type_list instead of build_function_type.
6071 Fix head comment and swap couple of conditional blocks.
6072
4fb87d2b
EB
60732011-04-30 Eric Botcazou <ebotcazou@adacore.com>
6074
6075 * gnatvsn.ads (Library_Version): Bump to 4.7.
6076 (Current_Year): Bump to 2011.
6077
fa5e5a76
MM
60782011-04-29 Michael Matz <matz@suse.de>
6079
6080 * gcc-interface/misc.c (gnat_handle_option): Set
6081 warn_maybe_uninitialized.
6082
8d6a2f69
GP
60832011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
6084
6085 * gnat_ugn.texi (Complexity Metrics Control): Update link to
6086 the Watson/McCabe paper.
6087
770937fd
JM
60882011-04-23 Jim Meyering <meyering@redhat.com>
6089
6090 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
6091
eb601ae1
EB
60922011-04-22 Eric Botcazou <ebotcazou@adacore.com>
6093
6094 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
6095 onto the new type.
6096
7d7fcb08
EB
60972011-04-22 Eric Botcazou <ebotcazou@adacore.com>
6098
6099 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
6100 parameter.
6101 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
6102 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
6103 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
6104 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
6105 <all>: Do not set flags on the reused DECL node coming from an alias.
6106 Set DECL_IGNORED_P on the DECL node built for subprograms if they
6107 don't need debug info here...
6108 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
6109 (gigi): Adjust calls to create_subprog_decl.
6110 (build_raise_check): Likewise.
6111 (establish_gnat_vms_condition_handler): Likewise.
6112 (Compilation_Unit_to_gnu): Likewise.
6113 (gnat_to_gnu): Likewise.
6114
e1876cac
EB
61152011-04-21 Eric Botcazou <ebotcazou@adacore.com>
6116
6117 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
6118 (NO_REORDER_ADAFLAGS): New variable.
6119 (EXTRA_GNATTOOLS): Always define.
6120 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
6121 Clean up and adjust list of files compiled with special options.
6122 * gcc-interface/Make-lang.in: Likewise.
6123 (ada/decl.o): Cosmetical change.
6124 (ada/misc.o): Remove dependency on $(PLUGIN_H).
6125
04695783
JM
61262011-04-20 Jim Meyering <meyering@redhat.com>
6127
6128 * initialize.c (__gnat_initialize): Remove useless if-before-free.
6129
23399579
EB
61302011-04-17 Eric Botcazou <ebotcazou@adacore.com>
6131
6132 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
6133 $(CFLAGS) on the link line.
6134
51c5169c
EB
61352011-04-17 Eric Botcazou <ebotcazou@adacore.com>
6136
6137 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
6138 padded type built for the return type if it is unconstrained.
6139
61e46a7d
NF
61402011-04-14 Nathan Froyd <froydnj@codesourcery.com>
6141
6142 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
6143
81f653d6
NF
61442011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6145
b4867846
EB
6146 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
6147 before calling TREE_CHAIN.
81f653d6
NF
6148 * gcc-interface/misc.c (gnat_init_ts): New function.
6149 (LANG_HOOKS_INIT_TS): Define.
6150
a358e188
MJ
61512011-04-12 Martin Jambor <mjambor@suse.cz>
6152
b4867846
EB
6153 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
6154 instead of cgraph_node.
a358e188 6155
29b1c5a4
EB
61562011-04-08 Eric Botcazou <ebotcazou@adacore.com>
6157
6158 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
6159 alignment on fields of the RETURN type built for the Copy-In Copy-Out
6160 mechanism.
6161
88872b00
EB
61622011-04-08 Eric Botcazou <ebotcazou@adacore.com>
6163
6164 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
6165 of aggregate types that contain a placeholder.
6166
dcf0c47e
NF
61672011-04-08 Nathan Froyd <froydnj@codesourcery.com>
6168
6169 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
b4867846 6170 TYPE_ARG_TYPES.
dcf0c47e
NF
6171 (handle_type_generic_attribute): Likewise.
6172
53e3000c
EB
61732011-04-04 Eric Botcazou <ebotcazou@adacore.com>
6174
6175 PR ada/47163
6176 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
6177
ab380bb4
KT
61782011-04-04 Kai Tietz <ktietz@redhat.com>
6179
6180 PR ada/47163
0bad0e23
EB
6181 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
6182 to flag value.
ab380bb4 6183
8ffac116
EB
61842011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6185
6186 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
6187 type case, do not strip a padding type around the array type.
6188
de9528f0
EB
61892011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6190
6191 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
6192 types.
6193
d9d7a26c
EB
61942011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6195
6196 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
6197 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
de9528f0 6198 code for -feliminate-unused-debug-types.
d9d7a26c
EB
6199 (gnat_post_options): Likewise.
6200
4cb12a90
EB
62012011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6202
6203 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
6204 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
6205 distinct copy.
6206
acccc61c
EB
62072011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6208
6209 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
6210 DECL_ARTIFICIAL flag on enumeration types.
6211
583eb0c9
EB
62122011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6213
6214 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
6215 fat pointer types artificial unconditionally.
6216 <E_Array_Subtype>: Attach the base array type as a parallel type if it
6217 isn't artificial.
6218
e3edbd56
EB
62192011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6220
6221 * gcc-interface/gigi.h (get_dummy_type): Declare.
6222 (build_dummy_unc_pointer_types): Likewise.
6223 (finish_fat_pointer_type): Likewise.
6224 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
6225 fat pointer type has been built, complete it in place.
6226 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
6227 and thin pointers. Remove useless variable.
6228 (finish_fat_pointer_type): Make global and move to...
6229 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
6230 (get_dummy_type): New function.
6231 (build_dummy_unc_pointer_types): Likewise.
6232 (gnat_pushdecl): Propage the name to the anonymous variants only.
6233 (update_pointer_to): Only adjust the pointer types in the unconstrained
6234 array case.
6235
65444786
EB
62362011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6237
6238 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
6239 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
6240 if this is a Taft amendment type and the full declaration is available.
6241 * gcc-interface/trans.c (process_type): Likewise.
6242 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
6243 (process_freeze_entity): Likewise.
6244 * gcc-interface/utils.c (dummy_global): New static variable.
6245 (gnat_write_global_declarations): If there are types declared as used
6246 at the global level, insert them in the global hash table.
6247
1aeb40dd
EB
62482011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6249
6250 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
6251 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
6252 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
6253 copy.
6254 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
6255 flag of the type accordingly.
6256 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
6257
80ec8b4c
EB
62582011-04-02 Eric Botcazou <ebotcazou@adacore.com>
6259
6260 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
6261 finalizing types when updating the pointers to the designated type.
6262 <all>: Finalize the deferred types even if we didn't defer processing
6263 of incomplete types in this invocation.
6264
2a9d769a
OH
62652011-04-01 Olivier Hainque <hainque@adacore.com>
6266 Nicolas Setton <setton@adacore.com>
6267 Eric Botcazou <ebotcazou@adacore.com>
6268
6269 * gcc-interface/misc.c (gnat_descriptive_type): New function.
6270 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
6271
2438d7a6
KT
62722011-03-28 Kai Tietz <ktietz@redhat.com>
6273
333d8aff 6274 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
80ec8b4c
EB
6275 Windows targets.
6276 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
6277 * system-mingw.ads (System): Change ZCX_By_Default default to True.
333d8aff 6278
80ec8b4c 6279 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2438d7a6 6280
8ad150f6
TG
62812011-03-28 Tristan Gingold <gingold@adacore.com>
6282
6283 PR ada/44431
80ec8b4c
EB
6284 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
6285 Use ada output of gnatbind.
8ad150f6
TG
6286 (ada/b_gnatb.adb): Ditto.
6287 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
6288 (ada.mostlyclean, ada.stage1)
6289 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
6290 (ada.stagefeedback): Adjust.
80ec8b4c 6291 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
8ad150f6
TG
6292 Use ada output of gnatbind.
6293 (b_gnatm.adb): Ditto.
6294 (b_gnatl.o, b_gnatm.o): New rules.
6295
51c7954d
EB
62962011-03-26 Eric Botcazou <ebotcazou@adacore.com>
6297
6298 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
6299 for the padded type built to support a specified size or alignment.
6300
6ddf9843
EB
63012011-03-26 Eric Botcazou <ebotcazou@adacore.com>
6302
6303 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
6304 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
6305 unconditionally to the end of the unit when the designated type is
6306 limited_with'ed.
6307 <all>: Rename local variable. Attempt to un-defer types only and do it
6308 for limited_with'ed types as well.
6309 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
6310 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
6311 consistently and remove redundant call to finalize_from_with_types.
6312
5daed84a
EB
63132011-03-26 Eric Botcazou <ebotcazou@adacore.com>
6314
6315 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
6316 subprograms without a previous spec declared in the same unit.
6317 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
6318 subprograms at the end of the unit instead of at the beginning.
6319 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
6320 isn't public for the special handling of non-inline functions nested
6321 inside inline external functions.
6322
0edf1bb2
JL
63232011-03-25 Jeff Law <law@redhat.com>
6324
5daed84a 6325 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
0edf1bb2 6326
e3c4580e
EB
63272011-03-24 Eric Botcazou <ebotcazou@adacore.com>
6328
6329 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
6330 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
6331 to compute Set_Size_Depends_On_Discriminant.
6332 (Layout_Type): Call it on array types in back-end layout mode.
6333 * sem_util.adb (Requires_Transient_Scope): Return true for array
6334 types only if the size depends on the value of discriminants.
6335 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
6336 type if the RHS is a call to a function that returns an unconstrained
6337 type with default discriminant.
6338
abbc8c7b
EB
63392011-03-24 Eric Botcazou <ebotcazou@adacore.com>
6340
6341 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
6342 non-conversion to the nominal result type at the end.
6343
ddb5a105
EB
63442011-03-23 Eric Botcazou <ebotcazou@adacore.com>
6345
6346 * gcc-interface/trans.c (create_temporary): New function taken from...
6347 (create_init_temporary): ...here. Call it.
6348 (call_to_gnu): Create the temporary for the return value early, if any.
6349 Create it for a function with copy-in/copy-out parameters if there is
6350 no target; in other cases of copy-in/copy-out, use another temporary.
6351 Push the new binding level lazily. Add and rename local variables.
6352
0d853156
EB
63532011-03-23 Eric Botcazou <ebotcazou@adacore.com>
6354
6355 * gcc-interface/decl.c (validate_size): Improve comments and tweak
6356 error message.
6357 (set_rm_size): Likewise.
6358
4184ef1b
EB
63592011-03-23 Eric Botcazou <ebotcazou@adacore.com>
6360
6361 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
6362 for the padded type built in order to support a specified alignment.
6363 Fix incorrect formatting.
6364
bf7eefab
EB
63652011-03-21 Eric Botcazou <ebotcazou@adacore.com>
6366
6367 PR bootstrap/48216
6368 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
6369
ef0feeb2
EB
63702011-03-21 Eric Botcazou <ebotcazou@adacore.com>
6371
6372 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
6373 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
6374 to the end of the list. Adjust recursive call. Rename local variable.
6375 If REORDER is true, reorder components of the record type.
6376 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
6377 components_to_record and adjust the parameter list.
6378
646f9414
EB
63792011-03-21 Eric Botcazou <ebotcazou@adacore.com>
6380
6381 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
6382 disabled, use the variable for bounds of loop iteration scheme.
6383
62d784f7
KT
63842011-03-21 Kai Tietz <ktietz@redhat.com>
6385
6386 PR target/12171
0bad0e23 6387 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
62d784f7 6388
f230d759
EB
63892011-03-17 Eric Botcazou <ebotcazou@adacore.com>
6390
6391 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
6392 out whether the expression is read-only. Short-circuit placeholder
6393 case and rename a couple of local variables.
6394
bb1f7929
EB
63952011-03-17 Eric Botcazou <ebotcazou@adacore.com>
6396
6397 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
6398 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
6399 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
6400 (convert): Deal with conversions from a smaller form type specially.
6401
400a2d24
EB
64022011-02-14 Eric Botcazou <ebotcazou@adacore.com>
6403
6404 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
6405 its argument, except for the special -I- switch.
6406
c26bc3ad
GP
64072011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
6408
0bad0e23
EB
6409 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
6410 "Ada Issues".
c26bc3ad 6411
07b8e910
EB
64122011-02-08 Eric Botcazou <ebotcazou@adacore.com>
6413
6414 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
6415
31a5a547
EB
64162011-02-03 Eric Botcazou <ebotcazou@adacore.com>
6417
6418 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
6419 GNAT_FORMAL.
6420 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
6421 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
6422 instead of GNAT_FORMAL. Protect the expression against multiple uses.
6423 Do not generate the check directly, instead instantiate the template
6424 check present in the descriptor.
6425 (make_descriptor_field): Move around.
6426 (build_vms_descriptor32): Build a template check in the POINTER field.
6427 (build_vms_descriptor): Remove useless suffixes.
6428 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
6429
dcf25f59
EB
64302011-01-26 Eric Botcazou <ebotcazou@adacore.com>
6431
6432 PR bootstrap/47467
6433 * targext.c: Include target files if IN_RTS is defined.
6434
0418e131
RG
64352011-01-26 Richard Guenther <rguenther@suse.de>
6436
6437 PR bootstrap/47467
6438 * targext.c: Include config.h.
6439 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
6440 dependency.
6441
c6eecbd8
PO
64422011-01-04 Pascal Obry <obry@adacore.com>
6443 Eric Botcazou <ebotcazou@adacore.com>
6444
6445 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
6446
2d3c7e4f
EB
64472011-01-04 Eric Botcazou <ebotcazou@adacore.com>
6448
6449 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
6450 end-of-case on the end label and its associated gotos, if any.
6451
0394741f
EB
64522011-01-04 Eric Botcazou <ebotcazou@adacore.com>
6453
6454 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
6455 expressions of the parameter cache within the statement group of
6456 the CICO mechanism.
6457
2a02d090
OH
64582011-01-04 Olivier Hainque <hainque@adacore.com>
6459 Eric Botcazou <ebotcazou@adacore.com>
6460
6461 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
6462 (set_end_locus_from_node): New function.
6463 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
6464 make and the function end_locus.
6465 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
6466 for the elaboration subprogram.
6467 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
6468 set the end_locus of the expression as well.
6469
89f5e978
EB
64702011-01-04 Eric Botcazou <ebotcazou@adacore.com>
6471
6472 PR ada/47131
6473 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
6474 variables that are referenced in exception handlers volatile.
6475
6476
ad41bd84 6477\f
797103eb 6478Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
6479
6480Copying and distribution of this file, with or without modification,
6481are permitted in any medium without royalty provided the copyright
6482notice and this notice are preserved.